diff options
| author | Sébastien Theys <seb@odoo.com> | 2021-01-15 17:23:46 +0000 |
|---|---|---|
| committer | Sébastien Theys <seb@odoo.com> | 2021-01-15 17:23:46 +0000 |
| commit | 785fdb6cea6ee7d9a1a4e4c6a44403a275a67763 (patch) | |
| tree | d217ad5113e732ef2f7d32ab4204f78053c7dad6 /addons/mail/static/src/components | |
| parent | 0e9fb00f7863593fa63a3adf2593fb48dfb168b1 (diff) | |
[FIX] mail: prevent composer cursor from randomly changing position
task-2388600
closes odoo/odoo#62446
Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
Diffstat (limited to 'addons/mail/static/src/components')
| -rw-r--r-- | addons/mail/static/src/components/composer_text_input/composer_text_input.js | 19 |
1 files changed, 11 insertions, 8 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 1b71e22afe1..3fba8115254 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 @@ -153,14 +153,16 @@ class ComposerTextInput extends Component { if (!this.composer) { return; } - this._textareaRef.el.value = this.composer.textInputContent; - this._mirroredTextareaRef.el.value = this.composer.textInputContent; - if (this.composer.hasFocus) { - this._textareaRef.el.setSelectionRange( - this.composer.textInputCursorStart, - this.composer.textInputCursorEnd, - this.composer.textInputSelectionDirection, - ); + if (this.composer.isLastStateChangeProgrammatic) { + this._textareaRef.el.value = this.composer.textInputContent; + if (this.composer.hasFocus) { + this._textareaRef.el.setSelectionRange( + this.composer.textInputCursorStart, + this.composer.textInputCursorEnd, + this.composer.textInputSelectionDirection, + ); + } + this.composer.update({ isLastStateChangeProgrammatic: false }); } this._updateHeight(); } @@ -171,6 +173,7 @@ class ComposerTextInput extends Component { * @private */ _updateHeight() { + this._mirroredTextareaRef.el.value = this.composer.textInputContent; this._textareaRef.el.style.height = (this._mirroredTextareaRef.el.scrollHeight) + "px"; } |
