Я пытаюсь создать складную древовидную структуру в Cytoscape, используя более широкое расположение, чтобы реплицировать D3 collapsible tree.Скрыть и показать дочерние узлы на узле Tap Cytoscape
Я пытаюсь повторить этот тип клика действия на узлах, но добавление восстановить функциональность в дополнении - Images & breadthfirst layout
Причины я выбрал Cytoscape, потому что у меня был сценарий, где дерево будет иметь узлы с более чем 1 родитель.
Я попытался добавить событие водопроводную, используя следующий код:
cy.on('tap', 'node', function() {
if (this.scratch().restData == null) {
// Save node data and remove
this.scratch({
restData: this.connectedEdges().targets().remove()
});
} else {
// Restore the removed nodes from saved data
this.scratch().restData.restore();
this.scratch({
restData: null
});
}
}
Но это удается только для сворачивания и разворачивания его непосредственные дочерние узлы (остальные узлы все еще видны), а также вызывает проблема при нажатии на листовые узлы.
Если кто-то знает способ расширения и свернуть узел, пожалуйста, помогите.
Edit: Ребята, если кто-нибудь знает решение для простого многоуровневого дерева также, что было бы также быть хорошим началом ...
Этот вопрос не имеет ничего общего с 'd3.js' и тег, вероятно, следует удалить. Если вы заинтересованы в d3, хотя 'cytoscape' выглядит так, как будто он создает то, что' d3' будет называть [силовым деревом] (http://bl.ocks.org/mbostock/95aa92e2f4e8345aaa55a4a94d41ce37). – Mark