componentDidUpdate()

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,
    });
  }