Интерфейс дерева связей

Этот раздел описывает интерфейс дерева связей сущностей в домене.

Ознакомьтесь с правилами нотации в схеме домена. Это позволит присваивать корректные названия создаваемым элементам схемы. Эти названия будут отображаться в интерфейсе системы.

Структура поля views

Путь в схеме: views[]

Общие поля представлений

Поле Обязательность и значение по умолчанию Описание Тип данных

id

Да

Уникальный идентификатор интерфейса.

View ID

label

Нет (по умолчанию: пустая строка)

Наименование, используемое в заголовках. Для полноэкранной карточки поддерживаются форматы: "строка" или "{<attribute_id>}".

строка

description

Нет (по умолчанию: пустая строка)

Описание элемента. Не выводится в интерфейсе, но отображается на схеме домена.

строка

type

Да

Тип интерфейса. Устанавливается значение tree.

перечисление

Поля древовидного представления

Эта таблица описывает поля, применимые для представления древовидной связи. Каждая запись включает общие поля древовидных представлений, а также специфические поля, которые зависят от варианта дерева, указанного в поле variant.

Описание каждого древовидного представления включает следующие поля:

Поле Обязательность и значение по умолчанию Тип данных Описание

tree

да

Data ID Ref

Ссылка на идентификатор дерева, описанного в блоке trees схемы домена.

nodeChunkSize

нет (по умолчанию — 20)

целое число

Параметр пагинации. В интерфейсе рядом со свернутыми узлами отображается команда Показать еще <N>, где <N> — параметр пагинации. При нажатии на нее будет развернуто указанное количество узлов.

Максимальное допустимое значение — 100.

variant

да

перечисление

Определяет, как будет отображаться представление. Ознакомьтесь с описанием поля variant.

ordering

нет (по умолчанию: false)

логическое

Переключатель возможности изменять расположение узлов в дереве. Требует, чтобы в описании дерева был указан тип orderable.

Поле variant

Значения поля variant определяет отображение представления древовидной связи:

  • splitted — вариант представления Каталог (два окна).

  • merged — вариант представления Дерево в списочном представлении (одно окно).

Древовидное представление варианта Каталог (variant: splitted)

Если в поле type установлено значение splitted, в представлении отобразятся два окна:

  • окно с деревом узлов связи;

  • окно со списком объектов в листовых узлах, являющихся дочерними для узла, выбранного в окне с деревом.

Описание представления варианта splitted дополнительно включает поля:

Поле Обязательность и значение по умолчанию Описание Тип данных

list

Да

Ссылка на идентификатор описания интерфейса списка объектов.

View ID Ref

showLeaf

Нет (по умолчанию — true)

Флаг вывода списка объектов в дереве. Если связь симметричная, в дерево выводятся все объекты.

логический

rootText

Нет

Название корневого узла древовидной структуры узлов связи в окне слева.

строка

catalogTitle

Да

Заголовок окна со списком объектов в листовых узлах.

строка

menuOptions

Нет

Массив полей action со ссылками на действия, доступные в представлении. Действия отображаются при нажатии на иконку с тремя точками в правом окне.

массив

views

Нет

Массив представлений, которые открываются при нажатии на объекты в дереве.

Ознакомьтесь с описанием поля views.

По умолчанию открывается представление, указанное в поле list.

массив

Переход к представлениям при нажатии на объекты в дереве (views)*

Путь в схеме: views[].views[]

Поле views содержит массив представлений, которые открываются при нажатии на объекты в дереве. Каждый элемент массива имеет следующую структуру:

Поле Обязательное поле Описание Тип данных

entity

да

Ссылка на идентификатор сущности, на объект которой нажимает пользователь.

Data ID Ref

view

да

Ссылка на идентификатор представления, которое открывается при нажатии. Допустимы представления следующих типов:

  • tree с variant: merged — дерево в списочном представлении;

  • list — списочное представление;

  • page — полноэкранная карточка.

View ID Ref

Представление варианта Дерево в списочном представлении (variant: merged)

Если установлено значение merged, в представлении отобразится одно окно, содержащее дерево узлов связи и список объектов в листовых узлах, являющихся дочерними для узла, выбранного в дереве.

Описание представления варианта merged дополнительно включает поле table с настройками табличного отображение. Поле имеет следующую структуру:

Путь в схеме: views[].table

Поле Обязательность и значение по умолчанию Тип данных Описание

columns

да

массив

Массив записей с описанием столбцов таблицы.

