X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6a7e4474cba9d8be4b2ec445e10f1691f7277c50..f562e4c6e5fac7bcb445985b99acbea4d706e6f0:/docs/source/SortTypes.html diff --git a/docs/source/SortTypes.html b/docs/source/SortTypes.html index efa51103..6171d7a2 100644 --- a/docs/source/SortTypes.html +++ b/docs/source/SortTypes.html @@ -1,70 +1,113 @@ +
- +/*! - * Ext JS Library 3.2.0 - * Copyright(c) 2006-2010 Ext JS, Inc. - * licensing@extjs.com - * http://www.extjs.com/license - */ + +- \ No newline at end of file +/** + * @class Ext.data.SortTypes + * This class defines a series of static methods that are used on a + * {@link 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 {@link 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. + * <ul> + * <li><b>asText</b> - Removes any tags and converts the value to a string</li> + * <li><b>asUCText</b> - Removes any tags and converts the value to an uppercase string</li> + * <li><b>asUCText</b> - Converts the value to an uppercase string</li> + * <li><b>asDate</b> - Converts the value into Unix epoch time</li> + * <li><b>asFloat</b> - Converts the value to a floating point number</li> + * <li><b>asInt</b> - Converts the value to an integer number</li> + * </ul> + * <p> + * It is also possible to create a custom sortType that can be used throughout + * an application. + * <pre><code> +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(); + } +}); -/** - * @class Ext.data.SortTypes +Ext.define('Employee', { + extend: 'Ext.data.Model', + fields: [{ + name: 'person', + sortType: 'asPerson' + }, { + name: 'salary', + type: 'float' // sortType set to asFloat + }] +}); + * </code></pre> + * </p> * @singleton - * Defines the default sorting (casting?) comparison functions used when sorting data. + * @docauthor Evan Trimboli <evan@sencha.com> */ -Ext.data.SortTypes = { - /** - * Default sort that does nothing - * @param {Mixed} s The value being converted - * @return {Mixed} The comparison value +Ext.define('Ext.data.SortTypes', { + + singleton: true, + + /** + * Default sort that does nothing + * @param {Object} s The value being converted + * @return {Object} The comparison value */ - none : function(s){ + none : function(s) { return s; }, - - /** - * The regular expression used to strip tags + + /** + * The regular expression used to strip tags * @type {RegExp} * @property */ - stripTagsRE : /<\/?[^>]+>/gi, - - /** - * Strips all HTML tags to sort on text only - * @param {Mixed} s The value being converted + stripTagsRE : /<\/?[^>]+>/gi, + + /** + * Strips all HTML tags to sort on text only + * @param {Object} s The value being converted * @return {String} The comparison value */ - asText : function(s){ - return String(s).replace(this.stripTagsRE, ""); + asText : function(s) { + return String(s).replace(this.stripTagsRE, ""); }, - - /** - * Strips all HTML tags to sort on text only - Case insensitive - * @param {Mixed} s The value being converted + + /** + * Strips all HTML tags to sort on text only - Case insensitive + * @param {Object} s The value being converted * @return {String} The comparison value */ - asUCText : function(s){ - return String(s).toUpperCase().replace(this.stripTagsRE, ""); + asUCText : function(s) { + return String(s).toUpperCase().replace(this.stripTagsRE, ""); }, - - /** - * Case insensitive string - * @param {Mixed} s The value being converted + + /** + * Case insensitive string + * @param {Object} s The value being converted * @return {String} The comparison value */ asUCString : function(s) { - return String(s).toUpperCase(); + return String(s).toUpperCase(); }, - - /** - * Date sorting - * @param {Mixed} s The value being converted + + /** + * Date sorting + * @param {Object} s The value being converted * @return {Number} The comparison value */ asDate : function(s) { @@ -74,28 +117,28 @@ Ext.data.SortTypes = { if(Ext.isDate(s)){ return s.getTime(); } - return Date.parse(String(s)); + return Date.parse(String(s)); }, - - /** - * Float sorting - * @param {Mixed} s The value being converted - * @return {Float} The comparison value + + /** + * Float sorting + * @param {Object} s The value being converted + * @return {Number} The comparison value */ asFloat : function(s) { - var val = parseFloat(String(s).replace(/,/g, "")); - return isNaN(val) ? 0 : val; + var val = parseFloat(String(s).replace(/,/g, "")); + return isNaN(val) ? 0 : val; }, - - /** - * Integer sorting - * @param {Mixed} s The value being converted + + /** + * Integer sorting + * @param {Object} s The value being converted * @return {Number} The comparison value */ asInt : function(s) { - var val = parseInt(String(s).replace(/,/g, ""), 10); + var val = parseInt(String(s).replace(/,/g, ""), 10); return isNaN(val) ? 0 : val; } -};+});