From 9262c3c00dfdad634a8f2829abe2d14b6540e63a Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Fri, 8 Apr 2011 14:40:20 +0200 Subject: [PATCH] [FIX] fuckup with deferred for rendering of list (when beyond one section), also only remove old body after new list has rendered otherwise we get an empty list flash even for lists with a bunch of elements bzr revid: xmo@openerp.com-20110408124020-25dprn6gu19y02m6 --- addons/base/static/src/js/list.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/addons/base/static/src/js/list.js b/addons/base/static/src/js/list.js index 4b1eeaaf993..4fc3ef07720 100644 --- a/addons/base/static/src/js/list.js +++ b/addons/base/static/src/js/list.js @@ -89,7 +89,7 @@ openerp.base.ListView = openerp.base.Controller.extend( var $table = this.$element.find('table'); // remove all data lines - $table.find('tbody').remove(); + var $old_body = $table.find('tbody'); // add new content var columns = this.columns, @@ -102,8 +102,8 @@ openerp.base.ListView = openerp.base.Controller.extend( body = 0, $body = $('').appendTo($table); + var rendered = $.Deferred(); var render_body = function () { - var rendered = $.Deferred(); setTimeout(function () { $body.append( QWeb.render("ListView.rows", { @@ -118,9 +118,12 @@ openerp.base.ListView = openerp.base.Controller.extend( rendered.resolve(); } }, 0); - return rendered.promise(); }; - return render_body(); + render_body(); + + return rendered.promise().then(function () { + $old_body.remove(); + }); }, on_select_row: function (event) { var $target = $(event.currentTarget);