Skip to content

Commit 763fc3c

Browse files
committed
1 parent 925b5f8 commit 763fc3c

File tree

3 files changed

+345
-1
lines changed

3 files changed

+345
-1
lines changed

lib/handler/outgoingHandler.js

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,9 +509,23 @@ function fixNewHorizontalCrosses(edge, grid) {
509509
if (hCrossed.length === 0) return;
510510

511511
if (direction === 'SW_NE') {
512+
const maxDown = getMaxDown(edge);
513+
514+
const [ baseSourceRow ] = edge.sourcePosition;
515+
516+
for (let i = maxDown; i > 0; i--) {
517+
grid.createRow(baseSourceRow - 1);
518+
}
519+
520+
const elements = edge._grid.getElementsInRange({ row: edge.sourcePosition[0], col: edge.sourcePosition[1] + 1 }, { row: edge._grid.rowCount - 1, col: edge._grid.colCount - 1 });
521+
522+
for (const element of elements) {
523+
const [ row, col ] = edge._grid.find(element);
524+
edge._grid.move(element, [ row - maxDown, col ]);
525+
}
512526

513527
// пробуем поднимать элементы выше пересечения
514-
moveElementsUpperCrossLine(hCrossed, grid);
528+
// moveElementsUpperCrossLine(hCrossed, grid);
515529
return;
516530
}
517531

@@ -698,4 +712,22 @@ function isTracingForTopLeftMove(toElement, fromElement, grid, unwantedEdge , ba
698712
}
699713
}
700714
return false;
715+
}
716+
717+
// Todo: сделать для всех направлений, а не только для SW_NE и сделать методы в гриде
718+
function getMaxDown(edge) {
719+
const sourcePosition = edge.sourcePosition;
720+
const targetPosition = edge.targetPosition;
721+
722+
let maxDown = sourcePosition[0];
723+
724+
for (let rowIndex = sourcePosition[0]; rowIndex < edge._grid.rowCount; rowIndex++) {
725+
if (edge._grid.getElementsInRange({ row: rowIndex, col: sourcePosition[1] + 1 }, { row: rowIndex, col: targetPosition[1] }).length > 0) {
726+
maxDown++;
727+
} else {
728+
break;
729+
}
730+
}
731+
732+
return maxDown - sourcePosition[0];
701733
}

