diff --git a/demoV2/Layouter/AdjoinMatrixGraph.js b/demoV2/Layouter/AdjoinMatrixGraph.js index d1048aa..9cc79c6 100644 --- a/demoV2/Layouter/AdjoinMatrixGraph.js +++ b/demoV2/Layouter/AdjoinMatrixGraph.js @@ -20,7 +20,6 @@ const isNeighbor = function (itemA, itemB) { SV.registerLayout('AdjoinMatrixGraph', { - sourcesPreprocess(sources) { let dataLength = sources.length; let matrixNodeLength = dataLength * dataLength; diff --git a/demoV2/Layouter/LinkList.js b/demoV2/Layouter/LinkList.js index e24668f..951d011 100644 --- a/demoV2/Layouter/LinkList.js +++ b/demoV2/Layouter/LinkList.js @@ -1,11 +1,11 @@ SV.registerLayout('LinkList', { - + sourcesPreprocess(sources) { let root = sources[0]; - if(root.external) { + if (root.external) { root.rootExternal = root.external; delete root.external; } @@ -15,7 +15,7 @@ SV.registerLayout('LinkList', { defineOptions() { return { - node: { + node: { default: { type: 'link-list-node', label: '[data]', @@ -28,7 +28,7 @@ SV.registerLayout('LinkList', { } }, link: { - next: { + next: { type: 'line', sourceAnchor: 2, targetAnchor: 6, @@ -36,7 +36,7 @@ SV.registerLayout('LinkList', { stroke: '#333', endArrow: 'default', startArrow: { - path: G6.Arrow.circle(2, -1), + path: G6.Arrow.circle(2, -1), fill: '#333' } } @@ -50,7 +50,7 @@ SV.registerLayout('LinkList', { stroke: '#333', endArrow: 'default', startArrow: { - path: G6.Arrow.circle(2, -1), + path: G6.Arrow.circle(2, -1), fill: '#333' } } @@ -85,32 +85,17 @@ SV.registerLayout('LinkList', { }, - /** - * 对子树进行递归布局 - * @param node - * @param parent - */ - layoutItem(node, prev, layoutOptions) { - if(!node) { - return null; - } - - let width = node.get('size')[0]; - - if(prev) { - node.set('y', prev.get('y')); - node.set('x', prev.get('x') + layoutOptions.xInterval + width); - } - - if(node.next) { - this.layoutItem(node.next, node, layoutOptions); - } - }, - - layout(elements, layoutOptions) { - let root = elements[0]; - this.layoutItem(root, null, layoutOptions); + for (let i = 0; i < elements.length; i++) { + let node = elements[i], + prev = elements[1 - 1], + width = node.get('size')[0]; + + if (prev) { + node.set('y', prev.get('y')); + node.set('x', prev.get('x') + layoutOptions.xInterval + width); + } + } } }); diff --git a/demoV2/Layouter/LinkStack.js b/demoV2/Layouter/LinkStack.js index 3eb5fbd..9634ddd 100644 --- a/demoV2/Layouter/LinkStack.js +++ b/demoV2/Layouter/LinkStack.js @@ -83,7 +83,7 @@ let height = node.get('size')[1]; - if(prev) { + if(prev && node.isSameGroup(prev)) { node.set('x', prev.get('x')); node.set('y', prev.get('y') - layoutOptions.yInterval - height); } diff --git a/demoV2/demo2.html b/demoV2/demo2.html index 5eeb3ce..ff7f464 100644 --- a/demoV2/demo2.html +++ b/demoV2/demo2.html @@ -1,360 +1,193 @@ +
+ + +