[MERGE] [FIX] view list: pagination problem when delete records in list view

When delete a record, correctly display the number of remaining items displayed (eg: 1-79 of 99)
When no more items in a page, force switch to previous page
When no more pager, reload the content to display potential items in next page

bzr revid: mat@openerp.com-20140303164114-pzeuu9hxvq17lx02
This commit is contained in:
Martin Trigaux 2014-03-03 17:41:14 +01:00
commit a1a5bc6c06
1 changed files with 14 additions and 1 deletions

View File

@ -403,6 +403,9 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
if (total) {
var range_start = this.page * limit + 1;
var range_stop = range_start - 1 + limit;
if (this.records.length) {
range_stop = range_start - 1 + this.records.length;
}
if (range_stop > total) {
range_stop = total;
}
@ -597,7 +600,17 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
_(ids).each(function (id) {
self.records.remove(self.records.get(id));
});
self.configure_pager(self.dataset);
if (self.records.length === 0 && self.dataset.size() > 0) {
//Trigger previous manually to navigate to previous page,
//If all records are deleted on current page.
self.$pager.find('ul li:first a').trigger('click');
} else if (self.dataset.size() == self.limit()) {
//Reload listview to update current page with next page records
//because pager going to be hidden if dataset.size == limit
self.reload();
} else {
self.configure_pager(self.dataset);
}
self.compute_aggregates();
});
},