Имплант инструментальных панелей![](anchor.svg)
Контейнер Имплант позволяет повторно использовать инструментальную панель со стандартной структурой для эффективного отображения данных из различных контекстов. В следующем руководстве объясняется, как использовать контейнер Имплант для повторного использования одной инструментальной панели для множества различных устройств. Общая структура выглядит следующим образом:
Создайте два виртуальных устройства для использования в примере.
Создайте референсную инструментальную панель для одного устройства.
Создайте специальные привязки к одному из устройств.
Обобщите привязки референсной панели, чтобы ссылаться на данные из дополнительного свойства.
Создайте родительскую инструментальную панель и настройте ее с помощью нескольких контейнеров Импланта.
Рассмотрите результат.
Создание Устройств![](anchor.svg)
Создайте два устройства для демонстрационных целей. В руководстве Создание приборной панели для мониторинга устройства предлагаются шаги по созданию устройств в SberMobile.
В следующем примере используются виртуальные устройства с описаниями
High Flow
иLow Flow
, показанные в системном дереве ниже.
![](image-20231116-121106.png)
Обратите внимание, что оба этих устройства принадлежат пользователю Administrator. Обратите внимание, что для просмотра данных с этого устройства на панели управления пользователь должен иметь как минимум разрешение на просмотр данных устройства.
Инструментальная панель для одного устройства![](anchor.svg)
Следующим шагом будет отображение данных с одного из конкретных устройств.
Создайте инструментальную панель с именем
deviceDisplay
.Добавьте на инструментальную панель два компонента Подпись.
Чтобы сделать значение подписи более заметным, можно обновить свойство Стиль контейнера в группе свойств Свойства контейнера следующими данными:
div {
font-size: 2em; /* Adjust the font size as desired */
text-align: center;
display: flex;
align-items: center;
justify-content: center;
}
Сейчас инструментальная панель будет отображать только данные по умолчанию для компонентов подписей.
![](image-20231116-122634.png)
Создание привязок для показа данных с одного устройства![](anchor.svg)
В следующих шагах мы настроим привязки для ссылки на виртуальное устройство High Flow
и отображения его описания, а также значения из его переменной Random.
Создайте привязки , нацеленные на каждое из свойств Текст подписей. Текущий пример включает в себя подписи с именами
label0
иlabel1
.Следующие две привязки устанавливают значение свойства Текст каждой подписи. Первая привязка устанавливает свойство Текст подписи с именем
label0
в значение Description устройстваHigh Flow
при запуске. Вторая привязка устанавливает для свойства Текст подписи с именемlabel1
значение переменной Random каждые несколько секунд.
Цель | Выражение расширенного поиска | При запуске | Периодически | Период |
---|---|---|---|---|
form/label0:text | {users.admin.devices.highFlow:info$description} |
|
| |
form/label1:text | {users.admin.devices.highFlow:random$value} |
|
|
|
Предпросмотр инструментальной панели покажет два значения, описание устройства High Flow
и текущее случайное значение устройства.
![](image-20231116-124442.png)
Случайное значение должно обновляться каждые десять секунд.
Создание дополнительного свойства![](anchor.svg)
Хотя дополнительное свойство корневого контекста с именем DC будет автоматически создано во время выполнения, когда инструментальная панель deviceDisplay
загружается через контейнер Implant , полезно настроить дополнительное свойство DC в инструментальной панели во время разработки, чтобы убедиться, что все привязки работают правильно.
(1) Перейдите к корню дерева компонентов и (2) откройте переменную Дополнительные свойства
![](image-20231116-125223.png)
(1) Установите имя
dc
, и откройте (2) редактор формата:
![](image-20231116-125451.png)
В редакторе Формат установите следующие значения:
Минимальное количество записей:
1
Максимальное количество записей:
1
Поля:
Название:
dc
Тип:
String
Редактор/редактор:
Контекст
![](image-20231116-131014.png)
Кликните OK, чтобы сохранить дополнительное свойство DC, и закройте редактор Формат.
Перейдите на Корневую панель (1) в группу свойств Дополнительные свойства (2) и откройте только что созданное дополнительное свойство DC.
Установите значение DC в контекстный путь устройства
Low Flow
(3), в данном случаеusers.admin.devices.lowFlow
.
![](image-20231117-041124.png)
Значение DC будет использоваться для отладки инструментальной панели. Когда эта инструментальная панель отображается напрямую, она будет использовать значение DC, указанное здесь. Когда инструментальная панель отображается с контейнером Имплант, значение DC будет взято из значения, указанного для свойства Контекст по умолчанию для контейнера Имплант.
Обобщение привязок Инструментальной панели![](anchor.svg)
Теперь, когда пользовательская переменная DC настроена, следующим шагом будет изменение выражений привязки. Текущие выражения привязки {users.admin.devices.highFlow:info$description}
и {users.admin.devices.highFlow:random$value}
ссылаются на конкретное устройство, в данном случае на устройство HighFlow
. Чтобы использовать контекст, вставленный из контейнера Имплант, ссылку необходимо обобщить.
Возврат к таблице привязок, сделайте следующие изменения:
Выражение с абсолютной ссылкой | Обобщенное выражение расширенного поиска |
---|---|
|
|
|
|
Обобщенное выражение привязки можно разложить следующим образом:
{form/:dc}
- это ссылка на пользовательское значение DC, добавленное в инструментальную панель на предыдущем шаге. Его текущее значение -users.admin.devices.lowFlow
, но оно будет динамически обновлено, когда инструментальная панель будет использоваться в контейнере Импланта.getVariable("users.admin.devices.lowFlow", "info")
получит таблицу данных для свойства "info" устройстваlowFlow
.cell(..., "description")
Получает значение таблицы данных для указанного поля, в данном случае поля с именем "description".
Сейчас при предварительном просмотре инструментальной панели ярлыки указывают на устройство lowFlow
:
![](image-20231117-045005.png)
Настроить родительскую инструментальную панель с контейнерами для имплантов:![](anchor.svg)
Чтобы повторно использовать инструментальную панель для нескольких устройств, контейнер Имплант будет несколько раз использоваться в родительской панели.
Создано новую инструментальную панель и откройте ее для редактирования.
Добавьте контейнер Имплант в рабочую область (1) и откройте редактор его свойств (2).
![](image-20231117-045825.png)
В редакторе свойств откройте селектор для свойства Ссылка. Текущая панель для отображения будет указана здесь.
![](image-20231117-050121.png)
В меню Выбрать Контекст выберите ранее созданную панель Display Dashboard и нажмите OK, чтобы сохранить и закрыть.
![](image-20231117-050502.png)
Аналогичным образом установите Контекст по умолчанию (1) на устройство
High Flow
(2).
![](image-20231117-054037.png)
![](image-20231117-053921.png)
После того как первый контейнер Имплант будет настроен, щелкните правой кнопкой мыши на контейнере, чтобы открыть контекстное меню, и выберите пункт Клонировать implant0
![](image-20231117-054452.png)
Откройте редактор свойств для клонированного контейнера имплантата и установите Контекст по умолчанию для устройства
Low Flow
.Предпросмотр панели обзора устройств дважды отобразит Инструментальную панель, но с разными значениями для Контекста по умолчанию. В результате значения будут разными.
![](image-20231117-055731.png)
Текущий базовый обзор показывает, как повторно использовать инструментальные панели с компонентом Имплант и его свойством Контекст по умолчанию . Посетите раздел Стилизация пользовательского интерфейса, чтобы узнать, как управлять представлением элементов инструментальной панели.