После удаления вершины создайте ребро между смежными вершинами в mxgraph - PullRequest
0 голосов
/ 26 февраля 2020

После удаления вершины внутри графа я хочу создать ребро между двумя смежными вершинами, которые связаны с удаленной вершиной в 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. Как это сделать

1 Ответ

0 голосов
/ 28 февраля 2020
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. Затем создать ребро между этими двумя узлами.

...