Skip to content

Commit

Permalink
fix(editor): fix broken output panel for wait node executions (n8n-io…
Browse files Browse the repository at this point in the history
  • Loading branch information
mutdmour committed Sep 21, 2022
1 parent 9eef05a commit 0462f4b
Show file tree
Hide file tree
Showing 8 changed files with 14 additions and 11 deletions.
2 changes: 1 addition & 1 deletion packages/editor-ui/src/Interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ export interface IExecutionPushResponse {

export interface IExecutionResponse extends IExecutionBase {
id: string;
data: IRunExecutionData;
data?: IRunExecutionData;
workflowData: IWorkflowDb;
executedNode?: string;
}
Expand Down
2 changes: 1 addition & 1 deletion packages/editor-ui/src/components/CodeEdit.vue
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ export default mixins(
const executionData = this.$store.getters.getWorkflowExecution as IExecutionResponse | null;
let runExecutionData: IRunExecutionData;
if (executionData === null) {
if (!executionData || !executionData.data) {
runExecutionData = {
resultData: {
runData: {},
Expand Down
2 changes: 1 addition & 1 deletion packages/editor-ui/src/components/NodeDetailsView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ export default mixins(
if (this.workflowExecution === null) {
return null;
}
const executionData: IRunExecutionData = this.workflowExecution.data;
const executionData: IRunExecutionData | undefined = this.workflowExecution.data;
if (executionData && executionData.resultData) {
return executionData.resultData.runData;
}
Expand Down
5 changes: 4 additions & 1 deletion packages/editor-ui/src/components/OutputPanel.vue
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,10 @@ export default mixins(
if (this.workflowExecution === null) {
return null;
}
const executionData: IRunExecutionData = this.workflowExecution.data;
const executionData: IRunExecutionData | undefined = this.workflowExecution.data;
if (!executionData || !executionData.resultData || !executionData.resultData.runData) {
return null;
}
return executionData.resultData.runData;
},
hasNodeRun(): boolean {
Expand Down
2 changes: 1 addition & 1 deletion packages/editor-ui/src/components/RunData.vue
Original file line number Diff line number Diff line change
Expand Up @@ -554,7 +554,7 @@ export default mixins(
if (this.workflowExecution === null) {
return null;
}
const executionData: IRunExecutionData = this.workflowExecution.data;
const executionData: IRunExecutionData | undefined = this.workflowExecution.data;
if (executionData && executionData.resultData) {
return executionData.resultData.runData;
}
Expand Down
4 changes: 2 additions & 2 deletions packages/editor-ui/src/components/VariableSelector.vue
Original file line number Diff line number Diff line change
Expand Up @@ -506,7 +506,7 @@ export default mixins(
const currentNodeData: IVariableSelectorOption[] = [];
let tempOptions: IVariableSelectorOption[];
if (executionData !== null) {
if (executionData !== null && executionData.data !== undefined) {
const runExecutionData: IRunExecutionData = executionData.data;
tempOptions = this.getNodeContext(this.workflow, runExecutionData, parentNode, activeNode.name, filterText) as IVariableSelectorOption[];
Expand Down Expand Up @@ -657,7 +657,7 @@ export default mixins(
} as IVariableSelectorOption,
];
if (executionData !== null) {
if (executionData !== null && executionData.data !== undefined) {
const runExecutionData: IRunExecutionData = executionData.data;
parentNode = this.workflow.getParentNodes(nodeName, inputName, 1);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -534,7 +534,7 @@ export const workflowHelpers = mixins(
let connectionInputData = this.connectionInputData(parentNode, activeNode.name, inputName, runIndexParent, nodeConnection);

let runExecutionData: IRunExecutionData;
if (executionData === null) {
if (executionData === null || !executionData.data) {
runExecutionData = {
resultData: {
runData: {},
Expand Down
6 changes: 3 additions & 3 deletions packages/editor-ui/src/store.ts
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@ export const store = new Vuex.Store({
state.stateIsDirty = true;
// If node has any WorkflowResultData rename also that one that the data
// does still get displayed also after node got renamed
if (state.workflowExecutionData !== null && state.workflowExecutionData.data.resultData.runData.hasOwnProperty(nameData.old)) {
if (state.workflowExecutionData !== null && state.workflowExecutionData.data && state.workflowExecutionData.data.resultData.runData.hasOwnProperty(nameData.old)) {
state.workflowExecutionData.data.resultData.runData[nameData.new] = state.workflowExecutionData.data.resultData.runData[nameData.old];
delete state.workflowExecutionData.data.resultData.runData[nameData.old];
}
Expand Down Expand Up @@ -636,7 +636,7 @@ export const store = new Vuex.Store({
state.workflowExecutionData = workflowResultData;
},
addNodeExecutionData(state, pushData: IPushDataNodeExecuteAfter): void {
if (state.workflowExecutionData === null) {
if (state.workflowExecutionData === null || !state.workflowExecutionData.data) {
throw new Error('The "workflowExecutionData" is not initialized!');
}
if (state.workflowExecutionData.data.resultData.runData[pushData.nodeName] === undefined) {
Expand All @@ -645,7 +645,7 @@ export const store = new Vuex.Store({
state.workflowExecutionData.data.resultData.runData[pushData.nodeName].push(pushData.data);
},
clearNodeExecutionData(state, nodeName: string): void {
if (state.workflowExecutionData === null) {
if (state.workflowExecutionData === null || !state.workflowExecutionData.data) {
return;
}

Expand Down

0 comments on commit 0462f4b

Please sign in to comment.