Ext JS 4.0.7 Sencha Docs

Ext.util.Filter

Hierarchy

Ext.Base
Ext.util.Filter

Files

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);

Available since: 4.0.0

Defined By

Config options

Ext.util.Filter
view source
: Boolean
True to allow any match - no regex start/end line anchors will be added. ...

True to allow any match - no regex start/end line anchors will be added.

Defaults to: false

Available since: 4.0.0

True to make the regex case sensitive (adds 'i' switch to regex). ...

True to make the regex case sensitive (adds 'i' switch to regex).

Defaults to: false

Available since: 4.0.0

True to force exact match (^ and $ characters added to the regex). ...

True to force exact match (^ and $ characters added to the regex). Ignored if anyMatch is true.

Defaults to: false

Available since: 4.0.0

Ext.util.Filter
view source
: Function
A custom filter function which is passed each item in the Ext.util.MixedCollection in turn. ...

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

Available since: 4.0.0

Ext.util.Filter
view source
: String
The property to filter on. ...

The property to filter on. Required unless a filterFn is passed

Available since: 4.0.0

Ext.util.Filter
view source
: String
Optional root property. ...

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

Available since: 4.0.0

Defined By

Properties

Available since: 4.0.0

Get the reference to the current class from which this object was instantiated. ...

Get the reference to the current class from which this object was instantiated. Unlike statics, this.self is scope-dependent and it's meant to be used for dynamic inheritance. See statics for a detailed comparison

Ext.define('My.Cat', {
    statics: {
        speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
    },

    constructor: function() {
        alert(this.self.speciesName); / dependent on 'this'

        return this;
    },

    clone: function() {
        return new this.self();
    }
});


Ext.define('My.SnowLeopard', {
    extend: 'My.Cat',
    statics: {
        speciesName: 'Snow Leopard'         // My.SnowLeopard.speciesName = 'Snow Leopard'
    }
});

var cat = new My.Cat();                     // alerts 'Cat'
var snowLeopard = new My.SnowLeopard();     // alerts 'Snow Leopard'

var clone = snowLeopard.clone();
alert(Ext.getClassName(clone));             // alerts 'My.SnowLeopard'

Available since: 4.0.0

Methods

Defined By

Instance methods

Ext.util.Filter
view source
new( [config] ) : Ext.util.Filter
Creates new Filter. ...

Creates new Filter.

Available since: 4.0.0

Parameters

  • config : Object (optional)

    Config object

Returns

