Package: | Ext.util |
Defined In: | Filter.js |
Class: | Filter |
Extends: | Object |
Represents a filter that can be applied to a MixedCollection. Can either simply filter on a property/value pair or pass in a filter function with custom logic. Filters are always used in the context of MixedCollections, though Stores frequently create them when filtering and searching on their records. Example usage:
//set up a fictional MixedCollection containing a few people to filter on
var allNames = new Ext.util.MixedCollection();
allNames.addAll([
{id: 1, name: 'Ed', age: 25},
{id: 2, name: 'Jamie', age: 37},
{id: 3, name: 'Abe', age: 32},
{id: 4, name: 'Aaron', age: 26},
{id: 5, name: 'David', age: 32}
]);
var ageFilter = new Ext.util.Filter({
property: 'age',
value : 32
});
var longNameFilter = new Ext.util.Filter({
filterFn: function(item) {
return item.name.length > 4;
}
});
//a new MixedCollection with the 3 names longer than 4 characters
var longNames = allNames.filter(longNameFilter);
//a new MixedCollection with the 2 people of age 24:
var youngFolk = allNames.filter(ageFilter);
Config Options | Defined By | |
---|---|---|
anyMatch : Boolean True to allow any match - no regex start/end line anchors will be added. Defaults to false | Filter | |
caseSensitive : Boolean True to make the regex case sensitive (adds 'i' switch to regex). Defaults to false. | Filter | |
exactMatch : Boolean True to force exact match (^ and $ characters added to the regex). Defaults to false.
Ignored if anyMatch is true. | Filter | |
filterFn : Function A custom filter function which is passed each item in the Ext.util.MixedCollection
in turn. Should return true to ac... A custom filter function which is passed each item in the Ext.util.MixedCollection
in turn. Should return true to accept each item or false to reject it | Filter | |
property : String The property to filter on. Required unless a filter is passed | Filter | |
root : String Optional root property. This is mostly useful when filtering a Store, in which case we set the
root to 'data' to make... Optional root property. This is mostly useful when filtering a Store, in which case we set the
root to 'data' to make the filter pull the property out of the data object of each item | Filter |