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 12ea7ae3abf..490c0b88a05 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 @@ -76,6 +76,14 @@ export class WebsitePreview extends Component { useEffect(() => { this.websiteService.currentWebsiteId = this.websiteId; + + // The params used to configure the context should be ignored when + // the action is restored (example: click on the breadcrumb). + const isRestored = this.props.action.jsId === this.websiteService.actionJsId; + this.websiteService.actionJsId = this.props.action.jsId; + if (isRestored) { + return; + } this.websiteService.context.showNewContentModal = this.props.action.context.params && this.props.action.context.params.display_new_content; this.websiteService.context.edition = this.props.action.context.params && !!this.props.action.context.params.enable_editor; this.websiteService.context.translation = this.props.action.context.params && !!this.props.action.context.params.edit_translations; diff --git a/addons/website/static/src/services/website_service.js b/addons/website/static/src/services/website_service.js index a5cc2290c10..c69541278a3 100644 --- a/addons/website/static/src/services/website_service.js +++ b/addons/website/static/src/services/website_service.js @@ -38,6 +38,7 @@ export const websiteService = { let isPublisher; let isDesigner; let hasMultiWebsites; + let actionJsId; const context = reactive({ showNewContentModal: false, showAceEditor: false, @@ -151,6 +152,12 @@ export const websiteService = { get hasMultiWebsites() { return hasMultiWebsites === true; }, + get actionJsId() { + return actionJsId; + }, + set actionJsId(jsId) { + actionJsId = jsId; + }, openMenuDialog(Component, props) { return dialog.add(Component, props); },