Настройка образа в YAML
Документация
Главная

Настройка образа в YAML

Параметры образа задаются в нескольких блоках:

  • metadata — базовые настройки образа
  • widgetsSetting — общие настройки виджетов
  • inputs — переменные Входящие значения
  • layout — структура образа
  • widgets — виджеты в образе
  • filters — предустановленные фильтры
  • actionButtons — кнопки действий

Ключ metadata

В таблице описаны ключи для задания базовых настроек образа через ключ metadata.

КлючТипОпределение
cornerRadiusnumberСкругления
maxWidthnumberМаксимальная ширина образа
Если параметр не задан, то максимальная ширина не ограничена
autoUpdateАвтообновление
spacingenumОтображение отступов между виджетами
colorstringЦвет фона образа. Значение указывается в двойных кавычках, например: "#5fb48f"
apiVersionstringВерсия образа
Зависит от версии системы
dividersHeightВысота всех разделителей в отчете

Ключ dividersHeight

В блоке с ключом dividersHeight указывается высота для всех разделителей в образе.

КлючТипОпределение
modestring- FIXED — значение в пикселях
- PERCENT — значение в процентах (чтобы использовать параметр Авто, не указывайте значение в ключе value)
valuenumberЗначение

Ключ autoUpdate

Блок с ключом autoUpdate принимает значения из таблицы ниже.

КлючТипОпределение
enabledbooleanВкл/Выкл автообновление
minutesbooleanЗначение в минутах

Ключ widgetsSetting

В блоке с ключом widgetsSetting указываются общие настройки для всех виджетов в образе.

КлючТипОпределение
paddingsstringОтступы по сторонам
titleSizenumberРазмер заголовка
titleColorЦвет заголовка:
- AUTO — авто
- BASE — базовый
titleWeightenumТолщина заголовка:
- NORMAL — обычная
- BOLD — большая
textSizenumberРазмер текста
filterModeenumРежим фильтрации:
- DEFAULT — базовый
- SINGLE — единичный выбор
- DISABLED — отключено
ignoreFiltersbooleanИгнорировать фильтры
stateNamestringСостояние

Ключ inputs

В таблице описаны ключи для задания входящих значений через ключ inputs.

КлючТипОпределение
namestringНазвание переменной
dataTypeenumОбобщенный тип данных переменных и входящих значений образа. Возможные значения:
- FLOAT — число (по умолчанию)
- INTEGER — целое число
- STRING — строка
- DATE — дата
- DATETIME — дата и время
- BOOLEAN — логическое значение
multipleChoicebooleanМассив данных в переменной
defaultValuestringЗначение по умолчанию
Задается формулой

Пример описания входящих значений:

inputs:
  - name: Входящее значение (число)
    dataType: FLOAT
  - name: Входящее значение (целое число)
    dataType: INTEGER
    multipleChoice: true
    defaultValue: "[1]"
  - name: Входящее значение (строка)
    dataType: STRING
  - name: Входящее значение (дата)
    dataType: DATE
  - name: Входящее значение (дата и время)
    dataType: DATETIME
  - name: Входящее значение (логический тип)
    dataType: BOOLEAN

Ключ widgets

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

Пример:

widgets:
  - key: kpi-list
    apiVersion: "16"
    type: KPI_LIST
    settings:
      title: ""
      titleSize: 14
      titleColor:
        mode: AUTO
      titleWeight: NORMAL
      showMarkdown: false
      markdownMeasures: []
      markdownText: ""
      measures:
        - name: Кол-во магазинов
          value:
            mode: FORMULA
            formula: 'link: "Кол-во магазинов"'
          format: NUMBER
          formatting: AUTO
          color:
            mode: AUTO
          dbDataType: Int64
          showName: true
          displayCondition:
            mode: DISABLED
          filters: []
          onClick: []
        - name: Кол-во товаров
          value:
            mode: TEMPLATE
            tableName: product
            columnName: Товар
            templateName: countDistinct
          format: NUMBER
          formatting: AUTO
          color:
            mode: AUTO
          formattingTemplate: ""
          dbDataType: Int64
          showName: true
          displayCondition:
            mode: DISABLED
          filters: []
          onClick: []
        - name: Сумма продаж
          value:
            mode: TEMPLATE
            tableName: sale
            columnName: Сумма продаж
            templateName: sum
          format: NUMBER
          formatting: CUSTOM
          color:
            mode: BASE
            value: "#6636c0"
          formattingTemplate: "#,###[$]"
          dbDataType: Float64
          showName: true
          displayCondition:
            mode: DISABLED
          filters: []
          onClick: []
        - name: Рентабельность
          value:
            mode: FORMULA
            formula: (sum("sale"."Сумма продаж")  - sum("sale"."Себестоимость")) /
              sum("sale"."Сумма продаж") * 100
          format: NUMBER
          formatting: x.x[%]
          color:
            mode: BASE
            value: "#ff9f43"
          formattingTemplate: ""
          dbDataType: Float64
          showName: true
          displayCondition:
            mode: DISABLED
          filters: []
          onClick: []
      displaySign: HORIZONTAL
      stateName: null
      filters: []
      sorting: []
      position: TOP
      measuresTextWeight: NORMAL
      measuresTextSize: 30
      alignment: LEFT
      filterMode: DEFAULT
      ignoreFilters: false
      nameSize: 12
      maxRowsName: 1
      itemsAlignment: LEFT
      paddings: 8
      markdownTextSize: 14
    localApiVersion: "2"
  - key: filter (1)
    apiVersion: "16"
    type: FILTER
    settings:
      title: ""
      titleSize: 14
      titleColor:
        mode: AUTO
      titleWeight: NORMAL
      showMarkdown: false
      markdownMeasures: []
      markdownText: ""
      textSize: 12
      dimensionLimit: 50
      displaySign: SELECT
      dimensions:
        - name: Магазин
          value:
            mode: FORMULA
            formula: '"store"."Магазин"'
          format: STRING
          formatting: AUTO
          dbDataType: String
      filterMode: DEFAULT
      ignoreFilters: false
      stateName: null
      filters: []
      sorting: []
      paddings: 8
      markdownTextSize: 14

Ключ filters

К образам можно применять предустановленные фильтры. В блоке с ключом filters используются следующие ключи:

  • name — название фильтра
  • formula — используемая формула
  • dbDataType — тип данных формулы
  • format — формат
  • filteringMethod — метод фильтрации
  • checkedValues — выбранные значения
  • formValues — для значений, заданных вручную (значения указываются в блоке с ключом numberRange)

Пример использования предустановленных фильтров:

filters:
  - dbDataType: UInt64
    format: NUMBER
    formula: '"events"."id"'
    name: id
    formValues:
      numberRange:
        - 100
        - 200
    filteringMethod: NONEMPTY
  - dbDataType: String
    format: STRING
    formula: '"events"."action"'
    name: action
    checkedValues:
      - Согласование с Клиентом предложений
      - Ввод полной формы Заявки
    filteringMethod: INCLUDE

Ключ actionButtons

В блок с ключом actionButtons добавляются кнопки действий. Подробности о том, как использовать кнопки действий, приведены на странице Образы.

КлючТипОпределение
namestringНазвание кнопки
buttonTypeenumТип кнопки:
- primary — основная
- primary-outlined — второстепенная
- link — ссылка
typeenumТип действия по клику: EXECUTE_SCRIPT
Возможен только один тип действия
scriptKeystringКлюч скрипта
parametersПараметры скрипта (необязательный ключ)
autoUpdateenumАвтообновление:

- NONE — нет
- ALL_WIDGETS — все виджеты

Настройка сетки образа в YAML

Ключ layout

Структуру образа составляет сетка из строк и колонок — layout. В блоке с этим ключом используется ключ rows, необходимый для настройки и добавления строк.

Ключ rows

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

КлючТипОпределение
columnsКолонки
widgetKeystringКлюч виджета который будет отображаться в колонке
Только для типа WIDGET (виджет)
placeholderПлейсхолдер
Только для типа PLACEHOLDER (плейсхолдер)
innerLayoutВнутренняя вложенность
Та же структура, что и в layout
Только для типа INNER_LAYOUT
Доступные типы содержимого колонок:
- EMPTY — нет (пустая колонка)
- WIDGET — виджет
- PLACEHOLDER — плейсхолдер
heightВысота колонки
widthШирина колонки
Не применяется для типа содержимого колонки DIVIDER (разделитель)

Ключ columns

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

КлючТипОпределение
modeenumТип содержимого колонки
alignmentenumВыравнивание колонки в строке

- left — по левому краю
- center — по центру
- right — по правому краю
- full — по ширине
Ключ height

В блоке с ключом height настраивается высота колонки.

КлючТипОпределение
modeenumРежим расчета высоты колонки:
- FIXED — фиксированная (в пикселях)
- PERCENT — динамическая (в процентах, рассчитывается относительно экрана)
valuenumberЗначение высоты
Ошибка при удалении значения в режиме PERCENT
Ключ width

В блоке с ключом width настраивается ширина колонки.

КлючТипОпределение
modeenumРежим расчета ширины колонки:
- FRACTION — динамическая (в долях образа)
- FIXED — фиксированная (в пикселях)
valuenumberЗначение ширины

