I’m creating a SignalEventDefinition inside an IntermediateThrowEvent component.
The question is if it’s correct to do this to create the SignalEventDefinition this way ?:
var element = renderer.get('moddle').create('bpmn:SignalEventDefinition', {
signalRef: signalsList[0]
});
var targetElement = renderer.get('elementRegistry').get('theIntermediateThrowEventId');
var modeling = renderer.get('modeling');
modeling.updateProperties(targetElement, {
eventDefinitions: [element]
});
I’ve got all the signal events with this code:
var definitions = renderer.get('canvas').getRootElement().businessObject.$parent;
var signalsList = definitions.rootElements.filter(function(element) {
return element.$type === 'bpmn:Signal';
});
My bpmn code:
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:di="http://www.omg.org/spec/DD/20100524/DI">
<bpmn:process id="Process_1" isExecutable="false">
<bpmn:intermediateThrowEvent id="IntermediateThrowEvent_0k5fpkk">
<bpmn:signalEventDefinition signalRef="Signal_1jncgyr"/>
</bpmn:intermediateThrowEvent>
</bpmn:process>
<bpmn:signal id="Signal_1jncgyr" name="aaa"/>
<bpmn:signal id="Signal_0r0xw4j" name="bbb"/>
<bpmn:signal id="Signal_1chdnvw" name="ccc"/>
<bpmn:signal id="Signal_1g8i47l" name="ddd"/>
<bpmn:signal id="Signal_0oxvjw2" name="eee"/>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane bpmnElement="Process_1" id="BPMNPlane_1">
<bpmndi:BPMNShape bpmnElement="IntermediateThrowEvent_0k5fpkk" id="IntermediateThrowEvent_0k5fpkk_di"><dc:Bounds height="36" width="36" x="362" y="173"/>
<bpmndi:BPMNLabel><dc:Bounds height="20" width="90" x="335" y="209"/></bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>