【问题标题】:After removing vertex, create an edge between the adjacent vetices in mxgraph删除顶点后,在 mxgraph 中的相邻顶点之间创建一条边
【发布时间】:2020-02-26 12:12:58
【问题描述】:

删除图中的一个顶点后,我想在 MxGraph 中与已删除顶点相连的两个相邻顶点之间创建一条边。例如:A->B->C->D 是一个图,删除“C”顶点后,我想要“B”和“D”之间的边。图表看起来像 A->B->D。我可以像这样删除特定的单元格。

var keyHandler = new mxKeyHandler(graph);
            keyHandler.bindKey(46, function(evt)
            {
                if (graph.isEnabled())
                {
                    graph.removeCells();
                }
});

但无法在 mxGraph 中的相邻顶点之间创建边。如何做到这一点

【问题讨论】:

    标签: javascript mxgraph


    【解决方案1】:
    keyHandler.bindKey(46, function(evt)
    {
      if (graph.isEnabled())
      {
        const selectedCell=graph.getSelectionCell();
        if(graph.getIncomingEdges(selectedCell)[0]) {
          let source = graph.getIncomingEdges(selectedCell)[0].source;
          if (graph.getOutgoingEdges(selectedCell)[0]) {
            let target = graph.getOutgoingEdges(selectedCell)[0].target;
            graph.removeCells();
            graph.insertEdge(parent, null, '', source, target);
    
          } else {
            oldVertex = source;
            graph.removeCells();
          }
        }
      }
    });
    

    我们可以通过'getIncomingEdges'方法获取上一个节点,通过'getOutgoingEdges'方法获取下一个节点。然后在这两个节点之间创建一条边。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-30
      • 2016-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多