MrBlenny / react-flow-chart

🌊 A flexible, stateless, declarative flow chart library for react.
https://mrblenny.github.io/react-flow-chart/index.html
MIT License
1.46k stars 306 forks source link

Set Node minimum size based on PortGroup size #162

Closed ajuhos closed 4 years ago

ajuhos commented 4 years ago

Use react-resize-observer in Ports and notify the Node about size changes. In Node, set the minimum size (minWidth and minHeight css props) based on the size of Ports. Size of Ports is calculated from max(top.width, bottom.width) and max(left.height, right.height).

This way node size is still calculated based on NodeInner's size, but cannot be smaller than the minimal size specified by the ports. Also this magically solves the issue with Links getting rendered at the wrong place when PortGroup is larger than the side of the Node (as it won't be larger ever).