Конфигурация определяет атрибуты data и style, которые требуются для визуализации.
Конфигурация должна быть представлена файлом JSON следующей структуры:
{
"data": [
{
"id": string,
"label": string,
"elements": [
{
"type": enum(DataElement),
"id": string,
"label": string,
"options": object(DataElementOptions)
}
]
}
],
"style": [
{
"id": string,
"label": string,
"elements": [
{
"type": enum(StyleElement),
"id": string,
"label": string,
"defaultValue": string | object
}
]
}
]
"interactions": [
{
"id": string,
"supportedActions": array(enum(InteractionType))
}
]
}
Имя поля | Тип | Описание |
---|---|---|
data[] |
Array(object) |
Конфигурация данных визуализации. Эта конфигурация влияет на раздел Data панели свойств. |
data[].id |
string |
Идентификатор раздела data. Должен быть непустой строкой без пробелов. |
data[].label |
string |
Ярлык раздела data. |
data[].elements[] |
string |
Элементы data для отображения. |
data[].elements[].type |
string enum(DataElement) |
Тип элемента data для отображения. |
data[].elements[].id |
string |
Идентификатор элемента data. Должен быть непустой строкой без пробелов. |
data[].elements[].label |
string |
Подсказка (ярлык) для элемента data. |
data[].elements[].options |
object(DataElementOptions) |
Варианты элемента data. Зависят от типа элемента data. |
style[] |
Array(object) |
Конфигурация стиля, необходимая для визуализации. Эта конфигурация влияет на раздел Style панели свойств. Каждый объект массива представляет собой элемент style для отображения. Порядок элементов определяет последовательность их отображения. |
style[].id |
string |
Идентификатор раздела style. Должен быть непустой строкой без пробелов. |
style[].label |
string |
Ярлык раздела style. |
style[].elements |
Array(object) |
Элементы style для отображения. |
style[].elements[].id |
string |
Идентификатор элемента style. Должен быть непустой строкой без пробелов. |
style[].elements[].type |
string enum(StyleElement) |
Тип элемента style, например селектор шрифтов. |
style[].elements[].label |
string |
Подсказка или ярлык для элемента style. Это текст ярлыка для элемента checkbox и текст подсказки для элементов остальных типов. |
style[].elements[].options |
Array(object) |
Варианты элемента (options ). Используются только для элементов style SELECT_SINGLE и SELECT_RADIO . |
style[].elements[].defaultValue |
string OR object |
Значение по умолчанию для элемента style. Недопустимые значения игнорируются. |
interactions[] |
Array(object) |
Конфигурация взаимодействий визуализации. Определяет, может ли визуализация использоваться в качестве фильтра. |
interactions[].id |
string |
Идентификатор элемента interaction. Должен быть непустой строкой без пробелов. |
interactions[].supportedActions |
Array (enum(InteractionType) |
Поддерживаемые взаимодействия. |
*defaultValue
является строкой для всех элементов кроме селектора цвета, для которого defaultValue
– объект следующего формата:
{
color: `string`
}
DataElement
Ниже приведены возможные значения элементов data.
Перечисляемое значение | Описание |
---|---|
"METRIC" |
Отображает элемент field для показателя. |
"DIMENSION" |
Отображает элемент field для параметра. |
"MAX_RESULTS"
|
Определяет максимальное количество строк, которое может запрашивать визуализация. |
Варианты DataElement
Ниже приведены возможные значения элементов data.
Перечисляемое значение | Тип варианта | Доступные варианты |
---|---|---|
"METRIC"
|
Object | max : число (макс. количество показателей). min : число (мин. количество показателей). |
"DIMENSION"
|
Object | max : число (макс. количество параметров). min : число (мин. количество параметров).supportedTypes – список поддерживаемых типов. supportedTypes включает TIME , GEO или DEFAULT . |
"MAX_RESULTS"
|
Object | max : число (макс. количество строк, которое может запрашивать визуализация). Значение по умолчанию: 2500. |
StyleElement
Ниже приведены возможные значения элементов style.
Перечисляемое значение | Описание |
---|---|
"FONT_COLOR" |
Отображает селектор цвета шрифта. |
"FONT_SIZE" |
Отображает селектор размера шрифта. Значение по умолчанию: 10px . |
"FONT_FAMILY" |
Отображает селектор семейства шрифтов. Значение по умолчанию: auto . |
"CHECKBOX" |
Отображает флажок. Значение по умолчанию: "false" . |
"TEXTINPUT" |
Отображает текстовое поле. |
"TEXTAREA" |
Отображает область ввода текста. |
"SELECT_SINGLE" |
Отображает раскрывающееся меню с заранее заданными значениями. |
"SELECT_RADIO" |
Отображает переключатель со стандартными значениями. |
"FILL_COLOR" |
Отображает селектор цвета заливки. |
"BORDER_COLOR" |
Отображает селектор цвета границы. |
"AXIS_COLOR" |
Отображает селектор цвета оси. |
"GRID_COLOR" |
Отображает селектор цвета сетки. |
"OPACITY" |
Отображает селектор прозрачности. |
"LINE_WEIGHT" |
Отображает окно выбора толщины линии. |
"LINE_STYLE"
|
Отображает окно выбора стиля линии. Допустимые значения по умолчанию: solid , dashed , dotted , double . |
"BORDER_RADIUS" |
Отображает селектор радиуса скругления угла. |
"INTERVAL" |
Отображает селектор интервала. |
С помощью элементов style настраиваются значки на вкладке Style
панели свойств.
options: array(options)
Объект options
{
label: `string`,
value: `string`
}
InteractionType
С помощью InteractionType настраиваются варианты взаимодействий, доступные в разделе Data
панели свойств. В настоящее время поддерживается только один тип взаимодействия: "FILTER"
.
Перечисляемое значение | Описание |
---|---|
"FILTER" |
Позволяет использовать визуализацию в качестве фильтра. |
Пример конфигурации
{
"data": [
{
"id": "concepts",
"label": "concepts",
"elements": [
{
"id": "dimension1",
"label": "first dimension",
"type": "DIMENSION",
"options": {
"min": 1,
"max": 3,
"supportedTypes": ["GEO"]
}
},
{
"id": "metric",
"label": "metric",
"type": "METRIC",
"options": {
"min": 1,
"max": 3
}
}
]
}
],
"style": [
{
"id": "colors",
"label": "Highlight Colors",
"elements": [
{
"id": "accentColor",
"label": "Accent Color",
"type": "SELECT_SINGLE",
"defaultValue": "rain",
"options": [
{
"label": "Summer",
"value": "summer"
},
{
"label": "Fall",
"value": "fall"
}
]
},
{
"id": "reverseColor",
"label": "Show reverse color",
"defaultValue": "false",
"type": "CHECKBOX"
},
{
"id": "fillColor",
"label": "Fill Color",
"defaultValue": {
"color": "#0000ff"
},
"type": "FILL_COLOR"
},
{
"id": "textOpacity",
"label": "Text Opacity",
"defaultValue": "0.2",
"type": "OPACITY"
},
{
"id": "customText",
"label": "Custom Text",
"defaultValue": "0.2",
"type": "TEXTINPUT"
}
]
},
{
"id": "text",
"label": "Highlight Text",
"elements": [
{
"id": "textFontSize",
"label": "Font size",
"defaultValue": "10",
"type": "FONT_SIZE"
},
{
"id": "font",
"label": "Font family",
"defaultValue": "auto",
"type": "FONT_FAMILY"
}
]
}
],
"interactions": [
{
"id": "interactionsConfigId",
"supportedActions": ["FILTER"]
}
]
}