tablesorter/addons/pager/jquery.tablesorter.pager.min.js
2012-11-27 20:55:36 -06:00

3 lines
8.4 KiB
JavaScript

/*! tablesorter pager plugin minified - updated 11/27/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",cssDisabled:"disabled",totalRows:0,totalPages:0,filteredRows:0,filteredPages:0};var r=this,j=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))},t=function(c,a){var b,e,f;b=d(c).hasClass("hasFilters");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)}j(a);a.initialized&&d(c).trigger("pagerComplete",a)},u=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>')},s=function(c,a){var b=d(c.tBodies[0]);b.find("tr.pagerSavedHeightSpacer").remove();d.data(c,"pagerSavedHeight",b.height());u(c,a);d.data(c,"pagerLastSize",a.size)},m=function(c,a){if(!a.ajaxUrl){var b,e=d("tr:not(."+c.config.cssChildRow+")",c.tBodies),f=e.length,g=a.page*a.size,v=g+a.size,h=0;for(b=0;b<f;b++)/filtered/.test(e[b].className)||(e[b].style.display=h>=g&&h<v?"":"none",h++)}},w=function(c,a){a.size=parseInt(d(a.cssPageSize,a.container).find("option[selected]").val(),10)|| a.size;d.data(c,"pagerLastSize",a.size);j(a);a.removeRows||(m(c,a),d(c).bind("sortEnd.pager filterEnd.pager",function(){m(c,a)}))},x=function(c,a,b,e){if("function"===typeof b.ajaxProcessing){var f,g,v,h,i=d(a),l=a.config,k=d(a.tBodies).filter(":not(."+l.cssInfoBlock+")"),m=i.find("thead th").length,n="",r='<tr class="'+l.selectorRemove+'"><td style="text-align: center;" colspan="'+m+'">'+(e?e.message+" ("+e.name+")":"No rows found")+"</td></tr>",j=b.ajaxProcessing(c)||[0,[]],q=j[1]||[],s=q.length, p=j[2];if(0<s)for(c=0;c<s;c++){n+="<tr>";for(f=0;f<q[c].length;f++)n+="<td>"+q[c][f]+"</td>";n+="</tr>"}p&&p.length===m&&(g=i.hasClass("hasStickyHeaders"),h=i.find("."+(l.widgetOptions&&l.widgetOptions.stickyHeaders||"tablesorter-stickyheader")),v=i.find("tfoot tr:first").children(),i.find("th."+l.cssHeader).each(function(a){var b=d(this),c;b.find("."+l.cssIcon).length?(c=b.find("."+l.cssIcon).clone(!0),b.find(".tablesorter-header-inner").html(p[a]).append(c),g&&h.length&&(c=h.find("th").eq(a).find("."+ l.cssIcon).clone(!0),h.find("th").eq(a).find(".tablesorter-header-inner").html(p[a]).append(c))):(b.find(".tablesorter-header-inner").html(p[a]),h.find("th").eq(a).find(".tablesorter-header-inner").html(p[a]));v.eq(a).html(p[a])}));e?i.find("thead").append(r):k.html(n);d.tablesorter.isProcessing(a);i.trigger("update");b.totalRows=j[0]||0;b.totalPages=Math.ceil(b.totalRows/b.size);t(a,b);u(a,b);b.initialized&&i.trigger("pagerChange",b)}b.initialized||(b.initialized=!0,d(a).trigger("pagerInitialized", b))},y=function(c,a){var b=a.ajaxUrl?a.ajaxUrl.replace(/\{page\}/g,a.page).replace(/\{size\}/g,a.size):"",e=[],f=c.config.sortList,g=b.match(/\{sortList[\s+]?:[\s+]?(.*)\}/);g&&(g=g[1],d.each(f,function(a,b){e.push(g+"["+b[0]+"]="+b[1])}),b=b.replace(/\{sortList[\s+]?:[\s+]?(.*)\}/g,e.length?e.join("&"):g));""!==b&&(d.tablesorter.isProcessing(c,!0),d(document).ajaxError(function(b,d,e,f){x(null,c,a,f)}),d.getJSON(b,function(b){x(b,c,a)}))},q=function(c,a,b){var e,f,g,j=document.createDocumentFragment(), h=a.length;e=b.page*b.size;var i=e+b.size;if(!(1>h)){b.initialized&&d(c).trigger("pagerChange",b);if(b.removeRows){i>a.length&&(i=a.length);d(c.tBodies[0]).addClass("tablesorter-hidden");for(d.tablesorter.clearTableBody(c);e<i;e++){g=a[e];h=g.length;for(f=0;f<h;f++)j.appendChild(g[f])}c.tBodies[0].appendChild(j);d(c.tBodies[0]).removeClass("tablesorter-hidden")}else m(c,b);b.page>=b.totalPages&&(b.page=Math.min(b.totalPages,b.filteredPages)-1,k(c,b));t(c,b);b.isDisabled||u(c,b);d(c).trigger("applyWidgets")}}, z=function(c,a){a.ajax?j(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(),q(c,c.config.rowsCopy,a));d(a.container).find(a.cssPageSize+","+a.cssGoto).each(function(){d(this).addClass(a.cssDisabled)[0].disabled=!0})},k=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&&d.data(c,"pagerLastPage")!==a.page? y(c,a):a.ajax||q(c,c.config.rowsCopy,a);d.data(c,"pagerLastPage",a.page);a.initialized&&d(c).trigger("pageMoved",a)}},A=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);k(c,b)},B=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"),A(c,a.size,a),w(c,a),u(c,a))};r.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),q(c,a,b))};r.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=d(e),g=d(b.container).addClass("tablesorter-pager").show();a.appender=r.appender;b.initialized=!1;B(e,b,!1);"string"===typeof b.ajaxUrl?(b.ajax=!0,y(e,b)):(b.ajax=!1,d(this).trigger("appendCache",!0),w(e,b));d(e).unbind("filterEnd.pager updateComplete.pager ").bind("filterEnd.pager updateComplete.pager",function(){d(this).hasClass("hasFilters")&&(b.page=0,t(e,b),k(e,b),s(e,b))});d(b.cssGoto,g).length&&(d(b.cssGoto,g).bind("change", function(){b.page=d(this).val()-1;k(e,b)}),t(e,b));d(b.cssFirst,g).unbind("click.pager").bind("click.pager",function(){d(this).hasClass(b.cssDisabled)||(b.page=0,k(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),k(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),k(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,k(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)||(A(e,parseInt(d(this).val(),10),b),s(e,b));return!1});f.unbind("disable.pager enable.pager destroy.pager update.pager").bind("disable.pager", function(){z(e,b)}).bind("enable.pager",function(){B(e,b,!0)}).bind("destroy.pager",function(){z(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(){m(e,b)});b.ajax||(b.initialized=!0,d(e).trigger("pagerInitialized",b))}})}}});d.fn.extend({tablesorterPager:d.tablesorterPager.construct})})(jQuery);