Представление списка объектов
Этот раздел описывает списочное представление объектов домена.
| Ознакомьтесь с правилами нотации в схеме домена. Это позволит присваивать корректные названия создаваемым элементам схемы. Эти названия будут отображаться в интерфейсе системы. |
Структура поля views
Путь в схеме: views[]
Общие поля представлений
| Поле | Обязательность и значение по умолчанию | Описание | Тип данных |
|---|---|---|---|
|
Да |
Уникальный идентификатор интерфейса. |
View ID |
|
Нет (по умолчанию: пустая строка) |
Наименование, используемое в заголовках. Для полноэкранной карточки поддерживаются форматы: |
строка |
|
Нет (по умолчанию: пустая строка) |
Описание элемента. Не выводится в интерфейсе, но отображается на схеме домена. |
строка |
|
Да |
Тип интерфейса. Устанавливается значение |
перечисление |
Поля списочного представления
Описание представления типа list дополнительно включает поля:
| Поле | Обязательность и значение по умолчанию | Описание | Тип данных |
|---|---|---|---|
|
Нет |
Ссылка на списочное представление, от которого нужно наследовать настройки. Ознакомьтесь с описанием поля |
View ID Ref |
|
Да |
Источник списка объектов. Ознакомьтесь с описанием поля |
объект |
|
Нет (по умолчанию: пустой массив) |
Массив ссылок на виджеты действий, отображаемые на панели действий над списком. Ознакомьтесь с описанием поля |
массив ссылок |
|
Да (если не заполнено поле |
Таблица списка объектов. Доступно для интерфейса списка объектов. Ознакомьтесь с описанием поля |
объект |
Наследование в списочном представлении (inherits)
Путь в схеме: views[].inherits
В поле можно указать идентификатор списка той же сущности или родительской сущности, в том числе из другого домена. Данные поля source не наследуются.
Чтобы переопределить настройки списка, их нужно описать. Если поле не описано, его данные будет наследованы от указанного списка. В зависимости от типа поля применяется следующее поведение:
-
Для полей
actionPanelиtable.columnsможно определить режим наследования с добавлением или удалением настроек. -
Поля
table.sortingBy,table.filterиsource.joinsнаследуются автоматически и могут быть дополнены в текущем представлении. -
Поля
paging,refreshиselectionнаследуются автоматически и могут быть переопределены в текущем представлении.
Пример наследования в списочном представлении
id: ci.example.com
name: Конфигурационная единица
...
entities:
- id: CI
name: Конфигурационная единица
...
# Атрибуты родительской сущности.
attributes:
- id: commonName
name: Наименование
dataType: String
- id: description
name: Описание
dataType: String
...
...
views:
# Списочное представление родительской сущности.
- id: lists_ci
type: list
source:
type: operational
entity: CI
# Панель инструментов родительской сущности.
actionPanel:
- widget: buttons_create
- widget: buttons_change_type
...
table:
# Столбцы в таблице списочного представления родительской сущности.
columns:
- id: commonName
attribute: commonName
...
id: db.example.com
name: База данных
...
entities:
# Дочерняя сущность.
- id: DB
name: База данных
...
# Атрибуты дочерней сущности.
attributes:
- id: dbVersion
name: Версия
dataType: String
...
# Наследование сущности.
inherits: db.example.com/DB
...
views:
# Списочное представление дочерней сущности.
- id: lists_db
type: list
# Наследование списочного представления.
inherits: ci.example.com/lists_ci
source:
type: operational
entity: DB
# Панель инструментов дочерней сущности.
actionPanel:
- inherit:
# Виджеты действий не наследуются.
type: override
- widget: buttons_create
- widget: buttons_removeAll
...
table:
# Столбцы в таблице списочного представления дочерней сущности. i
columns:
# Наследуются все столбцы представления родительской сущности, к которым добавляются собственные столбцы.
- inherit: append
- id: dbVersion
attribute: dbVersion
...
В данном примере сущность База данных наследует сущности Конфигурационная единица из другого домена. В списочном представлении Базы данных отображаются все столбцы Конфигурационной единицы, а также столбцы, определенные в самой сущности. Виджеты на панели инструментов не наследуются и должны быть описаны в схеме домена дочерней сущности.
Источник списка объектов (source)
Путь в схеме: views[].source
Поле source представляет собой параметры источника объектов для списка. Поле имеет следующую структуру:
| Поле | Обязательность и значение по умолчанию | Описание | Тип данных |
|---|---|---|---|
|
Да (по умолчанию: |
Тип источника. Всегда устанавливается значение |
перечисление |
|
Да |
Ссылка на сущность, данные объектов и связей которой отображаются в списке. |
Data ID Ref или FQID |
|
Нет |
Массив записей связей с сущностями, данные которых будут отображаться в списке. Ознакомьтесь с описанием поля joins. |
массив |
Отображение связанных сущностей (joins)
Путь в схеме: views[].source.joins[]
Поле joins представляет собой массив записей связей с сущностями, данные которых будут отображаться в списке. Каждый элемент массива имеет следующую структуру:
| Поле | Обязательность и значение по умолчанию | Описание | Тип данных |
|---|---|---|---|
|
Да |
Идентификатор связи. |
Data ID |
|
Да |
Ссылка на связь с сущностью. |
Data ID Ref |
|
Нет |
Сторона связи. Доступные значения:
|
перечисление |
|
Нет (по умолчанию: пустая строка) |
Описание связи. |
строка |
Панель действий в списочном представлении (actionPanel)
Путь в схеме: views[].actionPanel[]
Блок actionPanel является массивом, который содержит:
Настройки наследования действий в списочном представлении (inherit)
Путь в схеме: views[].actionPanel[].inherit
Поле имеет следующую структуру:
| Поле | Обязательность и значение по умолчанию | Описание | Тип данных |
|---|---|---|---|
|
Нет (по умолчанию: |
Тип наследования. Доступные значения:
|
перечисление |
|
Да (при |
Массив ссылок на виджеты действий, которые не нужно наследовать, в формате |
массив |
Табличное отображение списка объектов (table)
Путь в схеме: views[].table
Блок table содержит настройки табличного отображения сведений о списке объектов.
Если для списочного представления заполнено поле inherits, настройки таблицы будут переопределять настройки родительского представления.
|
Поле имеет следующую структуру:
| Поле | Обязательное поле | Значение по умолчанию | Описание | Тип данных | Комментарий |
|---|---|---|---|---|---|
|
да |
Массив записей с описанием столбцов таблицы. |
массив столбцов таблицы |
Ознакомьтесь с описанием поля |
|
|
нет |
Настройки фильтрации столбцов. |
объект |
Ознакомьтесь с описанием поля |
|
|
нет |
Ссылки на правила сортировки атрибутов сущности. |
объект |
Ознакомьтесь с описанием поля |
|
|
нет |
Пагинация данных. |
объект |
Ознакомьтесь с описанием поля |
|
|
нет |
Обновление данных. |
объект |
Ознакомьтесь с описанием поля |
|
|
нет |
|
Переключатель возможности выбора строки. |
логическое |
|
|
нет |
Пустой массив |
Действие при нажатии на строку таблицы. |
массив действий на события таблицы |
Ознакомьтесь с описанием поля |
|
нет |
Информация, отображаемая в таблице, если данные отсутствуют. Содержит поле |
объект |
Структура columns (в таблице списка объектов)
Путь в схеме: views[].table.columns[]
Блок columns является массивом и содержит:
Порядок записей столбцов в схеме домена определяет последовательность столбцов в таблице. Поля, собранные автоматически, выводятся вместе в том месте, где указано поле automatic.
Пример определения порядка столбцов
table:
columns:
- id: commonName
attribute: commonName
- automatic:
type: all
- id: create
attribute: createdAt
В данном примере в таблице выводится столбец commonName, затем столбцы атрибутов, собранных автоматически, затем столбец create.
Настройки наследования столбцов таблицы (inherit)
Путь в схеме: views[].table.columns[].inherit
Поле имеет следующую структуру:
| Поле | Обязательность и значение по умолчанию | Описание | Тип данных |
|---|---|---|---|
|
Нет (по умолчанию: |
Тип наследования. Доступные значения:
|
перечисление |
|
Да (при |
Массив ссылок на атрибуты, которые не нужно наследовать, в формате |
массив |
Настройки автоматического сбора атрибутов (automatic)
Путь в схеме: views[].table.columns[].automatic
Система может автоматически формировать табличное представление на основе описанных атрибутов сущности.
При автоматизации используются следующие настройки:
-
label: используется значениеlabelатрибута; -
layout: вычисляется автоматически.
Для сортировки можно определить столбцы, по которым она производится.
Поле имеет следующую структуру:
| Поле | Обязательность и значение по умолчанию | Описание | Тип данных |
|---|---|---|---|
|
Да |
Тип автоматизации. Доступные значения:
|
перечисление |
|
Да (при |
Массив ссылок на атрибуты, которые нужно вывести при автоматизации, в формате Поддерживаются атрибуты всех типов, кроме |
массив |
|
Да (при |
Массив ссылок на атрибуты, которые не нужно выводить при автоматизации, в формате Поддерживаются атрибуты всех типов, кроме |
массив |
|
Нет |
Настройки размера и видимости столбцов при автоматизации. Ознакомьтесь с описанием поля |
объект |
Пример наследования и автоматического сбора столбцов
table:
columns:
- inherit:
type: append
- automatic:
type: all
filter:
attributes:
type: all
sortingBy:
columns:
- automatic:
type: all
В данном примере в таблице наследуется список столбцов от представления, указанного в поле inherits, затем к ним добавляются столбцы, перечисленные в описании сущности.
Фильтрация и сортировка происходят по всем столбцам таблицы.
Описание столбца таблицы
Путь в схеме: views[].table.columns[]
Записи столбцов переопределяют и дополняют настройки автоматического сбора, определенные в поле automatic.
|
В столбце таблицы можно отобразить путь от корня дерева до текущего объекта. Для этого в описании столбца указываются:
Поле с путем в дереве не поддерживает сортировку и фильтрацию. |
Запись столбца включает следующие поля:
| Поле | Обязательность и значение по умолчанию | Тип данных | Описание |
|---|---|---|---|
|
да |
View ID |
Идентификатор столбца таблицы. |
|
да |
Data ID Ref или FQID |
Атрибут, значения которого отображаются в столбце. Допустимые значения: |
|
нет |
строка |
Наименование столбца. Если значение не задано, в качестве наименования используется Ознакомьтесь с описанием поля |
|
нет |
объект |
Настройки размера и видимости столбца. Ознакомьтесь с описанием поля |
|
нет |
объект |
Тип редактора в столбце. В этом поле можно изменить используемый по умолчанию тип редактора на другой допустимый тип. Ознакомьтесь с описанием поля |
|
да (для атрибутов связанных сущностей) |
Data ID Ref |
Ссылка на идентификатор связи или соединения с транзитивной связью с сущностью, атрибут которой будет отображаться. Связь должна быть предварительно задана в поле |
|
нет |
Data ID Ref |
Ссылка на правило цветовой схемы счетчика. Доступна, если атрибутом является счетчик. |
|
да (для атрибутов таблиц) |
массив |
Ссылки на атрибуты атрибута-таблицы в формате |
Редактор в столбце списка объектов (control)
Путь в схеме: views[].table.columns[].control
Поле имеет следующую структуру:
| Поле | Обязательность и значение по умолчанию | Тип данных | Описание |
|---|---|---|---|
|
да |
перечисление |
Возможные значения:
|
|
да (при |
Data ID Ref или FQID |
Ссылка на идентификатор дерева. |
|
да (при type: |
строка |
Отображаемая строка для значения |
|
да (при type: |
строка |
Отображаемая строка для значения |
Пример описания столбцов в таблице
trees:
- id: DevicesTree
views:
- id: deviceList
type: list
...
source:
type: operational
entity: Device
joins:
# Массив связей с сущностями, данные которых отображаются в списке.
- id: linkedOffice
linkage: deviceToOffices
...
table:
columns:
# Идентификатор столбца.
- id: UUID
# Атрибут столбца.
attribute: UUID_field
...
- id: Description
attribute: description_field
control:
# Переопределенный тип редактора -- text_area вместо text по умолчанию.
type: text_area
- id: Table
attribute: table_field
use:
# Массив атрибутов атрибута-таблицы.
- attribute: WorkflowInTable
control:
type: level
- id: Boolean
attribute: fieldBoolean
control:
type: bool_text
trueText: "value is true"
falseText: "value is false!"
- id: officeAddress
# Ссылка на идентификатор связи с сущностью.
join: linkedOffice
# Атрибут связанной сущности.
attribute: address
# Столбцы системных атрибутов.
- id: entityId
attribute: entityId
label: Идентификатор сущности
- id: entityName
attribute: entityName
# Столбец с отображением пути.
- id: treePath
attribute: id
control:
type: tree_path
# Ссылка на дерево.
tree: domain.com/DevicesTree
Настройки размера и видимости столбца (layout)
Путь в схеме:
-
views[].table.columns[].layout -
views[].table.columns[].automatic.layout
Поле layout содержит настройки размера и видимости. Поле имеет следующую структуру:
| Поле | Обязательное поле | Значение по умолчанию | Описание | Тип данных | Комментарий |
|---|---|---|---|---|---|
|
нет |
|
Видимость столбца. |
строка |
В этом поле доступны следующие значения:
|
|
нет |
Ширина столбца в пикселях. |
объект |
Ознакомьтесь с описанием поля |
Схема использования столбца
table:
columns:
# Идентификатор столбца.
- id:
# Атрибут столбца.
attribute:
# Тип данных в столбце.
type
# Массив настроек столбца.
layout:
# Параметр видимости столбца.
visible:
# Ширина столбца (по умолчанию, минимальная, максимальная).
width:
default:
min:
max:
Настройки ширины столбца (width)
Путь в схеме: views[].table.columns[].layout.width
Поле width содержит настройки ширины столбца. Поле имеет следующую структуру:
| Поле | Обязательное поле | Значение по умолчанию | Описание | Тип данных |
|---|---|---|---|---|
|
да |
Ширина столбца по умолчанию, в пикселях. |
целое положительное число |
|
|
да |
Минимальная ширина столбца в пикселях. |
целое положительное число |
|
|
да |
Максимальная ширина столбца в пикселях. |
целое положительное число |
Фильтрация списка (filter)
Путь в схеме: views[].table.filter
Данные, по которым осуществляется фильтрация, должны быть описаны в настройках фильтрации. Фильтрация по этим данным в системе доступна независимо от того, отображаются ли они в интерфейсе списка объектов — таблице.
Фильтровать данные можно:
-
по атрибутам сущности;
-
по лейблу и атрибутам связанного объекта, в том числе из других доменов.
-
по атрибутам связи, в том числе из других доменов.
Фильтрация по атрибутам связанного объекта невозможна, если связь установлена через атрибут типа Reference.
|
Для ссылки на атрибут в настройках фильтрации используйте значение поля id в описании атрибута сущности.
|
Поле filter содержит настройки фильтрации столбцов таблицы. Поле имеет следующую структуру:
| Поле | Обязательное поле | Значение по умолчанию | Описание | Тип данных | Комментарий |
|---|---|---|---|---|---|
|
нет |
Массив ссылок на атрибуты сущности, по которым производится фильтрация. |
Ознакомьтесь с описанием поля |
||
|
нет |
Массив ссылок на связи сущности, по которым производится фильтрация. |
Ознакомьтесь с описанием поля |
Схема фильтрации по отдельным атрибутам и связям
table:
# Поле фильтрации.
filter:
# Тип фильтрации по отдельным атрибутам, перечисленным в поле use.
attributes:
type: specific
use:
- attribute: <attribute_1>
- attribute: <attribute_2>
...
# Фильтрация по атрибутам атрибута-таблицы.
- attribute: <table_attribute>
use:
- attribute: <table_attribute_1>
- attribute: <table_attribute_2>
...
# Тип фильтрации по отдельным связям, перечисленным в поле use.
linkages:
type: specific
use:
# Ссылка на связь с сущностью.
- linkage: <entity_1>
link_attributes:
# Атрибуты связи, по которым будет производиться фильтрация.
- <link_attribute_1>
- <link_attribute_2>
...
linkedEntity:
# Ссылки на атрибуты связанной сущности, по которым будет производиться фильтрация.
- attribute: <attribute_3>
- attribute: <attribute_4>
...
- linkage: <entity_2>
...
Атрибуты для фильтрации списка (attributes)
Путь в схеме: views[].table.filter.attributes
Поле attributes содержит ссылки на атрибуты сущности и связанных сущностей, по которым производится фильтрация. Поле имеет следующую структуру:
| Поле | Обязательное поля | Описание | Тип данных |
|---|---|---|---|
|
да |
тип фильтрации. Доступные значения:
|
перечисление |
|
да (при |
Массив ссылок на атрибуты, по которым производится фильтрация. Ознакомьтесь с описанием поля |
массив |
Перечень атрибутов для фильтрации (use)
Путь в схеме: views[].table.filter.attributes.use[]
Каждый элемент массива имеет следующую структуру:
| Поле | Обязательность и значение по умолчанию | Тип данных | Описание |
|---|---|---|---|
|
да |
Data ID Ref |
Ссылка на атрибут. |
|
да (для атрибутов типа Таблица) |
массив |
Атрибуты атрибута-таблицы. Содержит массив полей |
Связи для фильтрации (linkages)
Путь в схеме: views[].table.linkages
Поле linkages используется:
-
для задания ссылок на связи сущности, по которым производится фильтрация;
-
для задания атрибутов связанных сущностей, по которым производится фильтрация.
Поле имеет следующую структуру:
| Поле | Обязательное поле | Значение по умолчанию | Описание | Тип данных | Комментарий |
|---|---|---|---|---|---|
|
да (при ссылках на связи) |
Тип фильтрации. |
Заполняется при задании ссылок на связи сущности. Можно указать следующие типы фильтрации:
|
||
|
да (при ссылках на связи) |
Массив ссылок на связи, по которым производится фильтрация. |
Перечень связей для фильтрации (use)
Путь в схеме: views[].table.filter.linkages.use[]
Каждый элемент массива имеет следующую структуру:
| Поле | Обязательность и значение по умолчанию | Тип данных | Описание |
|---|---|---|---|
|
да |
Data ID Ref или FQID |
Ссылка на связь с другой сущностью. Заполняется при задании ссылок на атрибуты связи или связанной сущности. |
|
да |
Data ID Ref |
Ссылка на соединение с транзитивной связью. Заполняется при задании атрибута транзитивной связи или связанной сущности. |
|
нет |
массив |
Массив атрибутов связи, по которым нужна фильтрация, в формате |
|
да |
массив |
Массив атрибутов связанной сущности, по которым будет доступна фильтрация, в формате |
Сортировка списка (sortingBy)
Путь в схеме: views[].table.sortingBy
Поле sortingBy содержит описание сортировки в столбцах таблицы. Поле имеет следующую структуру:
| Поле | Обязательность и значение по умолчанию | Тип данных | Описание |
|---|---|---|---|
|
да |
массив |
Массив записей столбцов, для которых возможна сортировка в таблице. Ознакомьтесь с описанием поля |
|
нет |
объект |
Столбец и направление для сортировки по умолчанию. Ознакомьтесь с описанием поля |
Привязка правил сортировки к столбцам таблицы (columns)
Путь в схеме: views[].table.sortingBy.columns[]
Блок columns является массивом и содержит:
Сортировка автоматически собранных атрибутов (automatic)
Путь в схеме: views[].table.sortingBy.columns[].automatic
При автоматическом сборе атрибутов используются правила сортировки, определенные для атрибутов в схеме домена. Если правило для атрибута не определено, используется автоматическая сортировка по убыванию для всех типов, кроме Table и Array.
Поле имеет следующую структуру:
| Поле | Обязательное поле | Описание | Тип данных |
|---|---|---|---|
|
Да |
Тип автоматической сортировки. Доступные значения:
|
перечисление |
|
Да (при |
Массив ссылок на атрибуты, по которым нужно сортировать таблицу, в формате Поддерживаются атрибуты всех типов, кроме |
массив |
|
Да (при |
Массив ссылок на атрибуты, по которым не нужно сортировать таблицу, в формате |
массив |
Привязка столбца к правилу сортировки
Путь в схеме: views[].table.sortingBy.columns[]
Поле имеет следующую структуру:
| Поле | Обязательное поле | Описание | Тип данных |
|---|---|---|---|
|
Да |
Столбец, по которому выполняется сортировка |
View ID Ref |
|
Да |
Правило, в соответствии с которым выполняется сортировка. |
Data ID Ref |
Сортировка по умолчанию (defaults)
Путь в схеме: views[].table.sortingBy.defaults
Поле имеет следующую структуру:
| Поле | Обязательность и значение по умолчанию | Тип данных | Описание |
|---|---|---|---|
|
да |
View ID Ref |
Ссылка на столбец для сортировки по умолчанию. |
|
да |
перечисление |
Направление сортировки:
* |
Количество записей (paging)
Путь в схеме: views[].table.paging
Поле paging содержит настройки количества записей, показываемых в таблице. Поле имеет следующую структуру:
| Поле | Обязательное поле | Значение по умолчанию | Описание | Тип данных | Комментарий |
|---|---|---|---|---|---|
|
да |
Количество записей, показываемых в таблице. |
массив целых положительных чисел |
В этом поле указываются варианты количества записей, доступные для выбора в настройке. Например, |
|
|
да |
Количество записей, показываемых по умолчанию. |
целое положительное число |
Обновление списка (refresh)
Путь в схеме: views[].table.refresh
Поле refresh содержит настройки обновления записей, показываемых в таблице. Поле имеет следующую структуру:
| Поле | Обязательное поле | Значение по умолчанию | Описание | Тип данных | Комментарий |
|---|---|---|---|---|---|
|
да |
Режимы обновления. |
перечисление |
В этом поле указываются режимы обновления записей:
|
|
|
да |
Настройки автообновления. |
объект |
Поле доступно только для настроек фильтров таблиц с типами:
Ознакомьтесь с описанием поля |
Автообновление (defaults)
Путь в схеме: views[].table.refresh.defaults
Поле defaults содержит настройки автообновления записей, показываемых в таблице. Используется, если в поле mode установлено значение auto или all. Поле имеет следующую структуру:
| Поле | Описание | Тип данных | Комментарий |
|---|---|---|---|
|
Включение и выключение автообновления. |
булево |
|
|
Единица измерения интервала автообновления. |
перечисление |
Доступные значения:
|
|
Количество единиц измерения интервала автообновления. |
целое положительное число |
Действия в таблице (actions)
Путь в схеме: views[].table.actions[]
Поле actions содержит настройки действий в таблице. Каждый элемент массива имеет следующую структуру:
| Поле | Описание | Тип данных | Комментарий |
|---|---|---|---|
|
Тип действия. |
строка |
Доступные значения:
|
|
Ссылка на идентификатор действия. |
строка |
Доступно только для действия типа |
|
Массив ссылок на идентификаторы действий в контекстном меню. |
строка |
Максимальное количество записей в массиве: 7. Доступно только для действия типа Ознакомьтесь с описанием поля |
Действия в контекстном меню (items)
Путь в схеме: views[].table.actions[].items[]
Поле items содержит массив ссылок на идентификаторы действий в контекстном меню. Каждый элемент массива имеет следующую структуру:
| Поле | Описание | Тип данных | Комментарий |
|---|---|---|---|
|
Действие. |
Ссылка на идентификатор действия |
|
|
Название действия, отображаемое в контекстном меню. |
строка |
Если значение поля не задано, отображается значение поля |
|
Иконка действия в контекстном меню. |
Ссылка на идентификатор иконки |
Была ли полезна эта страница?