X-Git-Url: http://git.inspyration.org/?a=blobdiff_plain;f=addons%2Fweb%2Fstatic%2Fsrc%2Fjs%2Fsearch.js;fp=addons%2Fweb%2Fstatic%2Fsrc%2Fjs%2Fsearch.js;h=1c6ec449e8f72ce1830ecd371365d94ff6e2b561;hb=c15f748be05b3709f5e16680569abdc2949468e2;hp=148f46677f5b2bf0e960bc3e3b8fe8d158cde6cd;hpb=1dbf153eb51303c4186ca5e2dacd729aadd95f28;p=odoo%2Fodoo.git diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index 148f466..1c6ec44 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -1390,7 +1390,10 @@ instance.web.search.ManyToOneField = instance.web.search.CharField.extend({ var values = facet.values; if (_.isEmpty(this.attrs.context) && values.length === 1) { var c = {}; - c['default_' + this.attrs.name] = values.at(0).get('value'); + var v = values.at(0); + if (v.get('operator') !== 'ilike') { + c['default_' + this.attrs.name] = v.get('value'); + } return c; } return this._super(facet); @@ -2126,6 +2129,14 @@ instance.web.search.AutoComplete = instance.web.Widget.extend({ ev.preventDefault(); return; } + // ENTER is caugth at KeyUp rather than KeyDown to avoid firing + // before all regular keystrokes have been processed + if (ev.which === $.ui.keyCode.ENTER) { + if (self.current_result && self.get_search_string().length) { + self.select_item(ev); + } + return; + } if (!self.searching) { self.searching = true; return; @@ -2140,8 +2151,10 @@ instance.web.search.AutoComplete = instance.web.Widget.extend({ }); this.$input.on('keydown', function (ev) { switch (ev.which) { + // TAB and direction keys are handled at KeyDown because KeyUp + // is not guaranteed to fire. + // See e.g. https://github.com/aef-/jquery.masterblaster/issues/13 case $.ui.keyCode.TAB: - case $.ui.keyCode.ENTER: if (self.current_result && self.get_search_string().length) { self.select_item(ev); }