Skip to content

Commit 6c8607e

Browse files
committed
Пример для обновленной версии виджетов
1 parent dbe6404 commit 6c8607e

3 files changed

Lines changed: 71 additions & 24 deletions

File tree

src/widgets/README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
**Цель примера:** Познакомить с возможностями расширения представлений
44
стандартных сущностей.
55

6-
# Суть примера
6+
## Суть примера
77
Создаются виджеты, которые встраиваются в представления Aspects и Components.
88

99
В components встраиваивается виджет, демонстрирующий, кто зависит
@@ -16,6 +16,9 @@
1616

1717
![Реализацторы аспекта](./images/aspects.png)
1818

19+
## Требования
20+
Верия платформы: > 2.4.4
21+
1922
## Файловая структура примера
2023
* entities - расширения сущностей
2124
* templates - шаблоны виджетов

src/widgets/entities/aspects.yaml

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,43 @@
11
entities:
22
# Расширяем сущность "aspects"
33
aspects:
4-
# Инъектируем собственный виджет
5-
widgets:
6-
# Будем показывать расширенную информацию об аспекте
7-
people: # Идентификатор виджета
8-
# Название виджета
9-
title: Люди
10-
# Расположение
11-
# < - слева
12-
# > - справа
13-
# = - Растянуть на 100%
14-
align: "<"
4+
presentations:
5+
# Встраиваемся в основную перезентацию (т.е. она уже существует)
6+
blank:
7+
widgets:
8+
# Добавляем собственный виджет
9+
people: # Идентификатор виджета
10+
# Название виджета
11+
title: Люди
12+
# Идентификатор презентации, которая будет использоваться в виджете
13+
presentation: people
14+
# В params можно передать дополнительные параметры
15+
# презентации, которые будут доступны в перемнной $params
16+
#params:
17+
# param1: Значение параметра 1
18+
# param2: Значение параметра 2
19+
# Расположение
20+
# < - слева
21+
# > - справа
22+
# = - Растянуть на 100%
23+
align: "<"
24+
# Добавляем собственную презентацию
25+
# Будем показывать членов команды, ответсвенных за аспект
26+
people:
27+
# Контракт по параметрам представления в формате JSONSchema
28+
params:
29+
type: object
30+
properties:
31+
aspect:
32+
title: Идентификатор аспекта
33+
type: string
34+
required:
35+
- aspect
1536
# Тип документа шаблона
1637
type: markdown
17-
# Шаблон виджета
38+
# Файл шаблона
1839
template: templates/people.md
19-
# Данные для шаблона
40+
# Источник данных
2041
source: >
2142
(
2243
$lookup(aspects, $params.aspect)

src/widgets/entities/components.yaml

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,38 @@
11
entities:
22
components:
3-
widgets:
4-
# Будем показывать внешние зависимости от данного компонента
5-
outside_links: # Идентификатор виджета
6-
# Название виджета
7-
title: Кто зависит от этого компонента
8-
# Расположение
9-
# < - слева
10-
# > - справа
11-
# = - Растянуть на 100%
12-
align: "<"
3+
# Расширяем презентацию сущности
4+
presentations:
5+
# Встраиваемся в основную перезентацию (т.е. она уже существует)
6+
blank:
7+
# Добавляем собственный виджет
8+
widgets:
9+
outside_links: # Идентификатор виджета
10+
# Название виджета
11+
title: Кто зависит от этого компонента
12+
# Идентификатор презентации, которая будет использоваться в виджете
13+
presentation: outside_links
14+
# В params можно передать дополнительные параметры
15+
# презентации, которые будут доступны в перемнной $params
16+
#params:
17+
# param1: Значение параметра 1
18+
# param2: Значение параметра 2
19+
# Расположение
20+
# < - слева
21+
# > - справа
22+
# = - Растянуть на 100%
23+
align: "<"
24+
# Добавляем собственную презентацию
25+
# Будем показывать внешние связи на данный компонент
26+
outside_links: # Идентификатор представления
27+
# Контракт по параметрам представления в формате JSONSchema
28+
params:
29+
type: object
30+
properties:
31+
component:
32+
title: Идентификатор компонента
33+
type: string
34+
required:
35+
- component
1336
# Тип документа шаблона
1437
type: table
1538
# Определяем заголовок таблицы

0 commit comments

Comments
 (0)