Войти

LinkedValues

Общая информация

linkedValues — это специальная настройка внутри экранов и компонентов, которая позволяет реализовать сложный функционал и связывать значения с помощью определённых механизмов, таких как: код JsonLogic, источник данных, атрибуты для списковых компонентов, контекстная функция и выражения для вычисления аргумента. linkedValues даёт возможность значительно оптимизировать разработку экранов, в которых изменяется текстовое наполнение экрана в зависимости от выбора и заполнения данных на предыдущих экранах

Поддерживаемые экраны и компоненты

linkedValues может быть задействован на экране типа:

linkedValues может быть задействован в компонентах типа:

Внешний вид linkedValues

В услуге

1.png
2.png

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

3.png

Структура linkedValues

ВКУ

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

Атрибут

Тип

Описание

1

Вычисляемые аргументы (linkedValues)

attrs

object

Атрибуты, позволяющие реализовать сложный функционал

2

Механизм определения аргументов Версии 1

Данный механизм позволяет задавать различные аргументы и условия, а также настраивать конвертацию вычисленных значений 

2.1

Механизм определения аргументов Версии 2

Данный механизм описан в статье linkedValues Версии 2

3

Значение по умолчанию

defaultValue

string

Позволяет заполнить поле значением по умолчанию

4

Выражения для определения вычислять ли аргумент

«Значение настройки»

array

В элемент задаётся условие «when» и выбирается компонент

5

Настройки конвертации вычисленных значений

«Значение настройки»

string

В элементе указывается «Ключ» и значения его настройки

6

Код JsonLogic

json

object

Используется для выполнения сложной логики в определении аргументов

7

Источник данных

true

string

Позволяет выбрать компонент или ввести вручную значение

8

Атрибуты для списковых компонентов

attrs

Блок используется для динамического формирования кнопок. Источником данных может быть массив, содержащийся в value компонента

9

Контекстная функция 

object

Добавление функции с аргументами

10

Выражения для вычисления аргумента

true

array

Добавление элемента с двумя обязательными условиями «when» и «then»


Варианты использования

Самые распространённые варианты применения linkedValues — это определения гендера и условий выбора предыдущего экрана с помощью источников данных и выражения для вычисления аргументов. Также для linkedValues используют для стилизации текста label, что даёт возможность разработать один экран вместо нескольких экранов одного типа с разными текстовками. linkedValues даёт возможность добавлять определённые пункты списка в зависимости от условий, выполненных на предыдущих экранах

4.png

Примеры использования linkedValues версии 1

1. Настройка определения гендера заголовка с помощью «Кода JsonLogic»

Для того, чтобы на экранах с разводящим вопросом (Question) получать корректные ответы, зависимые от гендера, необходимо настроить компонент для отображения вопроса и возможных ответов (QuestionScr)

Для этого нужно добавить элементы в атрибутах компонента «Ответы, доступные пользователю» в виде «${название атрибута}»

5.png5_1.png

Данный атрибут необходимо будет указать в настройке «Вычисляемые аргументы компонента (linkedValues)», добавить необходимое количество элементов, выбрать «Механизм определения аргументов Версии 1» и прописать код JsonLogic

6.png6_1.png
7.png7_1.png

В самой услуге мы получим экран с ответами, в зависимости от гендера учётной записи ЛК ЕСИА

8.png8_1.png

Пример кода JsonLogic для linkedValues версии 1:

Значения в JsonLogic

{

   "if": [

      {

         "and": [

            {

               "==": [

                  "answer.c2.value",

                  "1"

               ]

            },

            {

               "==": [

                  "protected.gender",

                  "M"

               ]

            }

         ]

      },

      "Вдовец",

      {

         "and": [

            {

               "==": [

                  "answer.c2.value",

                  "2"

               ]

            },

            {

               "==": [

                  "answer.c23.value",

                  "2"

               ]

            }

         ]

      },

      "Вдовец",

      {

         "and": [

            {

               "==": [

                  "answer.c2.value",

                  "1"

               ]

            },

            {

               "==": [

                  "protected.gender",

                  "F"

               ]

            }

         ]

      },

      "Вдова",

      {

         "and": [

            {

               "==": [

                  "answer.c2.value",

                  "2"

               ]

            },

            {

               "==": [

                  "answer.c23.value",

                  "1"

               ]

            }

         ]

      },

      "Вдова"

   ]

}


2. Настройка динамической страницы решения с помощью блоков «Источник данных» и «Выражения для вычисления аргумента»:

9.png

Чтобы настроить страницу решения и выводить на неё пункты, исходя из прошлых ответов на экранах с разводящими вопросами, необходимо в компоненте для отображения информации на экране (InfoScr) в «тексте компонента» прописать все необходимые аргументы и указать их в настройке «Вычисляемые аргументы компонента (linkedValues)» для каждого элемента

10.png10_1.png

Для аргументов нужно будет указать «Источник данных» и «Выражение для вычисления аргумента»

В источнике данных необходимо будет указать компонент, с которым будет сравниваться наше выражение для вычисления аргумента

11_new.jpg

В выражении для вычисления аргумента необходимо прописать условия с выводом текста

12.png12_1.png

Исходя из полученных ответов на экранах с разводящими вопросами, на странице решения будут выводится нужные пункты

13.png13_1.png

Ссылки на шаблоны, реализованные в ВКУ с использованием linkedValues:

Авторизуйтесь, чтобы оставить комментарий к статье