diff --git a/src/designer/elsa-workflows-studio/src/components/designers/tree/elsa-designer-tree/elsa-designer-tree.tsx b/src/designer/elsa-workflows-studio/src/components/designers/tree/elsa-designer-tree/elsa-designer-tree.tsx index dda4aefc6..12bb4bd1d 100644 --- a/src/designer/elsa-workflows-studio/src/components/designers/tree/elsa-designer-tree/elsa-designer-tree.tsx +++ b/src/designer/elsa-workflows-studio/src/components/designers/tree/elsa-designer-tree/elsa-designer-tree.tsx @@ -44,7 +44,10 @@ export class ElsaWorkflowDesigner { eventBus.on(EventTypes.ActivityPicked, async args => { const activityDescriptor = (args as ActivityDescriptor); - const activityModel = this.addActivity(activityDescriptor, this.parentActivityId, null, this.parentActivityOutcome); + const connectFromRoot = !this.parentActivityOutcome || this.parentActivityOutcome == ""; + const sourceId = connectFromRoot ? null : this.parentActivityId; + const targetId = connectFromRoot ? this.parentActivityId : null; + const activityModel = this.addActivity(activityDescriptor, sourceId, targetId, this.parentActivityOutcome); if (activityDescriptor.properties.length > 0) this.showActivityEditor(activityModel, false); @@ -351,9 +354,7 @@ export class ElsaWorkflowDesigner { }; workflowModel.connections = [...connections, newConnection]; - } - else - { + } else { // Create new connection. const newConnection: ConnectionModel = { sourceId: sourceActivityId, @@ -416,7 +417,7 @@ export class ElsaWorkflowDesigner { return