Общая информация
Компонент ChildrenList позволяет выбрать одного или нескольких детей из выпадающего списка при наличии у пользователя заполненных данных о детях в ЛК ЕПГУ, а также добавить одного или нескольких детей без сохранения в ЛК. Является компонентом-контейнером, все компоненты внутри будут вложенными
Поддерживаемые экраны
Компонент может быть задействован на экране типа:
Внешний вид компонента
В услуге


Содержимое вложенных компонентов ChildrenList

В конструкторе

Структура компонента ChildrenList
| ВКУ | JSON |
|
||
| № | В конструкторе | Атрибут | Тип | Описание |
| 1 | Идентификатор компонента | id | string | Уникальный идентификатор компонента в JSON |
| 2 | Имя компонента | name | string | Допускается ввод любых данных для отображения в конструкторе, однако классическим видом является s1_с1, где номера — сгенерированные идентификаторы, s — экран, c — компонент |
| 3 | Название кнопки добавления ребёнка | label | string | Название для кнопки клонирования блока «Добавить ребёнка» |
| 4 | Компонент предназначен для выбора только одного ребёнка | singleChild | boolean | Позволяет ввести только одного ребёнка на экране, блокируя клон-панель |
| 5 | Минимальное количество добавляемых детей | minOccures | Integer, string | Позволяет ввести минимальное количество клонируемых блоков. Используется, когда нужно запрещать переход на следующий экран, пока пользователь не добавит нужное количество детей |
| 6 | Максимальное количество добавляемых детей | repeatAmount | Integer, string | Позволяет ввести максимальное количество клонируемых блоков |
| 7 | Выбрать по умолчанию всех детей из ЛК | expandAllChildrenBlocks | boolean | Позволяет автоматически выбрать всех детей, добавленных в ЛК |
| 8 | Минимальный возраст ребёнка, лет | minAge | integer | Позволяет задать ограничение на минимальный возраст ребёнка |
| 9 | Максимальный возраст ребёнка, лет | maxAge | integer | Позволяет задать ограничение на максимальный возраст ребёнка |
| 10 | Минимальная дата рождения | bornAfterDate | string | Позволяет настроить минимальную дату рождения детей |
| 11 | Максимальная дата рождения | bornbeforeDate | string | Позволяет настроить максимальную дату рождения детей |
| 12 | Пол ребёнка | VKUgender | string |
Возможно выбрать пол ребёнка:
|
| 13 | Исключение раннее выбранного ребёнка из списка | childListRef | string | Указываются компоненты, в которых были заполнены данные о детях. При следующем выборе ребёнка по сценарию услуги, раннее выбранный ребёнок не будет предложен |
| 14 | Название атрибута | attributeName | string |
Позволяет настроить дополнительные условия фильтрации детей, например:
|
| 15 | Путь до атрибута | attributePath | string | Путь до параметра из ЛК, по которому будут фильтроваться дети |
| 16 | Значение | value | string | Определение значения фильтра |
| 17 | Выражение для расчёта значения | expr | string | Если значение, с которым необходимо сравнивать параметр нужно предварительно вычислить, то выражение записывается в этом атрибуте |
| 18 | Тип значения для фильтра | valueType | string | Тип значения, который указан в value |
| 19 | Тип данных атрибута | attributeType | string | Определение типа данных атрибута |
| 20 | Логические операторы для составления сложных выражений | after | string | С помощью логических операторов можно составить сложные выражения. Для определения значения всего фильтра используется бесскобочное построение выражения |
| 21 | Подсказка под компонентом | hint | string | Текст, который отображается под компонентом |
| 22 | Отображать имя и фамилию в выпадающем списке | fullNameInList | boolean | Позволяет настроить отображение информации в выпадающем списке. Если не указано, отобразится только имя |
| 23 | Дополнительная информация | fullNameListAge | string |
Позволяет настроить дополнительное отображение информации о детях:
|
| 24 | Отображать заголовок блока «Ребёнок X» | chooseChildLabel | string | Название лейбла «Выберите или укажите вручную» |
| 25 | Название выпадающего списка | fullNameListAge | string |
Позволяет настроить дополнительное отображение информации о детях:
|
| 26 | Текст, отображаемый вместо прочерка, если не выбран ни один ребёнок из списка | defaultLabelList | string | Переопределение вида выбранного значения. По умолчанию «—» |
| 27 | Наименование элемента в выпадающем списке для добавления нового ребёнка | defaultNewList | string | Текст кнопки из выпадающего списка «Указать вручную» |
| 28 | Скрыть кнопку добавления ребёнка вручную | hideAddNewChildButton | boolean | Позволяет скрыть кнопку добавления ребёнка вручную в выпадающем списке |
| 29 | Название поля | description | array | Отображается на форме в тексте ошибки при нарушении уникальности данных. Должно начинаться со строчной буквы. Пример: серия свидетельства о рождении |
| 30 | Идентификатор компонента, уникальность которого проверяется | fieldId | string | Указывается идентификатор компонента, для которого необходима проверка на уникальность |
| 31 | Наименование поля, уникальность которого проверяется | properties | array | Если нужно проверить уникальность данных, которые пользователь заполняет не в компоненте-контейнере, а в компонентах, расположенных на следующих экранах внутри цикла, то таким компонентам необходимо присвоить наименование в атрибуте «Название поля, в которое записать ответ пользователя» и указать его же в данном атрибуте |
| 32 | Сообщите об ошибке | errorMsg | string | Текст ошибки, который выводится при нарушении уникальности значения |
| 33 | Заголовок | title | string | Заголовок дисклеймера, который будет отображаться при нарушении уникальности детей |
| 34 | Текст | description | string | Текст дисклеймера, который будет отображаться при нарушении уникальности детей |
| 35 | Цвет | type | string | Позволяет задать цвет дисклеймера, который будет отображаться при нарушении уникальности детей |
| 36 | Модальное окно с пояснением | clarifications | array, objects | Позволяет раскрыть блок «Настроить модальное окно с пояснением вручную» или сделать список ссылок на пояснительные переходы |
| 37 | Настроить модальное окно с пояснением вручную | acceptableTypes | additionalProperties | Позволяет настроить модальные окна |
| 38 | Отображать элемент очистки поля | isClearable | boolean | Если не указано, то после выбора ребёнка нельзя очистить поле, можно только выбрать другого |
| 39 | Принудительный ввод данных ребёнка, если в ЛК нет детей, или принудительный выбор ребёнка, если он один | obliged | boolean | Позволяет выбрать обязательный ввод данных ребёнка, если в ЛК нет детей или он один |
| 40 | Ссылка на предыдущий компонент ChildrenList | childListRef | string | Если ранее был использован компонент ChildrenList, то список детей будет сформирован на основе него |
| 41 | Компонент инициирует цикл | isCycled | boolean | Позволяет инициировать цикл из повторяющегося набора экранов для выбранных элементов списка |
| 42 | Отключение проверки значения на backend для исключения подмены | validateOff | boolean | Отключает валидацию на backend. Данная валидация проверяет, соответствуют ли данные по выбранному ребёнку ошибке |
| 43 | Заголовок | title | string | Заголовок дисклеймера при нарушении валидации персональных данных детей |
| 44 | Текст | description | string | Текст дисклеймера при нарушении валидации персональных данных детей |
| 45 | Цвет | type | string | Цвет дисклеймера при нарушении валидации персональных данных детей |
| 46 | Модальные окна с пояснениями | clarifications | object, array | Позволяет раскрыть блок «Настроить модальное окно с пояснением вручную» или сделать список ссылок на пояснительные переходы при нарушении валидации персональных данных детей |
| 47 | Настроить модальное окно с пояснением вручную | acceptableTypes | additionalProperties | Позволяет настроить модальные окна при нарушении валидации персональных данных детей |
| 48 | Настройка формирования health-метрик | healthList | array | Задаётся список событий компонента, по которым будут формироваться health-запросы |
| 49 | Отображаемые поля | visibleComponents | string | Компоненты из контейнера, которые будут отображаться вместе со списком для выбора ребёнка |
| 50 | Редактируемые поля | writableComponents | string | Компоненты из атрибута «Отображаемые поля», которые будут доступны для редактирования |
| 51 | Идентификатор подсказки suggest | suggestionId | string | Механизм отображения пользователю набора подходящих для ввода данных и автоматическое заполнение полей формы этими данными |
| 52 | Идентификаторы компонентов, для которых чистить кэш | clearCacheForComponentIds | array | Если ответ на текущий компонент отличается от того, что указан в cachedAnswers, при наличии, то будут удалены все cachedValues, указанные в этом поле |
| 53 | Вычисляемые аргументы компонента (linkedValues) | linkedValues | array, object | Атрибуты компонента, позволяющие реализовать сложный функционал |
Пример JSON структуры компонента передаваемой в DTO
|
{ "visited": true, "value": [ { "isNew": "true", "firstName": "Василий", "gender": "F", "id": "f192476b-3026-40ad-924c-f2c4ebba07fb", "middleName": "Васильевич", "lastName": "Васильев", "birthDate": "2021-01-04T00:00:00.000+03:00", "snils": "000-000-000 00" } ] } |
Варианты использования
С помощью компонента ChildrenList можно реализовать выбор определённого ребёнка. Например, в одном ChildrenList пользователь выбрал детей и добавил новых вручную, а в другом ChildrenList ему нужно выбрать одного из ранее выбранных или введённых детей. В настройках компонента необходимо указать ссылку на предыдущий компонент ChildrenList


