diff --git a/addons/mail/static/src/components/composer/composer.js b/addons/mail/static/src/components/composer/composer.js index f2135835a4d..63d85a0fb95 100644 --- a/addons/mail/static/src/components/composer/composer.js +++ b/addons/mail/static/src/components/composer/composer.js @@ -48,35 +48,13 @@ class Composer extends Component { * Reference of the text input component. */ this._textInputRef = useRef('textInput'); - /** - * Tracked focus counter from props. Useful to determine whether it - * should auto focus this composer when patched. - */ - this._focusCount = 0; - // to focus if the prop changes - this._lastComposer = undefined; this._onClickCaptureGlobal = this._onClickCaptureGlobal.bind(this); } mounted() { - this._lastComposer = this.composer; - if (this.props.isFocusOnMount) { - this.focus(); - } document.addEventListener('click', this._onClickCaptureGlobal, true); } - patched() { - // focus when changing composer - if ( - this.props.isFocusOnMount && - this._lastComposer !== this.composer - ) { - this.focus(); - } - this._lastComposer = this.composer; - } - willUnmount() { document.removeEventListener('click', this._onClickCaptureGlobal, true); } @@ -338,7 +316,6 @@ Object.assign(Composer, { isCompact: true, isDiscardOnClickAway: false, isExpandable: false, - isFocusOnMount: false, isLog: false, }, props: { @@ -382,7 +359,6 @@ Object.assign(Composer, { isCompact: Boolean, isDiscardOnClickAway: Boolean, isExpandable: Boolean, - isFocusOnMount: Boolean, isLog: Boolean, }, template: 'mail.Composer', 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 198f563d1c7..1be0e77a98b 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 @@ -158,6 +158,20 @@ class ComposerTextInput extends Component { // Handlers //-------------------------------------------------------------------------- + /** + * @private + */ + _onFocusinTextarea() { + this.composer.update({ hasFocus: true }); + } + + /** + * @private + */ + _onFocusoutTextarea() { + this.composer.update({ hasFocus: false }); + } + /** * @private */ diff --git a/addons/mail/static/src/components/composer_text_input/composer_text_input.xml b/addons/mail/static/src/components/composer_text_input/composer_text_input.xml index f68b295cb8d..949f1065a56 100644 --- a/addons/mail/static/src/components/composer_text_input/composer_text_input.xml +++ b/addons/mail/static/src/components/composer_text_input/composer_text_input.xml @@ -36,7 +36,7 @@ -