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

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);
});