Виджеты

Виджет - это "субприложение" с графическим пользовательским интерфейсом (GUI), определенным рядом компонентов виджета и их макетом. Виджеты применяются для создания пользовательских форм и мнемосхем (HMI). Они могут использоваться, например, для управления, настройки и мониторинга различных аппаратных средств или системных компонентов.

Виджеты можно группировать в инструментальную панель, которая будет работать как пользовательский интерфейс.

Виджеты создавались для работы в десктопном приложении, SberMobile IIoT Platform Client. Есть несколько способов для работы с виджетами в вебе (например, веб проигрыватель виджетов), но в последних версиях  SberMobile веб-инструментальные панели полностью заменяют и даже превосходят виджеты по своему функционалу.

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

Компоненты виджетов связаны с данными сервера и устройств при помощи привязок данных. Привязки могут также связывать компоненты и определять различные шаблоны преобразования данных на основе выражений. Привязки могут быть активированы:

  • Во время запуска виджета
  • При событии на стороне сервера или изменении состояния, например, при поступлении новых данных с устройства
  • При событии компонента виджета или изменении состояния, например, клик по кнопке
  • Периодически

В виджет можно вставлять скрипты, написанные на Java, если задачу по обработке данных нельзя выполнить, используя выражения.

Виджеты могут включать большое количество разных компонентов:

  • Текстовые поля и поля для ввода паролей
  • Текстовые и HTML области
  • Триггерные и обычные кнопки
  • Поля со списком
  • Списки
  • Независимые и зависимые кнопки
  • Регуляторы и счётчики
  • Компоненты выбора даты и времени
  • Индикаторы выполнения
  • Таблицы
  • Растровые изображения
  • Динамические векторные рисунки
  • Графики
  • Динамические карты (дорожные/рельефные/спутниковые)
  • Журналы событий
  • Системные деревья
  • Индикаторы, измерители и диодные дисплеи
  • Видео плееры
  • Графы топологии

Эти компоненты можно сгруппировать в различные контейнеры:

  • Панели
  • Панели с закладками
  • Панели с разделителями
  • Многослойные панели
  • Вложенные виджеты
  • Всплывающие меню

Контейнеры поддерживают два вида компоновки:

  • Сетка, которая автоматически выравнивает компоненты согласно  их размеру. Это особенно удобно при создании форм.
  • Абсолютное позиционирование, строго определяющее позиционирование и размеры компонентов. Данная компоновка полезна при создании пользовательских экранов, карт, планов и пр. в стилистике пользовательского интерфейса.

Для создания сложных интерфейсов возможно объединение внутри одного виджета контейнеров с разными компоновками.

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

Перед тем, как начать: Виджеты позволяют вам управлять и просматривать данные SberMobile в различных формах. Чтобы их создание стало эффективным, вам необходимо ознакомиться с ссылками, выражениями и, наконец, привязкой данных. Перед продолжением, пожалуйста, прочитайте эти три главы.

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

Виджеты создаются в Редакторе виджетов, который является частью SberMobile IIoT Platform Client. Ядро виджета представляет собой шаблон - текст в формате XML, содержащий формат и свойства внутренних компонентов вместе со связями между этими компонентами и моделью данных, т.е. данных, полученных из контекстов SberMobile Server. Данные отношения существуют в форме привязок виджета и скриптов виджета.

Можно осуществлять запуск каждого виджета в различных пользовательских интерфейсах SberMobile Server, например, в SberMobile IIoT Platform Client. Его оформление зависит от пользовательского интерфейса, в котором он был запущен, но его общая структура и поведение будут такими же.

Виджет в SberMobile IIoT Platform Client выглядит таким образом:

Сопутствующая документация:

Администрирование виджетов

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

Глобальные настройки виджетов

Доступны следующие глобальные настройки плагина Виджеты:

  • Режим выполнения виджетов. Определяет, как виджеты выполняются в веб интерфейсе: на сервере (подходит для браузеров без поддержки Java, но создаёт дополнительную нагрузку на сервер) или в браузере (подходит для браузеров с поддержкой Java).
  • Запретить выполнение скриптов на стороне сервера. Если настройка включена, работающие на сервере виджеты не могут использовать скрипты. Это важно в случае, если ваши дизайнеры виджетов недостаточно надежны, так как скрипты виджетов на стороне сервера имеют полный доступ к данным сервера и полному контролю над поведением сервера.

Встроенные виджеты

Несколько виджетов встроены в SberMobile Server и появляются в учетной записи пользователя администратор по умолчанию:

  • Исполнитель запросов. Этот виджет позволяет вам протестировать и отладить запросы.
  • Суточные тревоги. Содержит столбчатую диаграмму, отображающую количество ежедневных тревог и таблицу со списком экземпляров тревог, как только вы кликаете на определенном столбике диаграммы.