summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/search.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2014-12-02 16:18:08 +0100
committerChristophe Simonis <chs@odoo.com>2014-12-02 16:18:08 +0100
commit1d3f8eba879f02da7fc0bb46c9801029eccbc8c8 (patch)
tree10ef917de1be8ef9755cba4f3c9ac951af176b18 /addons/web/static/src/js/search.js
parent7878b2fd0cb42827b71bd00a1fd8199e73269fe4 (diff)
parent591e329bb0efe4997677a0bee2e6f3b558e35df8 (diff)
[MERGE] forward port of branch 8.0 up to 591e329
Diffstat (limited to 'addons/web/static/src/js/search.js')
-rw-r--r--addons/web/static/src/js/search.js18
1 files changed, 16 insertions, 2 deletions
diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js
index 148f46677f5..3ae52df31bc 100644
--- a/addons/web/static/src/js/search.js
+++ b/addons/web/static/src/js/search.js
@@ -684,6 +684,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
},
childFocused: function () {
this.$el.addClass('active');
+ this.view_id = this.view_id || data.view_id;
},
childBlurred: function () {
this.$el.val('').removeClass('active').trigger('blur');
@@ -1390,7 +1391,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 +2130,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 +2152,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);
}