3 * Copyright(c) 2006-2009 Ext JS, LLC
5 * http://www.extjs.com/license
9 * @class Ext.data.SortTypes
\r
11 * Defines the default sorting (casting?) comparison functions used when sorting data.
\r
13 Ext.data.SortTypes = {
\r
15 * Default sort that does nothing
\r
16 * @param {Mixed} s The value being converted
\r
17 * @return {Mixed} The comparison value
\r
24 * The regular expression used to strip tags
\r
28 stripTagsRE : /<\/?[^>]+>/gi,
\r
31 * Strips all HTML tags to sort on text only
\r
32 * @param {Mixed} s The value being converted
\r
33 * @return {String} The comparison value
\r
35 asText : function(s){
\r
36 return String(s).replace(this.stripTagsRE, "");
\r
40 * Strips all HTML tags to sort on text only - Case insensitive
\r
41 * @param {Mixed} s The value being converted
\r
42 * @return {String} The comparison value
\r
44 asUCText : function(s){
\r
45 return String(s).toUpperCase().replace(this.stripTagsRE, "");
\r
49 * Case insensitive string
\r
50 * @param {Mixed} s The value being converted
\r
51 * @return {String} The comparison value
\r
53 asUCString : function(s) {
\r
54 return String(s).toUpperCase();
\r
59 * @param {Mixed} s The value being converted
\r
60 * @return {Number} The comparison value
\r
62 asDate : function(s) {
\r
69 return Date.parse(String(s));
\r
74 * @param {Mixed} s The value being converted
\r
75 * @return {Float} The comparison value
\r
77 asFloat : function(s) {
\r
78 var val = parseFloat(String(s).replace(/,/g, ""));
\r
79 return isNaN(val) ? 0 : val;
\r
84 * @param {Mixed} s The value being converted
\r
85 * @return {Number} The comparison value
\r
87 asInt : function(s) {
\r
88 var val = parseInt(String(s).replace(/,/g, ""), 10);
\r
89 return isNaN(val) ? 0 : val;
\r