fix(copy-paste): adjust categoryValueRef when group is copied
Closes #958
This commit is contained in:
parent
576a3dec15
commit
1575b5b26f
|
@ -101,6 +101,10 @@ export default function BpmnCopyPaste(
|
||||||
descriptor.parent = rootElement;
|
descriptor.parent = rootElement;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (descriptor.type === 'bpmn:Group') {
|
||||||
|
newBusinessObject.categoryValueRef = oldBusinessObject.categoryValueRef;
|
||||||
|
}
|
||||||
|
|
||||||
if (is(parent, 'bpmn:Lane')) {
|
if (is(parent, 'bpmn:Lane')) {
|
||||||
descriptor.parent = parent.parent;
|
descriptor.parent = parent.parent;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.2.0-dev">
|
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.2.0-dev">
|
||||||
|
<bpmn:category id="Category">
|
||||||
|
<bpmn:categoryValue id="CategoryValue" value="Group" />
|
||||||
|
</bpmn:category>
|
||||||
<bpmn:process id="Process_1" isExecutable="false">
|
<bpmn:process id="Process_1" isExecutable="false">
|
||||||
<bpmn:subProcess id="Sub_non_interrupt" />
|
<bpmn:subProcess id="Sub_non_interrupt" />
|
||||||
<bpmn:subProcess id="Sub_event_subprocess" triggeredByEvent="true" />
|
<bpmn:subProcess id="Sub_event_subprocess" triggeredByEvent="true" />
|
||||||
|
@ -11,6 +14,7 @@
|
||||||
<bpmn:timerEventDefinition />
|
<bpmn:timerEventDefinition />
|
||||||
</bpmn:boundaryEvent>
|
</bpmn:boundaryEvent>
|
||||||
<bpmn:transaction id="Sub_transaction" />
|
<bpmn:transaction id="Sub_transaction" />
|
||||||
|
<bpmn:group id="Group" categoryValueRef="CategoryValue" />
|
||||||
</bpmn:process>
|
</bpmn:process>
|
||||||
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
|
||||||
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
|
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
|
||||||
|
@ -38,6 +42,9 @@
|
||||||
<bpmndi:BPMNShape id="Transaction_1so7kki_di" bpmnElement="Sub_transaction" isExpanded="true">
|
<bpmndi:BPMNShape id="Transaction_1so7kki_di" bpmnElement="Sub_transaction" isExpanded="true">
|
||||||
<dc:Bounds x="329" y="207" width="140" height="120" />
|
<dc:Bounds x="329" y="207" width="140" height="120" />
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
|
<bpmndi:BPMNShape id="Group_di" bpmnElement="Group">
|
||||||
|
<dc:Bounds x="529" y="40" width="140" height="120" />
|
||||||
|
</bpmndi:BPMNShape>
|
||||||
</bpmndi:BPMNPlane>
|
</bpmndi:BPMNPlane>
|
||||||
</bpmndi:BPMNDiagram>
|
</bpmndi:BPMNDiagram>
|
||||||
</bpmn:definitions>
|
</bpmn:definitions>
|
||||||
|
|
|
@ -21,7 +21,10 @@ import {
|
||||||
|
|
||||||
import DescriptorTree from './DescriptorTree';
|
import DescriptorTree from './DescriptorTree';
|
||||||
|
|
||||||
import { is } from 'lib/util/ModelUtil';
|
import {
|
||||||
|
getBusinessObject,
|
||||||
|
is
|
||||||
|
} from 'lib/util/ModelUtil';
|
||||||
|
|
||||||
|
|
||||||
describe('features/copy-paste', function() {
|
describe('features/copy-paste', function() {
|
||||||
|
@ -403,6 +406,25 @@ describe('features/copy-paste', function() {
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
it('should copy & paste groups',
|
||||||
|
inject(function(elementRegistry, canvas, copyPaste, modeling) {
|
||||||
|
|
||||||
|
// when
|
||||||
|
copyPasteElement(elementRegistry, canvas, copyPaste, modeling, 'Group');
|
||||||
|
|
||||||
|
var group = elementRegistry.filter(function(element) {
|
||||||
|
return element.type === 'bpmn:Group';
|
||||||
|
})[0];
|
||||||
|
|
||||||
|
var categoryValue = getBusinessObject(group).categoryValueRef;
|
||||||
|
|
||||||
|
expect(group).to.exist;
|
||||||
|
expect(categoryValue).to.exist;
|
||||||
|
expect(categoryValue.id).to.equal('CategoryValue');
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue