summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/widgets
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src/js/widgets')
-rw-r--r--addons/web/static/src/js/widgets/auto_complete.js32
1 files changed, 23 insertions, 9 deletions
diff --git a/addons/web/static/src/js/widgets/auto_complete.js b/addons/web/static/src/js/widgets/auto_complete.js
index 30c38690d17..fef24527e46 100644
--- a/addons/web/static/src/js/widgets/auto_complete.js
+++ b/addons/web/static/src/js/widgets/auto_complete.js
@@ -51,14 +51,12 @@ return Widget.extend({
}
return;
}
- var search_string = self.get_search_string();
- if (self.search_string !== search_string) {
- if (search_string.length) {
- self.search_string = search_string;
- self.initiate_search(search_string);
- } else {
- self.close();
- }
+ self._updateSearch();
+ });
+ this.$input.on('input', function (ev) {
+ if (ev.originalEvent.inputType === 'insertCompositionText') {
+ // click inside keyboard IME suggestions menu
+ self._updateSearch();
}
});
this.$input.on('keypress', function (ev) {
@@ -249,6 +247,22 @@ return Widget.extend({
},
is_expanded: function() {
return this.$el[0].style.display === "block";
- }
+ },
+ /**
+ * Update search dropdown menu based on new input content.
+ *
+ * @private
+ */
+ _updateSearch: function () {
+ var search_string = this.get_search_string();
+ if (this.search_string !== search_string) {
+ if (search_string.length) {
+ this.search_string = search_string;
+ this.initiate_search(search_string);
+ } else {
+ this.close();
+ }
+ }
+ },
});
});