123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /*
- YUI 3.4.1 (build 4118)
- Copyright 2011 Yahoo! Inc. All rights reserved.
- Licensed under the BSD License.
- http://yuilibrary.com/license/
- */
- YUI.add('arraysort', function(Y) {
- /**
- * Provides a case-insenstive comparator which can be used for array sorting.
- *
- * @module arraysort
- */
- var LANG = Y.Lang,
- ISVALUE = LANG.isValue,
- ISSTRING = LANG.isString;
- /**
- * Provides a case-insenstive comparator which can be used for array sorrting.
- *
- * @class ArraySort
- */
- Y.ArraySort = {
- /**
- * Comparator function for simple case-insensitive string sorting.
- *
- * @method compare
- * @param a {Object} First sort argument.
- * @param b {Object} Second sort argument.
- * @param desc {Boolean} True if sort direction is descending, false if
- * sort direction is ascending.
- * @return {Boolean} Return -1 when a < b. Return 0 when a = b.
- * Return 1 when a > b.
- */
- compare: function(a, b, desc) {
- if(!ISVALUE(a)) {
- if(!ISVALUE(b)) {
- return 0;
- }
- else {
- return 1;
- }
- }
- else if(!ISVALUE(b)) {
- return -1;
- }
- if(ISSTRING(a)) {
- a = a.toLowerCase();
- }
- if(ISSTRING(b)) {
- b = b.toLowerCase();
- }
- if(a < b) {
- return (desc) ? 1 : -1;
- }
- else if (a > b) {
- return (desc) ? -1 : 1;
- }
- else {
- return 0;
- }
- }
- };
- }, '3.4.1' ,{requires:['yui-base']});
|