Общая информация
Компонент MultiSelect представляет собой выпадающий список со строкой поиска, который позволяет пользователю выбрать несколько значений в загруженном справочнике
Поддерживаемые экраны
Компонент может быть задействован на экране типа:
Внешний вид компонента
В стандартной услуге

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

Структура компонента MultiSelect
| ВКУ | JSON |
|
||
| № | В конструкторе | Атрибут | Тип | Описание |
| 1 | Идентификатор компонента | id | string | Уникальный идентификатор компонента в JSON |
| 2 | Имя компонента | name | string | Допускается ввод любых данных для отображения в конструкторе, однако классическим видом является s1_с1, где номера — сгенерированные идентификаторы, s — экран, c — компонент |
| 3 | Заголовок компонента | label | string | Название поля. Описывает, что пользователю необходимо ввести в отображаемое ему поле |
| 4 | Компонент обязателен для заполнения | required | boolean | Принуждает пользователя к взаимодействию с компонентом |
| Дополнительные атрибуты | ||||
| 5 | Код справочника | dictionaryType | string | Название справочника, данные которого нужно загрузить |
| 6 | Идентификатор параметра | idPath | string | Атрибут справочника |
| 7 | Параметр, значение которого будет отображаться в выпадающем списке | textPath | string | Путь до параметра, значение которого нужно отображать в выпадающем списке |
| 8 | Включить pull-режим при вызове методов NSI-справочника | isPullMode | boolean | Атрибут включает pull-режим для запросов к справочнику. Необходимо включать при вызове справочников с большим |
| 9 | Количество элементов на странице | pageSize | string | Размер страницы, по умолчанию устанавливается значение 100. Это означает, что все элементы справочника делятся на страницы по 100 элементов каждая. Максимальное значение 1000 |
| 10 | Атрибуты, выбираемые из словаря | selectAttributes | array | Перечень атрибутов справочника, которые запрашиваются из api/nsi/v1/dictionary/. Указывается для уменьшения объёма передаваемых данных и размера черновика |
| 11 | Наименование атрибута, по которому будет происходить сортировка | attributeName | string | Имя атрибута, по которому будут сортироваться элементы справочника |
| 12 | Порядок сортировки | sortDirection | string |
Позволяет выбрать порядок сортировки: - По возрастанию - По убыванию |
| 13 | Ссылка на значение родителя для отбора по многоуровневому справочнику | parentRefItemValue | string | Код родительского элемента. По умолчанию пустое значение |
| 14 | Фильтрация со сложной логикой | dictionaryFilterV2 | object | Позволяет настроить динамическую фильтрацию со сложной логикой. Подробнее в статье |
| 15 | Наименование атрибута фильтрации | attributeName | string | Атрибут, по которому необходимо фильтровать справочник |
| 16 | Операция сравнения | condition | string | Критерий или условие осуществления фильтрации |
| 17 | Источник значения для фильтра | valuetype | string | Тип значения |
| 18 | Зависимости с ранее введёнными данными | ref | array of objects | Массив объектов, в элементах которых описываются зависимости и правила отображения полей |
| 19 | Минимальное количество символов для интерактивного поиска | queryMinSymbolsCount | integer | Позволяет переопределить количество введенных символов в строку поиска, при вводе которых осуществляется поиск значения. Если не указано, то по умолчанию 1 |
| 20 | Максимальное количество выбираемых элементов | maxSelectSize | integer | Позволяет переопределить максимальное количество выбираемых в компоненте элементов. Если не указано, то по умолчанию 20 |
| 21 | Название атрибута, по которому происходит фильтрация | key | string | Вторичная фильтрация. Производится на frontend из тех значений, что вернул backend при первичной фильтрации |
| 22 | Список значений выбранного атрибута | value | array | Указываются значения из справочника, которые необходимо исключить или показать на форме |
| 23 | Изменить заданные значения атрибута | isExclude | boolean | Позволяет сформировать список только с заданными значениями или исключить их |
| 24 | Валидация выбранных значений | validation | array | Если настройка добавлена для нескольких компонентов на одном экране, то позволяет сделать обязательным заполнение хотя бы одного из них. Компонент с данной настройкой должен быть необязательным для заполнения |
| 25 | Проверять выбранное значение на backend для исключения подмены | validationSwitchOn | boolean | Атрибут позволяет исправить поломку компонента при больших справочниках |
| 26 | Только для чтения | disabled | string | Атрибут предназначен для отключения возможности пользователю выбирать значение из справочника |
| 27 | Отображать иконку загрузки вместо лупы при прогрузке справочника | searchIconForcedShowing | boolean | Указывается, если нужно вместо лупы отображать иконку загрузки |
| 28 | Наименование атрибута, по которому будет происходить сортировка | attribute Name | string | Имя атрибута, по которому будут сортироваться элементы справочника |
| 29 | Настроить модальное окно с пояснением вручную | acceptableTypes | additionalProperties | Позволяет настроить модальные окна |
| 30 | Вычисляемые аргументы компонента (linkedValues) | linkedValues | array of objects | Атрибуты компонента, позволяющие реализовать сложный функционал |
| 31 | Идентификатор подсказки suggest | suggestionId | string | Механизм отображения пользователю набора подходящих для ввода данных и автоматическое заполнение полей формы этими данными |
| 32 | Идентификаторы компонентов, для которых чистить кэш | clearCacheForComponentIds | array | Если ответ на текущий компонент отличается от того, что указан в cachedAnswers, при наличии, то будут удалены все cachedValues, указанные в этом поле |
| 33 | Не использовать значение компонента при автогенерации VM шаблона | notUseInVm | boolean | Атрибут функционала автоматического создания VM шаблонов для услуг на ПГС 3.0 |
Пример JSON структуры компонента передаваемой в DTO
|
{ "visited": true, "value": { "list":[ { "value": "originalItem":{ "value":"112", "title":"БЕЛАРУСЬ", "isLeaf":true, "children":[], "attributes":[], "attributeValues":{} }, "id":"112", "text":"БЕЛАРУСЬ" }, { "originalItem":{ "value":"643", "title":"РОССИЯ", "isLeaf":true, "children":[], "attributes":[], "attributeValues":{} }, "id":"643", "text":"РОССИЯ" } ], "amount":2 }, "disabled": false } |
Варианты использования
Компонент используется в случаях, когда пользователю необходимо выбрать несколько вариантов из загруженного словаря. Кроме того, в настройках компонента существует возможность фильтрации по выбранному словарю. Статическая фильтрация по атрибуту задаётся явным указанием значения атрибута в поле «Константное значение для фильтра»
