Skip to main content

api.on()

Description​

Allows attaching a handler to the inner events

Usage​

api.on(
event: string,
handler: function,
config?: { intercept?: boolean, tag?: number | string | symbol }
): void;

Parameters​

  • event - (required) an event to be fired
  • handler - (required) a handler to be attached (the handler arguments will depend on the event to be fired)
  • config - (optional) an object that stores the following parameters:
    • intercept - (optional) if you set intercept: true during event listener creation, this event listener will run before all others
    • tag - (optional) an action tag. You can use the tag name to remove an action handler via the detach method

Events​

info

The full list of the Pivot internal events can be found here. Use the api.on() method if you want to listen to the actions without modifying them. To make changes to the actions, apply the api.intercept() method.

Example​

The example below shows how to output the label of a field for which the filter was activated:

// create 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"});