From dd5a39bed726850cbad0922d2e96be722d704e66 Mon Sep 17 00:00:00 2001 From: Ryan Coulson Date: Fri, 12 Apr 2024 10:04:10 -0400 Subject: [PATCH] fix saving on metadata page --- src/components/editor/editor.vue | 1 + src/components/editor/metadata-editor.vue | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/editor/editor.vue b/src/components/editor/editor.vue index 0865a0d08..874d59161 100644 --- a/src/components/editor/editor.vue +++ b/src/components/editor/editor.vue @@ -187,6 +187,7 @@ export default class EditorV extends Vue { created(): void { this.loadSlides = this.slides; this.uuid = this.$route.params.uid as string; + window.addEventListener('beforeunload', this.beforeWindowUnload); } diff --git a/src/components/editor/metadata-editor.vue b/src/components/editor/metadata-editor.vue index 528f99937..b9ff47592 100644 --- a/src/components/editor/metadata-editor.vue +++ b/src/components/editor/metadata-editor.vue @@ -201,6 +201,7 @@ interface RouteParams { slides: Slide[]; sourceCounts: SourceCounts; existing: boolean; + unsavedChanges: boolean; } @Options({ @@ -291,6 +292,7 @@ export default class MetadataEditorV extends Vue { this.slides = props.slides; this.sourceCounts = props.sourceCounts; this.loadExisting = props.existing; + this.unsavedChanges = props.unsavedChanges; // Load product logo (if provided). const logo = this.configs[this.configLang]?.introSlide.logo?.src; const logoSrc = `assets/${this.configLang}/${this.metadata.logoName}`; @@ -810,7 +812,8 @@ export default class MetadataEditorV extends Vue { sourceCounts: this.sourceCounts, metadata: this.metadata, slides: this.slides, - existing: this.editExisting + existing: this.editExisting, + unsavedChanges: this.unsavedChanges }; } }); @@ -839,6 +842,7 @@ export default class MetadataEditorV extends Vue { if (this.loadExisting) { if (this.configs[this.configLang] !== undefined && this.uuid === this.configFileStructure?.uuid) { this.loadEditor = true; + this.saveMetadata(false); this.updateEditorPath(); } else { Message.error('No config exists for storylines product.');