react-d3-graph
react-d3-graph copied to clipboard
Provide an onChange api when some properties from inputed data changes
Is your feature request related to a problem? Please describe. This feature request will allow better connections between the graph and the user interactions.
Describe the solution you'd like
Provide an onChange method when a property involving data is changed, like changing an x or y coordinate by dragging a node. This is the only case that I can think of now but there could be more in the future.
An example could be the following
function App(){
const [data, setData] = useState(myInitialData);
return (
<Graph
id="my-graph"
data={data}
onChange={(data) => setData(data)}
)
}
Describe your use case If I want to save the state of my graph with the layout changed by a user.
Describe alternatives you've considered
I currently need to keep a reference over the graph and access it by ref.current.state.nodes which is not really the "react way" of doing things.
Perhaps you found a gap in the documentation. We already have onNodePositionChange. I understand this would be useful for some. Still, I would highly recommend us to keep our API with granular callback/hook functions such as onMouseOverNode, onMouseOverLink, onZoomChange, onNodePositionChange and so forth.
Nevertheless, let's keep this open to understanding if there are others interested in it.
Thanks for pointing this method @danielcaldas , I did not see that it was accessible. I think I missed it because it is not used in the <Graph /> component in the documentation when every other available method is used.
#405 was merged. But let's keep this open to see if anyone else stumbles upon this use case you've raised.