Массив diff
Glossary Item Box
Общие сведения
В свойстве схемы diff описывается массив модификаций, с помощью которых строится представление модуля в интерфейсе системы. Каждый элемент массива представляет собой метаданные, на основании которых генерируются различные элементы управления интерфейса.
Свойство diff содержит массив конфигурационных объектов, отвечающих за отображение схемы. Массив diff может содержать в себе объекты, конфигурирующие отображение контейнеров, элементов управления, модулей, полей и других визуальных компонентов системы.
Свойства объектов массива diff
В общем виде элементы массива diff имеют следующий набор свойств:
-
operation — может принимать значения:
- set — значение элемента схемы устанавливается значением параметра values;
- merge — значения из родительских, замещаемых и замещающих схем сливаются вместе, при этом свойства из значения параметра values последнего наследника имеют приоритет;
- remove — элемент удаляется из схемы;
- move — элемент перемещается в другой родительский элемент;
- insert — элемент добавляется в схему.
- name — имя элемента схемы, над которым производится действие;
- parentName — имя родительского элемента схемы, в котором размещается элемент при операции insert, или в который перемещается элемент при операции move;
- propertyName — имя параметра родительского элемента при операции insert. Также используется при операции remove, если нужно удалить только определенные параметры элемента, а не весь элемент;
- index— индекс, в который перемещается или вставляется параметр. Параметр используется с операциями insert и move. Если параметр не указан, то вставка идет последним элементом массива;
- values — объект, свойства которого будут установлены либо объединены со свойствами элемента схемы. Используется при операциях set, merge и insert.
В bpm'online реализован набор основных элементов, которые можно отобразить на странице. Они заданы в перечислении Terrasoft.ViewItemType (табл. 1).
Таблица 1. — Типы отображаемых элементов
Название | Описание |
---|---|
GRID_LAYOUT | Элемент-сетка, включающий в себя размещение других элементов управления. |
TAB_PANEL | Набор вкладок. |
DETAIL | Деталь. |
MODEL_ITEM | Элемент модели представления. |
MODULE | Модуль. |
BUTTON | Кнопка. |
LABEL | Надпись. |
CONTAINER | Контейнер. |
MENU | Выпадающий список. |
MENU_ITEM | Элемент выпадающего списка. |
MENU_SEPARATOR | Разделитель выпадающего списка. |
SECTION_VIEWS | Представления раздела. |
SECTION_VIEW | Представление раздела. |
GRID | Реестр. |
SCHEDULE_EDIT | Планировщик. |
CONTROL_GROUP | Группа элементов. |
RADIO_GROUP | Группа переключателей. |
DESIGN_VIEW | Настраиваемое представление. |
COLOR_BUTTON | Цвет. |
IMAGE_TAB_PANEL | Набор вкладок с иконками. |
HYPERLINK | Гиперссылка. |
INFORMATION_BUTTON | Information button with tooltip. |
TIP | Tooltip. |
Пример использования свойства diff
diff: /**SCHEMA_DIFF*/[ { "operation": "insert", "name": "CardContentWrapper", "values": { "id": "CardContentWrapper", "itemType": Terrasoft.ViewItemType.CONTAINER, "wrapClass": ["card-content-container"], "items": [] } }, { "operation": "insert", "name": "CardContentContainer", "parentName": "CardContentWrapper", "propertyName": "items", "values": { "itemType": Terrasoft.ViewItemType.CONTAINER, "items": [] } }, { "operation": "insert", "name": "HeaderContainer", "parentName": "CardContentContainer", "propertyName": "items", "values": { "itemType": Terrasoft.ViewItemType.CONTAINER, "wrapClass": ["header-container-margin-bottom"], "items": [] } }, { "operation": "insert", "name": "Header", "parentName": "HeaderContainer", "propertyName": "items", "values": { "itemType": Terrasoft.ViewItemType.GRID_LAYOUT, "items": [], "collapseEmptyRow": true } } ]/**SCHEMA_DIFF*/