diff --git a/ghost/admin/app/components/editor-labs/modals/preview.js b/ghost/admin/app/components/editor-labs/modals/preview.js index 4e2ae25f4a..c011a99154 100644 --- a/ghost/admin/app/components/editor-labs/modals/preview.js +++ b/ghost/admin/app/components/editor-labs/modals/preview.js @@ -14,7 +14,7 @@ export default class EditorPostPreviewModal extends Component { ignoreBackdropClick: true }; - @tracked tab = 'browser'; + @tracked tab = this.args.data.currentTab || 'browser'; constructor() { super(...arguments); @@ -24,6 +24,7 @@ export default class EditorPostPreviewModal extends Component { @action changeTab(tab) { this.tab = tab; + this.args.data.changeTab?.(tab); } @task diff --git a/ghost/admin/app/components/editor-labs/publish-management.js b/ghost/admin/app/components/editor-labs/publish-management.js index b7d1fc1b7b..b10e7efa11 100644 --- a/ghost/admin/app/components/editor-labs/publish-management.js +++ b/ghost/admin/app/components/editor-labs/publish-management.js @@ -9,6 +9,7 @@ import {action} from '@ember/object'; import {capitalize} from '@ember/string'; import {inject as service} from '@ember/service'; import {task, taskGroup, timeout} from 'ember-concurrency'; +import {tracked} from '@glimmer/tracking'; import {use} from 'ember-could-get-used-to-this'; const SHOW_SAVE_STATUS_DURATION = 3000; @@ -26,6 +27,8 @@ export default class PublishManagement extends Component { // ensure we get a new PublishOptions instance when @post is replaced @use publishOptions = new PublishOptionsResource(() => [this.args.post]); + @tracked previewTab = 'browser'; + publishFlowModal = null; updateFlowModal = null; @@ -88,11 +91,18 @@ export default class PublishManagement extends Component { post: this.publishOptions.post, hasDirtyAttributes: this.args.hasUnsavedChanges, saveTask: this.saveTask, - togglePreviewPublish: this.togglePreviewPublish + togglePreviewPublish: this.togglePreviewPublish, + currentTab: this.previewTab, + changeTab: this.changePreviewTab }); } } + @action + changePreviewTab(tab) { + this.previewTab = tab; + } + @action async togglePreviewPublish(event) { event?.preventDefault();