This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
lnapp/media/vendor/mottie-tablesorter/js/jquery.tablesorter.pager.min.js
2013-05-07 11:38:28 +10:00

3 lines
9.6 KiB
JavaScript

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