summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2015-06-24 21:30:44 -0400
committerTed Trask <ttrask01@yahoo.com>2015-06-24 21:30:44 -0400
commit59fad96f7a1e4adabc435d1af4372331014184a3 (patch)
tree82fcb8153a6df3c999081fa43c45e9f82d2af5aa
parent9eeb5f31e63d19f471bbc4c09dac0eabed430c11 (diff)
downloadacf-jquery-59fad96f7a1e4adabc435d1af4372331014184a3.tar.bz2
acf-jquery-59fad96f7a1e4adabc435d1af4372331014184a3.tar.xz
Bump tablesorter to 2.22.1 and add some widgets and new themes
https://github.com/Mottie/tablesorter/archive/v2.22.1.zip js minified using http://javascript-minifier.com/ and headers maintained
-rw-r--r--Makefile7
-rw-r--r--jquery.tablesorter.js23
-rw-r--r--jquery.tablesorter.widgets.js10
-rw-r--r--tablesorter/first.pngbin0 -> 720 bytes
-rw-r--r--tablesorter/last.pngbin0 -> 737 bytes
-rw-r--r--tablesorter/next.pngbin0 -> 736 bytes
-rw-r--r--tablesorter/prev.pngbin0 -> 745 bytes
-rw-r--r--tablesorter/theme.black-ice.css30
-rw-r--r--tablesorter/theme.blue.css34
-rw-r--r--tablesorter/theme.bootstrap.css87
-rw-r--r--tablesorter/theme.bootstrap_2.css157
-rw-r--r--tablesorter/theme.dark.css32
-rw-r--r--tablesorter/theme.default.css31
-rw-r--r--tablesorter/theme.dropbox.css61
-rw-r--r--tablesorter/theme.green.css66
-rw-r--r--tablesorter/theme.grey.css56
-rw-r--r--tablesorter/theme.ice.css49
-rw-r--r--tablesorter/theme.jui.css41
-rw-r--r--tablesorter/theme.metro-dark.css197
-rw-r--r--widgets/widget-pager.js6
20 files changed, 718 insertions, 169 deletions
diff --git a/Makefile b/Makefile
index 145eb03..990229e 100644
--- a/Makefile
+++ b/Makefile
@@ -4,6 +4,7 @@ VERSION=0.3.1
APP_DIST=\
*.js\
+ widgets/*.js\
STATIC_DIST=\
tablesorter/*\
@@ -27,7 +28,11 @@ dist: $(tarball)
install:
mkdir -p "$(install_dir)"
- cp -a $(APP_DIST) "$(install_dir)"
+ for i in $(APP_DIST); do\
+ dest=`dirname "$(install_dir)/$$i"`;\
+ mkdir -p "$$dest";\
+ cp "$$i" "$$dest";\
+ done
mkdir -p "$(static_dir)"
cp -a $(STATIC_DIST) "$(static_dir)"
diff --git a/jquery.tablesorter.js b/jquery.tablesorter.js
index f7acd9c..9b6c90f 100644
--- a/jquery.tablesorter.js
+++ b/jquery.tablesorter.js
@@ -1,5 +1,22 @@
-/*!
-* TableSorter 2.10.8 min - Client-side table sorting with ease!
+/*! TableSorter (FORK) v2.22.1 *//*
+* Client-side table sorting with ease!
+* @requires jQuery v1.2.6+
+*
* Copyright (c) 2007 Christian Bach
+* fork maintained by Rob Garrison
+*
+* Examples and docs at: http://tablesorter.com
+* Dual licensed under the MIT and GPL licenses:
+* http://www.opensource.org/licenses/mit-license.php
+* http://www.gnu.org/licenses/gpl.html
+*
+* @type jQuery
+* @name tablesorter (FORK)
+* @cat Plugins/Tablesorter
+* @author Christian Bach - christian.bach@polyester.se
+* @contributor Rob Garrison - https://github.com/Mottie/tablesorter
*/
-!function(f){f.extend({tablesorter:new function(){function c(d){"undefined"!==typeof console&&"undefined"!==typeof console.log?console.log(d):alert(d)}function t(d,b){c(d+" ("+((new Date).getTime()-b.getTime())+"ms)")}function r(d,b,a){if(!b)return"";var e=d.config,c=e.textExtraction,l="",l="simple"===c?e.supportsTextContent?b.textContent:f(b).text():"function"===typeof c?c(b,d,a):"object"===typeof c&&c.hasOwnProperty(a)?c[a](b,d,a):e.supportsTextContent?b.textContent:f(b).text();return f.trim(l)} function j(d){var b=d.config,a=b.$tbodies=b.$table.children("tbody:not(."+b.cssInfoBlock+")"),e,u,l,p,n,k,h="";if(0===a.length)return b.debug?c("*Empty table!* Not building a parser cache"):"";a=a[0].rows;if(a[0]){e=[];u=a[0].cells.length;for(l=0;l<u;l++){p=b.$headers.filter(":not([colspan])");p=p.add(b.$headers.filter('[colspan="1"]')).filter('[data-column="'+l+'"]:last');n=b.headers[l];k=g.getParserById(g.getData(p,n,"sorter"));b.empties[l]=g.getData(p,n,"empty")||b.emptyTo||(b.emptyToBottom?"bottom": "top");b.strings[l]=g.getData(p,n,"string")||b.stringTo||"max";if(!k)a:{p=d;n=a;k=-1;for(var f=l,m=void 0,t=g.parsers.length,F=!1,D="",m=!0;""===D&&m;)k++,n[k]?(F=n[k].cells[f],D=r(p,F,f),p.config.debug&&c("Checking if value was empty on row "+k+", column: "+f+': "'+D+'"')):m=!1;for(;0<=--t;)if((m=g.parsers[t])&&"text"!==m.id&&m.is&&m.is(D,p,F)){k=m;break a}k=g.getParserById("text")}b.debug&&(h+="column:"+l+"; parser:"+k.id+"; string:"+b.strings[l]+"; empty: "+b.empties[l]+"\n");e.push(k)}}b.debug&& c(h);b.parsers=e}function v(d){var b=d.tBodies,a=d.config,e,u,l=a.parsers,p,n,k,h,q,m,H,j=[];a.cache={};if(!l)return a.debug?c("*Empty table!* Not building a cache"):"";a.debug&&(H=new Date);a.showProcessing&&g.isProcessing(d,!0);for(h=0;h<b.length;h++)if(a.cache[h]={row:[],normalized:[]},!f(b[h]).hasClass(a.cssInfoBlock)){e=b[h]&&b[h].rows.length||0;u=b[h].rows[0]&&b[h].rows[0].cells.length||0;for(n=0;n<e;++n)if(q=f(b[h].rows[n]),m=[],q.hasClass(a.cssChildRow))a.cache[h].row[a.cache[h].row.length- 1]=a.cache[h].row[a.cache[h].row.length-1].add(q);else{a.cache[h].row.push(q);for(k=0;k<u;++k)if(p=r(d,q[0].cells[k],k),p=l[k].format(p,d,q[0].cells[k],k),m.push(p),"numeric"===(l[k].type||"").toLowerCase())j[k]=Math.max(Math.abs(p)||0,j[k]||0);m.push(a.cache[h].normalized.length);a.cache[h].normalized.push(m)}a.cache[h].colMax=j}a.showProcessing&&g.isProcessing(d);a.debug&&t("Building cache for "+e+" rows",H)}function x(d,b){var a=d.config,e=d.tBodies,c=[],l=a.cache,p,n,k,h,q,m,r,j,D,s,v;if(l[0]){a.debug&& (v=new Date);for(j=0;j<e.length;j++)if(p=f(e[j]),p.length&&!p.hasClass(a.cssInfoBlock)){q=g.processTbody(d,p,!0);p=l[j].row;n=l[j].normalized;h=(k=n.length)?n[0].length-1:0;for(m=0;m<k;m++)if(s=n[m][h],c.push(p[s]),!a.appender||!a.removeRows){D=p[s].length;for(r=0;r<D;r++)q.append(p[s][r])}g.processTbody(d,q,!1)}a.appender&&a.appender(d,c);a.debug&&t("Rebuilt table",v);b||g.applyWidget(d);f(d).trigger("sortEnd",d)}}function A(d){var b=[],a={},e=0,u=f(d).find("thead:eq(0), tfoot").children("tr"),l, p,n,k,h,q,m,j,r,s;for(l=0;l<u.length;l++){h=u[l].cells;for(p=0;p<h.length;p++){k=h[p];q=k.parentNode.rowIndex;m=q+"-"+k.cellIndex;j=k.rowSpan||1;r=k.colSpan||1;"undefined"===typeof b[q]&&(b[q]=[]);for(n=0;n<b[q].length+1;n++)if("undefined"===typeof b[q][n]){s=n;break}a[m]=s;e=Math.max(s,e);f(k).attr({"data-column":s});for(n=q;n<q+j;n++){"undefined"===typeof b[n]&&(b[n]=[]);m=b[n];for(k=s;k<s+r;k++)m[k]="x"}}}d.config.columns=e;var v,B,x,A,z,y,C,w=d.config;w.headerList=[];w.headerContent=[];w.debug&& (C=new Date);A=w.cssIcon?'<i class="'+w.cssIcon+'"></i>':"";w.$headers=f(d).find(w.selectorHeaders).each(function(d){B=f(this);v=w.headers[d];w.headerContent[d]=this.innerHTML;z=w.headerTemplate.replace(/\{content\}/g,this.innerHTML).replace(/\{icon\}/g,A);w.onRenderTemplate&&(x=w.onRenderTemplate.apply(B,[d,z]))&&"string"===typeof x&&(z=x);this.innerHTML='<div class="tablesorter-header-inner">'+z+"</div>";w.onRenderHeader&&w.onRenderHeader.apply(B,[d]);this.column=a[this.parentNode.rowIndex+"-"+ this.cellIndex];var b=g.getData(B,v,"sortInitialOrder")||w.sortInitialOrder;this.order=/^d/i.test(b)||1===b?[1,0,2]:[0,1,2];this.count=-1;this.lockedOrder=!1;y=g.getData(B,v,"lockedOrder")||!1;"undefined"!==typeof y&&!1!==y&&(this.order=this.lockedOrder=/^d/i.test(y)||1===y?[1,1,1]:[0,0,0]);B.addClass(w.cssHeader);w.headerList[d]=this;B.parent().addClass(w.cssHeaderRow);B.attr("tabindex",0)});E(d);w.debug&&(t("Built headers:",C),c(w.$headers))}function y(d,b,a){var e=d.config;e.$table.find(e.selectorRemove).remove(); j(d);v(d);G(e.$table,b,a)}function E(d){var b,a=d.config;a.$headers.each(function(d,c){b="false"===g.getData(c,a.headers[d],"sorter");c.sortDisabled=b;f(c)[b?"addClass":"removeClass"]("sorter-false")})}function C(d){var b,a,e,c=d.config,l=c.sortList,p=[c.cssAsc,c.cssDesc],g=f(d).find("tfoot tr").children().removeClass(p.join(" "));c.$headers.removeClass(p.join(" "));e=l.length;for(b=0;b<e;b++)if(2!==l[b][1]&&(d=c.$headers.not(".sorter-false").filter('[data-column="'+l[b][0]+'"]'+(1===e?":last":"")), d.length))for(a=0;a<d.length;a++)d[a].sortDisabled||(d.eq(a).addClass(p[l[b][1]]),g.length&&g.filter('[data-column="'+l[b][0]+'"]').eq(a).addClass(p[l[b][1]]))}function z(d){var b=0,a=d.config,e=a.sortList,c=e.length,l=d.tBodies.length,p,g,k,h,q,m,j,r,s;if(!a.serverSideSorting&&a.cache[0]){a.debug&&(p=new Date);for(k=0;k<l;k++)q=a.cache[k].colMax,s=(m=a.cache[k].normalized)&&m[0]?m[0].length-1:0,m.sort(function(l,p){for(g=0;g<c;g++){h=e[g][0];r=e[g][1];j=/n/i.test(a.parsers&&a.parsers[h]?a.parsers[h].type|| "":"")?"Numeric":"Text";j+=0===r?"":"Desc";/Numeric/.test(j)&&a.strings[h]&&(b="boolean"===typeof a.string[a.strings[h]]?(0===r?1:-1)*(a.string[a.strings[h]]?-1:1):a.strings[h]?a.string[a.strings[h]]||0:0);var k=f.tablesorter["sort"+j](d,l[h],p[h],h,q[h],b);if(k)return k}return l[s]-p[s]});a.debug&&t("Sorting on "+e.toString()+" and dir "+r+" time",p)}}function I(d,b){d.trigger("updateComplete");"function"===typeof b&&b(d[0])}function G(d,b,a){!1!==b&&!d[0].isProcessing?d.trigger("sorton",[d[0].config.sortList, function(){I(d,a)}]):I(d,a)}function J(d){var b=d.config,a=b.$table,e,c;b.$headers.find(b.selectorSort).add(b.$headers.filter(b.selectorSort)).unbind("mousedown.tablesorter mouseup.tablesorter sort.tablesorter keypress.tablesorter").bind("mousedown.tablesorter mouseup.tablesorter sort.tablesorter keypress.tablesorter",function(a,e){if(1!==(a.which||a.button)&&!/sort|keypress/.test(a.type)||"keypress"===a.type&&13!==a.which||"mouseup"===a.type&&!0!==e&&250<(new Date).getTime()-c)return!1;if("mousedown"=== a.type)return c=(new Date).getTime(),"INPUT"===a.target.tagName?"":!b.cancelSelection;b.delayInit&&!b.cache&&v(d);var n=(/TH|TD/.test(this.tagName)?f(this):f(this).parents("th, td").filter(":first"))[0];if(!n.sortDisabled){var k,h,q,m=d.config,j=!a[m.sortMultiSortKey],r=f(d);r.trigger("sortStart",d);n.count=a[m.sortResetKey]?2:(n.count+1)%(m.sortReset?3:2);m.sortRestart&&(h=n,m.$headers.each(function(){if(this!==h&&(j||!f(this).is("."+m.cssDesc+",."+m.cssAsc)))this.count=-1}));h=n.column;if(j){m.sortList= [];if(null!==m.sortForce){k=m.sortForce;for(q=0;q<k.length;q++)k[q][0]!==h&&m.sortList.push(k[q])}k=n.order[n.count];if(2>k&&(m.sortList.push([h,k]),1<n.colSpan))for(q=1;q<n.colSpan;q++)m.sortList.push([h+q,k])}else if(m.sortAppend&&1<m.sortList.length&&g.isValueInArray(m.sortAppend[0][0],m.sortList)&&m.sortList.pop(),g.isValueInArray(h,m.sortList))for(q=0;q<m.sortList.length;q++)n=m.sortList[q],k=m.headerList[n[0]],n[0]===h&&(n[1]=k.order[k.count],2===n[1]&&(m.sortList.splice(q,1),k.count=-1));else if(k= n.order[n.count],2>k&&(m.sortList.push([h,k]),1<n.colSpan))for(q=1;q<n.colSpan;q++)m.sortList.push([h+q,k]);if(null!==m.sortAppend){k=m.sortAppend;for(q=0;q<k.length;q++)k[q][0]!==h&&m.sortList.push(k[q])}r.trigger("sortBegin",d);setTimeout(function(){C(d);z(d);x(d)},1)}});b.cancelSelection&&b.$headers.attr("unselectable","on").bind("selectstart",!1).css({"user-select":"none",MozUserSelect:"none"});a.unbind("sortReset update updateRows updateCell updateAll addRows sorton appendCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave ".split(" ").join(".tablesorter ")).bind("sortReset.tablesorter", function(a){a.stopPropagation();b.sortList=[];C(d);z(d);x(d)}).bind("updateAll.tablesorter",function(a,b,e){a.stopPropagation();g.refreshWidgets(d,!0,!0);g.restoreHeaders(d);A(d);J(d);y(d,b,e)}).bind("update.tablesorter updateRows.tablesorter",function(a,b,e){a.stopPropagation();E(d);y(d,b,e)}).bind("updateCell.tablesorter",function(e,c,g,k){e.stopPropagation();a.find(b.selectorRemove).remove();var h,q,m;h=a.find("tbody");e=h.index(f(c).parents("tbody").filter(":first"));var u=f(c).parents("tr").filter(":first"); c=f(c)[0];h.length&&0<=e&&(q=h.eq(e).find("tr").index(u),m=c.cellIndex,h=b.cache[e].normalized[q].length-1,b.cache[e].row[d.config.cache[e].normalized[q][h]]=u,b.cache[e].normalized[q][m]=b.parsers[m].format(r(d,c,m),d,c,m),G(a,g,k))}).bind("addRows.tablesorter",function(c,g,f,k){c.stopPropagation();var h=g.filter("tr").length,u=[],m=g[0].cells.length,t=a.find("tbody").index(g.parents("tbody").filter(":first"));b.parsers||j(d);for(c=0;c<h;c++){for(e=0;e<m;e++)u[e]=b.parsers[e].format(r(d,g[c].cells[e], e),d,g[c].cells[e],e);u.push(b.cache[t].row.length);b.cache[t].row.push([g[c]]);b.cache[t].normalized.push(u);u=[]}G(a,f,k)}).bind("sorton.tablesorter",function(b,e,c,g){b.stopPropagation();a.trigger("sortStart",this);var h,u,m,j=d.config;b=e||j.sortList;j.sortList=[];f.each(b,function(a,b){h=[parseInt(b[0],10),parseInt(b[1],10)];if(m=j.headerList[h[0]])j.sortList.push(h),u=f.inArray(h[1],m.order),m.count=0<=u?u:h[1]%(j.sortReset?3:2)});C(d);a.trigger("sortBegin",this);z(d);x(d,g);"function"===typeof c&& c(d)}).bind("appendCache.tablesorter",function(a,b,e){a.stopPropagation();x(d,e);"function"===typeof b&&b(d)}).bind("applyWidgetId.tablesorter",function(a,e){a.stopPropagation();g.getWidgetById(e).format(d,b,b.widgetOptions)}).bind("applyWidgets.tablesorter",function(a,b){a.stopPropagation();g.applyWidget(d,b)}).bind("refreshWidgets.tablesorter",function(a,b,e){a.stopPropagation();g.refreshWidgets(d,b,e)}).bind("destroy.tablesorter",function(a,b,e){a.stopPropagation();g.destroy(d,b,e)})}var g=this; g.version="2.10.8";g.parsers=[];g.widgets=[];g.defaults={theme:"default",widthFixed:!1,showProcessing:!1,headerTemplate:"{content}",onRenderTemplate:null,onRenderHeader:null,cancelSelection:!0,dateFormat:"mmddyyyy",sortMultiSortKey:"shiftKey",sortResetKey:"ctrlKey",usNumberFormat:!0,delayInit:!1,serverSideSorting:!1,headers:{},ignoreCase:!0,sortForce:null,sortList:[],sortAppend:null,sortInitialOrder:"asc",sortLocaleCompare:!1,sortReset:!1,sortRestart:!1,emptyTo:"bottom",stringTo:"max",textExtraction:"simple", textSorter:null,widgets:[],widgetOptions:{zebra:["even","odd"]},initWidgets:!0,initialized:null,tableClass:"tablesorter",cssAsc:"tablesorter-headerAsc",cssChildRow:"tablesorter-childRow",cssDesc:"tablesorter-headerDesc",cssHeader:"tablesorter-header",cssHeaderRow:"tablesorter-headerRow",cssIcon:"tablesorter-icon",cssInfoBlock:"tablesorter-infoOnly",cssProcessing:"tablesorter-processing",selectorHeaders:"> thead th, > thead td",selectorSort:"th, td",selectorRemove:".remove-me",debug:!1,headerList:[], empties:{},strings:{},parsers:[]};g.log=c;g.benchmark=t;g.construct=function(d){return this.each(function(){if(!this.tHead||0===this.tBodies.length||!0===this.hasInitialized)return this.config&&this.config.debug?c("stopping initialization! No thead, tbody or tablesorter has already been initialized"):"";var b=f(this),a=this,e,u="",l=f.metadata;a.hasInitialized=!1;a.isProcessing=!0;a.config={};e=f.extend(!0,a.config,g.defaults,d);f.data(a,"tablesorter",e);e.debug&&f.data(a,"startoveralltimer",new Date); e.supportsTextContent="x"===f("<span>x</span>")[0].textContent;e.supportsDataObject=1.4<=parseFloat(f.fn.jquery);e.string={max:1,min:-1,"max+":1,"max-":-1,zero:0,none:0,"null":0,top:!0,bottom:!1};/tablesorter\-/.test(b.attr("class"))||(u=""!==e.theme?" tablesorter-"+e.theme:"");e.$table=b.addClass(e.tableClass+u);e.$tbodies=b.children("tbody:not(."+e.cssInfoBlock+")");A(a);if(a.config.widthFixed&&0===f(a).find("colgroup").length){var p=f("<colgroup>"),n=f(a).width();f(a.tBodies[0]).find("tr:first").children("td").each(function(){p.append(f("<col>").css("width", parseInt(1E3*(f(this).width()/n),10)/10+"%"))});f(a).prepend(p)}j(a);e.delayInit||v(a);J(a);e.supportsDataObject&&"undefined"!==typeof b.data().sortlist?e.sortList=b.data().sortlist:l&&(b.metadata()&&b.metadata().sortlist)&&(e.sortList=b.metadata().sortlist);g.applyWidget(a,!0);0<e.sortList.length?b.trigger("sorton",[e.sortList,{},!e.initWidgets]):e.initWidgets&&g.applyWidget(a);e.showProcessing&&b.unbind("sortBegin.tablesorter sortEnd.tablesorter").bind("sortBegin.tablesorter sortEnd.tablesorter", function(b){g.isProcessing(a,"sortBegin"===b.type)});a.hasInitialized=!0;a.isProcessing=!1;e.debug&&g.benchmark("Overall initialization time",f.data(a,"startoveralltimer"));b.trigger("tablesorter-initialized",a);"function"===typeof e.initialized&&e.initialized(a)})};g.isProcessing=function(d,b,a){d=f(d);var e=d[0].config;d=a||d.find("."+e.cssHeader);b?(0<e.sortList.length&&(d=d.filter(function(){return this.sortDisabled?!1:g.isValueInArray(parseFloat(f(this).attr("data-column")),e.sortList)})),d.addClass(e.cssProcessing)): d.removeClass(e.cssProcessing)};g.processTbody=function(d,b,a){if(a)return d.isProcessing=!0,b.before('<span class="tablesorter-savemyplace"/>'),a=f.fn.detach?b.detach():b.remove();a=f(d).find("span.tablesorter-savemyplace");b.insertAfter(a);a.remove();d.isProcessing=!1};g.clearTableBody=function(d){f(d)[0].config.$tbodies.empty()};g.restoreHeaders=function(d){var b=d.config;b.$table.find(b.selectorHeaders).each(function(a){f(this).find(".tablesorter-header-inner").length&&f(this).html(b.headerContent[a])})}; g.destroy=function(d,b,a){d=f(d)[0];if(d.hasInitialized){g.refreshWidgets(d,!0,!0);var e=f(d),c=d.config,l=e.find("thead:first"),p=l.find("tr."+c.cssHeaderRow).removeClass(c.cssHeaderRow),n=e.find("tfoot:first > tr").children("th, td");l.find("tr").not(p).remove();e.removeData("tablesorter").unbind("sortReset update updateAll updateRows updateCell addRows sorton appendCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave keypress sortBegin sortEnd ".split(" ").join(".tablesorter ")); c.$headers.add(n).removeClass(c.cssHeader+" "+c.cssAsc+" "+c.cssDesc).removeAttr("data-column");p.find(c.selectorSort).unbind("mousedown.tablesorter mouseup.tablesorter keypress.tablesorter");g.restoreHeaders(d);!1!==b&&e.removeClass(c.tableClass+" tablesorter-"+c.theme);d.hasInitialized=!1;"function"===typeof a&&a(d)}};g.regex=[/(^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi,/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/, /^0x[0-9a-f]+$/i];g.sortText=function(d,b,a,e){if(b===a)return 0;var c=d.config,l=c.string[c.empties[e]||c.emptyTo],f=g.regex;if(""===b&&0!==l)return"boolean"===typeof l?l?-1:1:-l||-1;if(""===a&&0!==l)return"boolean"===typeof l?l?1:-1:l||1;if("function"===typeof c.textSorter)return c.textSorter(b,a,d,e);d=b.replace(f[0],"\\0$1\\0").replace(/\\0$/,"").replace(/^\\0/,"").split("\\0");e=a.replace(f[0],"\\0$1\\0").replace(/\\0$/,"").replace(/^\\0/,"").split("\\0");b=parseInt(b.match(f[2]),16)||1!==d.length&& b.match(f[1])&&Date.parse(b);if(a=parseInt(a.match(f[2]),16)||b&&a.match(f[1])&&Date.parse(a)||null){if(b<a)return-1;if(b>a)return 1}c=Math.max(d.length,e.length);for(b=0;b<c;b++){a=isNaN(d[b])?d[b]||0:parseFloat(d[b])||0;f=isNaN(e[b])?e[b]||0:parseFloat(e[b])||0;if(isNaN(a)!==isNaN(f))return isNaN(a)?1:-1;typeof a!==typeof f&&(a+="",f+="");if(a<f)return-1;if(a>f)return 1}return 0};g.sortTextDesc=function(d,b,a,e){if(b===a)return 0;var c=d.config,f=c.string[c.empties[e]||c.emptyTo];return""===b&& 0!==f?"boolean"===typeof f?f?-1:1:f||1:""===a&&0!==f?"boolean"===typeof f?f?1:-1:-f||-1:"function"===typeof c.textSorter?c.textSorter(a,b,d,e):g.sortText(d,a,b)};g.getTextValue=function(d,b,a){if(b){var c=d?d.length:0,g=b+a;for(b=0;b<c;b++)g+=d.charCodeAt(b);return a*g}return 0};g.sortNumeric=function(d,b,a,c,f,l){if(b===a)return 0;d=d.config;c=d.string[d.empties[c]||d.emptyTo];if(""===b&&0!==c)return"boolean"===typeof c?c?-1:1:-c||-1;if(""===a&&0!==c)return"boolean"===typeof c?c?1:-1:c||1;isNaN(b)&& (b=g.getTextValue(b,f,l));isNaN(a)&&(a=g.getTextValue(a,f,l));return b-a};g.sortNumericDesc=function(d,b,a,c,f,l){if(b===a)return 0;d=d.config;c=d.string[d.empties[c]||d.emptyTo];if(""===b&&0!==c)return"boolean"===typeof c?c?-1:1:c||1;if(""===a&&0!==c)return"boolean"===typeof c?c?1:-1:-c||-1;isNaN(b)&&(b=g.getTextValue(b,f,l));isNaN(a)&&(a=g.getTextValue(a,f,l));return a-b};g.characterEquivalents={a:"\u00e1\u00e0\u00e2\u00e3\u00e4\u0105\u00e5",A:"\u00c1\u00c0\u00c2\u00c3\u00c4\u0104\u00c5",c:"\u00e7\u0107\u010d", C:"\u00c7\u0106\u010c",e:"\u00e9\u00e8\u00ea\u00eb\u011b\u0119",E:"\u00c9\u00c8\u00ca\u00cb\u011a\u0118",i:"\u00ed\u00ec\u0130\u00ee\u00ef\u0131",I:"\u00cd\u00cc\u0130\u00ce\u00cf",o:"\u00f3\u00f2\u00f4\u00f5\u00f6",O:"\u00d3\u00d2\u00d4\u00d5\u00d6",ss:"\u00df",SS:"\u1e9e",u:"\u00fa\u00f9\u00fb\u00fc\u016f",U:"\u00da\u00d9\u00db\u00dc\u016e"};g.replaceAccents=function(d){var b,a="[",c=g.characterEquivalents;if(!g.characterRegex){g.characterRegexArray={};for(b in c)"string"===typeof b&&(a+=c[b],g.characterRegexArray[b]= RegExp("["+c[b]+"]","g"));g.characterRegex=RegExp(a+"]")}if(g.characterRegex.test(d))for(b in c)"string"===typeof b&&(d=d.replace(g.characterRegexArray[b],b));return d};g.isValueInArray=function(d,b){var a,c=b.length;for(a=0;a<c;a++)if(b[a][0]===d)return!0;return!1};g.addParser=function(d){var b,a=g.parsers.length,c=!0;for(b=0;b<a;b++)g.parsers[b].id.toLowerCase()===d.id.toLowerCase()&&(c=!1);c&&g.parsers.push(d)};g.getParserById=function(d){var b,a=g.parsers.length;for(b=0;b<a;b++)if(g.parsers[b].id.toLowerCase()=== d.toString().toLowerCase())return g.parsers[b];return!1};g.addWidget=function(d){g.widgets.push(d)};g.getWidgetById=function(d){var b,a,c=g.widgets.length;for(b=0;b<c;b++)if((a=g.widgets[b])&&a.hasOwnProperty("id")&&a.id.toLowerCase()===d.toLowerCase())return a};g.applyWidget=function(d,b){d=f(d)[0];var a=d.config,c=a.widgetOptions,j=[],l,p,n;a.debug&&(l=new Date);a.widgets.length&&(a.widgets=f.grep(a.widgets,function(b,d){return f.inArray(b,a.widgets)===d}),f.each(a.widgets||[],function(a,b){if((n= g.getWidgetById(b))&&n.id)n.priority||(n.priority=10),j[a]=n}),j.sort(function(a,b){return a.priority<b.priority?-1:a.priority===b.priority?0:1}),f.each(j,function(g,h){h&&(b?(h.hasOwnProperty("options")&&(c=d.config.widgetOptions=f.extend(!0,{},h.options,c)),h.hasOwnProperty("init")&&h.init(d,h,a,c)):!b&&h.hasOwnProperty("format")&&h.format(d,a,c,!1))}));a.debug&&(p=a.widgets.length,t("Completed "+(!0===b?"initializing ":"applying ")+p+" widget"+(1!==p?"s":""),l))};g.refreshWidgets=function(d,b, a){d=f(d)[0];var e,j=d.config,l=j.widgets,p=g.widgets,n=p.length;for(e=0;e<n;e++)if(p[e]&&p[e].id&&(b||0>f.inArray(p[e].id,l)))j.debug&&c("Refeshing widgets: Removing "+p[e].id),p[e].hasOwnProperty("remove")&&p[e].remove(d,j,j.widgetOptions);!0!==a&&g.applyWidget(d,b)};g.getData=function(d,b,a){var c="";d=f(d);var g,l;if(!d.length)return"";g=f.metadata?d.metadata():!1;l=" "+(d.attr("class")||"");"undefined"!==typeof d.data(a)||"undefined"!==typeof d.data(a.toLowerCase())?c+=d.data(a)||d.data(a.toLowerCase()): g&&"undefined"!==typeof g[a]?c+=g[a]:b&&"undefined"!==typeof b[a]?c+=b[a]:" "!==l&&l.match(" "+a+"-")&&(c=l.match(RegExp("\\s"+a+"-([\\w-]+)"))[1]||"");return f.trim(c)};g.formatFloat=function(c,b){if("string"!==typeof c||""===c)return c;var a;c=(b&&b.config?!1!==b.config.usNumberFormat:"undefined"!==typeof b?b:1)?c.replace(/,/g,""):c.replace(/[\s|\.]/g,"").replace(/,/g,".");/^\s*\([.\d]+\)/.test(c)&&(c=c.replace(/^\s*\(/,"-").replace(/\)/,""));a=parseFloat(c);return isNaN(a)?f.trim(c):a};g.isDigit= function(c){return isNaN(c)?/^[\-+(]?\d+[)]?$/.test(c.toString().replace(/[,.'"\s]/g,"")):!0}}});var j=f.tablesorter;f.fn.extend({tablesorter:j.construct});j.addParser({id:"text",is:function(){return!0},format:function(c,t){var r=t.config;c&&(c=f.trim(r.ignoreCase?c.toLocaleLowerCase():c),c=r.sortLocaleCompare?j.replaceAccents(c):c);return c},type:"text"});j.addParser({id:"digit",is:function(c){return j.isDigit(c)},format:function(c,t){var r=j.formatFloat((c||"").replace(/[^\w,. \-()]/g,""),t);return c&& "number"===typeof r?r:c?f.trim(c&&t.config.ignoreCase?c.toLocaleLowerCase():c):c},type:"numeric"});j.addParser({id:"currency",is:function(c){return/^\(?\d+[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]|[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]\d+\)?$/.test((c||"").replace(/[,. ]/g,""))},format:function(c,t){var r=j.formatFloat((c||"").replace(/[^\w,. \-()]/g,""),t);return c&&"number"===typeof r?r:c?f.trim(c&&t.config.ignoreCase?c.toLocaleLowerCase():c):c},type:"numeric"});j.addParser({id:"ipAddress",is:function(c){return/^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/.test(c)}, format:function(c,f){var r,s=c?c.split("."):"",v="",x=s.length;for(r=0;r<x;r++)v+=("00"+s[r]).slice(-3);return c?j.formatFloat(v,f):c},type:"numeric"});j.addParser({id:"url",is:function(c){return/^(https?|ftp|file):\/\//.test(c)},format:function(c){return c?f.trim(c.replace(/(https?|ftp|file):\/\//,"")):c},type:"text"});j.addParser({id:"isoDate",is:function(c){return/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}/.test(c)},format:function(c,f){return c?j.formatFloat(""!==c?(new Date(c.replace(/-/g,"/"))).getTime()|| "":"",f):c},type:"numeric"});j.addParser({id:"percent",is:function(c){return/(\d\s*?%|%\s*?\d)/.test(c)&&15>c.length},format:function(c,f){return c?j.formatFloat(c.replace(/%/g,""),f):c},type:"numeric"});j.addParser({id:"usLongDate",is:function(c){return/^[A-Z]{3,10}\.?\s+\d{1,2},?\s+(\d{4})(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?$/i.test(c)||/^\d{1,2}\s+[A-Z]{3,10}\s+\d{4}/i.test(c)},format:function(c,f){return c?j.formatFloat((new Date(c.replace(/(\S)([AP]M)$/i,"$1 $2"))).getTime()||"",f):c},type:"numeric"}); j.addParser({id:"shortDate",is:function(c){return/(^\d{1,2}[\/\s]\d{1,2}[\/\s]\d{4})|(^\d{4}[\/\s]\d{1,2}[\/\s]\d{1,2})/.test((c||"").replace(/\s+/g," ").replace(/[\-.,]/g,"/"))},format:function(c,f,r,s){if(c){r=f.config;var v=r.headerList[s];s=v.dateFormat||j.getData(v,r.headers[s],"dateFormat")||r.dateFormat;c=c.replace(/\s+/g," ").replace(/[\-.,]/g,"/");"mmddyyyy"===s?c=c.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/,"$3/$1/$2"):"ddmmyyyy"===s?c=c.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/, "$3/$2/$1"):"yyyymmdd"===s&&(c=c.replace(/(\d{4})[\/\s](\d{1,2})[\/\s](\d{1,2})/,"$1/$2/$3"))}return c?j.formatFloat((new Date(c)).getTime()||"",f):c},type:"numeric"});j.addParser({id:"time",is:function(c){return/^(([0-2]?\d:[0-5]\d)|([0-1]?\d:[0-5]\d\s?([AP]M)))$/i.test(c)},format:function(c,f){return c?j.formatFloat((new Date("2000/01/01 "+c.replace(/(\S)([AP]M)$/i,"$1 $2"))).getTime()||"",f):c},type:"numeric"});j.addParser({id:"metadata",is:function(){return!1},format:function(c,j,r){c=j.config; c=!c.parserMetadataName?"sortValue":c.parserMetadataName;return f(r).metadata()[c]},type:"numeric"});j.addWidget({id:"zebra",priority:90,format:function(c,t,r){var s,v,x,A,y,E,C=RegExp(t.cssChildRow,"i"),z=t.$tbodies;t.debug&&(y=new Date);for(c=0;c<z.length;c++)s=z.eq(c),E=s.children("tr").length,1<E&&(x=0,s=s.children("tr:visible"),s.each(function(){v=f(this);C.test(this.className)||x++;A=0===x%2;v.removeClass(r.zebra[A?1:0]).addClass(r.zebra[A?0:1])}));t.debug&&j.benchmark("Applying Zebra widget", y)},remove:function(c,j,r){var s;j=j.$tbodies;var v=(r.zebra||["even","odd"]).join(" ");for(r=0;r<j.length;r++)s=f.tablesorter.processTbody(c,j.eq(r),!0),s.children().removeClass(v),f.tablesorter.processTbody(c,s,!1)}})}(jQuery);
+/*jshint browser:true, jquery:true, unused:false, expr: true */
+/*global console:false, alert:false, require:false, define:false, module:false */
+!function(e){"use strict";e.extend({tablesorter:new function(){function t(){var e=arguments[0],t=arguments.length>1?Array.prototype.slice.call(arguments):e;"undefined"!=typeof console&&"undefined"!=typeof console.log?console[/error/i.test(e)?"error":/warn/i.test(e)?"warn":"log"](t):alert(t)}function r(e,r){t(e+" ("+((new Date).getTime()-r.getTime())+"ms)")}function s(e){for(var t in e)return!1;return!0}function a(r,s,a,n){for(var o,i,d=r.config,c=x.parsers.length,l=!1,p="",u=!0;""===p&&u;)a++,s[a]?(l=s[a].cells[n],p=x.getElementText(d,l,n),i=e(l),r.config.debug&&t("Checking if value was empty on row "+a+", column: "+n+': "'+p+'"')):u=!1;for(;--c>=0;)if(o=x.parsers[c],o&&"text"!==o.id&&o.is&&o.is(p,r,l,i))return o;return x.getParserById("text")}function n(e,t,r,s){"undefined"==typeof s&&(s=x.getElementText(e,t,r));var a=""+s,n=e.parsers[r],o=e.extractors[r];return n&&(o&&"function"==typeof o.format&&(s=o.format(s,e.table,t,r)),a="no-parser"===n.id?"":n.format(""+s,e.table,t,r),e.ignoreCase&&"string"==typeof a&&(a=a.toLowerCase())),a}function o(e){var s,n,o,i,d,c,l,p,u,g,f=e.config,h=f.$tbodies=f.$table.children("tbody:not(."+f.cssInfoBlock+")"),m=0,b="",y=h.length;if(0===y)return f.debug?t("Warning: *Empty table!* Not building a parser cache"):"";for(f.debug&&(g=new Date,t("Detecting parsers for each column")),n={extractors:[],parsers:[]};y>m;){if(s=h[m].rows,s.length)for(o=f.columns,i=0;o>i;i++)d=f.$headerIndexed[i],c=x.getColumnData(e,f.headers,i),u=x.getParserById(x.getData(d,c,"extractor")),p=x.getParserById(x.getData(d,c,"sorter")),l="false"===x.getData(d,c,"parser"),f.empties[i]=(x.getData(d,c,"empty")||f.emptyTo||(f.emptyToBottom?"bottom":"top")).toLowerCase(),f.strings[i]=(x.getData(d,c,"string")||f.stringTo||"max").toLowerCase(),l&&(p=x.getParserById("no-parser")),u||(u=!1),p||(p=a(e,s,-1,i)),f.debug&&(b+="column:"+i+"; extractor:"+u.id+"; parser:"+p.id+"; string:"+f.strings[i]+"; empty: "+f.empties[i]+"\n"),n.parsers[i]=p,n.extractors[i]=u;m+=n.parsers.length?y:1}f.debug&&(t(b?b:"No parsers detected"),r("Completed detecting parsers",g)),f.parsers=n.parsers,f.extractors=n.extractors}function i(s){var a,o,i,d,c,l,p,u,g,f,h,m,b,y=s.config,w=y.$tbodies,v=y.parsers;if(y.cache={},y.totalRows=0,!v)return y.debug?t("Warning: *Empty table!* Not building a cache"):"";for(y.debug&&(g=new Date),y.showProcessing&&x.isProcessing(s,!0),l=0;l<w.length;l++){for(b=[],a=y.cache[l]={normalized:[]},f=w[l]&&w[l].rows.length||0,d=0;f>d;++d)if(h={child:[],raw:[]},p=e(w[l].rows[d]),u=[],p.hasClass(y.cssChildRow)&&0!==d)for(o=a.normalized.length-1,m=a.normalized[o][y.columns],m.$row=m.$row.add(p),p.prev().hasClass(y.cssChildRow)||p.prev().addClass(x.css.cssHasChild),i=p.children("th, td"),o=m.child.length,m.child[o]=[],c=0;c<y.columns;c++)m.child[o][c]=n(y,i[c],c);else{for(h.$row=p,h.order=d,c=0;c<y.columns;++c)"undefined"!=typeof v[c]?(o=x.getElementText(y,p[0].cells[c],c),h.raw.push(o),i=n(y,p[0].cells[c],c,o),u.push(i),"numeric"===(v[c].type||"").toLowerCase()&&(b[c]=Math.max(Math.abs(i)||0,b[c]||0))):y.debug&&t("No parser found for cell:",p[0].cells[c],"does it have a header?");u[y.columns]=h,a.normalized.push(u)}a.colMax=b,y.totalRows+=a.normalized.length}y.showProcessing&&x.isProcessing(s),y.debug&&r("Building cache for "+f+" rows",g)}function d(e,t){var a,n,o,i,d,c,l,p=e.config,u=p.widgetOptions,g=p.$tbodies,f=[],h=p.cache;if(s(h))return p.appender?p.appender(e,f):e.isUpdating?p.$table.trigger("updateComplete",e):"";for(p.debug&&(l=new Date),c=0;c<g.length;c++)if(o=g.eq(c),o.length){for(i=x.processTbody(e,o,!0),a=h[c].normalized,n=a.length,d=0;n>d;d++)f.push(a[d][p.columns].$row),p.appender&&(!p.pager||p.pager.removeRows&&u.pager_removeRows||p.pager.ajax)||i.append(a[d][p.columns].$row);x.processTbody(e,i,!1)}p.appender&&p.appender(e,f),p.debug&&r("Rebuilt table",l),t||p.appender||x.applyWidget(e),e.isUpdating&&p.$table.trigger("updateComplete",e)}function c(e){return/^d/i.test(e)||1===e}function l(s){var a,n,o,i,d,l,p,g,f=s.config;for(f.headerList=[],f.headerContent=[],f.debug&&(p=new Date),f.columns=x.computeColumnIndex(f.$table.children("thead, tfoot").children("tr")),i=f.cssIcon?'<i class="'+(f.cssIcon===x.css.icon?x.css.icon:f.cssIcon+" "+x.css.icon)+'"></i>':"",f.$headers=e(e.map(e(s).find(f.selectorHeaders),function(t,r){return n=e(t),n.parent().hasClass(f.cssIgnoreRow)?void 0:(a=x.getColumnData(s,f.headers,r,!0),f.headerContent[r]=n.html(),""===f.headerTemplate||n.find("."+x.css.headerIn).length||(d=f.headerTemplate.replace(/\{content\}/g,n.html()).replace(/\{icon\}/g,n.find("."+x.css.icon).length?"":i),f.onRenderTemplate&&(o=f.onRenderTemplate.apply(n,[r,d]),o&&"string"==typeof o&&(d=o)),n.html('<div class="'+x.css.headerIn+'">'+d+"</div>")),f.onRenderHeader&&f.onRenderHeader.apply(n,[r,f,f.$table]),t.column=parseInt(n.attr("data-column"),10),t.order=c(x.getData(n,a,"sortInitialOrder")||f.sortInitialOrder)?[1,0,2]:[0,1,2],t.count=-1,t.lockedOrder=!1,l=x.getData(n,a,"lockedOrder")||!1,"undefined"!=typeof l&&l!==!1&&(t.order=t.lockedOrder=c(l)?[1,1,1]:[0,0,0]),n.addClass(x.css.header+" "+f.cssHeader),f.headerList[r]=t,n.parent().addClass(x.css.headerRow+" "+f.cssHeaderRow).attr("role","row"),f.tabIndex&&n.attr("tabindex",0),t)})),f.$headerIndexed=[],g=0;g<f.columns;g++)n=f.$headers.filter('[data-column="'+g+'"]'),f.$headerIndexed[g]=n.not(".sorter-false").length?n.not(".sorter-false").filter(":last"):n.filter(":last");e(s).find(f.selectorHeaders).attr({scope:"col",role:"columnheader"}),u(s),f.debug&&(r("Built headers:",p),t(f.$headers))}function p(e,t,r){var s=e.config;s.$table.find(s.selectorRemove).remove(),o(e),i(e),w(s,t,r)}function u(e){var t,r,s,a,n=e.config,o=n.$headers.length;for(t=0;o>t;t++)s=n.$headers.eq(t),a=x.getColumnData(e,n.headers,t,!0),r="false"===x.getData(s,a,"sorter")||"false"===x.getData(s,a,"parser"),s[0].sortDisabled=r,s[r?"addClass":"removeClass"]("sorter-false").attr("aria-disabled",""+r),e.id&&(r?s.removeAttr("aria-controls"):s.attr("aria-controls",e.id))}function g(t){var r,s,a,n,o,i,d,c,l=t.config,p=l.sortList,u=p.length,g=x.css.sortNone+" "+l.cssNone,f=[x.css.sortAsc+" "+l.cssAsc,x.css.sortDesc+" "+l.cssDesc],h=[l.cssIconAsc,l.cssIconDesc,l.cssIconNone],m=["ascending","descending"],b=e(t).find("tfoot tr").children().add(e(l.namespace+"_extra_headers")).removeClass(f.join(" "));for(l.$headers.removeClass(f.join(" ")).addClass(g).attr("aria-sort","none").find("."+x.css.icon).removeClass(h.join(" ")).addClass(h[2]),a=0;u>a;a++)if(2!==p[a][1]&&(r=l.$headers.not(".sorter-false").filter('[data-column="'+p[a][0]+'"]'+(1===u?":last":"")),r.length)){for(n=0;n<r.length;n++)r[n].sortDisabled||r.eq(n).removeClass(g).addClass(f[p[a][1]]).attr("aria-sort",m[p[a][1]]).find("."+x.css.icon).removeClass(h[2]).addClass(h[p[a][1]]);b.length&&b.filter('[data-column="'+p[a][0]+'"]').removeClass(g).addClass(f[p[a][1]])}for(u=l.$headers.length,o=l.$headers.not(".sorter-false"),a=0;u>a;a++)i=o.eq(a),i.length&&(s=o[a],d=s.order[(s.count+1)%(l.sortReset?3:2)],c=e.trim(i.text())+": "+x.language[i.hasClass(x.css.sortAsc)?"sortAsc":i.hasClass(x.css.sortDesc)?"sortDesc":"sortNone"]+x.language[0===d?"nextAsc":1===d?"nextDesc":"nextNone"],i.attr("aria-label",c))}function f(t,r){var s,a,n,o,i,d,c,l,p=t.config,u=r||p.sortList,g=u.length;for(p.sortList=[],i=0;g>i;i++)if(l=u[i],s=parseInt(l[0],10),s<p.columns&&p.$headerIndexed[s]){switch(o=p.$headerIndexed[s][0],a=(""+l[1]).match(/^(1|d|s|o|n)/),a=a?a[0]:""){case"1":case"d":a=1;break;case"s":a=d||0;break;case"o":c=o.order[(d||0)%(p.sortReset?3:2)],a=0===c?1:1===c?0:2;break;case"n":o.count=o.count+1,a=o.order[o.count%(p.sortReset?3:2)];break;default:a=0}d=0===i?a:d,n=[s,parseInt(a,10)||0],p.sortList.push(n),a=e.inArray(n[1],o.order),o.count=a>=0?a:n[1]%(p.sortReset?3:2)}}function h(e,t){return e&&e[t]?e[t].type||"":""}function m(t,r,s){if(t.isUpdating)return setTimeout(function(){m(t,r,s)},50);var a,n,o,i,c,l,p,u=t.config,f=!s[u.sortMultiSortKey],h=u.$table,y=u.$headers.length;if(h.trigger("sortStart",t),r.count=s[u.sortResetKey]?2:(r.count+1)%(u.sortReset?3:2),u.sortRestart)for(n=r,o=0;y>o;o++)p=u.$headers.eq(o),p[0]===n||!f&&p.is("."+x.css.sortDesc+",."+x.css.sortAsc)||(p[0].count=-1);if(n=parseInt(e(r).attr("data-column"),10),f){if(u.sortList=[],null!==u.sortForce)for(a=u.sortForce,i=0;i<a.length;i++)a[i][0]!==n&&u.sortList.push(a[i]);if(c=r.order[r.count],2>c&&(u.sortList.push([n,c]),r.colSpan>1))for(i=1;i<r.colSpan;i++)u.sortList.push([n+i,c])}else{if(u.sortAppend&&u.sortList.length>1)for(i=0;i<u.sortAppend.length;i++)l=x.isValueInArray(u.sortAppend[i][0],u.sortList),l>=0&&u.sortList.splice(l,1);if(x.isValueInArray(n,u.sortList)>=0)for(i=0;i<u.sortList.length;i++)l=u.sortList[i],c=u.$headerIndexed[l[0]][0],l[0]===n&&(l[1]=c.order[r.count],2===l[1]&&(u.sortList.splice(i,1),c.count=-1));else if(c=r.order[r.count],2>c&&(u.sortList.push([n,c]),r.colSpan>1))for(i=1;i<r.colSpan;i++)u.sortList.push([n+i,c])}if(null!==u.sortAppend)for(a=u.sortAppend,i=0;i<a.length;i++)a[i][0]!==n&&u.sortList.push(a[i]);h.trigger("sortBegin",t),setTimeout(function(){g(t),b(t),d(t),h.trigger("sortEnd",t)},1)}function b(e){var t,a,n,o,i,d,c,l,p,u,g,f=0,m=e.config,b=m.textSorter||"",y=m.sortList,w=y.length,v=m.$tbodies.length;if(!m.serverSideSorting&&!s(m.cache)){for(m.debug&&(i=new Date),a=0;v>a;a++)d=m.cache[a].colMax,c=m.cache[a].normalized,c.sort(function(r,s){for(t=0;w>t;t++){if(o=y[t][0],l=y[t][1],f=0===l,m.sortStable&&r[o]===s[o]&&1===w)return r[m.columns].order-s[m.columns].order;if(n=/n/i.test(h(m.parsers,o)),n&&m.strings[o]?(n="boolean"==typeof m.string[m.strings[o]]?(f?1:-1)*(m.string[m.strings[o]]?-1:1):m.strings[o]?m.string[m.strings[o]]||0:0,p=m.numberSorter?m.numberSorter(r[o],s[o],f,d[o],e):x["sortNumeric"+(f?"Asc":"Desc")](r[o],s[o],n,d[o],o,e)):(u=f?r:s,g=f?s:r,p="function"==typeof b?b(u[o],g[o],f,o,e):"object"==typeof b&&b.hasOwnProperty(o)?b[o](u[o],g[o],f,o,e):x["sortNatural"+(f?"Asc":"Desc")](r[o],s[o],o,e,m)),p)return p}return r[m.columns].order-s[m.columns].order});m.debug&&r("Sorting on "+y.toString()+" and dir "+l+" time",i)}}function y(t,r){t.table.isUpdating&&t.$table.trigger("updateComplete",t.table),e.isFunction(r)&&r(t.table)}function w(t,r,s){var a=e.isArray(r)?r:t.sortList,n="undefined"==typeof r?t.resort:r;n===!1||t.serverSideSorting||t.table.isProcessing?(y(t,s),x.applyWidget(t.table,!1)):a.length?t.$table.trigger("sorton",[a,function(){y(t,s)},!0]):t.$table.trigger("sortReset",[function(){y(t,s),x.applyWidget(t.table,!1)}])}function v(t){var r=t.config,a=r.$table,c="sortReset update updateRows updateCell updateAll addRows updateComplete sorton appendCache updateCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave ".split(" ").join(r.namespace+" ");a.unbind(c.replace(/\s+/g," ")).bind("sortReset"+r.namespace,function(s,a){s.stopPropagation(),r.sortList=[],g(t),b(t),d(t),e.isFunction(a)&&a(t)}).bind("updateAll"+r.namespace,function(e,s,a){e.stopPropagation(),t.isUpdating=!0,x.refreshWidgets(t,!0,!0),l(t),x.bindEvents(t,r.$headers,!0),v(t),p(t,s,a)}).bind("update"+r.namespace+" updateRows"+r.namespace,function(e,r,s){e.stopPropagation(),t.isUpdating=!0,u(t),p(t,r,s)}).bind("updateCell"+r.namespace,function(s,o,i,d){s.stopPropagation(),t.isUpdating=!0,a.find(r.selectorRemove).remove();var c,l,p,u,g=r.$tbodies,f=e(o),h=g.index(e.fn.closest?f.closest("tbody"):f.parents("tbody").filter(":first")),m=r.cache[h],b=e.fn.closest?f.closest("tr"):f.parents("tr").filter(":first");o=f[0],g.length&&h>=0&&(l=g.eq(h).find("tr").index(b),u=m.normalized[l],p=f.index(),c=n(r,o,p),u[p]=c,u[r.columns].$row=b,"numeric"===(r.parsers[p].type||"").toLowerCase()&&(m.colMax[p]=Math.max(Math.abs(c)||0,m.colMax[p]||0)),c="undefined"!==i?i:r.resort,c!==!1?w(r,c,d):(e.isFunction(d)&&d(t),r.$table.trigger("updateComplete",r.table)))}).bind("addRows"+r.namespace,function(a,i,d,c){if(a.stopPropagation(),t.isUpdating=!0,s(r.cache))u(t),p(t,d,c);else{i=e(i).attr("role","row");var l,g,f,h,m,b=i.filter("tr").length,y=r.$tbodies.index(i.parents("tbody").filter(":first"));for(r.parsers&&r.parsers.length||o(t),l=0;b>l;l++){for(f=i[l].cells.length,m=[],h={child:[],$row:i.eq(l),order:r.cache[y].normalized.length},g=0;f>g;g++)m[g]=n(r,i[l].cells[g],g),"numeric"===(r.parsers[g].type||"").toLowerCase()&&(r.cache[y].colMax[g]=Math.max(Math.abs(m[g])||0,r.cache[y].colMax[g]||0));m.push(h),r.cache[y].normalized.push(m)}w(r,d,c)}}).bind("updateComplete"+r.namespace,function(){t.isUpdating=!1}).bind("sorton"+r.namespace,function(r,n,o,c){var l=t.config;r.stopPropagation(),a.trigger("sortStart",this),f(t,n),g(t),l.delayInit&&s(l.cache)&&i(t),a.trigger("sortBegin",this),b(t),d(t,c),a.trigger("sortEnd",this),x.applyWidget(t),e.isFunction(o)&&o(t)}).bind("appendCache"+r.namespace,function(r,s,a){r.stopPropagation(),d(t,a),e.isFunction(s)&&s(t)}).bind("updateCache"+r.namespace,function(s,a){r.parsers&&r.parsers.length||o(t),i(t),e.isFunction(a)&&a(t)}).bind("applyWidgetId"+r.namespace,function(e,s){e.stopPropagation(),x.getWidgetById(s).format(t,r,r.widgetOptions)}).bind("applyWidgets"+r.namespace,function(e,r){e.stopPropagation(),x.applyWidget(t,r)}).bind("refreshWidgets"+r.namespace,function(e,r,s){e.stopPropagation(),x.refreshWidgets(t,r,s)}).bind("destroy"+r.namespace,function(e,r,s){e.stopPropagation(),x.destroy(t,r,s)}).bind("resetToLoadState"+r.namespace,function(){x.removeWidget(t,!0,!1),r=e.extend(!0,x.defaults,r.originalSettings),t.hasInitialized=!1,x.setup(t,r)})}var x=this;x.version="2.22.1",x.parsers=[],x.widgets=[],x.defaults={theme:"default",widthFixed:!1,showProcessing:!1,headerTemplate:"{content}",onRenderTemplate:null,onRenderHeader:null,cancelSelection:!0,tabIndex:!0,dateFormat:"mmddyyyy",sortMultiSortKey:"shiftKey",sortResetKey:"ctrlKey",usNumberFormat:!0,delayInit:!1,serverSideSorting:!1,resort:!0,headers:{},ignoreCase:!0,sortForce:null,sortList:[],sortAppend:null,sortStable:!1,sortInitialOrder:"asc",sortLocaleCompare:!1,sortReset:!1,sortRestart:!1,emptyTo:"bottom",stringTo:"max",textExtraction:"basic",textAttribute:"data-text",textSorter:null,numberSorter:null,widgets:[],widgetOptions:{zebra:["even","odd"]},initWidgets:!0,widgetClass:"widget-{name}",initialized:null,tableClass:"",cssAsc:"",cssDesc:"",cssNone:"",cssHeader:"",cssHeaderRow:"",cssProcessing:"",cssChildRow:"tablesorter-childRow",cssIcon:"tablesorter-icon",cssIconNone:"",cssIconAsc:"",cssIconDesc:"",cssInfoBlock:"tablesorter-infoOnly",cssNoSort:"tablesorter-noSort",cssIgnoreRow:"tablesorter-ignoreRow",pointerClick:"click",pointerDown:"mousedown",pointerUp:"mouseup",selectorHeaders:"> thead th, > thead td",selectorSort:"th, td",selectorRemove:".remove-me",debug:!1,headerList:[],empties:{},strings:{},parsers:[]},x.css={table:"tablesorter",cssHasChild:"tablesorter-hasChildRow",childRow:"tablesorter-childRow",colgroup:"tablesorter-colgroup",header:"tablesorter-header",headerRow:"tablesorter-headerRow",headerIn:"tablesorter-header-inner",icon:"tablesorter-icon",processing:"tablesorter-processing",sortAsc:"tablesorter-headerAsc",sortDesc:"tablesorter-headerDesc",sortNone:"tablesorter-headerUnSorted"},x.language={sortAsc:"Ascending sort applied, ",sortDesc:"Descending sort applied, ",sortNone:"No sort applied, ",nextAsc:"activate to apply an ascending sort",nextDesc:"activate to apply a descending sort",nextNone:"activate to remove the sort"},x.instanceMethods={},x.log=t,x.benchmark=r,x.getElementText=function(t,r,s){if(!r)return"";var a,n=t.textExtraction||"",o=r.jquery?r:e(r);return e.trim("string"==typeof n?("basic"===n?o.attr(t.textAttribute)||r.textContent:r.textContent)||o.text():"function"==typeof n?n(o[0],t.table,s):"function"==typeof(a=x.getColumnData(t.table,n,s))?a(o[0],t.table,s):o[0].textContent||o.text())},x.construct=function(t){return this.each(function(){var r=this,s=e.extend(!0,{},x.defaults,t,x.instanceMethods);s.originalSettings=t,!r.hasInitialized&&x.buildTable&&"TABLE"!==this.nodeName?x.buildTable(r,s):x.setup(r,s)})},x.setup=function(r,s){if(!r||!r.tHead||0===r.tBodies.length||r.hasInitialized===!0)return s.debug?t("ERROR: stopping initialization! No table, thead, tbody or tablesorter has already been initialized"):"";var a="",n=e(r),d=e.metadata;r.hasInitialized=!1,r.isProcessing=!0,r.config=s,e.data(r,"tablesorter",s),s.debug&&e.data(r,"startoveralltimer",new Date),s.supportsDataObject=function(e){return e[0]=parseInt(e[0],10),e[0]>1||1===e[0]&&parseInt(e[1],10)>=4}(e.fn.jquery.split(".")),s.string={max:1,min:-1,emptymin:1,emptymax:-1,zero:0,none:0,"null":0,top:!0,bottom:!1},s.emptyTo=s.emptyTo.toLowerCase(),s.stringTo=s.stringTo.toLowerCase(),/tablesorter\-/.test(n.attr("class"))||(a=""!==s.theme?" tablesorter-"+s.theme:""),s.table=r,s.$table=n.addClass(x.css.table+" "+s.tableClass+a).attr("role","grid"),s.$headers=n.find(s.selectorHeaders),s.namespace=s.namespace?"."+s.namespace.replace(/\W/g,""):".tablesorter"+Math.random().toString(16).slice(2),s.$table.children().children("tr").attr("role","row"),s.$tbodies=n.children("tbody:not(."+s.cssInfoBlock+")").attr({"aria-live":"polite","aria-relevant":"all"}),s.$table.children("caption").length&&(a=s.$table.children("caption")[0],a.id||(a.id=s.namespace.slice(1)+"caption"),s.$table.attr("aria-labelledby",a.id)),s.widgetInit={},s.textExtraction=s.$table.attr("data-text-extraction")||s.textExtraction||"basic",l(r),x.fixColumnWidth(r),x.applyWidgetOptions(r,s),o(r),s.totalRows=0,s.delayInit||i(r),x.bindEvents(r,s.$headers,!0),v(r),s.supportsDataObject&&"undefined"!=typeof n.data().sortlist?s.sortList=n.data().sortlist:d&&n.metadata()&&n.metadata().sortlist&&(s.sortList=n.metadata().sortlist),x.applyWidget(r,!0),s.sortList.length>0?n.trigger("sorton",[s.sortList,{},!s.initWidgets,!0]):(g(r),s.initWidgets&&x.applyWidget(r,!1)),s.showProcessing&&n.unbind("sortBegin"+s.namespace+" sortEnd"+s.namespace).bind("sortBegin"+s.namespace+" sortEnd"+s.namespace,function(e){clearTimeout(s.processTimer),x.isProcessing(r),"sortBegin"===e.type&&(s.processTimer=setTimeout(function(){x.isProcessing(r,!0)},500))}),r.hasInitialized=!0,r.isProcessing=!1,s.debug&&x.benchmark("Overall initialization time",e.data(r,"startoveralltimer")),n.trigger("tablesorter-initialized",r),"function"==typeof s.initialized&&s.initialized(r)},x.fixColumnWidth=function(t){t=e(t)[0];var r,s,a,n,o,i=t.config,d=i.$table.children("colgroup");if(d.length&&d.hasClass(x.css.colgroup)&&d.remove(),i.widthFixed&&0===i.$table.children("colgroup").length){for(d=e('<colgroup class="'+x.css.colgroup+'">'),r=i.$table.width(),a=i.$tbodies.find("tr:first").children(":visible"),n=a.length,o=0;n>o;o++)s=parseInt(a.eq(o).width()/r*1e3,10)/10+"%",d.append(e("<col>").css("width",s));i.$table.prepend(d)}},x.getColumnData=function(t,r,s,a,n){if("undefined"!=typeof r&&null!==r){t=e(t)[0];var o,i,d=t.config,c=n||d.$headers,l=d.$headerIndexed&&d.$headerIndexed[s]||c.filter('[data-column="'+s+'"]:last');if(r[s])return a?r[s]:r[c.index(l)];for(i in r)if("string"==typeof i&&(o=l.filter(i).add(l.find(i)),o.length))return r[i]}},x.computeColumnIndex=function(t){var r,s,a,n,o,i,d,c,l,p,u,g,f=[],h=[],m={};for(r=0;r<t.length;r++)for(d=t[r].cells,s=0;s<d.length;s++){for(i=d[s],o=e(i),c=i.parentNode.rowIndex,l=c+"-"+o.index(),p=i.rowSpan||1,u=i.colSpan||1,"undefined"==typeof f[c]&&(f[c]=[]),a=0;a<f[c].length+1;a++)if("undefined"==typeof f[c][a]){g=a;break}for(m[l]=g,o.attr({"data-column":g}),a=c;c+p>a;a++)for("undefined"==typeof f[a]&&(f[a]=[]),h=f[a],n=g;g+u>n;n++)h[n]="x"}return h.length},x.isProcessing=function(t,r,s){t=e(t);var a=t[0].config,n=s||t.find("."+x.css.header);r?("undefined"!=typeof s&&a.sortList.length>0&&(n=n.filter(function(){return this.sortDisabled?!1:x.isValueInArray(parseFloat(e(this).attr("data-column")),a.sortList)>=0})),t.add(n).addClass(x.css.processing+" "+a.cssProcessing)):t.add(n).removeClass(x.css.processing+" "+a.cssProcessing)},x.processTbody=function(t,r,s){t=e(t)[0];var a;return s?(t.isProcessing=!0,r.before('<span class="tablesorter-savemyplace"/>'),a=e.fn.detach?r.detach():r.remove()):(a=e(t).find("span.tablesorter-savemyplace"),r.insertAfter(a),a.remove(),void(t.isProcessing=!1))},x.clearTableBody=function(t){e(t)[0].config.$tbodies.children().detach()},x.bindEvents=function(t,r,a){t=e(t)[0];var n,o=null,d=t.config;a!==!0&&(r.addClass(d.namespace.slice(1)+"_extra_headers"),n=e.fn.closest?r.closest("table")[0]:r.parents("table")[0],n&&"TABLE"===n.nodeName&&n!==t&&e(n).addClass(d.namespace.slice(1)+"_extra_table")),n=(d.pointerDown+" "+d.pointerUp+" "+d.pointerClick+" sort keyup ").replace(/\s+/g," ").split(" ").join(d.namespace+" "),r.find(d.selectorSort).add(r.filter(d.selectorSort)).unbind(n).bind(n,function(a,n){var c,l=e(a.target),p=" "+a.type+" ";if(!(1!==(a.which||a.button)&&!p.match(" "+d.pointerClick+" | sort | keyup ")||" keyup "===p&&13!==a.which||p.match(" "+d.pointerClick+" ")&&"undefined"!=typeof a.which||p.match(" "+d.pointerUp+" ")&&o!==a.target&&n!==!0)){if(p.match(" "+d.pointerDown+" "))return o=a.target,void a.preventDefault();if(o=null,/(input|select|button|textarea)/i.test(a.target.nodeName)||l.hasClass(d.cssNoSort)||l.parents("."+d.cssNoSort).length>0||l.parents("button").length>0)return!d.cancelSelection;d.delayInit&&s(d.cache)&&i(t),c=e.fn.closest?e(this).closest("th, td")[0]:/TH|TD/.test(this.nodeName)?this:e(this).parents("th, td")[0],c=d.$headers[r.index(c)],c.sortDisabled||m(t,c,a)}}),d.cancelSelection&&r.attr("unselectable","on").bind("selectstart",!1).css({"user-select":"none",MozUserSelect:"none"})},x.restoreHeaders=function(t){var r,s,a=e(t)[0].config,n=a.$table.find(a.selectorHeaders),o=n.length;for(r=0;o>r;r++)s=n.eq(r),s.find("."+x.css.headerIn).length&&s.html(a.headerContent[r])},x.destroy=function(t,r,s){if(t=e(t)[0],t.hasInitialized){x.removeWidget(t,!0,!1);var a,n=e(t),o=t.config,i=n.find("thead:first"),d=i.find("tr."+x.css.headerRow).removeClass(x.css.headerRow+" "+o.cssHeaderRow),c=n.find("tfoot:first > tr").children("th, td");r===!1&&e.inArray("uitheme",o.widgets)>=0&&(n.trigger("applyWidgetId",["uitheme"]),n.trigger("applyWidgetId",["zebra"])),i.find("tr").not(d).remove(),a="sortReset update updateAll updateRows updateCell addRows updateComplete sorton appendCache updateCache "+"applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave keypress sortBegin sortEnd resetToLoadState ".split(" ").join(o.namespace+" "),n.removeData("tablesorter").unbind(a.replace(/\s+/g," ")),o.$headers.add(c).removeClass([x.css.header,o.cssHeader,o.cssAsc,o.cssDesc,x.css.sortAsc,x.css.sortDesc,x.css.sortNone].join(" ")).removeAttr("data-column").removeAttr("aria-label").attr("aria-disabled","true"),d.find(o.selectorSort).unbind("mousedown mouseup keypress ".split(" ").join(o.namespace+" ").replace(/\s+/g," ")),x.restoreHeaders(t),n.toggleClass(x.css.table+" "+o.tableClass+" tablesorter-"+o.theme,r===!1),t.hasInitialized=!1,delete t.config.cache,"function"==typeof s&&s(t)}},x.regex={chunk:/(^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi,chunks:/(^\\0|\\0$)/,hex:/^0x[0-9a-f]+$/i},x.sortNatural=function(e,t){if(e===t)return 0;var r,s,a,n,o,i,d,c,l=x.regex;if(l.hex.test(t)){if(s=parseInt(e.match(l.hex),16),n=parseInt(t.match(l.hex),16),n>s)return-1;if(s>n)return 1}for(r=e.replace(l.chunk,"\\0$1\\0").replace(l.chunks,"").split("\\0"),a=t.replace(l.chunk,"\\0$1\\0").replace(l.chunks,"").split("\\0"),c=Math.max(r.length,a.length),d=0;c>d;d++){if(o=isNaN(r[d])?r[d]||0:parseFloat(r[d])||0,i=isNaN(a[d])?a[d]||0:parseFloat(a[d])||0,isNaN(o)!==isNaN(i))return isNaN(o)?1:-1;if(typeof o!=typeof i&&(o+="",i+=""),i>o)return-1;if(o>i)return 1}return 0},x.sortNaturalAsc=function(e,t,r,s,a){if(e===t)return 0;var n=a.string[a.empties[r]||a.emptyTo];return""===e&&0!==n?"boolean"==typeof n?n?-1:1:-n||-1:""===t&&0!==n?"boolean"==typeof n?n?1:-1:n||1:x.sortNatural(e,t)},x.sortNaturalDesc=function(e,t,r,s,a){if(e===t)return 0;var n=a.string[a.empties[r]||a.emptyTo];return""===e&&0!==n?"boolean"==typeof n?n?-1:1:n||1:""===t&&0!==n?"boolean"==typeof n?n?1:-1:-n||-1:x.sortNatural(t,e)},x.sortText=function(e,t){return e>t?1:t>e?-1:0},x.getTextValue=function(e,t,r){if(r){var s,a=e?e.length:0,n=r+t;for(s=0;a>s;s++)n+=e.charCodeAt(s);return t*n}return 0},x.sortNumericAsc=function(e,t,r,s,a,n){if(e===t)return 0;var o=n.config,i=o.string[o.empties[a]||o.emptyTo];return""===e&&0!==i?"boolean"==typeof i?i?-1:1:-i||-1:""===t&&0!==i?"boolean"==typeof i?i?1:-1:i||1:(isNaN(e)&&(e=x.getTextValue(e,r,s)),isNaN(t)&&(t=x.getTextValue(t,r,s)),e-t)},x.sortNumericDesc=function(e,t,r,s,a,n){if(e===t)return 0;var o=n.config,i=o.string[o.empties[a]||o.emptyTo];return""===e&&0!==i?"boolean"==typeof i?i?-1:1:i||1:""===t&&0!==i?"boolean"==typeof i?i?1:-1:-i||-1:(isNaN(e)&&(e=x.getTextValue(e,r,s)),isNaN(t)&&(t=x.getTextValue(t,r,s)),t-e)},x.sortNumeric=function(e,t){return e-t},x.characterEquivalents={a:"áàâãäąå",A:"ÁÀÂÃÄĄÅ",c:"çćč",C:"ÇĆČ",e:"éèêëěę",E:"ÉÈÊËĚĘ",i:"íìİîïı",I:"ÍÌİÎÏ",o:"óòôõöō",O:"ÓÒÔÕÖŌ",ss:"ß",SS:"ẞ",u:"úùûüů",U:"ÚÙÛÜŮ"},x.replaceAccents=function(e){var t,r="[",s=x.characterEquivalents;if(!x.characterRegex){x.characterRegexArray={};for(t in s)"string"==typeof t&&(r+=s[t],x.characterRegexArray[t]=new RegExp("["+s[t]+"]","g"));x.characterRegex=new RegExp(r+"]")}if(x.characterRegex.test(e))for(t in s)"string"==typeof t&&(e=e.replace(x.characterRegexArray[t],t));return e},x.isValueInArray=function(e,t){var r,s=t.length;for(r=0;s>r;r++)if(t[r][0]===e)return r;return-1},x.addParser=function(e){var t,r=x.parsers.length,s=!0;for(t=0;r>t;t++)x.parsers[t].id.toLowerCase()===e.id.toLowerCase()&&(s=!1);s&&x.parsers.push(e)},x.addInstanceMethods=function(t){e.extend(x.instanceMethods,t)},x.getParserById=function(e){if("false"==e)return!1;var t,r=x.parsers.length;for(t=0;r>t;t++)if(x.parsers[t].id.toLowerCase()===e.toString().toLowerCase())return x.parsers[t];return!1},x.addWidget=function(e){x.widgets.push(e)},x.hasWidget=function(t,r){return t=e(t),t.length&&t[0].config&&t[0].config.widgetInit[r]||!1},x.getWidgetById=function(e){var t,r,s=x.widgets.length;for(t=0;s>t;t++)if(r=x.widgets[t],r&&r.hasOwnProperty("id")&&r.id.toLowerCase()===e.toLowerCase())return r},x.applyWidgetOptions=function(t,r){var s,a,n=r.widgets.length,o=r.widgetOptions;if(n)for(s=0;n>s;s++)a=x.getWidgetById(r.widgets[s]),a&&"options"in a&&(o=t.config.widgetOptions=e.extend(!0,{},a.options,o))},x.applyWidget=function(t,s,a){t=e(t)[0];var n,o,i,d,c,l,p,u=t.config,g=u.widgetOptions,f=" "+u.table.className+" ",h=[];if(s===!1||!t.hasInitialized||!t.isApplyingWidgets&&!t.isUpdating){if(u.debug&&(d=new Date),p=new RegExp("\\s"+u.widgetClass.replace(/\{name\}/i,"([\\w-]+)")+"\\s","g"),f.match(p)&&(l=f.match(p)))for(o=l.length,n=0;o>n;n++)u.widgets.push(l[n].replace(p,"$1"));if(u.widgets.length){for(t.isApplyingWidgets=!0,u.widgets=e.grep(u.widgets,function(t,r){return e.inArray(t,u.widgets)===r}),i=u.widgets||[],o=i.length,n=0;o>n;n++)p=x.getWidgetById(i[n]),p&&p.id&&(p.priority||(p.priority=10),h[n]=p);for(h.sort(function(e,t){return e.priority<t.priority?-1:e.priority===t.priority?0:1}),o=h.length,n=0;o>n;n++)h[n]&&((s||!u.widgetInit[h[n].id])&&(u.widgetInit[h[n].id]=!0,t.hasInitialized&&x.applyWidgetOptions(t,u),"init"in h[n]&&(u.debug&&(c=new Date),h[n].init(t,h[n],u,g),u.debug&&x.benchmark("Initializing "+h[n].id+" widget",c))),!s&&"format"in h[n]&&(u.debug&&(c=new Date),h[n].format(t,u,g,!1),u.debug&&x.benchmark((s?"Initializing ":"Applying ")+h[n].id+" widget",c)));s||"function"!=typeof a||a(t)}setTimeout(function(){t.isApplyingWidgets=!1,e.data(t,"lastWidgetApplication",new Date)},0),u.debug&&(l=u.widgets.length,r("Completed "+(s===!0?"initializing ":"applying ")+l+" widget"+(1!==l?"s":""),d))}},x.removeWidget=function(r,s,a){r=e(r)[0];var n,o,i,d,c=r.config;if(s===!0)for(s=[],d=x.widgets.length,i=0;d>i;i++)o=x.widgets[i],o&&o.id&&s.push(o.id);else s=(e.isArray(s)?s.join(","):s||"").toLowerCase().split(/[\s,]+/);for(d=s.length,n=0;d>n;n++)o=x.getWidgetById(s[n]),i=e.inArray(s[n],c.widgets),o&&"remove"in o&&(c.debug&&i>=0&&t('Removing "'+s[n]+'" widget'),o.remove(r,c,c.widgetOptions,a),c.widgetInit[s[n]]=!1),i>=0&&a!==!0&&c.widgets.splice(i,1)},x.refreshWidgets=function(t,r,s){t=e(t)[0];var a,n=t.config,o=n.widgets,i=x.widgets,d=i.length,c=[],l=function(t){e(t).trigger("refreshComplete")};for(a=0;d>a;a++)i[a]&&i[a].id&&(r||e.inArray(i[a].id,o)<0)&&c.push(i[a].id);x.removeWidget(t,c.join(","),!0),s!==!0?(x.applyWidget(t,r||!1,l),r&&x.applyWidget(t,!1,l)):l(t)},x.getColumnText=function(t,r,a){t=e(t)[0];var n,o,i,d,c,l,p,u,g,f,h="function"==typeof a,m="all"===r,b={raw:[],parsed:[],$cell:[]},y=t.config;if(!s(y)){for(c=y.$tbodies.length,n=0;c>n;n++)for(i=y.cache[n].normalized,l=i.length,o=0;l>o;o++)f=!0,d=i[o],u=m?d.slice(0,y.columns):d[r],d=d[y.columns],p=m?d.raw:d.raw[r],g=m?d.$row.children():d.$row.children().eq(r),h&&(f=a({tbodyIndex:n,rowIndex:o,parsed:u,raw:p,$row:d.$row,$cell:g})),f!==!1&&(b.parsed.push(u),b.raw.push(p),b.$cell.push(g));return b}},x.getData=function(t,r,s){var a,n,o="",i=e(t);return i.length?(a=e.metadata?i.metadata():!1,n=" "+(i.attr("class")||""),"undefined"!=typeof i.data(s)||"undefined"!=typeof i.data(s.toLowerCase())?o+=i.data(s)||i.data(s.toLowerCase()):a&&"undefined"!=typeof a[s]?o+=a[s]:r&&"undefined"!=typeof r[s]?o+=r[s]:" "!==n&&n.match(" "+s+"-")&&(o=n.match(new RegExp("\\s"+s+"-([\\w-]+)"))[1]||""),e.trim(o)):""},x.formatFloat=function(t,r){if("string"!=typeof t||""===t)return t;var s,a=r&&r.config?r.config.usNumberFormat!==!1:"undefined"!=typeof r?r:!0;return t=a?t.replace(/,/g,""):t.replace(/[\s|\.]/g,"").replace(/,/g,"."),/^\s*\([.\d]+\)/.test(t)&&(t=t.replace(/^\s*\(([.\d]+)\)/,"-$1")),s=parseFloat(t),isNaN(s)?e.trim(t):s},x.isDigit=function(e){return isNaN(e)?/^[\-+(]?\d+[)]?$/.test(e.toString().replace(/[,.'"\s]/g,"")):""!==e}}});var t=e.tablesorter;e.fn.extend({tablesorter:t.construct}),t.addParser({id:"no-parser",is:function(){return!1},format:function(){return""},type:"text"}),t.addParser({id:"text",is:function(){return!0},format:function(r,s){var a=s.config;return r&&(r=e.trim(a.ignoreCase?r.toLocaleLowerCase():r),r=a.sortLocaleCompare?t.replaceAccents(r):r),r},type:"text"}),t.addParser({id:"digit",is:function(e){return t.isDigit(e)},format:function(r,s){var a=t.formatFloat((r||"").replace(/[^\w,. \-()]/g,""),s);return r&&"number"==typeof a?a:r?e.trim(r&&s.config.ignoreCase?r.toLocaleLowerCase():r):r},type:"numeric"}),t.addParser({id:"currency",is:function(e){return/^\(?\d+[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]|[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]\d+\)?$/.test((e||"").replace(/[+\-,. ]/g,""))},format:function(r,s){var a=t.formatFloat((r||"").replace(/[^\w,. \-()]/g,""),s);return r&&"number"==typeof a?a:r?e.trim(r&&s.config.ignoreCase?r.toLocaleLowerCase():r):r},type:"numeric"}),t.addParser({id:"url",is:function(e){return/^(https?|ftp|file):\/\//.test(e)},format:function(t){return t?e.trim(t.replace(/(https?|ftp|file):\/\//,"")):t},parsed:!0,type:"text"}),t.addParser({id:"isoDate",is:function(e){return/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}/.test(e)},format:function(e){var t=e?new Date(e.replace(/-/g,"/")):e;return t instanceof Date&&isFinite(t)?t.getTime():e},type:"numeric"}),t.addParser({id:"percent",is:function(e){return/(\d\s*?%|%\s*?\d)/.test(e)&&e.length<15},format:function(e,r){return e?t.formatFloat(e.replace(/%/g,""),r):e},type:"numeric"}),t.addParser({id:"image",is:function(e,t,r,s){return s.find("img").length>0},format:function(t,r,s){return e(s).find("img").attr(r.config.imgAttr||"alt")||t},parsed:!0,type:"text"}),t.addParser({id:"usLongDate",is:function(e){return/^[A-Z]{3,10}\.?\s+\d{1,2},?\s+(\d{4})(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?$/i.test(e)||/^\d{1,2}\s+[A-Z]{3,10}\s+\d{4}/i.test(e)},format:function(e){var t=e?new Date(e.replace(/(\S)([AP]M)$/i,"$1 $2")):e;return t instanceof Date&&isFinite(t)?t.getTime():e},type:"numeric"}),t.addParser({id:"shortDate",is:function(e){return/(^\d{1,2}[\/\s]\d{1,2}[\/\s]\d{4})|(^\d{4}[\/\s]\d{1,2}[\/\s]\d{1,2})/.test((e||"").replace(/\s+/g," ").replace(/[\-.,]/g,"/"))},format:function(e,r,s,a){if(e){var n,o,i=r.config,d=i.$headerIndexed[a],c=d.length&&d[0].dateFormat||t.getData(d,t.getColumnData(r,i.headers,a),"dateFormat")||i.dateFormat;
+return o=e.replace(/\s+/g," ").replace(/[\-.,]/g,"/"),"mmddyyyy"===c?o=o.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/,"$3/$1/$2"):"ddmmyyyy"===c?o=o.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/,"$3/$2/$1"):"yyyymmdd"===c&&(o=o.replace(/(\d{4})[\/\s](\d{1,2})[\/\s](\d{1,2})/,"$1/$2/$3")),n=new Date(o),n instanceof Date&&isFinite(n)?n.getTime():e}return e},type:"numeric"}),t.addParser({id:"time",is:function(e){return/^(([0-2]?\d:[0-5]\d)|([0-1]?\d:[0-5]\d\s?([AP]M)))$/i.test(e)},format:function(e){var t=e?new Date("2000/01/01 "+e.replace(/(\S)([AP]M)$/i,"$1 $2")):e;return t instanceof Date&&isFinite(t)?t.getTime():e},type:"numeric"}),t.addParser({id:"metadata",is:function(){return!1},format:function(t,r,s){var a=r.config,n=a.parserMetadataName?a.parserMetadataName:"sortValue";return e(s).metadata()[n]},type:"numeric"}),t.addWidget({id:"zebra",priority:90,format:function(t,r,s){var a,n,o,i,d,c,l,p,u=new RegExp(r.cssChildRow,"i"),g=r.$tbodies.add(e(r.namespace+"_extra_table").children("tbody"));for(r.debug&&(d=new Date),c=0;c<g.length;c++)for(o=0,a=g.eq(c).children("tr:visible").not(r.selectorRemove),p=a.length,l=0;p>l;l++)n=a.eq(l),u.test(n[0].className)||o++,i=o%2===0,n.removeClass(s.zebra[i?1:0]).addClass(s.zebra[i?0:1])},remove:function(e,r,s,a){if(!a){var n,o,i=r.$tbodies,d=(s.zebra||["even","odd"]).join(" ");for(n=0;n<i.length;n++)o=t.processTbody(e,i.eq(n),!0),o.children().removeClass(d),t.processTbody(e,o,!1)}}})}(jQuery);
diff --git a/jquery.tablesorter.widgets.js b/jquery.tablesorter.widgets.js
new file mode 100644
index 0000000..85477a2
--- /dev/null
+++ b/jquery.tablesorter.widgets.js
@@ -0,0 +1,10 @@
+/*** This file is dynamically generated ***
+█████▄ ▄████▄ █████▄ ▄████▄ ██████ ███████▄ ▄████▄ █████▄ ██ ██████ ██ ██
+██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
+██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▀▀ ▀▀▀▀██
+█████▀ ▀████▀ ██ ██ ▀████▀ ██ ██ ██ ██ ▀████▀ █████▀ ██ ██ █████▀
+*/
+/*! tablesorter (FORK) - updated 05-17-2015 (v2.22.1)*/
+/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
+!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&"object"==typeof module.exports?module.exports=e(require("jquery")):e(jQuery)}(function(e){return function(e,t,r){"use strict";var i=e.tablesorter||{};i.storage=function(a,l,s,n){a=e(a)[0];var o,c,d,f=!1,h={},u=a.config,p=u&&u.widgetOptions,g=n&&n.useSessionStorage||p&&p.storage_useSessionStorage?"sessionStorage":"localStorage",m=e(a),b=n&&n.id||m.attr(n&&n.group||p&&p.storage_group||"data-table-group")||p&&p.storage_tableId||a.id||e(".tablesorter").index(m),y=n&&n.url||m.attr(n&&n.page||p&&p.storage_page||"data-table-page")||p&&p.storage_fixedUrl||u&&u.fixedUrl||t.location.pathname;if(g in t)try{t[g].setItem("_tmptest","temp"),f=!0,t[g].removeItem("_tmptest")}catch(_){u&&u.debug&&i.log(g+" is not supported in this browser")}return e.parseJSON&&(f?h=e.parseJSON(t[g][l]||"null")||{}:(c=r.cookie.split(/[;\s|=]/),o=e.inArray(l,c)+1,h=0!==o?e.parseJSON(c[o]||"null")||{}:{})),(s||""===s)&&t.JSON&&JSON.hasOwnProperty("stringify")?(h[y]||(h[y]={}),h[y][b]=s,f?t[g][l]=JSON.stringify(h):(d=new Date,d.setTime(d.getTime()+31536e6),r.cookie=l+"="+JSON.stringify(h).replace(/\"/g,'"')+"; expires="+d.toGMTString()+"; path=/"),void 0):h&&h[y]?h[y][b]:""}}(jQuery,window,document),function(e){"use strict";var t=e.tablesorter||{};t.themes={bootstrap:{table:"table table-bordered table-striped",caption:"caption",header:"bootstrap-header",sortNone:"",sortAsc:"",sortDesc:"",active:"",hover:"",icons:"",iconSortNone:"bootstrap-icon-unsorted",iconSortAsc:"icon-chevron-up glyphicon glyphicon-chevron-up",iconSortDesc:"icon-chevron-down glyphicon glyphicon-chevron-down",filterRow:"",footerRow:"",footerCells:"",even:"",odd:""},jui:{table:"ui-widget ui-widget-content ui-corner-all",caption:"ui-widget-content",header:"ui-widget-header ui-corner-all ui-state-default",sortNone:"",sortAsc:"",sortDesc:"",active:"ui-state-active",hover:"ui-state-hover",icons:"ui-icon",iconSortNone:"ui-icon-carat-2-n-s",iconSortAsc:"ui-icon-carat-1-n",iconSortDesc:"ui-icon-carat-1-s",filterRow:"",footerRow:"",footerCells:"",even:"ui-widget-content",odd:"ui-state-default"}},e.extend(t.css,{wrapper:"tablesorter-wrapper"}),t.addWidget({id:"uitheme",priority:10,format:function(r,i,a){var l,s,n,o,c,d,f,h,u,p,g,m,b=t.themes,y=i.$table.add(e(i.namespace+"_extra_table")),_=i.$headers.add(e(i.namespace+"_extra_headers")),v=i.theme||"jui",w=b[v]||{},x=e.trim([w.sortNone,w.sortDesc,w.sortAsc,w.active].join(" ")),C=e.trim([w.iconSortNone,w.iconSortDesc,w.iconSortAsc].join(" "));for(i.debug&&(o=new Date),y.hasClass("tablesorter-"+v)&&i.theme===i.appliedTheme&&a.uitheme_applied||(a.uitheme_applied=!0,u=b[i.appliedTheme]||{},m=!e.isEmptyObject(u),p=m?[u.sortNone,u.sortDesc,u.sortAsc,u.active].join(" "):"",g=m?[u.iconSortNone,u.iconSortDesc,u.iconSortAsc].join(" "):"",m&&(a.zebra[0]=e.trim(" "+a.zebra[0].replace(" "+u.even,"")),a.zebra[1]=e.trim(" "+a.zebra[1].replace(" "+u.odd,"")),i.$tbodies.children().removeClass([u.even,u.odd].join(" "))),w.even&&(a.zebra[0]+=" "+w.even),w.odd&&(a.zebra[1]+=" "+w.odd),y.children("caption").removeClass(u.caption||"").addClass(w.caption),f=y.removeClass((i.appliedTheme?"tablesorter-"+(i.appliedTheme||""):"")+" "+(u.table||"")).addClass("tablesorter-"+v+" "+(w.table||"")).children("tfoot"),i.appliedTheme=i.theme,f.length&&f.children("tr").removeClass(u.footerRow||"").addClass(w.footerRow).children("th, td").removeClass(u.footerCells||"").addClass(w.footerCells),_.removeClass((m?[u.header,u.hover,p].join(" "):"")||"").addClass(w.header).not(".sorter-false").unbind("mouseenter.tsuitheme mouseleave.tsuitheme").bind("mouseenter.tsuitheme mouseleave.tsuitheme",function(t){e(this)["mouseenter"===t.type?"addClass":"removeClass"](w.hover||"")}),_.each(function(){var r=e(this);r.find("."+t.css.wrapper).length||r.wrapInner('<div class="'+t.css.wrapper+'" style="position:relative;height:100%;width:100%"></div>')}),i.cssIcon&&_.find("."+t.css.icon).removeClass(m?[u.icons,g].join(" "):"").addClass(w.icons||""),y.hasClass("hasFilters")&&y.children("thead").children("."+t.css.filterRow).removeClass(m?u.filterRow||"":"").addClass(w.filterRow||"")),l=0;l<i.columns;l++)c=i.$headers.add(e(i.namespace+"_extra_headers")).not(".sorter-false").filter('[data-column="'+l+'"]'),d=t.css.icon?c.find("."+t.css.icon):e(),h=_.not(".sorter-false").filter('[data-column="'+l+'"]:last'),h.length&&(c.removeClass(x),d.removeClass(C),h[0].sortDisabled?d.removeClass(w.icons||""):(s=w.sortNone,n=w.iconSortNone,h.hasClass(t.css.sortAsc)?(s=[w.sortAsc,w.active].join(" "),n=w.iconSortAsc):h.hasClass(t.css.sortDesc)&&(s=[w.sortDesc,w.active].join(" "),n=w.iconSortDesc),c.addClass(s),d.addClass(n||"")));i.debug&&t.benchmark("Applying "+v+" theme",o)},remove:function(e,r,i,a){if(i.uitheme_applied){var l=r.$table,s=r.appliedTheme||"jui",n=t.themes[s]||t.themes.jui,o=l.children("thead").children(),c=n.sortNone+" "+n.sortDesc+" "+n.sortAsc,d=n.iconSortNone+" "+n.iconSortDesc+" "+n.iconSortAsc;l.removeClass("tablesorter-"+s+" "+n.table),i.uitheme_applied=!1,a||(l.find(t.css.header).removeClass(n.header),o.unbind("mouseenter.tsuitheme mouseleave.tsuitheme").removeClass(n.hover+" "+c+" "+n.active).filter("."+t.css.filterRow).removeClass(n.filterRow),o.find("."+t.css.icon).removeClass(n.icons+" "+d))}}})}(jQuery),function(e){"use strict";var t=e.tablesorter||{};t.addWidget({id:"columns",priority:30,options:{columns:["primary","secondary","tertiary"]},format:function(r,i,a){var l,s,n,o,c,d,f,h,u=i.$table,p=i.$tbodies,g=i.sortList,m=g.length,b=a&&a.columns||["primary","secondary","tertiary"],y=b.length-1;for(f=b.join(" "),s=0;s<p.length;s++)l=t.processTbody(r,p.eq(s),!0),n=l.children("tr"),n.each(function(){if(c=e(this),"none"!==this.style.display&&(d=c.children().removeClass(f),g&&g[0]&&(d.eq(g[0][0]).addClass(b[0]),m>1)))for(h=1;m>h;h++)d.eq(g[h][0]).addClass(b[h]||b[y])}),t.processTbody(r,l,!1);if(o=a.columns_thead!==!1?["thead tr"]:[],a.columns_tfoot!==!1&&o.push("tfoot tr"),o.length&&(n=u.find(o.join(",")).children().removeClass(f),m))for(h=0;m>h;h++)n.filter('[data-column="'+g[h][0]+'"]').addClass(b[h]||b[y])},remove:function(r,i,a){var l,s,n=i.$tbodies,o=(a.columns||["primary","secondary","tertiary"]).join(" ");for(i.$headers.removeClass(o),i.$table.children("tfoot").children("tr").children("th, td").removeClass(o),l=0;l<n.length;l++)s=t.processTbody(r,n.eq(l),!0),s.children("tr").each(function(){e(this).children().removeClass(o)}),t.processTbody(r,s,!1)}})}(jQuery),function(e){"use strict";var t=e.tablesorter||{},r=t.css;e.extend(r,{filterRow:"tablesorter-filter-row",filter:"tablesorter-filter",filterDisabled:"disabled",filterRowHide:"hideme"}),t.addWidget({id:"filter",priority:50,options:{filter_childRows:!1,filter_childByColumn:!1,filter_columnFilters:!0,filter_columnAnyMatch:!0,filter_cellFilter:"",filter_cssFilter:"",filter_defaultFilter:{},filter_excludeFilter:{},filter_external:"",filter_filteredRow:"filtered",filter_formatter:null,filter_functions:null,filter_hideEmpty:!0,filter_hideFilters:!1,filter_ignoreCase:!0,filter_liveSearch:!0,filter_onlyAvail:"filter-onlyAvail",filter_placeholder:{search:"",select:""},filter_reset:null,filter_saveFilters:!1,filter_searchDelay:300,filter_searchFiltered:!0,filter_selectSource:null,filter_startsWith:!1,filter_useParsedData:!1,filter_serversideFiltering:!1,filter_defaultAttrib:"data-value",filter_selectSourceSeparator:"|"},format:function(e,r,i){r.$table.hasClass("hasFilters")||t.filter.init(e,r,i)},remove:function(i,a,l,s){var n,o,c=a.$table,d=a.$tbodies,f="addRows updateCell update updateRows updateComplete appendCache filterReset filterEnd search ".split(" ").join(a.namespace+"filter ");if(c.removeClass("hasFilters").unbind(f.replace(/\s+/g," ")).find("."+r.filterRow).remove(),!s){for(n=0;n<d.length;n++)o=t.processTbody(i,d.eq(n),!0),o.children().removeClass(l.filter_filteredRow).show(),t.processTbody(i,o,!1);l.filter_reset&&e(document).undelegate(l.filter_reset,"click.tsfilter")}}}),t.filter={regex:{regex:/^\/((?:\\\/|[^\/])+)\/([mig]{0,3})?$/,child:/tablesorter-childRow/,filtered:/filtered/,type:/undefined|number/,exact:/(^[\"\'=]+)|([\"\'=]+$)/g,nondigit:/[^\w,. \-()]/g,operators:/[<>=]/g,query:"(q|query)"},types:{regex:function(e,r){if(t.filter.regex.regex.test(r.filter)){var i,a=r.filter_regexCache[r.index]||t.filter.regex.regex.exec(r.filter),l=a instanceof RegExp;try{l||(r.filter_regexCache[r.index]=a=new RegExp(a[1],a[2])),i=a.test(r.exact)}catch(s){i=!1}return i}return null},operators:function(r,i){if(/^[<>]=?/.test(i.iFilter)&&""!==i.iExact){var a,l,s,n=r.table,o=i.index,c=i.parsed[o],d=t.formatFloat(i.iFilter.replace(t.filter.regex.operators,""),n),f=r.parsers[o],h=d;return(c||"numeric"===f.type)&&(s=e.trim(""+i.iFilter.replace(t.filter.regex.operators,"")),l=t.filter.parseFilter(r,s,o,!0),d="number"!=typeof l||""===l||isNaN(l)?d:l),!c&&"numeric"!==f.type||isNaN(d)||"undefined"==typeof i.cache?(s=isNaN(i.iExact)?i.iExact.replace(t.filter.regex.nondigit,""):i.iExact,a=t.formatFloat(s,n)):a=i.cache,/>/.test(i.iFilter)?l=/>=/.test(i.iFilter)?a>=d:a>d:/</.test(i.iFilter)&&(l=/<=/.test(i.iFilter)?d>=a:d>a),l||""!==h||(l=!0),l}return null},notMatch:function(r,i){if(/^\!/.test(i.iFilter)){var a,l=i.iFilter.replace("!",""),s=t.filter.parseFilter(r,l,i.index,i.parsed[i.index])||"";return t.filter.regex.exact.test(s)?(s=s.replace(t.filter.regex.exact,""),""===s?!0:e.trim(s)!==i.iExact):(a=i.iExact.search(e.trim(s)),""===s?!0:!(r.widgetOptions.filter_startsWith?0===a:a>=0))}return null},exact:function(r,i){if(t.filter.regex.exact.test(i.iFilter)){var a=i.iFilter.replace(t.filter.regex.exact,""),l=t.filter.parseFilter(r,a,i.index,i.parsed[i.index])||"";return i.anyMatch?e.inArray(l,i.rowArray)>=0:l==i.iExact}return null},and:function(r,i){if(t.filter.regex.andTest.test(i.filter)){for(var a=i.index,l=i.parsed[a],s=i.iFilter.split(t.filter.regex.andSplit),n=i.iExact.search(e.trim(t.filter.parseFilter(r,s[0],a,l)))>=0,o=s.length-1;n&&o;)n=n&&i.iExact.search(e.trim(t.filter.parseFilter(r,s[o],a,l)))>=0,o--;return n}return null},range:function(e,r){if(t.filter.regex.toTest.test(r.iFilter)){var i,a,l,s,n=e.table,o=r.index,c=r.parsed[o],d=r.iFilter.split(t.filter.regex.toSplit);return a=d[0].replace(t.filter.regex.nondigit,"")||"",l=t.formatFloat(t.filter.parseFilter(e,a,o,c),n),a=d[1].replace(t.filter.regex.nondigit,"")||"",s=t.formatFloat(t.filter.parseFilter(e,a,o,c),n),(c||"numeric"===e.parsers[o].type)&&(i=e.parsers[o].format(""+d[0],n,e.$headers.eq(o),o),l=""===i||isNaN(i)?l:i,i=e.parsers[o].format(""+d[1],n,e.$headers.eq(o),o),s=""===i||isNaN(i)?s:i),!c&&"numeric"!==e.parsers[o].type||isNaN(l)||isNaN(s)?(a=isNaN(r.iExact)?r.iExact.replace(t.filter.regex.nondigit,""):r.iExact,i=t.formatFloat(a,n)):i=r.cache,l>s&&(a=l,l=s,s=a),i>=l&&s>=i||""===l||""===s}return null},wild:function(r,i){if(/[\?\*\|]/.test(i.iFilter)||t.filter.regex.orReplace.test(i.filter)){var a=i.index,l=i.parsed[a],s=i.iFilter.replace(t.filter.regex.orReplace,"|"),n=""+(t.filter.parseFilter(r,s,a,l)||"");return!r.$headerIndexed[a].hasClass("filter-match")&&/\|/.test(n)&&("|"===n[n.length-1]&&(n+="*"),n=i.anyMatch&&e.isArray(i.rowArray)?"("+n+")":"^("+n+")$"),new RegExp(n.replace(/\?/g,"\\S{1}").replace(/\*/g,"\\S*")).test(i.iExact)}return null},fuzzy:function(e,r){if(/^~/.test(r.iFilter)){var i,a=0,l=r.iExact.length,s=r.iFilter.slice(1),n=t.filter.parseFilter(e,s,r.index,r.parsed[r.index])||"";for(i=0;l>i;i++)r.iExact[i]===n[a]&&(a+=1);return a===n.length?!0:!1}return null}},init:function(i,a,l){t.language=e.extend(!0,{},{to:"to",or:"or",and:"and"},t.language);var s,n,o,c,d,f,h,u,p,g=t.filter.regex;if(a.$table.addClass("hasFilters"),l.searchTimer=null,l.filter_initTimer=null,l.filter_formatterCount=0,l.filter_formatterInit=[],l.filter_anyColumnSelector='[data-column="all"],[data-column="any"]',l.filter_multipleColumnSelector='[data-column*="-"],[data-column*=","]',h="\\{"+t.filter.regex.query+"\\}",e.extend(g,{child:new RegExp(a.cssChildRow),filtered:new RegExp(l.filter_filteredRow),alreadyFiltered:new RegExp("(\\s+("+t.language.or+"|-|"+t.language.to+")\\s+)","i"),toTest:new RegExp("\\s+(-|"+t.language.to+")\\s+","i"),toSplit:new RegExp("(?:\\s+(?:-|"+t.language.to+")\\s+)","gi"),andTest:new RegExp("\\s+("+t.language.and+"|&&)\\s+","i"),andSplit:new RegExp("(?:\\s+(?:"+t.language.and+"|&&)\\s+)","gi"),orReplace:new RegExp("\\s+("+t.language.or+")\\s+","gi"),iQuery:new RegExp(h,"i"),igQuery:new RegExp(h,"ig")}),h=a.$headers.filter(".filter-false, .parser-false").length,l.filter_columnFilters!==!1&&h!==a.$headers.length&&t.filter.buildRow(i,a,l),o="addRows updateCell update updateRows updateComplete appendCache filterReset filterEnd search ".split(" ").join(a.namespace+"filter "),a.$table.bind(o,function(s,n){return h=l.filter_hideEmpty&&e.isEmptyObject(a.cache)&&!(a.delayInit&&"appendCache"===s.type),a.$table.find("."+r.filterRow).toggleClass(l.filter_filteredRow,h),/(search|filter)/.test(s.type)||(s.stopPropagation(),t.filter.buildDefault(i,!0)),"filterReset"===s.type?(a.$table.find("."+r.filter).add(l.filter_$externalFilters).val(""),t.filter.searching(i,[])):"filterEnd"===s.type?t.filter.buildDefault(i,!0):(n="search"===s.type?n:"updateComplete"===s.type?a.$table.data("lastSearch"):"",/(update|add)/.test(s.type)&&"updateComplete"!==s.type&&(a.lastCombinedFilter=null,a.lastSearch=[]),t.filter.searching(i,n,!0)),!1}),l.filter_reset&&(l.filter_reset instanceof e?l.filter_reset.click(function(){a.$table.trigger("filterReset")}):e(l.filter_reset).length&&e(document).undelegate(l.filter_reset,"click.tsfilter").delegate(l.filter_reset,"click.tsfilter",function(){a.$table.trigger("filterReset")})),l.filter_functions)for(d=0;d<a.columns;d++)if(u=t.getColumnData(i,l.filter_functions,d))if(c=a.$headerIndexed[d].removeClass("filter-select"),p=!(c.hasClass("filter-false")||c.hasClass("parser-false")),s="",u===!0&&p)t.filter.buildSelect(i,d);else if("object"==typeof u&&p){for(n in u)"string"==typeof n&&(s+=""===s?'<option value="">'+(c.data("placeholder")||c.attr("data-placeholder")||l.filter_placeholder.select||"")+"</option>":"",h=n,o=n,n.indexOf(l.filter_selectSourceSeparator)>=0&&(h=n.split(l.filter_selectSourceSeparator),o=h[1],h=h[0]),s+="<option "+(o===h?"":'data-function-name="'+n+'" ')+'value="'+h+'">'+o+"</option>");a.$table.find("thead").find("select."+r.filter+'[data-column="'+d+'"]').append(s),o=l.filter_selectSource,u=e.isFunction(o)?!0:t.getColumnData(i,o,d),u&&t.filter.buildSelect(a.table,d,"",!0,c.hasClass(l.filter_onlyAvail))}t.filter.buildDefault(i,!0),t.filter.bindSearch(i,a.$table.find("."+r.filter),!0),l.filter_external&&t.filter.bindSearch(i,l.filter_external),l.filter_hideFilters&&t.filter.hideFilters(i,a),a.showProcessing&&(o="filterStart filterEnd ".split(" ").join(a.namespace+"filter "),a.$table.unbind(o.replace(/\s+/g," ")).bind(o,function(l,s){c=s?a.$table.find("."+r.header).filter("[data-column]").filter(function(){return""!==s[e(this).data("column")]}):"",t.isProcessing(i,"filterStart"===l.type,s?c:"")})),a.filteredRows=a.totalRows,o="tablesorter-initialized pagerBeforeInitialized ".split(" ").join(a.namespace+"filter "),a.$table.unbind(o.replace(/\s+/g," ")).bind(o,function(){var e=this.config.widgetOptions;f=t.filter.setDefaults(i,a,e)||[],f.length&&(a.delayInit&&""===f.join("")||t.setFilters(i,f,!0)),a.$table.trigger("filterFomatterUpdate"),setTimeout(function(){e.filter_initialized||t.filter.filterInitComplete(a)},100)}),a.pager&&a.pager.initialized&&!l.filter_initialized&&(a.$table.trigger("filterFomatterUpdate"),setTimeout(function(){t.filter.filterInitComplete(a)},100))},formatterUpdated:function(e,t){var r=e.closest("table")[0].config.widgetOptions;r.filter_initialized||(r.filter_formatterInit[t]=1)},filterInitComplete:function(r){var i,a,l=r.widgetOptions,s=0,n=function(){l.filter_initialized=!0,r.$table.trigger("filterInit",r),t.filter.findRows(r.table,r.$table.data("lastSearch")||[])};if(e.isEmptyObject(l.filter_formatter))n();else{for(a=l.filter_formatterInit.length,i=0;a>i;i++)1===l.filter_formatterInit[i]&&s++;clearTimeout(l.filter_initTimer),l.filter_initialized||s!==l.filter_formatterCount?l.filter_initialized||(l.filter_initTimer=setTimeout(function(){n()},500)):n()}},setDefaults:function(r,i,a){var l,s,n,o,c,d=t.getFilters(r)||[];if(a.filter_saveFilters&&t.storage&&(s=t.storage(r,"tablesorter-filters")||[],l=e.isArray(s),l&&""===s.join("")||!l||(d=s)),""===d.join(""))for(c=i.$headers.add(a.filter_$externalFilters).filter("["+a.filter_defaultAttrib+"]"),n=0;n<=i.columns;n++)o=n===i.columns?"all":n,d[n]=c.filter('[data-column="'+o+'"]').attr(a.filter_defaultAttrib)||d[n]||"";return i.$table.data("lastSearch",d),d},parseFilter:function(e,t,r,i){return i?e.parsers[r].format(t,e.table,[],r):t},buildRow:function(i,a,l){var s,n,o,c,d,f,h,u,p=l.filter_cellFilter,g=a.columns,m=e.isArray(p),b='<tr role="row" class="'+r.filterRow+" "+a.cssIgnoreRow+'">';for(n=0;g>n;n++)b+="<td",b+=m?p[n]?' class="'+p[n]+'"':"":""!==p?' class="'+p+'"':"",b+="></td>";for(a.$filters=e(b+="</tr>").appendTo(a.$table.children("thead").eq(0)).find("td"),n=0;g>n;n++)d=!1,o=a.$headerIndexed[n],h=t.getColumnData(i,l.filter_functions,n),c=l.filter_functions&&h&&"function"!=typeof h||o.hasClass("filter-select"),s=t.getColumnData(i,a.headers,n),d="false"===t.getData(o[0],s,"filter")||"false"===t.getData(o[0],s,"parser"),c?b=e("<select>").appendTo(a.$filters.eq(n)):(h=t.getColumnData(i,l.filter_formatter,n),h?(l.filter_formatterCount++,b=h(a.$filters.eq(n),n),b&&0===b.length&&(b=a.$filters.eq(n).children("input")),b&&(0===b.parent().length||b.parent().length&&b.parent()[0]!==a.$filters[n])&&a.$filters.eq(n).append(b)):b=e('<input type="search">').appendTo(a.$filters.eq(n)),b&&(u=o.data("placeholder")||o.attr("data-placeholder")||l.filter_placeholder.search||"",b.attr("placeholder",u))),b&&(f=(e.isArray(l.filter_cssFilter)?"undefined"!=typeof l.filter_cssFilter[n]?l.filter_cssFilter[n]||"":"":l.filter_cssFilter)||"",b.addClass(r.filter+" "+f).attr("data-column",n),d&&(b.attr("placeholder","").addClass(r.filterDisabled)[0].disabled=!0))},bindSearch:function(r,i,a){if(r=e(r)[0],i=e(i),i.length){var l,s=r.config,n=s.widgetOptions,o=s.namespace+"filter",c=n.filter_$externalFilters;a!==!0&&(l=n.filter_anyColumnSelector+","+n.filter_multipleColumnSelector,n.filter_$anyMatch=i.filter(l),n.filter_$externalFilters=c&&c.length?n.filter_$externalFilters.add(i):i,t.setFilters(r,s.$table.data("lastSearch")||[],a===!1)),l="keypress keyup search change ".split(" ").join(o+" "),i.attr("data-lastSearchTime",(new Date).getTime()).unbind(l.replace(/\s+/g," ")).bind("keyup"+o,function(i){if(e(this).attr("data-lastSearchTime",(new Date).getTime()),27===i.which)this.value="";else{if(n.filter_liveSearch===!1)return;if(""!==this.value&&("number"==typeof n.filter_liveSearch&&this.value.length<n.filter_liveSearch||13!==i.which&&8!==i.which&&(i.which<32||i.which>=37&&i.which<=40)))return}t.filter.searching(r,!0,!0)}).bind("search change keypress ".split(" ").join(o+" "),function(i){var a=e(this).data("column");(13===i.which||"search"===i.type||"change"===i.type&&this.value!==s.lastSearch[a])&&(i.preventDefault(),e(this).attr("data-lastSearchTime",(new Date).getTime()),t.filter.searching(r,!1,!0))})}},searching:function(e,r,i){var a=e.config.widgetOptions;clearTimeout(a.searchTimer),"undefined"==typeof r||r===!0?a.searchTimer=setTimeout(function(){t.filter.checkFilters(e,r,i)},a.filter_liveSearch?a.filter_searchDelay:10):t.filter.checkFilters(e,r,i)},checkFilters:function(i,a,l){var s=i.config,n=s.widgetOptions,o=e.isArray(a),c=o?a:t.getFilters(i,!0),d=(c||[]).join("");return e.isEmptyObject(s.cache)?void(s.delayInit&&s.pager&&s.pager.initialized&&s.$table.trigger("updateCache",[function(){t.filter.checkFilters(i,!1,l)}])):(o&&(t.setFilters(i,c,!1,l!==!0),n.filter_initialized||(s.lastCombinedFilter="")),n.filter_hideFilters&&s.$table.find("."+r.filterRow).trigger(""===d?"mouseleave":"mouseenter"),s.lastCombinedFilter!==d||a===!1?(a===!1&&(s.lastCombinedFilter=null,s.lastSearch=[]),n.filter_initialized&&s.$table.trigger("filterStart",[c]),s.showProcessing?void setTimeout(function(){return t.filter.findRows(i,c,d),!1},30):(t.filter.findRows(i,c,d),!1)):void 0)},hideFilters:function(i,a){var l,s,n;e(i).find("."+r.filterRow).addClass(r.filterRowHide).bind("mouseenter mouseleave",function(t){var i=t;l=e(this),clearTimeout(n),n=setTimeout(function(){/enter|over/.test(i.type)?l.removeClass(r.filterRowHide):e(document.activeElement).closest("tr")[0]!==l[0]&&""===a.lastCombinedFilter&&l.addClass(r.filterRowHide)},200)}).find("input, select").bind("focus blur",function(i){s=e(this).closest("tr"),clearTimeout(n);var l=i;n=setTimeout(function(){""===t.getFilters(a.$table).join("")&&s.toggleClass(r.filterRowHide,"focus"===l.type)},200)})},defaultFilter:function(r,i){if(""===r)return r;var a=t.filter.regex.iQuery,l=i.match(t.filter.regex.igQuery).length,s=l>1?e.trim(r).split(/\s/):[e.trim(r)],n=s.length-1,o=0,c=i;for(1>n&&l>1&&(s[1]=s[0]);a.test(c);)c=c.replace(a,s[o++]||""),a.test(c)&&n>o&&""!==(s[o]||"")&&(c=i.replace(a,c));return c},getLatestSearch:function(t){return t?t.sort(function(t,r){return e(r).attr("data-lastSearchTime")-e(t).attr("data-lastSearchTime")}):e()},multipleColumns:function(r,i){var a,l,s,n,o,c,d,f,h,u=r.widgetOptions,p=u.filter_initialized||!i.filter(u.filter_anyColumnSelector).length,g=[],m=e.trim(t.filter.getLatestSearch(i).attr("data-column")||"");if(p&&/-/.test(m))for(l=m.match(/(\d+)\s*-\s*(\d+)/g),h=l.length,f=0;h>f;f++){for(s=l[f].split(/\s*-\s*/),n=parseInt(s[0],10)||0,o=parseInt(s[1],10)||r.columns-1,n>o&&(a=n,n=o,o=a),o>=r.columns&&(o=r.columns-1);o>=n;n++)g.push(n);m=m.replace(l[f],"")}if(p&&/,/.test(m))for(c=m.split(/\s*,\s*/),h=c.length,d=0;h>d;d++)""!==c[d]&&(f=parseInt(c[d],10),f<r.columns&&g.push(f));if(!g.length)for(f=0;f<r.columns;f++)g.push(f);return g},processRow:function(r,i,a){var l,s,n,o,c,d,f,h,u,p,g,m=t.filter.regex,b=r.widgetOptions,y=!0;if(i.$cells=i.$row.children(),i.anyMatchFlag){s=t.filter.multipleColumns(r,b.filter_$anyMatch),i.anyMatch=!0,i.rowArray=i.$cells.map(function(a){return e.inArray(a,s)>-1?(i.parsed[a]?g=i.cacheArray[a]:(g=i.rawArray[a],g=e.trim(b.filter_ignoreCase?g.toLowerCase():g),r.sortLocaleCompare&&(g=t.replaceAccents(g))),g):void 0}).get(),i.filter=i.anyMatchFilter,i.iFilter=i.iAnyMatchFilter,i.exact=i.rowArray.join(" "),i.iExact=b.filter_ignoreCase?i.exact.toLowerCase():i.exact,i.cache=i.cacheArray.slice(0,-1).join(" "),f=null,o=null;for(p in t.filter.types)e.inArray(p,a.noAnyMatch)<0&&null===o&&(o=t.filter.types[p](r,i),null!==o&&(f=o));if(null!==f)y=f;else if(b.filter_startsWith)for(y=!1,s=r.columns;!y&&s>0;)s--,y=y||0===i.rowArray[s].indexOf(i.iFilter);else y=(i.iExact+i.childRowText).indexOf(i.iFilter)>=0;if(i.anyMatch=!1,i.filters.join("")===i.filter)return y}for(s=0;s<r.columns;s++)if(i.filter=i.filters[s],i.index=s,h=a.excludeFilter[s],i.filter){if(i.cache=i.cacheArray[s],b.filter_useParsedData||i.parsed[s]?i.exact=i.cache:(c=i.rawArray[s]||"",i.exact=r.sortLocaleCompare?t.replaceAccents(c):c),i.iExact=!m.type.test(typeof i.exact)&&b.filter_ignoreCase?i.exact.toLowerCase():i.exact,c=y,p=b.filter_columnFilters?r.$filters.add(r.$externalFilters).filter('[data-column="'+s+'"]').find("select option:selected").attr("data-function-name")||"":"",r.sortLocaleCompare&&(i.filter=t.replaceAccents(i.filter)),d=!0,b.filter_defaultFilter&&m.iQuery.test(a.defaultColFilter[s])&&(i.filter=t.filter.defaultFilter(i.filter,a.defaultColFilter[s]),d=!1),i.iFilter=b.filter_ignoreCase?(i.filter||"").toLowerCase():i.filter,u=a.functions[s],l=r.$headerIndexed[s],n=l.hasClass("filter-select"),f=null,(u||n&&d)&&(u===!0||n?f=l.hasClass("filter-match")?i.iExact.search(i.iFilter)>=0:i.filter===i.exact:"function"==typeof u?f=u(i.exact,i.cache,i.filter,s,i.$row,r,i):"function"==typeof u[p||i.filter]&&(g=p||i.filter,f=u[g](i.exact,i.cache,i.filter,s,i.$row,r,i))),null===f){o=null;for(p in t.filter.types)e.inArray(p,h)<0&&null===o&&(o=t.filter.types[p](r,i),null!==o&&(f=o));null!==f?c=f:(g=(i.iExact+i.childRowText).indexOf(t.filter.parseFilter(r,i.iFilter,s,i.parsed[s])),c=!b.filter_startsWith&&g>=0||b.filter_startsWith&&0===g)}else c=f;y=c?y:!1}return y},findRows:function(r,i,a){if(r.config.lastCombinedFilter!==a&&r.config.widgetOptions.filter_initialized){var l,s,n,o,c,d,f,h,u,p,g,m,b,y,_,v,w,x,C,$,z,S,F=e.extend([],i),R=t.filter.regex,k=r.config,T=k.widgetOptions,A={anyMatch:!1,filters:i,filter_regexCache:[]},H={noAnyMatch:["range","notMatch","operators"],functions:[],excludeFilter:[],defaultColFilter:[],defaultAnyFilter:t.getColumnData(r,T.filter_defaultFilter,k.columns,!0)||""};for(A.parsed=k.$headers.map(function(i){return k.parsers&&k.parsers[i]&&k.parsers[i].parsed||t.getData&&"parsed"===t.getData(k.$headerIndexed[i],t.getColumnData(r,k.headers,i),"filter")||e(this).hasClass("filter-parsed")}).get(),h=0;h<k.columns;h++)H.functions[h]=t.getColumnData(r,T.filter_functions,h),H.defaultColFilter[h]=t.getColumnData(r,T.filter_defaultFilter,h)||"",H.excludeFilter[h]=(t.getColumnData(r,T.filter_excludeFilter,h,!0)||"").split(/\s+/);for(k.debug&&(t.log("Filter: Starting filter widget search",i),b=new Date),k.filteredRows=0,k.totalRows=0,a=(F||[]).join(""),d=0;d<k.$tbodies.length;d++){if(f=t.processTbody(r,k.$tbodies.eq(d),!0),h=k.columns,s=k.cache[d].normalized,o=e(e.map(s,function(e){return e[h].$row.get()})),""===a||T.filter_serversideFiltering)o.removeClass(T.filter_filteredRow).not("."+k.cssChildRow).css("display","");else{if(o=o.not("."+k.cssChildRow),l=o.length,(T.filter_$anyMatch&&T.filter_$anyMatch.length||"undefined"!=typeof i[k.columns])&&(A.anyMatchFlag=!0,A.anyMatchFilter=""+(i[k.columns]||T.filter_$anyMatch&&t.filter.getLatestSearch(T.filter_$anyMatch).val()||""),T.filter_columnAnyMatch)){for(x=A.anyMatchFilter.split(R.andSplit),C=!1,_=0;_<x.length;_++)$=x[_].split(":"),$.length>1&&(z=parseInt($[0],10)-1,z>=0&&z<k.columns&&(i[z]=$[1],x.splice(_,1),_--,C=!0));C&&(A.anyMatchFilter=x.join(" && "))}if(w=T.filter_searchFiltered,g=k.lastSearch||k.$table.data("lastSearch")||[],w)for(_=0;h+1>_;_++)y=i[_]||"",w||(_=h),w=!(!w||!g.length||0!==y.indexOf(g[_]||"")||R.alreadyFiltered.test(y)||/[=\"\|!]/.test(y)||/(>=?\s*-\d)/.test(y)||/(<=?\s*\d)/.test(y)||""!==y&&k.$filters&&k.$filters.eq(_).find("select").length&&!k.$headerIndexed[_].hasClass("filter-match"));for(v=o.not("."+T.filter_filteredRow).length,w&&0===v&&(w=!1),k.debug&&t.log("Filter: Searching through "+(w&&l>v?v:"all")+" rows"),A.anyMatchFlag&&(k.sortLocaleCompare&&(A.anyMatchFilter=t.replaceAccents(A.anyMatchFilter)),T.filter_defaultFilter&&R.iQuery.test(H.defaultAnyFilter)&&(A.anyMatchFilter=t.filter.defaultFilter(A.anyMatchFilter,H.defaultAnyFilter),w=!1),A.iAnyMatchFilter=T.filter_ignoreCase&&k.ignoreCase?A.anyMatchFilter.toLowerCase():A.anyMatchFilter),c=0;l>c;c++)if(S=o[c].className,u=c&&R.child.test(S),!(u||w&&R.filtered.test(S))){if(A.$row=o.eq(c),A.cacheArray=s[c],n=A.cacheArray[k.columns],A.rawArray=n.raw,A.childRowText="",!T.filter_childByColumn){for(S="",p=n.child,_=0;_<p.length;_++)S+=" "+p[_].join("")||"";A.childRowText=T.filter_childRows?T.filter_ignoreCase?S.toLowerCase():S:""}if(m=t.filter.processRow(k,A,H),p=n.$row.filter(":gt( 0 )"),T.filter_childRows&&p.length){if(T.filter_childByColumn)for(_=0;_<p.length;_++)A.$row=p.eq(_),A.cacheArray=n.child[_],A.rawArray=A.cacheArray,m=m||t.filter.processRow(k,A,H);p.toggleClass(T.filter_filteredRow,!m)}n.$row.toggleClass(T.filter_filteredRow,!m)[0].display=m?"":"none"}}k.filteredRows+=o.not("."+T.filter_filteredRow).length,k.totalRows+=o.length,t.processTbody(r,f,!1)}k.lastCombinedFilter=a,k.lastSearch=F,k.$table.data("lastSearch",F),T.filter_saveFilters&&t.storage&&t.storage(r,"tablesorter-filters",F),k.debug&&t.benchmark("Completed filter widget search",b),T.filter_initialized&&k.$table.trigger("filterEnd",k),setTimeout(function(){k.$table.trigger("applyWidgets")},0)}},getOptionSource:function(r,i,a){r=e(r)[0];var l,s,n,o=r.config,c=o.widgetOptions,d=[],f=!1,h=c.filter_selectSource,u=o.$table.data("lastSearch")||[],p=e.isFunction(h)?!0:t.getColumnData(r,h,i);if(a&&""!==u[i]&&(a=!1),p===!0)f=h(r,i,a);else{if(p instanceof e||"string"===e.type(p)&&p.indexOf("</option>")>=0)return p;e.isArray(p)?f=p:"object"===e.type(h)&&p&&(f=p(r,i,a))}if(f===!1&&(f=t.filter.getOptions(r,i,a)),f=e.grep(f,function(t,r){return e.inArray(t,f)===r}),o.$headerIndexed[i].hasClass("filter-select-nosort"))return f;for(n=f.length,s=0;n>s;s++)d.push({t:f[s],p:o.parsers&&o.parsers[i].format(f[s],r,[],i)});for(l=o.textSorter||"",d.sort(function(a,s){var n=a.p.toString(),o=s.p.toString();return e.isFunction(l)?l(n,o,!0,i,r):"object"==typeof l&&l.hasOwnProperty(i)?l[i](n,o,!0,i,r):t.sortNatural?t.sortNatural(n,o):!0}),f=[],n=d.length,s=0;n>s;s++)f.push(d[s].t);return f},getOptions:function(t,r,i){t=e(t)[0];var a,l,s,n,o,c=t.config,d=c.widgetOptions,f=[];for(l=0;l<c.$tbodies.length;l++)for(o=c.cache[l],s=c.cache[l].normalized.length,a=0;s>a;a++)n=o.row?o.row[a]:o.normalized[a][c.columns].$row[0],i&&n.className.match(d.filter_filteredRow)||f.push(d.filter_useParsedData||c.parsers[r].parsed||c.$headerIndexed[r].hasClass("filter-parsed")?""+o.normalized[a][r]:o.normalized[a][c.columns].raw[r]);return f},buildSelect:function(i,a,l,s,n){if(i=e(i)[0],a=parseInt(a,10),i.config.cache&&!e.isEmptyObject(i.config.cache)){var o,c,d,f,h,u,p=i.config,g=p.widgetOptions,m=p.$headerIndexed[a],b='<option value="">'+(m.data("placeholder")||m.attr("data-placeholder")||g.filter_placeholder.select||"")+"</option>",y=p.$table.find("thead").find("select."+r.filter+'[data-column="'+a+'"]').val();if(("undefined"==typeof l||""===l)&&(l=t.filter.getOptionSource(i,a,n)),e.isArray(l)){for(o=0;o<l.length;o++)d=l[o]=(""+l[o]).replace(/\"/g,"&quot;"),c=d,d.indexOf(g.filter_selectSourceSeparator)>=0&&(f=d.split(g.filter_selectSourceSeparator),c=f[0],d=f[1]),b+=""!==l[o]?"<option "+(c===d?"":'data-function-name="'+l[o]+'" ')+'value="'+c+'">'+d+"</option>":"";l=[]}h=(p.$filters?p.$filters:p.$table.children("thead")).find("."+r.filter),g.filter_$externalFilters&&(h=h&&h.length?h.add(g.filter_$externalFilters):g.filter_$externalFilters),u=h.filter('select[data-column="'+a+'"]'),u.length&&(u[s?"html":"append"](b),e.isArray(l)||u.append(l).val(y),u.val(y))}},buildDefault:function(e,r){var i,a,l,s=e.config,n=s.widgetOptions,o=s.columns;for(i=0;o>i;i++)a=s.$headerIndexed[i],l=!(a.hasClass("filter-false")||a.hasClass("parser-false")),(a.hasClass("filter-select")||t.getColumnData(e,n.filter_functions,i)===!0)&&l&&t.filter.buildSelect(e,i,"",r,a.hasClass(n.filter_onlyAvail))}},t.getFilters=function(i,a,l,s){var n,o,c,d,f=!1,h=i?e(i)[0].config:"",u=h?h.widgetOptions:"";if(a!==!0&&u&&!u.filter_columnFilters||e.isArray(l)&&l.join("")===h.lastCombinedFilter)return e(i).data("lastSearch");if(h&&(h.$filters&&(o=h.$filters.find("."+r.filter)),u.filter_$externalFilters&&(o=o&&o.length?o.add(u.filter_$externalFilters):u.filter_$externalFilters),o&&o.length))for(f=l||[],n=0;n<h.columns+1;n++)d=n===h.columns?u.filter_anyColumnSelector+","+u.filter_multipleColumnSelector:'[data-column="'+n+'"]',c=o.filter(d),c.length&&(c=t.filter.getLatestSearch(c),e.isArray(l)?(s&&c.slice(1),n===h.columns&&(d=c.filter(u.filter_anyColumnSelector),c=d.length?d:c),c.val(l[n]).trigger("change.tsfilter")):(f[n]=c.val()||"",n===h.columns?c.slice(1).filter('[data-column*="'+c.attr("data-column")+'"]').val(f[n]):c.slice(1).val(f[n])),n===h.columns&&c.length&&(u.filter_$anyMatch=c));return 0===f.length&&(f=!1),f},t.setFilters=function(r,i,a,l){var s=r?e(r)[0].config:"",n=t.getFilters(r,!0,i,l);return s&&a&&(s.lastCombinedFilter=null,s.lastSearch=[],t.filter.searching(s.table,i,l),s.$table.trigger("filterFomatterUpdate")),!!n}}(jQuery),function(e,t){"use strict";var r=e.tablesorter||{};e.extend(r.css,{sticky:"tablesorter-stickyHeader",stickyVis:"tablesorter-sticky-visible",stickyHide:"tablesorter-sticky-hidden",stickyWrap:"tablesorter-sticky-wrapper"}),r.addHeaderResizeEvent=function(t,r,i){t=e(t)[0];
+var a,l={timer:250},s=e.extend({},l,i),n=t.config,o=n.widgetOptions,c=function(t){o.resize_flag=!0,a=[],n.$headers.each(function(){var t=e(this),r=t.data("savedSizes")||[0,0],i=this.offsetWidth,l=this.offsetHeight;(i!==r[0]||l!==r[1])&&(t.data("savedSizes",[i,l]),a.push(this))}),a.length&&t!==!1&&n.$table.trigger("resize",[a]),o.resize_flag=!1};return c(!1),clearInterval(o.resize_timer),r?(o.resize_flag=!1,!1):void(o.resize_timer=setInterval(function(){o.resize_flag||c()},s.timer))},r.addWidget({id:"stickyHeaders",priority:60,options:{stickyHeaders:"",stickyHeaders_attachTo:null,stickyHeaders_xScroll:null,stickyHeaders_yScroll:null,stickyHeaders_offset:0,stickyHeaders_filteredToTop:!0,stickyHeaders_cloneId:"-sticky",stickyHeaders_addResizeEvent:!0,stickyHeaders_includeCaption:!0,stickyHeaders_zIndex:2},format:function(i,a,l){if(!(a.$table.hasClass("hasStickyHeaders")||e.inArray("filter",a.widgets)>=0&&!a.$table.hasClass("hasFilters"))){var s,n=a.$table,o=e(l.stickyHeaders_attachTo),c=a.namespace+"stickyheaders ",d=e(l.stickyHeaders_yScroll||l.stickyHeaders_attachTo||t),f=e(l.stickyHeaders_xScroll||l.stickyHeaders_attachTo||t),h=n.children("thead:first"),u=h.children("tr").not(".sticky-false").children(),p=n.children("tfoot"),g=isNaN(l.stickyHeaders_offset)?e(l.stickyHeaders_offset):"",m=g.length?g.height()||0:parseInt(l.stickyHeaders_offset,10)||0,b=n.parent().closest("."+r.css.table).hasClass("hasStickyHeaders")?n.parent().closest("table.tablesorter")[0].config.widgetOptions.$sticky.parent():[],y=b.length?b.height():0,_=l.$sticky=n.clone().addClass("containsStickyHeaders "+r.css.sticky+" "+l.stickyHeaders+" "+a.namespace.slice(1)+"_extra_table").wrap('<div class="'+r.css.stickyWrap+'">'),v=_.parent().addClass(r.css.stickyHide).css({position:o.length?"absolute":"fixed",padding:parseInt(_.parent().parent().css("padding-left"),10),top:m+y,left:0,visibility:"hidden",zIndex:l.stickyHeaders_zIndex||2}),w=_.children("thead:first"),x="",C=0,$=function(r,i){r.filter(":visible").each(function(r){var a,l,s=i.filter(":visible").eq(r),n=e(this);"border-box"===n.css("box-sizing")?a=n.outerWidth():"collapse"===s.css("border-collapse")?t.getComputedStyle?a=parseFloat(t.getComputedStyle(this,null).width):(l=parseFloat(n.css("border-width")),a=n.outerWidth()-parseFloat(n.css("padding-left"))-parseFloat(n.css("padding-right"))-l):a=n.width(),s.css({"min-width":a,"max-width":a})})},z=function(){m=g.length?g.height()||0:parseInt(l.stickyHeaders_offset,10)||0,C=0,v.css({left:o.length?parseInt(o.css("padding-left"),10)||0:n.offset().left-parseInt(n.css("margin-left"),10)-f.scrollLeft()-C,width:n.outerWidth()}),$(n,_),$(u,s)};o.length&&!o.css("position")&&o.css("position","relative"),_.attr("id")&&(_[0].id+=l.stickyHeaders_cloneId),_.find("thead:gt(0), tr.sticky-false").hide(),_.find("tbody, tfoot").remove(),_.find("caption").toggle(l.stickyHeaders_includeCaption),s=w.children().children(),_.css({height:0,width:0,margin:0}),s.find("."+r.css.resizer).remove(),n.addClass("hasStickyHeaders").bind("pagerComplete"+c,function(){z()}),r.bindEvents(i,w.children().children("."+r.css.header)),n.after(v),a.onRenderHeader&&w.children("tr").children().each(function(t){a.onRenderHeader.apply(e(this),[t,a,_])}),f.add(d).unbind("scroll resize ".split(" ").join(c).replace(/\s+/g," ")).bind("scroll resize ".split(" ").join(c),function(t){if(n.is(":visible")){y=b.length?b.offset().top-d.scrollTop()+b.height():0;var i=n.offset(),a=e.isWindow(d[0]),l=e.isWindow(f[0]),s=(o.length?a?d.scrollTop():d.offset().top:d.scrollTop())+m+y,c=n.height()-(v.height()+(p.height()||0)),h=s>i.top&&s<i.top+c?"visible":"hidden",u={visibility:h};o.length&&(u.top=a?s-o.offset().top:o.scrollTop()),l&&(u.left=n.offset().left-parseInt(n.css("margin-left"),10)-f.scrollLeft()-C),b.length&&(u.top=(u.top||0)+m+y),v.removeClass(r.css.stickyVis+" "+r.css.stickyHide).addClass("visible"===h?r.css.stickyVis:r.css.stickyHide).css(u),(h!==x||"resize"===t.type)&&(z(),x=h)}}),l.stickyHeaders_addResizeEvent&&r.addHeaderResizeEvent(i),n.hasClass("hasFilters")&&l.filter_columnFilters&&(n.bind("filterEnd"+c,function(){var i=e(document.activeElement).closest("td"),s=i.parent().children().index(i);v.hasClass(r.css.stickyVis)&&l.stickyHeaders_filteredToTop&&(t.scrollTo(0,n.position().top),s>=0&&a.$filters&&a.$filters.eq(s).find("a, select, input").filter(":visible").focus())}),r.filter.bindSearch(n,s.find("."+r.css.filter)),l.filter_hideFilters&&r.filter.hideFilters(_,a)),n.trigger("stickyHeadersInit")}},remove:function(i,a,l){var s=a.namespace+"stickyheaders ";a.$table.removeClass("hasStickyHeaders").unbind("pagerComplete filterEnd ".split(" ").join(s).replace(/\s+/g," ")).next("."+r.css.stickyWrap).remove(),l.$sticky&&l.$sticky.length&&l.$sticky.remove(),e(t).add(l.stickyHeaders_xScroll).add(l.stickyHeaders_yScroll).add(l.stickyHeaders_attachTo).unbind("scroll resize ".split(" ").join(s).replace(/\s+/g," ")),r.addHeaderResizeEvent(i,!1)}})}(jQuery,window),function(e,t){"use strict";var r=e.tablesorter||{};e.extend(r.css,{resizableContainer:"tablesorter-resizable-container",resizableHandle:"tablesorter-resizable-handle",resizableNoSelect:"tablesorter-disableSelection",resizableStorage:"tablesorter-resizable"}),e(function(){var t="<style>body."+r.css.resizableNoSelect+" { -ms-user-select: none; -moz-user-select: -moz-none;-khtml-user-select: none; -webkit-user-select: none; user-select: none; }."+r.css.resizableContainer+" { position: relative; height: 1px; }."+r.css.resizableHandle+" { position: absolute; display: inline-block; width: 8px; top: 1px;cursor: ew-resize; z-index: 3; user-select: none; -moz-user-select: none; }</style>";e(t).appendTo("body")}),r.resizable={init:function(t,i){if(!t.$table.hasClass("hasResizable")){t.$table.addClass("hasResizable"),r.resizableReset(t.table,!0),i.resizable_={$wrap:t.$table.parent(),mouseXPosition:0,$target:null,$next:null,overflow:"auto"===t.$table.parent().css("overflow"),fullWidth:Math.abs(t.$table.parent().width()-t.$table.width())<20,storedSizes:[]};var a,l,s,n,o=parseInt(t.$table.css("margin-top"),10);for(i.resizable_.storedSizes=n=(r.storage&&i.resizable!==!1?r.storage(t.table,r.css.resizableStorage):[])||[],r.resizable.setWidths(t,i,n),i.$resizable_container=e('<div class="'+r.css.resizableContainer+'">').css({top:o}).insertBefore(t.$table),s=0;s<t.columns;s++)l=t.$headerIndexed[s],a="false"===r.getData(l,r.getColumnData(t.table,t.headers,s),"resizable"),a||e('<div class="'+r.css.resizableHandle+'">').appendTo(i.$resizable_container).attr({"data-column":s,unselectable:"on"}).data("header",l).bind("selectstart",!1);t.$table.one("tablesorter-initialized",function(){r.resizable.setHandlePosition(t,i),r.resizable.bindings(this.config,this.config.widgetOptions)})}},setWidth:function(e,t){e.css({width:t,"min-width":"","max-width":""})},setWidths:function(t,i,a){var l,s=e(t.namespace+"_extra_headers"),n=t.$table.children("colgroup").children("col");if(a=a||i.resizable_.storedSizes||[],a.length){for(l=0;l<t.columns;l++)t.$headerIndexed[l].width(a[l]),s.length&&r.resizable.setWidth(s.eq(l).add(n.eq(l)),a[l]);e(t.namespace+"_extra_table").length&&!r.hasWidget(t.table,"scroller")&&r.resizable.setWidth(e(t.namespace+"_extra_table"),t.$table.outerWidth())}},setHandlePosition:function(t,i){var a,l=r.hasWidget(t.table,"scroller"),s=t.$table.height(),n=i.$resizable_container.children(),o=Math.floor(n.width()/2);l&&(s=0,t.$table.closest("."+r.css.scrollerWrap).children().each(function(){var t=e(this);s+=t.filter('[style*="height"]').length?t.height():t.children("table").height()})),a=t.$table.position().left,n.each(function(){var r=e(this),l=parseInt(r.attr("data-column"),10),n=t.columns-1,c=r.data("header");c&&(c.is(":visible")?(n>l||l===n&&i.resizable_addLastColumn)&&r.css({display:"inline-block",height:s,left:c.position().left-a+c.outerWidth()-o}):r.hide())})},toggleTextSelection:function(t,i){var a=t.namespace+"tsresize";t.widgetOptions.resizable_.disabled=i,e("body").toggleClass(r.css.resizableNoSelect,i),i?e("body").attr("unselectable","on").bind("selectstart"+a,!1):e("body").removeAttr("unselectable").unbind("selectstart"+a)},bindings:function(i,a){var l=i.namespace+"tsresize";a.$resizable_container.children().bind("mousedown",function(t){var l,s,n=a.resizable_,o=e(i.namespace+"_extra_headers"),c=e(t.target).data("header");for(l=parseInt(c.attr("data-column"),10),n.$target=c=c.add(o.filter('[data-column="'+l+'"]')),n.target=l,n.$next=t.shiftKey||a.resizable_targetLast?c.parent().children().not(".resizable-false").filter(":last"):c.nextAll(":not(.resizable-false)").eq(0),l=parseInt(n.$next.attr("data-column"),10),n.$next=n.$next.add(o.filter('[data-column="'+l+'"]')),n.next=l,n.mouseXPosition=t.pageX,n.storedSizes=[],l=0;l<i.columns;l++)s=i.$headerIndexed[l],n.storedSizes[l]=s.is(":visible")?s.width():0;r.resizable.toggleTextSelection(i,!0)}),e(document).bind("mousemove"+l,function(e){var t=a.resizable_;t.disabled&&0!==t.mouseXPosition&&t.$target&&(a.resizable_throttle?(clearTimeout(t.timer),t.timer=setTimeout(function(){r.resizable.mouseMove(i,a,e)},isNaN(a.resizable_throttle)?5:a.resizable_throttle)):r.resizable.mouseMove(i,a,e))}).bind("mouseup"+l,function(){a.resizable_.disabled&&(r.resizable.toggleTextSelection(i,!1),r.resizable.stopResize(i,a),r.resizable.setHandlePosition(i,a))}),e(t).bind("resize"+l+" resizeEnd"+l,function(){r.resizable.setHandlePosition(i,a)}),i.$table.bind("columnUpdate"+l,function(){r.resizable.setHandlePosition(i,a)}).find("thead:first").add(e(i.namespace+"_extra_table").find("thead:first")).bind("contextmenu"+l,function(){var e=0===a.resizable_.storedSizes.length;return r.resizableReset(i.table),r.resizable.setHandlePosition(i,a),a.resizable_.storedSizes=[],e})},mouseMove:function(t,i,a){if(0!==i.resizable_.mouseXPosition&&i.resizable_.$target){var l=i.resizable_,s=l.$next,n=a.pageX-l.mouseXPosition;l.fullWidth?(l.storedSizes[l.target]+=n,l.storedSizes[l.next]-=n,r.resizable.setWidths(t,i)):l.overflow?(t.$table.add(e(t.namespace+"_extra_table")).width(function(e,t){return t+n}),s.length||(l.$wrap[0].scrollLeft=t.$table.width())):(l.storedSizes[l.target]+=n,r.resizable.setWidths(t,i)),l.mouseXPosition=a.pageX}},stopResize:function(i,a){var l,s,n=a.resizable_;if(n.storedSizes=[],r.storage){for(n.storedSizes=[],s=0;s<i.columns;s++)l=i.$headerIndexed[s],n.storedSizes[s]=l.is(":visible")?l.width():0;a.resizable!==!1&&r.storage(i.table,r.css.resizableStorage,n.storedSizes)}n.mouseXPosition=0,n.$target=n.$next=null,e(t).trigger("resize")}},r.addWidget({id:"resizable",priority:40,options:{resizable:!0,resizable_addLastColumn:!1,resizable_widths:[],resizable_throttle:!1,resizable_targetLast:!1},init:function(e,t,i,a){r.resizable.init(i,a)},remove:function(t,i,a,l){if(a.$resizable_container){var s=i.namespace+"tsresize";i.$table.add(e(i.namespace+"_extra_table")).removeClass("hasResizable").children("thead").unbind("contextmenu"+s),a.$resizable_container.remove(),r.resizable.toggleTextSelection(i,!1),r.resizableReset(t,l),e(document).unbind("mousemove"+s+" mouseup"+s)}}}),r.resizableReset=function(i,a){e(i).each(function(){var l,s,n=this.config,o=n&&n.widgetOptions;if(i&&n&&n.$headerIndexed.length){for(l=0;l<n.columns;l++)s=n.$headerIndexed[l],o.resizable_widths&&o.resizable_widths[l]?s.css("width",o.resizable_widths[l]):s.hasClass("resizable-false")||s.css("width","");e(t).trigger("resize"),r.storage&&!a&&r.storage(this,r.css.resizableStorage,{})}})}}(jQuery,window),function(e){"use strict";var t=e.tablesorter||{};t.addWidget({id:"saveSort",priority:20,options:{saveSort:!0},init:function(e,t,r,i){t.format(e,r,i,!0)},format:function(r,i,a,l){var s,n,o=i.$table,c=a.saveSort!==!1,d={sortList:i.sortList};i.debug&&(n=new Date),o.hasClass("hasSaveSort")?c&&r.hasInitialized&&t.storage&&(t.storage(r,"tablesorter-savesort",d),i.debug&&t.benchmark("saveSort widget: Saving last sort: "+i.sortList,n)):(o.addClass("hasSaveSort"),d="",t.storage&&(s=t.storage(r,"tablesorter-savesort"),d=s&&s.hasOwnProperty("sortList")&&e.isArray(s.sortList)?s.sortList:"",i.debug&&t.benchmark('saveSort: Last sort loaded: "'+d+'"',n),o.bind("saveSortReset",function(e){e.stopPropagation(),t.storage(r,"tablesorter-savesort","")})),l&&d&&d.length>0?i.sortList=d:r.hasInitialized&&d&&d.length>0&&o.trigger("sorton",[d]))},remove:function(e,r){r.$table.removeClass("hasSaveSort"),t.storage&&t.storage(e,"tablesorter-savesort","")}})}(jQuery),e.tablesorter});
diff --git a/tablesorter/first.png b/tablesorter/first.png
new file mode 100644
index 0000000..6f11fcb
--- /dev/null
+++ b/tablesorter/first.png
Binary files differ
diff --git a/tablesorter/last.png b/tablesorter/last.png
new file mode 100644
index 0000000..7207935
--- /dev/null
+++ b/tablesorter/last.png
Binary files differ
diff --git a/tablesorter/next.png b/tablesorter/next.png
new file mode 100644
index 0000000..4a2f9d4
--- /dev/null
+++ b/tablesorter/next.png
Binary files differ
diff --git a/tablesorter/prev.png b/tablesorter/prev.png
new file mode 100644
index 0000000..15d1584
--- /dev/null
+++ b/tablesorter/prev.png
Binary files differ
diff --git a/tablesorter/theme.black-ice.css b/tablesorter/theme.black-ice.css
index 5b46fc1..1bf253d 100644
--- a/tablesorter/theme.black-ice.css
+++ b/tablesorter/theme.black-ice.css
@@ -17,7 +17,8 @@
.tablesorter-blackice th,
.tablesorter-blackice thead td {
padding: 4px;
- font: bold 13px/20px Arial, Sans-serif;
+ font: 13px/20px Arial, Sans-serif;
+ font-weight: bold;
color: #e5e5e5;
text-align: left;
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.7);
@@ -46,6 +47,7 @@
}
.tablesorter-blackice thead .sorter-false {
background-image: none;
+ cursor: default;
padding: 4px;
}
@@ -68,25 +70,26 @@
}
/* hovered row colors */
+.tablesorter-blackice tbody > tr.hover > td,
.tablesorter-blackice tbody > tr:hover > td,
.tablesorter-blackice tbody > tr.even:hover > td,
.tablesorter-blackice tbody > tr.odd:hover > td {
- background: #000;
+ background-color: #000;
}
/* table processing indicator */
.tablesorter-blackice .tablesorter-processing {
background-position: center center !important;
background-repeat: no-repeat !important;
- /* background-image: url(../addons/pager/icons/loading.gif) !important; */
+ /* background-image: url(images/loading.gif) !important; */
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
}
/* Zebra Widget - row alternating colors */
-.tablesorter-blackice tr.odd td {
+.tablesorter-blackice tr.odd > td {
background-color: #333;
}
-.tablesorter-blackice tr.even td {
+.tablesorter-blackice tr.even > td {
background-color: #393939;
}
@@ -115,12 +118,15 @@
/* caption */
caption {
- background: #fff;
+ background-color: #fff;
}
/* filter widget */
+.tablesorter-blackice .tablesorter-filter-row {
+ background-color: #222;
+}
.tablesorter-blackice .tablesorter-filter-row td {
- background: #222;
+ background-color: #222;
line-height: normal;
text-align: center; /* center the input */
-webkit-transition: line-height 0.1s ease;
@@ -145,7 +151,7 @@ caption {
line-height: 0;
cursor: pointer;
}
-.tablesorter-blackice .tablesorter-filter-row.hideme .tablesorter-filter {
+.tablesorter-blackice .tablesorter-filter-row.hideme * {
height: 1px;
min-height: 0;
border: 0;
@@ -156,7 +162,8 @@ caption {
filter: alpha(opacity=0);
}
/* filters */
-.tablesorter-blackice .tablesorter-filter {
+.tablesorter-blackice input.tablesorter-filter,
+.tablesorter-blackice select.tablesorter-filter {
width: 98%;
height: auto;
margin: 0;
@@ -172,9 +179,14 @@ caption {
-o-transition: height 0.1s ease;
transition: height 0.1s ease;
}
+/* rows hidden by filtering (needed for child rows) */
+.tablesorter .filtered {
+ display: none;
+}
/* ajax error row */
.tablesorter .tablesorter-errorRow td {
+ text-align: center;
cursor: pointer;
background-color: #e6bf99;
}
diff --git a/tablesorter/theme.blue.css b/tablesorter/theme.blue.css
index ede9631..66d6e58 100644
--- a/tablesorter/theme.blue.css
+++ b/tablesorter/theme.blue.css
@@ -20,7 +20,8 @@
/* header */
.tablesorter-blue th,
.tablesorter-blue thead td {
- font: bold 12px/18px Arial, Sans-serif;
+ font: 12px/18px Arial, Sans-serif;
+ font-weight: bold;
color: #000;
background-color: #99bfe6;
border-collapse: collapse;
@@ -71,6 +72,7 @@
}
.tablesorter-blue thead .sorter-false {
background-image: none;
+ cursor: default;
padding: 4px;
}
@@ -95,33 +97,36 @@
you'll need to add additional lines for
rows with more than 2 child rows
*/
+.tablesorter-blue tbody > tr.hover > td,
.tablesorter-blue tbody > tr:hover > td,
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow > td,
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
+.tablesorter-blue tbody > tr.even.hover > td,
.tablesorter-blue tbody > tr.even:hover > td,
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow > td,
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
- background: #d9d9d9;
+ background-color: #d9d9d9;
}
+.tablesorter-blue tbody > tr.odd.hover > td,
.tablesorter-blue tbody > tr.odd:hover > td,
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow > td,
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
- background: #bfbfbf;
+ background-color: #bfbfbf;
}
/* table processing indicator */
.tablesorter-blue .tablesorter-processing {
background-position: center center !important;
background-repeat: no-repeat !important;
- /* background-image: url(../addons/pager/icons/loading.gif) !important; */
+ /* background-image: url(images/loading.gif) !important; */
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
}
/* Zebra Widget - row alternating colors */
-.tablesorter-blue tbody tr.odd td {
+.tablesorter-blue tbody tr.odd > td {
background-color: #ebf2fa;
}
-.tablesorter-blue tbody tr.even td {
+.tablesorter-blue tbody tr.even > td {
background-color: #fff;
}
@@ -150,12 +155,15 @@
/* caption */
caption {
- background: #fff;
+ background-color: #fff;
}
/* filter widget */
+.tablesorter-blue .tablesorter-filter-row {
+ background-color: #eee;
+}
.tablesorter-blue .tablesorter-filter-row td {
- background: #eee;
+ background-color: #eee;
line-height: normal;
text-align: center; /* center the input */
-webkit-transition: line-height 0.1s ease;
@@ -180,7 +188,7 @@ caption {
line-height: 0;
cursor: pointer;
}
-.tablesorter-blue .tablesorter-filter-row.hideme .tablesorter-filter {
+.tablesorter-blue .tablesorter-filter-row.hideme * {
height: 1px;
min-height: 0;
border: 0;
@@ -191,7 +199,8 @@ caption {
filter: alpha(opacity=0);
}
/* filters */
-.tablesorter-blue .tablesorter-filter {
+.tablesorter-blue input.tablesorter-filter,
+.tablesorter-blue select.tablesorter-filter {
width: 98%;
height: auto;
margin: 0;
@@ -207,9 +216,14 @@ caption {
-o-transition: height 0.1s ease;
transition: height 0.1s ease;
}
+/* rows hidden by filtering (needed for child rows) */
+.tablesorter .filtered {
+ display: none;
+}
/* ajax error row */
.tablesorter .tablesorter-errorRow td {
+ text-align: center;
cursor: pointer;
background-color: #e6bf99;
}
diff --git a/tablesorter/theme.bootstrap.css b/tablesorter/theme.bootstrap.css
index 4c67f59..11a3ea7 100644
--- a/tablesorter/theme.bootstrap.css
+++ b/tablesorter/theme.bootstrap.css
@@ -5,26 +5,15 @@
.tablesorter-bootstrap {
width: 100%;
}
-.tablesorter-bootstrap .tablesorter-header,
+.tablesorter-bootstrap thead th,
+.tablesorter-bootstrap thead td,
.tablesorter-bootstrap tfoot th,
.tablesorter-bootstrap tfoot td {
- font: bold 14px/20px Arial, Sans-serif;
- position: relative;
- padding: 8px;
+ font: 14px/20px Arial, Sans-serif;
+ font-weight: bold;
+ padding: 4px;
margin: 0 0 18px;
- list-style: none;
- background-color: #FBFBFB;
- background-image: -moz-linear-gradient(top, white, #efefef);
- background-image: -ms-linear-gradient(top, white, #efefef);
- background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), to(#efefef));
- background-image: -webkit-linear-gradient(top, white, #efefef);
- background-image: -o-linear-gradient(top, white, #efefef);
- background-image: linear-gradient(to bottom, white, #efefef);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#efefef', GradientType=0);
- background-repeat: repeat-x;
- -webkit-box-shadow: inset 0 1px 0 white;
- -moz-box-shadow: inset 0 1px 0 #ffffff;
- box-shadow: inset 0 1px 0 white;
+ background-color: #eee;
}
.tablesorter-bootstrap .tablesorter-header {
@@ -37,7 +26,8 @@
}
/* bootstrap uses <i> for icons */
-.tablesorter-bootstrap .tablesorter-header i {
+.tablesorter-bootstrap .tablesorter-header i.tablesorter-icon {
+ font-size: 11px;
position: absolute;
right: 2px;
top: 50%;
@@ -48,41 +38,52 @@
line-height: 14px;
display: inline-block;
}
+
+/* black unsorted icon */
.tablesorter-bootstrap .bootstrap-icon-unsorted {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAOCAYAAAD5YeaVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAWVJREFUeNqUUL9Lw2AUTGP8mqGlpBQkNeCSRcckEBcHq1jImMElToKuDvpHFMGhU0BQcHBwLji6CE1B4uB/INQsDi4d2jQ/fPeZxo764OV6915f7lLJ81xot9tCURXqdVEUr7IsO6ffH9Q5BlEUCaLwWxWqTcbYnaIoh0Dw4gAvcWlxq1qt9hqNxg6hUGAP+uIPUrGs0qXLer2+v/pTX6QpxLtkc2U2m53ACb8sSdIDXerSEms2m6+DweAICA4d89KGbduf9MpEVdXQ9/2LVqv1CASHjjn3iq/x1xKFfxQPqGnada1W86bT6SiO42OS3qk3KPStLMvbk8nkfjwen/LLuq6blFymMB0KdUPSGhAcOualjX6/f0bCiC7NaWGPQr0BwaFjzn0gYJqmLAiCA8/zni3LmhuGkQPBoWPOPwQeaPIqD4fDruu6L6Zp5kBw6IudchmdJAkLw3DXcZwnIPjy/FuAAQCiqqWWCAFKcwAAAABJRU5ErkJggg==);
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAOCAMAAADOvxanAAAAVFBMVEUAAABCQkJZWVkZGRnJyckgICAZGRkZGRn8/PweHh4dHR0aGhoaGhpUVFQbGxvQ0NDc3NxMTExSUlIbGxvr6+s4ODhKSkogICAtLS00NDQzMzMnJydSEPrQAAAAGHRSTlMA1ssZRLgdAQbDyisqsZo8QdXUq0r9xPepSRwiAAAAX0lEQVQI13XHSQKAIAwEwQAKxn13Ev7/T2Pu9qmarJKPXIicI4PH4hxaKNrhm2S8bJK5h4YzKHrzJNtK6yYT/TdXzpS5zuYg4MSQYF6i4IHExdw1UVRi05HPrrvT53a+qyMFC9t04gcAAAAASUVORK5CYII=);
+}
+
+/* white unsorted icon */
+.tablesorter-bootstrap .icon-white.bootstrap-icon-unsorted {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAOBAMAAAALT/umAAAAKlBMVEUAAAD///////////////////////////////////////////////////+Gu8ovAAAADXRSTlMA4EXKBtQqvR0+sxmalc142gAAAFdJREFUCNdjYGDoamAAAjZbMxCVfvd6AgMDd+3du9UMDKx3hWSvMjBwXZww8RYDGuC53NB8h4GB8a617UUGBs7Yu3cjGRhYVO9eVQFKOskKOQApFmUgBwBZ+xXRTttNdAAAAABJRU5ErkJggg==);
}
/* since bootstrap (table-striped) uses nth-child(), we just use this to add a zebra stripe color */
-.tablesorter-bootstrap tr.odd td {
+.tablesorter-bootstrap > tbody > tr.odd > td,
+.tablesorter-bootstrap > tbody > tr.tablesorter-hasChildRow.odd:hover ~ tr.tablesorter-hasChildRow.odd ~ .tablesorter-childRow.odd > td {
background-color: #f9f9f9;
}
-.tablesorter-bootstrap tbody > .odd:hover > td,
-.tablesorter-bootstrap tbody > .even:hover > td {
+.tablesorter-bootstrap > tbody > tr.hover > td,
+.tablesorter-bootstrap > tbody > tr.odd:hover > td,
+.tablesorter-bootstrap > tbody > tr.even:hover > td,
+.tablesorter-bootstrap > tbody > tr.tablesorter-hasChildRow.odd:hover ~ .tablesorter-childRow.odd > td,
+.tablesorter-bootstrap > tbody > tr.tablesorter-hasChildRow.even:hover ~ .tablesorter-childRow.even > td {
background-color: #f5f5f5;
}
-.tablesorter-bootstrap tr.even td {
+.tablesorter-bootstrap > tbody > tr.even > td,
+.tablesorter-bootstrap > tbody > tr.tablesorter-hasChildRow.even:hover ~ tr.tablesorter-hasChildRow.even ~ .tablesorter-childRow.even > td {
background-color: #fff;
}
/* processing icon */
.tablesorter-bootstrap .tablesorter-processing {
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=');
- position: absolute;
- z-index: 1000;
+ background-position: center center !important;
+ background-repeat: no-repeat !important;
}
/* caption */
-caption {
- background: #fff;
+.caption {
+ background-color: #fff;
}
/* filter widget */
-.tablesorter-bootstrap .tablesorter-filter-row .tablesorter-filter {
+.tablesorter-bootstrap .tablesorter-filter-row input.tablesorter-filter,
+.tablesorter-bootstrap .tablesorter-filter-row select.tablesorter-filter {
width: 98%;
- height: auto;
- margin: 0 auto;
+ margin: 0;
padding: 4px 6px;
- background-color: #fff;
color: #333;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
@@ -93,11 +94,20 @@ caption {
transition: height 0.1s ease;
}
.tablesorter-bootstrap .tablesorter-filter-row .tablesorter-filter.disabled {
- background: #eee;
+ background-color: #eee;
+ color: #555;
cursor: not-allowed;
+ border: 1px solid #ccc;
+ border-radius: 4px;
+ box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.075) inset;
+ box-sizing: border-box;
+ transition: height 0.1s ease;
+}
+.tablesorter-bootstrap .tablesorter-filter-row {
+ background-color: #efefef;
}
.tablesorter-bootstrap .tablesorter-filter-row td {
- background: #eee;
+ background-color: #efefef;
line-height: normal;
text-align: center;
padding: 4px 6px;
@@ -113,7 +123,7 @@ caption {
margin: 0;
line-height: 0;
}
-.tablesorter-bootstrap .tablesorter-filter-row.hideme .tablesorter-filter {
+.tablesorter-bootstrap .tablesorter-filter-row.hideme * {
height: 1px;
min-height: 0;
border: 0;
@@ -123,6 +133,10 @@ caption {
opacity: 0;
filter: alpha(opacity=0);
}
+/* rows hidden by filtering (needed for child rows) */
+.tablesorter .filtered {
+ display: none;
+}
/* pager plugin */
.tablesorter-bootstrap .tablesorter-pager select {
@@ -131,9 +145,14 @@ caption {
.tablesorter-bootstrap .tablesorter-pager .pagedisplay {
border: 0;
}
+/* tfoot i for pager controls */
+.tablesorter-bootstrap tfoot i {
+ font-size: 11px;
+}
/* ajax error row */
.tablesorter .tablesorter-errorRow td {
+ text-align: center;
cursor: pointer;
background-color: #e6bf99;
}
diff --git a/tablesorter/theme.bootstrap_2.css b/tablesorter/theme.bootstrap_2.css
new file mode 100644
index 0000000..fe0665b
--- /dev/null
+++ b/tablesorter/theme.bootstrap_2.css
@@ -0,0 +1,157 @@
+/*************
+ Bootstrap 2 Theme
+ *************/
+/* jQuery Bootstrap 2 Theme */
+.tablesorter-bootstrap {
+ width: 100%;
+}
+.tablesorter-bootstrap .tablesorter-header,
+.tablesorter-bootstrap tfoot th,
+.tablesorter-bootstrap tfoot td {
+ font: 14px/20px Arial, Sans-serif;
+ font-weight: bold;
+ position: relative;
+ padding: 8px;
+ margin: 0 0 18px;
+ list-style: none;
+ background-color: #FBFBFB;
+ background-image: -moz-linear-gradient(top, white, #efefef);
+ background-image: -ms-linear-gradient(top, white, #efefef);
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(white), to(#efefef));
+ background-image: -webkit-linear-gradient(top, white, #efefef);
+ background-image: -o-linear-gradient(top, white, #efefef);
+ background-image: linear-gradient(to bottom, white, #efefef);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#efefef', GradientType=0);
+ background-repeat: repeat-x;
+ -webkit-box-shadow: inset 0 1px 0 white;
+ -moz-box-shadow: inset 0 1px 0 #ffffff;
+ box-shadow: inset 0 1px 0 white;
+}
+
+.tablesorter-bootstrap .tablesorter-header {
+ cursor: pointer;
+}
+
+.tablesorter-bootstrap .tablesorter-header-inner {
+ position: relative;
+ padding: 4px 18px 4px 4px;
+}
+
+/* bootstrap uses <i> for icons */
+.tablesorter-bootstrap .tablesorter-header i.tablesorter-icon {
+ position: absolute;
+ right: 2px;
+ top: 50%;
+ margin-top: -7px; /* half the icon height; older IE doesn't like this */
+ width: 14px;
+ height: 14px;
+ background-repeat: no-repeat;
+ line-height: 14px;
+ display: inline-block;
+}
+
+/* black unsorted icon */
+.tablesorter-bootstrap .bootstrap-icon-unsorted {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAOCAYAAAD5YeaVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAWVJREFUeNqUUL9Lw2AUTGP8mqGlpBQkNeCSRcckEBcHq1jImMElToKuDvpHFMGhU0BQcHBwLji6CE1B4uB/INQsDi4d2jQ/fPeZxo764OV6915f7lLJ81xot9tCURXqdVEUr7IsO6ffH9Q5BlEUCaLwWxWqTcbYnaIoh0Dw4gAvcWlxq1qt9hqNxg6hUGAP+uIPUrGs0qXLer2+v/pTX6QpxLtkc2U2m53ACb8sSdIDXerSEms2m6+DweAICA4d89KGbduf9MpEVdXQ9/2LVqv1CASHjjn3iq/x1xKFfxQPqGnada1W86bT6SiO42OS3qk3KPStLMvbk8nkfjwen/LLuq6blFymMB0KdUPSGhAcOualjX6/f0bCiC7NaWGPQr0BwaFjzn0gYJqmLAiCA8/zni3LmhuGkQPBoWPOPwQeaPIqD4fDruu6L6Zp5kBw6IudchmdJAkLw3DXcZwnIPjy/FuAAQCiqqWWCAFKcwAAAABJRU5ErkJggg==);
+}
+
+/* white unsorted icon */
+.tablesorter-bootstrap .icon-white.bootstrap-icon-unsorted {
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAOBAMAAAALT/umAAAAKlBMVEUAAAD///////////////////////////////////////////////////+Gu8ovAAAADXRSTlMA4EXKBtQqvR0+sxmalc142gAAAFdJREFUCNdjYGDoamAAAjZbMxCVfvd6AgMDd+3du9UMDKx3hWSvMjBwXZww8RYDGuC53NB8h4GB8a617UUGBs7Yu3cjGRhYVO9eVQFKOskKOQApFmUgBwBZ+xXRTttNdAAAAABJRU5ErkJggg==);
+}
+
+/* since bootstrap (table-striped) uses nth-child(), we just use this to add a zebra stripe color */
+.tablesorter-bootstrap tr.odd > td {
+ background-color: #f9f9f9;
+}
+.tablesorter-bootstrap tbody > tr.hover > td,
+.tablesorter-bootstrap tbody > .odd:hover > td,
+.tablesorter-bootstrap tbody > .even:hover > td {
+ background-color: #f5f5f5;
+}
+.tablesorter-bootstrap tbody > tr.even > td {
+ background-color: #fff;
+}
+
+/* processing icon */
+.tablesorter-bootstrap .tablesorter-processing {
+ background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=');
+ position: absolute;
+ z-index: 1000;
+}
+
+/* caption */
+caption {
+ background-color: #fff;
+}
+
+/* filter widget */
+.tablesorter-bootstrap .tablesorter-filter-row input.tablesorter-filter,
+.tablesorter-bootstrap .tablesorter-filter-row select.tablesorter-filter {
+ height: 28px;
+ width: 98%;
+ margin: 0;
+ padding: 4px 6px;
+ background-color: #fff;
+ color: #333;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-transition: height 0.1s ease;
+ -moz-transition: height 0.1s ease;
+ -o-transition: height 0.1s ease;
+ transition: height 0.1s ease;
+}
+.tablesorter-bootstrap .tablesorter-filter-row .tablesorter-filter.disabled {
+ background-color: #eee;
+ cursor: not-allowed;
+}
+.tablesorter-bootstrap .tablesorter-filter-row {
+ background-color: #ddd;
+}
+.tablesorter-bootstrap .tablesorter-filter-row td {
+ background-color: #eee;
+ line-height: normal;
+ text-align: center;
+ padding: 4px 6px;
+ vertical-align: middle;
+ -webkit-transition: line-height 0.1s ease;
+ -moz-transition: line-height 0.1s ease;
+ -o-transition: line-height 0.1s ease;
+ transition: line-height 0.1s ease;
+}
+/* hidden filter row */
+.tablesorter-bootstrap tr.tablesorter-filter-row.hideme td {
+ padding: 2px; /* change this to modify the thickness of the closed border row */
+ margin: 0;
+ line-height: 0;
+}
+.tablesorter-bootstrap tr.tablesorter-filter-row.hideme * {
+ height: 1px;
+ min-height: 0;
+ border: 0;
+ padding: 0;
+ margin: 0;
+ /* don't use visibility: hidden because it disables tabbing */
+ opacity: 0;
+ filter: alpha(opacity=0);
+}
+/* rows hidden by filtering (needed for child rows) */
+.tablesorter .filtered {
+ display: none;
+}
+
+/* pager plugin */
+.tablesorter-bootstrap .tablesorter-pager select {
+ padding: 4px 6px;
+}
+.tablesorter-bootstrap .tablesorter-pager .pagedisplay {
+ border: 0;
+}
+
+/* ajax error row */
+.tablesorter .tablesorter-errorRow td {
+ text-align: center;
+ cursor: pointer;
+ background-color: #e6bf99;
+} \ No newline at end of file
diff --git a/tablesorter/theme.dark.css b/tablesorter/theme.dark.css
index a763fa2..3ddbf61 100644
--- a/tablesorter/theme.dark.css
+++ b/tablesorter/theme.dark.css
@@ -15,7 +15,8 @@
.tablesorter-dark th,
.tablesorter-dark thead td {
padding: 4px;
- font: bold 12px/20px Arial, Sans-serif;
+ font: 12px/20px Arial, Sans-serif;
+ font-weight: bold;
color: #fff;
background-color: #000;
border-collapse: collapse;
@@ -45,6 +46,7 @@
}
.tablesorter-dark thead .sorter-false {
background-image: none;
+ cursor: default;
padding: 4px;
}
@@ -67,25 +69,26 @@
}
/* hovered row colors */
+.tablesorter-dark tbody > tr.hover > td,
.tablesorter-dark tbody > tr:hover > td,
.tablesorter-dark tbody > tr.even:hover > td,
.tablesorter-dark tbody > tr.odd:hover > td {
- background: #000;
+ background-color: #000;
}
/* table processing indicator */
.tablesorter-dark .tablesorter-processing {
background-position: center center !important;
background-repeat: no-repeat !important;
- /* background-image: url(../addons/pager/icons/loading.gif) !important; */
+ /* background-image: url(images/loading.gif) !important; */
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
}
/* Zebra Widget - row alternating colors */
-.tablesorter-dark tr.odd td {
+.tablesorter-dark tr.odd > td {
background-color: #202020;
}
-.tablesorter-dark tr.even td {
+.tablesorter-dark tr.even > td {
background-color: #101010;
}
@@ -114,12 +117,15 @@
/* caption */
caption {
- background: #fff;
+ background-color: #202020;
}
/* filter widget */
+.tablesorter-dark .tablesorter-filter-row {
+ background-color: #202020;
+}
.tablesorter-dark .tablesorter-filter-row td {
- background: #202020;
+ background-color: #202020;
line-height: normal;
text-align: center; /* center the input */
-webkit-transition: line-height 0.1s ease;
@@ -145,7 +151,7 @@ caption {
line-height: 0;
cursor: pointer;
}
-.tablesorter-dark .tablesorter-filter-row.hideme .tablesorter-filter {
+.tablesorter-dark .tablesorter-filter-row.hideme * {
height: 1px;
min-height: 0;
border: 0;
@@ -157,10 +163,11 @@ caption {
}
/* filters */
-.tablesorter-dark .tablesorter-filter {
+.tablesorter-dark input.tablesorter-filter,
+.tablesorter-dark select.tablesorter-filter {
width: 98%;
height: auto;
- margin: 4px;
+ margin: 0;
padding: 4px;
background-color: #111;
border: 1px solid #222;
@@ -173,9 +180,14 @@ caption {
-o-transition: height 0.1s ease;
transition: height 0.1s ease;
}
+/* rows hidden by filtering (needed for child rows) */
+.tablesorter .filtered {
+ display: none;
+}
/* ajax error row */
.tablesorter .tablesorter-errorRow td {
+ text-align: center;
cursor: pointer;
background-color: #e6bf99;
}
diff --git a/tablesorter/theme.default.css b/tablesorter/theme.default.css
index 2f158b7..6c2a346 100644
--- a/tablesorter/theme.default.css
+++ b/tablesorter/theme.default.css
@@ -15,7 +15,7 @@ Default Theme
/* header */
.tablesorter-default th,
.tablesorter-default thead td {
- font: bold 12px/18px Arial, Sans-serif;
+ font-weight: bold;
color: #000;
background-color: #fff;
border-collapse: collapse;
@@ -49,6 +49,7 @@ Default Theme
}
.tablesorter-default thead .sorter-false {
background-image: none;
+ cursor: default;
padding: 4px;
}
@@ -69,10 +70,11 @@ Default Theme
}
/* hovered row colors */
+.tablesorter-default tbody > tr.hover > td,
.tablesorter-default tbody > tr:hover > td,
.tablesorter-default tbody > tr.even:hover > td,
.tablesorter-default tbody > tr.odd:hover > td {
- background: #fff;
+ background-color: #fff;
color: #000;
}
@@ -80,15 +82,15 @@ Default Theme
.tablesorter-default .tablesorter-processing {
background-position: center center !important;
background-repeat: no-repeat !important;
- /* background-image: url(../addons/pager/icons/loading.gif) !important; */
+ /* background-image: url(images/loading.gif) !important; */
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
}
/* Zebra Widget - row alternating colors */
-.tablesorter-default tr.odd td {
+.tablesorter-default tr.odd > td {
background-color: #dfdfdf;
}
-.tablesorter-default tr.even td {
+.tablesorter-default tr.even > td {
background-color: #efefef;
}
@@ -117,12 +119,15 @@ Default Theme
/* caption */
caption {
- background: #fff;
+ background-color: #fff;
}
/* filter widget */
+.tablesorter-default .tablesorter-filter-row {
+ background-color: #eee;
+}
.tablesorter-default .tablesorter-filter-row td {
- background: #eee;
+ background-color: #eee;
border-bottom: #ccc 1px solid;
line-height: normal;
text-align: center; /* center the input */
@@ -148,7 +153,7 @@ caption {
line-height: 0;
cursor: pointer;
}
-.tablesorter-default .tablesorter-filter-row.hideme .tablesorter-filter {
+.tablesorter-default .tablesorter-filter-row.hideme * {
height: 1px;
min-height: 0;
border: 0;
@@ -159,10 +164,11 @@ caption {
filter: alpha(opacity=0);
}
/* filters */
-.tablesorter-default .tablesorter-filter {
+.tablesorter-default input.tablesorter-filter,
+.tablesorter-default select.tablesorter-filter {
width: 95%;
height: auto;
- margin: 4px;
+ margin: 4px auto;
padding: 4px;
background-color: #fff;
border: 1px solid #bbb;
@@ -175,9 +181,14 @@ caption {
-o-transition: height 0.1s ease;
transition: height 0.1s ease;
}
+/* rows hidden by filtering (needed for child rows) */
+.tablesorter .filtered {
+ display: none;
+}
/* ajax error row */
.tablesorter .tablesorter-errorRow td {
+ text-align: center;
cursor: pointer;
background-color: #e6bf99;
}
diff --git a/tablesorter/theme.dropbox.css b/tablesorter/theme.dropbox.css
index f056f0b..c173032 100644
--- a/tablesorter/theme.dropbox.css
+++ b/tablesorter/theme.dropbox.css
@@ -35,7 +35,6 @@
background-color: #f0f9ff;
border-bottom: 1px solid #96c4ea;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.12), 0 0 0 #000000 inset;
- cursor: pointer;
white-space: normal;
}
.tablesorter-dropbox .tablesorter-headerSortUp,
@@ -44,37 +43,44 @@
.tablesorter-dropbox .tablesorter-headerDesc {
font-weight: 600;
}
-.tablesorter-dropbox .tablesorter-header i {
+.tablesorter-dropbox .tablesorter-header {
+ cursor: pointer;
+}
+.tablesorter-dropbox .tablesorter-header i.tablesorter-icon {
width: 9px;
height: 9px;
- padding: 4px 20px 4px 4px;
- cursor: pointer;
+ padding: 0 10px 0 4px;
+ display: inline-block;
background-position: center right;
background-repeat: no-repeat;
content: "";
}
-.tablesorter-dropbox .tablesorter-headerSortUp i,
-.tablesorter-dropbox .tablesorter-headerAsc i {
+.tablesorter-dropbox .tablesorter-headerSortUp i.tablesorter-icon,
+.tablesorter-dropbox .tablesorter-headerAsc i.tablesorter-icon {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALhJREFUeNpi/P//PwMhwILMiexYx8bIxNTy/9+/muUVQb9g4kzIitg4edI4+YRLQTSyOCPMupjerUI8whK3OXgEhH58+fDuy9sXqkuKvd+hmMTOxdvCxS8sxMUvxACiQXwU6+Im7DDg5BNKY+fiY2BmYWMA0SA+SByuiJ2bbzIHrwAzMxsb0AGMDCAaxAeJg+SZ7wtaqfAISfQAdTIwMUM8ywhUyMTEzPD/71+5FXvPLWUkJpwAAgwAZqYvvHStbD4AAAAASUVORK5CYII=');
/* background-image: url(images/dropbox-asc.png); */
}
-.tablesorter-dropbox .tablesorter-headerSortUp:hover i,
-.tablesorter-dropbox .tablesorter-headerAsc:hover i {
+.tablesorter-dropbox .tablesorter-headerSortUp:hover i.tablesorter-icon,
+.tablesorter-dropbox .tablesorter-headerAsc:hover i.tablesorter-icon {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALVJREFUeNpi/P//PwMhwILMCc+qZGNkYmr5/+9fzcpp7b9g4kzIitjYOdM4uXlLQTSyOCPMuqi8OiEefsHbHFzcQj++fX335eN71WWTmt6hmMTOwdXCycMnBDSJAUSD+CjWxRQ0GHBw86Sxc3AyMDOzMIBoEB8kDlfEzsk1mYOLByjPCnQAIwOIBvFB4iB55rsfmVS4+QV7QNYwMTNDHApUyMTExPDv/z+5Feu3L2UkJpwAAgwA244u+I9CleAAAAAASUVORK5CYII=');
/* background-image: url(images/dropbox-asc-hovered.png); */
}
-.tablesorter-dropbox .tablesorter-headerSortDown i,
-.tablesorter-dropbox .tablesorter-headerDesc i {
+.tablesorter-dropbox .tablesorter-headerSortDown i.tablesorter-icon,
+.tablesorter-dropbox .tablesorter-headerDesc i.tablesorter-icon {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALdJREFUeNpi/P//PwMhwBLdtVGFhZ3zNhMzC4bkv79/GP78/K7KCDIpZ9mVw+xcfDaMTExwBf///WP4+e3TkSlROrZg7UxMLLns3HxnmFnZmGGK/v7+9ff3j2+5YHkQMSlC48Kv719m/f//D2IKkAbxQeJwRSDw4/OHmr+/fr0DqmAA0SA+TA6uaEq0zjugG+r//vkFcks9iA/3HbJvvn18O+vf379yP758mMXAoAAXZyQmnAACDADX316BiTFbMQAAAABJRU5ErkJggg==');
/* background-image: url(images/dropbox-desc.png); */
}
-.tablesorter-dropbox .tablesorter-headerSortDown:hover i,
-.tablesorter-dropbox .tablesorter-headerDesc:hover i {
+.tablesorter-dropbox .tablesorter-headerSortDown:hover i.tablesorter-icon,
+.tablesorter-dropbox .tablesorter-headerDesc:hover i.tablesorter-icon {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALNJREFUeNpi/P//PwMhwBJf3uP879e3PUzMzBiS//7+ZWBi43JhBJmU2z7nIzMzEx8jIyNcAUj8799/nyZXpvCzgARYuXjTWBkZVjCzIEz7++cvw+//DGkgNiPMTWVT1l5hZvynDTINbMp/pqtdOcE6IDkmmM5fv3/5//v37z9QBQOIBvFhcnBFEwoj7/5jZFnz9+8fBhAN4sN9h+ybH9++JrGxscr/+vE1CVmckZhwAggwANvlUyq5Dd1wAAAAAElFTkSuQmCC');
/* background-image: url(images/dropbox-desc-hovered.png); */
}
-.tablesorter-dropbox thead .sorter-false i,
-.tablesorter-dropbox thead .sorter-false:hover i {
+.tablesorter-dropbox thead .sorter-false {
+ cursor: default;
+}
+
+.tablesorter-dropbox thead .sorter-false i.tablesorter-icon,
+.tablesorter-dropbox thead .sorter-false:hover i.tablesorter-icon {
background-image: none;
padding: 4px;
}
@@ -90,6 +96,7 @@
}
/* hovered row colors */
+.tablesorter-dropbox tbody > tr.hover > td,
.tablesorter-dropbox tbody > tr:hover > td,
.tablesorter-dropbox tbody > tr.even:hover > td,
.tablesorter-dropbox tbody > tr.odd:hover > td {
@@ -105,14 +112,14 @@
.tablesorter-dropbox .tablesorter-processing {
background-position: center center !important;
background-repeat: no-repeat !important;
- /* background-image: url(../addons/pager/icons/loading.gif) !important; */
+ /* background-image: url(images/loading.gif) !important; */
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
}
/* Zebra Widget - row alternating colors */
-.tablesorter-dropbox tr.odd td {
+.tablesorter-dropbox tr.odd > td {
}
-.tablesorter-dropbox tr.even td {
+.tablesorter-dropbox tr.even > td {
}
/* Column Widget - column sort colors */
@@ -134,12 +141,15 @@
/* caption */
caption {
- background: #fff;
+ background-color: #fff;
}
/* Filter Widget */
+.tablesorter-dropbox .tablesorter-filter-row {
+ background-color: #fff;
+}
.tablesorter-dropbox .tablesorter-filter-row td {
- background: #fff;
+ background-color: #fff;
line-height: normal;
text-align: center; /* center the input */
-webkit-transition: line-height 0.1s ease;
@@ -165,7 +175,7 @@ caption {
line-height: 0;
cursor: pointer;
}
-.tablesorter-dropbox .tablesorter-filter-row.hideme .tablesorter-filter {
+.tablesorter-dropbox .tablesorter-filter-row.hideme * {
height: 1px;
min-height: 0;
border: 0;
@@ -177,11 +187,11 @@ caption {
}
/* filters */
-.tablesorter-dropbox .tablesorter-filter {
+.tablesorter-dropbox input.tablesorter-filter,
+.tablesorter-dropbox select.tablesorter-filter {
width: 98%;
height: auto;
- margin: 4px;
-
+ margin: 0;
background-color: #fff;
border: 1px solid #bbb;
color: #333;
@@ -193,9 +203,14 @@ caption {
-o-transition: height 0.1s ease;
transition: height 0.1s ease;
}
+/* rows hidden by filtering (needed for child rows) */
+.tablesorter .filtered {
+ display: none;
+}
/* ajax error row */
.tablesorter .tablesorter-errorRow td {
+ text-align: center;
cursor: pointer;
background-color: #e6bf99;
}
diff --git a/tablesorter/theme.green.css b/tablesorter/theme.green.css
index 836e373..32a0f3c 100644
--- a/tablesorter/theme.green.css
+++ b/tablesorter/theme.green.css
@@ -6,21 +6,21 @@
width: 100%;
text-align: left;
border-spacing: 0;
+ border: #cdcdcd 1px solid;
+ border-width: 1px 0 0 1px;
}
-.tablesorter-green,
.tablesorter-green th,
.tablesorter-green td {
font: 12px/18px Arial, Sans-serif;
border: #cdcdcd 1px solid;
- border-spacing: 0;
- padding: 0;
- text-align: left;
+ border-width: 0 1px 1px 0;
}
/* header */
-.tablesorter-green thead tr,
+.tablesorter-green thead tr .tablesorter-header,
.tablesorter-green tfoot tr {
- background: center center repeat-x;
+ background-position: center center;
+ background-repeat: repeat-x;
background-image: url(data:image/gif;base64,R0lGODlhAQBkAOYAAN/e39XU1fX19tTU1eXm5uTl5ePk5OLj4+Hi4vX29fT19PP08/Lz8vHy8fDx8O/w7+7v7uzt7Orr6ufo5/T08/Pz8ufn5uLi4eDg39/f3t3d3Nzc29HR0NDQz8/Pzuvq6urp6eno6Ojn5+fm5tfW1tbV1dTT09PS0tLR0dHQ0NDPz/f39/b29vX19fT09PPz8/Ly8vHx8e/v7+7u7u3t7ezs7Ovr6+rq6unp6ejo6Ofn5+bm5uXl5eTk5OPj4+Li4uHh4eDg4N/f397e3t3d3dzc3Nvb29ra2tnZ2djY2NfX19XV1dPT09LS0tHR0dDQ0M/Pz8rKysXFxf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAFMALAAAAAABAGQAAAdegCsrLC0tLi+ILi6FCSwsCS0KkhQVDA0OMjM0NTYfICEiIzw9P0AYGUQaG0ZHSEoDTU9Qs08pTk1MSyRJR0VDQT8+PTw7Ojg3NTMyMTAvi4WOhC0vMTI1OT9GTlFSgQA7);
/* background-image: url(images/green-header.gif); */
}
@@ -32,23 +32,24 @@
padding: 6px;
}
.tablesorter-green .header,
-.tablesorter-green .tablesorter-header {
- background: no-repeat 5px center;
+.tablesorter-green .tablesorter-header-inner {
+ background-position: 5px center;
+ background-repeat: no-repeat;
background-image: url(data:image/gif;base64,R0lGODlhEAAQAOYAAA5NDBBYDlWWUzRUM5DVjp7inJ/fnQ1ECiCsGhyYFxqKFRFdDhBXDQxCCiO8HSK2HCCqGh2aGByUFxuPFhqNFhmHFRZ2EhVvERRpEBBVDSS8HiGyHB+mGh6fGRuTFxiAFBd5Eww/Cgs5CRp7Fiu+JRx8GCy/JjHAKyynKCuhJzXCMDbCMDnDMyNuHz3EODy9N0LFPSl7JkvIRjycOFDKS1LKTVPLT1XLUFTCT17OWTBkLmbQYnDTbHXVcXnWdoXago/djGmUZ112XCJEIEdjRf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAEUALAAAAAAQABAAAAdlgEWCg4SFhoIvh4cVLECKhCMeJjwFj0UlEwgaMD4Gii0WFAkRHQ47BIY6IQAZDAwBCyAPOJa1toRBGBAwNTY3OT0/AoZCDQoOKi4yNDOKRCIfGycrKZYDBxIkKLZDFxy3RTHgloEAOw==);
/* background-image: url(images/green-unsorted.gif); */
border-collapse: collapse;
white-space: normal;
cursor: pointer;
}
-.tablesorter-green thead .headerSortUp,
-.tablesorter-green thead .tablesorter-headerSortUp,
-.tablesorter-green thead .tablesorter-headerAsc {
+.tablesorter-green thead .headerSortUp .tablesorter-header-inner,
+.tablesorter-green thead .tablesorter-headerSortUp .tablesorter-header-inner,
+.tablesorter-green thead .tablesorter-headerAsc .tablesorter-header-inner {
background-image: url(data:image/gif;base64,R0lGODlhEAAQANUAAA5NDBBYDpDVjp7inJ/fnSCsGhyYFxFdDhBXDSO8HSK2HB2aGBuPFhqNFhmHFRZ2EhBVDSS8Hh6fGRuTFxd5Eww/Chp7Fhx8GCy/JjnDMyNuHzy9N0LFPVTCTzBkLmbQYnDTbHnWdo/djP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACMALAAAAAAQABAAAAY4wJFwSCwaj8ikcslMbpojR0bEtEwwoIHywihEOCECUvNoGBaSxEdg9FQAEAQicKAoOtC8fs8fBgEAOw==)
/* background-image: url(images/green-asc.gif); */
}
-.tablesorter-green thead .headerSortDown,
-.tablesorter-green thead .tablesorter-headerSortDown,
-.tablesorter-green thead .tablesorter-headerDesc {
+.tablesorter-green thead .headerSortDown .tablesorter-header-inner,
+.tablesorter-green thead .tablesorter-headerSortDown .tablesorter-header-inner,
+.tablesorter-green thead .tablesorter-headerDesc .tablesorter-header-inner {
background-image: url(data:image/gif;base64,R0lGODlhEAAQANUAAFWWUzRUMw1EChqKFQxCCiO8HSCqGhyUFxVvERRpECGyHB+mGhiAFAs5CSu+JTHAKyynKCuhJzXCMDbCMD3EOELFPSl7JkvIRjycOFDKS1LKTVPLT1XLUF7OWXXVcYXagmmUZ112XCJEIEdjRf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACQALAAAAAAQABAAAAY4QJJwSCwaj8ikcskkghKGimbD6Xg+AGOIMChIKJcMBjlqMBSPSUQZEBwcEKYIsWiSLPa8fs9HBgEAOw==)
/* background-image: url(images/green-desc.gif); */
}
@@ -56,9 +57,10 @@
.tablesorter-green td.tablesorter-header .tablesorter-header-inner {
padding-left: 23px;
}
-.tablesorter-green thead .tablesorter-header.sorter-false {
+.tablesorter-green thead .tablesorter-header.sorter-false .tablesorter-header-inner {
background-image: none;
- padding: 4px;
+ cursor: default;
+ padding-left: 6px;
}
/* tfoot */
@@ -78,33 +80,36 @@
you'll need to add additional lines for
rows with more than 2 child rows
*/
+.tablesorter-green tbody > tr.hover > td,
.tablesorter-green tbody > tr:hover > td,
.tablesorter-green tbody > tr:hover + tr.tablesorter-childRow > td,
.tablesorter-green tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
+.tablesorter-green tbody > tr.even.hover > td,
.tablesorter-green tbody > tr.even:hover > td,
.tablesorter-green tbody > tr.even:hover + tr.tablesorter-childRow > td,
.tablesorter-green tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
- background: #d9d9d9;
+ background-color: #d9d9d9;
}
+.tablesorter-green tbody > tr.odd.hover > td,
.tablesorter-green tbody > tr.odd:hover > td,
.tablesorter-green tbody > tr.odd:hover + tr.tablesorter-childRow > td,
.tablesorter-green tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
- background: #bfbfbf;
+ background-color: #bfbfbf;
}
/* table processing indicator */
.tablesorter-green .tablesorter-processing {
background-position: center center !important;
background-repeat: no-repeat !important;
- /* background-image: url(../addons/pager/icons/loading.gif) !important; */
+ /* background-image: url(images/loading.gif) !important; */
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
}
/* Zebra Widget - row alternating colors */
-.tablesorter-green tr.odd td {
+.tablesorter-green tr.odd > td {
background-color: #ebfaeb;
}
-.tablesorter-green tr.even td {
+.tablesorter-green tr.even > td {
background-color: #fff;
}
@@ -133,12 +138,15 @@
/* caption */
caption {
- background: #fff;
+ background-color: #fff;
}
/* filter widget */
+.tablesorter-green .tablesorter-filter-row {
+ background-color: #eee;
+}
.tablesorter-green .tablesorter-filter-row td {
- background: #eee;
+ background-color: #eee;
line-height: normal;
text-align: center; /* center the input */
-webkit-transition: line-height 0.1s ease;
@@ -163,7 +171,7 @@ caption {
line-height: 0;
cursor: pointer;
}
-.tablesorter-green .tablesorter-filter-row.hideme .tablesorter-filter {
+.tablesorter-green .tablesorter-filter-row.hideme * {
height: 1px;
min-height: 0;
border: 0;
@@ -174,10 +182,11 @@ caption {
filter: alpha(opacity=0);
}
/* filters */
-.tablesorter-green .tablesorter-filter {
+.tablesorter-green input.tablesorter-filter,
+.tablesorter-green select.tablesorter-filter {
width: 98%;
height: auto;
- margin: 4px;
+ margin: 0;
padding: 4px;
background-color: #fff;
border: 1px solid #bbb;
@@ -190,9 +199,14 @@ caption {
-o-transition: height 0.1s ease;
transition: height 0.1s ease;
}
+/* rows hidden by filtering (needed for child rows) */
+.tablesorter .filtered {
+ display: none;
+}
/* ajax error row */
.tablesorter .tablesorter-errorRow td {
+ text-align: center;
cursor: pointer;
background-color: #e6bf99;
}
diff --git a/tablesorter/theme.grey.css b/tablesorter/theme.grey.css
index 2ec3669..fdb3d9b 100644
--- a/tablesorter/theme.grey.css
+++ b/tablesorter/theme.grey.css
@@ -21,7 +21,7 @@
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555), to(#3c3c3c));
background-image: -webkit-linear-gradient(top, #555, #3c3c3c);
background-image: -o-linear-gradient(top, #555, #3c3c3c);
- background-image: linear-gradient(to bottom, #555,#3c3c3c);
+ background-image: linear-gradient(to bottom, #555,#3c3c3c);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#555555', endColorstr='#3c3c3c',GradientType=0 );
background-repeat: repeat-x;
border-right: #555 1px solid;
@@ -36,8 +36,12 @@
position: relative;
padding: 4px 15px 4px 4px;
}
+.tablesorter-grey .header,
+.tablesorter-grey .tablesorter-header {
+ cursor: pointer;
+}
.tablesorter-grey .header i,
-.tablesorter-grey .tablesorter-header i {
+.tablesorter-grey .tablesorter-header i.tablesorter-icon {
width: 18px;
height: 10px;
position: absolute;
@@ -50,7 +54,6 @@
background-position: center right;
padding: 4px;
white-space: normal;
- cursor: pointer;
}
.tablesorter-grey th.headerSortUp,
.tablesorter-grey th.tablesorter-headerSortUp,
@@ -66,19 +69,22 @@
background-image: linear-gradient(to bottom, #195c93, #0e4776);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#195c93', endColorstr='#0e4776',GradientType=0 );
}
-.tablesorter-grey .headerSortUp i,
-.tablesorter-grey .tablesorter-headerSortUp i,
-.tablesorter-grey .tablesorter-headerAsc i {
+.tablesorter-grey .headerSortUp i.tablesorter-icon,
+.tablesorter-grey .tablesorter-headerSortUp i.tablesorter-icon,
+.tablesorter-grey .tablesorter-headerAsc i.tablesorter-icon {
/* white asc arrow */
background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
}
-.tablesorter-grey .headerSortDown i,
-.tablesorter-grey .tablesorter-headerSortDown i,
-.tablesorter-grey .tablesorter-headerDesc i {
+.tablesorter-grey .headerSortDown i.tablesorter-icon,
+.tablesorter-grey .tablesorter-headerSortDown i.tablesorter-icon,
+.tablesorter-grey .tablesorter-headerDesc i.tablesorter-icon {
/* white desc arrow */
background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
}
-.tablesorter-grey thead .sorter-false i {
+.tablesorter-grey thead .sorter-false {
+ cursor: default;
+}
+.tablesorter-grey thead .sorter-false i.tablesorter-icon {
background-image: none;
padding: 4px;
}
@@ -108,33 +114,36 @@
you'll need to add additional lines for
rows with more than 2 child rows
*/
+.tablesorter-grey tbody > tr.hover > td,
.tablesorter-grey tbody > tr:hover > td,
.tablesorter-grey tbody > tr:hover + tr.tablesorter-childRow > td,
.tablesorter-grey tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
+.tablesorter-grey tbody > tr.even.hover > td,
.tablesorter-grey tbody > tr.even:hover > td,
.tablesorter-grey tbody > tr.even:hover + tr.tablesorter-childRow > td,
.tablesorter-grey tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
- background: #134b78;
+ background-color: #134b78;
}
+.tablesorter-grey tbody > tr.odd.hover > td,
.tablesorter-grey tbody > tr.odd:hover > td,
.tablesorter-grey tbody > tr.odd:hover + tr.tablesorter-childRow > td,
.tablesorter-grey tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
- background: #134b78;
+ background-color: #134b78;
}
/* table processing indicator */
.tablesorter-grey .tablesorter-processing {
background-position: center center !important;
background-repeat: no-repeat !important;
- /* background-image: url(../addons/pager/icons/loading.gif) !important; */
+ /* background-image: url(images/loading.gif) !important; */
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
}
/* Zebra Widget - row alternating colors */
-.tablesorter-grey tbody tr.odd td {
+.tablesorter-grey tbody tr.odd > td {
background-color: #5e5e5e;
}
-.tablesorter-grey tbody tr.even td {
+.tablesorter-grey tbody tr.even > td {
background-color: #6d6d6d;
}
@@ -169,12 +178,15 @@
/* caption */
caption {
- background: #fff;
+ background-color: #fff;
}
/* filter widget */
+.tablesorter-grey .tablesorter-filter-row {
+ background-color: #3c3c3c;
+}
.tablesorter-grey .tablesorter-filter-row td {
- background: #3c3c3c;
+ background-color: #3c3c3c;
line-height: normal;
text-align: center; /* center the input */
-webkit-transition: line-height 0.1s ease;
@@ -199,7 +211,7 @@ caption {
line-height: 0;
cursor: pointer;
}
-.tablesorter-grey .tablesorter-filter-row.hideme .tablesorter-filter {
+.tablesorter-grey .tablesorter-filter-row.hideme * {
height: 1px;
min-height: 0;
border: 0;
@@ -210,7 +222,8 @@ caption {
filter: alpha(opacity=0);
}
/* filters */
-.tablesorter-grey .tablesorter-filter {
+.tablesorter-grey input.tablesorter-filter,
+.tablesorter-grey select.tablesorter-filter {
width: 98%;
height: auto;
margin: 0;
@@ -226,9 +239,14 @@ caption {
-o-transition: height 0.1s ease;
transition: height 0.1s ease;
}
+/* rows hidden by filtering (needed for child rows) */
+.tablesorter .filtered {
+ display: none;
+}
/* ajax error row */
.tablesorter .tablesorter-errorRow td {
+ text-align: center;
cursor: pointer;
background-color: #e6bf99;
}
diff --git a/tablesorter/theme.ice.css b/tablesorter/theme.ice.css
index 4459619..0b406de 100644
--- a/tablesorter/theme.ice.css
+++ b/tablesorter/theme.ice.css
@@ -35,7 +35,9 @@
}
.tablesorter-ice .header,
.tablesorter-ice .tablesorter-header {
- background: #f6f8f9 no-repeat center right;
+ background-color: #f6f8f9;
+ background-position: center right;
+ background-repeat: no-repeat;
background-image: url(data:image/gif;base64,R0lGODlhDAAMAMQAAAJEjAJCiwJBigJAiANFjgNGjgNEjQRIkQRHkANIkAVMlAVQmAZWnQZUnAdYoAhdpAhZoAlhqQlepQliqQppsApmrQxutgtutQtutAxwtwxwtg1yug1zugxtsw1yuP8A/yH5BAEAAB8ALAAAAAAMAAwAAAUx4Cd+3GiOW4ado2d9VMVm1xg9ptadTsP+QNZEcjoQTBDGCAFgLRSfQgCYMAiCn8EvBAA7);
/* background-image: url(images/ice-unsorted.gif) */
padding: 4px 20px 4px 4px;
@@ -46,7 +48,9 @@
.tablesorter-ice .tablesorter-headerSortUp,
.tablesorter-ice .tablesorter-headerAsc {
color: #333;
- background: #ebedee no-repeat center right;
+ background-color: #ebedee;
+ background-position: center right;
+ background-repeat: no-repeat;
background-image: url(data:image/gif;base64,R0lGODlhDAAMANUAAAJCiwNHkANFjgNEjQRIkQNJkQRMlARKkwRKkgVPlwZSmgdaogdYnwhfpghcowlhqgliqglgqAlgpwljqwporwpmrQplrAtsswtqsgtrsgtqsQxttAtvtQtttAxyuQxwtwxxtwxvtg10uw1zuQ1xuP8A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACUALAAAAAAMAAwAAAY6wJKwJBoahyNQ6Dj0fDoZCpPEuWgqk4jxs8FQLI+Gg8Esm5kQydFQMC7IwkOAqUiUCAIzIjA4lwBlQQA7);
/* background-image: url(images/ice-desc.gif) */
}
@@ -54,12 +58,15 @@
.tablesorter-ice .tablesorter-headerSortDown,
.tablesorter-ice .tablesorter-headerDesc {
color: #333;
- background: #ebedee no-repeat center right;
+ background-color: #ebedee;
+ background-position: center right;
+ background-repeat: no-repeat;
background-image: url(data:image/gif;base64,R0lGODlhDAAMANUAAAE/iAJBigNFjgNEjQNFjQNDiwRHkQRHjwNHjwROlgRMlQRMlARJkgRKkgZQmAVPlgZWnQZSmgZRmAdXoAdXnwdUnAdbogdZoQhbowlhqAlepglkrAliqQtstAtqsQxyugxyuQxwuAxxuAxxtwxwtgxvtQ10vA12vA10u/8A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACkALAAAAAAMAAwAAAY6wJQwdRoah6bP6DhEiVIdDxNEGm4yxlDpiJkwv2AmR2OhVCSJBsJ4gUQeCwOB6VAwBAXwYRAIpwBfQQA7);
/* background-image: url(images/ice-asc.gif); */
}
.tablesorter-ice thead .sorter-false {
background-image: none;
+ cursor: default;
padding: 4px;
}
@@ -68,7 +75,7 @@
.tablesorter-ice tfoot .tablesorter-headerSortDown,
.tablesorter-ice tfoot .tablesorter-headerAsc,
.tablesorter-ice tfoot .tablesorter-headerDesc {
- background: #ebedee;
+ background-color: #ebedee;
}
/* tbody */
@@ -77,25 +84,26 @@
}
/* hovered row colors */
+.tablesorter-ice tbody > tr.hover > td,
.tablesorter-ice tbody > tr:hover > td,
.tablesorter-ice tbody > tr.even:hover > td,
.tablesorter-ice tbody > tr.odd:hover > td {
- background: #ebf2fa;
+ background-color: #ebf2fa;
}
/* table processing indicator */
.tablesorter-ice .tablesorter-processing {
background-position: center center !important;
background-repeat: no-repeat !important;
- /* background-image: url(../addons/pager/icons/loading.gif) !important; */
+ /* background-image: url(images/loading.gif) !important; */
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
}
/* Zebra Widget - row alternating colors */
-.tablesorter-ice tr.odd td {
+.tablesorter-ice tr.odd > td {
background-color: #dfdfdf;
}
-.tablesorter-ice tr.even td {
+.tablesorter-ice tr.even > td {
background-color: #efefef;
}
@@ -122,14 +130,23 @@
background-color: #ebfafa;
}
+/* sticky headers */
+.tablesorter-ice.containsStickyHeaders thead tr:nth-child(1) th,
+.tablesorter-ice.containsStickyHeaders thead tr:nth-child(1) td {
+ border-top: #ccc 1px solid;
+}
+
/* caption */
caption {
- background: #fff;
+ background-color: #fff;
}
/* filter widget */
+.tablesorter-ice .tablesorter-filter-row {
+ background-color: #eee;
+}
.tablesorter-ice .tablesorter-filter-row td {
- background: #eee;
+ background-color: #eee;
line-height: normal;
text-align: center; /* center the input */
-webkit-transition: line-height 0.1s ease;
@@ -154,7 +171,7 @@ caption {
line-height: 0;
cursor: pointer;
}
-.tablesorter-ice .tablesorter-filter-row.hideme .tablesorter-filter {
+.tablesorter-ice .tablesorter-filter-row.hideme * {
height: 1px;
min-height: 0;
border: 0;
@@ -165,10 +182,11 @@ caption {
filter: alpha(opacity=0);
}
/* filters */
-.tablesorter-ice .tablesorter-filter {
+.tablesorter-ice input.tablesorter-filter,
+.tablesorter-ice select.tablesorter-filter {
width: 98%;
height: auto;
- margin: 4px;
+ margin: 0;
padding: 4px;
background-color: #fff;
border: 1px solid #bbb;
@@ -181,9 +199,14 @@ caption {
-o-transition: height 0.1s ease;
transition: height 0.1s ease;
}
+/* rows hidden by filtering (needed for child rows) */
+.tablesorter .filtered {
+ display: none;
+}
/* ajax error row */
.tablesorter .tablesorter-errorRow td {
+ text-align: center;
cursor: pointer;
background-color: #e6bf99;
}
diff --git a/tablesorter/theme.jui.css b/tablesorter/theme.jui.css
index da00e00..aa1309b 100644
--- a/tablesorter/theme.jui.css
+++ b/tablesorter/theme.jui.css
@@ -5,15 +5,17 @@
.tablesorter-jui {
width: 100%;
border-collapse: separate;
- border-spacing: 2px; /* adjust spacing between table cells */
+ border-spacing: 2px; /* adjust spacing between table cells */
margin: 10px 0 15px;
padding: 5px;
font-size: 0.8em;
}
/* header */
-.tablesorter-jui th,
-.tablesorter-jui thead td {
+.tablesorter-jui thead th,
+.tablesorter-jui thead td,
+.tablesorter-jui tfoot th,
+.tablesorter-jui tfoot td {
position: relative;
background-repeat: no-repeat;
background-position: right center;
@@ -21,12 +23,12 @@
font-weight: bold !important;
border-width: 1px !important;
text-align: left;
+ padding: 8px; /* wider than the icon */
}
.tablesorter-jui .header,
.tablesorter-jui .tablesorter-header {
cursor: pointer;
white-space: normal;
- padding: 8px; /* wider than the icon */
}
.tablesorter-jui .tablesorter-header-inner {
padding-right: 20px;
@@ -38,6 +40,13 @@
margin-top: -8px; /* half the icon height; older IE doesn't like this */
}
+.tablesorter-jui thead .sorter-false {
+ cursor: default;
+}
+.tablesorter-jui thead tr .sorter-false .ui-icon {
+ display: none;
+}
+
/* tfoot */
.tablesorter-jui tfoot th,
.tablesorter-jui tfoot td {
@@ -53,7 +62,8 @@
}
/* hovered row colors */
-.tablesorter-jui tbody > tr:hover td {
+.tablesorter-jui tbody > tr.hover > td,
+.tablesorter-jui tbody > tr:hover > td {
opacity: 0.7;
filter: alpha(opacity=70);
}
@@ -62,7 +72,7 @@
.tablesorter-jui .tablesorter-processing .tablesorter-header-inner {
background-position: center center !important;
background-repeat: no-repeat !important;
- /* background-image: url(../addons/pager/icons/loading.gif) !important; */
+ /* background-image: url(images/loading.gif) !important; */
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
}
@@ -79,13 +89,16 @@
}
/* caption */
-caption {
- background: #fff;
+.tablesorter-jui caption {
+ border: 0;
}
/* filter widget */
+.tablesorter-jui .tablesorter-filter-row {
+ background-color: transparent;
+}
.tablesorter-jui .tablesorter-filter-row td {
- background: transparent;
+ background-color: transparent;
line-height: normal;
text-align: center; /* center the input */
-webkit-transition: line-height 0.1s ease;
@@ -110,7 +123,7 @@ caption {
line-height: 0;
cursor: pointer;
}
-.tablesorter-jui .tablesorter-filter-row.hideme .tablesorter-filter {
+.tablesorter-jui .tablesorter-filter-row.hideme * {
height: 1px;
min-height: 0;
border: 0;
@@ -121,7 +134,8 @@ caption {
filter: alpha(opacity=0);
}
/* filters */
-.tablesorter-jui .tablesorter-filter {
+.tablesorter-jui input.tablesorter-filter,
+.tablesorter-jui select.tablesorter-filter {
width: 98%;
height: auto;
margin: 0;
@@ -137,9 +151,14 @@ caption {
-o-transition: height 0.1s ease;
transition: height 0.1s ease;
}
+/* rows hidden by filtering (needed for child rows) */
+.tablesorter .filtered {
+ display: none;
+}
/* ajax error row */
.tablesorter .tablesorter-errorRow td {
+ text-align: center;
cursor: pointer;
background-color: #e6bf99;
}
diff --git a/tablesorter/theme.metro-dark.css b/tablesorter/theme.metro-dark.css
new file mode 100644
index 0000000..461c2db
--- /dev/null
+++ b/tablesorter/theme.metro-dark.css
@@ -0,0 +1,197 @@
+/*************
+Metro Dark Theme
+*************/
+/* overall */
+.tablesorter-metro-dark {
+ width: 100%;
+ font: 12px/18px 'Segoe UI Semilight', 'Open Sans', Verdana, Arial, Helvetica, sans-serif;
+ color: #000;
+ background-color: #333;
+ border-spacing: 0;
+ margin: 10px 0 15px;
+ text-align: left;
+}
+
+.tablesorter-metro-dark tr.dark-row th, .tablesorter-metro-dark tr.dark-row td, .tablesorter-metro-dark caption.dark-row {
+ background-color: #222;
+ color: #fff;
+ padding: 2px;
+ text-align: left;
+ font-size: 14px;
+}
+
+/* header/footer */
+.tablesorter-metro-dark caption,
+.tablesorter-metro-dark th,
+.tablesorter-metro-dark thead td,
+.tablesorter-metro-dark tfoot th,
+.tablesorter-metro-dark tfoot td {
+ font-weight: 300;
+ font-size: 15px;
+ color: #ddd;
+ background-color: #333;
+ padding: 4px;
+}
+
+.tablesorter-metro-dark .header,
+.tablesorter-metro-dark .tablesorter-header {
+ background-image: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAGFBMVEUAAADu7u7u7u7u7u7u7u7u7u7u7u7u7u5jNePWAAAACHRSTlMAMxIHKwEgMWD59H4AAABSSURBVAjXY2BgYFJgAAHzYhDJ6igSAKTYBAUTgJSioKAQAwNzoaCguAFDiCAQuDIkgigxBgiA8cJAVCpQt6AgSL+JoKAzA0gjUBsQqBcBCYhFAAE/CV4zeSzxAAAAAElFTkSuQmCC);
+ background-position: right 5px center;
+ background-repeat: no-repeat;
+ cursor: pointer;
+ white-space: normal;
+}
+.tablesorter-metro-dark .tablesorter-header-inner {
+ padding: 0 18px 0 4px;
+}
+.tablesorter-metro-dark thead .headerSortUp,
+.tablesorter-metro-dark thead .tablesorter-headerSortUp,
+.tablesorter-metro-dark thead .tablesorter-headerAsc {
+ background-image: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAADu7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u5meJAOAAAACnRSTlMAMwsqXt+gIBUGxGoDMAAAAFlJREFUCNctzC0SQAAUReEzGNQ3AlHRiSRZFCVZYgeswRL8hLdK7834wj3tAlGP6y7fYHpKS6w6WwbVG0I1NZVnZPG8/DYxOYlnhUYkA06R1s9ESsxR4NIdPhkPFDFYuEnMAAAAAElFTkSuQmCC);
+}
+.tablesorter-metro-dark thead .headerSortDown,
+.tablesorter-metro-dark thead .tablesorter-headerSortDown,
+.tablesorter-metro-dark thead .tablesorter-headerDesc {
+ background-image: url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAALVBMVEUAAADu7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7i0NViAAAADnRSTlMAMiweCQITTvDctZZqaTlM310AAABcSURBVAjXY2BgYEtgAAFHERDJqigUAKSYBQUNgFSioKAYAwOLIBA4MASBKFUGQxAlzAAF+94BwWuGKBC1lIFl3rt3Lx0YGCzevWsGSjK9e6cAUlT3HKyW9wADAwDRrBiDy6bKzwAAAABJRU5ErkJggg==);
+}
+.tablesorter-metro-dark thead .sorter-false {
+ background-image: none;
+ cursor: default;
+ padding: 4px;
+}
+
+/* tbody */
+.tablesorter-metro-dark td {
+ background-color: #fff;
+ padding: 4px;
+ vertical-align: top;
+}
+
+/* hovered row colors */
+.tablesorter-metro-dark tbody > tr.hover > td,
+.tablesorter-metro-dark tbody > tr:hover > td,
+.tablesorter-metro-dark tbody > tr.even:hover > td,
+.tablesorter-metro-dark tbody > tr.odd:hover > td {
+ background-color: #bbb;
+ color: #000;
+}
+
+/* table processing indicator */
+.tablesorter-metro-dark .tablesorter-processing {
+ background-position: center center !important;
+ background-repeat: no-repeat !important;
+ /* background-image: url(images/loading.gif) !important; */
+ background-image: url(data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=) !important;
+}
+
+/* pager */
+.tablesorter-metro-dark .tablesorter-pager button {
+ background-color: #444;
+ color: #eee;
+ border: #555 1px solid;
+ cursor: pointer;
+}
+.tablesorter-metro-dark .tablesorter-pager button:hover {
+ background-color: #555;
+}
+
+/* Zebra Widget - row alternating colors */
+.tablesorter-metro-dark tr.odd > td {
+ background-color: #eee;
+}
+.tablesorter-metro-dark tr.even > td {
+ background-color: #fff;
+}
+
+/* Column Widget - column sort colors */
+.tablesorter-metro-dark tr.odd td.primary {
+ background-color: #bfbfbf;
+}
+.tablesorter-metro-dark td.primary,
+.tablesorter-metro-dark tr.even td.primary {
+ background-color: #d9d9d9;
+}
+.tablesorter-metro-dark tr.odd td.secondary {
+ background-color: #d9d9d9;
+}
+.tablesorter-metro-dark td.secondary,
+.tablesorter-metro-dark tr.even td.secondary {
+ background-color: #e6e6e6;
+}
+.tablesorter-metro-dark tr.odd td.tertiary {
+ background-color: #e6e6e6;
+}
+.tablesorter-metro-dark td.tertiary,
+.tablesorter-metro-dark tr.even td.tertiary {
+ background-color: #f2f2f2;
+}
+
+/* filter widget */
+.tablesorter-metro-dark .tablesorter-filter-row {
+ background-color: #eee;
+}
+.tablesorter-metro-dark .tablesorter-filter-row td {
+ background-color: #eee;
+ line-height: normal;
+ text-align: center; /* center the input */
+ -webkit-transition: line-height 0.1s ease;
+ -moz-transition: line-height 0.1s ease;
+ -o-transition: line-height 0.1s ease;
+ transition: line-height 0.1s ease;
+}
+/* optional disabled input styling */
+.tablesorter-metro-dark .tablesorter-filter-row .disabled {
+ opacity: 0.5;
+ filter: alpha(opacity=50);
+ cursor: not-allowed;
+}
+/* hidden filter row */
+.tablesorter-metro-dark .tablesorter-filter-row.hideme td {
+ /*** *********************************************** ***/
+ /*** change this padding to modify the thickness ***/
+ /*** of the closed filter row (height = padding x 2) ***/
+ padding: 2px;
+ /*** *********************************************** ***/
+ margin: 0;
+ line-height: 0;
+ cursor: pointer;
+}
+.tablesorter-metro-dark .tablesorter-filter-row.hideme * {
+ height: 1px;
+ min-height: 0;
+ border: 0;
+ padding: 0;
+ margin: 0;
+ /* don't use visibility: hidden because it disables tabbing */
+ opacity: 0;
+ filter: alpha(opacity=0);
+}
+/* filters */
+.tablesorter-metro-dark input.tablesorter-filter,
+.tablesorter-metro-dark select.tablesorter-filter {
+ width: 95%;
+ height: auto;
+ margin: 0;
+ padding: 4px;
+ background-color: #fff;
+ border: 1px solid #bbb;
+ color: #333;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ -webkit-transition: height 0.1s ease;
+ -moz-transition: height 0.1s ease;
+ -o-transition: height 0.1s ease;
+ transition: height 0.1s ease;
+}
+/* rows hidden by filtering (needed for child rows) */
+.tablesorter .filtered {
+ display: none;
+}
+
+/* ajax error row */
+.tablesorter .tablesorter-errorRow td {
+ text-align: center;
+ cursor: pointer;
+ background-color: #e6bf99;
+}
diff --git a/widgets/widget-pager.js b/widgets/widget-pager.js
new file mode 100644
index 0000000..efd5bb2
--- /dev/null
+++ b/widgets/widget-pager.js
@@ -0,0 +1,6 @@
+/*! Widget: Pager - updated 5/17/2015 (v2.22.0) */
+/* Requires tablesorter v2.8+ and jQuery 1.7+
+ * by Rob Garrison
+ */
+/*jshint browser:true, jquery:true, unused:false */
+!function(e){"use strict";var a,t=e.tablesorter;t.addWidget({id:"pager",priority:55,options:{pager_output:"{startRow} to {endRow} of {totalRows} rows",pager_updateArrows:!0,pager_startPage:0,pager_pageReset:0,pager_size:10,pager_maxOptionSize:20,pager_savePages:!0,pager_storageKey:"tablesorter-pager",pager_fixedHeight:!1,pager_countChildRows:!1,pager_removeRows:!1,pager_ajaxUrl:null,pager_customAjaxUrl:function(e,a){return a},pager_ajaxObject:{dataType:"json"},pager_processAjaxOnInit:!0,pager_ajaxProcessing:function(){return[0,[],null]},pager_css:{container:"tablesorter-pager",errorRow:"tablesorter-errorRow",disabled:"disabled"},pager_selectors:{container:".pager",first:".first",prev:".prev",next:".next",last:".last",gotoPage:".gotoPage",pageDisplay:".pagedisplay",pageSize:".pagesize"}},init:function(e){a.init(e)},format:function(e,t){return t.pager&&t.pager.initialized?void a.moveToPage(e,t.pager,!1):a.initComplete(e,t)},remove:function(e,t,i,r){a.destroyPager(e,t,r)}}),a=t.pager={init:function(i){if(!i.hasInitialized||!i.config.pager.initialized){var r,s=i.config,o=s.widgetOptions,g=o.pager_selectors,n=s.pager=e.extend({totalPages:0,filteredRows:0,filteredPages:0,currentFilters:[],page:o.pager_startPage,startRow:0,endRow:0,ajaxCounter:0,$size:null,last:{},setSize:o.pager_size,setPage:o.pager_startPage,events:"filterInit filterStart filterEnd sortEnd disable enable destroy updateComplete pageSize pageSet pageAndSize pagerUpdate refreshComplete "},s.pager);n.isInitializing||(n.isInitializing=!0,s.debug&&t.log("Pager: Initializing"),n.size=e.data(i,"pagerLastSize")||o.pager_size,n.$container=e(g.container).addClass(o.pager_css.container).show(),n.$goto=n.$container.find(g.gotoPage),n.$size=n.$container.find(g.pageSize),n.totalRows=s.$tbodies.eq(0).children("tr").not(o.pager_countChildRows?"":"."+s.cssChildRow).length,n.oldAjaxSuccess=n.oldAjaxSuccess||o.pager_ajaxObject.success,s.appender=a.appender,n.initializing=!0,o.pager_savePages&&t.storage&&(r=t.storage(i,o.pager_storageKey)||{},n.page=(isNaN(r.page)?n.page:r.page)||n.setPage||0,n.size=(isNaN(r.size)?n.size:r.size)||n.setSize||10,e.data(i,"pagerLastSize",n.size)),n.regexRows=new RegExp("("+(o.filter_filteredRow||"filtered")+"|"+s.selectorRemove.slice(1)+"|"+s.cssChildRow+")"),n.initialized=!1,s.$table.trigger("pagerBeforeInitialized",s),a.enablePager(i,s,!1),n.ajaxObject=o.pager_ajaxObject,n.ajaxObject.url=o.pager_ajaxUrl,"string"==typeof o.pager_ajaxUrl?(n.ajax=!0,o.filter_serversideFiltering=!0,s.serverSideSorting=!0,a.moveToPage(i,n)):(n.ajax=!1,s.$table.trigger("appendCache",[{},!0])))}},initComplete:function(e,i){var r=i.pager;a.bindEvents(e,i),a.setPageSize(e,0,i),r.ajax||a.hideRowsSetup(e,i),r.initialized=!0,r.initializing=!1,r.isInitializing=!1,i.debug&&t.log("Pager: Triggering pagerInitialized"),i.$table.trigger("pagerInitialized",i),i.widgetOptions.filter_initialized&&t.hasWidget(e,"filter")||a.updatePageDisplay(e,i,!r.ajax)},bindEvents:function(i,r){var s,o,g=r.pager,n=r.widgetOptions,l=n.pager_selectors;r.$table.off(e.trim(g.events.split(" ").join(".pager "))).on("filterInit.pager filterStart.pager",function(a,t){g.currentFilters=e.isArray(t)?t:r.$table.data("lastSearch"),"filterStart"===a.type&&n.pager_pageReset!==!1&&(r.lastCombinedFilter||"")!==(g.currentFilters||[]).join("")&&(g.page=n.pager_pageReset)}).on("filterEnd.pager sortEnd.pager",function(){g.currentFilters=r.$table.data("lastSearch"),(g.initialized||g.initializing)&&(r.delayInit&&r.rowsCopy&&0===r.rowsCopy.length&&a.updateCache(i),a.updatePageDisplay(i,r,!1),r.$table.trigger("applyWidgets"))}).on("disable.pager",function(e){e.stopPropagation(),a.showAllRows(i,r)}).on("enable.pager",function(e){e.stopPropagation(),a.enablePager(i,r,!0)}).on("destroy.pager",function(e,t){e.stopPropagation(),a.destroyPager(i,r,t)}).on("updateComplete.pager",function(e,t,i){if(e.stopPropagation(),t&&!i&&!g.ajax){var s=r.$tbodies.eq(0).children("tr").not(r.selectorRemove);g.totalRows=s.length-(n.pager_countChildRows?0:s.filter("."+r.cssChildRow).length),g.totalPages=Math.ceil(g.totalRows/g.size),s.length&&r.rowsCopy&&0===r.rowsCopy.length&&a.updateCache(t),g.page>=g.totalPages&&a.moveToLastPage(t,g),a.hideRows(t,r),a.changeHeight(t,r),a.updatePageDisplay(t,r,!1),r.$table.trigger("applyWidgets"),a.updatePageDisplay(t,r)}}).on("pageSize.pager refreshComplete.pager",function(e,t){e.stopPropagation(),a.setPageSize(i,parseInt(t,10)||g.setSize||10,r),a.hideRows(i,r),a.updatePageDisplay(i,r,!1)}).on("pageSet.pager pagerUpdate.pager",function(e,t){e.stopPropagation(),"pagerUpdate"===e.type&&(t="undefined"==typeof t?g.page+1:t,g.last.page=!0),g.page=(parseInt(t,10)||1)-1,a.moveToPage(i,g,!0),a.updatePageDisplay(i,r,!1)}).on("pageAndSize.pager",function(e,t,s){e.stopPropagation(),g.page=(parseInt(t,10)||1)-1,a.setPageSize(i,parseInt(s,10)||g.setSize||10,r),a.moveToPage(i,g,!0),a.hideRows(i,r),a.updatePageDisplay(i,r,!1)}),s=[l.first,l.prev,l.next,l.last],o=["moveToFirstPage","moveToPrevPage","moveToNextPage","moveToLastPage"],r.debug&&!g.$container.length&&t.log("Pager: >> Container not found"),g.$container.find(s.join(",")).attr("tabindex",0).off("click.pager").on("click.pager",function(t){t.stopPropagation();var r,l=e(this),p=s.length;if(!l.hasClass(n.pager_css.disabled))for(r=0;p>r;r++)if(l.is(s[r])){a[o[r]](i,g);break}}),g.$goto.length?g.$goto.off("change.pager").on("change.pager",function(){g.page=e(this).val()-1,a.moveToPage(i,g,!0),a.updatePageDisplay(i,r,!1)}):r.debug&&t.log("Pager: >> Goto selector not found"),g.$size.length?(g.$size.find("option").removeAttr("selected"),g.$size.off("change.pager").on("change.pager",function(){return g.$size.val(e(this).val()),e(this).hasClass(n.pager_css.disabled)||(a.setPageSize(i,parseInt(e(this).val(),10),r),a.changeHeight(i,r)),!1})):r.debug&&t.log("Pager: >> Size selector not found")},pagerArrows:function(e,a){var t=e.pager,i=!!a,r=i||0===t.page,s=Math.min(t.totalPages,t.filteredPages),o=i||t.page===s-1||0===s,g=e.widgetOptions,n=g.pager_selectors;g.pager_updateArrows&&(t.$container.find(n.first+","+n.prev).toggleClass(g.pager_css.disabled,r).attr("aria-disabled",r),t.$container.find(n.next+","+n.last).toggleClass(g.pager_css.disabled,o).attr("aria-disabled",o))},calcFilters:function(a,t){var i,r,s,o=t.widgetOptions,g=t.pager,n=t.$table.hasClass("hasFilters");if(n&&!o.pager_ajaxUrl)if(e.isEmptyObject(t.cache))g.filteredRows=g.totalRows=t.$tbodies.eq(0).children("tr").not(o.pager_countChildRows?"":"."+t.cssChildRow).length;else for(g.filteredRows=0,i=t.cache[0].normalized,s=i.length,r=0;s>r;r++)g.filteredRows+=g.regexRows.test(i[r][t.columns].$row[0].className)?0:1;else n||(g.filteredRows=g.totalRows)},updatePageDisplay:function(i,r,s){if(!r.pager.initializing){var o,g,n,l,p,d,c=r.widgetOptions,f=r.pager,h=f.size||f.setSize||10;if(c.pager_countChildRows&&g.push(r.cssChildRow),f.$size.add(f.$goto).removeClass(c.pager_css.disabled).removeAttr("disabled").attr("aria-disabled","false"),f.totalPages=Math.ceil(f.totalRows/h),r.totalRows=f.totalRows,a.calcFilters(i,r),r.filteredRows=f.filteredRows,f.filteredPages=Math.ceil(f.filteredRows/h)||0,Math.min(f.totalPages,f.filteredPages)>=0){if(g=f.size*f.page>f.filteredRows&&s,f.page=g?c.pager_pageReset||0:f.page,f.startRow=g?f.size*f.page+1:0===f.filteredRows?0:f.size*f.page+1,f.endRow=Math.min(f.filteredRows,f.totalRows,f.size*(f.page+1)),n=f.$container.find(c.pager_selectors.pageDisplay),o=(f.ajaxData&&f.ajaxData.output?f.ajaxData.output||c.pager_output:c.pager_output).replace(/\{page([\-+]\d+)?\}/gi,function(e,a){return f.totalPages?f.page+(a?parseInt(a,10):1):0}).replace(/\{\w+(\s*:\s*\w+)?\}/gi,function(e){var a,t,i=e.replace(/[{}\s]/g,""),r=i.split(":"),s=f.ajaxData,o=/(rows?|pages?)$/i.test(i)?0:"";return/(startRow|page)/.test(r[0])&&"input"===r[1]?(a=(""+("page"===r[0]?f.totalPages:f.totalRows)).length,t="page"===r[0]?f.page+1:f.startRow,'<input type="text" class="ts-'+r[0]+'" style="max-width:'+a+'em" value="'+t+'"/>'):r.length>1&&s&&s[r[0]]?s[r[0]][r[1]]:f[i]||(s?s[i]:o)||o}),f.$goto.length){for(g="",l=a.buildPageSelect(f,r),d=l.length,p=0;d>p;p++)g+='<option value="'+l[p]+'">'+l[p]+"</option>";f.$goto.html(g).val(f.page+1)}n.length&&(n["INPUT"===n[0].nodeName?"val":"html"](o),n.find(".ts-startRow, .ts-page").off("change.pager").on("change.pager",function(){var a=e(this).val(),t=e(this).hasClass("ts-startRow")?Math.floor(a/f.size)+1:a;r.$table.trigger("pageSet.pager",[t])}))}a.pagerArrows(r),a.fixHeight(i,r),f.initialized&&s!==!1&&(r.debug&&t.log("Pager: Triggering pagerComplete"),r.$table.trigger("pagerComplete",r),c.pager_savePages&&t.storage&&t.storage(i,c.pager_storageKey,{page:f.page,size:f.size}))}},buildPageSelect:function(a,t){var i,r,s,o,g,n,l=t.widgetOptions,p=Math.min(a.totalPages,a.filteredPages)||1,d=5*Math.ceil(p/l.pager_maxOptionSize/5),c=p>l.pager_maxOptionSize,f=a.page+1,h=d,u=p-d,w=[1],z=c?d:1;for(i=z;p>=i;)w.push(i),i+=c?d:1;if(w.push(p),c){for(s=[],r=Math.max(Math.floor(l.pager_maxOptionSize/d)-1,5),h=f-r,1>h&&(h=1),u=f+r,u>p&&(u=p),i=h;u>=i;i++)s.push(i);w=e.grep(w,function(a,t){return e.inArray(a,w)===t}),g=w.length,n=s.length,g-n>d/2&&g+n>l.pager_maxOptionSize&&(o=Math.floor(g/2)-Math.floor(n/2),Array.prototype.splice.apply(w,[o,n])),w=w.concat(s)}return w=e.grep(w,function(a,t){return e.inArray(a,w)===t}).sort(function(e,a){return e-a})},fixHeight:function(a,t){var i,r,s=t.pager,o=t.widgetOptions,g=t.$tbodies.eq(0);g.find("tr.pagerSavedHeightSpacer").remove(),o.pager_fixedHeight&&!s.isDisabled&&(r=e.data(a,"pagerSavedHeight"),r&&(i=r-g.height(),i>5&&e.data(a,"pagerLastSize")===s.size&&g.children("tr:visible").length<s.size&&g.append('<tr class="pagerSavedHeightSpacer '+t.selectorRemove.slice(1)+'" style="height:'+i+'px;"></tr>')))},changeHeight:function(t,i){var r,s=i.$tbodies.eq(0);s.find("tr.pagerSavedHeightSpacer").remove(),s.children("tr:visible").length||s.append('<tr class="pagerSavedHeightSpacer '+i.selectorRemove.slice(1)+'"><td>&nbsp</td></tr>'),r=s.children("tr").eq(0).height()*i.pager.size,e.data(t,"pagerSavedHeight",r),a.fixHeight(t,i),e.data(t,"pagerLastSize",i.pager.size)},hideRows:function(e,a){if(!a.widgetOptions.pager_ajaxUrl){var i,r=0,s=a.pager,o=a.widgetOptions,g=a.$tbodies.eq(0).children("tr"),n=g.length,l=s.page*s.size,p=l+s.size,d=o&&o.filter_filteredRow||"filtered",c=0,f=0;for(s.cacheIndex=[],i=0;n>i;i++)g[i].className.match(d)||(f===l&&g[i].className.match(a.cssChildRow)?g[i].style.display="none":(g[i].style.display=f>=l&&p>f?"":"none",c!==f&&f>=l&&p>f&&(s.cacheIndex.push(i),c=f),f+=g[i].className.match(a.cssChildRow+"|"+a.selectorRemove.slice(1))&&!o.pager_countChildRows?0:1,f===p&&"none"!==g[i].style.display&&g[i].className.match(t.css.cssHasChild)&&(r=i)));if(r>0&&g[r].className.match(t.css.cssHasChild))for(;++r<n&&g[r].className.match(a.cssChildRow);)g[r].style.display=""}},hideRowsSetup:function(t,i){var r=i.pager;r.size=parseInt(r.$size.val(),10)||r.size||r.setSize||10,e.data(t,"pagerLastSize",r.size),a.pagerArrows(i),i.widgetOptions.pager_removeRows||(a.hideRows(t,i),i.$table.on("sortEnd.pager filterEnd.pager",function(){a.hideRows(t,i)}))},renderAjax:function(i,r,s,o,g){var n=s.pager,l=s.widgetOptions;if(e.isFunction(l.pager_ajaxProcessing)){var p,d,c,f,h,u,w,z,P,b,m,v,R,j,x=s.$table,_="",y=l.pager_ajaxProcessing(i,r,o)||[0,[]],$=x.find("thead th").length;if(t.showError(r),g)s.debug&&t.log("Pager: >> Ajax Error",o,g),t.showError(r,g.message+" ("+o.status+")"),s.$tbodies.eq(0).children("tr").detach(),n.totalRows=0;else{if(e.isArray(y)?(c=isNaN(y[0])&&!isNaN(y[1]),R=y[c?1:0],n.totalRows=isNaN(R)?n.totalRows||0:R,s.totalRows=s.filteredRows=n.filteredRows=n.totalRows,m=0===n.totalRows?[""]:y[c?0:1]||[],b=y[2]):(n.ajaxData=y,s.totalRows=n.totalRows=y.total,s.filteredRows=n.filteredRows="undefined"!=typeof y.filteredRows?y.filteredRows:y.total,b=y.headers,m=y.rows),v=m&&m.length,m instanceof jQuery)l.pager_processAjaxOnInit&&(s.$tbodies.eq(0).children("tr").detach(),s.$tbodies.eq(0).append(m));else if(v){for(p=0;v>p;p++){for(_+="<tr>",d=0;d<m[p].length;d++)_+=/^\s*<td/.test(m[p][d])?e.trim(m[p][d]):"<td>"+m[p][d]+"</td>";_+="</tr>"}l.pager_processAjaxOnInit&&s.$tbodies.eq(0).html(_)}if(l.pager_processAjaxOnInit=!0,b&&b.length===$)for(f=x.hasClass("hasStickyHeaders"),u=f?l.$sticky.children("thead:first").children("tr").children():"",h=x.find("tfoot tr:first").children(),w=s.$headers.filter("th "),j=w.length,d=0;j>d;d++)z=w.eq(d),z.find("."+t.css.icon).length?(P=z.find("."+t.css.icon).clone(!0),z.find(".tablesorter-header-inner").html(b[d]).append(P),f&&u.length&&(P=u.eq(d).find("."+t.css.icon).clone(!0),u.eq(d).find(".tablesorter-header-inner").html(b[d]).append(P))):(z.find(".tablesorter-header-inner").html(b[d]),f&&u.length&&u.eq(d).find(".tablesorter-header-inner").html(b[d])),h.eq(d).html(b[d])}s.showProcessing&&t.isProcessing(r),n.totalPages=Math.ceil(n.totalRows/(n.size||n.setSize||10)),n.last.totalRows=n.totalRows,n.last.currentFilters=n.currentFilters,n.last.sortList=(s.sortList||[]).join(","),n.initializing=!1,a.updatePageDisplay(r,s,!1),x.trigger("updateCache",[function(){n.initialized&&setTimeout(function(){s.debug&&t.log("Pager: Triggering pagerChange"),x.trigger("applyWidgets").trigger("pagerChange",n),a.updatePageDisplay(r,s)},0)}])}n.initialized||s.$table.trigger("applyWidgets")},getAjax:function(i,r){var s,o=a.getAjaxUrl(i,r),g=e(document),n=r.pager;""!==o&&(r.showProcessing&&t.isProcessing(i,!0),g.on("ajaxError.pager",function(e,t,s,o){a.renderAjax(null,i,r,t,o),g.off("ajaxError.pager")}),s=++n.ajaxCounter,n.last.ajaxUrl=o,n.ajaxObject.url=o,n.ajaxObject.success=function(e,t,o){s<n.ajaxCounter||(a.renderAjax(e,i,r,o),g.off("ajaxError.pager"),"function"==typeof n.oldAjaxSuccess&&n.oldAjaxSuccess(e))},r.debug&&t.log("Pager: Ajax initialized",n.ajaxObject),e.ajax(n.ajaxObject))},getAjaxUrl:function(a,i){var r,s,o=i.pager,g=i.widgetOptions,n=g.pager_ajaxUrl?g.pager_ajaxUrl.replace(/\{page([\-+]\d+)?\}/,function(e,a){return o.page+(a?parseInt(a,10):0)}).replace(/\{size\}/g,o.size):"",l=i.sortList,p=o.currentFilters||e(a).data("lastSearch")||[],d=n.match(/\{\s*sort(?:List)?\s*:\s*(\w*)\s*\}/),c=n.match(/\{\s*filter(?:List)?\s*:\s*(\w*)\s*\}/),f=[];if(d){for(d=d[1],s=l.length,r=0;s>r;r++)f.push(d+"["+l[r][0]+"]="+l[r][1]);n=n.replace(/\{\s*sort(?:List)?\s*:\s*(\w*)\s*\}/g,f.length?f.join("&"):d),f=[]}if(c){for(c=c[1],s=p.length,r=0;s>r;r++)p[r]&&f.push(c+"["+r+"]="+encodeURIComponent(p[r]));n=n.replace(/\{\s*filter(?:List)?\s*:\s*(\w*)\s*\}/g,f.length?f.join("&"):c),o.currentFilters=p}return e.isFunction(g.pager_customAjaxUrl)&&(n=g.pager_customAjaxUrl(a,n)),i.debug&&t.log("Pager: Ajax url = "+n),n},renderTable:function(e,i){var r,s,o,g,n=e.config,l=n.pager,p=n.widgetOptions,d=n.$table.hasClass("hasFilters"),c=i&&i.length||0,f=l.page*l.size,h=l.size;if(1>c)return void(n.debug&&t.log("Pager: >> No rows for pager to render"));if(l.page>=l.totalPages)return a.moveToLastPage(e,l);if(l.cacheIndex=[],l.isDisabled=!1,l.initialized&&(n.debug&&t.log("Pager: Triggering pagerChange"),n.$table.trigger("pagerChange",n)),p.pager_removeRows){for(t.clearTableBody(e),r=t.processTbody(e,n.$tbodies.eq(0),!0),s=d?0:f,o=d?0:f,g=0;h>g&&s<i.length;)d&&/filtered/.test(i[s][0].className)||(o++,o>f&&h>=g&&(g++,l.cacheIndex.push(s),r.append(i[s]))),s++;t.processTbody(e,r,!1)}else a.hideRows(e,n);a.updatePageDisplay(e,n),p.pager_startPage=l.page,p.pager_size=l.size,e.isUpdating&&(n.debug&&t.log("Pager: Triggering updateComplete"),n.$table.trigger("updateComplete",[e,!0]))},showAllRows:function(i,r){var s,o,g,n=r.pager,l=r.widgetOptions;for(n.ajax?a.pagerArrows(r,!0):(n.isDisabled=!0,e.data(i,"pagerLastPage",n.page),e.data(i,"pagerLastSize",n.size),n.page=0,n.size=n.totalRows,n.totalPages=1,r.$table.addClass("pagerDisabled").removeAttr("aria-describedby").find("tr.pagerSavedHeightSpacer").remove(),a.renderTable(i,r.rowsCopy),r.$table.trigger("applyWidgets"),r.debug&&t.log("Pager: Disabled")),o=n.$size.add(n.$goto).add(n.$container.find(".ts-startRow, .ts-page ")),g=o.length,s=0;g>s;s++)o.eq(s).attr("aria-disabled","true").addClass(l.pager_css.disabled)[0].disabled=!0},updateCache:function(t){var i=t.config,r=i.pager;i.$table.trigger("updateCache",[function(){if(!e.isEmptyObject(t.config.cache)){var s,o=[],g=t.config.cache[0].normalized;for(r.totalRows=g.length,s=0;s<r.totalRows;s++)o.push(g[s][i.columns].$row);i.rowsCopy=o,a.moveToPage(t,r,!0),r.last.currentFilters=[" "]}}])},moveToPage:function(i,r,s){if(!r.isDisabled){if(s!==!1&&r.initialized&&e.isEmptyObject(i.config.cache))return a.updateCache(i);var o,g=i.config,n=g.widgetOptions,l=r.last;r.ajax&&!n.filter_initialized&&t.hasWidget(i,"filter")||(a.calcFilters(i,g),o=Math.min(r.totalPages,r.filteredPages),r.page<0&&(r.page=0),r.page>o-1&&0!==o&&(r.page=o-1),l.currentFilters=""===(l.currentFilters||[]).join("")?[]:l.currentFilters,r.currentFilters=""===(r.currentFilters||[]).join("")?[]:r.currentFilters,(l.page!==r.page||l.size!==r.size||l.totalRows!==r.totalRows||(l.currentFilters||[]).join(",")!==(r.currentFilters||[]).join(",")||(l.ajaxUrl||"")!==(r.ajaxObject.url||"")||(l.optAjaxUrl||"")!==(n.pager_ajaxUrl||"")||l.sortList!==(g.sortList||[]).join(","))&&(g.debug&&t.log("Pager: Changing to page "+r.page),r.last={page:r.page,size:r.size,sortList:(g.sortList||[]).join(","),totalRows:r.totalRows,currentFilters:r.currentFilters||[],ajaxUrl:r.ajaxObject.url||"",optAjaxUrl:n.pager_ajaxUrl},r.ajax?a.getAjax(i,g):r.ajax||a.renderTable(i,g.rowsCopy),e.data(i,"pagerLastPage",r.page),r.initialized&&s!==!1&&(g.debug&&t.log("Pager: Triggering pageMoved"),g.$table.trigger("pageMoved",g).trigger("applyWidgets"),!r.ajax&&i.isUpdating&&(g.debug&&t.log("Pager: Triggering updateComplete"),g.$table.trigger("updateComplete",[i,!0])))))}},setPageSize:function(t,i,r){var s=r.pager;s.size=i||s.size||s.setSize||10,s.$size.val(s.size),e.data(t,"pagerLastPage",s.page),e.data(t,"pagerLastSize",s.size),s.totalPages=Math.ceil(s.totalRows/s.size),s.filteredPages=Math.ceil(s.filteredRows/s.size),a.moveToPage(t,s,!0)},moveToFirstPage:function(e,t){t.page=0,a.moveToPage(e,t,!0)},moveToLastPage:function(e,t){t.page=Math.min(t.totalPages,t.filteredPages)-1,a.moveToPage(e,t,!0)},moveToNextPage:function(e,t){t.page++,t.page>=Math.min(t.totalPages,t.filteredPages)-1&&(t.page=Math.min(t.totalPages,t.filteredPages)-1),a.moveToPage(e,t,!0)},moveToPrevPage:function(e,t){t.page--,t.page<=0&&(t.page=0),a.moveToPage(e,t,!0)},destroyPager:function(i,r,s){var o=r.pager;o.initialized=!1,r.$table.off(e.trim(o.events.split(" ").join(".pager "))),s||(a.showAllRows(i,r),o.$container.hide(),r.appender=null,delete i.config.rowsCopy,t.storage&&t.storage(i,r.widgetOptions.pager_storageKey,""))},enablePager:function(i,r,s){var o,g=r.pager;g.isDisabled=!1,g.page=e.data(i,"pagerLastPage")||g.page||0,g.size=e.data(i,"pagerLastSize")||parseInt(g.$size.find("option[selected]").val(),10)||g.size||g.setSize||10,g.$size.val(g.size),g.totalPages=Math.ceil(Math.min(g.totalRows,g.filteredRows)/g.size),r.$table.removeClass("pagerDisabled"),i.id&&(o=i.id+"_pager_info",g.$container.find(r.widgetOptions.pager_selectors.pageDisplay).attr("id",o),r.$table.attr("aria-describedby",o)),a.changeHeight(i,r),s&&(r.$table.trigger("updateRows"),a.setPageSize(i,g.size,r),a.hideRowsSetup(i,r),r.debug&&t.log("Pager: Enabled"))},appender:function(t,i){var r=t.config,s=r.widgetOptions,o=r.pager;o.ajax?a.moveToPage(t,o,!0):(r.rowsCopy=i,o.totalRows=s.pager_countChildRows?r.$tbodies.eq(0).children("tr").length:i.length,o.size=e.data(t,"pagerLastSize")||o.size||s.pager_size||o.setSize||10,o.totalPages=Math.ceil(o.totalRows/o.size),a.moveToPage(t,o),a.updatePageDisplay(t,r,!1))}},t.showError=function(a,t){var i,r,s,o,g,n=e(a),l=n.length;for(i=0;l>i;i++)s=n[i].config,s&&(o=s.widgetOptions,g=s.pager&&s.pager.cssErrorRow||o.pager_css&&o.pager_css.errorRow||"tablesorter-errorRow","undefined"==typeof t?s.$table.find("thead").find(s.selectorRemove).remove():r=e(/tr\>/.test(t)?t:'<tr><td colspan="'+s.columns+'">'+t+"</td></tr>").click(function(){e(this).remove()}).appendTo(s.$table.find("thead:first")).addClass(g+" "+s.selectorRemove.slice(1)).attr({role:"alert","aria-live":"assertive"}))}}(jQuery);