Вкладки (ключ tabs)

Чтобы добавить в образ колонки, используйте блок с ключом tabs.

КлючТипОпределение
labelstringНазвание вкладки
displayConditionОтображать (условие отображения)
innerLayoutВнутренняя вложенность

Доступные типы компонентов в колонке:
EMPTY — пустая колонка
WIDGET — виджет
PLACEHOLDER — плейсхолдер
likeViewBackgroundbooleanФон как у образа

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

Доступные варианты:
left — по левому краю
center — по центру
right — по правому краю
textSizenumberРазмер шрифта
displayOneTabbooleanОтображение единственной вкладки в образе

Пример использования вкладок:

layout:
  rows:
    - columns:
        - mode: TABS
          tabs:
            - label: Вкладка (1)
              displayCondition:
                mode: DISABLED
              innerLayout:
                rows:
                  - columns:
                      - mode: EMPTY
                        width:
                          mode: FRACTION
                          value: 1
            - label: Вкладка (2)
              displayCondition:
                mode: DISABLED
              innerLayout:
                rows:
                  - columns:
                      - mode: EMPTY
                        width:
                          mode: FRACTION
                          value: 1
          width:
            mode: FRACTION
            value: 1
    - columns:
        - mode: EMPTY
          width:
            mode: FRACTION
            value: 1

Пример использования виджета во вкладке:

layout:
  rows:
    - columns:
        - mode: WIDGET
          widgetKey: barchart-140c3362
          width:
            mode: FRACTION
            value: 1
    - columns:
        - mode: EMPTY
          width:
            mode: FRACTION
            value: 1

Пример использования плейсхолдера во вкладке:

layout:
  rows:
    - columns:
        - mode: PLACEHOLDER
          placeholder:
            name: Плейсхолдер
            mode: EXISTED_VIEW
            viewKey: view-140c3362
          width:
            mode: FRACTION
            value: 1
    - columns:
        - mode: EMPTY
          width:
            mode: FRACTION
            value: 1

Пример использования внутренней вложенности:

layout:
  rows:
    - columns:
        - mode: INNER_LAYOUT
          innerLayout:
            rows:
              - columns:
                  - mode:
                    width:
                      mode: FRACTION
                      value: 1
              - columns:
                  - mode:
                    width:
                      mode: FRACTION
                      value: 1
          width:
            mode: FRACTION
            value: 1

Условие отображения

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

КлючТипОпределение
modeenumРежим отображения

DISABLED — всегда
VARIABLE — по переменной
FORMULA — по формуле
variableNamestringНазвание переменной (только для режима VARIABLE)
variableValuestringЗначение переменной (только для режима VARIABLE)
formulastringФормула (только для режима FORMULA)

Пример отображения виджета по переменной:

displayCondition:
  mode: VARIABLE
  variableName: variable_1
  variableValue: "value_1"

Пример отображения виджета по формуле:

displayCondition:
  mode: FORMULA
  formula: if(quantile(0.75)("p1"."TTCR") > 10, true, false)

Настройка плейсхолдера в YAML

Чтобы добавить в образ плейсхолдер, используйте блок placeholder после пары ключ-значение mode: PLACEHOLDER. Пример:

layout:
  rows:
    - columns:
        - mode: PLACEHOLDER
          placeholder:
            # Дальнейшие пары ключ-значение

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

КлючТипОпределение
namestringУникальное название плейсхолдера
modeenumРежим:
- EMPTY — нет (пустой)
- EXISTED_VIEW — созданный образ
- GENERATED_BY_SCRIPT — генерируемый образ
viewKeystringКлюч образа, который будет отображаться в колонке
Только для режима EXISTED_VIEW (созданный образ)
scriptKeystringКлюч скрипта
Только для режима GENERATED_BY_SCRIPT (генерируемый образ)
parametersПараметры скрипта
Только для режима GENERATED_BY_SCRIPT (генерируемый образ)

Ключ parameters

В блоке с ключом parameters настраиваются параметры генерируемого образа.

КлючТипОпределение
namestringНазвание параметра
sourceVariablestringНазвание переменной
inputMethodenumСпособ ввода значения:
- VARIABLE — из переменной
- AGGREGATION — задать агрегацией
considerFiltersbooleanПереключатель Учитывать фильтры:
- true — активен
- false — отключен

Была ли статья полезна?

Предыдущая
YAML-редактор
Следующая
Настройка виджетов в YAML
430006, Саранск,
Северо-восточное шоссе, д. 3
ОКВЭД 62.01
ИНН 1328​909857
Код вида деятельности
в области ИТ 15.02 и 17.01
Языки программирования