From 59fad96f7a1e4adabc435d1af4372331014184a3 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Wed, 24 Jun 2015 21:30:44 -0400 Subject: 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 --- Makefile | 7 +- jquery.tablesorter.js | 23 ++++- jquery.tablesorter.widgets.js | 10 ++ tablesorter/first.png | Bin 0 -> 720 bytes tablesorter/last.png | Bin 0 -> 737 bytes tablesorter/next.png | Bin 0 -> 736 bytes tablesorter/prev.png | Bin 0 -> 745 bytes tablesorter/theme.black-ice.css | 30 ++++-- tablesorter/theme.blue.css | 34 +++++-- tablesorter/theme.bootstrap.css | 87 ++++++++++------- tablesorter/theme.bootstrap_2.css | 157 ++++++++++++++++++++++++++++++ tablesorter/theme.dark.css | 32 +++++-- tablesorter/theme.default.css | 31 ++++-- tablesorter/theme.dropbox.css | 61 +++++++----- tablesorter/theme.green.css | 66 ++++++++----- tablesorter/theme.grey.css | 56 +++++++---- tablesorter/theme.ice.css | 49 +++++++--- tablesorter/theme.jui.css | 41 +++++--- tablesorter/theme.metro-dark.css | 197 ++++++++++++++++++++++++++++++++++++++ widgets/widget-pager.js | 6 ++ 20 files changed, 718 insertions(+), 169 deletions(-) create mode 100644 jquery.tablesorter.widgets.js create mode 100644 tablesorter/first.png create mode 100644 tablesorter/last.png create mode 100644 tablesorter/next.png create mode 100644 tablesorter/prev.png create mode 100644 tablesorter/theme.bootstrap_2.css create mode 100644 tablesorter/theme.metro-dark.css create mode 100644 widgets/widget-pager.js 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':"";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='
'+z+"
";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;bk&&(m.sortList.push([h,k]),1k&&(m.sortList.push([h,k]),1 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("x")[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(""),n=f(a).width();f(a.tBodies[0]).find("tr:first").children("td").each(function(){p.append(f("").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'),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(ba)return 1}c=Math.max(d.length,e.length);for(b=0;bf)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;bf.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;rc.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;c1?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;ld;++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;cd;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?'':"",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('
'+d+"
")),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;gt;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;na;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=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;ic&&(u.sortList.push([n,c]),r.colSpan>1))for(i=1;i1)for(i=0;i=0&&u.sortList.splice(l,1);if(x.isValueInArray(n,u.sortList)>=0)for(i=0;ic&&(u.sortList.push([n,c]),r.colSpan>1))for(i=1;ia;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(''),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("").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;ra;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(''),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.priorityn;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;cl;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.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;l1)))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=]/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:/=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'+(c.data("placeholder")||c.attr("data-placeholder")||l.filter_placeholder.select||"")+"":"",h=n,o=n,n.indexOf(l.filter_selectSourceSeparator)>=0&&(h=n.split(l.filter_selectSourceSeparator),o=h[1],h=h[0]),s+="");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='';for(n=0;g>n;n++)b+="").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("').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=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-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=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;h1&&(z=parseInt($[0],10)-1,z>=0&&z_;_++)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;_")>=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;la;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='",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=0&&(f=d.split(g.filter_selectSourceSeparator),c=f[0],d=f[1]),b+=""!==l[o]?"":"";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=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('
'),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=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="";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('
').css({top:o}).insertBefore(t.$table),s=0;s').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;ll||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;l0?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 Binary files /dev/null and b/tablesorter/first.png differ diff --git a/tablesorter/last.png b/tablesorter/last.png new file mode 100644 index 0000000..7207935 Binary files /dev/null and b/tablesorter/last.png differ diff --git a/tablesorter/next.png b/tablesorter/next.png new file mode 100644 index 0000000..4a2f9d4 Binary files /dev/null and b/tablesorter/next.png differ diff --git a/tablesorter/prev.png b/tablesorter/prev.png new file mode 100644 index 0000000..15d1584 Binary files /dev/null and b/tablesorter/prev.png 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 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 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,''):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+='";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')))},changeHeight:function(t,i){var r,s=i.$tbodies.eq(0);s.find("tr.pagerSavedHeightSpacer").remove(),s.children("tr:visible").length||s.append(' '),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> 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(_+="",d=0;d"+m[p][d]+"";_+=""}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){sr;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&&sf&&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;so-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:''+t+"").click(function(){e(this).remove()}).appendTo(s.$table.find("thead:first")).addClass(g+" "+s.selectorRemove.slice(1)).attr({role:"alert","aria-live":"assertive"}))}}(jQuery); -- cgit v1.2.3