1
1
mirror of https://github.com/n8n-io/n8n.git synced 2024-11-09 17:50:52 +03:00

fix(editor): Fix workflow activation from the Workflows view (#4549)

🐛 Fixing a bug when activating workflow from workflows view
This commit is contained in:
Milorad FIlipović 2022-11-08 18:05:50 +01:00 committed by GitHub
parent 026fb50512
commit d2bec63cec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 16 additions and 8 deletions

View File

@ -319,7 +319,7 @@ export interface IWorkflowDb {
pinData?: IPinData;
sharedWith?: Array<Partial<IUser>>;
ownedBy?: Partial<IUser>;
hash?: string;
hash: string;
}
// Identical to cli.Interfaces.ts

View File

@ -94,7 +94,7 @@ export default mixins(
},
methods: {
async activeChanged (newActiveState: boolean) {
return this.updateWorkflowActivation(this.workflowId, newActiveState);
return await this.updateWorkflowActivation(this.workflowId, newActiveState);
},
async displayActivationError () {
let errorMessage: string;

View File

@ -100,6 +100,7 @@ export default mixins(
name: '',
sharedWith: [],
ownedBy: {} as IUser,
hash: '',
}),
},
readonly: {

View File

@ -611,7 +611,7 @@ export default mixins(
try {
const workflow = await this.restApi().updateWorkflow(this.$route.params.name, data);
this.workflowsStore.setWorkflowHash(workflow.hash || '');
this.workflowsStore.setWorkflowHash(workflow.hash);
} catch (error) {
this.$showError(
error,

View File

@ -681,7 +681,7 @@ export const workflowHelpers = mixins(
data = await this.getWorkflowDataToSave();
} else {
const { hash } = await this.restApi().getWorkflow(workflowId);
data.hash = hash as string;
data.hash = hash;
}
if (active !== undefined) {
@ -689,7 +689,7 @@ export const workflowHelpers = mixins(
}
const workflow = await this.restApi().updateWorkflow(workflowId, data);
this.workflowsStore.setWorkflowHash(workflow.hash || '');
this.workflowsStore.setWorkflowHash(workflow.hash);
if (isCurrentWorkflow) {
this.workflowsStore.setActive(!!workflow.active);
@ -727,7 +727,7 @@ export const workflowHelpers = mixins(
workflowDataRequest.hash = this.workflowsStore.workflowHash;
const workflowData = await this.restApi().updateWorkflow(currentWorkflow, workflowDataRequest);
this.workflowsStore.setWorkflowHash(workflowData.hash || '');
this.workflowsStore.setWorkflowHash(workflowData.hash);
if (name) {
this.workflowsStore.setWorkflowName({newName: workflowData.name, setStateDirty: false});
@ -794,7 +794,7 @@ export const workflowHelpers = mixins(
const workflowData = await this.restApi().createNewWorkflow(workflowDataRequest);
this.workflowsStore.addWorkflow(workflowData);
this.workflowsStore.setWorkflowHash(workflowData.hash || '');
this.workflowsStore.setWorkflowHash(workflowData.hash);
if (openInNewWindow) {
const routeData = this.$router.resolve({name: VIEWS.WORKFLOW, params: {name: workflowData.id}});

View File

@ -287,6 +287,10 @@ export const useWorkflowsStore = defineStore(STORES.WORKFLOWS, {
if (index === -1) {
this.activeWorkflows.push(workflowId);
}
if (this.workflowsById[workflowId]) {
this.workflowsById[workflowId].active = true;
}
},
setWorkflowInactive(workflowId: string): void {
@ -294,6 +298,9 @@ export const useWorkflowsStore = defineStore(STORES.WORKFLOWS, {
if (index !== -1) {
this.activeWorkflows.splice(index, 1);
}
if (this.workflowsById[workflowId]) {
this.workflowsById[workflowId].active = false;
}
},
async fetchActiveWorkflows(): Promise<string[]> {

View File

@ -813,7 +813,7 @@ export default mixins(
this.workflowsStore.setWorkflowName({ newName: data.name, setStateDirty: false });
this.workflowsStore.setWorkflowSettings(data.settings || {});
this.workflowsStore.setWorkflowPinData(data.pinData || {});
this.workflowsStore.setWorkflowHash(data.hash || '');
this.workflowsStore.setWorkflowHash(data.hash);
const tags = (data.tags || []) as ITag[];
const tagIds = tags.map((tag) => tag.id);