test/fixtures/noElements.bpmn

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<bpmn:definitions 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" id="definitions_1">
3+
<bpmn:process id="process_1" name="Dispatch of goods&#10;Computer Hardware Shop" isExecutable="false">
4+
<bpmn:startEvent id="startEvent_1" name="Ship goods">
5+
<bpmn:outgoing>sequenceFlow_1</bpmn:outgoing>
6+
</bpmn:startEvent>
7+
<bpmn:boundaryEvent id="boundaryEvent_1" name="48 hours" attachedToRef="task_7">
8+
<bpmn:outgoing>sequenceFlow_11</bpmn:outgoing>
9+
<bpmn:timerEventDefinition />
10+
</bpmn:boundaryEvent>
11+
<bpmn:endEvent id="endEvent_1" name="Shipment&#10;prepared">
12+
<bpmn:incoming>sequenceFlow_9</bpmn:incoming>
13+
</bpmn:endEvent>
14+
<bpmn:exclusiveGateway id="exclusiveGateway_1" name="Special&#10;handling?">
15+
<bpmn:incoming>sequenceFlow_3</bpmn:incoming>
16+
<bpmn:outgoing>sequenceFlow_13</bpmn:outgoing>
17+
<bpmn:outgoing>sequenceFlow_14</bpmn:outgoing>
18+
</bpmn:exclusiveGateway>
19+
<bpmn:exclusiveGateway id="exclusiveGateway_2" name="">
20+
<bpmn:incoming>sequenceFlow_7</bpmn:incoming>
21+
<bpmn:incoming>sequenceFlow_8</bpmn:incoming>
22+
<bpmn:outgoing>sequenceFlow_17</bpmn:outgoing>
23+
</bpmn:exclusiveGateway>
24+
<bpmn:inclusiveGateway id="inclusiveGateway_1" name="">
25+
<bpmn:incoming>sequenceFlow_12</bpmn:incoming>
26+
<bpmn:outgoing>sequenceFlow_15</bpmn:outgoing>
27+
<bpmn:outgoing>sequenceFlow_16</bpmn:outgoing>
28+
</bpmn:inclusiveGateway>
29+
<bpmn:inclusiveGateway id="inclusiveGateway_2" name="">
30+
<bpmn:incoming>sequenceFlow_4</bpmn:incoming>
31+
<bpmn:incoming>sequenceFlow_5</bpmn:incoming>
32+
<bpmn:outgoing>sequenceFlow_8</bpmn:outgoing>
33+
</bpmn:inclusiveGateway>
34+
<bpmn:inclusiveGateway id="inclusiveGateway_3" name="">
35+
<bpmn:incoming>sequenceFlow_18</bpmn:incoming>
36+
<bpmn:incoming>sequenceFlow_19</bpmn:incoming>
37+
<bpmn:outgoing>sequenceFlow_22</bpmn:outgoing>
38+
</bpmn:inclusiveGateway>
39+
<bpmn:parallelGateway id="parallelGateway_1" name="">
40+
<bpmn:incoming>sequenceFlow_1</bpmn:incoming>
41+
<bpmn:outgoing>sequenceFlow_2</bpmn:outgoing>
42+
<bpmn:outgoing>sequenceFlow_10</bpmn:outgoing>
43+
</bpmn:parallelGateway>
44+
<bpmn:parallelGateway id="parallelGateway_2" name="">
45+
<bpmn:incoming>sequenceFlow_17</bpmn:incoming>
46+
<bpmn:incoming>sequenceFlow_22</bpmn:incoming>
47+
<bpmn:outgoing>sequenceFlow_20</bpmn:outgoing>
48+
</bpmn:parallelGateway>
49+
<bpmn:task id="task_1" name="Insure parcel">
50+
<bpmn:incoming>sequenceFlow_15</bpmn:incoming>
51+
<bpmn:outgoing>sequenceFlow_5</bpmn:outgoing>
52+
</bpmn:task>
53+
<bpmn:task id="task_2" name="Clarify shipment method">
54+
<bpmn:incoming>sequenceFlow_2</bpmn:incoming>
55+
<bpmn:outgoing>sequenceFlow_3</bpmn:outgoing>
56+
</bpmn:task>
57+
<bpmn:task id="task_3" name="Write package&#10;label">
58+
<bpmn:incoming>sequenceFlow_16</bpmn:incoming>
59+
<bpmn:outgoing>sequenceFlow_4</bpmn:outgoing>
60+
</bpmn:task>
61+
<bpmn:task id="task_4" name="Get 3 offers&#10;from logistic&#10;companies">
62+
<bpmn:incoming>sequenceFlow_13</bpmn:incoming>
63+
<bpmn:outgoing>sequenceFlow_6</bpmn:outgoing>
64+
</bpmn:task>
65+
<bpmn:task id="task_5" name="Select logistic&#10;company and&#10;place order">
66+
<bpmn:incoming>sequenceFlow_6</bpmn:incoming>
67+
<bpmn:outgoing>sequenceFlow_7</bpmn:outgoing>
68+
</bpmn:task>
69+
<bpmn:task id="task_6" name="Check if insurance is required">
70+
<bpmn:incoming>sequenceFlow_14</bpmn:incoming>
71+
<bpmn:outgoing>sequenceFlow_12</bpmn:outgoing>
72+
</bpmn:task>
73+
<bpmn:task id="task_7" name="Package goods">
74+
<bpmn:incoming>sequenceFlow_10</bpmn:incoming>
75+
<bpmn:outgoing>sequenceFlow_18</bpmn:outgoing>
76+
</bpmn:task>
77+
<bpmn:task id="task_8" name="Move package to pickup area">
78+
<bpmn:incoming>sequenceFlow_21</bpmn:incoming>
79+
<bpmn:outgoing>sequenceFlow_9</bpmn:outgoing>
80+
</bpmn:task>
81+
<bpmn:task id="task_9" name="Notify customer about delay">
82+
<bpmn:incoming>sequenceFlow_11</bpmn:incoming>
83+
<bpmn:outgoing>sequenceFlow_19</bpmn:outgoing>
84+
</bpmn:task>
85+
<bpmn:task id="task_10" name="Fill out Shipment paperwork">
86+
<bpmn:incoming>sequenceFlow_20</bpmn:incoming>
87+
<bpmn:outgoing>sequenceFlow_21</bpmn:outgoing>
88+
</bpmn:task>
89+
<bpmn:sequenceFlow id="sequenceFlow_1" name="" sourceRef="startEvent_1" targetRef="parallelGateway_1" />
90+
<bpmn:sequenceFlow id="sequenceFlow_2" name="" sourceRef="parallelGateway_1" targetRef="task_2" />
91+
<bpmn:sequenceFlow id="sequenceFlow_3" name="" sourceRef="task_2" targetRef="exclusiveGateway_1" />
92+
<bpmn:sequenceFlow id="sequenceFlow_4" name="" sourceRef="task_3" targetRef="inclusiveGateway_2" />
93+
<bpmn:sequenceFlow id="sequenceFlow_5" name="" sourceRef="task_1" targetRef="inclusiveGateway_2" />
94+
<bpmn:sequenceFlow id="sequenceFlow_6" name="" sourceRef="task_4" targetRef="task_5" />
95+
<bpmn:sequenceFlow id="sequenceFlow_7" name="" sourceRef="task_5" targetRef="exclusiveGateway_2" />
96+
<bpmn:sequenceFlow id="sequenceFlow_8" name="" sourceRef="inclusiveGateway_2" targetRef="exclusiveGateway_2" />
97+
<bpmn:sequenceFlow id="sequenceFlow_9" name="" sourceRef="task_8" targetRef="endEvent_1" />
98+
<bpmn:sequenceFlow id="sequenceFlow_10" name="" sourceRef="parallelGateway_1" targetRef="task_7" />
99+
<bpmn:sequenceFlow id="sequenceFlow_11" name="" sourceRef="boundaryEvent_1" targetRef="task_9" />
100+
<bpmn:sequenceFlow id="sequenceFlow_12" name="" sourceRef="task_6" targetRef="inclusiveGateway_1" />
101+
<bpmn:sequenceFlow id="sequenceFlow_13" name="yes" sourceRef="exclusiveGateway_1" targetRef="task_4" />
102+
<bpmn:sequenceFlow id="sequenceFlow_14" name="no" sourceRef="exclusiveGateway_1" targetRef="task_6" />
103+
<bpmn:sequenceFlow id="sequenceFlow_15" name="If insurance&#10;necessary" sourceRef="inclusiveGateway_1" targetRef="task_1" />
104+
<bpmn:sequenceFlow id="sequenceFlow_16" name="always" sourceRef="inclusiveGateway_1" targetRef="task_3" />
105+
<bpmn:sequenceFlow id="sequenceFlow_17" name="" sourceRef="exclusiveGateway_2" targetRef="parallelGateway_2" />
106+
<bpmn:sequenceFlow id="sequenceFlow_18" name="" sourceRef="task_7" targetRef="inclusiveGateway_3" />
107+
<bpmn:sequenceFlow id="sequenceFlow_19" name="" sourceRef="task_9" targetRef="inclusiveGateway_3" />
108+
<bpmn:sequenceFlow id="sequenceFlow_20" name="" sourceRef="parallelGateway_2" targetRef="task_10" />
109+
<bpmn:sequenceFlow id="sequenceFlow_21" name="" sourceRef="task_10" targetRef="task_8" />
110+
<!-- This flow when included the layouter fails due to missing element from the grid -->
111+
<bpmn:sequenceFlow id="sequenceFlow_22" name="" sourceRef="inclusiveGateway_3" targetRef="parallelGateway_2" />
112+
<!-- --> -->
113+
</bpmn:process>
114+
</bpmn:definitions>

test/fixtures/shift-all-up.bpmn

Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<bpmn:definitions 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" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_0v8sh2i" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="5.35.0" modeler:executionPlatform="Camunda Platform" modeler:executionPlatformVersion="7.23.0">
3+
<bpmn:process id="Process_1nk7hv0" isExecutable="true">
4+
<bpmn:startEvent id="StartEvent_1">
5+
<bpmn:outgoing>Flow_1td6zr9</bpmn:outgoing>
6+
</bpmn:startEvent>
7+
<bpmn:exclusiveGateway id="Gateway_1iqpbfd">
8+
<bpmn:incoming>Flow_1td6zr9</bpmn:incoming>
9+
<bpmn:outgoing>Flow_0l6yfqq</bpmn:outgoing>
10+
<bpmn:outgoing>Flow_042ug4y</bpmn:outgoing>
11+
<bpmn:outgoing>Flow_07zetvp</bpmn:outgoing>
12+
</bpmn:exclusiveGateway>
13+
<bpmn:sequenceFlow id="Flow_1td6zr9" sourceRef="StartEvent_1" targetRef="Gateway_1iqpbfd" />
14+
<bpmn:task id="Activity_00bl09m" name="1">
15+
<bpmn:incoming>Flow_0l6yfqq</bpmn:incoming>
16+
<bpmn:outgoing>Flow_0xv7qsb</bpmn:outgoing>
17+
</bpmn:task>
18+
<bpmn:sequenceFlow id="Flow_0l6yfqq" sourceRef="Gateway_1iqpbfd" targetRef="Activity_00bl09m" />
19+
<bpmn:exclusiveGateway id="Gateway_0uqty2a">
20+
<bpmn:incoming>Flow_0xv7qsb</bpmn:incoming>
21+
<bpmn:outgoing>Flow_1oblv6c</bpmn:outgoing>
22+
<bpmn:outgoing>Flow_0250p5s</bpmn:outgoing>
23+
<bpmn:outgoing>Flow_1j8gjb6</bpmn:outgoing>
24+
<bpmn:outgoing>Flow_1b1efgm</bpmn:outgoing>
25+
</bpmn:exclusiveGateway>
26+
<bpmn:sequenceFlow id="Flow_0xv7qsb" sourceRef="Activity_00bl09m" targetRef="Gateway_0uqty2a" />
27+
<bpmn:exclusiveGateway id="Gateway_0fb8nuc">
28+
<bpmn:incoming>Flow_1oblv6c</bpmn:incoming>
29+
<bpmn:incoming>Flow_041fwdu</bpmn:incoming>
30+
<bpmn:incoming>Flow_0ax2l5h</bpmn:incoming>
31+
<bpmn:incoming>Flow_18ad5sb</bpmn:incoming>
32+
<bpmn:incoming>Flow_0sg4x1m</bpmn:incoming>
33+
<bpmn:incoming>Flow_01oj30b</bpmn:incoming>
34+
<bpmn:outgoing>Flow_1j9mpm6</bpmn:outgoing>
35+
</bpmn:exclusiveGateway>
36+
<bpmn:sequenceFlow id="Flow_1oblv6c" sourceRef="Gateway_0uqty2a" targetRef="Gateway_0fb8nuc" />
37+
<bpmn:endEvent id="Event_165tpqq">
38+
<bpmn:incoming>Flow_1j9mpm6</bpmn:incoming>
39+
</bpmn:endEvent>
40+
<bpmn:sequenceFlow id="Flow_1j9mpm6" sourceRef="Gateway_0fb8nuc" targetRef="Event_165tpqq" />
41+
<bpmn:task id="Activity_0ziz5y8" name="2">
42+
<bpmn:incoming>Flow_0250p5s</bpmn:incoming>
43+
<bpmn:outgoing>Flow_041fwdu</bpmn:outgoing>
44+
</bpmn:task>
45+
<bpmn:sequenceFlow id="Flow_0250p5s" sourceRef="Gateway_0uqty2a" targetRef="Activity_0ziz5y8" />
46+
<bpmn:task id="Activity_0covp1p" name="3">
47+
<bpmn:incoming>Flow_1j8gjb6</bpmn:incoming>
48+
<bpmn:outgoing>Flow_0ax2l5h</bpmn:outgoing>
49+
</bpmn:task>
50+
<bpmn:sequenceFlow id="Flow_1j8gjb6" sourceRef="Gateway_0uqty2a" targetRef="Activity_0covp1p" />
51+
<bpmn:task id="Activity_1kk5uk1" name="4">
52+
<bpmn:incoming>Flow_1b1efgm</bpmn:incoming>
53+
<bpmn:outgoing>Flow_18ad5sb</bpmn:outgoing>
54+
</bpmn:task>
55+
<bpmn:sequenceFlow id="Flow_1b1efgm" sourceRef="Gateway_0uqty2a" targetRef="Activity_1kk5uk1" />
56+
<bpmn:sequenceFlow id="Flow_041fwdu" sourceRef="Activity_0ziz5y8" targetRef="Gateway_0fb8nuc" />
57+
<bpmn:sequenceFlow id="Flow_0ax2l5h" sourceRef="Activity_0covp1p" targetRef="Gateway_0fb8nuc" />
58+
<bpmn:sequenceFlow id="Flow_18ad5sb" sourceRef="Activity_1kk5uk1" targetRef="Gateway_0fb8nuc" />
59+
<bpmn:task id="Activity_0vdx3db" name="5">
60+
<bpmn:incoming>Flow_042ug4y</bpmn:incoming>
61+
<bpmn:outgoing>Flow_04vcbtv</bpmn:outgoing>
62+
</bpmn:task>
63+
<bpmn:sequenceFlow id="Flow_042ug4y" sourceRef="Gateway_1iqpbfd" targetRef="Activity_0vdx3db" />
64+
<bpmn:task id="Activity_1kq9lw2" name="6">
65+
<bpmn:incoming>Flow_04vcbtv</bpmn:incoming>
66+
<bpmn:outgoing>Flow_0sg4x1m</bpmn:outgoing>
67+
</bpmn:task>
68+
<bpmn:sequenceFlow id="Flow_04vcbtv" sourceRef="Activity_0vdx3db" targetRef="Activity_1kq9lw2" />
69+
<bpmn:sequenceFlow id="Flow_0sg4x1m" sourceRef="Activity_1kq9lw2" targetRef="Gateway_0fb8nuc" />
70+
<bpmn:task id="Activity_1enq6vs" name="7">
71+
<bpmn:incoming>Flow_07zetvp</bpmn:incoming>
72+
<bpmn:outgoing>Flow_01oj30b</bpmn:outgoing>
73+
</bpmn:task>
74+
<bpmn:sequenceFlow id="Flow_07zetvp" sourceRef="Gateway_1iqpbfd" targetRef="Activity_1enq6vs" />
75+
<bpmn:sequenceFlow id="Flow_01oj30b" sourceRef="Activity_1enq6vs" targetRef="Gateway_0fb8nuc" />
76+
</bpmn:process>
77+
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
78+
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1nk7hv0">
79+
<bpmndi:BPMNShape id="StartEvent_1_di" bpmnElement="StartEvent_1">
80+
<dc:Bounds x="182" y="102" width="36" height="36" />
81+
</bpmndi:BPMNShape>
82+
<bpmndi:BPMNShape id="Gateway_1iqpbfd_di" bpmnElement="Gateway_1iqpbfd" isMarkerVisible="true">
83+
<dc:Bounds x="275" y="95" width="50" height="50" />
84+
</bpmndi:BPMNShape>
85+
<bpmndi:BPMNShape id="Activity_00bl09m_di" bpmnElement="Activity_00bl09m">
86+
<dc:Bounds x="390" y="80" width="100" height="80" />
87+
<bpmndi:BPMNLabel />
88+
</bpmndi:BPMNShape>
89+
<bpmndi:BPMNShape id="Gateway_0uqty2a_di" bpmnElement="Gateway_0uqty2a" isMarkerVisible="true">
90+
<dc:Bounds x="555" y="95" width="50" height="50" />
91+
</bpmndi:BPMNShape>
92+
<bpmndi:BPMNShape id="Gateway_0fb8nuc_di" bpmnElement="Gateway_0fb8nuc" isMarkerVisible="true">
93+
<dc:Bounds x="765" y="95" width="50" height="50" />
94+
</bpmndi:BPMNShape>
95+
<bpmndi:BPMNShape id="Event_165tpqq_di" bpmnElement="Event_165tpqq">
96+
<dc:Bounds x="912" y="102" width="36" height="36" />
97+
</bpmndi:BPMNShape>
98+
<bpmndi:BPMNShape id="Activity_0ziz5y8_di" bpmnElement="Activity_0ziz5y8">
99+
<dc:Bounds x="640" y="180" width="100" height="80" />
100+
<bpmndi:BPMNLabel />
101+
</bpmndi:BPMNShape>
102+
<bpmndi:BPMNShape id="Activity_0covp1p_di" bpmnElement="Activity_0covp1p">
103+
<dc:Bounds x="640" y="300" width="100" height="80" />
104+
<bpmndi:BPMNLabel />
105+
</bpmndi:BPMNShape>
106+
<bpmndi:BPMNShape id="Activity_1kk5uk1_di" bpmnElement="Activity_1kk5uk1">
107+
<dc:Bounds x="640" y="420" width="100" height="80" />
108+
<bpmndi:BPMNLabel />
109+
</bpmndi:BPMNShape>
110+
<bpmndi:BPMNShape id="Activity_0vdx3db_di" bpmnElement="Activity_0vdx3db">
111+
<dc:Bounds x="320" y="240" width="100" height="80" />
112+
<bpmndi:BPMNLabel />
113+
</bpmndi:BPMNShape>
114+
<bpmndi:BPMNShape id="Activity_1kq9lw2_di" bpmnElement="Activity_1kq9lw2">
115+
<dc:Bounds x="470" y="240" width="100" height="80" />
116+
<bpmndi:BPMNLabel />
117+
</bpmndi:BPMNShape>
118+
<bpmndi:BPMNShape id="Activity_1enq6vs_di" bpmnElement="Activity_1enq6vs">
119+
<dc:Bounds x="320" y="540" width="100" height="80" />
120+
<bpmndi:BPMNLabel />
121+
</bpmndi:BPMNShape>
122+
<bpmndi:BPMNEdge id="Flow_1td6zr9_di" bpmnElement="Flow_1td6zr9">
123+
<di:waypoint x="218" y="120" />
124+
<di:waypoint x="275" y="120" />
125+
</bpmndi:BPMNEdge>
126+
<bpmndi:BPMNEdge id="Flow_0l6yfqq_di" bpmnElement="Flow_0l6yfqq">
127+
<di:waypoint x="325" y="120" />
128+
<di:waypoint x="390" y="120" />
129+
</bpmndi:BPMNEdge>
130+
<bpmndi:BPMNEdge id="Flow_0xv7qsb_di" bpmnElement="Flow_0xv7qsb">
131+
<di:waypoint x="490" y="120" />
132+
<di:waypoint x="555" y="120" />
133+
</bpmndi:BPMNEdge>
134+
<bpmndi:BPMNEdge id="Flow_1oblv6c_di" bpmnElement="Flow_1oblv6c">
135+
<di:waypoint x="605" y="120" />
136+
<di:waypoint x="765" y="120" />
137+
</bpmndi:BPMNEdge>
138+
<bpmndi:BPMNEdge id="Flow_1j9mpm6_di" bpmnElement="Flow_1j9mpm6">
139+
<di:waypoint x="815" y="120" />
140+
<di:waypoint x="912" y="120" />
141+
</bpmndi:BPMNEdge>
142+
<bpmndi:BPMNEdge id="Flow_0250p5s_di" bpmnElement="Flow_0250p5s">
143+
<di:waypoint x="580" y="145" />
144+
<di:waypoint x="580" y="220" />
145+
<di:waypoint x="640" y="220" />
146+
</bpmndi:BPMNEdge>
147+
<bpmndi:BPMNEdge id="Flow_1j8gjb6_di" bpmnElement="Flow_1j8gjb6">
148+
<di:waypoint x="580" y="145" />
149+
<di:waypoint x="580" y="340" />
150+
<di:waypoint x="640" y="340" />
151+
</bpmndi:BPMNEdge>
152+
<bpmndi:BPMNEdge id="Flow_1b1efgm_di" bpmnElement="Flow_1b1efgm">
153+
<di:waypoint x="580" y="145" />
154+
<di:waypoint x="580" y="460" />
155+
<di:waypoint x="640" y="460" />
156+
</bpmndi:BPMNEdge>
157+
<bpmndi:BPMNEdge id="Flow_041fwdu_di" bpmnElement="Flow_041fwdu">
158+
<di:waypoint x="740" y="220" />
159+
<di:waypoint x="790" y="220" />
160+
<di:waypoint x="790" y="145" />
161+
</bpmndi:BPMNEdge>
162+
<bpmndi:BPMNEdge id="Flow_0ax2l5h_di" bpmnElement="Flow_0ax2l5h">
163+
<di:waypoint x="740" y="340" />
164+
<di:waypoint x="790" y="340" />
165+
<di:waypoint x="790" y="145" />
166+
</bpmndi:BPMNEdge>
167+
<bpmndi:BPMNEdge id="Flow_18ad5sb_di" bpmnElement="Flow_18ad5sb">
168+
<di:waypoint x="740" y="460" />
169+
<di:waypoint x="790" y="460" />
170+
<di:waypoint x="790" y="145" />
171+
</bpmndi:BPMNEdge>
172+
<bpmndi:BPMNEdge id="Flow_042ug4y_di" bpmnElement="Flow_042ug4y">
173+
<di:waypoint x="300" y="145" />
174+
<di:waypoint x="300" y="280" />
175+
<di:waypoint x="320" y="280" />
176+
</bpmndi:BPMNEdge>
177+
<bpmndi:BPMNEdge id="Flow_04vcbtv_di" bpmnElement="Flow_04vcbtv">
178+
<di:waypoint x="420" y="280" />
179+
<di:waypoint x="470" y="280" />
180+
</bpmndi:BPMNEdge>
181+
<bpmndi:BPMNEdge id="Flow_0sg4x1m_di" bpmnElement="Flow_0sg4x1m">
182+
<di:waypoint x="570" y="280" />
183+
<di:waypoint x="790" y="280" />
184+
<di:waypoint x="790" y="145" />
185+
</bpmndi:BPMNEdge>
186+
<bpmndi:BPMNEdge id="Flow_07zetvp_di" bpmnElement="Flow_07zetvp">
187+
<di:waypoint x="300" y="145" />
188+
<di:waypoint x="300" y="580" />
189+
<di:waypoint x="320" y="580" />
190+
</bpmndi:BPMNEdge>
191+
<bpmndi:BPMNEdge id="Flow_01oj30b_di" bpmnElement="Flow_01oj30b">
192+
<di:waypoint x="420" y="580" />
193+
<di:waypoint x="790" y="580" />
194+
<di:waypoint x="790" y="145" />
195+
</bpmndi:BPMNEdge>
196+
</bpmndi:BPMNPlane>
197+
</bpmndi:BPMNDiagram>
198+
</bpmn:definitions>

0 commit comments

Comments
 (0)