summaryrefslogtreecommitdiff
path: root/addons/mail/static/src/components/composer_text_input
diff options
context:
space:
mode:
authorSébastien Theys <seb@odoo.com>2020-06-26 09:32:32 +0000
committerSébastien Theys <seb@odoo.com>2020-06-26 11:21:35 +0000
commit1c058b72d83da3be1068961305577b0ad2ca1a2a (patch)
treec6bae7618cbe91424c4174fca2e9da39610f4124 /addons/mail/static/src/components/composer_text_input
parentdc011d12463df07ac75931a5ad332aac12c020a4 (diff)
[FIX] mail: fix (inbox reply) composer event handlers (and discard)
task-2092950 closes odoo/odoo#53731 X-original-commit: c29f5776594c4d2278ce163a78d8eb917fb672c0 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com> Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Diffstat (limited to 'addons/mail/static/src/components/composer_text_input')
-rw-r--r--addons/mail/static/src/components/composer_text_input/composer_text_input.js26
1 files changed, 9 insertions, 17 deletions
diff --git a/addons/mail/static/src/components/composer_text_input/composer_text_input.js b/addons/mail/static/src/components/composer_text_input/composer_text_input.js
index 279d5a6ae93..2ff9f9f6a89 100644
--- a/addons/mail/static/src/components/composer_text_input/composer_text_input.js
+++ b/addons/mail/static/src/components/composer_text_input/composer_text_input.js
@@ -6,6 +6,7 @@ const useStore = require('mail/static/src/component_hooks/use_store/use_store.js
const components = {
PartnerMentionSuggestion: require('mail/static/src/components/partner_mention_suggestion/partner_mention_suggestion.js'),
};
+const { markEventHandled } = require('mail/static/src/utils/utils.js');
const { Component } = owl;
const { useRef } = owl.hooks;
@@ -206,6 +207,13 @@ class ComposerTextInput extends Component {
*/
_onKeydownTextarea(ev) {
switch (ev.key) {
+ case 'Escape':
+ if (this.composer.hasSuggestedPartners) {
+ ev.preventDefault();
+ this.composer.closeMentionSuggestions();
+ markEventHandled(ev, 'ComposerTextInput.closeMentionSuggestions');
+ }
+ break;
// UP, DOWN, TAB: prevent moving cursor if navigation in mention suggestions
case 'ArrowUp':
case 'PageUp':
@@ -256,9 +264,8 @@ class ComposerTextInput extends Component {
*/
_onKeyupTextarea(ev) {
switch (ev.key) {
- // ESCAPE: close mention suggestions
case 'Escape':
- this._onKeyupTextareaEscape(ev);
+ // already handled in _onKeydownTextarea, break to avoid default
break;
// ENTER, HOME, END, UP, DOWN, PAGE UP, PAGE DOWN, TAB: check if navigation in mention suggestions
case 'Enter':
@@ -310,21 +317,6 @@ class ComposerTextInput extends Component {
/**
* @private
- * @param {KeyboardEvent} ev
- */
- _onKeyupTextareaEscape(ev) {
- if (this.composer.hasSuggestedPartners) {
- this.composer.closeMentionSuggestions();
- } else {
- if (!this._isEmpty()) {
- return;
- }
- this.composer.discard();
- }
- }
-
- /**
- * @private
* @param {Event} ev
*/
_onPartnerMentionSuggestionClicked(ev) {