In my application I have the ability to wrap a circle with a larger circle. If a user does this then I need the arrow to point to the larger circle. What’s actually happening though is that the arrow looks like it’s not going to the actual circular shape. In this picture the top is the desired result but the bottom is whats’ actually happening
Here’s the code for the smaller circle and larger circle. As you can see they both have a portId binding and do the opposite. So if large circle exists then the portId for small circle is null and portId for large circle is ‘’, and vice versa
I’ve also already tested out the binding and I can see it is being triggered at the correct time and going down the correct path so I’m not sure why it doesn’t work as expected
thanks for the reply! Out of curiosity why do you suggest not to fiddle with portId? Don’t I still need to use portId so that it goes to the actual circular shape and not the panel?
So I was still getting the same issue even with your solution which eventually led me to another piece of code that was the culprit. I was setting a background colour to transparent on the panel which was drawing a transparent background. Removing that makes the arrows work properly.
The problem I’m facing now though is that when I transition from the small circle to the small circle covered by the large circle, the arrow does not automatically update to reference the large circle. It only updates when I move any of the nodes at which point it recomputes the links and adjusts the arrow.
Do you have any suggestions for updating links? I tried calling invalidateRoute but that wasn’t working. My hypothesis for why it’s not working is because when i call invalidateRoute the larger circle still hasn’t been drawn/rendered yet.