Inital Import.
This commit is contained in:
commit
8a4a1edf04
12 changed files with 2074 additions and 0 deletions
57
sort/sort.js
Normal file
57
sort/sort.js
Normal file
|
@ -0,0 +1,57 @@
|
|||
$.fn.sort = function(f) {
|
||||
cur = cur.sort(function(a,b){
|
||||
if ( typeof f == 'object' )
|
||||
var ret = f(a,b);
|
||||
else
|
||||
var ret = $.fn.genericSort(a,b,f);
|
||||
|
||||
if ( a < b )
|
||||
b.parentNode.insertBefore( a, b );
|
||||
else if ( a > b )
|
||||
a.parentNode.insertBefore( b, a );
|
||||
return ret;
|
||||
});
|
||||
return this;
|
||||
}
|
||||
|
||||
$.fn.reverse = function() {
|
||||
cur[0].parentNode.appendChild( cur[0] );
|
||||
for ( var i = 1; cur && i < cur.length; i++ )
|
||||
cur[i-1].parentNode.insertBefore( cur[i], cur[i-1] );
|
||||
cur = cur.reverse();
|
||||
return this;
|
||||
}
|
||||
|
||||
$.fn.genericSort = function(a,b,c) {
|
||||
if ( typeof a == "string" || typeof b == "string" ) {
|
||||
} else if ( c != null ) {
|
||||
a = sibling(a.firstChild)[c].innerText;
|
||||
b = sibling(b.firstChild)[c].innerText;
|
||||
} else {
|
||||
a = a.innerText;
|
||||
b = b.innerText;
|
||||
}
|
||||
|
||||
// Case insensitive
|
||||
a = a.toLowerCase();
|
||||
b = b.toLowerCase();
|
||||
|
||||
// Figure out if it's an American-style date
|
||||
var re = new RegExp( "^(\d{2}).(\d{2}).(\d{2,4})$" );
|
||||
var ma = re.exec(a);
|
||||
var mb = re.exec(b);
|
||||
|
||||
if ( ma.length && mb.length ) {
|
||||
a = ma.reverse().join('');
|
||||
b = mb.reverse().join('');
|
||||
}
|
||||
|
||||
// If it contains a number, sort on that only
|
||||
if ( a.match(/\d/) ) {
|
||||
var re = new RegExp("[^0-9.-]","ig");
|
||||
a = parseFloat( a.replace( re, "" ) );
|
||||
b = parseFloat( b.replace( re, "" ) );
|
||||
}
|
||||
|
||||
return ( a < b ? -1 : ( a > b ? 1 : 0 ) );
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue