Hi,
GoJS Version: 2.1.36 (Also noticed on 2.1.35)
This is my link config.
goMake(
go.Link,
{
relinkableFrom: true,
relinkableTo: true,
reshapable: true,
resegmentable: true,
},
{
routing: go.Link.AvoidsNodes,
adjusting: go.Link.End,
curve: go.Link.JumpOver,
corner: 5,
toShortLength: 4,
},
// link segments
new go.Binding('points').makeTwoWay(),
// link path shape
goMake(go.Shape, linkPathStyle()),
// link arrowhead
goMake(go.Shape, linkArrowheadStyle())
);
const linkPathStyle = () => {
return { isPanelMain: true, strokeWidth: 1, stroke: sassVariables['sandmanColors-gray'] };
};
const linkArrowheadStyle = () => {
return { toArrow: 'Standard', strokeWidth: 0, fill: sassVariables['sandmanColors-gray'] };
};
With this configuration of routing to avoid node overlap for links, this is the situation:
When I create a new link point that is overlapping a node, it allows me to do that. So I can have a state where link points can overlap another node. However, when I reload the diagram, the link will adjust itself to avoid the node and disregard the point that was causing a node overlap conflict.
The behavior we want is if one creates a new link point that was to cause this state, auto-adjusting should happen instantaneously so that the link actually never overlaps a node.
I have attached the before state where the link actually overlaps with the node. And the after state(after browser reload or diagram reinitialization) where the link auto-adjusts to avoid the node.
Desired behavior is “after” screenshot immediately as I create the conflicting link point.