diff --git a/src/designer/elsa-workflows-designer/src/components/designer/workflow-definition-editor/toolbox-activities.tsx b/src/designer/elsa-workflows-designer/src/components/designer/workflow-definition-editor/toolbox-activities.tsx index 15415e593..1caed52af 100644 --- a/src/designer/elsa-workflows-designer/src/components/designer/workflow-definition-editor/toolbox-activities.tsx +++ b/src/designer/elsa-workflows-designer/src/components/designer/workflow-definition-editor/toolbox-activities.tsx @@ -35,38 +35,7 @@ export class ToolboxActivities { }); } - @Watch('activityDescriptors') - handleActivityDescriptorsChanged(value: Array) { - const categorizedActivitiesLookup = groupBy(value, x => x.category); - const categories = Object.keys(categorizedActivitiesLookup); - const renderedActivities: Map = new Map(); - - // Group activities by category - this.activityCategoryModels = categories.map(x => { - const model: ActivityCategoryModel = { - category: x, - expanded: false, - activities: categorizedActivitiesLookup[x] - }; - - return model; - }); - - // Render activities. - const activityDriverRegistry = Container.get(ActivityDriverRegistry); - - for (const activityDescriptor of value) { - const activityType = activityDescriptor.activityType; - const driver = activityDriverRegistry.createDriver(activityType); - const html = driver.display({displayType: 'picker', activityDescriptor: activityDescriptor}); - - renderedActivities.set(activityType, html); - } - - this.renderedActivities = renderedActivities; - } - - componentDidLoad() { + componentWillLoad() { this.handleActivityDescriptorsChanged(descriptorsStore.activityDescriptors); } @@ -126,4 +95,34 @@ export class ToolboxActivities { )} } + + handleActivityDescriptorsChanged(value: Array) { + const categorizedActivitiesLookup = groupBy(value, x => x.category); + const categories = Object.keys(categorizedActivitiesLookup); + const renderedActivities: Map = new Map(); + + // Group activities by category + this.activityCategoryModels = categories.map(x => { + const model: ActivityCategoryModel = { + category: x, + expanded: false, + activities: categorizedActivitiesLookup[x] + }; + + return model; + }); + + // Render activities. + const activityDriverRegistry = Container.get(ActivityDriverRegistry); + + for (const activityDescriptor of value) { + const activityType = activityDescriptor.activityType; + const driver = activityDriverRegistry.createDriver(activityType); + const html = driver.display({displayType: 'picker', activityDescriptor: activityDescriptor}); + + renderedActivities.set(activityType, html); + } + + this.renderedActivities = renderedActivities; + } }