Browse Source

fix current page state in TableAjax

Piotr Labudda 10 years ago
parent
commit
35eff3218f
1 changed files with 8 additions and 15 deletions
  1. 8 15
      SE/se-lib/TableAjax.php

+ 8 - 15
SE/se-lib/TableAjax.php

@@ -570,7 +570,6 @@ class TableAjax extends ViewAjax {
 
 		var _state = {};// state - to replace variables below (date, ...)
 		var _data; //columns and rows
-		var _currPage = 1; // current page
 		var _totalPages; // total pages
 		var _currDpOp; // clicked datetimepicker operator
 		var _filterFields = {}; // array with filter DOM elements
@@ -587,6 +586,7 @@ class TableAjax extends ViewAjax {
 		priv.init = function () {
 			_uiNodeCont = priv.options.id;
 			_state = {};// init state
+			_state.page = 1;
 			_state.specialFilters = {};
 			_state.filters = {};
 			_state.filters.currSortCol = '';
@@ -1334,7 +1334,7 @@ class TableAjax extends ViewAjax {
 					node;
 			if (priv.options.debug) console.log('Render: ', nodeClass);
 			node = $('<div class="foot-info ' + nodeClass + '"></div>');
-			//console.log('renderFooterInfo fromRow', _data.fromRow, 'toRow', _data.toRow, 'total', _data.total, '_currPage', _currPage, 'priv.options.pageSize', priv.options.pageSize);
+			//console.log('renderFooterInfo fromRow', _data.fromRow, 'toRow', _data.toRow, 'total', _data.total, 'page', _state.page, 'priv.options.pageSize', priv.options.pageSize);
 			var fromRow = Math.max(_state.page - 1, 0) * _state.pageSize;
 			var total = _data.total;
 			var toRow = Math.min(fromRow + _state.pageSize, total);
@@ -1884,11 +1884,10 @@ class TableAjax extends ViewAjax {
 			_data.rowsOrg = _data.rows;
 
 			//we might have more/less data now. Recalculate stuff.
-			if (_currPage > 1) {
+			if (_state.page > 1) {
 				_data.toRow = Math.min(_data.total, _data.toRow);
 				_data.fromRow = _data.toRow - priv.options.pageSize;
 				_data.fromRow = Math.max(_data.fromRow, 0);
-				//_currPage = Math.ceil(_data.fromRow / priv.options.pageSize) + 1;
 				_totalPages = Math.ceil(_data.total / priv.options.pageSize);
 			} else {
 				_data.fromRow = 0;
@@ -2290,19 +2289,13 @@ class TableAjax extends ViewAjax {
 		 */
 		priv.pageChanged = function (e) {
 			e.preventDefault();
-			var currPage = _state.page;
 			var totalPages = Math.ceil(_data.total / _state.pageSize);
 			if (e.data.pageIndex < 1 || e.data.pageIndex > totalPages) return;
 
 			//set the new page
-			currPage = e.data.pageIndex;
-
-			//find out what rows to create
-///			_data.fromRow = ((currPage - 1) * priv.options.pageSize);
-///			_data.toRow = _data.fromRow + priv.options.pageSize;
-///			if (_data.toRow > _data.rows.length) _data.toRow = _data.rows.length;
+			_state.page = e.data.pageIndex;
 
-			publ.loadPage(currPage);
+			publ.loadPage(_state.page);
 		};
 
 		/*
@@ -2643,7 +2636,7 @@ class TableAjax extends ViewAjax {
 
 		priv.refresh = function (e) {
 			e.preventDefault();
-			publ.loadPage(_currPage);
+			publ.loadPage(_state.page);
 		};
 
 		publ.init = function (options) {
@@ -2655,7 +2648,7 @@ class TableAjax extends ViewAjax {
 		};
 
 		publ.refresh = function () {
-			publ.loadPage(_currPage);
+			publ.loadPage(_state.page);
 		};
 
 		publ.loadPage = function(page, pageSize) {
@@ -2717,7 +2710,7 @@ class TableAjax extends ViewAjax {
 		};
 
 		publ.getCurrentPage = function() {
-			return _currPage;
+			return _state.page;
 		};
 
 		publ.popoverCellRemove = function () {