Как задействовать компоненту “Обработка событий” на странице?
Постановказадачи: на пользовательской странице Карточка задачи необходимо обеспечить сравнение двух полей с датами (начала и окончания работ) в момент события изменения значения одного из них. Если дата старта окажется больше, чем дата завершения, то вывести диалог с предупреждением, что дата начала выполнения задачи позже даты ее завершения, что само по себе является ошибочным обстоятельством. Если даты заданы верно, то рядом с полями дат вывести в поле с проставленным флагом, что все введено корректно.
Страница "Карточка задачи " должна иметь следующие настройки:
- на странице должны быть размещены 2компоненты Дата без возможности сохранения, компонента Диалог для отображения сообщения о некорректном вводе с компонентой-кнопкой “Ок” и компонента Флаг без возможности сохранения
- Компонента Обработка событий, которая реализует алгоритм обработки, описанный в постановке задачи
- с базой данных и источниками данных в этом кейсе работать не предполагается,поэтому компоненты с графами сущностей задействованы не будут.
Решение задачи:
- Добавить на страницу и настроить компоненту Дата для ввода даты начала работ по задаче (рис.1)

рис.1 Добавление компоненты Дата и настройка ее основных параметров (дата начала работ по задаче)
- Добавить на страницу и настроить компоненту Дата для ввода даты окончания работ по задаче(рис.2)

рис.2 Добавлениекомпоненты Датаи настройка ее основных параметров (дата окончания работ по задаче)
- Добавить на страницу и настроить компоненту Флаг (рис. 3)

рис.3 Добавлениекомпоненты Флаги настройка ее основных параметров (отметка о корректности ввода значений)
- Добавить компоненту Диалог и внутрь нее добавить компоненты Text (для описания ошибки) и Кнопка (для закрытия Диалога после ознакомления с ошибкой) (рис.4)


рис.4 Добавление компоненты Диалог, Text и Кнопка
- Добавить первую компоненту Обработка событий1 и настроить алгоритм проверки дат (рис.5)

рис.5 Настройка компоненты Обработка события для выявления ситуации, когда обе даты введены пользователем и при этом расположены в ошибочном порядке
(с компоненты Флаг снимается галочка, она превращается в невидимую компоненту, пользователю выводится компонента Диалог)
- Добавить вторую компоненту Обработка событий2 и настроить алгоритм проверки дат (рис.6)

рис.6 Настройка компоненты Обработка события для выявления ситуации, когда обе даты явно введены и при этом расположены в верном порядке
(выводится компонента Флаг с помеченной галочкой внутри)
- Добавить компоненту Обработка событий и настроить реакцию на нажатие кнопки “Ок” в Диалоге, заключающуюся в очищении полей с неправильными значениями дат (рис.7)

рис.7 Настройка компоненты Обработка события для выявления ситуации, когда нажата кнопка “Ок” в Диалоге
(компонента Диалог закрывается,с компоненты Флаг снимается галочка, она превращается в невидимую компоненту, поля с датами очищаются)
На этом настройка страницы закончена, можно собрать приложение и проверить работу компоненты.
Результат выполнения задачи:
После применения изменений на странице, в экранной форме пользовательского приложения, мы видим, что на странице отображаются таблица и блок фильтрации с компонентой “Фильтр по полю ввода с подбором значения” (рис.8 - рис.11)
|
|
|
|
рис.8 Открытие страницы. Заполняем первое поле с датой. Ничего не происходит, потому что не выполнены условия ни одной из компонент Обработка событий (видно из анализа Консоли браузера) |
рис. 9 Заполняем второе поле с датой. Порядок дат верный (начало периода раньше, чем окончание) Система помечает флажком компоненту Флаг и переводит ее в видимое состояние, поскольку обнаружено событие изменения второй даты и условия, при которых произошло это событие, выполнены. Консоль браузера сообщает об обнаружении заложенной в Систему аналитиком ситуации и производит соответствующие манипуляции с визуальными компонентами на странице. |
|
|
|
|
рис.10 Меняем дату во втором поле ввода таким образом, чтобы порядок дат стал ошибочным (начало периода позже , чем окончание). Данное событие и условия, в которых оно возникло, обнаруживается компонентом Обработка событий ,поэтому Система выдает сообщение об ошибочном вводе посредством отображения компоненты Диалог в модальном режиме (весь экранный интерфейс, кроме она диалога, блокируется для пользователя) и ожидает дальнейших действий пользователя. На заднем плане видно, что выставленный на предыдущем этапе флажок корректного ввода пропал с экрана. Консоль браузера подсказывает, что изменения произошли потому, что исполнился заложенный в Систему аналитиком на этапе разработкиалгоритм, который предусматривает вывод диалогового окна, скрытие компоненты, показывающей факт корректного ввода и сброс ее значения в состояние "не отмечено". |
рис.11 Нажали кнопку "Ок" в компоненте Диалог. Данное событие обнаруживается компонентом Обработка событий, поэтому Система скрывает компоненту Диалог, снимает блокировку с экранного интерфейса и очищает обе даты, которые заполнены в ошибочном порядке . Консоль браузера подсказывает, что изменения произошли потому, что исполнился заложенный в Систему аналитиком на этапе разработкиалгоритм, который предусматривает скрытие диалогового окна, скрытие компоненты, показывающей факт корректного ввода и сброс ее значения в состояние "не отмечено", а также очищение значений в полях ввода дат. |
image2019-4-10_15-37-9.png (image/png)
image2019-4-10_15-41-23.png (image/png)
image2019-4-10_16-39-56.png (image/png)
image2019-4-11_15-37-26.png (image/png)
image2019-4-11_15-38-18.png (image/png)
image2019-4-10_18-20-12.png (image/png)
image2019-4-10_18-22-13.png (image/png)
image2019-4-10_18-49-15.png (image/png)
image2019-4-10_18-47-41.png (image/png)
image2019-4-10_18-48-6.png (image/png)
image2019-4-10_18-48-28.png (image/png)
image2019-4-10_18-48-42.png (image/png)
image2019-4-11_10-34-31.png (image/png)
image2019-4-12_17-18-58.png (image/png)
image2019-4-12_17-19-53.png (image/png)
image2019-4-12_17-21-32.png (image/png)
image2019-4-12_17-31-51.png (image/png)
image2019-4-12_17-44-33.png (image/png)
image2019-4-12_17-45-10.png (image/png)
image2019-4-12_17-48-29.png (image/png)
image2019-4-12_17-50-13.png (image/png)
image2019-4-12_17-50-42.png (image/png)
image2019-4-12_18-0-57.png (image/png)
image2019-4-12_18-23-10.png (image/png)
image2019-4-12_18-23-58.png (image/png)
image2019-4-12_18-25-26.png (image/png)
image2019-4-12_18-26-42.png (image/png)
image2019-4-12_18-33-7.png (image/png)
image2019-4-12_18-34-16.png (image/png)
image2019-4-12_18-35-29.png (image/png)
image2019-4-12_18-35-48.png (image/png)
image2019-4-12_18-36-13.png (image/png)
image2019-4-17_12-1-35.png (image/png)
image2019-4-17_12-4-17.png (image/png)
image2019-4-17_12-9-33.png (image/png)
image2019-4-17_12-10-16.png (image/png)
image2019-4-17_12-16-38.png (image/png)
image2019-4-17_12-23-13.png (image/png)
image2019-4-17_12-38-33.png (image/png)
image2019-4-17_12-56-24.png (image/png)



