summaryrefslogtreecommitdiffstats
path: root/widgets/widget-pager.js
blob: efd5bb26dfb0d82c64e7f52149e91c9e863111ca (plain)
1
2
3
4
5
6
/*! Widget: Pager - updated 5/17/2015 (v2.22.0) */
/* Requires tablesorter v2.8+ and jQuery 1.7+
 * by Rob Garrison
 */
/*jshint browser:true, jquery:true, unused:false */
!function(e){"use strict";var a,t=e.tablesorter;t.addWidget({id:"pager",priority:55,options:{pager_output:"{startRow} to {endRow} of {totalRows} rows",pager_updateArrows:!0,pager_startPage:0,pager_pageReset:0,pager_size:10,pager_maxOptionSize:20,pager_savePages:!0,pager_storageKey:"tablesorter-pager",pager_fixedHeight:!1,pager_countChildRows:!1,pager_removeRows:!1,pager_ajaxUrl:null,pager_customAjaxUrl:function(e,a){return a},pager_ajaxObject:{dataType:"json"},pager_processAjaxOnInit:!0,pager_ajaxProcessing:function(){return[0,[],null]},pager_css:{container:"tablesorter-pager",errorRow:"tablesorter-errorRow",disabled:"disabled"},pager_selectors:{container:".pager",first:".first",prev:".prev",next:".next",last:".last",gotoPage:".gotoPage",pageDisplay:".pagedisplay",pageSize:".pagesize"}},init:function(e){a.init(e)},format:function(e,t){return t.pager&&t.pager.initialized?void a.moveToPage(e,t.pager,!1):a.initComplete(e,t)},remove:function(e,t,i,r){a.destroyPager(e,t,r)}}),a=t.pager={init:function(i){if(!i.hasInitialized||!i.config.pager.initialized){var r,s=i.config,o=s.widgetOptions,g=o.pager_selectors,n=s.pager=e.extend({totalPages:0,filteredRows:0,filteredPages:0,currentFilters:[],page:o.pager_startPage,startRow:0,endRow:0,ajaxCounter:0,$size:null,last:{},setSize:o.pager_size,setPage:o.pager_startPage,events:"filterInit filterStart filterEnd sortEnd disable enable destroy updateComplete pageSize pageSet pageAndSize pagerUpdate refreshComplete "},s.pager);n.isInitializing||(n.isInitializing=!0,s.debug&&t.log("Pager: Initializing"),n.size=e.data(i,"pagerLastSize")||o.pager_size,n.$container=e(g.container).addClass(o.pager_css.container).show(),n.$goto=n.$container.find(g.gotoPage),n.$size=n.$container.find(g.pageSize),n.totalRows=s.$tbodies.eq(0).children("tr").not(o.pager_countChildRows?"":"."+s.cssChildRow).length,n.oldAjaxSuccess=n.oldAjaxSuccess||o.pager_ajaxObject.success,s.appender=a.appender,n.initializing=!0,o.pager_savePages&&t.storage&&(r=t.storage(i,o.pager_storageKey)||{},n.page=(isNaN(r.page)?n.page:r.page)||n.setPage||0,n.size=(isNaN(r.size)?n.size:r.size)||n.setSize||10,e.data(i,"pagerLastSize",n.size)),n.regexRows=new RegExp("("+(o.filter_filteredRow||"filtered")+"|"+s.selectorRemove.slice(1)+"|"+s.cssChildRow+")"),n.initialized=!1,s.$table.trigger("pagerBeforeInitialized",s),a.enablePager(i,s,!1),n.ajaxObject=o.pager_ajaxObject,n.ajaxObject.url=o.pager_ajaxUrl,"string"==typeof o.pager_ajaxUrl?(n.ajax=!0,o.filter_serversideFiltering=!0,s.serverSideSorting=!0,a.moveToPage(i,n)):(n.ajax=!1,s.$table.trigger("appendCache",[{},!0])))}},initComplete:function(e,i){var r=i.pager;a.bindEvents(e,i),a.setPageSize(e,0,i),r.ajax||a.hideRowsSetup(e,i),r.initialized=!0,r.initializing=!1,r.isInitializing=!1,i.debug&&t.log("Pager: Triggering pagerInitialized"),i.$table.trigger("pagerInitialized",i),i.widgetOptions.filter_initialized&&t.hasWidget(e,"filter")||a.updatePageDisplay(e,i,!r.ajax)},bindEvents:function(i,r){var s,o,g=r.pager,n=r.widgetOptions,l=n.pager_selectors;r.$table.off(e.trim(g.events.split(" ").join(".pager "))).on("filterInit.pager filterStart.pager",function(a,t){g.currentFilters=e.isArray(t)?t:r.$table.data("lastSearch"),"filterStart"===a.type&&n.pager_pageReset!==!1&&(r.lastCombinedFilter||"")!==(g.currentFilters||[]).join("")&&(g.page=n.pager_pageReset)}).on("filterEnd.pager sortEnd.pager",function(){g.currentFilters=r.$table.data("lastSearch"),(g.initialized||g.initializing)&&(r.delayInit&&r.rowsCopy&&0===r.rowsCopy.length&&a.updateCache(i),a.updatePageDisplay(i,r,!1),r.$table.trigger("applyWidgets"))}).on("disable.pager",function(e){e.stopPropagation(),a.showAllRows(i,r)}).on("enable.pager",function(e){e.stopPropagation(),a.enablePager(i,r,!0)}).on("destroy.pager",function(e,t){e.stopPropagation(),a.destroyPager(i,r,t)}).on("updateComplete.pager",function(e,t,i){if(e.stopPropagation(),t&&!i&&!g.ajax){var s=r.$tbodies.eq(0).children("tr").not(r.selectorRemove);g.totalRows=s.length-(n.pager_countChildRows?0:s.filter("."+r.cssChildRow).length),g.totalPages=Math.ceil(g.totalRows/g.size),s.length&&r.rowsCopy&&0===r.rowsCopy.length&&a.updateCache(t),g.page>=g.totalPages&&a.moveToLastPage(t,g),a.hideRows(t,r),a.changeHeight(t,r),a.updatePageDisplay(t,r,!1),r.$table.trigger("applyWidgets"),a.updatePageDisplay(t,r)}}).on("pageSize.pager refreshComplete.pager",function(e,t){e.stopPropagation(),a.setPageSize(i,parseInt(t,10)||g.setSize||10,r),a.hideRows(i,r),a.updatePageDisplay(i,r,!1)}).on("pageSet.pager pagerUpdate.pager",function(e,t){e.stopPropagation(),"pagerUpdate"===e.type&&(t="undefined"==typeof t?g.page+1:t,g.last.page=!0),g.page=(parseInt(t,10)||1)-1,a.moveToPage(i,g,!0),a.updatePageDisplay(i,r,!1)}).on("pageAndSize.pager",function(e,t,s){e.stopPropagation(),g.page=(parseInt(t,10)||1)-1,a.setPageSize(i,parseInt(s,10)||g.setSize||10,r),a.moveToPage(i,g,!0),a.hideRows(i,r),a.updatePageDisplay(i,r,!1)}),s=[l.first,l.prev,l.next,l.last],o=["moveToFirstPage","moveToPrevPage","moveToNextPage","moveToLastPage"],r.debug&&!g.$container.length&&t.log("Pager: >> Container not found"),g.$container.find(s.join(",")).attr("tabindex",0).off("click.pager").on("click.pager",function(t){t.stopPropagation();var r,l=e(this),p=s.length;if(!l.hasClass(n.pager_css.disabled))for(r=0;p>r;r++)if(l.is(s[r])){a[o[r]](i,g);break}}),g.$goto.length?g.$goto.off("change.pager").on("change.pager",function(){g.page=e(this).val()-1,a.moveToPage(i,g,!0),a.updatePageDisplay(i,r,!1)}):r.debug&&t.log("Pager: >> Goto selector not found"),g.$size.length?(g.$size.find("option").removeAttr("selected"),g.$size.off("change.pager").on("change.pager",function(){return g.$size.val(e(this).val()),e(this).hasClass(n.pager_css.disabled)||(a.setPageSize(i,parseInt(e(this).val(),10),r),a.changeHeight(i,r)),!1})):r.debug&&t.log("Pager: >> Size selector not found")},pagerArrows:function(e,a){var t=e.pager,i=!!a,r=i||0===t.page,s=Math.min(t.totalPages,t.filteredPages),o=i||t.page===s-1||0===s,g=e.widgetOptions,n=g.pager_selectors;g.pager_updateArrows&&(t.$container.find(n.first+","+n.prev).toggleClass(g.pager_css.disabled,r).attr("aria-disabled",r),t.$container.find(n.next+","+n.last).toggleClass(g.pager_css.disabled,o).attr("aria-disabled",o))},calcFilters:function(a,t){var i,r,s,o=t.widgetOptions,g=t.pager,n=t.$table.hasClass("hasFilters");if(n&&!o.pager_ajaxUrl)if(e.isEmptyObject(t.cache))g.filteredRows=g.totalRows=t.$tbodies.eq(0).children("tr").not(o.pager_countChildRows?"":"."+t.cssChildRow).length;else for(g.filteredRows=0,i=t.cache[0].normalized,s=i.length,r=0;s>r;r++)g.filteredRows+=g.regexRows.test(i[r][t.columns].$row[0].className)?0:1;else n||(g.filteredRows=g.totalRows)},updatePageDisplay:function(i,r,s){if(!r.pager.initializing){var o,g,n,l,p,d,c=r.widgetOptions,f=r.pager,h=f.size||f.setSize||10;if(c.pager_countChildRows&&g.push(r.cssChildRow),f.$size.add(f.$goto).removeClass(c.pager_css.disabled).removeAttr("disabled").attr("aria-disabled","false"),f.totalPages=Math.ceil(f.totalRows/h),r.totalRows=f.totalRows,a.calcFilters(i,r),r.filteredRows=f.filteredRows,f.filteredPages=Math.ceil(f.filteredRows/h)||0,Math.min(f.totalPages,f.filteredPages)>=0){if(g=f.size*f.page>f.filteredRows&&s,f.page=g?c.pager_pageReset||0:f.page,f.startRow=g?f.size*f.page+1:0===f.filteredRows?0:f.size*f.page+1,f.endRow=Math.min(f.filteredRows,f.totalRows,f.size*(f.page+1)),n=f.$container.find(c.pager_selectors.pageDisplay),o=(f.ajaxData&&f.ajaxData.output?f.ajaxData.output||c.pager_output:c.pager_output).replace(/\{page([\-+]\d+)?\}/gi,function(e,a){return f.totalPages?f.page+(a?parseInt(a,10):1):0}).replace(/\{\w+(\s*:\s*\w+)?\}/gi,function(e){var a,t,i=e.replace(/[{}\s]/g,""),r=i.split(":"),s=f.ajaxData,o=/(rows?|pages?)$/i.test(i)?0:"";return/(startRow|page)/.test(r[0])&&"input"===r[1]?(a=(""+("page"===r[0]?f.totalPages:f.totalRows)).length,t="page"===r[0]?f.page+1:f.startRow,'<input type="text" class="ts-'+r[0]+'" style="max-width:'+a+'em" value="'+t+'"/>'):r.length>1&&s&&s[r[0]]?s[r[0]][r[1]]:f[i]||(s?s[i]:o)||o}),f.$goto.length){for(g="",l=a.buildPageSelect(f,r),d=l.length,p=0;d>p;p++)g+='<option value="'+l[p]+'">'+l[p]+"</option>";f.$goto.html(g).val(f.page+1)}n.length&&(n["INPUT"===n[0].nodeName?"val":"html"](o),n.find(".ts-startRow, .ts-page").off("change.pager").on("change.pager",function(){var a=e(this).val(),t=e(this).hasClass("ts-startRow")?Math.floor(a/f.size)+1:a;r.$table.trigger("pageSet.pager",[t])}))}a.pagerArrows(r),a.fixHeight(i,r),f.initialized&&s!==!1&&(r.debug&&t.log("Pager: Triggering pagerComplete"),r.$table.trigger("pagerComplete",r),c.pager_savePages&&t.storage&&t.storage(i,c.pager_storageKey,{page:f.page,size:f.size}))}},buildPageSelect:function(a,t){var i,r,s,o,g,n,l=t.widgetOptions,p=Math.min(a.totalPages,a.filteredPages)||1,d=5*Math.ceil(p/l.pager_maxOptionSize/5),c=p>l.pager_maxOptionSize,f=a.page+1,h=d,u=p-d,w=[1],z=c?d:1;for(i=z;p>=i;)w.push(i),i+=c?d:1;if(w.push(p),c){for(s=[],r=Math.max(Math.floor(l.pager_maxOptionSize/d)-1,5),h=f-r,1>h&&(h=1),u=f+r,u>p&&(u=p),i=h;u>=i;i++)s.push(i);w=e.grep(w,function(a,t){return e.inArray(a,w)===t}),g=w.length,n=s.length,g-n>d/2&&g+n>l.pager_maxOptionSize&&(o=Math.floor(g/2)-Math.floor(n/2),Array.prototype.splice.apply(w,[o,n])),w=w.concat(s)}return w=e.grep(w,function(a,t){return e.inArray(a,w)===t}).sort(function(e,a){return e-a})},fixHeight:function(a,t){var i,r,s=t.pager,o=t.widgetOptions,g=t.$tbodies.eq(0);g.find("tr.pagerSavedHeightSpacer").remove(),o.pager_fixedHeight&&!s.isDisabled&&(r=e.data(a,"pagerSavedHeight"),r&&(i=r-g.height(),i>5&&e.data(a,"pagerLastSize")===s.size&&g.children("tr:visible").length<s.size&&g.append('<tr class="pagerSavedHeightSpacer '+t.selectorRemove.slice(1)+'" style="height:'+i+'px;"></tr>')))},changeHeight:function(t,i){var r,s=i.$tbodies.eq(0);s.find("tr.pagerSavedHeightSpacer").remove(),s.children("tr:visible").length||s.append('<tr class="pagerSavedHeightSpacer '+i.selectorRemove.slice(1)+'"><td>&nbsp</td></tr>'),r=s.children("tr").eq(0).height()*i.pager.size,e.data(t,"pagerSavedHeight",r),a.fixHeight(t,i),e.data(t,"pagerLastSize",i.pager.size)},hideRows:function(e,a){if(!a.widgetOptions.pager_ajaxUrl){var i,r=0,s=a.pager,o=a.widgetOptions,g=a.$tbodies.eq(0).children("tr"),n=g.length,l=s.page*s.size,p=l+s.size,d=o&&o.filter_filteredRow||"filtered",c=0,f=0;for(s.cacheIndex=[],i=0;n>i;i++)g[i].className.match(d)||(f===l&&g[i].className.match(a.cssChildRow)?g[i].style.display="none":(g[i].style.display=f>=l&&p>f?"":"none",c!==f&&f>=l&&p>f&&(s.cacheIndex.push(i),c=f),f+=g[i].className.match(a.cssChildRow+"|"+a.selectorRemove.slice(1))&&!o.pager_countChildRows?0:1,f===p&&"none"!==g[i].style.display&&g[i].className.match(t.css.cssHasChild)&&(r=i)));if(r>0&&g[r].className.match(t.css.cssHasChild))for(;++r<n&&g[r].className.match(a.cssChildRow);)g[r].style.display=""}},hideRowsSetup:function(t,i){var r=i.pager;r.size=parseInt(r.$size.val(),10)||r.size||r.setSize||10,e.data(t,"pagerLastSize",r.size),a.pagerArrows(i),i.widgetOptions.pager_removeRows||(a.hideRows(t,i),i.$table.on("sortEnd.pager filterEnd.pager",function(){a.hideRows(t,i)}))},renderAjax:function(i,r,s,o,g){var n=s.pager,l=s.widgetOptions;if(e.isFunction(l.pager_ajaxProcessing)){var p,d,c,f,h,u,w,z,P,b,m,v,R,j,x=s.$table,_="",y=l.pager_ajaxProcessing(i,r,o)||[0,[]],$=x.find("thead th").length;if(t.showError(r),g)s.debug&&t.log("Pager: >> Ajax Error",o,g),t.showError(r,g.message+" ("+o.status+")"),s.$tbodies.eq(0).children("tr").detach(),n.totalRows=0;else{if(e.isArray(y)?(c=isNaN(y[0])&&!isNaN(y[1]),R=y[c?1:0],n.totalRows=isNaN(R)?n.totalRows||0:R,s.totalRows=s.filteredRows=n.filteredRows=n.totalRows,m=0===n.totalRows?[""]:y[c?0:1]||[],b=y[2]):(n.ajaxData=y,s.totalRows=n.totalRows=y.total,s.filteredRows=n.filteredRows="undefined"!=typeof y.filteredRows?y.filteredRows:y.total,b=y.headers,m=y.rows),v=m&&m.length,m instanceof jQuery)l.pager_processAjaxOnInit&&(s.$tbodies.eq(0).children("tr").detach(),s.$tbodies.eq(0).append(m));else if(v){for(p=0;v>p;p++){for(_+="<tr>",d=0;d<m[p].length;d++)_+=/^\s*<td/.test(m[p][d])?e.trim(m[p][d]):"<td>"+m[p][d]+"</td>";_+="</tr>"}l.pager_processAjaxOnInit&&s.$tbodies.eq(0).html(_)}if(l.pager_processAjaxOnInit=!0,b&&b.length===$)for(f=x.hasClass("hasStickyHeaders"),u=f?l.$sticky.children("thead:first").children("tr").children():"",h=x.find("tfoot tr:first").children(),w=s.$headers.filter("th "),j=w.length,d=0;j>d;d++)z=w.eq(d),z.find("."+t.css.icon).length?(P=z.find("."+t.css.icon).clone(!0),z.find(".tablesorter-header-inner").html(b[d]).append(P),f&&u.length&&(P=u.eq(d).find("."+t.css.icon).clone(!0),u.eq(d).find(".tablesorter-header-inner").html(b[d]).append(P))):(z.find(".tablesorter-header-inner").html(b[d]),f&&u.length&&u.eq(d).find(".tablesorter-header-inner").html(b[d])),h.eq(d).html(b[d])}s.showProcessing&&t.isProcessing(r),n.totalPages=Math.ceil(n.totalRows/(n.size||n.setSize||10)),n.last.totalRows=n.totalRows,n.last.currentFilters=n.currentFilters,n.last.sortList=(s.sortList||[]).join(","),n.initializing=!1,a.updatePageDisplay(r,s,!1),x.trigger("updateCache",[function(){n.initialized&&setTimeout(function(){s.debug&&t.log("Pager: Triggering pagerChange"),x.trigger("applyWidgets").trigger("pagerChange",n),a.updatePageDisplay(r,s)},0)}])}n.initialized||s.$table.trigger("applyWidgets")},getAjax:function(i,r){var s,o=a.getAjaxUrl(i,r),g=e(document),n=r.pager;""!==o&&(r.showProcessing&&t.isProcessing(i,!0),g.on("ajaxError.pager",function(e,t,s,o){a.renderAjax(null,i,r,t,o),g.off("ajaxError.pager")}),s=++n.ajaxCounter,n.last.ajaxUrl=o,n.ajaxObject.url=o,n.ajaxObject.success=function(e,t,o){s<n.ajaxCounter||(a.renderAjax(e,i,r,o),g.off("ajaxError.pager"),"function"==typeof n.oldAjaxSuccess&&n.oldAjaxSuccess(e))},r.debug&&t.log("Pager: Ajax initialized",n.ajaxObject),e.ajax(n.ajaxObject))},getAjaxUrl:function(a,i){var r,s,o=i.pager,g=i.widgetOptions,n=g.pager_ajaxUrl?g.pager_ajaxUrl.replace(/\{page([\-+]\d+)?\}/,function(e,a){return o.page+(a?parseInt(a,10):0)}).replace(/\{size\}/g,o.size):"",l=i.sortList,p=o.currentFilters||e(a).data("lastSearch")||[],d=n.match(/\{\s*sort(?:List)?\s*:\s*(\w*)\s*\}/),c=n.match(/\{\s*filter(?:List)?\s*:\s*(\w*)\s*\}/),f=[];if(d){for(d=d[1],s=l.length,r=0;s>r;r++)f.push(d+"["+l[r][0]+"]="+l[r][1]);n=n.replace(/\{\s*sort(?:List)?\s*:\s*(\w*)\s*\}/g,f.length?f.join("&"):d),f=[]}if(c){for(c=c[1],s=p.length,r=0;s>r;r++)p[r]&&f.push(c+"["+r+"]="+encodeURIComponent(p[r]));n=n.replace(/\{\s*filter(?:List)?\s*:\s*(\w*)\s*\}/g,f.length?f.join("&"):c),o.currentFilters=p}return e.isFunction(g.pager_customAjaxUrl)&&(n=g.pager_customAjaxUrl(a,n)),i.debug&&t.log("Pager: Ajax url = "+n),n},renderTable:function(e,i){var r,s,o,g,n=e.config,l=n.pager,p=n.widgetOptions,d=n.$table.hasClass("hasFilters"),c=i&&i.length||0,f=l.page*l.size,h=l.size;if(1>c)return void(n.debug&&t.log("Pager: >> No rows for pager to render"));if(l.page>=l.totalPages)return a.moveToLastPage(e,l);if(l.cacheIndex=[],l.isDisabled=!1,l.initialized&&(n.debug&&t.log("Pager: Triggering pagerChange"),n.$table.trigger("pagerChange",n)),p.pager_removeRows){for(t.clearTableBody(e),r=t.processTbody(e,n.$tbodies.eq(0),!0),s=d?0:f,o=d?0:f,g=0;h>g&&s<i.length;)d&&/filtered/.test(i[s][0].className)||(o++,o>f&&h>=g&&(g++,l.cacheIndex.push(s),r.append(i[s]))),s++;t.processTbody(e,r,!1)}else a.hideRows(e,n);a.updatePageDisplay(e,n),p.pager_startPage=l.page,p.pager_size=l.size,e.isUpdating&&(n.debug&&t.log("Pager: Triggering updateComplete"),n.$table.trigger("updateComplete",[e,!0]))},showAllRows:function(i,r){var s,o,g,n=r.pager,l=r.widgetOptions;for(n.ajax?a.pagerArrows(r,!0):(n.isDisabled=!0,e.data(i,"pagerLastPage",n.page),e.data(i,"pagerLastSize",n.size),n.page=0,n.size=n.totalRows,n.totalPages=1,r.$table.addClass("pagerDisabled").removeAttr("aria-describedby").find("tr.pagerSavedHeightSpacer").remove(),a.renderTable(i,r.rowsCopy),r.$table.trigger("applyWidgets"),r.debug&&t.log("Pager: Disabled")),o=n.$size.add(n.$goto).add(n.$container.find(".ts-startRow, .ts-page ")),g=o.length,s=0;g>s;s++)o.eq(s).attr("aria-disabled","true").addClass(l.pager_css.disabled)[0].disabled=!0},updateCache:function(t){var i=t.config,r=i.pager;i.$table.trigger("updateCache",[function(){if(!e.isEmptyObject(t.config.cache)){var s,o=[],g=t.config.cache[0].normalized;for(r.totalRows=g.length,s=0;s<r.totalRows;s++)o.push(g[s][i.columns].$row);i.rowsCopy=o,a.moveToPage(t,r,!0),r.last.currentFilters=[" "]}}])},moveToPage:function(i,r,s){if(!r.isDisabled){if(s!==!1&&r.initialized&&e.isEmptyObject(i.config.cache))return a.updateCache(i);var o,g=i.config,n=g.widgetOptions,l=r.last;r.ajax&&!n.filter_initialized&&t.hasWidget(i,"filter")||(a.calcFilters(i,g),o=Math.min(r.totalPages,r.filteredPages),r.page<0&&(r.page=0),r.page>o-1&&0!==o&&(r.page=o-1),l.currentFilters=""===(l.currentFilters||[]).join("")?[]:l.currentFilters,r.currentFilters=""===(r.currentFilters||[]).join("")?[]:r.currentFilters,(l.page!==r.page||l.size!==r.size||l.totalRows!==r.totalRows||(l.currentFilters||[]).join(",")!==(r.currentFilters||[]).join(",")||(l.ajaxUrl||"")!==(r.ajaxObject.url||"")||(l.optAjaxUrl||"")!==(n.pager_ajaxUrl||"")||l.sortList!==(g.sortList||[]).join(","))&&(g.debug&&t.log("Pager: Changing to page "+r.page),r.last={page:r.page,size:r.size,sortList:(g.sortList||[]).join(","),totalRows:r.totalRows,currentFilters:r.currentFilters||[],ajaxUrl:r.ajaxObject.url||"",optAjaxUrl:n.pager_ajaxUrl},r.ajax?a.getAjax(i,g):r.ajax||a.renderTable(i,g.rowsCopy),e.data(i,"pagerLastPage",r.page),r.initialized&&s!==!1&&(g.debug&&t.log("Pager: Triggering pageMoved"),g.$table.trigger("pageMoved",g).trigger("applyWidgets"),!r.ajax&&i.isUpdating&&(g.debug&&t.log("Pager: Triggering updateComplete"),g.$table.trigger("updateComplete",[i,!0])))))}},setPageSize:function(t,i,r){var s=r.pager;s.size=i||s.size||s.setSize||10,s.$size.val(s.size),e.data(t,"pagerLastPage",s.page),e.data(t,"pagerLastSize",s.size),s.totalPages=Math.ceil(s.totalRows/s.size),s.filteredPages=Math.ceil(s.filteredRows/s.size),a.moveToPage(t,s,!0)},moveToFirstPage:function(e,t){t.page=0,a.moveToPage(e,t,!0)},moveToLastPage:function(e,t){t.page=Math.min(t.totalPages,t.filteredPages)-1,a.moveToPage(e,t,!0)},moveToNextPage:function(e,t){t.page++,t.page>=Math.min(t.totalPages,t.filteredPages)-1&&(t.page=Math.min(t.totalPages,t.filteredPages)-1),a.moveToPage(e,t,!0)},moveToPrevPage:function(e,t){t.page--,t.page<=0&&(t.page=0),a.moveToPage(e,t,!0)},destroyPager:function(i,r,s){var o=r.pager;o.initialized=!1,r.$table.off(e.trim(o.events.split(" ").join(".pager "))),s||(a.showAllRows(i,r),o.$container.hide(),r.appender=null,delete i.config.rowsCopy,t.storage&&t.storage(i,r.widgetOptions.pager_storageKey,""))},enablePager:function(i,r,s){var o,g=r.pager;g.isDisabled=!1,g.page=e.data(i,"pagerLastPage")||g.page||0,g.size=e.data(i,"pagerLastSize")||parseInt(g.$size.find("option[selected]").val(),10)||g.size||g.setSize||10,g.$size.val(g.size),g.totalPages=Math.ceil(Math.min(g.totalRows,g.filteredRows)/g.size),r.$table.removeClass("pagerDisabled"),i.id&&(o=i.id+"_pager_info",g.$container.find(r.widgetOptions.pager_selectors.pageDisplay).attr("id",o),r.$table.attr("aria-describedby",o)),a.changeHeight(i,r),s&&(r.$table.trigger("updateRows"),a.setPageSize(i,g.size,r),a.hideRowsSetup(i,r),r.debug&&t.log("Pager: Enabled"))},appender:function(t,i){var r=t.config,s=r.widgetOptions,o=r.pager;o.ajax?a.moveToPage(t,o,!0):(r.rowsCopy=i,o.totalRows=s.pager_countChildRows?r.$tbodies.eq(0).children("tr").length:i.length,o.size=e.data(t,"pagerLastSize")||o.size||s.pager_size||o.setSize||10,o.totalPages=Math.ceil(o.totalRows/o.size),a.moveToPage(t,o),a.updatePageDisplay(t,r,!1))}},t.showError=function(a,t){var i,r,s,o,g,n=e(a),l=n.length;for(i=0;l>i;i++)s=n[i].config,s&&(o=s.widgetOptions,g=s.pager&&s.pager.cssErrorRow||o.pager_css&&o.pager_css.errorRow||"tablesorter-errorRow","undefined"==typeof t?s.$table.find("thead").find(s.selectorRemove).remove():r=e(/tr\>/.test(t)?t:'<tr><td colspan="'+s.columns+'">'+t+"</td></tr>").click(function(){e(this).remove()}).appendTo(s.$table.find("thead:first")).addClass(g+" "+s.selectorRemove.slice(1)).attr({role:"alert","aria-live":"assertive"}))}}(jQuery);