Link breaks through group and his nodes


#1

Hi, i have an issue with linked nodes in certain circumstances within my diagram.

I have a TableLayout that organize groups in a grid. Each group consists in an Header title and it is a “one column table” that collect below his nodes.
Each node is linked with other nodes. Of course.

The issue occurs when two nodes of the same group are linked together; they display like this:

As you can see, the right box is “splitting” from Group Header to Nodes list just to create a path for the link…

Is there a way to force another link path? Or keeping thight the distance betweend groups and nodes?
Thank you.


#2

What routing do your Links use? How would you like those links connecting two nodes in the same group to be routed?


#3

I’m using the AvoidNodes ruoting.
I would like to see those connections outside groups, no matter if they came up on top or bottom… just not in the middle of it :)


#4

What’s interesting is that there is special effort being made to have AvoidsNodes routing of Links that are in Groups to ignore the Group that they are in. That is because those Groups are often intended to be avoided by links that do not belong to the group. Whereas links that are internal to the group should be able to be routed normally, as if the (avoidable) containing group were not there to affect the routing.

You could try setting https://gojs.net/latest/api/symbols/Node.html#avoidableMargin to something like:

  { . . .,
    avoidableMargin: new go.Margin(30, 2, 2, 2),
    . . .

This is on your regular Node template(s), not on the Group. I’m not sure about the value you should use at the top margin, where I used 30 as a guess. Maybe it should be more, such as 40.