[IMP] mail: composerSuggestionListViewOwner in ComposerSuggestionView

Part of task-2741982

Part-of: odoo/odoo#95341
This commit is contained in:
Sébastien Theys
2022-07-08 18:44:58 +02:00
parent 9b40d86446
commit 4573b4e46e
2 changed files with 12 additions and 11 deletions
@@ -36,13 +36,13 @@ export class ComposerSuggestionView extends Component {
_update() {
if (
this.root.el &&
this.composerSuggestionView.composerViewOwner.hasToScrollToActiveSuggestionView &&
this.composerSuggestionView.composerSuggestionListViewOwner.composerViewOwner.hasToScrollToActiveSuggestionView &&
this.composerSuggestionView.composerViewOwnerAsActiveSuggestionView
) {
this.root.el.scrollIntoView({
block: 'center',
});
this.composerSuggestionView.composerViewOwner.update({ hasToScrollToActiveSuggestionView: false });
this.composerSuggestionView.composerSuggestionListViewOwner.composerViewOwner.update({ hasToScrollToActiveSuggestionView: false });
}
}
@@ -20,21 +20,22 @@ registerModel({
*/
onClick(ev) {
ev.preventDefault();
this.composerViewOwner.update({ activeSuggestionView: replace(this) });
this.composerViewOwner.insertSuggestion();
this.composerViewOwner.closeSuggestions();
this.composerViewOwner.update({ doFocus: true });
this.composerSuggestionListViewOwner.composerViewOwner.update({ activeSuggestionView: replace(this) });
const composerViewOwner = this.composerSuggestionListViewOwner.composerViewOwner;
composerViewOwner.insertSuggestion();
composerViewOwner.closeSuggestions();
composerViewOwner.update({ doFocus: true });
},
/**
* @private
* @returns {FieldCommand}
*/
_computeComposerViewOwner() {
_computeComposerSuggestionListViewOwner() {
if (this.composerSuggestionListViewOwnerAsExtraSuggestion) {
return replace(this.composerSuggestionListViewOwnerAsExtraSuggestion.composerViewOwner);
return replace(this.composerSuggestionListViewOwnerAsExtraSuggestion);
}
if (this.composerSuggestionListViewOwnerAsMainSuggestion) {
return replace(this.composerSuggestionListViewOwnerAsMainSuggestion.composerViewOwner);
return replace(this.composerSuggestionListViewOwnerAsMainSuggestion);
}
return clear();
},
@@ -87,8 +88,8 @@ registerModel({
},
},
fields: {
composerViewOwner: one('ComposerView', {
compute: '_computeComposerViewOwner',
composerSuggestionListViewOwner: one('ComposerSuggestionListView', {
compute: '_computeComposerSuggestionListViewOwner',
required: true,
}),
composerViewOwnerAsActiveSuggestionView: one('ComposerView', {