update-config
Описание
Срабатывает при изменении строк, столбцов или функций агрегации через интерфейс Pivot
Это действие удобно для сохранения пользовательской конфигурации агрегации, чтобы её можно было применить при следующем использовании виджета — позволяя пользователю продолжить с того места, где он остановился.
Использование
"update-config": ({
rows: string[],
columns: string[],
values: [],
filters: {}
}) => boolean | void;
Параметры
Колбэк события принимает объект с обработанными параметрами config:
rows- строки таблицы Pivot. Объект с идентификатором поля и методом извлечения данных; параметры объекта:field- идентификатор поляmethod- метод извлечения данных (для полей с данными на основе времени)
columns- определяет столбцы таблицы Pivot. Объект с идентификатором поля и методом извлечения данных; параметры объекта:field- идентификатор поляmethod- определяет метод извлечения данных (для полей с данными на основе времени). По умолчанию методы доступны для полей на основе времени (тип date) со следующими значениями: "year", "quarter", "month", "week", "day", "hour", "minute"
values- определяет агрегацию данных для ячеек таблицы Pivot. Объект, содержащий идентификатор поля и метод агрегации данных. Параметры объекта:field- идентификатор поляmethod- определяет метод извлечения данных; о методах и доступных вариантах см. Применение методов
filters- (необязательный) определяет способ фильтрации данных в таблице; объект с идентификаторами полей и методом агрегации данных. Описание объектаfilterсмотрите здесь:config
информация
Для обработки внутренних событий можно использовать методы Event Bus
Возвращает
Колбэк может возвращать boolean или void.
Если функция-обработчик события возвращает false, операция, вызвавшая событие, блокируется и выполнение update-config прерывается.
Пример
const table = new pivot.Pivot("#root", {
fields,
data: dataset,
config: {
rows: ["studio", "genre"],
columns: [],
values: [
{
field: "title",
method: "count"
},
{
field: "score",
method: "max"
}
]
}
});
//вывести объект config в консоль
table.api.on("update-config", (config) => {
console.log("Config has changed", config);
});
Связанные статьи: api.intercept()