Ext JS 4.0.7 Sencha Docs

Ext.data.SortTypes

Hierarchy

Ext.Base
Ext.data.SortTypes

Files

This class defines a series of static methods that are used on a Ext.data.Field for performing sorting. The methods cast the underlying values into a data type that is appropriate for sorting on that particular field. If a Ext.data.Field.type is specified, the sortType will be set to a sane default if the sortType is not explicitly defined on the field. The sortType will make any necessary modifications to the value and return it.

  • asText - Removes any tags and converts the value to a string
  • asUCText - Removes any tags and converts the value to an uppercase string
  • asUCText - Converts the value to an uppercase string
  • asDate - Converts the value into Unix epoch time
  • asFloat - Converts the value to a floating point number
  • asInt - Converts the value to an integer number

It is also possible to create a custom sortType that can be used throughout an application.

Ext.apply(Ext.data.SortTypes, {
    asPerson: function(person){
        // expects an object with a first and last name property
        return person.lastName.toUpperCase() + person.firstName.toLowerCase();
    }    
});

Ext.define('Employee', {
    extend: 'Ext.data.Model',
    fields: [{
        name: 'person',
        sortType: 'asPerson'
    }, {
        name: 'salary',
        type: 'float' // sortType set to asFloat
    }]
});

Available since: 1.1.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

Ext.data.SortTypes
view source
: RegExp
The regular expression used to strip tags ...

The regular expression used to strip tags

Defaults to: /<\/?[^>]+>/gi

Available since: 1.1.0

Methods

Defined By

Instance methods

...

Available since: 4.0.6

Parameters

Returns

Ext.data.SortTypes
view source
( s ) : Number
Date sorting ...

Date sorting

Available since: 1.1.0

Parameters

  • s : Object

    The value being converted

Returns

Ext.data.SortTypes
view source
( s ) : Number
Float sorting ...

Float sorting

Available since: 1.1.0

Parameters

  • s : Object

    The value being converted

Returns

Ext.data.SortTypes
view source
( s ) : Number
Integer sorting ...

Integer sorting

Available since: 1.1.0

Parameters

  • s : Object

    The value being converted

Returns

Ext.data.SortTypes
view source
( s ) : String
Strips all HTML tags to sort on text only ...

Strips all HTML tags to sort on text only

Available since: 1.1.0

Parameters

  • s : Object

    The value being converted

Returns

Ext.data.SortTypes
view source
( s ) : String
Case insensitive string ...

Case insensitive string

Available since: 1.1.0

Parameters

  • s : Object

    The value being converted

Returns

Ext.data.SortTypes
view source
( s ) : String
Strips all HTML tags to sort on text only - Case insensitive ...

Strips all HTML tags to sort on text only - Case insensitive

Available since: 1.1.0

Parameters

  • s : Object

    The value being converted

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

( 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

      Ext.data.SortTypes
      view source
      ( s ) : Object
      Default sort that does nothing ...

      Default sort that does nothing

      Available since: 1.1.0

      Parameters

      • s : Object

        The value being converted

      Returns

      ( 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