CytoscapeJS 删除节点并移动边缘

CytoscapeJS remove node and shift edges

在 CytoscapeJS 中,我想删除一个节点(或 "hide" 一个节点),然后得到的行为是——在删除该节点时——我传播边缘关系。换句话说,如果我有 A -> B -> C,我删除了 B,我希望有 A -> C,而不是 AC 作为不同的节点他们之间没有优势。有没有办法在 Cytoscape 中做到这一点?还是我必须推出自己的解决方案?

在删除 B 之前是这样的:

var A = B.incomers().nodes()[0];
var C = B.outgoers().nodes()[0];

cy.add({
  data: { source: A.id(), target: C.id() } // ...
});

如果 B 有超过 1 个出局者或超过 1 个入局者,则需要循环。