summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/fields
diff options
context:
space:
mode:
authorGéry Debongnie <ged@odoo.com>2017-10-30 15:21:14 +0100
committerGéry Debongnie <ged@odoo.com>2017-10-30 16:04:43 +0100
commit3c55407f111dcf44fdc0258b2352d208bdc71a0a (patch)
treed9f93bf669436962cedb2094f6e8fbff986479ad /addons/web/static/src/js/fields
parentce8b51d867853939d22eb13741acf04468589209 (diff)
[FIX] web: allow dropdown selection in m2o
Before this commit, many2one fields were not (fully) usable in a list view: if the user wrote some text, then when a dropdown with various choices opened, pressed the 'down' key (to select a choice), the down keypress caused a navigation move to the next line, which cancelled the selection. In this commit, we make the assumption that if the many2one dropdown is opened, then navigation moves are not what the user wants.
Diffstat (limited to 'addons/web/static/src/js/fields')
-rw-r--r--addons/web/static/src/js/fields/relational_fields.js13
1 files changed, 8 insertions, 5 deletions
diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js
index 749efb4ce82..d7b4368036d 100644
--- a/addons/web/static/src/js/fields/relational_fields.js
+++ b/addons/web/static/src/js/fields/relational_fields.js
@@ -533,14 +533,17 @@ var FieldMany2One = AbstractField.extend({
* start/end of the input element. Stops any navigation move event if the
* user is selecting text.
*
- * TODO this is a duplicate of InputField._onNavigationMove, maybe this
- * should be done in a mixin or, better, the m2o field should be an
- * InputField (but this requires some refactoring).
- *
* @private
* @param {OdooEvent} ev
*/
- _onNavigationMove: basicFields.InputField.prototype._onNavigationMove,
+ _onNavigationMove: function (ev) {
+ // TODO Maybe this should be done in a mixin or, better, the m2o field
+ // should be an InputField (but this requires some refactoring).
+ basicFields.InputField.prototype._onNavigationMove.apply(this, arguments);
+ if (this.mode === 'edit' && $(this.$input.autocomplete('widget')).is(':visible')) {
+ ev.stopPropagation();
+ }
+ },
/**
* @private
* @param {OdooEvent} event