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 9b7ccc493..cfa7a7a26 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 @@ -96,7 +96,7 @@ export class ElsaWorkflowDesigner { eventBus.emit(EventTypes.ActivityDesignDisplaying, this, displayContext); displayContexts[model.activityId] = displayContext; } - + this.activityDisplayContexts = displayContexts; } @@ -106,15 +106,17 @@ export class ElsaWorkflowDesigner { const sourceEndpoints = this.getJsPlumbSourceEndpoints(); const targets = this.getJsPlumbTargets(); - const invalidConnections = updateConnections( - canvasElement, - connections, - sourceEndpoints, - targets, - connection => this.onConnectionCreated(connection), - connection => this.onConnectionDetached(connection)); + setTimeout(() => { + const invalidConnections = updateConnections( + canvasElement, + connections, + sourceEndpoints, + targets, + connection => this.onConnectionCreated(connection), + connection => this.onConnectionDetached(connection)); - this.removeInvalidConnections(invalidConnections); + this.removeInvalidConnections(invalidConnections); + }, 100) } showActivityPicker() { @@ -431,8 +433,8 @@ export class ElsaWorkflowDesigner { const list = activities.filter(x => !renderedActivities.has(x.activityId)); const cssClass = isRoot ? "root" : undefined; - for (const activity of list) - renderedActivities.add(activity.activityId); + // for (const activity of list) + // renderedActivities.add(activity.activityId); if (list.length == 0) return null; @@ -444,6 +446,11 @@ export class ElsaWorkflowDesigner { const children = getChildActivities(this.workflowModel, activityId); const displayContext = this.activityDisplayContexts[activityId]; + if(renderedActivities.has(displayContext.activityModel.activityId)) + return; + + renderedActivities.add(displayContext.activityModel.activityId); + return
  • {isRoot ? this.renderOutcomeButton(`start-button-plus-${x.activityId}`, '', activityId, e => this.onOutcomeButtonClick(e, null, activityId)) : undefined}