如果复合节点在其他父节点之间有连接,则复合节点似乎不服从布局,但子节点没有连接。最好的展示方式是修改他们的 DAGRE 示例:
http://jsbin.com/gist/e52c2fbc0b09edd6ec46?html,输出
通过用这个替换他们的数据:
elements: {
nodes: [
{"data":{"id":"SimpleTest"}},
{"data":{"id":"child1","parent":"SimpleTest"}},
{"data":{"id":"child2","parent":"SimpleTest"}},
{"data":{"id":"subParent1"}},
{"data":{"id":"terminal0_socket","parent":"subParent1"}},
{"data":{"id":"subParent2"}},
{"data":{"id":"terminal1_socket","parent":"subParent2"}},
{"data":{"id":"terminal0"}},
{"data":{"id":"terminal1"}}
],
edges: [
{"data":{"source":"SimpleTest","target":"subParent1"}},
{"data":{"source":"SimpleTest","target":"subParent2"}},
{"data":{"source":"terminal0_socket","target":"terminal0"}},
{"data":{"source":"terminal1_socket","target":"terminal1"}}
]
},
布局尊重从子节点到非父节点的链接,但 SimpleTest 和两个子父节点之间的链接不被尊重。
我已经尝试通过分配类并将 layout() 传递给子图,然后只在其余节点上运行 grid 来仅在父级上运行布局,但这似乎也不起作用。
在某处有如何处理这种情况的例子吗?它出现在他们网站上的两个示例中(除非我弄错了),他们正在为父母手动设置位置。
我能看到的唯一解决方法是在子级之间添加虚拟链接以运行布局,然后从图表中过滤它们/之后隐藏它们,但我觉得有一种方法可以做到这一点,我没有看到......
谢谢!