Layout Cytoscape.js:在鼠标选项卡后重新计算图形布局

Layout Cytoscape.js:在鼠标选项卡后重新计算图形布局,layout,cytoscape.js,dagre,Layout,Cytoscape.js,Dagre,与此原型类似,我使用Cytoscape.js使用dagre布局创建一个交互式有向无环图 具体而言,以下代码用于折叠和展开节点: cy.nodes().on('click', function(e) { if (this.hasClass('open')) { this.removeClass('open'); this.successors().removeClass('open').addClass('hidden'); } else { var children = this.n

与此原型类似,我使用Cytoscape.js使用dagre布局创建一个交互式有向无环图

具体而言,以下代码用于折叠和展开节点:

cy.nodes().on('click', function(e) {
if (this.hasClass('open')) {
  this.removeClass('open');
  this.successors().removeClass('open').addClass('hidden');
} else {
  var children = this.neighborhood('.hidden');
  this.removeClass("collapsed");
  children.removeClass("hidden");
  children.incomers(".hidden").removeClass("hidden");
  this.addClass('open');
}
});
是否有一种方法可以在每次折叠或展开节点时重新计算图形的布局


提前感谢

您可以随时运行布局。您还可以在特定的元素子集上运行布局:


在您的情况下,我想您应该在事件回调结束时运行布局。

您可以随时运行布局。您还可以在特定的元素子集上运行布局:

在您的情况下,我想您应该在事件回调结束时运行布局