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()