Fires

    ...

    Available since: 4.0.6

    Parameters

    Returns

    Call the original method that was previously overridden with override Ext.define('My.Cat', { constructor: functi...

    Call the original method that was previously overridden with override

    Ext.define('My.Cat', {
        constructor: function() {
            alert("I'm a cat!");
    
            return this;
        }
    });
    
    My.Cat.override({
        constructor: function() {
            alert("I'm going to be a cat!");
    
            var instance = this.callOverridden();
    
            alert("Meeeeoooowwww");
    
            return instance;
        }
    });
    
    var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
                              // alerts "I'm a cat!"
                              // alerts "Meeeeoooowwww"
    

    Available since: 4.0.0

    Parameters

    • args : Array/Arguments

      The arguments, either an array or the arguments object

    Returns

    • Object

      Returns the result after calling the overridden method

    Call the parent's overridden method. ...

    Call the parent's overridden method. For example:

    Ext.define('My.own.A', {
        constructor: function(test) {
            alert(test);
        }
    });
    
    Ext.define('My.own.B', {
        extend: 'My.own.A',
    
        constructor: function(test) {
            alert(test);
    
            this.callParent([test + 1]);
        }
    });
    
    Ext.define('My.own.C', {
        extend: 'My.own.B',
    
        constructor: function() {
            alert("Going to call parent's overriden constructor...");
    
            this.callParent(arguments);
        }
    });
    
    var a = new My.own.A(1); // alerts '1'
    var b = new My.own.B(1); // alerts '1', then alerts '2'
    var c = new My.own.C(2); // alerts "Going to call parent's overriden constructor..."
                             // alerts '2', then alerts '3'
    

    Available since: 4.0.0

    Parameters

    • args : Array/Arguments

      The arguments, either an array or the arguments object from the current method, for example: this.callParent(arguments)

    Returns

    • Object

      Returns the result from the superclass' method

    Ext.util.Filter
    view source
    ( )private
    Creates a filter function for the configured property/value/anyMatch/caseSensitive options for this Filter ...

    Creates a filter function for the configured property/value/anyMatch/caseSensitive options for this Filter

    Available since: 4.0.0

    Fires

      Ext.util.Filter
      view source
      ( )private
      Returns a regular expression based on the given value and matching options ...

      Returns a regular expression based on the given value and matching options

      Available since: 4.0.0

      Ext.util.Filter
      view source
      ( item ) : Objectprivate
      Returns the root property of the given item, based on the configured root property ...

      Returns the root property of the given item, based on the configured root property

      Available since: 4.0.0

      Parameters

      Returns

      • Object

        The root property of the object

      ( config ) : Objectchainableprotected
      Initialize configuration for this class. ...

      Initialize configuration for this class. a typical example:

      Ext.define('My.awesome.Class', {
          // The default config
          config: {
              name: 'Awesome',
              isAwesome: true
          },
      
          constructor: function(config) {
              this.initConfig(config);
      
              return this;
          }
      });
      
      var awesome = new My.awesome.Class({
          name: 'Super Awesome'
      });
      
      alert(awesome.getName()); // 'Super Awesome'
      

      Available since: 4.0.0

      Parameters

      Returns

      • Object

        mixins The mixin prototypes as key - value pairs

      Fires

        ( name, cls )private
        Used internally by the mixins pre-processor ...

        Used internally by the mixins pre-processor

        Available since: 4.0.6

        Parameters

        Fires

          ( name, value )private
          ...

          Available since: 4.0.6

          Parameters

          Fires

            ( name, fn )private
            ...

            Available since: 4.0.0

            Parameters

            ( config ) : Ext.Basechainableprivate
            ...

            Available since: 4.0.0

            Parameters

            Returns

            Fires

              Get the reference to the class from which this object was instantiated. ...

              Get the reference to the class from which this object was instantiated. Note that unlike self, this.statics() is scope-independent and it always returns the class from which it was called, regardless of what this points to during run-time

              Ext.define('My.Cat', {
                  statics: {
                      totalCreated: 0,
                      speciesName: 'Cat' // My.Cat.speciesName = 'Cat'
                  },
              
                  constructor: function() {
                      var statics = this.statics();
              
                      alert(statics.speciesName);     // always equals to 'Cat' no matter what 'this' refers to
                                                      // equivalent to: My.Cat.speciesName
              
                      alert(this.self.speciesName);   // dependent on 'this'
              
                      statics.totalCreated++;
              
                      return this;
                  },
              
                  clone: function() {
                      var cloned = new this.self;                      // dependent on 'this'
              
                      cloned.groupName = this.statics().speciesName;   // equivalent to: My.Cat.speciesName
              
                      return cloned;
                  }
              });
              
              
              Ext.define('My.SnowLeopard', {
                  extend: 'My.Cat',
              
                  statics: {
                      speciesName: 'Snow Leopard'     // My.SnowLeopard.speciesName = 'Snow Leopard'
                  },
              
                  constructor: function() {
                      this.callParent();
                  }
              });
              
              var cat = new My.Cat();                 // alerts 'Cat', then alerts 'Cat'
              
              var snowLeopard = new My.SnowLeopard(); // alerts 'Cat', then alerts 'Snow Leopard'
              
              var clone = snowLeopard.clone();
              alert(Ext.getClassName(clone));         // alerts 'My.SnowLeopard'
              alert(clone.groupName);                 // alerts 'Cat'
              
              alert(My.Cat.totalCreated);             // alerts 3
              

              Available since: 4.0.0

              Returns

              Defined By

              Static methods

              ( members ) : Ext.Basechainablestatic
              Add / override static properties of this class. ...

              Add / override static properties of this class.

              Ext.define('My.cool.Class', {
                  ...
              });
              
              My.cool.Class.addStatics({
                  someProperty: 'someValue',      // My.cool.Class.someProperty = 'someValue'
                  method1: function() { ... },    // My.cool.Class.method1 = function() { ... };
                  method2: function() { ... }     // My.cool.Class.method2 = function() { ... };
              });
              

              Available since: 4.0.2

              Parameters

              Returns

              ( fromClass, members ) : Ext.Basechainablestatic
              Borrow another class' members to the prototype of this class. ...

              Borrow another class' members to the prototype of this class.

              Ext.define('Bank', {
                  money: '$$$',
                  printMoney: function() {
                      alert('$$$$$$$');
                  }
              });
              
              Ext.define('Thief', {
                  ...
              });
              
              Thief.borrow(Bank, ['money', 'printMoney']);
              
              var steve = new Thief();
              
              alert(steve.money); // alerts '$$$'
              steve.printMoney(); // alerts '$$$$$$$'
              

              Available since: 4.0.2

              Parameters

              • fromClass : Ext.Base

                The class to borrow members from

              • members : String/String[]

                The names of the members to borrow

              Returns

              Create a new instance of this Class. ...

              Create a new instance of this Class.

              Ext.define('My.cool.Class', {
                  ...
              });
              
              My.cool.Class.create({
                  someConfig: true
              });
              

              All parameters are passed to the constructor of the class.

              Available since: 4.0.2

              Returns

              ( alias, origin )static
              Create aliases for existing prototype methods. ...

              Create aliases for existing prototype methods. Example:

              Ext.define('My.cool.Class', {
                  method1: function() { ... },
                  method2: function() { ... }
              });
              
              var test = new My.cool.Class();
              
              My.cool.Class.createAlias({
                  method3: 'method1',
                  method4: 'method2'
              });
              
              test.method3(); // test.method1()
              
              My.cool.Class.createAlias('method5', 'method3');
              
              test.method5(); // test.method3() -> test.method1()
              

              Available since: 4.0.2

              Parameters

              Get the current class' name in string format. ...

              Get the current class' name in string format.

              Ext.define('My.cool.Class', {
                  constructor: function() {
                      alert(this.self.getName()); // alerts 'My.cool.Class'
                  }
              });
              
              My.cool.Class.getName(); // 'My.cool.Class'
              

              Available since: 4.0.4

              Returns

              Add methods / properties to the prototype of this class. ...

              Add methods / properties to the prototype of this class.

              Ext.define('My.awesome.Cat', {
                  constructor: function() {
                      ...
                  }
              });
              
               My.awesome.Cat.implement({
                   meow: function() {
                      alert('Meowww...');
                   }
               });
              
               var kitty = new My.awesome.Cat;
               kitty.meow();
              

              Available since: 4.0.2

              Parameters

              ( members ) : Ext.Basechainablestatic
              Override prototype members of this class. ...

              Override prototype members of this class. Overridden methods can be invoked via callOverridden

              Ext.define('My.Cat', {
                  constructor: function() {
                      alert("I'm a cat!");
              
                      return this;
                  }
              });
              
              My.Cat.override({
                  constructor: function() {
                      alert("I'm going to be a cat!");
              
                      var instance = this.callOverridden();
              
                      alert("Meeeeoooowwww");
              
                      return instance;
                  }
              });
              
              var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
                                        // alerts "I'm a cat!"
                                        // alerts "Meeeeoooowwww"
              

              Available since: 4.0.2

              Parameters

              Returns