almende / vis

⚠️ This project is not maintained anymore! Please go to https://github.com/visjs
7.85k stars 1.48k forks source link

Fix: Network nodes ignoring widthConstraint after hover #4154

Open moppius opened 6 years ago

moppius commented 6 years ago

There is an issue where the widthConstraint value of a node appears to be ignored after the mouse has hovered over a node.

I tracked this down to the ctx not being initialized correctly the second time the nodes are refreshed, leading to an incorrect font face and size being supplied to the method that splits long text strings, which causes the measurements for the calculated pixel size of the string to be entirely incorrect.

This bug has been reported in a few different issues - see the discussion thread on this #3928 for my investigation and reasoning for the fix. I basically just pass the context through in another couple of places to ensure it's set before the string split is calculated.

I've added an example HTML file to validate the issue as hoverLabelSplitterEdgeCase.html in the existing test/network/ folder.

This PR fixes #3872 and fixes #3928 (although one should probably be closed as a dupe).