From acfff868cb7900210e9f602eaf98cd539fbfac76 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 14 Jun 2012 14:31:30 +0200 Subject: [PATCH] [IMP] return deferred from ListView#render_row_as_form indicating *when* the row has been rendered as a form bzr revid: xmo@openerp.com-20120614123130-1z1vvt62rnr21bpz --- addons/web/static/src/js/view_list_editable.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/view_list_editable.js b/addons/web/static/src/js/view_list_editable.js index c43ec9d10fc..bf4bf205c02 100644 --- a/addons/web/static/src/js/view_list_editable.js +++ b/addons/web/static/src/js/view_list_editable.js @@ -195,7 +195,7 @@ openerp.web.list_editable = function (openerp) { }, render_row_as_form: function (row) { var self = this; - this.ensure_saved().then(function () { + return this.ensure_saved().pipe(function () { var record_id = $(row).data('id'); var $new_row = $('', { id: _.uniqueId('oe-editable-row-'), @@ -212,6 +212,7 @@ openerp.web.list_editable = function (openerp) { .keyup(function () { return self.on_row_keyup.apply(self, arguments); }) .keydown(function (e) { e.stopPropagation(); }); + if (row) { $new_row.replaceAll(row); } else if (self.options.editable) { @@ -245,7 +246,7 @@ openerp.web.list_editable = function (openerp) { // HA HA self.edition_form.appendTo(); // put in $.when just in case FormView.on_loaded becomes asynchronous - $.when(self.edition_form.on_loaded(self.get_form_fields_view())).then(function () { + return $.when(self.edition_form.on_loaded(self.get_form_fields_view())).then(function () { $new_row.find('> td') .addClass('oe-field-cell') .removeAttr('width')