Hello ,How to create a call activity and set it “Propagate all variables” here is my code that creates an element but doesn’t set it Propagate all variables true
createCallActivity = (value) => {
// Get canvas, bpmn factory, element factory, create from modeler
const canvas = this.props.modeler.get("canvas");
const bpmnFactory = this.props.modeler.get("bpmnFactory");
const elementFactory = this.props.modeler.get("elementFactory");
const create = this.props.modeler.get("create");
const rootElements = canvas.getRootElements();
const process = rootElements[0];
// Zoom canvas to fit viewport
canvas.zoom("fit-viewport");
// Create Call Activity
const callActivity = elementFactory.createShape({
type: "bpmn:CallActivity",
x: 0,
y: 0,
isExpanded: true,
});
// Set called element
callActivity.businessObject.set("calledElement", 'bbbbbbb');
// Set binding deployment
callActivity.businessObject.set("calledElementBinding", "deployment");
let inputVariables = bpmnFactory.create('camunda:InputParameter', {
name: "variables",
value: 'test',
});
let outVariables = bpmnFactory.create('camunda:OutputParameter', {
name: "variables",
value: 'test',
});
let inputOutput = bpmnFactory.create('camunda:InputOutput', {
inputParameters: [inputVariables],
outputParameters: [outVariables]
});
const extensionElements = bpmnFactory.create("bpmn:ExtensionElements");
extensionElements.set("values", [inputOutput]);
callActivity.businessObject.set("extensionElements", extensionElements);
const inMapping = bpmnFactory.create("bpmn:InputOutputSpecification");
inMapping.set("propagation", "all");
inMapping.set("propagateAllVariables", true);
callActivity.businessObject.set("ioSpecification", inMapping);
const inDataAssociation = bpmnFactory.create("bpmn:DataInputAssociation");
inDataAssociation.set("targetRef", callActivity.dataInputs);
inDataAssociation.set("sourceRef", process.dataInputs);
inMapping.dataInputAssociations = inMapping.dataInputAssociations ? inMapping.dataInputAssociations : [];
inMapping.dataInputAssociations.push(inDataAssociation);
// inMapping.get("dataInputAssociations").push(inDataAssociation);
// Create out mapping
const outMapping = bpmnFactory.create("bpmn:InputOutputSpecification");
outMapping.set("propagation", "all");
callActivity.businessObject.set("ioSpecification", outMapping);
const outDataAssociation = bpmnFactory.create("bpmn:DataOutputAssociation");
outDataAssociation.set("sourceRef", process.dataOutputs);
outDataAssociation.set("targetRef", callActivity.dataOutputs);
outMapping.dataOutputAssociations = outMapping.dataOutputAssociations ? outMapping.dataOutputAssociations : [];
// outMapping.get("dataOutputAssociations").push(outDataAssociation);
outMapping.dataOutputAssociations.push(outDataAssociation);
// Set name of call activity
callActivity.businessObject.set('name', 'dddddasdw');
create.start(this.state.event, [callActivity], {
hints: {
autoSelect: [callActivity]
}
});
this.setState({
visible: false,
});
}