NodeLabelDraggingTool - Adding a line between a node and its floating label


I’m using the NodeLabelDraggingTool and it’s work fine. Now i’m trying to add a dashed line between my “main” node and his “floating label”.
Here is a picture of what I want to do :


Any ideas ?

Thank you

I have extended the extensions/NodeLabelDragging.html node template to include a “tether” line between the node’s “ICON” element and its “LABEL” element. The code is at:

Thank you very much, that is exaclty what I wanted.
Have a nice day !


I have the exact same requirement. But after some tests, I have a problem of rendering with links.


This behaviour happen under certain conditions. For example, with your initial model, it’s harder to reproduce. This bug doesn’t occur without the call of ‘computeTetherGeometry’ function.

With gojs-debug, I have a lot of “failure to validate parts” errors.

My minimal model in order to have the problem 100% of time:

         "loc":"-260 0",
         "alignment":"0.5 0.5 -145.86074999999994 63.206325000000035"
         "loc":"-260 120",
         "text":"First down",
         "alignment":"0.5 0.5 79.0079062499999 53.482275000000016"

Thank you in advance for your help !

That’s wild. We’ll investigate. Thanks for reporting the bug in that sample.

The binding errors are because the conversion function isn’t returning a Geometry.

However, we’re still looking into the other problem.

Yes, indeed I notice that with gojs-debug. Thanks for your investigation.

Note: there seems to be an infinite loop when dropping the node when the link has disappeared.


Using an ofObject Binding on the Shape.geometry is causing there to be improper invalidation of panels, which causes that “failure” message and sometimes an infinite loop.

I have updated the sample. It now uses a custom PanelLayout in order to avoid the panel invalidations that happen when setting the Shape.geometry via a binding.

Thank Walter. Looks good to me!


A post was split to a new topic: LinkLabelDraggingTool - Adding a line between a link and its floating label