filter()
Description
Filters items in the diagram
Usage
filter(
rule?: function,
config?: {
id?: string,
add?: boolean,
permanent?: boolean
}
): void;
// or
filter(
rule?:{
by?: string | number,
match?: string | number | boolean,
compare?: (value, match, item) => {}
},
config?:{
id?: string,
add?: boolean,
permanent?: boolean
}
): void;
Parameters
rule
- (optional) the filtering criteria- If set as a function, filtering will be applied by the rule specified in the function. The function takes an object of a data item as a parameter
- If set as an object, the parameter can have the following attributes:
by
- (optional) the key of the item attributematch
- (optional) a pattern to matchcompare
- (optional) a function for extended filtering. The function returns either true or false and takes three parameters:value
- the value to comparematch
- a pattern to matchitem
- a data item the values of which should be compared (e.g. a shape)
config
- (optional) an object which defines the parameters of filtering. The object may contain the following properties:id
- (optional) the id of the filteradd
- (optional) defines whether each next filtering will be applied to the already filtered data (true), or to the initial data (false, default)permanent
- (optional) true to make the current filter permanent. It will be applied even if the next filtering doesn't have theadd:true
property in its configuration object. Such a filter can be removed just with the resetFilter() method
Example
const diagram = new dhx.Diagram("diagram_container", {
type: "default"
});
diagram.data.parse(data);
// filtering by the rule specified in the function
diagram.data.filter(function (shape) {
return shape.id > 3;
});
// filtering by the key of the shape attribute
diagram.data.filter({ by: "text", match: "Read N" });
To revert the diagram to the initial state, call the filter()
method without parameters.
diagram.data.filter();
Related articles: Filtering items
Related sample: Diagram. Data. Filtering shapes
Change log: Updated in v6.0