Skip to content

Commit

Permalink
chore(auto-place): adjust to new auto place API
Browse files Browse the repository at this point in the history
  • Loading branch information
philippfromme committed Apr 1, 2020
1 parent f5753a9 commit 64917e1
Showing 1 changed file with 29 additions and 25 deletions.
54 changes: 29 additions & 25 deletions lib/features/auto-place/BpmnAutoPlaceUtil.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import {
} from 'diagram-js/lib/layout/LayoutUtil';

import {
deconflictPosition,
findFreePosition,
generateGetNextPosition,
getConnectedDistance
} from 'diagram-js/lib/features/auto-place/AutoPlaceUtil';

Expand Down Expand Up @@ -46,13 +47,15 @@ export function getFlowNodePosition(source, element) {
var sourceTrbl = asTRBL(source);
var sourceMid = getMid(source);

var horizontalDistance = getConnectedDistance(source, 'x', function(connection) {
return is(connection, 'bpmn:SequenceFlow');
var horizontalDistance = getConnectedDistance(source, {
filter: function(connection) {
return is(connection, 'bpmn:SequenceFlow');
}
});

var orientation = 'left',
rowSize = 80,
margin = 30;
var margin = 30,
minDistance = 80,
orientation = 'left';

if (is(source, 'bpmn:BoundaryEvent')) {
orientation = getOrientation(source, source.host, -25);
Expand All @@ -62,29 +65,30 @@ export function getFlowNodePosition(source, element) {
}
}

function getVerticalDistance(orient) {
if (orient.indexOf('top') != -1) {
return -1 * rowSize;
} else if (orient.indexOf('bottom') != -1) {
return rowSize;
} else {
return 0;
}
}

var position = {
x: sourceTrbl.right + horizontalDistance + element.width / 2,
y: sourceMid.y + getVerticalDistance(orientation)
};

var escapeDirection = {
var nextPositionDirection = {
y: {
margin: margin,
rowSize: rowSize
minDistance: minDistance
}
};

return deconflictPosition(source, element, position, escapeDirection);
return findFreePosition(source, element, position, generateGetNextPosition(nextPositionDirection));
}


function getVerticalDistance(orientation, minDistance) {
if (orientation.indexOf('top') != -1) {
return -1 * minDistance;
} else if (orientation.indexOf('bottom') != -1) {
return minDistance;
} else {
return 0;
}
}


Expand All @@ -100,14 +104,14 @@ export function getTextAnnotationPosition(source, element) {
y: sourceTrbl.top - 50 - element.height / 2
};

var escapeDirection = {
var nextPositionDirection = {
y: {
margin: -30,
rowSize: 20
minDistance: 20
}
};

return deconflictPosition(source, element, position, escapeDirection);
return findFreePosition(source, element, position, generateGetNextPosition(nextPositionDirection));
}


Expand All @@ -123,12 +127,12 @@ export function getDataElementPosition(source, element) {
y: sourceTrbl.bottom + 40 + element.width / 2
};

var escapeDirection = {
var nextPositionDirection = {
x: {
margin: 30,
rowSize: 30
minDistance: 30
}
};

return deconflictPosition(source, element, position, escapeDirection);
return findFreePosition(source, element, position, generateGetNextPosition(nextPositionDirection));
}

0 comments on commit 64917e1

Please sign in to comment.