Парсинг форм
формат данных принимаемых функцией parseForm
[
{
"key": "body_panel",
"components": [
{
"label": "Юридическое лицо",
"key": "agreementLegalEntity",
"properties": {
"attribute": "_ECM_contracts:agreementLegalEntity"
},
"type": "selectJournal",
"input": true,
"value": ""
...
},
...
],
},
{
"key": "footer_panel",
"components": [
{
"type": "columns",
"columns": [
{
"components": [
{
"label": "Rework",
"key": "outcome_Rework",
"type": "button",
"action": "submit",
},
...
]
},
...
],
},
{
"label": "Rework",
"key": "outcome_Rework",
"type": "button",
"action": "submit",
},
...
]
},
...
]
Получение элементов для отображения в списке свойств:
компоненты из массива первого уровня фильтруются по ключу
"key": "body_panel"перебираем элементы массива
components, фильтруем их по свойству"input": trueв случае если
"type": "button", элемент отбирается для передачи в функцию рендера, для локализации используется аттрибутlabel. Элементы с другими типами также отбираются для рендера, исключением яэвляется то что для локализации используется свойствоattributeс обрезанным префиксом „_ECM_“данные с формой связаны по ключу
attributeдля отображения в интерфейсе используется свойства value, в зависимости от
typeформатируется как строка или дата
Получение элементов для отображения на панеле согласования(кнопки):
компоненты из массива первого уровня фильтруются по ключу
"key": "footer_panel"перебираем элементы массива
columns.components, фильтруем их по свойству"type": button. Если встречаются элементы с типомcolumns, необходимо отобрать первый элемент массива в свойствеcomponents. Для локализации используется аттрибутlabelобработчик клика по кнопке ожидает значение из св-ва
label