diff --git a/client/src/components/Workflow/Editor/Index.vue b/client/src/components/Workflow/Editor/Index.vue index 71983b2421d0..5cbed1ed10ed 100644 --- a/client/src/components/Workflow/Editor/Index.vue +++ b/client/src/components/Workflow/Editor/Index.vue @@ -42,8 +42,10 @@
Workflow Editor - {{ name }} - Create New Workflow + {{ name }} + (unsaved changes) + @@ -524,12 +526,12 @@ export default { } }, annotation(newAnnotation, oldAnnotation) { - if (newAnnotation != oldAnnotation && !this.isNewTempWorkflow) { + if (newAnnotation != oldAnnotation) { this.hasChanges = true; } }, name(newName, oldName) { - if (newName != oldName && !this.isNewTempWorkflow) { + if (newName != oldName) { this.hasChanges = true; } }, diff --git a/client/src/components/Workflow/Editor/Options.vue b/client/src/components/Workflow/Editor/Options.vue index c5e959598772..9d7e0035c4b2 100644 --- a/client/src/components/Workflow/Editor/Options.vue +++ b/client/src/components/Workflow/Editor/Options.vue @@ -28,7 +28,7 @@ const { confirm } = useConfirmDialog(); const saveHover = computed(() => { if (props.isNewTempWorkflow) { - return "Create a new workflow"; + return "Save Workflow"; } else if (!props.hasChanges) { return "Workflow has no changes"; } else if (props.hasInvalidConnections) { @@ -81,7 +81,7 @@ async function onSave() { route.fullPath, + (newVal, oldVal) => { + // sometimes, the confirmation is not cleared when the route changes + // and the confirmation alert is shown needlessly + if (confirmation.value) { + confirmation.value = null; + } + } + ); + return { + confirmation, toastRef, confirmDialogRef, uploadModal, @@ -128,7 +143,6 @@ export default { data() { return { config: getGalaxyInstance().config, - confirmation: null, resendUrl: `${getAppRoot()}user/resend_verification`, windowManager: null, };