summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2013-06-07 14:03:55 +0200
committerXavier Morel <xmo@openerp.com>2013-06-07 14:03:55 +0200
commit8d0d43b40b35019facfb12f4ee94f082771dde62 (patch)
tree52a658872cea74b6ac70fa9b41cfffb7b66e6f42 /addons/web/static/src
parentaa0072b1b582f4b5534cbb20e9acdc37f10c5ecf (diff)
parent2b65ba1f64669efe2ec6362a18f26a2a1a7d08aa (diff)
[IMP] correctly reinsert ids into dataset when moving them around in the list view
bzr revid: xmo@openerp.com-20130607120355-x3poxy2ar2bpqqvw
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/data.js4
-rw-r--r--addons/web/static/src/js/view_list.js4
2 files changed, 7 insertions, 1 deletions
diff --git a/addons/web/static/src/js/data.js b/addons/web/static/src/js/data.js
index f7dd6d2ca4f..5884336dcfe 100644
--- a/addons/web/static/src/js/data.js
+++ b/addons/web/static/src/js/data.js
@@ -625,6 +625,10 @@ 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, at) {
+ var args = [at, 0].concat(ids);
+ this.ids.splice.apply(this.ids, args);
+ },
/**
* Resequence records.
*
diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js
index 357e9beffab..60c3acad107 100644
--- a/addons/web/static/src/js/view_list.js
+++ b/addons/web/static/src/js/view_list.js
@@ -893,7 +893,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();
@@ -922,6 +922,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], index);
if (index === 0) {
$new_row.prependTo(self.$current);