Clear Up
SharpKit Reference

SortTypes Class

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

Namespace: Ext.data

Base Types

Methods

Name Description
asDate(object) Date sorting
asFloat(object) Float sorting
asInt(object) Integer sorting
asText(object) Strips all HTML tags to sort on text only
asUCString(object) Case insensitive string
asUCText(object) Strips all HTML tags to sort on text only - Case insensitive
callOverridden(object) Call the original method that was previously overridden with override
  Ext.define('My.Cat', {
            constructor: function() {
            alert("I'm a cat!");
            }
            });
            My.Cat.override({
            constructor: function() {
            alert("I'm going to be a cat!");
            this.callOverridden();
            alert("Meeeeoooowwww");
            }
            });
            var kitty = new My.Cat(); // alerts "I'm going to be a cat!"
            // alerts "I'm a cat!"
            // alerts "Meeeeoooowwww"
            

This method has been deprecated

as of 4.1. Use callParent instead.

callParent(object) Call the "parent" method of the current method. That is the method previously overridden by derivation or by an override (see Ext.define).
  Ext.define('My.Base', {
            constructor: function (x) {
            this.x = x;
            },
            statics: {
            method: function (x) {
            return x;
            }
            }
            });
            Ext.define('My.Derived', {
            extend: 'My.Base',
            constructor: function () {
            this.callParent([21]);
            }
            });
            var obj = new My.Derived();
            alert(obj.x);  // alerts 21
            
This can be used with an override as follows:
  Ext.define('My.DerivedOverride', {
            override: 'My.Derived',
            constructor: function (x) {
            this.callParent([x*2]); // calls original My.Derived constructor
            }
            });
            var obj = new My.Derived();
            alert(obj.x);  // now alerts 42
            
This also works with static methods.
  Ext.define('My.Derived2', {
            extend: 'My.Base',
            statics: {
            method: function (x) {
            return this.callParent([x*2]); // calls My.Base.method
            }
            }
            });
            alert(My.Base.method(10);     // alerts 10
            alert(My.Derived2.method(10); // alerts 20
            
Lastly, it also works with overridden static methods.
  Ext.define('My.Derived2Override', {
            override: 'My.Derived2',
            statics: {
            method: function (x) {
            return this.callParent([x*2]); // calls My.Derived2.method
            }
            }
            });
            alert(My.Derived2.method(10); // now alerts 40
            
getInitialConfig(object) Returns the initial configuration passed to constructor when instantiating this class.
initConfig(object) 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);
            }
            });
            var awesome = new My.awesome.Class({
            name: 'Super Awesome'
            });
            alert(awesome.getName()); // 'Super Awesome'
            
none(object) Default sort that does nothing
statics() 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++;
            },
            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
            

Properties

Name Description
stripTagsRE The regular expression used to strip tags Defaults to: /<\/?[^>]+>/gi
© Copyright 2005-2011 SharpKit. All rights reserved.