/*!
- * Ext JS Library 3.2.0
- * Copyright(c) 2006-2010 Ext JS, Inc.
- * licensing@extjs.com
- * http://www.extjs.com/license
+ * Ext JS Library 3.3.1
+ * Copyright(c) 2006-2010 Sencha Inc.
+ * licensing@sencha.com
+ * http://www.sencha.com/license
*/
Ext.ns('Ext.ux.tree');
tree.on('headerclick', this.onHeaderClick, this);
tree.ddAppendOnly = true;
- me = this;
+ var me = this;
this.defaultSortFn = function(n1, n2){
- var dsc = me.dir && me.dir.toLowerCase() == 'desc';
- var p = me.property || 'text';
- var sortType = me.sortType;
- var fs = me.folderSort;
- var cs = me.caseSensitive === true;
- var leafAttr = me.leafAttr || 'leaf';
+ var desc = me.dir && me.dir.toLowerCase() == 'desc',
+ prop = me.property || 'text',
+ sortType = me.sortType,
+ caseSensitive = me.caseSensitive === true,
+ leafAttr = me.leafAttr || 'leaf',
+ attr1 = n1.attributes,
+ attr2 = n2.attributes;
- if(fs){
- if(n1.attributes[leafAttr] && !n2.attributes[leafAttr]){
+ if(me.folderSort){
+ if(attr1[leafAttr] && !attr2[leafAttr]){
return 1;
}
- if(!n1.attributes[leafAttr] && n2.attributes[leafAttr]){
+ if(!attr1[leafAttr] && attr2[leafAttr]){
return -1;
}
}
- var v1 = sortType ? sortType(n1) : (cs ? n1.attributes[p] : n1.attributes[p].toUpperCase());
- var v2 = sortType ? sortType(n2) : (cs ? n2.attributes[p] : n2.attributes[p].toUpperCase());
+ var prop1 = attr1[prop],
+ prop2 = attr2[prop],
+ v1 = sortType ? sortType(prop1) : (caseSensitive ? prop1 : prop1.toUpperCase());
+ v2 = sortType ? sortType(prop2) : (caseSensitive ? prop2 : prop2.toUpperCase());
+
if(v1 < v2){
- return dsc ? +1 : -1;
+ return desc ? +1 : -1;
}else if(v1 > v2){
- return dsc ? -1 : +1;
+ return desc ? -1 : +1;
}else{
return 0;
}
// private
updateSortIcon : function(col, dir){
- var sc = this.sortClasses;
- var hds = this.tree.innerHd.select('td').removeClass(sc);
+ var sc = this.sortClasses,
+ hds = this.tree.innerHd.select('td').removeClass(sc);
hds.item(col).addClass(sc[dir == 'desc' ? 1 : 0]);
}
});
\ No newline at end of file