Ознакомьтесь с описанием поля columns.

filter

нет

объект

Настройки фильтрации столбцов. Ознакомьтесь с описанием поля filter.

sortingBy

нет

объект

Ссылки на правила сортировки в дереве.

Ознакомьтесь с описанием поля sortingBy.

paging

нет

объект

Пагинация данных. Ознакомьтесь с описанием поля paging.

refresh

нет

объект

Обновление данных. Ознакомьтесь с описанием поля refresh.

selection

нет (по умолчанию — false)

логическое

Переключатель возможности выбора строки.

Столбцы таблицы объектов

Путь в схеме: views[].table.columns[]

Блок columns является массивом и содержит записи столбцов таблицы. Порядок записей столбцов в схеме домена определяет последовательность столбцов в таблице.

Запись каждого столбца включает следующие поля:

Поле Обязательность и значение по умолчанию Тип данных Описание

id

да

View ID

Идентификатор столбца таблицы.

attribute

да

Data ID Ref

Атрибут, отображаемый в столбце

control

нет

объект

Отображение пути от корня дерева до узла. Ознакомьтесь с описанием поля control.

layout

нет

объект

Настройки размера и видимости столбца.

Ознакомьтесь с описанием поля layout.

label

нет (по умолчанию — значение поля id)

строка

Наименование столбца.

Ознакомьтесь с описанием поля label.

expanded

нет (по умолчанию — false)

логическое

Переключатель возможности раскрыть узел.

Если установлено значение true, в поле узла с дочерними узлами отображается кнопка plus square. При нажатии на нее раскрываются строки дочерних узлов.

Отображение пути от корня дерева (control)

Путь в схеме: views[].table.columns[].control

В столбце таблицы можно отобразить путь от корня дерева до текущего объекта. Для этого в описании столбца указываются:

  • в поле attribute: значение id;

  • в поле control: ссылка на дерево. Поле имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

type

да

перечисление

Устанавливается значение tree_path.

tree

да

Data ID Ref или FQID

Ссылка на идентификатор дерева.

Поле с путем в дереве не поддерживает сортировку и фильтрацию.
Пример описания столбца с путем
trees:
  - id: DevicesTree

views:
  - id: DevicesTreeView
    type: tree
    tree: DevicesTree
    variant: merged

    table:
      columns:
        ...
        - id: treePath
          attribute: id
          control:
            type: tree_path
            tree: domain.com/DevicesTree

Настройки размера и видимости столбца (layout)

Путь в схеме: views[].table.columns[].layout

Поле layout содержит настройки размера и видимости. Поле имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

visible

нет (по умолчанию — true)

логическое

Переключатель видимости столбца.

width

нет

объект

Ширина столбца. Ознакомьтесь с описанием поля width.

Настройки ширины столбца (width)

Путь в схеме: views[].table.columns[].layout.width

Поле width содержит настройки ширины столбца. Поле имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

default

да

целое положительное число

Ширина столбца по умолчанию, в пикселях.

min

да

целое положительное число

Минимальная ширина столбца в пикселях.

max

да

целое положительное число

Максимальная ширина столбца в пикселях.

Фильтрация в таблице (filter)

Путь в схеме: views[].table.filter[]

Поле filter содержит массив настроек фильтрации столбцов таблицы. Каждый элемент имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

entity

да

Data ID Ref или FQID

Идентификатор сущности дерева, для которой задаются параметры фильтрации.

attributes

нет

массив

Массив ссылок на атрибуты сущности, по которым производится фильтрация.

Ознакомьтесь с описанием поля attributes.

linkages

нет

Массив ссылок на связи сущности, по которым производится фильтрация.

Ознакомьтесь с описанием поля linkages.

Атрибуты для фильтрации в таблице (attributes)

Путь в схеме: views[].table.filter[].attributes

Поле attributes содержит ссылки на атрибуты сущности и связанных сущностей, по которым производится фильтрация. Поле имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

type

да

перечисление

Тип фильтрации. Доступные значения:

  • specific — фильтрация осуществляется по атрибутам сущности, ссылки на которые приведены в поле use.

  • all — фильтрация осуществляется по всем атрибутам. При использовании этого типа ссылки на атрибуты в поле use приводить не нужно.

use

да (при type: specific)

массив

Массив ссылок на атрибуты, по которым производится фильтрация, в формате attribute: Data ID Ref.

Связи для фильтрации (linkages)

Путь в схеме: views[].table.filter[].linkages[]

