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

Вид Lookup

Вид Cards
В конструкторе

Структура компонента Cards
| ВКУ | 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 | URL загружаемого словаря | dictionaryUrlType | string |
Имя используемого API для предоставления справочника. Примеры:
|
| 9 | Включить pull-режим при вызове методов NSI-справочника | isPullMode | boolean | Атрибут включает pull-режим для запросов к справочнику. Необходимо включать при вызове справочников с большим количеством атрибутов |
| Дополнительные опции при обращении к справочнику | ||||
| 10 | Количество элементов на странице | pageSize | string | Размер страницы, по умолчанию устанавливается значение 1000. Это означает, что все элементы справочника делятся на страницы по 1000 элементов каждая |
| 11 | Атрибуты, выбираемые из словаря | selectAttributes | array | Перечень атрибутов справочника, которые запрашиваются из api/nsi/v1/dictionary/. Указывается для уменьшения объёма передаваемых данных и размера черновика |
| Параметры сортировки | ||||
| 12 | Наименование атрибута, по которому будет происходить сортировка | attribute Name | string | Имя атрибута, по которому будут сортироваться элементы справочника |
| 13 | Порядок сортировки | sortDirection | string |
Позволяет выбрать порядок сортировки:
|
| 14 | Ссылка на значение родителя для отбора по многоуровневому справочнику | parentRefItemValue | string | Код родительского элемента. По умолчанию пустое значение |
| 15 | Фильтрация со сложной логикой | dictionaryFilterV2 | object | Позволяет настроить динамическую фильтрацию со сложной логикой. Подробнее в статье |
| Фильтрация по выбранному словарю | ||||
| 16 | Наименование атрибута фильтрации | attributeName/key | string | Атрибут, по которому необходимо фильтровать справочник |
| 17 | Операция сравнения | condition | string | Критерий или условие осуществления фильтрации |
| 18 | Источник значения для фильтра | valuetype | string | Тип значения |
| 19 | Зависимости с ранее введёнными данными | ref | array of objects | Массив объектов, в элементах которых описываются зависимости и правила отображения полей |
| 20 | Осуществлять интерактивный поиск | searchProvider | boolean | Поиск по справочнику производится по значению, введённому в поле |
| 21 | Количество элементов на странице | pageSize | string | Количество значений справочника, отображаемых на странице |
| Настройка фильтрации для полученных значений из справочника | ||||
| 22 | Название атрибута, по которому происходит фильтрация | attributeName | string | Вторичная фильтрация. Производится на frontend из тех значений, что вернул backend при первичной фильтрации |
| 23 | Список значений выбранного атрибута | value | array | Указываются значения из справочника, которые необходимо исключить или показать на форме |
| 24 | Изменить заданные значения атрибута | isExclude | boolean | Позволяет сформировать список только с заданными значениями или исключить их |
| 25 | Предустановка значения в справочнике | vkuPreset | string | Позволяет выбрать предустановку значения в справочнике по заданному значению или индексу |
| 26 | Значение из справочника, которое будет выбрано по умолчанию | lookupDefaultValue | string | Указывается значение из списка, которое будет отображаться в поле по умолчанию |
| 27 | Валидация выбранных значений | validation | array | Если настройка добавлена для нескольких компонентов на одном экране, то позволяет сделать обязательным заполнение хотя бы одного из них. Компонент с данной настройкой должен быть необязательным для заполнения |
| 28 | Проверять выбранное значение на backend для исключения подмены | validationSwitchOn | boolean | Атрибут позволяет исправить поломку компонента при больших справочниках |
| Атрибут, по которому проводится валидация на backend | ||||
| 29 | Название атрибута, по которому производится валидация | idName | string | Название атрибута из справочника |
| 30 | Тип атрибута | idType | string | Тип атрибута, по которому по которому производится валидация. По умолчанию «asString» |
| 31 | Путь до значения в ответе справочника | answerJsonPath | string | Путь к значению атрибута в ответе справочника. Указывается для случаев, когда ответ справочника не стандартен для nsi и уникальный атрибут хранится по пути originalItem.value, а не в attributes |
| 32 | Валидировать параметры фильтра на backend при заданных зависимостях с ранее введёнными данными | dictionaryValidation | object | Включает валидацию на backend, которая проверяет, что выбранное в компоненте значение присутствует в справочнике. Если флаг не указан, то при валидации полученное значение сравнивается по полю ID в зависимостях с ранее введёнными данными |
| 33 | Только для чтения | disabled | string | Атрибут предназначен для отключения возможности пользователю выбирать значение из справочника |
| 34 | Отображение компонента в повторяющихся блоках RepeatableFields | onlyFirstScreen | boolean | Можно выбрать отображение только в первом блоке или наоборот. Если оставить выпадающий список пустым, то компонент Lookup будет отображаться во всех блоках компонента RepeatableFields |
| 35 | Возможность сброса выбранного из справочника значения | isClearable | boolean | Возможность сброса выбранного из справочника значения. Если указать true, то будет отображаться крестик для сброса выбранного значения |
| 36 | Подсказка, отображаемая под компонентом | hint | string | Текст, который отображается под компонентом |
| 37 | Пример значения в поле | placeholder | string | Введённое значение отобразится в строке в качестве примера |
| 38 | Отображать иконку загрузки вместо лупы при прогрузке справочника | searchIconForcedShowing | boolean | Указывается, если нужно вместо лупы отображать иконку загрузки |
| 39 | Развернуть список со значениями при открытии страницы | focusOnInitAndStartSearch | boolean | Указывается, если нужно, чтобы при открытии страницы список со значениями был автоматически развёрнут |
| 40 | Отображать иконку выпадающего списка вместо лупы | showExpandCollapse | boolean | При значении true вместо лупы отображает иконку выпадающего списка,как в компоненте DropDown. По умолчанию принимает значение false |
| 41 | Модальные окна с пояснениями | clarifications | array of objects | Позволяет раскрыть блок «Настроить модальное окно с пояснением вручную» или сделать список ссылок на пояснительные переходы |
| 42 | Настроить модальное окно с пояснением вручную | acceptableTypes | additionalProperties | Позволяет настроить модальные окна |
| 43 | Настройка формирования health-метрик | healthList | array of objects | Позволяет задать список событий компонента, по которым будут формироваться health-запросы |
| 44 | Ссылки на значения атрибутов для подстановки в отображаемый текст | refs | array of objects | Ссылки на значения компонентов, которые необходимо отобразить |
| 45 | Вычисляемые аргументы компонента (linkedValues) | linkedValues | array of objects | Атрибуты компонента, позволяющие реализовать сложный функционал |
| 46 | Идентификатор подсказки suggest | suggestionId | string | Механизм отображения пользователю набора подходящих для ввода данных и автоматическое заполнение полей формы этими данными |
| 47 | Идентификаторы компонентов, для которых чистить кэш | clearCacheForComponentIds | array | Если ответ на текущий компонент отличается от того, что указан в cachedAnswers, при наличии, то будут удалены все cachedValues, указанные в этом поле |
Условия отображения LookUp как Cards для услуги Робота Макса
Чтобы компонент LookUp отображался пользователю как список карточек с данными (Cards), необходимо в компоненте LookUp в блоке "Вычисляемые аргументы" прописать аргумент с названием "cardsMode" и значением "true":
- Если параметр отсутствует или значение cardsMode == false, компонент отображается как "Loookup"
- Если значение cardsMode = true, компонент обрабатывается по логике компонента "Cards"
Пример настройки:
Пример JSON структуры объекта передаваемой в DTO
|
{ "visited": true, "value": { "originalItem": { "value": "113028007415/66", "title": "Филиал ГКУ РЦСПН по г.Белебею РБ", "isLeaf": true, "children": [], "attributes": [ { "name": "SHORT_TITLE", "type": "STRING", "value": { "asString": "Филиал ГКУ РЦСПН по г.Белебею РБ", "typeOfValue": "STRING", "value": "Филиал ГКУ РЦСПН по г.Белебею РБ" }, "valueAsOfType": "Филиал ГКУ РЦСПН по г.Белебею РБ" }, { "name": "ADDRESS", "type": "STRING", "value": { "asString": "452000, Республика Башкортостан, г. Белебей, ул. Революционеров 3", "typeOfValue": "STRING", "value": "452000, Республика Башкортостан, г. Белебей, ул. Революционеров 3" }, "valueAsOfType": "452000, Республика Башкортостан, г. Белебей, ул. Революционеров 3" }, { "name": "PHONE", "type": "STRING", "value": { "asString": "8(347)200-80-80", "typeOfValue": "STRING", "value": "8(347)200-80-80" }, "valueAsOfType": "8(347)200-80-80" }, { "name": "CODE", "type": "STRING", "value": { "asString": "113028007415/66", "typeOfValue": "STRING", "value": "113028007415/66" }, "valueAsOfType": "113028007415/66" }, { "name": "TITLE", "type": "STRING", "value": { "asString": "Филиал ГКУ РЦСПН по г.Белебею РБ", "typeOfValue": "STRING", "value": "Филиал ГКУ РЦСПН по г.Белебею РБ" }, "valueAsOfType": "Филиал ГКУ РЦСПН по г.Белебею РБ" } ], "attributeValues": { "CODE": "113028007415/66", "TITLE": "Филиал ГКУ РЦСПН по г.Белебею РБ", "SHORT_TITLE": "Филиал ГКУ РЦСПН по г.Белебею РБ", "ADDRESS": "452000, Республика Башкортостан, г. Белебей, ул. Революционеров 3", "PHONE": "8(347)200-80-80" } }, "id": "113028007415/66", "text": "Филиал ГКУ РЦСПН по г.Белебею РБ" } } |
Варианты использования
Компонент используется в случаях, когда пользователю необходимо выбрать один вариант из загруженного словаря. Наиболее частым вариантом использования является выбор территориального органа из списка. Кроме того, в настройках компонента существует возможность фильтрации по выбранному словарю. Статическая фильтрация по атрибуту задаётся явным указанием значения атрибута в поле «Константное значение для фильтра»