mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-09-16 05:49:43 +02:00
Fix for classDiagram-v2 support for cardinality label positioning
This commit is contained in:
@@ -141,7 +141,7 @@ export const positionEdgeLabel = (edge, paths) => {
|
|||||||
let y = edge.y;
|
let y = edge.y;
|
||||||
if (path) {
|
if (path) {
|
||||||
// debugger;
|
// debugger;
|
||||||
const pos = utils.calcTerminalLabelPosition(0, 'start_left', path);
|
const pos = utils.calcTerminalLabelPosition(edge.arrowTypeStart ? 10 : 0, 'start_left', path);
|
||||||
x = pos.x;
|
x = pos.x;
|
||||||
y = pos.y;
|
y = pos.y;
|
||||||
}
|
}
|
||||||
@@ -153,7 +153,11 @@ export const positionEdgeLabel = (edge, paths) => {
|
|||||||
let y = edge.y;
|
let y = edge.y;
|
||||||
if (path) {
|
if (path) {
|
||||||
// debugger;
|
// debugger;
|
||||||
const pos = utils.calcTerminalLabelPosition(0, 'start_right', path);
|
const pos = utils.calcTerminalLabelPosition(
|
||||||
|
edge.arrowTypeStart ? 10 : 0,
|
||||||
|
'start_right',
|
||||||
|
path
|
||||||
|
);
|
||||||
x = pos.x;
|
x = pos.x;
|
||||||
y = pos.y;
|
y = pos.y;
|
||||||
}
|
}
|
||||||
@@ -165,7 +169,7 @@ export const positionEdgeLabel = (edge, paths) => {
|
|||||||
let y = edge.y;
|
let y = edge.y;
|
||||||
if (path) {
|
if (path) {
|
||||||
// debugger;
|
// debugger;
|
||||||
const pos = utils.calcTerminalLabelPosition(0, 'end_left', path);
|
const pos = utils.calcTerminalLabelPosition(edge.arrowTypeEnd ? 10 : 0, 'end_left', path);
|
||||||
x = pos.x;
|
x = pos.x;
|
||||||
y = pos.y;
|
y = pos.y;
|
||||||
}
|
}
|
||||||
@@ -177,7 +181,7 @@ export const positionEdgeLabel = (edge, paths) => {
|
|||||||
let y = edge.y;
|
let y = edge.y;
|
||||||
if (path) {
|
if (path) {
|
||||||
// debugger;
|
// debugger;
|
||||||
const pos = utils.calcTerminalLabelPosition(0, 'end_right', path);
|
const pos = utils.calcTerminalLabelPosition(edge.arrowTypeEnd ? 10 : 0, 'end_right', path);
|
||||||
x = pos.x;
|
x = pos.x;
|
||||||
y = pos.y;
|
y = pos.y;
|
||||||
}
|
}
|
||||||
|
@@ -410,7 +410,7 @@ const calcTerminalLabelPosition = (terminalMarkerSize, position, _points) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Traverse only 25 total distance along points to find cardinality point
|
// Traverse only 25 total distance along points to find cardinality point
|
||||||
const distanceToCardinalityPoint = 25;
|
const distanceToCardinalityPoint = 25 + terminalMarkerSize;
|
||||||
|
|
||||||
let remainingDistance = distanceToCardinalityPoint;
|
let remainingDistance = distanceToCardinalityPoint;
|
||||||
let center;
|
let center;
|
||||||
@@ -437,7 +437,7 @@ const calcTerminalLabelPosition = (terminalMarkerSize, position, _points) => {
|
|||||||
prevPoint = point;
|
prevPoint = point;
|
||||||
});
|
});
|
||||||
// if relation is present (Arrows will be added), change cardinality point off-set distance (d)
|
// if relation is present (Arrows will be added), change cardinality point off-set distance (d)
|
||||||
let d = 10;
|
let d = 10 + terminalMarkerSize * 0.5;
|
||||||
//Calculate Angle for x and y axis
|
//Calculate Angle for x and y axis
|
||||||
let angle = Math.atan2(points[0].y - center.y, points[0].x - center.x);
|
let angle = Math.atan2(points[0].y - center.y, points[0].x - center.x);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user