diff --git a/CHANGELOG.md b/CHANGELOG.md index 1560b157..1b5782f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ All notable changes to [bpmn-js](https://github.com/bpmn-io/bpmn-js) are documen ___Note:__ Yet to be released changes appear here._ * `FEAT`: add initial snapping when creating associations +* `FIX`: allow message flows between collapsed pools ## 1.1.1 diff --git a/lib/features/rules/BpmnRules.js b/lib/features/rules/BpmnRules.js index 53c6a13c..745a6582 100644 --- a/lib/features/rules/BpmnRules.js +++ b/lib/features/rules/BpmnRules.js @@ -221,7 +221,10 @@ function getOrganizationalParent(element) { } if (is(element, 'bpmn:Participant')) { - return getBusinessObject(element).processRef; + return ( + getBusinessObject(element).processRef || + getBusinessObject(element) + ); } } while ((element = element.parent)); diff --git a/test/spec/features/rules/BpmnRules.collapsedPools.bpmn b/test/spec/features/rules/BpmnRules.collapsedPools.bpmn new file mode 100644 index 00000000..431fc4ef --- /dev/null +++ b/test/spec/features/rules/BpmnRules.collapsedPools.bpmn @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/spec/features/rules/BpmnRulesSpec.js b/test/spec/features/rules/BpmnRulesSpec.js index cff477a7..3e4c8fee 100644 --- a/test/spec/features/rules/BpmnRulesSpec.js +++ b/test/spec/features/rules/BpmnRulesSpec.js @@ -926,6 +926,51 @@ describe('features/modeling/rules - BpmnRules', function() { }); + describe('participants', function() { + + var testXML = require('./BpmnRules.collapsedPools.bpmn'); + + beforeEach(bootstrapModeler(testXML, { modules: testModules })); + + + it('connect CollapsedPool_A -> CollapsedPool_B', inject(function() { + + expectCanConnect('CollapsedPool_A', 'CollapsedPool_B', { + sequenceFlow: false, + messageFlow: true, + association: false, + dataAssociation: false + }); + + })); + + + it('connect CollapsedPool_A -> ExpandedPool', inject(function() { + + expectCanConnect('CollapsedPool_A', 'ExpandedPool', { + sequenceFlow: false, + messageFlow: true, + association: false, + dataAssociation: false + }); + + })); + + + it('connect ExpandedPool -> CollapsedPool_A', inject(function() { + + expectCanConnect('ExpandedPool', 'CollapsedPool_A', { + sequenceFlow: false, + messageFlow: true, + association: false, + dataAssociation: false + }); + + })); + + }); + + describe('message flows', function() { var testXML = require('./BpmnRules.messageFlow.bpmn');