@dlutwuwei
2017-06-07T15:15:38.000000Z
字数 511
阅读 646
outsource
最近看了几个图表UI库,发现D3.js的功能最为强大,底层api支持得比较完善, example中实现的例子完备,但是由于我们的需求比较特殊,基本没有直接可用的插件,只能提取功能二次开发.

我们需要实现的功能分三块:
1. 每个节点有上下左右四个锚点
2. 每个锚点可以连接多个不同节点
3. 连接线有出和入的区别
1. 每组内分多个层级,层级通过拖拽自动增加。
2. 组顶部有一个或多个入口节点,组内、组间有连接线,连接也有出和入的区别
3. 组内或组件节点的移动只能移动在某个层级上,层级中节点按照一行排布,间距相等

1. 曲线有一个小的默认弧度,即使是直连
2. 曲线的弧度和距离正相关,两个节点之间的不同连接线弧度需要微调
3. 交错曲线,尽量减少曲线交错
4. 一个节点出和入的连接线
1. 面板主要是一些功能按钮,比如放大,缩小,和很多功能按钮
拖拽等动作的支持需要自主开发