Документация по разработке bpm’online
PDF
Документация по разработке
Описание платформы

Массив 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*/

© Terrasoft 2002-2019.

Был ли данный материал полезен?

Как можно улучшить эту статью?