That is a sad-looking diagram. We’re happy to fix it using the awesome powers of bpmn-js:
const elementRegistry = bpmnJS.get("elementRegistry"),
modeling = bpmnJS.get("modeling");
const connections = elementRegistry.filter((element) => element.waypoints);
connections.forEach((connection) => {
modeling.updateWaypoints(connection, [
getMid(connection.source),
getMid(connection.target)
]);
modeling.layoutConnection(connection, {
connectionStart: getMid(connection.source),
connectionEnd: getMid(connection.target)
});
});
CodeSandbox: https://codesandbox.io/s/fix-connection-layout-example-jz7xq?file=/src/index.js:572-1057
Turns something like this
into this