Поле linkages используется для задания ссылок на связи сущности и атрибутов связанных сущностей, по которым производится фильтрация.

Поле имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

type

да

перечисление

Тип фильтрации. Заполняется при задании ссылок на связи сущности. Можно указать следующие типы фильтрации:

  • specific — фильтрация осуществляется по связям, ссылки на которые приведены в поле use.

  • all — фильтрация осуществляется по всем связям. При использовании этого типа ссылки на связи в поле use приводить не нужно.

use

да (при type: specific)

массив

Массив ссылок на связи, по которым производится фильтрация. В этом поле перечисляются связи, по которым осуществляется фильтрация в таблице. Ознакомьтесь с описанием поля `use.

Перечень связей для фильтрации (use)

Путь в схеме: views[].table.filter[].linkages.use[]

Каждый элемент массива имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

linkage

да

Data ID Ref или FQID

Ссылка на связь с другой сущностью. Заполняется при задании ссылок на атрибуты связанных сущностей.

link_attributes

нет

массив

Массив атрибутов связи, по которым нужна фильтрация, в формате attribute: <Data ID Ref>.

linkedEntity

да

массив

Массив атрибутов связанной сущности, по которым будет доступна фильтрация, в формате attribute: <Data ID Ref или FQID>.

Привязка правил сортировки к столбцам таблицы (sortingBy)

Путь в схеме: views[].table.sortingBy.columns[]

Поле sortingBy содержит описание сортировки в таблице древовидного представления. Поле включает массив columns с привязкой столбцов таблицы к правилам сортировки, определенным в описании дерева.

Каждый элемент массива имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

column

да

View ID Ref

Столбец, по которому выполняется сортировка.

sorting

да

Data ID Ref

Правило, в соответствии с которым выполняется сортировка.

Количество записей (paging)

Путь в схеме: views[].table.paging

Поле paging содержит настройки количества записей, показываемых в таблице. Поле имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

sizes

да

массив целых положительных чисел.

В этом поле указываются варианты количества записей, доступные для выбора в настройке. Например, [10, 50, 100].

defaultSize

да

целое положительное число

Количество записей, показываемых по умолчанию.

Обновление списка (refresh)

Путь в схеме: views[].table.refresh

Поле refresh содержит настройки обновления записей, показываемых в таблице. Поле имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

mode

да

перечисление

Режим обновления записей. Доступные значения:

  • manual — обновление производится вручную;

  • auto — обновление производится автоматически с заданным интервалом;

  • all — обновление производится вручную и автоматически.

defaults

да

объект

Настройки автообновления. Поле доступно только для настроек фильтров таблиц с типами:

  • all;

  • auto.

Ознакомьтесь с описанием поля defaults.

Автообновление (defaults)

Путь в схеме: views[].table.refresh.defaults

Поле defaults содержит настройки автообновления записей, показываемых в таблице. Используется, если в поле mode установлено значение auto или all. Поле имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

enabled

да

логическое

Переключатель автообновления.

unit

да

перечисление

Единица измерения интервала автообновления. Доступные значения:

  • second — секунды;

  • minute — минуты;

  • hour — часы.

interval

да

целое положительное число

Интервал автообновления в указанных единицах.

Действия в таблице (actions)

Путь в схеме: views[].table.actions[]

Поле actions содержит настройки действий в таблице. Каждый элемент массива имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

type

да

перечисление

Тип действия. Доступные значения:

  • row_click — действие при однократном нажатии на строку.

  • row_double_click — действие при двойном нажатии на строку.

  • row_context_menu — отображение контекстного меню при нажатии правой кнопкой мыши на строку.

action

да (для типов row_click и row_double_click)

View ID Ref

Ссылка на выполняемое действие.

items

да (для row_context_menu)

массив

Массив ссылок на идентификаторы действий в контекстном меню. Максимальное количество записей в массиве: 7.

Доступно только для действия типа row_context_menu.

Ознакомьтесь с описанием поля items.

Действия в контекстном меню (items)

Путь в схеме: views[].table.actions[].items[]

Поле items содержит массив ссылок на идентификаторы действий в контекстном меню. Каждый элемент массива имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

action

да

View ID Ref

Ссылка на идентификатор действия.

icon

нет

строка

Иконка действия в контекстном меню.

label

нет (по умолчанию — значение поля name в описании действия)

строка

Название действия, отображаемое в контекстном меню. Ознакомьтесь с описанием поля label.

Была ли полезна эта страница?

Обратная связь