From 72a447bd95b2abc026e6ffbc9807e0229aa2dae1 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Fri, 2 Nov 2012 15:13:48 +0100 Subject: [PATCH] [FIX] tabbing out of an m2o which opens some sort of weird dialog thing while in an editable o2m The tab blurs the current fields, focuses the next one, then the dialog thing opens and steals the focus from the *next* field (not the one which created it), which thus triggers *blur* ultimately blurring (and saving) the row being edited. Add a trigger call in some random place which seems to make things not fail. bzr revid: xmo@openerp.com-20121102141348-5au6sarq0mw2ct67 --- addons/web/static/src/css/base.css | 1 + addons/web/static/src/css/base.sass | 1 + addons/web/static/src/js/view_form.js | 5 ++++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index d6fce64ca10..b030d0712f0 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -2569,6 +2569,7 @@ } .openerp .oe_list.oe_list_editable.oe_editing .oe_edition .oe_list_field_cell:not(.oe_readonly) { color: transparent; + text-shadow: none; } .openerp .oe_list.oe_list_editable.oe_editing .oe_edition .oe_list_field_cell:not(.oe_readonly) * { visibility: hidden; diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index 1719a863549..79a688cf823 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -2039,6 +2039,7 @@ $sheet-padding: 16px * visibility: hidden color: transparent + text-shadow: none .oe_m2o_drop_down_button top: 5px .oe_m2o_cm_button diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index e0727b99259..9dd6e34c161 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2955,7 +2955,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc self.uned_def = $.Deferred(); var ed_delay = 200; var ed_duration = 15000; - var anyoneLoosesFocus = function() { + var anyoneLoosesFocus = function (e) { var used = false; if (self.floating) { if (self.last_search.length > 0) { @@ -2979,7 +2979,10 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc self.ed_def = $.Deferred(); self.ed_def.then(function() { self.show_error_displayer(); + ignore_blur = false; + self.trigger('focused'); }); + ignore_blur = true; setTimeout(function() { self.ed_def.resolve(); self.uned_def.reject();