diff options
Diffstat (limited to 'workflow-designer-ui/src/main/frontend/src/features/version/composition/CompositionView.js')
-rw-r--r-- | workflow-designer-ui/src/main/frontend/src/features/version/composition/CompositionView.js | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/workflow-designer-ui/src/main/frontend/src/features/version/composition/CompositionView.js b/workflow-designer-ui/src/main/frontend/src/features/version/composition/CompositionView.js index 012ee769..d5b06d3e 100644 --- a/workflow-designer-ui/src/main/frontend/src/features/version/composition/CompositionView.js +++ b/workflow-designer-ui/src/main/frontend/src/features/version/composition/CompositionView.js @@ -34,6 +34,7 @@ class CompositionView extends Component { inputOutput: PropTypes.object, activities: PropTypes.array }; + constructor() { super(); this.generatedId = 'bpmn-container' + Date.now(); @@ -45,7 +46,7 @@ class CompositionView extends Component { } componentDidMount() { - const { composition } = this.props; + const { composition, activities } = this.props; this.modeler = new CustomModeler({ propertiesPanel: { @@ -59,7 +60,7 @@ class CompositionView extends Component { camunda: camundaModuleDescriptor }, workflow: { - activities: this.props.activities, + activities: activities, onChange: this.onActivityChanged } }); @@ -68,6 +69,12 @@ class CompositionView extends Component { this.setDiagramToBPMN(composition ? composition : newDiagramXML); this.modeler.on('element.out', () => this.exportDiagramToStore()); } + + componentDidUpdate(prevProps) { + if (prevProps.composition !== this.props.composition) { + this.setDiagramToBPMN(this.props.composition); + } + } onActivityChanged = async (bo, selectedValue) => { const selectedActivity = this.props.activities.find( el => el.name === selectedValue |