[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:
commit
a1a5bc6c06
|
@ -403,6 +403,9 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi
|
||||||
if (total) {
|
if (total) {
|
||||||
var range_start = this.page * limit + 1;
|
var range_start = this.page * limit + 1;
|
||||||
var range_stop = range_start - 1 + limit;
|
var range_stop = range_start - 1 + limit;
|
||||||
|
if (this.records.length) {
|
||||||
|
range_stop = range_start - 1 + this.records.length;
|
||||||
|
}
|
||||||
if (range_stop > total) {
|
if (range_stop > total) {
|
||||||
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) {
|
_(ids).each(function (id) {
|
||||||
self.records.remove(self.records.get(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();
|
self.compute_aggregates();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue