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);
}
if ( !p.removeRows ) {
if ( !p.removeRows && !p.showAll ) {
hideRows(table, p);
} else {
ts.clearTableBody(table);
@ -656,17 +655,18 @@
if ( p.ajax ) {
pagerArrows(p, true);
} else {
p.isDisabled = true;
$.data(table, 'pagerLastPage', p.page);
$.data(table, 'pagerLastSize', p.size);
p.page = 0;
p.size = p.totalRows;
p.totalPages = 1;
p.showAll = true;
$(table)
.addClass('pagerDisabled')
.removeAttr('aria-describedby')
.find('tr.pagerSavedHeightSpacer').remove();
renderTable(table, table.config.rowsCopy, p);
p.isDisabled = true;
$(table).trigger('applyWidgets');
if (table.config.debug) {
console.log('Pager: Disabled');
@ -826,6 +826,7 @@
.removeAttr('disabled')
.attr('aria-disabled', 'false');
p.isDisabled = false;
p.showAll = false;
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.val(p.size); // set page size
@ -882,6 +883,7 @@
p.oldAjaxSuccess = p.oldAjaxSuccess || p.ajaxObject.success;
c.appender = $this.appender;
p.initializing = true;
p.showAll = false;
if (p.savePages && ts.storage) {
t = ts.storage(table, p.storageKey) || {}; // fixes #387
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 ) */
(function(factory) {
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 ) */
(function(factory) {
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 ) */
(function(factory) {
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 ) */
(function(factory) {
if (typeof define === 'function' && define.amd) {

View File

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