forked from joequery/Stupid-Table-Plugin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstupidtable.min.js
1 lines (1 loc) · 1.22 KB
/
stupidtable.min.js
1
(function(a){a.fn.stupidtable=function(b){var c=this;b=b||{};b=a.extend({},{"int":function(a,b){return parseInt(a,10)-parseInt(b,10)},"float":function(a,b){return parseFloat(a)-parseFloat(b)},string:function(a,b){if(a<b)return-1;if(a>b)return+1;return 0}},b);var d=function(a,b){return!!a&&!!b&&!(a<b||b<a)};var e=function(b,c){var d=b.slice(0).sort(c);var e=[];var f=0;for(var g=0;g<b.length;g++){f=a.inArray(b[g],d);while(a.inArray(f,e)!=-1){f++}e.push(f)}return e};var f=function(a,b){var c=a.slice(0);for(var d=0;d<b.length;d++){newIndex=b[d];c[newIndex]=a[d]}return c};var g=function(a,b){var c=a.slice(0);var e=a.slice(0).reverse();var f=a.slice(0).sort(b);return d(c,f)||d(e,f)};c.delegate("th","click",function(){var d=c.find("tbody tr");var h=a(this).index();var i=a(this).attr("class");var j=null;if(i){i=i.split(/\s+/);for(var k=0;k<i.length;k++){if(i[k].search("type-")!=-1){j=i[k];break}}if(j){j=j.split("-")[1]}else{j="string"}}if(!j){return false}var l=b[j];column=[];d.each(function(b,c){var d=a(c).children().eq(h);var e=d.attr("data-order-by")||d.text();column.push(e)});if(g(column,l)){column.reverse();var m=[];for(var h=column.length-1;h>=0;h--){m.push(h)}}else{m=e(column,l)}var n=a(f(d,m));c.find("tbody").append(n)})}})(jQuery)