Создание схемы домена со связями и ссылками
В этом руководстве мы расширим базовую схему домена, созданную ранее в статье Создание базовой схемы домена. Теперь мы добавим в домен еще две сущности, настроим ссылки и связи между сущностями, а также отображение связей и ссылок в интерфейсе.
О ссылках и связях в схеме домена
Для моделирования сложных систем с разными типами объектов вам может понадобиться несколько сущностей в одном домене. Чтобы отразить отношения между объектами, используйте ссылки и связи сущностей:
-
Ссылка задается атрибутом сущности с типом
Referenceи хранит идентификатор объекта другой сущности. Можно также задать атрибут типаArray— массив, элементами которого являются атрибутыReference:-
Связанные объекты отображаются в компактном представлении объекта как теги. Нажав на тег, можно перейти к компактному представлению объекта по ссылке.
-
Список объектов можно фильтровать по значению этого атрибута, но не по атрибутам объекта по ссылке.
-
-
Связь — это отдельный элемент схемы, описывающий отношения между сущностями:
-
Связанные объекты отображаются в компактном представлении объекта в редакторе связей — компактного, в виде списка тегов, либо расширенного, в виде таблицы.
-
Список объектов можно фильтровать как по атрибутам самой связи, так и по атрибутам связанного объекта.
-
Таким образом, атрибут-ссылка хранит только идентификатор объекта и лишь указывает на объект. Связь же описывает отношения сами по себе и может иметь собственные атрибуты.
Настройка ссылок на объекты
Чтобы настроить создание и просмотр ссылки на объект, нужно:
-
Создать описание сущности, на которую ссылается объект.
-
Добавить атрибут, содержащий ссылку на новую сущность.
Создание сущности Источник индикатора
Добавим новую сущность Источник индикатора (IocSource) в поле entities:
entities:
...
# Сущность Источник индикатора
- id: IocSource
name: Источник индикатора
# Шаблон со ссылкой на атрибут названия, описанный далее.
label: "{sourceName}"
description: Источник индикатора компрометации
Настройка атрибутов источника
Сущность будет иметь следующие атрибуты:
-
sourceName— название источника; -
sourceDescription— описание.
Опишем их в поле attributes:
entities:
...
# Сущность Источник индикатора.
- id: IocSource
...
attributes:
- id: sourceName
name: Название
description: Название источника индикатора
# Тип - строка.
dataType: String
- id: sourceDescription
name: Описание
description: Описание источника индикатора
# Тип - строка.
dataType: String
Настройка действий с источником
Опишем в поле actions базовые действия с объектом: создание, просмотр и удаление.
actions:
...
# Действия с источником индикатора.
- id: actions_createIocSource
name: Добавить
type: open_modal
# Ссылка на модальное окно, которое будет описано в поле views.
modal: forms_newIocSource
operation: create
# Ссылка на сущность Источника индикатора.
entity: IocSource
description: Открыть модальное окно создания источника
- id: actions_openIocSourcePanel
name: Детали
type: open_panel
# Ссылка на панель, которая будет описана в поле views.
panel: panels_infoIocSource
entity: IocSource
description: Открыть панель с информацией
- id: actions_bulkRemoveIocSources
name: Удалить
type: bulk
# Ссылка на сущность Источника индикатора.
entity: IocSource
operation: remove
description: Удалить индикаторы
Настройка представления объекта источника
Создадим в поле views представление объекта источника:
views:
...
# Представление Источника индикатора.
- id: viewIocSource
type: entity
# Ссылка на сущность Источник индикатора.
entity: IocSource
widgets:
# Виджеты атрибутов.
- id: editors_iocSourceName
type: attribute
# Ссылка на атрибут названия.
attribute: sourceName
description: Поле для ввода названия источника
- id: editors_iocSourceDescription
type: attribute
# Ссылка на атрибут значения.
attribute: sourceDescription
description: Поле для ввода описания источника
# Виджеты действий.
- id: buttons_createIocSource
type: action
# Ссылка на действие.
action: actions_createIocSource
description: Кнопка, которая запускает действие создания источника. Действие открывает модальную форму создания записи.
control:
type: regular_button
label: Добавить
- id: buttons_removeIocSources
type: action
# Ссылка на действие удаления.
action: actions_bulkRemoveIocSources
description: Кнопка для удаления источников индикаторов
control:
type: regular_button
label: Удалить
groups:
# Группа блока Форма создания.
- id: blocks_forms_newIocSource
description: Блок формы для создания источника индикатора
type: form
layout:
direction: column
components:
# Ссылки на виджеты атрибутов Источника индикатора.
- widget: editors_iocSourceName
- widget: editors_iocSourceDescription
# Группа Блока информации.
- id: blocks_infoIocSource
description: Информация об источнике индикатора
type: block
layout:
direction: column
components:
# Ссылки на виджеты атрибутов Источника индикатора.
- widget: editors_iocSourceName
- widget: editors_iocSourceDescription
# Группа Вкладки информации.
- id: tabs_infoIocSource
description: Информация об источнике индикатора
type: tab
label: Детали
components:
# Ссылка на Блок информации.
- block: blocks_infoIocSource
views:
# Модальное окно с формой создания.
- id: forms_newIocSource
description: Форма создания источника индикатора
type: modal
# Ссылка на группу Формы создания.
form: blocks_forms_newIocSource
label: Добавление индикатора
# Панель просмотра.
- id: panels_infoIocSource
description: Детали источника индикатора
type: panel
# Шаблон для подстановки значений атрибутов.
label: "Источник {sourceName}"
tabs:
# Ссылка на вкладку Информации.
- tab: tabs_infoIocSource
...
Настройка представления списка источников
Создадим в поле views представление списка источников:
views:
...
# Представление Списка источников.
- id: lists_iocSources
type: list
source:
type: operational
# Ссылка на сущность Источник индикатора.
entity: IocSource
label: Источники индикаторов
# Таблица со списком.
table:
# Столбцы таблицы.
columns:
- id: name
# Ссылка на атрибут названия
attribute: sourceName
label: Название
layout:
width:
default: 100
min: 50
max: 100
- id: description
# Ссылка на атрибут описания.
attribute: sourceDescription
label: Описание
layout:
width:
default: 100
min: 50
max: 150
# Действия в таблице.
actions:
- type: row_click
# Ссылка на действие открытия панели просмотра.
action: actions_openIocSourcePanel
# Выбор объектов в таблице разрешен.
selection: true
# Панель действий.
actionPanel:
# Ссылка на кнопку создания источника.
- widget: buttons_createIocSource
# Ссылка на кнопку удаления источников.
- widget: buttons_removeIocSources
Настройка пункта меню
Создадим пункт со списком индикаторов в поле menus:
menus:
- id: menus_iocs
...
items:
...
# Идентификатор записи элемента меню для нового подраздела
- id: IocSourceMenu
# Компонент адреса, относящийся к подразделу сущности в домене
route: /iocs/sources
# Название пункта меню для подраздела Источники.
label: Источники
# Тип - пункт меню.
type: menu
# Ссылка на представление Списка источников.
view: lists_iocSources
# Описание пункта меню.
description: Меню раздела Источники
Добавление массива атрибутов типа Reference
Создадим атрибут с типом Array в описании сущности Индикатор. Элементы массива будут иметь тип Reference и ссылаться на сущность Источник индикатора.
Array с элементами типа Referenceentities:
# Сущность Индикатор.
- id: Ioc
...
attributes:
...
- id: refIocSourcesArray
name: Источник индикатора
dataType: Array
item:
dataType: Reference
# Ссылка на сущность Источник индикатора.
entity: IocSource
...
Настройка виджета атрибута
Создадим виджет атрибута со ссылками и добавим его в панель и модельное окно сущности Индикатор:
views:
# Представление Индикатор.
- id: viewIoc
...
widgets:
...
- id: editors_iocSource
type: attribute
# Ссылка на атрибут Array с элементами Reference.
attribute: refIocSourcesArray
description: Поле для выбора источников индикатора
...
groups:
# Группа Блок формы создания Индикатора.
- id: blocks_forms_newIoc
...
components:
...
# Ссылка на виджет атрибута Array с элементами Reference.
- widget: editors_iocSource
...
# Группа Блок информации об индикаторе.
- id: blocks_infoIoc
...
components:
...
# Ссылка на виджет атрибута Array с элементами Reference.
- widget: editors_iocSource
...
...
Настройка связи между объектами
Чтобы настроить создание и просмотр связей, нужно:
-
Описать связи сущностей в домене.
Создание сущности Инцидент
Добавим новую сущность Инцидент (Incident) в поле entities:
entities:
...
# Сущность Инцидент
- id: Incident
name: Инцидент
# Шаблон со ссылкой на атрибут темы описанный далее.
label: "{incidentSubject}"
...
Настройка атрибутов инцидентов
Сущность Инцидент имеет следующие атрибуты:
-
incidentSubject— тема; -
incidentDescription— описание; -
Urgency— срочность.
Опишем их в поле attributes:
entities:
...
# Сущность Инцидент.
- id: Incident
...
attributes:
- id: incidentSubject
name: Тема
dataType: String
- id: incidentDescription
name: Описание
dataType: String
- id: Urgency
name: Срочность
# Ссылка на пользовательский тип данных.
dataType: IncUrgency
dataTypes:
...
# Перечисление уровней критичности.
- id: IncUrgency
name: Критичность
description: Критичность
dataType: Enum
values:
- id: criticalityHigh
name: Высокая
value: 1
- id: criticalityMedium
name: Средняя
value: 2
- id: criticalityLow
name: Низкая
value: 3
Настройка действий с инцидентом
Опишем в поле actions действия с объектом: создание, просмотр и удаление.
actions:
...
# Действия с источником индикатора.
- id: actions_createIncident
name: Добавить
type: open_modal
# Ссылка на модальное окно, которое будет описано в поле views.
modal: forms_newIncident
operation: create
# Ссылка на сущность Инцидент.
entity: Incident
description: Открыть модальное окно создания инцидента
- id: actions_openIncidentPanel
name: Детали
type: open_panel
# Ссылка на панель, которая будет описана в поле views.
panel: panels_infoIncident
entity: Incident
description: Открыть панель с информацией об инциденте
- id: actions_bulkRemoveIncidents
name: Удалить
type: bulk
# Ссылка на сущность Инцидента.
entity: Incident
operation: remove
description: Удалить инциденты
Настройка представления объекта инцидента
Создадим в поле views представление объекта инцидента:
views:
...
# Представление Инцидента.
- id: viewIncident
type: entity
# Ссылка на сущность Инцидента.
entity: Incident
widgets:
# Виджеты атрибутов.
- id: editors_incidentSubject
type: attribute
# Ссылка на атрибут темы.
attribute: incidentSubject
description: Поле для темы
- id: editors_incidentDescription
type: attribute
# Ссылка на атрибут описания.
attribute: incidentDescription
description: Поле для описания
- id: editors_Author
type: attribute
# Ссылка на системный атрибут создателя.
attribute: createdBy
description: Поле для указания автора инцидента
- id: editors_Opened
type: attribute
# Ссылка на системный атрибут даты создания.
attribute: createdAt
description: Поле для указания даты создания инцидента
- id: editors_Urgency
type: attribute
# Ссылка на атрибут срочности.
attribute: Urgency
description: Поле для указания срочности
# Виджеты действий.
- id: buttons_createIncident
type: action
# Ссылка на действие.
action: actions_createIncident
description: Кнопка, которая запускает действие создания инцидента. Действие открывает модальную форму создания записи.
control:
type: regular_button
label: Добавить
- id: buttons_removeIncidents
type: action
# Ссылка на действие удаления.
action: actions_bulkRemoveIncidents
description: Кнопка для удаления инцидентов
control:
type: regular_button
label: Удалить
groups:
# Группа блока Форма создания.
- id: blocks_forms_newIncident
description: Блок формы для создания инцидента
type: form
layout:
direction: column
components:
# Ссылки на виджеты атрибутов Инцидента
- widget: editors_incidentSubject
- widget: editors_incidentDescription
- widget: editors_Urgency
# Группа Блока информации.
- id: blocks_infoIncident
description: Информация об инциденте
type: block
layout:
direction: column
components:
# Ссылки на виджеты атрибутов Инцидента.
- widget: editors_incidentSubject
- widget: editors_incidentDescription
- widget: editors_Urgency
- widget: editors_Author
- widget: editors_Opened
# Группа Вкладки информации.
- id: tabs_infoIncident
description: Информация об инциденте
type: tab
label: Детали
components:
# Ссылка на Блок информации.
- block: blocks_infoIncident
views:
# Модальное окно с формой создания.
- id: forms_newIncident
description: Форма создания инцидента
type: modal
# Ссылка на группу Формы создания.
form: blocks_forms_newIncident
label: Добавление инцидента
# Панель просмотра.
- id: panels_infoIncident
description: Детали источника индикатора
type: panel
# Шаблон для подстановки значений номера.
label: "{incidentSubject}"
tabs:
# Ссылка на вкладку Информации.
- tab: tabs_infoIncident
...
Настройка представления списка инцидентов
Создадим в поле views представление списка инцидентов:
views:
...
# Представление Списка инцидентов.
- id: lists_Incidents
type: list
source:
type: operational
# Ссылка на сущность Инцидент.
entity: Incident
label: Источники индикаторов
table:
columns:
# Ссылка на атрибут темы.
- id: incidentSubject
attribute: incidentSubject
label: Тема
layout:
width:
default: 100
min: 100
max: 150
# Ссылка на атрибут описания.
- id: incidentDescription
attribute: incidentDescription
label: Описание
layout:
width:
default: 200
min: 200
max: 250
# Ссылка на системный атрибут даты создания.
- id: Opened
attribute: createdAt
label: Дата регистрации
layout:
width:
default: 100
min: 100
max: 150
# Ссылка на атрибут срочности.
- id: Urgency
attribute: Urgency
label: Срочность
layout:
width:
default: 100
min: 100
max: 150
# Ссылка на системный атрибут создателя.
- id: Author
attribute: createdBy
label: Автор
layout:
width:
default: 100
min: 100
max: 150
actions:
- type: row_click
# Ссылка на действие открытия панели просмотра.
action: actions_openIncidentPanel
selection: true
actionPanel:
- widget: buttons_createIncident
- widget: buttons_removeIncidents
Настройка пункта меню
Создадим пункт со списком инцидентов в поле menus:
menus:
- id: menus_iocs
...
items:
...
- id: IncidentMenu
route: /iocs/incidents
label: Инциденты
type: menu
# Ссылка на представление Списка инцидентов.
view: lists_Incidents
description: Меню раздела Инциденты.
Создание связи между сущностями Индикатор и Инцидент
Создадим связь, которая позволит соединять индикаторы компрометации с инцидентами.
Линейные связи различаются по следующим параметрам:
-
Сила связи: какое количество объектов может быть с каждой стороны связи. По этому параметру выделяют связи "один — к одному", "один — ко многим" и "многие — ко многим". Индикатор компрометации может быть связан с несколькими инцидентами, а инцидент содержать разные индикаторы, поэтому здесь подходит связь "многие — ко многим".
-
Направленность связи: есть ли строго заданное направление связи. В данном случае связь ненаправленная.
Заполните следующие поля в поле linkages:
-
id: уникальный идентификатор связи; -
name(опционально): название связи; -
description(опционально): описание связи; -
side1: левая сторона связи — сущность, от которой идет связь; -
side2: правая сторона связи — сущность, к которой идет связь -
type: сила связи, укажитеn_n; -
undirected: направленность, укажитеtrue; -
nameFrom: глагольное описание связей для обеих сторон;-
side1: для левой стороны; -
side2: для правой стороны.
-
linkages:
- id: Incident_Ioc
name: Инцидент связан с индикатором компрометации
description: В данных инцидента обнаружен индикатор компрометации
# Ссылка на сущность Инцидент.
side1: Incident
# Ссылка на сущность Индикатор компрометации.
side2: Ioc
type: n_n
undirected: true
nameFrom:
side1: Содержит индикатор
side2: Связан с инцидентом
Настройка виджета связи
Создадим в компактном представлении индикатора виджет для просмотра и добавления связанных инцидентов. Заполните следующие поля в описании виджета:
-
id: уникальный идентификатор виджета; -
type: тип виджета, укажитеlinkage; -
linkage: ссылка на идентификатор связи; -
label(опционально): отображаемое название виджета; -
description(опционально): описание; -
side: отображаемая сторона связи; -
control: элемент управления:-
type: тип элемента. Для более удобного управления рекомендуется указать типtable— таблица. -
addLinksView: отображаемое в виджете представление; -
columns(для типаtable): список столбцов таблицы:-
id— идентификатор столбца; -
attribute— ссылка на атрибут связанного объекта.
-
-
views:
# Представление Индикатора.
- id: viewIoc
widgets:
...
- id: editors_link_Ioc_Incident
type: linkage
linkage: Incident_Ioc
label: Инциденты
description: Связанные инциденты
side: 1
control:
type: table
# Ссылка на представление Списка инцидентов
addLinksView: lists_Incidents
columns:
- id: incidentSubject
# Ссылка на атрибут связанного объекта.
attribute: incidentSubject
groups:
# Группа Блок формы создания Индикатора.
- id: blocks_forms_newIoc
...
components:
...
# Ссылка на виджет связи.
- widget: editors_link_Ioc_Incident
...
# Группа Блока информации.
- id: blocks_infoIoc
...
components:
...
# Ссылка на виджет связи.
- widget: editors_link_Ioc_Incident
Пример схемы домена
Пример схемы со связями и ссылками
id: iocs.test
type: domain
version: 0.0.2
name: IOCs Domain
description: Домен индикаторов компрометации
status: test
date: 2025-08-01
author: John Doe
tags: [iocs]
entities:
- id: Ioc
name: Индикатор
label: "{type}: {value}"
description: Индикатор компрометации
attributes:
- id: value
name: Значение
description: Значение индикатора компрометации
dataType: String
- id: type
name: Тип
description: Тип индикатора компрометации
dataType: enumIocTypes
- id: refIocSourcesArray
name: Источник индикатора
dataType: Array
item:
dataType: Reference
# Ссылка на сущность Источник индикатора.
entity: IocSource
- id: IocSource
name: Источник индикатора
label: "{sourceName}"
description: Источник индикатора компрометации
attributes:
- id: sourceName
name: Название
description: Название источника индикатора
dataType: String
- id: sourceDescription
name: Описание
description: Описание источника индикатора
dataType: String
- id: Incident
name: Инцидент
label: "{incidentSubject}"
attributes:
- id: incidentSubject
name: Тема
dataType: String
- id: incidentDescription
name: Описание
dataType: String
- id: Urgency
name: Срочность
dataType: IncUrgency
dataTypes:
- id: enumIocTypes
name: Типы индикаторов компрометации
dataType: Enum
values:
- id: Account
name: Аккаунт
- id: File
name: Файл
- id: Domain
name: Домен
- id: URL
name: URL
- id: Email
name: Email
- id: IP
name: IP
- id: IPv6
name: IPv6
- id: MD5Hash
name: Хэш MD5
- id: SHA1Hash
name: Хэш SHA-1
- id: SHA256Hash
name: Хэш SHA-256
- id: IncUrgency
name: Критичность
description: Критичность
dataType: Enum
values:
- id: criticalityHigh
name: Высокая
value: 1
- id: criticalityMedium
name: Средняя
value: 2
- id: criticalityLow
name: Низкая
value: 3
linkages:
- id: Incident_Ioc
name: Инцидент связан с индикатором компрометации
description: В данных инцидента обнаружен индикатор компрометации
side1: Incident
side2: Ioc
type: n_n
undirected: true
nameFrom:
side1: Содержит индикатор
side2: Связан с инцидентом
menus:
- id: menus_iocs
route: /iocs
label: "Индикаторы компрометации"
type: root_group
description: Меню домена Индикаторы
placement: top
items:
- id: IndicatorsMenu
route: /iocs/indicators
label: Индикаторы компрометации
type: menu
view: lists_iocs
description: Меню раздела Индикаторы.
- id: IocSourceMenu
route: /iocs/sources
label: Источники
type: menu
view: lists_iocSources
description: Меню раздела Источники
- id: IncidentMenu
route: /iocs/incidents
label: Инциденты
type: menu
view: lists_Incidents
description: Меню раздела Инциденты.
actions:
- id: actions_createIoc
name: Добавить
type: open_modal
modal: forms_newIoc
entity: Ioc
operation: create
description: Открыть модальное окно создания индикатора
- id: actions_openIocPanel
name: Детали
type: open_panel
panel: panels_infoIoc
entity: Ioc
description: Открыть панель с информацией об индикаторе
- id: actions_bulkRemoveIocs
name: Удалить
type: bulk
entity: Ioc
operation: remove
description: Удалить индикатор
- id: actions_createIocSource
name: Добавить
type: open_modal
modal: forms_newIocSource
operation: create
entity: IocSource
description: Открыть модальное окно создания источника
- id: actions_openIocSourcePanel
name: Детали
type: open_panel
panel: panels_infoIocSource
entity: IocSource
description: Открыть панель с информацией об индикаторе
- id: actions_bulkRemoveIocSources
name: Удалить
type: bulk
entity: IocSource
operation: remove
description: Удалить индикаторы
- id: actions_createIncident
name: Добавить
type: open_modal
modal: forms_newIncident
operation: create
entity: Incident
description: Открыть модальное окно создания инцидента
- id: actions_openIncidentPanel
name: Детали
type: open_panel
panel: panels_infoIncident
entity: Incident
description: Открыть панель с информацией об инциденте
- id: actions_bulkRemoveIncidents
name: Удалить
type: bulk
entity: Incident
operation: remove
description: Удалить инциденты
views:
- id: viewIoc
type: entity
entity: Ioc
widgets:
- id: editors_iocType
type: attribute
attribute: type
description: Поле для ввода типа индикатора
- id: editors_iocValue
type: attribute
attribute: value
description: Поле для ввода значения индикатора
- id: editors_iocSource
type: attribute
attribute: refIocSourcesArray
description: Поле для выбора источников индикатора
- id: buttons_createIoc
type: action
action: actions_createIoc
description: Кнопка, которая запускает действие создания индикатора. Действие открывает модальную форму создания записи.
control:
type: regular_button
label: Добавить
- id: buttons_removeIocs
type: action
action: actions_bulkRemoveIocs
description: Кнопка для удаления индикаторов
control:
type: regular_button
label: Удалить
- id: editors_link_Ioc_Incident
type: linkage
linkage: Incident_Ioc
label: Инциденты
description: Связанные инциденты
side: 1
control:
type: table
addLinksView: lists_Incidents
columns:
- id: incidentSubject
attribute: incidentSubject
groups:
- id: blocks_infoIoc
description: Информация об индикаторе
type: block
layout:
direction: column
expandable: false
components:
- widget: editors_iocType
- widget: editors_iocValue
- widget: editors_iocSource
- widget: editors_link_Ioc_Incident
- id: tabs_infoIoc
description: Информация об индикаторе
type: tab
label: Детали
components:
- block: blocks_infoIoc
- id: blocks_forms_newIoc
description: Блок формы для создания индикатора
type: form
layout:
direction: column
components:
- widget: editors_iocType
- widget: editors_iocValue
- widget: editors_iocSource
- widget: editors_link_Ioc_Incident
views:
- id: panels_infoIoc
description: Детали индикатора
type: panel
label: "Ioc {type}: {value}"
tabs:
- tab: tabs_infoIoc
- id: forms_newIoc
description: Форма создания индикатора
type: modal
form: blocks_forms_newIoc
label: Добавление индикатора
- id: lists_iocs
type: list
source:
type: operational
entity: Ioc
label: Индикаторы компрометации
actionPanel:
- widget: buttons_createIoc
- widget: buttons_removeIocs
table:
columns:
- id: type
attribute: type
label: Тип
layout:
width:
default: 100
min: 50
max: 100
- id: value
attribute: value
label: Значение
layout:
width:
default: 100
min: 50
max: 150
- id: createdAt
attribute: createdAt
label: Дата создания
type: timestamp
layout:
width:
default: 100
min: 50
max: 100
- id: updatedAt
attribute: updatedAt
label: Дата изменения
type: timestamp
layout:
width:
default: 100
min: 50
max: 100
actions:
- type: row_click
action: actions_openIocPanel
selection: true
- id: viewIocSource
type: entity
entity: IocSource
widgets:
- id: editors_iocSourceName
type: attribute
attribute: sourceName
description: Поле для ввода названия источника
- id: editors_iocSourceDescription
type: attribute
attribute: sourceDescription
description: Поле для ввода описания источника
- id: buttons_createIocSource
type: action
action: actions_createIocSource
description: Кнопка, которая запускает действие создания источника. Действие открывает модальную форму создания записи.
control:
type: regular_button
label: Добавить
- id: buttons_removeIocSources
type: action
action: actions_bulkRemoveIocSources
description: Кнопка для удаления источников индикаторов
control:
type: regular_button
label: Удалить
groups:
- id: blocks_forms_newIocSource
description: Блок формы для создания источника индикатора
type: form
layout:
direction: column
components:
- widget: editors_iocSourceName
- widget: editors_iocSourceDescription
- id: blocks_infoIocSource
description: Информация об источнике индикатора
type: block
layout:
direction: column
components:
# Ссылки на виджеты атрибутов Источника индикатора.
- widget: editors_iocSourceName
- widget: editors_iocSourceDescription
- id: tabs_infoIocSource
description: Информация об источнике индикатора
type: tab
label: Детали
components:
- block: blocks_infoIocSource
views:
- id: forms_newIocSource
description: Форма создания источника индикатора
type: modal
form: blocks_forms_newIocSource
label: Добавление индикатора
- id: panels_infoIocSource
description: Детали источника индикатора
type: panel
label: "Источник {sourceName}"
tabs:
- tab: tabs_infoIocSource
- id: lists_iocSources
type: list
source:
type: operational
entity: IocSource
label: Источники индикаторов
table:
columns:
- id: name
attribute: sourceName
label: Название
layout:
width:
default: 100
min: 50
max: 100
- id: description
attribute: sourceDescription
label: Описание
layout:
width:
default: 100
min: 50
max: 150
actions:
- type: row_click
action: actions_openIocSourcePanel
selection: true
actionPanel:
- widget: buttons_createIocSource
- widget: buttons_removeIocSources
- id: viewIncident
type: entity
entity: Incident
widgets:
- id: editors_incidentSubject
type: attribute
attribute: incidentSubject
description: Поле для темы
- id: editors_incidentDescription
type: attribute
attribute: incidentDescription
description: Поле для описания
- id: editors_Author
type: attribute
attribute: createdBy
description: Поле для указания автора инцидента
- id: editors_Opened
type: attribute
attribute: createdAt
description: Поле для указания даты создания инцидента
- id: editors_Urgency
type: attribute
attribute: Urgency
description: Поле для указания срочности
- id: buttons_createIncident
type: action
action: actions_createIncident
description: Кнопка, которая запускает действие создания инцидента. Действие открывает модальную форму создания записи.
control:
type: regular_button
label: Добавить
- id: buttons_removeIncidents
type: action
action: actions_bulkRemoveIncidents
description: Кнопка для удаления инцидентов
control:
type: regular_button
label: Удалить
groups:
- id: blocks_forms_newIncident
description: Блок формы для создания инцидента
type: form
layout:
direction: column
components:
- widget: editors_incidentSubject
- widget: editors_incidentDescription
- widget: editors_Urgency
- id: blocks_infoIncident
description: Информация об инциденте
type: block
layout:
direction: column
components:
- widget: editors_incidentSubject
- widget: editors_incidentDescription
- widget: editors_Urgency
- widget: editors_Author
- widget: editors_Opened
- id: tabs_infoIncident
description: Информация об инциденте
type: tab
label: Детали
components:
- block: blocks_infoIncident
views:
- id: forms_newIncident
description: Форма создания инцидента
type: modal
form: blocks_forms_newIncident
label: Добавление инцидента
- id: panels_infoIncident
description: Детали источника индикатора
type: panel
label: "{incidentSubject}"
tabs:
- tab: tabs_infoIncident
- id: lists_Incidents
type: list
source:
type: operational
entity: Incident
label: Источники индикаторов
table:
columns:
- id: incidentSubject
attribute: incidentSubject
label: Тема
layout:
width:
default: 100
min: 100
max: 150
- id: incidentDescription
attribute: incidentDescription
label: Описание
layout:
width:
default: 200
min: 200
max: 250
- id: Opened
attribute: createdAt
label: Дата регистрации
layout:
width:
default: 100
min: 100
max: 150
- id: Urgency
attribute: Urgency
label: Срочность
layout:
width:
default: 100
min: 100
max: 150
- id: Author
attribute: createdBy
label: Автор
layout:
width:
default: 100
min: 100
max: 150
actions:
- type: row_click
action: actions_openIncidentPanel
selection: true
actionPanel:
- widget: buttons_createIncident
- widget: buttons_removeIncidents
Была ли полезна эта страница?