As seen in the image, the link breakpoint should be from the point I point with the arrow.
But it breaks at the bottom. What is the reason? Can you help me?
My link template
GO(go.Link,
{
name: "LINK",
routing: go.Link.AvoidsNodes,
corner: 5,
curve: go.Link.JumpOver,
reshapable: true,
resegmentable: true,
relinkableFrom: true,
relinkableTo: true,
adjusting: go.Link.End,
fromEndSegmentLength: 10,
toEndSegmentLength: 15,
fromShortLength: fromArrow.shortLength !== undefined ? fromArrow.shortLength : fromArrow.name ? 3 : NaN,
toShortLength: toArrow.shortLength !== undefined ? toArrow.shortLength : toArrow.name ? 3 : NaN
},
new go.Binding("points").makeTwoWay(),
GO(go.Shape,
{
stroke: borderColor,
strokeWidth: borderSize,
strokeDashArray: borderDashArray,
margin: 5
},
new go.Binding("stroke", "font", function (val, node) {
return val && val.borderColor ? val.borderColor : "#000";
}),
new go.Binding("strokeWidth", "", function (val) {
var _width = internalHelper._getBorderWidth(val);
if (!_width) {
_width = borderSize;
}
return _width;
}),
new go.Binding("strokeDashArray", "", function (val) {
var _borderDashArray = internalHelper._getBorderDashArray(val);
if (!_borderDashArray) {
_borderDashArray = borderDashArray;
}
return _borderDashArray;
})
),
GO(go.Shape, {
fromArrow: fromArrow.name,
fill: fromArrow.filled ? borderColor : "white",
stroke: borderColor
},
new go.Binding("stroke", "font", function (val, node) {
return val && val.borderColor ? val.borderColor : "#000";
}),
new go.Binding("fill", "font", function (val, node) {
return val && val.borderColor ? val.borderColor : "#000";
})
),
GO(go.Shape, {
toArrow: toArrow.name,
fill: toArrow.filled ? borderColor : "white",
stroke: borderColor
},
new go.Binding("stroke", "font", function (val, node) {
return val && val.borderColor ? val.borderColor : "#000";
}),
new go.Binding("fill", "font", function (val, node) {
return val && val.borderColor ? val.borderColor : "#000";
})
),
GO(go.Panel, "Auto",
{
cursor: "move",
minSize: new go.Size(30, 15),
_isLinkLabel: true
},
new go.Binding("background", "text", function (s) {
if (s)
return EN.isValidColor(canvasBackground) ? canvasBackground : "transparent";
else
return "transparent";
}),
GO(go.Shape, // the label background, which becomes transparent around the edges
{
name: "LINKSHAPE",
fill: "rgba(0,0,0,0.05)",
stroke: "rgba(0,0,0,0.33)",
strokeDashArray: [3, 3]
},
new go.Binding("stroke", "", function (node) {
var _color = internalHelper._getBorderColor(node.data);
if (!_color && args.getFontSettings) {
_color = internalHelper._getBorderColor({ font: args.getFontSettings() });
}
if (!_color) {
_color = node && node.isSelected ? "rgba(0,0,0,0.33)" : "transparent";
}
return _color;
}).ofObject(),
new go.Binding("fill", "", function (node) {
var _color = internalHelper._getBackgroundColor(node.data);
if (!_color && args.getFontSettings) {
_color = internalHelper._getBackgroundColor({ font: args.getFontSettings() });
}
if (!_color) {
_color = node.isSelected ? "rgba(0,0,0,0.05)" : "transparent";
}
return _color;
}).ofObject()
),
GO(go.TextBlock,
{
textAlign: "center",
font: "10pt helvetica, arial, sans-serif",
stroke: "black",
margin: 4,
editable: true,
minSize: new go.Size(30, 10)
},
internalHelper._getTextBlockFontOptions(args.getFontSettings),
new go.Binding("text", "text").makeTwoWay()
),
new go.Binding("segmentOffset", "segmentOffset", go.Point.parse).makeTwoWay(go.Point.stringify),
new go.Binding("segmentIndex").makeTwoWay(),
new go.Binding("segmentFraction").makeTwoWay()
)
));