Общая информация
Компонент 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 будет выглядеть следующим образом: