mirror of
https://github.com/sartography/bpmn-js.git
synced 2025-01-27 01:10:16 +00:00
fix(ordering): allow groups and associations in subprocesses
related to https://github.com/camunda/camunda-modeler/issues/2751, https://github.com/camunda/camunda-modeler/issues/2752
This commit is contained in:
parent
8bbeac5410
commit
e41442b393
@ -42,7 +42,7 @@ export default function BpmnOrderingProvider(eventBus, canvas, translate) {
|
||||
level: 9,
|
||||
containers: [
|
||||
'bpmn:Collaboration',
|
||||
'bpmn:Process'
|
||||
'bpmn:FlowElementsContainer'
|
||||
]
|
||||
}
|
||||
},
|
||||
@ -70,7 +70,7 @@ export default function BpmnOrderingProvider(eventBus, canvas, translate) {
|
||||
level: 10,
|
||||
containers: [
|
||||
'bpmn:Collaboration',
|
||||
'bpmn:Process'
|
||||
'bpmn:FlowElementsContainer'
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -343,6 +343,48 @@ describe('features/modeling - ordering', function() {
|
||||
|
||||
});
|
||||
|
||||
|
||||
describe('inside subprocess', function() {
|
||||
|
||||
var diagramXML = require('./collapsed-subprocess.bpmn');
|
||||
|
||||
beforeEach(bootstrapModeler(diagramXML, { modules: testModules }));
|
||||
|
||||
|
||||
describe('should stay always in front', function() {
|
||||
|
||||
it('moving <Group> onto <StartEvent>', inject(function() {
|
||||
|
||||
// when
|
||||
move('Group', { x: 100, y: 0 }, 'StartEvent', false);
|
||||
|
||||
// then
|
||||
expectZOrder('StartEvent', 'Group');
|
||||
}));
|
||||
|
||||
|
||||
it('moving <Group> onto <Task>', inject(function() {
|
||||
|
||||
// when
|
||||
move('Group', { x: 200, y: 50 }, 'Task', false);
|
||||
|
||||
// then
|
||||
expectZOrder('Task', 'Group');
|
||||
}));
|
||||
|
||||
|
||||
it('move <Group> onto <SubProcess>', inject(function() {
|
||||
|
||||
// when
|
||||
move('Group', { x: 400, y: 0 }, 'SubProcess', false);
|
||||
|
||||
// then
|
||||
expectZOrder('SubProcess', 'Group');
|
||||
}));
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
@ -364,4 +406,51 @@ describe('features/modeling - ordering', function() {
|
||||
|
||||
});
|
||||
|
||||
|
||||
describe('data associations', function() {
|
||||
|
||||
var diagramXML = require('./data-association.bpmn');
|
||||
|
||||
beforeEach(bootstrapModeler(diagramXML, { modules: testModules }));
|
||||
|
||||
it('should render data associations infront of Collaboration', inject(function() {
|
||||
|
||||
// when
|
||||
var connection = connect('DataStore', 'Task_1');
|
||||
|
||||
// then
|
||||
expectZOrder('Collaboration_1', 'DataStore', connection);
|
||||
}));
|
||||
|
||||
|
||||
describe('inside subprocesses', function() {
|
||||
|
||||
it('should render data associations behind other Subprocess', inject(function() {
|
||||
|
||||
// assumne
|
||||
expectZOrder('SubProcess_1', 'SubProcess_2');
|
||||
|
||||
// when
|
||||
var connection = connect('DataReference_1', 'Task_1');
|
||||
|
||||
// then
|
||||
expectZOrder('SubProcess_1', connection, 'SubProcess_2');
|
||||
|
||||
}));
|
||||
|
||||
|
||||
it('should render in collapsed subprocess plane', inject(function() {
|
||||
|
||||
// when
|
||||
var connection = connect('DataReference_2', 'Task_2');
|
||||
|
||||
// then
|
||||
expectZOrder('collapsedSubProcess_plane', 'DataReference_2', connection);
|
||||
|
||||
}));
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
47
test/spec/features/ordering/collapsed-subprocess.bpmn
Normal file
47
test/spec/features/ordering/collapsed-subprocess.bpmn
Normal file
@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="sid-0fcc2144-457b-4505-9e44-ff673663e3bc" targetNamespace="http://www.signavio.com/bpmn20" exporter="Camunda Modeler" exporterVersion="3.0.1" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg.org/spec/BPMN/2.0/20100501/BPMN20.xsd">
|
||||
<category id="Category_1">
|
||||
<categoryValue id="CategoryValue_1" value="my group" />
|
||||
</category>
|
||||
<collaboration id="Collaboration_1">
|
||||
<participant id="Participant" processRef="Process_1" />
|
||||
</collaboration>
|
||||
<process id="Process_1" processType="None" isExecutable="false">
|
||||
<subProcess id="Activity_0cijtmw">
|
||||
<subProcess id="SubProcess" />
|
||||
<task id="Task" />
|
||||
<startEvent id="StartEvent" />
|
||||
<group id="Group" categoryValueRef="CategoryValue_1" />
|
||||
</subProcess>
|
||||
</process>
|
||||
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
||||
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_1">
|
||||
<bpmndi:BPMNShape id="Participant_di" bpmnElement="Participant" isHorizontal="true">
|
||||
<omgdc:Bounds x="156" y="118" width="304" height="172" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Activity_0cijtmw_di" bpmnElement="Activity_0cijtmw" isExpanded="false">
|
||||
<omgdc:Bounds x="270" y="150" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
</bpmndi:BPMNPlane>
|
||||
</bpmndi:BPMNDiagram>
|
||||
<bpmndi:BPMNDiagram id="BPMNDiagram_144105t">
|
||||
<bpmndi:BPMNPlane id="BPMNPlane_0njyhgb" bpmnElement="Activity_0cijtmw">
|
||||
<bpmndi:BPMNShape id="SubProcess_02cid6e_di" bpmnElement="SubProcess" isExpanded="true">
|
||||
<omgdc:Bounds x="428" y="160" width="350" height="200" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Task_0nb7h9d_di" bpmnElement="Task">
|
||||
<omgdc:Bounds x="288" y="279" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="StartEvent_0yve8vf_di" bpmnElement="StartEvent">
|
||||
<omgdc:Bounds x="180" y="301" width="36" height="36" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Group_1di" bpmnElement="Group">
|
||||
<omgdc:Bounds x="425" y="106" width="270" height="387" />
|
||||
<bpmndi:BPMNLabel>
|
||||
<omgdc:Bounds x="491" y="108" width="46" height="14" />
|
||||
</bpmndi:BPMNLabel>
|
||||
</bpmndi:BPMNShape>
|
||||
</bpmndi:BPMNPlane>
|
||||
</bpmndi:BPMNDiagram>
|
||||
</definitions>
|
57
test/spec/features/ordering/data-association.bpmn
Normal file
57
test/spec/features/ordering/data-association.bpmn
Normal file
@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="sid-0fcc2144-457b-4505-9e44-ff673663e3bc" targetNamespace="http://www.signavio.com/bpmn20" exporter="Camunda Modeler" exporterVersion="3.0.1" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg.org/spec/BPMN/2.0/20100501/BPMN20.xsd">
|
||||
<collaboration id="Collaboration_1">
|
||||
<participant id="Participant" processRef="Process_1" />
|
||||
</collaboration>
|
||||
<process id="Process_1" processType="None" isExecutable="false">
|
||||
<subProcess id="collapsedSubProcess">
|
||||
<task id="Task_2" />
|
||||
<dataObjectReference id="DataReference_2" dataObjectRef="DataObject_0pqzs5u" />
|
||||
<dataObject id="DataObject_0pqzs5u" />
|
||||
</subProcess>
|
||||
<dataStoreReference id="DataStore" />
|
||||
<subProcess id="SubProcess_1">
|
||||
<dataObjectReference id="DataReference_1" dataObjectRef="DataObject_0ltvnwb" />
|
||||
<dataObject id="DataObject_0ltvnwb" />
|
||||
<task id="Task_1" />
|
||||
</subProcess>
|
||||
<subProcess id="SubProcess_2" />
|
||||
</process>
|
||||
<category id="Category_1" />
|
||||
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
||||
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_1">
|
||||
<bpmndi:BPMNShape id="Participant_di" bpmnElement="Participant" isHorizontal="true">
|
||||
<omgdc:Bounds x="220" y="50" width="640" height="240" />
|
||||
<bpmndi:BPMNLabel />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="collapsedSubProcess_di" bpmnElement="collapsedSubProcess" isExpanded="false">
|
||||
<omgdc:Bounds x="270" y="150" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="SubProcess_di" bpmnElement="SubProcess_1" isExpanded="true">
|
||||
<omgdc:Bounds x="400" y="70" width="290" height="200" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="DataReference_1_di" bpmnElement="DataReference_1">
|
||||
<omgdc:Bounds x="612" y="195" width="36" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="Task_1_di" bpmnElement="Task_1">
|
||||
<omgdc:Bounds x="480" y="110" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="SubProcess_2_di" bpmnElement="SubProcess_2" isExpanded="true">
|
||||
<omgdc:Bounds x="700" y="70" width="140" height="140" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="DataStore_di" bpmnElement="DataStore">
|
||||
<omgdc:Bounds x="410" y="345" width="50" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
</bpmndi:BPMNPlane>
|
||||
</bpmndi:BPMNDiagram>
|
||||
<bpmndi:BPMNDiagram id="BPMNDiagram_144105t">
|
||||
<bpmndi:BPMNPlane id="BPMNPlane_0njyhgb" bpmnElement="collapsedSubProcess">
|
||||
<bpmndi:BPMNShape id="Task_2_di" bpmnElement="Task_2">
|
||||
<omgdc:Bounds x="200" y="140" width="100" height="80" />
|
||||
</bpmndi:BPMNShape>
|
||||
<bpmndi:BPMNShape id="DataReference_2_di" bpmnElement="DataReference_2">
|
||||
<omgdc:Bounds x="332" y="265" width="36" height="50" />
|
||||
</bpmndi:BPMNShape>
|
||||
</bpmndi:BPMNPlane>
|
||||
</bpmndi:BPMNDiagram>
|
||||
</definitions>
|
Loading…
x
Reference in New Issue
Block a user