Properties Methods Events Config Options Direct Link

Class Ext.util.Filter

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

Config OptionsDefined 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
 property : String
The property to filter on. Required unless a filter is passed
Filter

Public Properties

This class has no public properties.

Public Methods

This class has no public methods.

Public Events

This class has no public events.