summaryrefslogtreecommitdiff
path: root/addons/mail/static/src/components/composer_text_input
diff options
context:
space:
mode:
authorSébastien Theys <seb@odoo.com>2021-01-15 17:23:46 +0000
committerSébastien Theys <seb@odoo.com>2021-01-15 17:23:46 +0000
commit785fdb6cea6ee7d9a1a4e4c6a44403a275a67763 (patch)
treed217ad5113e732ef2f7d32ab4204f78053c7dad6 /addons/mail/static/src/components/composer_text_input
parent0e9fb00f7863593fa63a3adf2593fb48dfb168b1 (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/composer_text_input')
-rw-r--r--addons/mail/static/src/components/composer_text_input/composer_text_input.js19
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";
}