The first step has already been completed, that being making configureMessage and translateGraph work for both the schema view and the graph view. Similar to this situation, there's a lot of logic scattered throughout the application that is bug prone and unsustainable.
Things like how every modal has its own state property regulating whether its rendered or not, meaning that programatically displaying a modal (such as the error page which is not user input) involves making sure that you hide every other modal. If one adds a modal at the moment and forgets this small detail, it adds another bug.
The selectedNode state property getting way too complicated and probably needs to be completely redone.
The split pane for the object viewer is a headache because if anything modifies the selectedNode property, they have to ensure that _updateDimensions is called or it will cause a bug.
Every tool that uses it should probably have its own unique selectedNode and it should only get programmatically wiped in places such as when the schema/graph view gets toggled and the node/link will never exist again.
There are probably other things that I'm forgetting.
The first step has already been completed, that being making
configureMessage
andtranslateGraph
work for both the schema view and the graph view. Similar to this situation, there's a lot of logic scattered throughout the application that is bug prone and unsustainable.selectedNode
state property getting way too complicated and probably needs to be completely redone.selectedNode
property, they have to ensure that_updateDimensions
is called or it will cause a bug.selectedNode
and it should only get programmatically wiped in places such as when the schema/graph view gets toggled and the node/link will never exist again.