1 line
3.6 KiB
JavaScript
1 line
3.6 KiB
JavaScript
!function(e){e.extend({tablesorterPager:new function(){function t(t){e(t.cssPageDisplay,t.container).val(t.page+1),e(t.cssPageDisplayCount,t.container).text(t.seperator+t.totalPages)}function n(e,t){var n=e.config;n.size=t,n.totalPages=Math.ceil(n.totalRows/n.size),n.pagerPositionSet=!1,c(e),a(e)}function a(t){var n=t.config;if(!n.pagerPositionSet&&n.positionFixed){var n=t.config,a=e(t);a.offset&&n.container.css({top:a.offset().top+a.height()+"px",position:"absolute"}),n.pagerPositionSet=!0}}function o(e){var t=e.config;t.page=0,c(e)}function i(e){var t=e.config;t.page=t.totalPages-1,c(e)}function r(e){var t=e.config;t.page++,t.page>=t.totalPages-1&&(t.page=t.totalPages-1),c(e)}function s(e){var t=e.config;t.page--,t.page<=0&&(t.page=0),c(e)}function c(e){var t=e.config;t.page>=t.totalPages&&(t.page=t.totalPages-1),t.page<0&&(t.page=0),g(e)?f(e):p(e,t.rowsCopy)}function p(n,o){var r=n.config,s=e(n.tBodies[0]);if(e.tablesorter.clearTableBody(n),g(n))for(var c in o.data)s.append(l(o.id_key,o.data[c],o.columns));else{var p=o.length,f=r.page*r.size,u=f+r.size;u>o.length&&(u=o.length);for(var c=f;c<u;c++)for(var d=o[c],p=d.length,h=0;h<p;h++)s[0].appendChild(d[h])}a(n,s),e(n).trigger("applyWidgets"),r.page>=r.totalPages&&r.totalPages>0&&i(n),t(r)}function g(e){var t=e.config;return"object"==typeof t.dataSource&&t.dataSource.hasOwnProperty("fetch")}function f(t){var n=t.config;e(t).trigger("load_start"),n.dataSource.fetch(n.page*n.size,n.size).done(function(a){try{a=JSON.parse(a)}catch(o){return void alert(wpoptimize.error_unexpected_response)}e(t).trigger("load_end",a),a&&a.hasOwnProperty("errors")&&a.errors.length?alert(wpoptimize.error_unexpected_response):(n.totalRows=parseInt(a.result.total),n.totalPages=Math.ceil(n.totalRows/n.size),p(t,a.result))}).fail(function(){alert(wpoptimize.error_unexpected_response)})}function l(e,t,n){var a,o=[],i="";o.push(['<td><input type="checkbox" value="',t[e],'"></td>'].join(""));for(a in n)n.hasOwnProperty(a)&&(i=t.hasOwnProperty(a)?"object"==typeof t[a]?['<a href="',t[a].url,'" target="_blank">',t[a].text,"</a>"].join(""):t[a]:"",o.push(["<td>",i,"</td>"].join("")));return["<tr>",o.join(),"</tr>"].join("")}this.appender=function(e,t){var n=e.config;g(e)?f(e):(n.rowsCopy=t,n.totalRows=t.length,n.totalPages=Math.ceil(n.totalRows/n.size),p(e,t))},this.defaults={size:10,page:0,totalRows:0,totalPages:0,container:null,cssNext:".next",cssPrev:".prev",cssFirst:".first",cssLast:".last",cssPageDisplay:".pagedisplay",cssPageDisplayCount:".pagedisplay-count",cssPageSize:".pagesize",seperator:"/",positionFixed:!0,appender:this.appender,dataSource:null},this.construct=function(t){return this.each(function(){config=e.extend(this.config,e.tablesorterPager.defaults,t);var a=this,p=config.container;e(this).trigger("appendCache"),config.size=parseInt(e(".pagesize",p).val()),e(this).on("reload",function(){c(a)}),e(config.cssPageDisplay,config.container).on("change paste keyup",function(t){t.preventDefault();var n=e(this),o=0;""==n.val()||isNaN(parseInt(n.val()))||(o=parseInt(n.val()),a.config.page=o-1,c(a))}),e(config.cssFirst,p).on("click",function(){return o(a),!1}),e(config.cssNext,p).on("click",function(){return r(a),!1}),e(config.cssPrev,p).on("click",function(){return s(a),!1}),e(config.cssLast,p).on("click",function(){return i(a),!1}),e(config.cssPageSize,p).on("change",function(){return n(a,parseInt(e(this).val())),!1})})}}}),e.fn.extend({tablesorterPager:e.tablesorterPager.construct})}(jQuery),TableSorter_DataSource=function(e){function t(t,n){e[t]=n}function n(t,n){return e.offset="undefined"==typeof t?e.offset:t,e.limit="undefined"==typeof n?e.limit:n,wp_optimize.send_command("preview",e)}return{set_option:t,fetch:n}}; |