⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sorter.js

📁 ajax框架原吗,dojo目前很流行的,希望大家多多学习啊
💻 JS
字号:
if(!dojo._hasResource["dojo.data.util.sorter"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojo.data.util.sorter"] = true;dojo.provide("dojo.data.util.sorter");dojo.data.util.sorter.basicComparator = function(	/*anything*/ a, 													/*anything*/ b){	//	summary:  	//		Basic comparision function that compares if an item is greater or less than another item	//	description:  	//		returns 1 if a > b, -1 if a < b, 0 if equal.	//		undefined values are treated as larger values so that they're pushed to the end of the list.	var ret = 0;	if(a > b || typeof a === "undefined" || a === null){		ret = 1;	}else if(a < b || typeof b === "undefined" || b === null){		ret = -1;	}	return ret; //int, {-1,0,1}};dojo.data.util.sorter.createSortFunction = function(	/* attributes array */sortSpec,														/*dojo.data.core.Read*/ store){	//	summary:  	//		Helper function to generate the sorting function based off the list of sort attributes.	//	description:  	//		The sort function creation will look for a property on the store called 'comparatorMap'.  If it exists	//		it will look in the mapping for comparisons function for the attributes.  If one is found, it will	//		use it instead of the basic comparator, which is typically used for strings, ints, booleans, and dates.	//		Returns the sorting function for this particular list of attributes and sorting directions.	//	//	sortSpec: array	//		A JS object that array that defines out what attribute names to sort on and whether it should be descenting or asending.	//		The objects should be formatted as follows:	//		{	//			attribute: "attributeName-string" || attribute,	//			descending: true|false;   // Default is false.	//		}	//	store: object	//		The datastore object to look up item values from.	//	var sortFunctions=[];   	function createSortFunction(attr, dir){		return function(itemA, itemB){			var a = store.getValue(itemA, attr);			var b = store.getValue(itemB, attr);			//See if we have a override for an attribute comparison.			var comparator = null;			if(store.comparatorMap){				if(typeof attr !== "string"){					 attr = store.getIdentity(attr);				}				comparator = store.comparatorMap[attr]||dojo.data.util.sorter.basicComparator;			}			comparator = comparator||dojo.data.util.sorter.basicComparator; 			return dir * comparator(a,b); //int		};	}	for(var i = 0; i < sortSpec.length; i++){		sortAttribute = sortSpec[i];		if(sortAttribute.attribute){			var direction = (sortAttribute.descending) ? -1 : 1;			sortFunctions.push(createSortFunction(sortAttribute.attribute, direction));		}	}	return function(rowA, rowB){		var i=0;		while(i < sortFunctions.length){			var ret = sortFunctions[i++](rowA, rowB);			if(ret !== 0){				return ret;//int			}		}		return 0; //int  	};  //  Function};}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -