diff options
| author | Xavier Morel <xmo@openerp.com> | 2012-06-19 11:36:51 +0200 |
|---|---|---|
| committer | Xavier Morel <xmo@openerp.com> | 2012-06-19 11:36:51 +0200 |
| commit | 125eead80acd077c90cd702a417fca6c41ff43f6 (patch) | |
| tree | 09ae2ccddfdae461fa174fa35d2d663dc922d205 /addons/web/static/src | |
| parent | 0516533c16376bfd849dba6b5e08df27b4db472b (diff) | |
[FIX] focus issues with m2o contextual menu (and popup operations)
bzr revid: xmo@openerp.com-20120619093651-7rfe1pp7ucuj0ajh
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 7bf1f4a1c32..fde415347f0 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -1964,6 +1964,7 @@ openerp.web.form.FieldMany2One = openerp.web.form.Field.extend({ }; bindings[self.cm_id + "_open"] = function() { if (!self.value) { + self.focus(); return; } var pop = new openerp.web.form.FormOpenPopup(self.view); @@ -1977,6 +1978,7 @@ openerp.web.form.FieldMany2One = openerp.web.form.Field.extend({ ); pop.on_write_completed.add_last(function() { self.set_value(self.value[0]); + self.focus(); }); }; _.each(_.range(self.related_entries.length), function(i) { @@ -2074,8 +2076,12 @@ openerp.web.form.FieldMany2One = openerp.web.form.Field.extend({ isSelecting = false; }); + // avoid triggering blur on the widget when it comes from clicking on + // a completion of the list, on the dropdown or on the m2o menu thing var picking_completion = false; - this.$input.autocomplete('widget').add(this.$drop_down) + this.$input.autocomplete('widget') + .add(this.$drop_down) + .add(this.$menu_btn) .mousedown(function () { picking_completion = true; }); @@ -2191,6 +2197,7 @@ openerp.web.form.FieldMany2One = openerp.web.form.Field.extend({ var dataset = new openerp.web.DataSetStatic(self, self.field.relation, self.build_context()); dataset.name_get([element_ids[0]], function(data) { self._change_int_ext_value(data[0]); + self.focus(); }); }); }, |
