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

В услуге Робота Макса

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

Структура компонента QuestionScr
| ВКУ | JSON |
|
||
| № | В конструкторе | Атрибут | Тип | Описание |
| 1 | Идентификатор компонента | id | string | Уникальный идентификатор компонента в JSON |
| 2 | Имя компонента | name | string | Допускается ввод любых данных для отображения в конструкторе, однако классическим видом является s1_с1, где номера — сгенерированные идентификаторы, s — экран, c — компонент |
| 3 | Заголовок компонента | label | string | Поле для ввода вопроса. Не рекомендуется заполнять, так как вопрос указывается в заголовке соответствующего экрана |
| 4 | Создавать заявление на экране с данным компонентом | createOrder | boolean | Если атрибут установлен, то черновик заявления будет создан только после ответа на этот компонент |
| 5 | Текст кнопки ответа | label | string | Текст кнопки ответа, отображаемый пользователю |
| 6 | Подсказка | description | string | Серый текст, отображаемый под текстом кнопки |
| 7 | Сохраняемое значение ответа | value | string | Значение, которое будет передаваться в value компонента |
| 8 | Блокировка кнопки | disabled | boolean, string | Позволяет выбрать блокировку кнопки вручную или по значению переменной |
| 9 | Кастомный вид кнопки | hasCustomContent | boolean | Позволяет настроить кнопку используя html-код в поле «Подсказка». При этом «Текст кнопки ответа» не заполняется |
| 10 | Автоматическое формирование кнопок | vkuRadio | string | Позволяет автоматически сформировать кнопки на основе массива или ответов в циклических компонентах |
| 11 | Сохранение ответов для проверки дубликатов заявлений | valuesForSave | array | По заданному массиву ответов будет осуществляться проверка дубликатов заявлений |
| 12 | Ссылки на значения атрибутов для подстановки в отображаемый текст | refs | array of objects | Ссылки на значения компонентов, значения которых необходимо отобразить |
| 13 | Модальные окна с пояснениями | clarifications | array of objects | Позволяет раскрыть блок «Настроить модальное окно с пояснением вручную» или сделать список ссылок на пояснительные переходы |
| 14 | Настроить модальное окно с пояснением вручную | acceptableTypes | additionalProperties | Позволяет настроить модальные окна |
| 15 | Настройка формирования health-метрик | healthList | array | Позволяет задать список событий компонента, по которым будут формироваться health-запросы |
| 16 | Вычисляемые аргументы компонента (linkedValues) | linkedValues | array | Атрибуты компонента, позволяющие реализовать сложный функционал |
| 17 | Компоненты, для которых чистить кэш | clearCacheForComponentIds | array | При переходе на следующий экран cachedValues всех указанных компонентов будут удалены |
Пример JSON структуры компонента передаваемой в DTO
|
{ value: "1" visited:true } |
Варианты использования
Компонент позволяет задать динамическое формирование кнопок из заранее сформированного массива данных, который можно создать самостоятельно, использовав ValueCalculator в компоненте UniversalLogic на специальном экране, содержащем компонент типа Redirect, давая возможность не настраивать каждую кнопку по отдельности
Примером использования такого способа является отображение нужных вариантов ответов, подсказок к ним и сохраняемых значений в зависимости от типа учётной записи заявителя
Пример наполнения ValueCalculator
|
{ "linkedValues": [ { "argument": "arg1", "jsonLogic": { "if": [ { "==": [ "protected.orgType", "LEGAL" ] }, "[{"value":"Ответ ЮЛ № 1","desc":"ЮЛ1"},{"value":"Ответ ЮЛ № 2","desc":"ЮЛ2"}]", { "==": [ "protected.orgType", "BUSINESS" ] }, "[{"value":"Ответ ИП № 1","desc":"ИП1"},{"value":"Ответ ИП № 2","desc":"ИП2"}]", "[{"value":"Ответ ФЛ № 1","desc":"ФЛ1"},{"value":"Ответ ФЛ № 2","desc":"ФЛ2"}]" ] } } ] } |
Настройка компонента QuestionScr будет выглядеть следующим образом:
