diff --git a/addons/web/static/src/js/data.js b/addons/web/static/src/js/data.js index d60f72c6577..96521c6a885 100644 --- a/addons/web/static/src/js/data.js +++ b/addons/web/static/src/js/data.js @@ -610,6 +610,9 @@ instance.web.DataSet = instance.web.Class.extend(instance.web.PropertiesMixin, remove_ids: function (ids) { this.alter_ids(_(this.ids).difference(ids)); }, + add_ids: function(ids) { + this.alter_ids(_(this.ids).union(ids)); + }, /** * Resequence records. * diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index b96079d2051..c39406a7e4a 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -896,7 +896,7 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web. this.record_callbacks = { 'remove': function (event, record) { var id = record.get('id'); - self.dataset.remove_ids([id]) + self.dataset.remove_ids([id]); var $row = self.$current.children('[data-id=' + id + ']'); var index = $row.data('index'); $row.remove(); @@ -925,6 +925,8 @@ instance.web.ListView.List = instance.web.Class.extend( /** @lends instance.web. }, 'add': function (ev, records, record, index) { var $new_row = $(self.render_record(record)); + var id = record.get('id'); + self.dataset.add_ids([id]); if (index === 0) { $new_row.prependTo(self.$current);