Группы виджетов

Этот раздел описывает группы виджетов в представлениях сущностей домена.

Ознакомьтесь с правилами нотации в схеме домена. Это позволит присваивать корректные названия создаваемым элементам схемы. Эти названия будут отображаться в интерфейсе системы.

Структура блока groups

Путь в схеме: views[].groups[]

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

Общие поля групп

Описание каждой группы включает следующие поля:

Поле Обязательность и значение по умолчанию Тип данных Описание

id

да

View ID

Уникальный идентификатор группы представления.

description

нет (по умолчанию — пустая строка)

строка

Описание группы представления.

type

да

перечисление

Тип группы.

components

да

массив

Массив записей компонентов, из которых состоит группа — виджетов и/или других групп. Допустимые виды компонентов описаны далее для каждого типа группы.

Доступные типы групп (type)

Путь в схеме: views[].groups[].type

Поле type в записи группы может принимать следующие значения:

Наследование в группах виджетов (inherits)

Путь в схеме: views[].groups[].inherits

Настройки группы типа block, form или tab можно унаследовать от другой группы такого же типа, указав ссылку на нее в поле inherits. В зависимости от типа поля применяется следующее поведение:

  • Для компонентов группы можно определить режим наследования с добавлением или удалением элементов.

  • Поля label и layout наследуются автоматически и могут быть переопределены в текущем представлении.

*Пример наследования компонентов группы
views:
    ...
    views:
      ...
      groups:
       - id: tabs_computer_apps
         inherits: hw.example.com/block_1
         type: tab
         components:
           - inherit:
               type: append
          - block: blocks_computer

В данном примере на вкладке tabs_computer_apps расположены все компоненты вкладки block_1 в исходном порядке, а после них — блок blocks_computer.

Наследование компонентов группы (inherit)

Путь в схеме: views[].groups[].components[].inherit

Поле имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

type

нет (по умолчанию: append)

перечисление

Тип наследования. Доступные значения:

  • append;

  • override;.

  • except.

Ознакомьтесь с описанием типов наследования.

except

да (при type: except)

массив

Массив ссылок на компоненты, которые не нужно наследовать.

Типы наследования компонентов (type)

Путь в схеме: views[].groups[].components[].inherit.type

Доступные типы наследования включают:

  • append — наследовать все компоненты и добавить компоненты, описанные в массиве components.

  • override — не наследовать компоненты. Необходимо описать компоненты в массиве components.

  • except — наследовать все компоненты, кроме тех, которые перечислены в поле except.

Блок (type: form)

Описание группы типа block дополнительно включает поля:

Поле Обязательность и значение по умолчанию Тип данных Описание

inherit

нет

View ID Ref

Ссылка на группу типа block, от которой нужно наследовать настройки. Группа должна относиться к представлению, указанному в поле inherits.

layout

нет

объект

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

Ознакомьтесь с описанием поля layout.

label

нет (по умолчанию — пустая строка)

строка

Наименование группы представления. Если не задано, наследуется от блока, указанного в поле inherit.

Ознакомьтесь с описанием] поля label.

components

да

массив

Массив полей widget со ссылками на идентификаторы виджетов.

Идентификатор стороннего виджета записывается в формате external:<ID виджета>.

Настройки взаимного расположения виджетов в блоке (layout)

Путь в схеме: views[].groups[].layout

Поле layout содержит настройки взаимного расположения элементов. Поле имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

direction

нет (по умолчанию — column)

перечисление

Порядок отображения элементов в записи группы. Направление размещения определяет, как будут располагаться компоненты внутри группы.

Допустимое значение — column, вертикальное размещение.

expandable

нет (по умолчанию — false)

логическое

Переключатель возможности развернуть элемент.

Компоненты блока (components)

Путь в схеме: views[].groups[].components[]

Массив содержит следующие виды полей:

  • Поле inherit с настройками наследования виджетов. Доступно, если заполнено поле inherits.

  • Ссылки на виджеты в формате widget: <View ID Ref>.

Форма (type: form)

