diff --git a/src/designer/elsa-workflows-studio/src/plugins/fork-plugin.tsx b/src/designer/elsa-workflows-studio/src/plugins/fork-plugin.tsx index 22b51660d..691870ff8 100644 --- a/src/designer/elsa-workflows-studio/src/plugins/fork-plugin.tsx +++ b/src/designer/elsa-workflows-studio/src/plugins/fork-plugin.tsx @@ -18,7 +18,7 @@ export class ForkPlugin implements ElsaPlugin { const props = activityModel.properties || []; const syntax = SyntaxNames.Json; const branches = props.find(x => x.name == 'Branches') || {expressions: {'Json': '[]'}, syntax: syntax}; - const expression = branches.expressions[syntax] || '[]'; - context.outcomes = !!expression['$values'] ? expression['$values'] : parseJson(expression) || []; + const expression = branches.expressions[syntax] || []; + context.outcomes = !!expression['$values'] ? expression['$values'] : Array.isArray(expression) ? expression : parseJson(expression) || []; } } diff --git a/src/designer/elsa-workflows-studio/src/plugins/run-javascript-plugin.tsx b/src/designer/elsa-workflows-studio/src/plugins/run-javascript-plugin.tsx index 907226a29..1a774b128 100644 --- a/src/designer/elsa-workflows-studio/src/plugins/run-javascript-plugin.tsx +++ b/src/designer/elsa-workflows-studio/src/plugins/run-javascript-plugin.tsx @@ -17,8 +17,8 @@ export class RunJavascriptPlugin implements ElsaPlugin { const props = activityModel.properties || []; const outcomes = props.find(x => x.name == 'PossibleOutcomes') || { expressions: {'Json': ''}, syntax: SyntaxNames.Json }; - const expression = outcomes.expressions[SyntaxNames.Json] || '[]'; - context.outcomes = parseJson(expression) || ['Done']; + const expression = outcomes.expressions[SyntaxNames.Json] || []; + context.outcomes = Array.isArray(expression) ? expression : parseJson(expression) || ['Done']; if(context.outcomes.length == 0) context.outcomes = ['Done']; diff --git a/src/designer/elsa-workflows-studio/src/plugins/send-http-request-plugin.tsx b/src/designer/elsa-workflows-studio/src/plugins/send-http-request-plugin.tsx index 810c55f5c..f6f4f5578 100644 --- a/src/designer/elsa-workflows-studio/src/plugins/send-http-request-plugin.tsx +++ b/src/designer/elsa-workflows-studio/src/plugins/send-http-request-plugin.tsx @@ -18,8 +18,8 @@ export class SendHttpRequestPlugin implements ElsaPlugin { const props = activityModel.properties || []; const syntax = SyntaxNames.Json; const supportedStatusCodes = props.find(x => x.name == 'SupportedStatusCodes') || {expressions: {'Json': '[]'}, syntax: syntax}; - const expression = supportedStatusCodes.expressions[syntax] || '[]'; - let outcomes = !!expression['$values'] ? expression['$values'] : parseJson(expression) || []; + const expression = supportedStatusCodes.expressions[syntax] || []; + let outcomes = !!expression['$values'] ? expression['$values'] : Array.isArray(expression) ? expression : parseJson(expression) || []; outcomes = [...outcomes, 'Done', 'Unsupported Status Code'] diff --git a/src/designer/elsa-workflows-studio/src/plugins/state-plugin.tsx b/src/designer/elsa-workflows-studio/src/plugins/state-plugin.tsx index 1505bb47f..976713637 100644 --- a/src/designer/elsa-workflows-studio/src/plugins/state-plugin.tsx +++ b/src/designer/elsa-workflows-studio/src/plugins/state-plugin.tsx @@ -21,7 +21,7 @@ export class StatePlugin implements ElsaPlugin { const transitionsSyntax = SyntaxNames.Json; const transitions = props.find(x => x.name == 'Transitions') || {expressions: {'Json': '[]'}, syntax: transitionsSyntax}; - const transitionsExpression = transitions.expressions[transitionsSyntax] || '[]'; - context.outcomes = !!transitionsExpression['$values'] ? transitionsExpression['$values'] : parseJson(transitionsExpression) || []; + const transitionsExpression = transitions.expressions[transitionsSyntax] || []; + context.outcomes = !!transitionsExpression['$values'] ? transitionsExpression['$values'] : Array.isArray(transitionsExpression) ? transitionsExpression : parseJson(transitionsExpression) || []; } } diff --git a/src/designer/elsa-workflows-studio/src/plugins/user-task-plugin.tsx b/src/designer/elsa-workflows-studio/src/plugins/user-task-plugin.tsx index 95f6118a7..a87693d11 100644 --- a/src/designer/elsa-workflows-studio/src/plugins/user-task-plugin.tsx +++ b/src/designer/elsa-workflows-studio/src/plugins/user-task-plugin.tsx @@ -19,6 +19,6 @@ export class UserTaskPlugin implements ElsaPlugin { const syntax = SyntaxNames.Json; const branches = props.find(x => x.name == 'Actions') || {expressions: {'Json': '[]'}, syntax: syntax}; const expression = branches.expressions[syntax] || '[]'; - context.outcomes = !!expression['$values'] ? expression['$values'] : parseJson(expression) || []; + context.outcomes = !!expression['$values'] ? expression['$values'] : Array.isArray(expression) ? expression : parseJson(expression) || []; } }