Структура дашборда в JSON
Дашборды позволяют визуализировать, организовывать и совместно использовать аналитические данные.
Каждый дашборд характеризуется следующими особенностями:
- может состоять из одной или нескольких строк панелей
- каждая панель содержит визуализацию, например, диаграмму или таблицу
- в каждой панели поиск генерирует данные для визуализации
- включает элементы
inputs, такие как текстовые поля или мультивыбор, для взаимодействия с пользователем. Элементы в дашборде можно настроить для реагирования на ввод данных, например, для изменения поискового запроса, который управляет визуализацией
Общий вид иерархии дашборда выглядит следующим образом:
{
"label": [0..1],
"inputs": [
{
"input": [0..N]
}
],
"rows": [
{
"panels": [0..N]
}
],
"vars": [
{
"var": [0..N]
}
]
}
| Элемент | Описание | Представление в JSON |
|---|
| Заголовок | Наименование дашборда. | |
| Фильтры | Массив элементов для взаимодействия. | |
| Строки | Массив строк дашборда с панелью или панелями. | |
| - | - | |
Фильтры определяют интерфейс взаимодействия пользователя с дашбордом. Фильтр, например, радиокнопки и чек-бокс позволяют пользователям выбирать один или несколько вариантов. Другие фильтры, такие как текстовые поля, поля ввода времени и т.д. позволяют пользователям вводить данные или изменять временной диапазон поиска.
В каждом элементе используются следующие атрибуты.
| Название | Тип данных | Предназначение |
|---|
name | Строка | Системное имя фильтра. |
label | Строка | Текстовая метка для фильтра. |
type | | Один из представленных типов. timetextselectioncheckboxradiomultiselection
|
options | Объект | Предварительные настройки для фильтра. |
token | Объект | Значение, выбранное пользователем с помощью фильтра. |
timeInput | Строка | Значение системного поля фильтра типа time для использования в поисковых запросах. Применим для типов фильтров: selection, multiselection. |
В каждом фильтре могут использоваться различные виды настроек.
| Название | Тип данных | Предназначение |
|---|
default | Объект | Настройки по умолчанию для фильтра. |
static | Массив | Перечень значений, которые заполняются вручную (для типов checkbox, selection, radio, multiselection). |
allow_custom | Булево значение | Возможность ввести свой вариант для дальнейшего выбора в фильтре (только для типа multiselection). |
search | Строка | Поисковый запрос для формирования динамических опций выбора в фильтре (только для типов selection и multiselection). |
Для каждого типа фильтров используются свои настройки по умолчанию.
| Тип фильтра | Структура | Описание |
|---|
time | { "options": { "default": { "start": "string", "end": "string", "isPaused": "boolean", "refreshInterval": "number" } } }
| start - начало временного периодаend - конец временного периодаisPaused - флаг включения/выключения автоматического обновления времениrefreshInterval - временной период автоматического обновления времени
|
checkbox
selection
multiselection
| { "options": { "default": [ { "label": "string", "value": "string" } ] } }
| label - Отображаемое значение в фильтреvalue - Системное значение в фильтре
|
text
radio
| { "options": { "default": "string" } }
| Текстовое значение по умолчанию |
Для каждого типа фильтров токен имеет свое представление.
| Тип фильтра | Структура | Описание |
|---|
checkbox
multiselection
| { "token": { "prefix": "string", "suffix": "string" }, "token_value": { "prefix": "string", "suffix": "string" }, "delimiter": "string" }
| Для token prefix - Текст, добавляемый перед токеномsuffix - Текст, добавляемый после токена
Для token_value prefix - Текст, добавляемый перед значением токенаsuffix - Текст, добавляемый после значения токена
Для delimiter delimiter - Разделитель между выбранными значениями
|
text
radio
selection
| { "token": { "prefix": "string", "suffix": "string" } }
| prefix - Текст, добавляемый перед токеномsuffix - Текст, добавляемый после токена
|
В контексте интерфейсов дашбордов элемент rows (строки) является контейнером для одного или нескольких дочерних элементов panel (панель). Она служит для группировки и управления расположением панелей на странице.
Внутри контейнера row (строка) располагаются элементы panel (панель), которые служат для отображения визуальных данных (графики, диаграммы и т.п.). Панели позволяют управлять группировкой и расположением визуализаций на странице.
Внутри панели элементы визуализации выравниваются по горизонтали. Для расположения визуализаций вертикально, создается новый контейнер row.
Общий вид структуры панели:
{
"inputs": [],
"height": "number | string",
"width": "number | string",
"label": "string",
"type": "string",
"viz": {},
"depends": [],
"subpanels": []
}
| Элемент | Описание | Представление в JSON |
|---|
| Фильтры | Массив элементов для взаимодействия | |
| Высота панели | Числовое или строковое значение (в процентах) высоты панели | |
| Ширина панели | Числовое или строковое значение (в процентах или пикселях) ширины панели | |
| Заголовок | Заголовок панели | |
| Тип | Тип панели | |
| Визуализация | Используемая визуализация в панели | |
| Отображение | Массив токенов, используемых для отображения панели | |
| Подпанели | Массив дочерних панелей | |
Панель может содержать один или несколько типов визуализаций.
| Элемент | Структура | Описание |
|---|
options
| { "viz": { "options": {} } }
| Настройки для визуализации |
options.sme.query | { "viz": { "options": { "sme": { "query": "string" } } } }
| Поисковый запрос формирующий значения в визуализации |
options.drilldown | { "viz": { "options": { "drilldown": { "enableDrilldown": "boolean", "drilldownType": "string", "drilldownText": "string", "drilldownQuery": "string", "drilldownCustomTimeTokenEarliest": "string", "drilldownCustomTimeTokenLatest": "string", "drilldownSelectTimeToken": "string", "drilldownTokens": [{ "name": "string", "value": "string" } ] } } } }
| Механизм Drilldown (детализации). enableDrilldown - флаг включения детализацииdrilldownType - тип детализации. Доступны опции: search (поиск), custom (произвольная ссылка), tokenControl (Изменение токенов)drilldownText - значение произвольной ссылки (Только для custom)drilldownQuery - значение поискового запроса (Только для search)drilldownCustomTimeTokenEarliest - левая граница произвольного временного диапазона (Только для search)drilldownCustomTimeTokenEarliest - правая граница произвольного временного диапазона (Только для search)drilldownSelectTimeToken - системное имя токена временного диапазона. Для произвольного значения используется customPicker. (Только для search)drilldownTokens - массив токенов, которые участвуют в работе детализации. Элемент массива включает в себя название токена name и значение токена value (только для tokenControl)
|
timeToken
| { "viz": { "timeToken": "string" } }
| Значение системного поля фильтра типа time для использования в поисковых запросах ИЛИ заранее заданные временные рамки начала (start) и конца (end) запроса |
{ "viz": { "timeToken": { "start": "string", "end": "string" } } }
|
type
| { "viz": { "type": "string" } }
| Один из представленных типов визуализаций. |
Для визуализации характерны следующие типы настроек.
| Элемент | Структура | Описание |
|---|
options.colorRuleList | { "options": { "colorRuleList": [{ "field": "string", "colorScheme": "string", "pallete": "string | []", "show": "boolean", "isBackground": "boolean" } ] } }
| Настройка цветовой схемы столбцов field - Название поляcolorScheme - Тип расцветки. Доступны опции: scale (палитра), field (по значению), range (диапазон)palette - Палитра раскраски. Значение поля зависит от поля colorSchemeshow - Флаг отображения настройки цветовой схемыisBackground - Флаг раскраски ячейки столбца
|
colorRuleList[].palette | | Для colorScheme со значением scale, палитра раскраски задается строкой. Например, white_to_green (от белого к зеленому) |
{ "pallete": [{ "value": "string", "color": "string" } ] }
| Для colorScheme со значением field, палитра раскраски задается объектом или объектами со значениями: value - Значение ячейки.color - Значение цвета в HEX-формате
|
{ "pallete": [{ "minValue": "number", "maxValue": "number", "color": "string" } ] }
| Для colorScheme со значением range, палитра раскраски задается объектом или объектами со значениями: minValue - Числовое значение левой границы диапазонаmaxValue - Числовое значение правой границы диапазонаcolor - Значение цвета в HEX-формате
|
options.tableAutoWidth | { "options": { "tableAutoWidth": "boolean" } }
| Флаг автоматического расчета ширины таблицы |
options.pagination | { "options": { "pagination": { "enabled": "boolean", "rowsPerPageList": [{ "label": "string" } ], "rowsPerPageDefault": { "label": "string" } } } }
| Настройка пагинации. enabled - Флаг включения пагинации в таблицеrowsPerPageList - Массив опций выбора количества отображаемых строк в таблице. Элемент массива задается значением со структурой поля rowsPerPageDefaultrowsPerPageDefault - Значение отображаемых строк в таблице по умолчанию
|
options.summary | { "options": { "summary": { "enabled": "boolean" } } }
| Флаг включения статистики по столбцам |
Для визуализации характерны следующие типы настроек.
| Элемент | Структура | Описание |
|---|
options.general | { "options": { "general": { "fieldForTrend": "string", "fieldForValue": "string", "label": "string" } } }
| Общие настройки fieldForTrend - Название поля для построения трендовой линииfieldForValue - Название поля для отображения метрикиlabel - Название панели метрики
|
options.show | { "options": { "show": { "arrow": "boolean", "label": "boolean", "sparkline": "boolean", "delimiters": "boolean", "delimiter": "string" } } }
| Настройки отображения arrow - Флаг отображения трендового индикатораlabel - Флаг отображения названия панели метрикиsparkline - Флаг отображения трендаdelimiters - Флаг отображения разделителя тысячdelimiter - Значение разделителя. Допустимы значения: запятая (,), точка (.), пробел ( )
|
options.color | { "options": { "color": { "invert": "boolean", "isRange": false, "color": [{ "color": "string", "value": "string | number" } ] } } }
| Настройка раскраски метрики по значениям invert - Флаг включения инвертированного порогаisRange - Флаг раскраски метрики по диапазону. В данном случае он равен falsecolor - Массив пар цвета в HEX-формате color и значения метрики value
|
{ "options": { "color": { "invert": "boolean", "isRange": true, "color": [{ "color": "string", "range": { "min": "number", "max": "number" } } ] } } }
| Настройка раскраски метрики по диапазону invert - Флаг включения инвертированного порогаisRange - Флаг раскраски метрики по диапазону. В данном случае он равен truecolor - Массив пар цвета в HEX-формате color и диапазона значения метрики range, который описывается минимальным значением min и максимальным значением max
|
Для визуализации характерны следующие типы настроек.
| Элемент | Структура | Описание |
|---|
options.general | { "options": { "general": { "checkedDonut": "boolean", "checkedLabel": "boolean", "checkedOther": "boolean", "checkedSliceCount": "boolean", "checkedSlicePercent": "boolean", "textField": "string", "threshold": "number", "truncateText": "boolean", "truncatePosition": "string" } } }
| Общие настройки. checkedDonut - Флаг включения кольцевой диаграммыcheckedLabel - Флаг включения отображения названия на диаграммеcheckedOther - Флаг включения сектора ДругоеcheckedSliceCount - Флаг включения отображения количества значений для каждого сектораcheckedSlicePercent - Флаг включения отображения значения в процентах для каждого сектораtextField - Название диаграммыthreshold - Значение порога в процентах для сектора ДругоеtruncateText - Флаг включения сокращения текста для каждого сектораtruncatePosition - Начало позиции сокращения текста. Допустимы значения left (слева), right (справа) и center (середина)
|
options.color | { "options": { "color": { "rulesArray": [{ "field": "string", "color": "string" } ] } } }
| Настройка раскраски секторов field - Название сектора в диаграммеcolor - Значение цвета в HEX-формате
|
options.theme | { "options": { "theme": { "name": "string" } } }
| Преднастроенная тема раскраски секторов |
Для визуализации характерны следующие типы настроек.
| Элемент | Структура | Описание |
|---|
options.general | { "options": { "general": { "showScrollBar": "boolean", "stackedMode": "boolean", "enableArea": "boolean", "multiseries": "boolean" } } }
| Общие настройки showScrollBar - Флаг включения шкалы предварительного просмотра в диаграммеstackedMode - Флаг включения группировки рядов данныхenableArea - Флаг включения закраски площади под графикомmultiseries - Флаг включения разбиения рядов данных на графике
|
options.line | { "options": { "line": { "smooth": "number", "opacity": "number", "strokeWidth": "number" } } }
| Настройка отображения линии smooth - Значение плавности линииopacity - Значение прозрачности линииstrokeWidth - Значение ширины линии
|
options.grouping | { "options": { "grouping": { "dataGrouping": "boolean", "dataGroupingAutoBaseInterval": "boolean", "dataGroupingBaseInterval": { "timeUnit": "string", "count": "number" }, "dataGroupingCount": "number" } } }
| Настройка группировка данных dataGrouping - Флаг включения группировки данныхdataGroupingAutoBaseInterval - Флаг включения автоматического расчета интервала группировки данныхdataGroupingBaseInterval - Объект ручного расчета интервала группировки данных. Объект характеризуется единицей времени timeUnit и количеством единиц countdataGroupingCount - Значения количества данных, которых необходимо сгруппировать
|
options.xaxis | { "options": { "xaxis": { "title": "string", "labelRotation": "number", "truncate": "boolean" } } }
| Настройка оси X title - Название осиlabelRotation - Значение градуса поворота значений на осиtruncate - Флаг включения сокращения названия значений на оси
|
options.yaxis | { "options": { "yaxis": { "title": "string", "logarithmic": "boolean", "minVal": "string", "maxVal": "string" } } }
| Настройка оси Y title - Название осиlogarithmic - Флаг включения логарфмической шкалы отображения. По умолчанию - линейное (false)minVal - Нижняя граница значений на осиmaxVal - Верхняя граница значений на оси
|
options.legend | { "options": { "legend": { "enabled": "boolean", "position": "string", "truncateText": "boolean" } } }
| Настройка легенды enabled - Флаг включения отображения легенды на графикеposition - Значение расположения легенды на графике. Допустимы значения: right (справа), left (слева), top (сверху), bottom (снизу)truncateText - Флаг включения сокращения значений в легенде
|
options.color | { "options": { "color": { "colorList": [{ "field": "string", "color": "string" } ] } } }
| Настройка раскраски линий field - Название линииcolor - Значение цвета в HEX-формате
|
Для визуализации характерны следующие типы настроек.
| Элемент | Структура | Описание |
|---|
options.general | { "options": { "general": { "showScrollBar": "boolean", "stackedMode": "boolean", "enableBar": "boolean", "multiseries": "boolean" } } }
| Общие настройки showScrollBar - Флаг включения шкалы предварительного просмотра в диаграммеstackedMode - Флаг включения группировки рядов данныхenableBar - Флаг включения горизонтального отображенияmultiseries - Флаг включения разбиения рядов данных на графике
|
options.column | { "options": { "column": { "borderRadius": "number", "opacity": "number" } } }
| Настройка отображения столбца borderRadius - Значение радиуса скругления углов столбцаopacity - Значение прозрачности столбца
|
options.grouping | { "options": { "grouping": { "dataGrouping": "boolean", "dataGroupingAutoBaseInterval": "boolean", "dataGroupingBaseInterval": { "timeUnit": "string", "count": "number" }, "dataGroupingCount": "number" } } }
| Настройка группировка данных dataGrouping - Флаг включения группировки данныхdataGroupingAutoBaseInterval - Флаг включения автоматического расчета интервала группировки данныхdataGroupingBaseInterval - Объект ручного расчета интервала группировки данных. Объект характеризуется единицей времени timeUnit и количеством единиц countdataGroupingCount - Значения количества данных, которых необходимо сгруппировать
|
options.xaxis | { "options": { "xaxis": { "title": "string", "labelRotation": "number", "truncate": "boolean" } } }
| Настройка оси X title - Название осиlabelRotation - Значение градуса поворота значений на осиtruncate - Флаг включения сокращения названия значений на оси
|
options.yaxis | { "options": { "yaxis": { "title": "string", "logarithmic": "boolean", "minVal": "string", "maxVal": "string" } } }
| Настройка оси Y title - Название осиlogarithmic - Флаг включения логарфмической шкалы отображения. По умолчанию - линейное (false)minVal - Нижняя граница значений на осиmaxVal - Верхняя граница значений на оси
|
options.legend | { "options": { "legend": { "enabled": "boolean", "position": "string", "truncateText": "boolean" } } }
| Настройка легенды enabled - Флаг включения отображения легенды на графикеposition - Значение расположения легенды на графике. Допустимы значения: right (справа), left (слева), top (сверху), bottom (снизу)truncateText - Флаг включения сокращения значений в легенде
|
options.color | { "options": { "color": { "colorList": [{ "field": "string", "color": "string" } ] } } }
| Настройка раскраски столбцов field - Название столбцаcolor - Значение цвета в HEX-формате
|
Для визуализации характерны следующие типы настроек.
| Элемент | Структура | Описание |
|---|
options.general | { "options": { "general": { "html": "string" } } }
| Общие настройки |
options.styles | { "options": { "styles": { "сss": "string" } } }
| Настройка стилей |