Перейти к основному содержимому

open-filter

Описание

Срабатывает при активации фильтра для поля

Использование

"open-filter": ({
id: string | null,
area?: "values" | "rows" | "columns"
}) => boolean | void;

Параметры

Калбэк действия принимает следующие параметры:

  • area - область, в которой применяется поле ("rows", "columns", "values")
  • id - идентификатор поля; если передан единственный аргумент id со значением null, фильтр будет закрыт.
информация

Для обработки внутренних событий можно использовать методы Event Bus

Возвращает

Функция может возвращать булево значение или void. При возврате false соответствующая операция события будет прервана.

Пример

Пример ниже показывает, как скрыть панель конфигурации при закрытии блока фильтра:

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) {
table.api.exec("show-config-panel", {
mode: false
});
}
});

В следующем примере идентификатор поля, для которого активирован фильтр, выводится в консоль:

const table = new pivot.Pivot("#root", {
fields,
data,
config: {
rows: ["studio", "genre"],
columns: [],
values: [
{
field: "title",
method: "count"
},
{
field: "score",
method: "max"
}
]
}
});

table.api.on("open-filter", (ev) => {
console.log("The field id for which filter is activated:", ev.id);
});