繁体   English   中英

将节点动态添加到JointJS图。 在joint.layout.DirectedGraph中设置排名顺序?

[英]Dynamically adding nodes to JointJS graph. Set rank ordering in joint.layout.DirectedGraph?

我正在JointJS中实现一个流程图,用户可以删除元素并添加新元素,并以各种顺序重新链接事物。 该图使用了带有Dagre的joint.layout.DirectedGraph库的自动布局功能,每次删除,添加,取消链接或重新链接时都会重新组织图形。 一个奇怪的问题出现了,我不知道如何处理它。

假设我有一个带有两个输出端口的“fork”进程,每个端口一个,顶部有一个in端口。 根据数组中元素的顺序,自动布局有时可以将左侧端口的子元素放在右侧端口的子元素的右侧,因此生成的链接会交叉。

是否有一些直接的方式来影响布局中的排名顺序? 我希望当事情发生变化时我可以重新排序数组中的元素,因此从Dagre的角度来看它们更容易处理,但我不确定这个排序实际上是如何实现的。 更好的是一些类似于az索引的属性,但是我可以设置从左到右的偏差,而Dagre会尊重,但我不相信这样的东西隐藏在代码中。

有没有人有一些想法或建议我如何擦除布局以避免这种情况发生?

提前谢谢了!

所以最后我只是测试了问题情况并改变了它们在元素数组中的顺序。 实际上,Directed Graph / Dagre库按照它们存储在数组中的顺序从左到右对相同等级的元素进行排序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM