mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 10:02:05 +00:00
feat(editor): Prevent saving of workflow when canvas is loading (#6497)
* feat(editor): Prevent saving of pristine workflow Signed-off-by: Oleg Ivaniv <me@olegivaniv.com> * Prevent saving if loading Signed-off-by: Oleg Ivaniv <me@olegivaniv.com> * Fix 7-workflow-actions spec Signed-off-by: Oleg Ivaniv <me@olegivaniv.com> * Restrict delay intercept to GET only Signed-off-by: Oleg Ivaniv <me@olegivaniv.com> * Wait for WF patch Signed-off-by: Oleg Ivaniv <me@olegivaniv.com> * Add helper to remove all active WFs in e2e Signed-off-by: Oleg Ivaniv <me@olegivaniv.com> * Use META_KEY env var * Remove cy.wait * Delete debugging DB reset console log Signed-off-by: Oleg Ivaniv <me@olegivaniv.com> * Fix clashin mixins `isReadOnly` property Signed-off-by: Oleg Ivaniv <me@olegivaniv.com> --------- Signed-off-by: Oleg Ivaniv <me@olegivaniv.com>
This commit is contained in:
@@ -43,6 +43,7 @@ import type {
|
||||
|
||||
import { externalHooks } from '@/mixins/externalHooks';
|
||||
import { nodeHelpers } from '@/mixins/nodeHelpers';
|
||||
import { genericHelpers } from '@/mixins/genericHelpers';
|
||||
import { useToast, useMessage } from '@/composables';
|
||||
|
||||
import { isEqual } from 'lodash-es';
|
||||
@@ -329,7 +330,7 @@ function executeData(
|
||||
}
|
||||
|
||||
export const workflowHelpers = defineComponent({
|
||||
mixins: [externalHooks, nodeHelpers],
|
||||
mixins: [externalHooks, nodeHelpers, genericHelpers],
|
||||
setup() {
|
||||
return {
|
||||
...useToast(),
|
||||
@@ -699,6 +700,7 @@ export const workflowHelpers = defineComponent({
|
||||
forceSave = false,
|
||||
): Promise<boolean> {
|
||||
const currentWorkflow = id || this.$route.params.name;
|
||||
const isLoading = this.loadingService !== null;
|
||||
|
||||
if (!currentWorkflow || ['new', PLACEHOLDER_EMPTY_WORKFLOW_ID].includes(currentWorkflow)) {
|
||||
return this.saveAsNewWorkflow({ name, tags }, redirect);
|
||||
@@ -706,6 +708,9 @@ export const workflowHelpers = defineComponent({
|
||||
|
||||
// Workflow exists already so update it
|
||||
try {
|
||||
if (!forceSave && isLoading) {
|
||||
return true;
|
||||
}
|
||||
this.uiStore.addActiveAction('workflowSaving');
|
||||
|
||||
const workflowDataRequest: IWorkflowDataUpdate = await this.getWorkflowDataToSave();
|
||||
|
||||
Reference in New Issue
Block a user