tablesorter/addons/pager/jquery.tablesorter.pager.min.js
2012-12-18 15:50:42 -06:00

3 lines
9.1 KiB
JavaScript

/*! tablesorter pager plugin minified - updated 12/18/2012 */
;(function(d){d.extend({tablesorterPager:new function(){this.defaults={container:null,ajaxUrl:null,ajaxProcessing:function(){return[0,[],null]},output:"{startRow} to {endRow} of {totalRows} rows",updateArrows:!0,page:0,size:10,fixedHeight:!1,removeRows:!1,cssFirst:".first",cssPrev:".prev",cssNext:".next",cssLast:".last",cssGoto:".gotoPage",cssPageDisplay:".pagedisplay",cssPageSize:".pagesize",cssErrorRow:"tablesorter-errorRow",cssDisabled:"disabled",totalRows:0,totalPages:0,filteredRows:0,filteredPages:0}; var t=this,n=function(c,a){var b=c.cssDisabled,e=!!a,f=Math.min(c.totalPages,c.filteredPages);c.updateArrows&&(d(c.cssFirst+","+c.cssPrev,c.container)[e||0===c.page?"addClass":"removeClass"](b),d(c.cssNext+","+c.cssLast,c.container)[e||c.page===f-1?"addClass":"removeClass"](b))},v=function(c,a){var b,e,f;b=d(c).hasClass("hasFilters")&&!a.ajaxUrl;a.filteredRows=b?d(c).find("tbody tr:not(.filtered)").length:a.totalRows;a.filteredPages=b?Math.ceil(a.filteredRows/a.size):a.totalPages;if(0<Math.min(a.totalPages, a.filteredPages)&&(f=a.size*a.page>a.filteredRows,a.startRow=f?1:a.size*a.page+1,a.page=f?0:a.page,a.endRow=Math.min(a.filteredRows,a.totalRows,a.size*(a.page+1)),e=d(a.cssPageDisplay,a.container),b=a.output.replace(/\{(page|filteredRows|filteredPages|totalPages|startRow|endRow|totalRows)\}/gi,function(b){return{"{page}":a.page+1,"{filteredRows}":a.filteredRows,"{filteredPages}":a.filteredPages,"{totalPages}":a.totalPages,"{startRow}":a.startRow,"{endRow}":a.endRow,"{totalRows}":a.totalRows}[b]}), e[0]&&(e["INPUT"===e[0].tagName?"val":"html"](b),d(a.cssGoto,a.container).length))){f="";e=Math.min(a.totalPages,a.filteredPages);for(b=1;b<=e;b++)f+="<option>"+b+"</option>";d(a.cssGoto,a.container).html(f).val(a.page+1)}n(a);a.initialized&&d(c).trigger("pagerComplete",a)},w=function(c,a){var b,e=d(c.tBodies[0]);if(a.fixedHeight&&(e.find("tr.pagerSavedHeightSpacer").remove(),b=d.data(c,"pagerSavedHeight")))b-=e.height(),5<b&&(d.data(c,"pagerLastSize")===a.size&&e.find("tr:visible").length<a.size)&& e.append('<tr class="pagerSavedHeightSpacer remove-me" style="height:'+b+'px;"></tr>')},u=function(c,a){var b=d(c.tBodies[0]);b.find("tr.pagerSavedHeightSpacer").remove();d.data(c,"pagerSavedHeight",b.height());w(c,a);d.data(c,"pagerLastSize",a.size)},p=function(c,a){if(!a.ajaxUrl){var b,e=d("tr:not(."+c.config.cssChildRow+")",c.tBodies),f=e.length,k=a.page*a.size,g=k+a.size,j=0;for(b=0;b<f;b++)/filtered/.test(e[b].className)||(e[b].style.display=j>=k&&j<g?"":"none",j++)}},x=function(c,a){a.size= parseInt(d(a.cssPageSize,a.container).find("option[selected]").val(),10)||a.size;d.data(c,"pagerLastSize",a.size);n(a);a.removeRows||(p(c,a),d(c).bind("sortEnd.pager filterEnd.pager",function(){p(c,a)}))},y=function(c,a,b,e){if("function"===typeof b.ajaxProcessing){var f,k,g,j,h=d(a),m=a.config,l=d(a.tBodies).filter(":not(."+m.cssInfoBlock+")"),p=h.find("thead th").length,q="",t='<tr class="'+b.cssErrorRow+" "+m.selectorRemove+'"><td style="text-align: center;" colspan="'+p+'">'+(e?e.message+" ("+ e.name+")":"No rows found")+"</td></tr>",n=b.ajaxProcessing(c)||[0,[]],s=n[1]||[],u=s.length,r=n[2];if(0<u)for(c=0;c<u;c++){q+="<tr>";for(f=0;f<s[c].length;f++)q+="<td>"+s[c][f]+"</td>";q+="</tr>"}r&&r.length===p&&(k=h.hasClass("hasStickyHeaders"),j=h.find("."+(m.widgetOptions&&m.widgetOptions.stickyHeaders||"tablesorter-stickyheader")),g=h.find("tfoot tr:first").children(),h.find("th."+m.cssHeader).each(function(a){var b=d(this),c;b.find("."+m.cssIcon).length?(c=b.find("."+m.cssIcon).clone(!0),b.find(".tablesorter-header-inner").html(r[a]).append(c), k&&j.length&&(c=j.find("th").eq(a).find("."+m.cssIcon).clone(!0),j.find("th").eq(a).find(".tablesorter-header-inner").html(r[a]).append(c))):(b.find(".tablesorter-header-inner").html(r[a]),j.find("th").eq(a).find(".tablesorter-header-inner").html(r[a]));g.eq(a).html(r[a])}));h.find("thead tr."+b.cssErrorRow).remove();e?h.find("thead").append(t):l.html(q);m.showProcessing&&d.tablesorter.isProcessing(a);h.trigger("update");b.totalRows=n[0]||0;b.totalPages=Math.ceil(b.totalRows/b.size);v(a,b);w(a,b); b.initialized&&h.trigger("pagerChange",b)}b.initialized||(b.initialized=!0,d(a).trigger("pagerInitialized",b))},z=function(c,a){var b,e=a.ajaxUrl?a.ajaxUrl.replace(/\{page\}/g,a.page).replace(/\{size\}/g,a.size):"",f=c.config.sortList,k=a.currentFilters||[],g=e.match(/\{sortList[\s+]?:[\s+]?([^}]*)\}/),j=e.match(/\{filterList[\s+]?:[\s+]?([^}]*)\}/),h=[];g&&(g=g[1],d.each(f,function(a,b){h.push(g+"["+b[0]+"]="+b[1])}),e=e.replace(/\{sortList[\s+]?:[\s+]?([^\}]*)\}/g,h.length?h.join("&"):g));j&&(j= j[1],d.each(k,function(a,b){b&&h.push(j+"["+a+"]="+encodeURIComponent(b))}),e=e.replace(/\{filterList[\s+]?:[\s+]?([^\}]*)\}/g,h.length?h.join("&"):j));b=e;e=c.config;""!==b&&(e.showProcessing&&d.tablesorter.isProcessing(c,!0),d(document).bind("ajaxError.pager",function(e,f,g,h){g.url===b&&(y(null,c,a,h),d(document).unbind("ajaxError.pager"))}),d.getJSON(b,function(b){y(b,c,a);d(document).unbind("ajaxError.pager")}))},s=function(c,a,b){var e,f,k,g=document.createDocumentFragment(),j=a.length;e=b.page* b.size;var h=e+b.size;if(!(1>j)){b.initialized&&d(c).trigger("pagerChange",b);if(b.removeRows){h>a.length&&(h=a.length);d(c.tBodies[0]).addClass("tablesorter-hidden");for(d.tablesorter.clearTableBody(c);e<h;e++){k=a[e];j=k.length;for(f=0;f<j;f++)g.appendChild(k[f])}c.tBodies[0].appendChild(g);d(c.tBodies[0]).removeClass("tablesorter-hidden")}else p(c,b);b.page>=b.totalPages&&(b.page=Math.min(b.totalPages,b.filteredPages)-1,l(c,b));v(c,b);b.isDisabled||w(c,b);d(c).trigger("applyWidgets")}},A=function(c, a){a.ajax?n(a,!0):(a.isDisabled=!0,d.data(c,"pagerLastPage",a.page),d.data(c,"pagerLastSize",a.size),a.page=0,a.size=a.totalRows,a.totalPages=1,d("tr.pagerSavedHeightSpacer",c.tBodies[0]).remove(),s(c,c.config.rowsCopy,a));d(a.container).find(a.cssPageSize+","+a.cssGoto).each(function(){d(this).addClass(a.cssDisabled)[0].disabled=!0})},l=function(c,a){if(!a.isDisabled){var b=Math.min(a.totalPages,a.filteredPages);if(0>a.page||a.page>b-1)a.page=0;a.ajax?z(c,a):a.ajax||s(c,c.config.rowsCopy,a);d.data(c, "pagerLastPage",a.page);d.data(c,"pagerUpdateTriggered",!0);a.initialized&&d(c).trigger("pageMoved",a)}},B=function(c,a,b){b.size=a;d.data(c,"pagerLastPage",b.page);d.data(c,"pagerLastSize",b.size);b.totalPages=Math.ceil(b.totalRows/b.size);l(c,b)},C=function(c,a,b){var e=d(a.cssPageSize,a.container).removeClass(a.cssDisabled).removeAttr("disabled");d(a.container).find(a.cssGoto).removeClass(a.cssDisabled).removeAttr("disabled");a.isDisabled=!1;a.page=d.data(c,"pagerLastPage")||a.page||0;a.size=d.data(c, "pagerLastSize")||parseInt(e.find("option[selected]").val(),10)||a.size;e.val(a.size);a.totalPages=Math.ceil(Math.min(a.totalPages,a.filteredPages)/a.size);b&&(d(c).trigger("update"),B(c,a.size,a),x(c,a),w(c,a))};t.appender=function(c,a){var b=c.config.pager;b.ajax||(c.config.rowsCopy=a,b.totalRows=a.length,b.size=d.data(c,"pagerLastSize")||b.size,b.totalPages=Math.ceil(b.totalRows/b.size),s(c,a,b))};t.construct=function(c){return this.each(function(){if(this.config&&this.hasInitialized){var a=this.config, b=a.pager=d.extend({},d.tablesorterPager.defaults,c),e=this,f=e.config,k=d(e),g=d(b.container).addClass("tablesorter-pager").show();a.appender=t.appender;b.initialized=!1;C(e,b,!1);"string"===typeof b.ajaxUrl?(b.ajax=!0,f.widgetOptions.filter_serversideFiltering=!0,f.serverSideSorting=!0,z(e,b)):(b.ajax=!1,d(this).trigger("appendCache",!0),x(e,b));d(e).unbind("filterStart.pager").bind("filterStart.pager",function(a,c){b.currentFilters=c});d(e).unbind("filterEnd.pager sortEnd.pager").bind("filterEnd.pager sortEnd.pager", function(){d.data(e,"pagerUpdateTriggered")?d.data(e,"pagerUpdateTriggered",!1):(b.page=0,v(e,b),l(e,b),u(e,b))});d(b.cssGoto,g).length&&(d(b.cssGoto,g).bind("change",function(){b.page=d(this).val()-1;l(e,b)}),v(e,b));d(b.cssFirst,g).unbind("click.pager").bind("click.pager",function(){d(this).hasClass(b.cssDisabled)||(b.page=0,l(e,b));return!1});d(b.cssNext,g).unbind("click.pager").bind("click.pager",function(){d(this).hasClass(b.cssDisabled)||(b.page++,b.page>=Math.min(b.totalPages,b.filteredPages)- 1&&(b.page=Math.min(b.totalPages,b.filteredPages)-1),l(e,b));return!1});d(b.cssPrev,g).unbind("click.pager").bind("click.pager",function(){d(this).hasClass(b.cssDisabled)||(b.page--,0>=b.page&&(b.page=0),l(e,b));return!1});d(b.cssLast,g).unbind("click.pager").bind("click.pager",function(){d(this).hasClass(b.cssDisabled)||(b.page=Math.min(b.totalPages,b.filteredPages)-1,l(e,b));return!1});d(b.cssPageSize,g).unbind("change.pager").bind("change.pager",function(){d(b.cssPageSize,g).val(d(this).val()); d(this).hasClass(b.cssDisabled)||(B(e,parseInt(d(this).val(),10),b),u(e,b));return!1});k.unbind("disable.pager enable.pager destroy.pager update.pager").bind("disable.pager",function(){A(e,b)}).bind("enable.pager",function(){C(e,b,!0)}).bind("destroy.pager",function(){A(e,b);d(b.container).hide();e.config.appender=null;d(e).unbind("destroy.pager sortEnd.pager filterEnd.pager enable.pager disable.pager")}).bind("update.pager",function(){p(e,b)});b.ajax||(b.initialized=!0,d(e).trigger("pagerInitialized", b))}})}}});d.fn.extend({tablesorterPager:d.tablesorterPager.construct})})(jQuery);