[FIX] mail, website: hide backend chat windows from website preview
Part of task-2978890 closes odoo/odoo#102473 X-original-commit: cd7b6a799d84f59ac3b64b262cd13d00965c9c71 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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();
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
@@ -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,
|
||||
}),
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user