fix(create-participant-behavior): ensure available children
* Ensure there are leftover children to calculate createConstraints Closes #1133
This commit is contained in:
parent
f5d55fe5dd
commit
5d5f33c38b
|
@ -48,6 +48,11 @@ export default function CreateParticipantBehavior(canvas, eventBus, modeling) {
|
|||
!isConnection(element);
|
||||
});
|
||||
|
||||
// ensure for available children to calculate bounds
|
||||
if (!children.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
var childrenBBox = getBBox(children);
|
||||
|
||||
var participantBounds = getParticipantBounds(shape, childrenBBox);
|
||||
|
|
|
@ -342,6 +342,39 @@ describe('features/modeling - create participant', function() {
|
|||
|
||||
});
|
||||
|
||||
|
||||
describe('fitting participant (only groups)', function() {
|
||||
|
||||
var processDiagramXML = require('../../../../fixtures/bpmn/collaboration/process-empty.bpmn');
|
||||
|
||||
beforeEach(bootstrapModeler(processDiagramXML, { modules: testModules }));
|
||||
|
||||
it('should fit participant', inject(
|
||||
function(canvas, create, dragging, elementFactory, modeling) {
|
||||
|
||||
// given
|
||||
var process = canvas.getRootElement(),
|
||||
processGfx = canvas.getGraphics(process),
|
||||
participant = elementFactory.createParticipantShape(),
|
||||
participantBo = participant.businessObject,
|
||||
groupElement = elementFactory.createShape({ type: 'bpmn:Group' });
|
||||
|
||||
modeling.createShape(groupElement, { x: 100, y: 100 }, process);
|
||||
|
||||
// when
|
||||
create.start(canvasEvent({ x: 100, y: 100 }), participant);
|
||||
dragging.hover({ element: process, gfx: processGfx });
|
||||
|
||||
// then
|
||||
var defaultSize = elementFactory._getDefaultSize(participantBo);
|
||||
|
||||
expect(participant.width).to.equal(defaultSize.width);
|
||||
expect(participant.height).to.equal(defaultSize.height);
|
||||
}
|
||||
));
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue