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 firedhandler
- (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 setintercept: true
during event listener creation, this event listener will run before all otherstag
- (optional) an action tag. You can use the tag name to remove an action handler via thedetach
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) => {
const fieldObj = ev.field;
const field = fieldObj.base || fieldObj.field;
if (field) {
console.log("The field for which filter was activated:", ev.field.label);
}
}, {tag: "open-filter-tag"});