[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
This commit is contained in:
@@ -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 = $('<tbody>').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);
|
||||
|
||||
Reference in New Issue
Block a user