Pager: prevent hiding child rows when disabling or destroying pager. See #1020

This commit is contained in:
Mottie 2015-09-25 12:17:38 -05:00
parent e23288cee8
commit 285cef1e70
10 changed files with 18 additions and 13 deletions

View File

@ -618,8 +618,7 @@
} }
$t.trigger('pagerChange', p); $t.trigger('pagerChange', p);
} }
if ( !p.removeRows && !p.showAll ) {
if ( !p.removeRows ) {
hideRows(table, p); hideRows(table, p);
} else { } else {
ts.clearTableBody(table); ts.clearTableBody(table);
@ -656,17 +655,18 @@
if ( p.ajax ) { if ( p.ajax ) {
pagerArrows(p, true); pagerArrows(p, true);
} else { } else {
p.isDisabled = true;
$.data(table, 'pagerLastPage', p.page); $.data(table, 'pagerLastPage', p.page);
$.data(table, 'pagerLastSize', p.size); $.data(table, 'pagerLastSize', p.size);
p.page = 0; p.page = 0;
p.size = p.totalRows; p.size = p.totalRows;
p.totalPages = 1; p.totalPages = 1;
p.showAll = true;
$(table) $(table)
.addClass('pagerDisabled') .addClass('pagerDisabled')
.removeAttr('aria-describedby') .removeAttr('aria-describedby')
.find('tr.pagerSavedHeightSpacer').remove(); .find('tr.pagerSavedHeightSpacer').remove();
renderTable(table, table.config.rowsCopy, p); renderTable(table, table.config.rowsCopy, p);
p.isDisabled = true;
$(table).trigger('applyWidgets'); $(table).trigger('applyWidgets');
if (table.config.debug) { if (table.config.debug) {
console.log('Pager: Disabled'); console.log('Pager: Disabled');
@ -826,6 +826,7 @@
.removeAttr('disabled') .removeAttr('disabled')
.attr('aria-disabled', 'false'); .attr('aria-disabled', 'false');
p.isDisabled = false; p.isDisabled = false;
p.showAll = false;
p.page = $.data(table, 'pagerLastPage') || p.page || 0; p.page = $.data(table, 'pagerLastPage') || p.page || 0;
p.size = $.data(table, 'pagerLastSize') || parseInt(p.$size.find('option[selected]').val(), 10) || p.size || p.settings.size || 10; p.size = $.data(table, 'pagerLastSize') || parseInt(p.$size.find('option[selected]').val(), 10) || p.size || p.settings.size || 10;
p.$size.val(p.size); // set page size p.$size.val(p.size); // set page size
@ -882,6 +883,7 @@
p.oldAjaxSuccess = p.oldAjaxSuccess || p.ajaxObject.success; p.oldAjaxSuccess = p.oldAjaxSuccess || p.ajaxObject.success;
c.appender = $this.appender; c.appender = $this.appender;
p.initializing = true; p.initializing = true;
p.showAll = false;
if (p.savePages && ts.storage) { if (p.savePages && ts.storage) {
t = ts.storage(table, p.storageKey) || {}; // fixes #387 t = ts.storage(table, p.storageKey) || {}; // fixes #387
p.page = isNaN(t.page) ? p.page : t.page; p.page = isNaN(t.page) ? p.page : t.page;

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
/*! tablesorter (FORK) - updated 09-24-2015 (v2.23.4)*/ /*! tablesorter (FORK) - updated 09-25-2015 (v2.23.4)*/
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */ /* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
(function(factory) { (function(factory) {
if (typeof define === 'function' && define.amd) { if (typeof define === 'function' && define.amd) {

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
/*! tablesorter (FORK) - updated 09-24-2015 (v2.23.4)*/ /*! tablesorter (FORK) - updated 09-25-2015 (v2.23.4)*/
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */ /* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
(function(factory) { (function(factory) {
if (typeof define === 'function' && define.amd) { if (typeof define === 'function' && define.amd) {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -4,7 +4,7 @@
*/ */
/*! tablesorter (FORK) - updated 09-24-2015 (v2.23.4)*/ /*! tablesorter (FORK) - updated 09-25-2015 (v2.23.4)*/
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */ /* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
(function(factory) { (function(factory) {
if (typeof define === 'function' && define.amd) { if (typeof define === 'function' && define.amd) {

View File

@ -4,7 +4,7 @@
*/ */
/*! tablesorter (FORK) - updated 09-24-2015 (v2.23.4)*/ /*! tablesorter (FORK) - updated 09-25-2015 (v2.23.4)*/
/* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */ /* Includes widgets ( storage,uitheme,columns,filter,stickyHeaders,resizable,saveSort ) */
(function(factory) { (function(factory) {
if (typeof define === 'function' && define.amd) { if (typeof define === 'function' && define.amd) {

View File

@ -171,6 +171,7 @@
p.oldAjaxSuccess = p.oldAjaxSuccess || wo.pager_ajaxObject.success; p.oldAjaxSuccess = p.oldAjaxSuccess || wo.pager_ajaxObject.success;
c.appender = tsp.appender; c.appender = tsp.appender;
p.initializing = true; p.initializing = true;
p.showAll = false;
if (wo.pager_savePages && ts.storage) { if (wo.pager_savePages && ts.storage) {
t = ts.storage(table, wo.pager_storageKey) || {}; // fixes #387 t = ts.storage(table, wo.pager_storageKey) || {}; // fixes #387
p.page = ( isNaN(t.page) ? p.page : t.page ) || p.setPage || 0; p.page = ( isNaN(t.page) ? p.page : t.page ) || p.setPage || 0;
@ -878,7 +879,7 @@
} }
c.$table.trigger('pagerChange', c); c.$table.trigger('pagerChange', c);
} }
if ( !wo.pager_removeRows ) { if ( !wo.pager_removeRows && !p.showAll ) {
tsp.hideRows(table, c); tsp.hideRows(table, c);
} else { } else {
ts.clearTableBody(table); ts.clearTableBody(table);
@ -921,17 +922,18 @@
if ( p.ajax ) { if ( p.ajax ) {
tsp.pagerArrows(c, true); tsp.pagerArrows(c, true);
} else { } else {
p.isDisabled = true;
$.data(table, 'pagerLastPage', p.page); $.data(table, 'pagerLastPage', p.page);
$.data(table, 'pagerLastSize', p.size); $.data(table, 'pagerLastSize', p.size);
p.page = 0; p.page = 0;
p.size = p.totalRows; p.size = p.totalRows;
p.totalPages = 1; p.totalPages = 1;
p.showAll = true;
c.$table c.$table
.addClass('pagerDisabled') .addClass('pagerDisabled')
.removeAttr('aria-describedby') .removeAttr('aria-describedby')
.find('tr.pagerSavedHeightSpacer').remove(); .find('tr.pagerSavedHeightSpacer').remove();
tsp.renderTable(table, c.rowsCopy); tsp.renderTable(table, c.rowsCopy);
p.isDisabled = true;
c.$table.trigger('applyWidgets'); c.$table.trigger('applyWidgets');
if (c.debug) { if (c.debug) {
console.log('Pager: Disabled'); console.log('Pager: Disabled');
@ -1100,6 +1102,7 @@
enablePager: function(table, c, triggered){ enablePager: function(table, c, triggered){
var info, p = c.pager; var info, p = c.pager;
p.isDisabled = false; p.isDisabled = false;
p.showAll = false;
p.page = $.data(table, 'pagerLastPage') || p.page || 0; p.page = $.data(table, 'pagerLastPage') || p.page || 0;
p.size = $.data(table, 'pagerLastSize') || parseInt(p.$size.find('option[selected]').val(), 10) || p.size || p.setSize || 10; p.size = $.data(table, 'pagerLastSize') || parseInt(p.$size.find('option[selected]').val(), 10) || p.size || p.setSize || 10;
p.$size.val(p.size); // set page size p.$size.val(p.size); // set page size