fix(move-to-origin): ignore children of subprocesses
Closes camunda/camunda-modeler#444
This commit is contained in:
parent
dd60e47136
commit
1f667e0184
|
@ -100,7 +100,7 @@ function BpmnEditorActions(
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
elements = elementRegistry.filter(function(element) {
|
elements = elementRegistry.filter(function(element) {
|
||||||
return element !== rootElement;
|
return element !== rootElement && !is(element.parent, 'bpmn:SubProcess');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,12 +8,14 @@ var pick = require('lodash/object/pick');
|
||||||
|
|
||||||
var getBBox = require('diagram-js/lib/util/Elements').getBBox;
|
var getBBox = require('diagram-js/lib/util/Elements').getBBox;
|
||||||
|
|
||||||
|
var getParent = require('lib/features/modeling/util/ModelingUtil').getParent;
|
||||||
|
|
||||||
|
|
||||||
var bpmnEditorActionsModule = require('../../../../lib/features/editor-actions'),
|
var bpmnEditorActionsModule = require('../../../../lib/features/editor-actions'),
|
||||||
modelingModule = require('../../../../lib/features/modeling'),
|
modelingModule = require('../../../../lib/features/modeling'),
|
||||||
coreModule = require('../../../../lib/core');
|
coreModule = require('../../../../lib/core');
|
||||||
|
|
||||||
var basicXML = require('../../../fixtures/bpmn/simple.bpmn'),
|
var basicXML = require('../../../fixtures/bpmn/nested-subprocesses.bpmn'),
|
||||||
collaborationXML = require('../../../fixtures/bpmn/collaboration.bpmn');
|
collaborationXML = require('../../../fixtures/bpmn/collaboration.bpmn');
|
||||||
|
|
||||||
|
|
||||||
|
@ -48,6 +50,23 @@ describe('features/editor-actions', function() {
|
||||||
|
|
||||||
describe('collaboration', testMoveToOrigin(collaborationXML));
|
describe('collaboration', testMoveToOrigin(collaborationXML));
|
||||||
|
|
||||||
|
describe('subprocesses', function() {
|
||||||
|
|
||||||
|
beforeEach(bootstrapModeler(basicXML, { modules: [ bpmnEditorActionsModule, modelingModule, coreModule ] }));
|
||||||
|
|
||||||
|
it('should ignore children of subprocesses', inject(function(editorActions, elementRegistry) {
|
||||||
|
// given
|
||||||
|
var startEvent = elementRegistry.get('StartEvent_3'),
|
||||||
|
startEventParent = getParent(startEvent);
|
||||||
|
|
||||||
|
// when
|
||||||
|
editorActions.trigger('moveToOrigin');
|
||||||
|
|
||||||
|
// then
|
||||||
|
expect(getParent(startEvent)).to.equal(startEventParent);
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue