feat: make elementFactory._getDefaultSize public

This has the benefit of using the public API method across our 
code base.
This commit is contained in:
Martin Stamm 2021-08-09 12:09:45 +02:00
parent 1551bd47a6
commit 251720d08e
No known key found for this signature in database
GPG Key ID: B3A641060A8CBCF4
4 changed files with 27 additions and 24 deletions

View File

@ -6,7 +6,11 @@ import {
import inherits from 'inherits';
import { is } from '../../util/ModelUtil';
import {
getBusinessObject,
getDi,
is
} from '../../util/ModelUtil';
import {
isExpanded
@ -127,7 +131,7 @@ ElementFactory.prototype.createBpmnElement = function(elementType, attrs) {
delete attrs.eventDefinitionType;
}
size = this._getDefaultSize(businessObject);
size = this.getDefaultSize(businessObject, di);
attrs = assign({
businessObject: businessObject,
@ -139,54 +143,56 @@ ElementFactory.prototype.createBpmnElement = function(elementType, attrs) {
};
ElementFactory.prototype._getDefaultSize = function(semantic) {
ElementFactory.prototype.getDefaultSize = function(element, di) {
if (is(semantic, 'bpmn:SubProcess')) {
var bo = getBusinessObject(element);
di = di || getDi(element);
if (isExpanded(semantic)) {
if (is(bo, 'bpmn:SubProcess')) {
if (isExpanded(bo, di)) {
return { width: 350, height: 200 };
} else {
return { width: 100, height: 80 };
}
}
if (is(semantic, 'bpmn:Task')) {
if (is(bo, 'bpmn:Task')) {
return { width: 100, height: 80 };
}
if (is(semantic, 'bpmn:Gateway')) {
if (is(bo, 'bpmn:Gateway')) {
return { width: 50, height: 50 };
}
if (is(semantic, 'bpmn:Event')) {
if (is(bo, 'bpmn:Event')) {
return { width: 36, height: 36 };
}
if (is(semantic, 'bpmn:Participant')) {
if (isExpanded(semantic)) {
if (is(bo, 'bpmn:Participant')) {
if (isExpanded(bo, di)) {
return { width: 600, height: 250 };
} else {
return { width: 400, height: 60 };
}
}
if (is(semantic, 'bpmn:Lane')) {
if (is(bo, 'bpmn:Lane')) {
return { width: 400, height: 100 };
}
if (is(semantic, 'bpmn:DataObjectReference')) {
if (is(bo, 'bpmn:DataObjectReference')) {
return { width: 36, height: 50 };
}
if (is(semantic, 'bpmn:DataStoreReference')) {
if (is(bo, 'bpmn:DataStoreReference')) {
return { width: 50, height: 50 };
}
if (is(semantic, 'bpmn:TextAnnotation')) {
if (is(bo, 'bpmn:TextAnnotation')) {
return { width: 100, height: 30 };
}
if (is(semantic, 'bpmn:Group')) {
if (is(bo, 'bpmn:Group')) {
return { width: 300, height: 300 };
}

View File

@ -110,7 +110,7 @@ export default function ToggleElementCollapseBehaviour(
this.postExecuted([ 'shape.toggleCollapse' ], LOW_PRIORITY, function(e) {
var shape = e.context.shape,
defaultSize = elementFactory._getDefaultSize(shape),
defaultSize = elementFactory.getDefaultSize(shape),
newBounds;
if (shape.collapsed) {

View File

@ -207,12 +207,12 @@ export default function BpmnReplace(
// apply same width and default height
newElement.width = element.width;
newElement.height = elementFactory._getDefaultSize(newBusinessObject).height;
newElement.height = elementFactory.getDefaultSize(newElement).height;
}
if (!rules.allowed('shape.resize', { shape: newBusinessObject })) {
newElement.height = elementFactory._getDefaultSize(newBusinessObject).height;
newElement.width = elementFactory._getDefaultSize(newBusinessObject).width;
newElement.height = elementFactory.getDefaultSize(newElement).height;
newElement.width = elementFactory.getDefaultSize(newElement).width;
}
newBusinessObject.name = oldBusinessObject.name;

View File

@ -335,7 +335,6 @@ describe('features/modeling - create participant', function() {
beforeEach(bootstrapModeler(processDiagramXML, { modules: testModules }));
var participant,
participantBo,
process,
processGfx;
@ -346,7 +345,6 @@ describe('features/modeling - create participant', function() {
processGfx = canvas.getGraphics(process);
participant = elementFactory.createParticipantShape();
participantBo = participant.businessObject;
create.start(canvasEvent({ x: 100, y: 100 }), participant);
@ -357,7 +355,7 @@ describe('features/modeling - create participant', function() {
it('should fit participant', inject(function(elementFactory) {
// then
var defaultSize = elementFactory._getDefaultSize(participantBo);
var defaultSize = elementFactory.getDefaultSize(participant);
expect(participant.width).to.equal(defaultSize.width);
expect(participant.height).to.equal(defaultSize.height);
@ -423,7 +421,6 @@ describe('features/modeling - create participant', function() {
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);
@ -433,7 +430,7 @@ describe('features/modeling - create participant', function() {
dragging.hover({ element: process, gfx: processGfx });
// then
var defaultSize = elementFactory._getDefaultSize(participantBo);
var defaultSize = elementFactory.getDefaultSize(participant);
expect(participant.width).to.equal(defaultSize.width);
expect(participant.height).to.equal(defaultSize.height);