diff options
| author | Martin Trigaux <mat@openerp.com> | 2014-03-03 17:41:14 +0100 |
|---|---|---|
| committer | Martin Trigaux <mat@openerp.com> | 2014-03-03 17:41:14 +0100 |
| commit | a1a5bc6c067f57f6add36ddd4a06ad9fe08ed8d2 (patch) | |
| tree | 1227fa34e100830a1b2e9dbf1850c2ba2b24bf34 /addons/web/static/src | |
| parent | 27a1770e20f8c85182dd4b062133629ab0d82687 (diff) | |
| parent | 447bec133b9186e076ce0b628899a4f80d5664e3 (diff) | |
[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
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/js/view_list.js | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index 5bee82c28d2..6de354bfcb8 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -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(); }); }, |
