in src/components/graph-view-v2.js [280:319]
componentDidUpdate(prevProps: IGraphViewProps, prevState: IGraphViewState) {
const { nodesMap, edgesMap } = this.state;
const { allowMultiselect, selected } = this.props;
this.layoutEngineAdjustNodes();
const forceReRender = this.hasLayoutEngine();
// Note: the order is intentional
// remove old edges
this.removeOldEdges(prevState.edges, edgesMap);
// remove old nodes
this.removeOldNodes(prevState.nodes, prevState.nodesMap, nodesMap);
// add new nodes
this.addNewNodes(
this.state.nodes,
prevState.nodesMap,
selected,
prevProps.selected,
forceReRender
);
// add new edges
this.addNewEdges(
this.state.edges,
prevState.edgesMap,
selected,
prevProps.selected,
forceReRender
);
if (prevProps.allowMultiselect !== allowMultiselect) {
this.renderGraphControls();
}
this.setState({
componentUpToDate: true,
});
}