Описание группы типа form дополнительно включает поля:

Поле Обязательность и значение по умолчанию Тип данных Описание

inherit

нет

View ID Ref

Ссылка на группу типа form, от которой нужно наследовать настройки. Группа должна относиться к представлению, указанному в поле inherits.

components

да

массив

Массив полей со ссылками на идентификаторы виджетов и блоков.

Ознакомьтесь с описанием поля components

Компоненты формы (components)

Путь в схеме: views[].groups[].components[]

Массив содержит следующие виды полей:

  • Поле inherit с настройками наследования виджетов и блоков. Доступно, если заполнено поле inherits.

  • Ссылки на виджеты в формате widget: <View ID Ref>.

    Идентификатор стороннего виджета записывается в формате external:<ID виджета>.
  • Ссылки на блоки в формате block: <View ID Ref>.

Вкладка (type: tab)

Описание группы типа block дополнительно включает поля:

Поле Обязательность и значение по умолчанию Тип данных Описание

inherit

нет

View ID Ref

Ссылка на группу типа tab, от которой нужно наследовать настройки. Группа должна относиться к представлению, указанному в поле inherits.

label

нет (по умолчанию — пустая строка)

строка

Наименование группы представления. Если не задано, наследуется от блока, указанного в поле inherit.

Ознакомьтесь с описанием поля label.

components

да

массив

Массив компонентов.

Ознакомьтесь с описанием поля components.

Компоненты вкладки (components)

Путь в схеме: views[].groups[].components[]

Массив содержит следующие виды полей:

  • Поле inherit с настройками наследования виджетов и блоков. Доступно, если заполнено поле inherits.

  • Ссылки на виджеты в формате widget: <View ID Ref>.

    Идентификатор стороннего виджета записывается в формате external:<ID виджета>.
  • Ссылки на блоки в формате block: <View ID Ref>.

Группа вкладок (type: tabs)

Описание группы типа tabs дополнительно включает поля:

Поле Обязательность и значение по умолчанию Тип данных Описание

components

да

массив

Массив полей block со ссылками на идентификаторы групп типа tab.

Блок из двух секций (type: resizable_block_pair)

Описание группы типа resizable_block_pair дополнительно включает поля:

Поле Обязательность и значение по умолчанию Тип данных Описание

layout

нет

объект

Настройки взаимного расположения компонентов в группе. Ознакомьтесь с описанием поля layout.

components

да

массив

Массив из двух полей block со ссылками на идентификаторы групп типа tabs или block.

Схема записи блока из двух секций регулируемой ширины
groups:
   # Идентификатор записи в группе
   - id:
        # Описание записи в группе
        description:
        # Тип записи в группе
        type: resizable_block_pair
        # Настройки взаимного расположения элементов
        layout:
          # Минимальная высота секций
          minHeight:
          # Максимальная высота секций
          maxHeight:
          # Параметр расположения элементов
          sizeRatio:
        # Ссылки на блоки, отображаемые в блоке из двух секций
        components:
          # Ссылка на первый блок вкладки
          - block: deviceInfoBlock
          # Ссылка на второй блок вкладки
          - block: deviceConfigurationBlock

Настройки взаимного расположения в блоке из двух секций (layout)

Путь в схеме: views[].groups[].layout

Поле layout содержит настройки взаимного расположения элементов. Поле имеет следующую структуру:

Поле Обязательность и значение по умолчанию Тип данных Описание

minHeight

нет

строка

Минимальная высота блока. Задается в процентах или пикселях.

Формат: числовое значение и единица измерения без пробелов. Например, <25%> или <25px>.

maxHeight

нет

строка

Максимальная высота блока. Задается в процентах или пикселях.

Формат: числовое значение и единица измерения без пробелов. Например, <25%> или <25px>.

sizeRatio

нет

строка

Соотношение размеров секций. Можно указать либо одну из сторон, либо обе стороны. Сначала указывается значение для левой секции, а затем для правой.

Формат: { left: 60, right: 40 }

Была ли полезна эта страница?

Обратная связь