diff --git a/addons/base/static/src/js/list.js b/addons/base/static/src/js/list.js index 16da073e337..19f64db16f4 100644 --- a/addons/base/static/src/js/list.js +++ b/addons/base/static/src/js/list.js @@ -284,7 +284,9 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi self.session, self.dataset.model, results.domain, results.context, results.group_by); - self.do_reload(results.group_by); + self.do_reload(results.group_by).then(function () { + self.$element.find('table').append(self.groups.render()); + }); }); }, /** @@ -402,14 +404,13 @@ openerp.base.ListView.List = Class.extend( /** @lends openerp.base.ListView.List self.row_id(e.currentTarget)]); }); }, - move_to: function (element) { - this.$current = this.$_element.clone(true).appendTo(element); - this.render(); - return this; - }, render: function () { + if (this.$current) { + this.$current.remove(); + } + this.$current = this.$_element.clone(true); this.$current.empty().append($(QWeb.render('ListView.rows', this))); - return this; + return this.$current; }, refresh: function () { this.render(); @@ -464,38 +465,62 @@ openerp.base.ListView.Groups = Class.extend( /** @lends openerp.base.ListView.Gr this.columns = opts.columns; this.datagroup = {}; }, - make_level: function (datagroup) { - var self = this, $root = $('
'); - datagroup.list().then(function (list) { - _(list).each(function (group, index) { - var $title = $('
') - .text(group.grouped_on + ': ' + group.value + ' (' + group.length + ')') - .appendTo($root); - $title.click(function () { - datagroup.get(index, function (new_dataset) { - var $content = $('