Настройка виджетов с помощью JavaScript API
Вы можете настраивать существующие виджеты с помощью JavaScript API. Для этой цели вы можете использовать функции, описанные ниже.
API доступен в редакторе кода виджета в Visiology Designer.
Методы
visApi().setFilterSelectedValues(widgetGuid, values, handler) void
Устанавливает фильтр в виджете.
widgetGuid: string - guid виджета, на котором хотим установить фильтр.
values: string[][] - массив массивов значений, которые нужно установить, как фильтр. Пример: [["Москва"], ["Казань"]]. Для сброса фильтра необходимо передать пустой массив: [].
handler: Function() => void - Функция обратной связи, которая вызывается после того, как фильтр был установлен.
visApi().setExcludeFilterSelectedValues(widgetGuid, values, handler) void
Устанавливает исключающий фильтр в виджете.
widgetGuid: string - guid виджета, на котором хотим установить фильтр.
values: string[][] - массив массивов значений, которые нужно установить, как фильтр. Пример: [["Москва"], ["Казань"]]. Для сброса фильтра необходимо передать пустой массив: [].
handler: Function() => void - Функция обратной связи, которая вызывается после того, как фильтр был установлен.
visApi().setDateFilterSelectedValues(widgetGuid, values, useTime) void
Устанавливает выбранные даты в виджете Фильтр по датам.
widgetGuid: string - guid виджета, на котором хотим установить фильтр.
values: Date[][] - массив дат, которые нужно установить в фильтр по датам. Пример для множественного выбора (от и до): [new Date(), new Date()]. Пример для единичного выбора: [new Date()]. Для сброса фильтра необходимо передать пустой массив: [].
useTime boolean – позволяет учитывать время при фильтрации по датам. Принимает значения true или false. По умолчанию время в фильтрации не учитывается.
Пример: setDateFilterSelectedValues(widgetGuid, selectedValues, useTime = false)
visApi().getWidgetDataByGuid(widgetGuid) Promise<{ data: DataFrame, selected : string[][] }>
Возвращает данные виджета. Асинхронная функция. На данный момент не работает для Сводной таблицы и Таблицы.
widgetGuid: string - guid виджета, данные которого необходимо получить.
Возвращаемый ответ: data: DataFrame - данные виджета. selected: string[][] - массив выбранных значений (фильтров).
visApi().getSelectedValues(widgetGuid) string[][] = [[" Москва ", " 2020 "], [" Казань ", "2021"]]
Возвращает выбранные значения (фильтры) на виджете.
visApi().getSheetZoom() number
Возвращает значение зума (0 – 100%) листа на дашборде.
visApi().getFilterIsOpen(widgetGuid) boolean
Возвращает состояние выпадающего списка в виджете «Фильтр».
visApi().getDrillLevel(widgetGuid) number
Возвращает текущий уровень drilldown в виджете (гистограмма, круговая, график).
widgetGuid: string - guid виджета, уровень drilldown которого нужно получить.
visApi().exportDashboard(format) Promise<void>
Экспортирует дашборд. Асинхронная функция.
format: string - формат файла, в который нужно экспортировать дашборд. Поддерживаемые форматы: “png", "pdf ", "pptx".
visApi().getDrillPath(widgetGuid) string[]
Возвращает путь к текущему уровню drilldown в виджете (гистограмма, круговая, график).
widgetGuid: string - guid виджета, путь к текущему уровню drilldown которого нужно получить.
Данный метод устаревший. Используйте вместо него метод visApi().getDrillPathItems (см. ниже)
visApi().drillDown(widgetGuid, values) void
Производит drilldown (проваливание на следующий уровень) в виджете.
widgetGuid: string - guid виджета, в котором нужно произвести drilldown.
values: string[] - значение, по которому нужно произвести drilldown. Передается массив, так как на одном уровне может быть разбиение по нескольким измерениям. Если передать null, то drilldown произойдет по выбранным значениям на виджете.
visApi().exportWidgetData(widgetGuid, exportFormat, withFormatting)
Экспортирует данные виджета в Excel или CSV файл.
widgetGuid (string) – идентификатор виджета.
exportFormat (string) – формат файла. Принимает "xlsx" или "csv". Если параметр не передан, то будет выгружаться Excel-файл.
withFormatting (boolean) - указывает, нужно ли выгружать файл с форматированием. Принимает значения true или false. Если никакой параметр не передан, то будет использоваться true.
visApi().drillUp(widgetGuid) void
Производит drillup (возвращает на один уровень вверхе после drilldown) в виджете.
widgetGuid: string - guid виджета, в котором нужно произвести drillup.
visApi().getDrillPathItems(widgetGuid) : DrillPathItem[]
Возвращает массив элементов текущего уровня детализации (Drill Down). Каждый объект массива имеет следующую структуру:
DrillItem = {
drillType: number;
title: string;
values: (string | number)[];
};где:
drillType – числовое значение, определяющее тип применяемого механизма детализации.
title – строковая метка элемента пути детализации, отображаемая в интерфейсе. Может представлять собой название колонки, задействованной при переходе на новый уровень детализации, либо наименование конкретного выбранного значения при выборе точки на визуальном компоненте.
values – массив содержательных данных текущего шага детализации. Элементы массива могут быть представлены как строковыми значениями, так и числами, в зависимости от контекста использования.
visApi().onWidgetFullscreenModeChangedListener({ guid: widgetGuid }}, callback)
Подписывается на события изменения полноэкранного режима указанного виджета. Функция-обработчик будет вызываться при каждом раскрытии виджета на весь экран или сворачивании обратно.
guid:string- произвольный guid подписываемого события. Используется, чтобы в памяти не накапливались подписки. Если повторно использовать эту же функцию с таким же guid, то старая подписка отпишется.
widgetGuid:string- guid виджета, на который нужно подписаться.handler: Function({ widgetGuid: string, expanded: boolean) => void- функция обратной связи, которая вызывается, когда виджет раскрывают на весь экран или наоборот сворачивают.
expanded:boolean- информация о том, раскрыли или свернули виджет.
widgetGuid:string- guid виджета.
Функции, структуры ответов которых могут часто изменяться
В данном разделе приводятся функции, структуры ответов которых могут часто изменяться. Поэтому данные функции не рекомендуется использовать.
visApi().getDashboard()
Возвращает полную информацию о дашборде, включая его структуру и настройки отображения.
visApi().getWidgets() object[]
Возвращает объекты всех виджетов на выбранном листе. Имеет сложную структуру для каждого типа виджета.
visApi().getSelectedWidgets() object[]
Возвращает объекты выделенных виджетов на выбранном листе. Имеет сложную структуру для каждого типа виджета.
visApi().getWidgetByGuid(widgetGuid) object
Возвращает объект виджета на выбранном лист. Имеет сложную структуру для каждого типа виджета.
widgetGuid: string - guid виджета, который нужно получить.
События
visApi().onSelectedValuesChangedListener({ guid, widgetGuid }, handler) void
Подписка на изменение выбранных фильтров у виджета.
guid: string - произвольный guid подписываемого события. Используется, чтобы в памяти не накапливались подписки. Если повторно использовать эту же функцию с таким же guid, то старая подписка отпишется.
widgetGuid: string - guid виджета, на изменение выбранных значений (фильтров) которого нужно подписаться.
handler: Function({ widgetGuid: string, filter: WidgetDataFilter, selectedValues: string[][]) => void - Функция обратной связи, которая вызывается при изменении выбранных значений (фильтров) на виджете. filter: WidgetDataFilter - информация о фильтре. widgetGuid: string - guid виджета, в котором изменили выбранные значения. selectedValues: string[][] - выбранные значения.
visApi().onWidgetLoadedListener({ guid, widgetGuid }, handler) void
Подписка на загрузку виджета.
guid: string - произвольный guid подписываемого события. Используется, чтобы в памяти не накапливались подписки. Если повторно использовать эту же функцию с таким же guid, то старая подписка отпишется.
widgetGuid: string - guid виджета, на загрузку которого нужно подписаться.
handler: Function({ widgetGuid: string }) => void - функция обратной связи, которая вызывается после загрузки виджета. Если виджет уже загрузился, то функция сработает сразу. widgetGuid: string - guid виджета, который загрузился. Примечание: функция вызывается сразу после выполнения js кода виджета, не дожидаясь его отрисовки.
visApi().onAllWidgetsLoadedListener({ guid }, handler) void
Подписка на загрузку виджета.
guid: string - произвольный guid подписываемого события. Используется, чтобы в памяти не накапливались подписки. Если повторно использовать эту же функцию с таким же guid, то старая подписка отпишется.
handler: Function() => void - функция обратной связи, которая вызывается после загрузки всех виджетов. Примечание: функция вызывается сразу после выполнения js кода последнего виджета, не дожидаясь его отрисовки.
visApi().onFilterIsOpenChangedListener({ guid, widgetGuid }, handler) void
Подписка на загрузку виджета.
guid: string - произвольный guid подписываемого события. Используется, чтобы в памяти не накапливались подписки. Если повторно использовать эту же функцию с таким же guid, то старая подписка отпишется.
widgetGuid: string - guid виджета «Фильтр», на открытие выпадающего списка которого нужно подписаться.
handler: Function({ widgetGuid: string, isOpen: boolean }) => void - Функция обратной связи, которая вызывается после открытия/закрытия выпадающего списка в виджете «Фильтр». widgetGuid: string - guid виджета «Фильтр», выпадающий список которого открыли/закрыли. isOpen: boolean - true, если выпадающий список открыт.
visApi().onDrillDownListener({ guid, widgetGuid }, handler) void
Подписка на drilldown в виджете (гистограмма, круговая, график).
guid: string - произвольный guid подписываемого события. Используется, чтобы в памяти не накапливались подписки. Если повторно использовать эту же функцию с таким же guid, то старая подписка отпишется.
widgetGuid: string - guid виджета, на drilldown которого нужно подписаться.
handler: Function({ widgetGuid: string, widgetDataContainer: WidgetDataContainer, hierarchyPath: string[], selectedValues: string[], drillPath: DrillPathItem [] }) => void - Функция обратной связи, которая вызывается после того, как произошел drilldown в виджете. widgetGuid: string - guid виджета, у которого происходит drilldown. widgetDataContainer: WidgetDataContainer - данные виджета после drilldown. hierarchyPath: string[] - путь к текущему уровню. selectedValues: string[] - выбранное значение при drilldown.
visApi().onDrillUpListener({ guid, widgetGuid }, handler) void
Подписка на drillup в виджете (гистограмма, круговая, график).
guid: string - произвольный guid подписываемого события. Используется, чтобы в памяти не накапливались подписки. Если повторно использовать эту же функцию с таким же guid, то старая подписка отпишется.
widgetGuid: string - guid виджета, на drillup которого нужно подписаться.
handler: Function({ widgetGuid: string, hierarchyPath: string[], drillPath: DrillPathItem [] }) => void - Функция обратной связи, которая вызывается после того, как произошел drillup в виджете. widgetGuid: string - guid виджета, у которого происходит drilldown. hierarchyPath: string[] - путь к текущему уровню. drillPath: DrillPathItem [] – элемент пути drill-навигации (детализации данных) в виджете. Этот объект используется для хранения информации о каждом уровне иерархии, через которую проходит пользователь при взаимодействии с визуальным элементом интерфейса.
visApi().onBeforeDrillDownListener({ guid, widgetGuid }, handler) void
Подписка, которая вызывается перед загрузкой данных для drilldown в виджете (гистограмма, круговая, график).
guid: string - произвольный guid подписываемого события. Используется, чтобы в памяти не накапливались подписки. Если повторно использовать эту же функцию с таким же guid, то старая подписка отпишется.
widgetGuid: string - guid виджета, на который нужно подписаться.
handler: Function({ widgetGuid: string, hierarchyPath: string[], selectedValues: string[], drillPath: DrillPathItem [] }) => void - Функция обратной связи, которая вызывается перед загрузкой данных для drilldown в виджете. widgetGuid: string - guid виджета, у которого происходит drilldown. hierarchyPath: string[] - путь к текущему уровню. selectedValues: string[] - выбранное значение при drilldown.
visApi().onUpdateWidgetSettingsListener ({ guid, widgetGuid }, handler) void
Подписка на отслеживание изменений настроек виджета.
guid: string - произвольный guid подписываемого события. Используется, чтобы в памяти не накапливались подписки. Если повторно использовать эту же функцию с таким же guid, то старая подписка отпишется.
widgetGuid: string - guid виджета, на изменение выбранных значений (фильтров) которого нужно подписаться.
handler: Function({ widgetGuid: string, settings: object) => void – Функция обратной связи, которая вызывается при каждом изменении настроек виджета. widgetGuid - guid виджета, от которого пришло событие. settings – обновленное состояние настроек виджета.
Описание объектов
DataFrame
primaryData: DataFrameItem - объект, который хранит данные, сгруппированные по первому измерению (гистограмма, график и т.д.).
secondaryData: DataFrameItem - объект, который хранит данные, сгруппированные по второму измерению (сводная таблица). Может быть пустым, если группируется только по одному измерению.
DataFrameItem
key: object - значение, по которому, сгруппированы Items.
values: List<object> - значения показателей по сгруппированному элементу.
items: List<DataFrameItem> - объект, который хранит данные, сгруппированные по одному измерению. Если группируем по нескольким измерениям, будет вложенный Items внутри каждого отдельно взятого item.
metadata: List<ValueMetadata> - метаданные показателей.
ValueMetadata
displayName: string - отображаемое название столбца.
columnName: string - оригинальное название столбца.
dataType: string - тип данных столбца.
WidgetDataFilter
type: FilterType - тип фильтра.
values: string[][] - выбранные значения в случае, когда type равен In.
columns: Column[] - список колонок, по которым идет фильтрация.
from: Date | null - выбранная дата "от" в случае, когда type равен Between.
to: Date | null - выбранная дата "до" в случае, когда type равен Between.
DrillPathItem
Представляет собой элемент пути drill-навигации (детализации данных) в виджете (диаграмма, график и т.д.). Этот объект используется для хранения информации о каждом уровне иерархии, через которую проходит пользователь при взаимодействии с визуальным элементом интерфейса.
На этой странице
Нужна дополнительная помощь?