api.on()
Описание
Позволяет прикрепить обработчик к внутренним событиям
Использование
api.on(
event: string,
handler: function,
config?: { intercept?: boolean, tag?: number | string | symbol }
): void;
П араметры
event- (обязательный) событие, которое необходимо отслеживатьhandler- (обязательный) прикрепляемый обработчик (аргументы обработчика зависят от вызываемого события)config- (необязательный) объект со следующими параметрами:intercept- (необязательный) если при создании слушателя событий задатьintercept: true, этот слушатель будет выполняться раньше всех остальныхtag- (необязательный) тег действия. Имя тега можно использовать для удаления обработчика действия через методdetach
События
информация
Полный список внутренних событий Pivot можно найти здесь.
Используйте метод api.on(), если хотите прослушивать действия без их изменения. Чтобы вносить изменения в действия, применяйте метод api.intercept().
Пример
В примере ниже показано, как вывести метку поля, для которого был активирован фильтр:
// создание Pivot
const table = new pivot.Pivot("#root", {
fields,
data: dataset,
config: {
rows: ["studio", "genre"],
columns: [],
values: [
{
field: "title",
method: "count"
},
{
field: "score",
method: "max"
}
]
}
});
table.api.on("open-filter", (ev) => {
if (ev.id) {
const { config } = table.api.getState();
const fieldObj = config[ev.area].find((f) => f.id === ev.id);
if (fieldObj) {
console.log("The field for which filter was activated:", fieldObj.label);
}
}
}, {tag: "open-filter-tag"});