BPMN.js 中边界事件节点的dockers的计算逻辑是什么 请用js代码详细说明
时间: 2024-02-24 17:54:08 浏览: 131
BPMN.js 中边界事件节点的 dockers 计算逻辑如下:
1. 获取边界事件节点的位置信息
```js
const bounds = element.businessObject.di.bounds;
const x = bounds.x;
const y = bounds.y;
const width = bounds.width;
const height = bounds.height;
```
2. 获取边界事件节点的边界信息
```js
const border = element.businessObject.border;
const borderWidth = border.width;
const borderRadius = border.radius;
```
3. 根据边界信息计算 dockers 的位置
```js
const dockers = [];
// 计算左边的 docker
dockers.push({
x: x - borderWidth - borderRadius,
y: y + height / 2
});
// 计算右边的 docker
dockers.push({
x: x + width + borderWidth + borderRadius,
y: y + height / 2
});
// 计算上边的 docker
dockers.push({
x: x + width / 2,
y: y - borderWidth - borderRadius
});
// 计算下边的 docker
dockers.push({
x: x + width / 2,
y: y + height + borderWidth + borderRadius
});
```
以上代码中,我们首先获取了边界事件节点的位置信息和边界信息,然后根据边界信息计算出左边、右边、上边、下边的 dockers 的位置,最终返回 dockers 数组。
阅读全文