Структура дашборда в 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"
}
}
}
| Настройка стилей |