diff --git a/client/web/admin/src/views/Automation/Workflow/Editor.vue b/client/web/admin/src/views/Automation/Workflow/Editor.vue index cf94c195e..f837fb1bd 100644 --- a/client/web/admin/src/views/Automation/Workflow/Editor.vue +++ b/client/web/admin/src/views/Automation/Workflow/Editor.vue @@ -230,8 +230,9 @@ export default { checkUnsavedChanges (next, to) { const isNewPage = this.$route.path.includes('/new') && to.name.includes('edit') + const { deletedAt } = this.workflow || {} - if (isNewPage || this.workflow.deletedAt) { + if (isNewPage || deletedAt) { next(true) } else if (!to.name.includes('edit')) { next(!isEqual(this.workflow, this.initialWorkflowState) ? window.confirm(this.$t('general:editor.unsavedChanges')) : true) diff --git a/client/web/admin/src/views/Federation/Nodes/Editor.vue b/client/web/admin/src/views/Federation/Nodes/Editor.vue index d0ee51457..4f8aa9770 100644 --- a/client/web/admin/src/views/Federation/Nodes/Editor.vue +++ b/client/web/admin/src/views/Federation/Nodes/Editor.vue @@ -345,8 +345,9 @@ export default { checkUnsavedChanges (next, to) { const isNewPage = this.$route.path.includes('/new') && to.name.includes('edit') + const { deletedAt } = this.node || {} - if (isNewPage || this.node.deletedAt) { + if (isNewPage || deletedAt) { next(true) } else if (!to.name.includes('edit')) { next(!isEqual(this.node, this.initialNodeState) ? window.confirm(this.$t('general:editor.unsavedChanges')) : true) diff --git a/client/web/admin/src/views/System/Apigw/Editor.vue b/client/web/admin/src/views/System/Apigw/Editor.vue index bcd3af3fd..f51892c63 100644 --- a/client/web/admin/src/views/System/Apigw/Editor.vue +++ b/client/web/admin/src/views/System/Apigw/Editor.vue @@ -349,8 +349,9 @@ export default { checkUnsavedChanges (next, to) { const isNewPage = this.$route.path.includes('/new') && to.name.includes('edit') + const { deletedAt } = this.route || {} - if (isNewPage || this.route.deletedAt) { + if (isNewPage || deletedAt) { next(true) } else if (!to.name.includes('edit')) { const routeState = !isEqual(this.route, this.initialRouteState) diff --git a/client/web/admin/src/views/System/Application/Editor.vue b/client/web/admin/src/views/System/Application/Editor.vue index df60653e5..a54baf112 100644 --- a/client/web/admin/src/views/System/Application/Editor.vue +++ b/client/web/admin/src/views/System/Application/Editor.vue @@ -341,8 +341,9 @@ export default { checkUnsavedChanges (next, to) { const isNewPage = this.$route.path.includes('/new') && to.name.includes('edit') + const { deletedAt } = this.application || {} - if (isNewPage || this.application.deletedAt) { + if (isNewPage || deletedAt) { next(true) } else if (!to.name.includes('edit')) { next(!isEqual(this.application, this.initialApplicationState) || this.unifyAssetStateChange ? window.confirm(this.$t('general:editor.unsavedChanges')) : true) diff --git a/client/web/admin/src/views/System/AuthClient/Editor.vue b/client/web/admin/src/views/System/AuthClient/Editor.vue index bc7682656..f1e77a907 100644 --- a/client/web/admin/src/views/System/AuthClient/Editor.vue +++ b/client/web/admin/src/views/System/AuthClient/Editor.vue @@ -219,8 +219,9 @@ export default { checkUnsavedChanges (next, to) { const isNewPage = this.$route.path.includes('/new') && to.name.includes('edit') + const { deletedAt } = this.authclient || {} - if (isNewPage || this.authclient.deletedAt) { + if (isNewPage || deletedAt) { next(true) } else if (!to.name.includes('edit')) { next(!isEqual(this.authclient, this.initialAuthclientState) ? window.confirm(this.$t('general:editor.unsavedChanges')) : true) diff --git a/client/web/admin/src/views/System/Connection/Editor.vue b/client/web/admin/src/views/System/Connection/Editor.vue index 9a1054a49..8918ad177 100644 --- a/client/web/admin/src/views/System/Connection/Editor.vue +++ b/client/web/admin/src/views/System/Connection/Editor.vue @@ -291,8 +291,9 @@ export default { checkUnsavedChanges (next, to) { const isNewPage = this.$route.path.includes('/new') && to.name.includes('edit') + const { deletedAt } = this.connection || {} - if (isNewPage || this.connection.deletedAt) { + if (isNewPage || deletedAt) { next(true) } else if (!to.name.includes('edit')) { next(!isEqual(this.connection, this.initialConnectionState) ? window.confirm(this.$t('general:editor.unsavedChanges')) : true) diff --git a/client/web/admin/src/views/System/Queue/Editor.vue b/client/web/admin/src/views/System/Queue/Editor.vue index 1929e789d..3e0e6beab 100644 --- a/client/web/admin/src/views/System/Queue/Editor.vue +++ b/client/web/admin/src/views/System/Queue/Editor.vue @@ -206,8 +206,9 @@ export default { checkUnsavedChanges (next, to) { const isNewPage = this.$route.path.includes('/new') && to.name.includes('edit') + const { deletedAt } = this.queue || {} - if (isNewPage || this.queue.deletedAt) { + if (isNewPage || deletedAt) { next(true) } else if (!to.name.includes('edit')) { next(!isEqual(this.queue, this.initialQueueState) ? window.confirm(this.$t('general:editor.unsavedChanges')) : true) diff --git a/client/web/admin/src/views/System/Role/Editor.vue b/client/web/admin/src/views/System/Role/Editor.vue index 3f7f547f9..f267dbb15 100644 --- a/client/web/admin/src/views/System/Role/Editor.vue +++ b/client/web/admin/src/views/System/Role/Editor.vue @@ -325,8 +325,9 @@ export default { checkUnsavedChanges (next, to) { const isNewPage = this.$route.path.includes('/new') && to.name.includes('edit') + const { deletedAt } = this.role || {} - if (isNewPage || this.role.deletedAt) { + if (isNewPage || deletedAt) { next(true) } else if (!to.name.includes('edit')) { const isDirty = (this.roleMembers || []).some(m => m.dirty !== m.current) || !isEqual(this.role, this.initialRoleState) diff --git a/client/web/admin/src/views/System/SensitivityLevel/Editor.vue b/client/web/admin/src/views/System/SensitivityLevel/Editor.vue index 62a775f4b..e11841203 100644 --- a/client/web/admin/src/views/System/SensitivityLevel/Editor.vue +++ b/client/web/admin/src/views/System/SensitivityLevel/Editor.vue @@ -194,8 +194,9 @@ export default { checkUnsavedChanges (next, to) { const isNewPage = this.$route.path.includes('/new') && to.name.includes('edit') + const { deletedAt } = this.sensitivityLevel || {} - if (isNewPage || this.sensitivityLevel.deletedAt) { + if (isNewPage || deletedAt) { next(true) } else if (!to.name.includes('edit')) { next(!isEqual(this.sensitivityLevel, this.initialSensitivityLevelState) ? window.confirm(this.$t('general:editor.unsavedChanges')) : true) diff --git a/client/web/admin/src/views/System/Template/Editor.vue b/client/web/admin/src/views/System/Template/Editor.vue index 06711ef8e..20ae3b2dc 100644 --- a/client/web/admin/src/views/System/Template/Editor.vue +++ b/client/web/admin/src/views/System/Template/Editor.vue @@ -236,8 +236,9 @@ export default { checkUnsavedChanges (next, to) { const isNewPage = this.$route.path.includes('/new') && to.name.includes('edit') + const { deletedAt } = this.template || {} - if (isNewPage || this.template.deletedAt) { + if (isNewPage || deletedAt) { next(true) } else if (!to.name.includes('edit')) { next(!isEqual(this.template, this.initialTemplateState) ? window.confirm(this.$t('general:editor.unsavedChanges')) : true) diff --git a/client/web/admin/src/views/System/User/Editor.vue b/client/web/admin/src/views/System/User/Editor.vue index bfb0ebb98..57f6ef151 100644 --- a/client/web/admin/src/views/System/User/Editor.vue +++ b/client/web/admin/src/views/System/User/Editor.vue @@ -520,8 +520,9 @@ export default { checkUnsavedChanges (next, to) { const isNewPage = this.$route.path.includes('/new') && to.name.includes('edit') + const { deletedAt } = this.user || {} - if (isNewPage || this.user.deletedAt) { + if (isNewPage || deletedAt) { next(true) } else if (!to.name.includes('edit')) { let userChangesStatus = !isEqual(this.user, this.initialUserState)