Общая информация
Компонент позволяет создавать список с возможностью множественного выбора
Поддерживаемые экраны
Экран может быть задействован на экране типа:
Внешний вид компонента
В услуге
В конструкторе
Структура компонента MultipleChoiceDictionary
ВКУ | JSON |
|
||
№ | В конструкторе | Атрибут | Тип | Описание |
1 | Идентификатор компонента | id | string | Уникальный идентификатор компонента в JSON |
2 | Удобочитаемое имя компонента |
|
|
Допускается ввод любых данных для отображения в конструкторе, однако классическим видом является s1_с1, где номера — сгенерированные идентификаторы, s — экран, c — компонент |
3 | Заголовок | label | string | Название поля. Описывает, что пользователю необходимо ввести в отображаемое ему поле |
4 | Поле является обязательным для заполнения? | required | boolean | Принуждает к взаимодействию с компонентом |
5 | Подсказка для поля | hint | string | Позволяет указать подсказку к полю |
Дополнительные атрибуты | ||||
6 | Надпись над полем выбора | subLabel | string | Позволяет указать надпись на полем выбора. Поддерживает вёрстку html и использование модальных окон |
7 | Пояснительные переходы | clarifications | object | Позволяет раскрыть блок «Настройка пояснительных переходов в компонентах» или сделать список ссылок на пояснительные переходы |
8 | Настройка пояснительных переходов в компоненте |
|
|
Позволяет настроить модальные окна |
9 | Подсказка под компонентом вместо надписи "Необязательно" | string | Позволяет ввести подсказку под компонентом вместо надписи «Необязательно» | |
10 | Заголовок модального окна | modalHeader | string | Позволяет ввести заголовок модального окна |
11 | Установить зависимости с ранее введёнными данными | ref | array of objects | Массив объектов, в элементах которых описываются зависимости и правила отображения полей |
12 | Ссылки на значения атрибутов для подстановки в отображаемый текст | refs | array of objects | Ссылки на значения компонентов, которые необходимо отобразить |
13 | Описание валидации компонента | validation | array of objects | Позволяет настроить валидацию компонента. Например, если необходимо, чтобы пользователь выбрал хотя бы одно поле, то необходимо проставить данную настройку. В таком случае пользователю будет доступна кнопка перехода на следующий экран только при выборе хотя бы одного из полей |
14 | Настройка формирования health-метрик | healthList | array of objects | Позволяет задать список событий компонента, по которым будут формироваться health-запросы |
15 |
|
attrs | object |
Позволяет выбрать тип формирования списка
|
16 | Название загружаемого словаря | dictionaryType | string | Позволяет ввести название загружаемого словаря |
17 | Опциональный список фильтров для справочника, фильтры соединяются через AND | dictionaryFilter | array | Позволяет настроить фильтрацию справочника |
18 | Включить валидацию выбранных значений на бэке | validationSwitchOn | string | Атрибут позволяет исправить поломку компонента при больших справочниках |
19 | Включение pull-режима при вызове методов NSI-справочника | isPullMode | boolean | Атрибут включает pull-режим для запросов к справочнику. Необходимо включать при вызове справочников с большим количеством атрибутов |
20 | Указывается ссылка на значение родителя для отбора по многоуровневому справочнику | parentRefItemValue | string | Атрибут позволяет указать ссылку на значение родителя для отбора по многоуровневому справочнику. Пример: ${s18_Department_1.value.originalItem.value} |
21 | Поля, выбираемые из словаря | selectAttributes | array | Атрибут позволяет выбрать поля из словаря, для отображения на форме |
22 | Параметры сортировки | orderBy | array | Атрибут позволяет отсортировать справочник |
23 | Количество элементов страницы | pageSize | number | Позволяет разделить справочник на страницы и указать количество элементов на одной странице |
24 | Номер страницы | pageNum | number | Позволяет указать номер страницы, которая будет отображаться после разделения |
25 | Вычисляемые аргументы компонента (linkedValues) | linkedValues | array of objects | Атрибуты компонента, позволяющие реализовать сложный функционал |
Пример JSON структуры объекта передаваемой в DTO
{ "visited": true, "value": { "list": [ { "originalItem": { "value": "112", "title": "БЕЛАРУСЬ", "isLeaf": true, "children": [], "attributes": [ { "name": "TSifrovoi_kod", "type": "STRING", "value": { "asString": "112", "typeOfValue": "STRING", "value": "112" }, "valueAsOfType": "112" }, { "name": "Kratkoe_naimenovanie", "type": "STRING", "value": { "asString": "БЕЛАРУСЬ", "typeOfValue": "STRING", "value": "БЕЛАРУСЬ" }, "valueAsOfType": "БЕЛАРУСЬ" }, { "name": "Polnoe_naimenovanie", "type": "STRING", "value": { "asString": "Республика Беларусь", "typeOfValue": "STRING", "value": "Республика Беларусь" }, "valueAsOfType": "Республика Беларусь" }, { "name": "Bukvennyi_kod_alfa2", "type": "STRING", "value": { "asString": "BY", "typeOfValue": "STRING", "value": "BY" }, "valueAsOfType": "BY" }, { "name": "Bukvennyi_kod_alfa3", "type": "STRING", "value": { "asString": "BLR", "typeOfValue": "STRING", "value": "BLR" }, "valueAsOfType": "BLR" }, { "name": "Opisanie", "type": "STRING", "value": { "typeOfValue": "STRING" } }, ], "attributeValues": { "Bukvennyi_kod_alfa3": "BLR", "Bukvennyi_kod_alfa2": "BY", "Kratkoe_naimenovanie": "БЕЛАРУСЬ", "TSifrovoi_kod": "112", } }, "id": "112", "text": "БЕЛАРУСЬ" } ], "amount": 1 }, "disabled": false } |
Варианты использования
Данный компонент можно использовать для работы с большими справочниками. Для этого необходимо в расширенном режиме в блоке «Внешний справочник» в поле «Количество элементов страницы» указать значение в виде числа. Чем меньше значение, тем быстрее справочник будет грузиться на форме
Также данный компонент может использоваться для формирования массива на основе значений, указанных на предыдущих экранах, с помощью linkedValues. На примере ниже показано, как формируется список на основе данных, введённых на клон-панели. Необходимо выбрать «Динамическое формирование списка из linkedValues и указать атрибуты компонента в блоке «Вычисляемые аргументы компонента (linkedValues)