-(function($) {\r
- $.extend({\r
- tablesorterPager: new function() {\r
- \r
- function updatePageDisplay(c) {\r
- var s = $(c.cssPageDisplay,c.container).val((c.page+1) + c.seperator + c.totalPages); \r
- }\r
- \r
- function setPageSize(table,size) {\r
- var c = table.config;\r
- c.size = size;\r
- c.totalPages = Math.ceil(c.totalRows / c.size);\r
- c.pagerPositionSet = false;\r
- moveToPage(table);\r
- fixPosition(table);\r
- }\r
- \r
- function fixPosition(table) {\r
- var c = table.config;\r
- if(!c.pagerPositionSet && c.positionFixed) {\r
- var c = table.config, o = $(table);\r
- if(o.offset) {\r
- c.container.css({\r
- top: o.offset().top + o.height() + 'px',\r
- position: 'absolute'\r
- });\r
- }\r
- c.pagerPositionSet = true;\r
- }\r
- }\r
- \r
- function moveToFirstPage(table) {\r
- var c = table.config;\r
- c.page = 0;\r
- moveToPage(table);\r
- }\r
- \r
- function moveToLastPage(table) {\r
- var c = table.config;\r
- c.page = (c.totalPages-1);\r
- moveToPage(table);\r
- }\r
- \r
- function moveToNextPage(table) {\r
- var c = table.config;\r
- c.page++;\r
- if(c.page >= (c.totalPages-1)) {\r
- c.page = (c.totalPages-1);\r
- }\r
- moveToPage(table);\r
- }\r
- \r
- function moveToPrevPage(table) {\r
- var c = table.config;\r
- c.page--;\r
- if(c.page <= 0) {\r
- c.page = 0;\r
- }\r
- moveToPage(table);\r
- }\r
- \r
- \r
- function moveToPage(table) {\r
- var c = table.config;\r
- if(c.page < 0 || c.page > (c.totalPages-1)) {\r
- c.page = 0;\r
- }\r
- \r
- renderTable(table,c.rowsCopy);\r
- }\r
- \r
- function renderTable(table,rows) {\r
- \r
- var c = table.config;\r
- var l = rows.length;\r
- var s = (c.page * c.size);\r
- var e = (s + c.size);\r
- if(e > rows.length ) {\r
- e = rows.length;\r
- }\r
- \r
- \r
- var tableBody = $(table.tBodies[0]);\r
- \r
- // clear the table body\r
- \r
- $.tablesorter.clearTableBody(table);\r
- \r
- for(var i = s; i < e; i++) {\r
- \r
- //tableBody.append(rows[i]);\r
- \r
- var o = rows[i];\r
- var l = o.length;\r
- for(var j=0; j < l; j++) {\r
- \r
- tableBody[0].appendChild(o[j]);\r
-\r
- }\r
- }\r
- \r
- fixPosition(table,tableBody);\r
- \r
- $(table).trigger("applyWidgets");\r
- \r
- if( c.page >= c.totalPages ) {\r
- moveToLastPage(table);\r
- }\r
- \r
- updatePageDisplay(c);\r
- }\r
- \r
- this.appender = function(table,rows) {\r
- \r
- var c = table.config;\r
- \r
- c.rowsCopy = rows;\r
- c.totalRows = rows.length;\r
- c.totalPages = Math.ceil(c.totalRows / c.size);\r
- \r
- renderTable(table,rows);\r
- };\r
- \r
- this.defaults = {\r
- size: 10,\r
- offset: 0,\r
- page: 0,\r
- totalRows: 0,\r
- totalPages: 0,\r
- container: null,\r
- cssNext: '.next',\r
- cssPrev: '.prev',\r
- cssFirst: '.first',\r
- cssLast: '.last',\r
- cssPageDisplay: '.pagedisplay',\r
- cssPageSize: '.pagesize',\r
- seperator: "/",\r
- positionFixed: true,\r
- appender: this.appender\r
- };\r
- \r
- this.construct = function(settings) {\r
- \r
- return this.each(function() { \r
- \r
- config = $.extend(this.config, $.tablesorterPager.defaults, settings);\r
- \r
- var table = this, pager = config.container;\r
- \r
- $(this).trigger("appendCache");\r
- \r
- config.size = parseInt($(".pagesize",pager).val());\r
- \r
- $(config.cssFirst,pager).click(function() {\r
- moveToFirstPage(table);\r
- return false;\r
- });\r
- $(config.cssNext,pager).click(function() {\r
- moveToNextPage(table);\r
- return false;\r
- });\r
- $(config.cssPrev,pager).click(function() {\r
- moveToPrevPage(table);\r
- return false;\r
- });\r
- $(config.cssLast,pager).click(function() {\r
- moveToLastPage(table);\r
- return false;\r
- });\r
- $(config.cssPageSize,pager).change(function() {\r
- setPageSize(table,parseInt($(this).val()));\r
- return false;\r
- });\r
- });\r
- };\r
- \r
- }\r
- });\r
- // extend plugin scope\r
- $.fn.extend({\r
- tablesorterPager: $.tablesorterPager.construct\r
- });\r
- \r
+(function($) {
+ $.extend({
+ tablesorterPager: new function() {
+
+ function updatePageDisplay(c) {
+ var s = $(c.cssPageDisplay,c.container).val((c.page+1) + c.seperator + c.totalPages);
+ }
+
+ function setPageSize(table,size) {
+ var c = table.config;
+ c.size = size;
+ c.totalPages = Math.ceil(c.totalRows / c.size);
+ c.pagerPositionSet = false;
+ moveToPage(table);
+ fixPosition(table);
+ }
+
+ function fixPosition(table) {
+ var c = table.config;
+ if(!c.pagerPositionSet && c.positionFixed) {
+ var c = table.config, o = $(table);
+ if(o.offset) {
+ c.container.css({
+ top: o.offset().top + o.height() + 'px',
+ position: 'absolute'
+ });
+ }
+ c.pagerPositionSet = true;
+ }
+ }
+
+ function moveToFirstPage(table) {
+ var c = table.config;
+ c.page = 0;
+ moveToPage(table);
+ }
+
+ function moveToLastPage(table) {
+ var c = table.config;
+ c.page = (c.totalPages-1);
+ moveToPage(table);
+ }
+
+ function moveToNextPage(table) {
+ var c = table.config;
+ c.page++;
+ if(c.page >= (c.totalPages-1)) {
+ c.page = (c.totalPages-1);
+ }
+ moveToPage(table);
+ }
+
+ function moveToPrevPage(table) {
+ var c = table.config;
+ c.page--;
+ if(c.page <= 0) {
+ c.page = 0;
+ }
+ moveToPage(table);
+ }
+
+
+ function moveToPage(table) {
+ var c = table.config;
+ if(c.page < 0 || c.page > (c.totalPages-1)) {
+ c.page = 0;
+ }
+
+ renderTable(table,c.rowsCopy);
+ }
+
+ function renderTable(table,rows) {
+
+ var c = table.config;
+ var l = rows.length;
+ var s = (c.page * c.size);
+ var e = (s + c.size);
+ if(e > rows.length ) {
+ e = rows.length;
+ }
+
+
+ var tableBody = $(table.tBodies[0]);
+
+ // clear the table body
+
+ $.tablesorter.clearTableBody(table);
+
+ for(var i = s; i < e; i++) {
+
+ //tableBody.append(rows[i]);
+
+ var o = rows[i];
+ var l = o.length;
+ for(var j=0; j < l; j++) {
+
+ tableBody[0].appendChild(o[j]);
+
+ }
+ }
+
+ fixPosition(table,tableBody);
+
+ $(table).trigger("applyWidgets");
+
+ if( c.page >= c.totalPages ) {
+ moveToLastPage(table);
+ }
+
+ updatePageDisplay(c);
+ }
+
+ this.appender = function(table,rows) {
+
+ var c = table.config;
+
+ c.rowsCopy = rows;
+ c.totalRows = rows.length;
+ c.totalPages = Math.ceil(c.totalRows / c.size);
+
+ renderTable(table,rows);
+ };
+
+ this.defaults = {
+ size: 10,
+ offset: 0,
+ page: 0,
+ totalRows: 0,
+ totalPages: 0,
+ container: null,
+ cssNext: '.next',
+ cssPrev: '.prev',
+ cssFirst: '.first',
+ cssLast: '.last',
+ cssPageDisplay: '.pagedisplay',
+ cssPageSize: '.pagesize',
+ seperator: "/",
+ positionFixed: true,
+ appender: this.appender
+ };
+
+ this.construct = function(settings) {
+
+ return this.each(function() {
+
+ config = $.extend(this.config, $.tablesorterPager.defaults, settings);
+
+ var table = this, pager = config.container;
+
+ $(this).trigger("appendCache");
+
+ config.size = parseInt($(".pagesize",pager).val());
+
+ $(config.cssFirst,pager).click(function() {
+ moveToFirstPage(table);
+ return false;
+ });
+ $(config.cssNext,pager).click(function() {
+ moveToNextPage(table);
+ return false;
+ });
+ $(config.cssPrev,pager).click(function() {
+ moveToPrevPage(table);
+ return false;
+ });
+ $(config.cssLast,pager).click(function() {
+ moveToLastPage(table);
+ return false;
+ });
+ $(config.cssPageSize,pager).change(function() {
+ setPageSize(table,parseInt($(this).val()));
+ return false;
+ });
+ });
+ };
+
+ }
+ });
+ // extend plugin scope
+ $.fn.extend({
+ tablesorterPager: $.tablesorterPager.construct
+ });
+
})(jQuery);
\ No newline at end of file