summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorXavier Morel <xmo@openerp.com>2012-06-14 14:31:30 +0200
committerXavier Morel <xmo@openerp.com>2012-06-14 14:31:30 +0200
commitacfff868cb7900210e9f602eaf98cd539fbfac76 (patch)
tree86d7bdd497a490db4d7720a325c54daf6be22370 /addons/web/static/src
parent7516028068cbf9bae06077bbe216bc860b06631c (diff)
[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
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/view_list_editable.js5
1 files 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 = $('<tr>', {
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')