Skip to main content

open-filter

Description​

Fires when a filter is activated for a field

Usage​

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

Parameters​

The callback of the action takes the next parameters:

  • area - the area where a field is applied ("rows", "columns", "values")
  • id - the id of a field; if there's a single id argument with null value, the filter will be closed.
info

For handling the inner events you can use the Event Bus methods

Returns​

The function may return either a boolean value or void. When it returns false, the event operation in question will be halted.

Example​

The example below shows how to make the Configuration panel hide upon closing the filter box:

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

In the next example we output to console the id of the field for which filter is activated:

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