diff --git a/addons/mail/static/src/models/chat_window_manager.js b/addons/mail/static/src/models/chat_window_manager.js index 95df7f0c4da..01e20877da6 100644 --- a/addons/mail/static/src/models/chat_window_manager.js +++ b/addons/mail/static/src/models/chat_window_manager.js @@ -4,7 +4,7 @@ import { registerModel } from '@mail/model/model_core'; import { attr, many, one } from '@mail/model/model_field'; import { clear } from '@mail/model/model_field_command'; -const BASE_VISUAL = { +export const BASE_VISUAL = { /** * @deprecated, should use ChatWindowManager/availableVisibleSlots instead * Amount of visible slots available for chat windows. diff --git a/addons/website/__manifest__.py b/addons/website/__manifest__.py index e6ccc3e4ed4..94ef19f740e 100644 --- a/addons/website/__manifest__.py +++ b/addons/website/__manifest__.py @@ -114,6 +114,9 @@ 'post_init_hook': 'post_init_hook', 'uninstall_hook': 'uninstall_hook', 'assets': { + 'mail.assets_messaging': [ + 'website/static/src/models/*.js', + ], 'web.assets_frontend': [ ('replace', 'web/static/src/legacy/js/public/public_root_instance.js', 'website/static/src/js/content/website_root_instance.js'), 'website/static/src/scss/website.scss', diff --git a/addons/website/static/src/client_actions/website_preview/website_preview.js b/addons/website/static/src/client_actions/website_preview/website_preview.js index 2329517533f..392bc1224b1 100644 --- a/addons/website/static/src/client_actions/website_preview/website_preview.js +++ b/addons/website/static/src/client_actions/website_preview/website_preview.js @@ -86,9 +86,15 @@ export class WebsitePreview extends Component { // OdooFrameContentLoaded event to unblock the iframe, as it is // triggered faster than the load event. this.iframe.el.addEventListener('OdooFrameContentLoaded', () => this.websiteService.unblockPreview('load-iframe'), { once: true }); + this.env.services.messaging.modelManager.messagingCreatedPromise.then(() => { + this.env.services.messaging.modelManager.messaging.update({ isWebsitePreviewOpen: true }); + }); }); onWillUnmount(() => { + this.env.services.messaging.modelManager.messagingCreatedPromise.then(() => { + this.env.services.messaging.modelManager.messaging.update({ isWebsitePreviewOpen: false }); + }); this.websiteService.currentWebsiteId = null; this.websiteService.websiteRootInstance = undefined; this.websiteService.pageDocument = null; diff --git a/addons/website/static/src/components/editor/editor.scss b/addons/website/static/src/components/editor/editor.scss index ac17e1f54c6..c1e83f6108b 100644 --- a/addons/website/static/src/components/editor/editor.scss +++ b/addons/website/static/src/components/editor/editor.scss @@ -2,9 +2,6 @@ .o_notification_manager { @include o-position-absolute($top: map-get($spacers, 2), $right: calc(#{$o-we-sidebar-width} + 0.5rem)); } - .o_ChatWindowManager { - display: none !important; - } } .ui-autocomplete.o_website_ui_autocomplete { diff --git a/addons/website/static/src/models/chat_window_manager.js b/addons/website/static/src/models/chat_window_manager.js new file mode 100644 index 00000000000..60055570894 --- /dev/null +++ b/addons/website/static/src/models/chat_window_manager.js @@ -0,0 +1,18 @@ +/** @odoo-module **/ + +import { registerPatch } from '@mail/model/model_core'; +import { BASE_VISUAL } from '@mail/models/chat_window_manager'; + +registerPatch({ + name: 'ChatWindowManager', + fields: { + visual: { + compute() { + if (this.messaging.isWebsitePreviewOpen) { + return JSON.parse(JSON.stringify(BASE_VISUAL)); + } + return this._super(); + }, + }, + }, +}); diff --git a/addons/website/static/src/models/messaging.js b/addons/website/static/src/models/messaging.js new file mode 100644 index 00000000000..4e7328bbc15 --- /dev/null +++ b/addons/website/static/src/models/messaging.js @@ -0,0 +1,13 @@ +/** @odoo-module **/ + +import { registerPatch } from '@mail/model/model_core'; +import { attr } from '@mail/model/model_field'; + +registerPatch({ + name: 'Messaging', + fields: { + isWebsitePreviewOpen: attr({ + default: false, + }), + }, +});