From d3dcc58ff7827f9295822d76df702f936309676d Mon Sep 17 00:00:00 2001 From: Andrew Simachev Date: Tue, 9 Jul 2024 10:36:41 +0200 Subject: [PATCH] Link distance and node radius updates --- dist/workers/graph.js | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/dist/workers/graph.js b/dist/workers/graph.js index 19bcf470d7..486a559bdb 100644 --- a/dist/workers/graph.js +++ b/dist/workers/graph.js @@ -82,6 +82,7 @@ let rootId = ''; let root = null; let paused = false; let isOver = ''; +let maxEdges = 0; addEventListener('message', ({ data }) => { if (this[data.id]) { @@ -170,7 +171,8 @@ initForces = () => { simulation.force('link') .links(edges) - .distance(link.distance); + .distance(link.distance) + .strength(d => d.source.layout == d.target.layout ? 1 : 0.5); simulation.force('forceX') .strength(d => d.isOrphan ? forceX.strength : 0) @@ -788,6 +790,21 @@ const getRadius = (d) => { if (settings.icon && images[d.src] && (transform.k >= transformThresholdHalf)) { k = 2; }; + + let e = 0; + if (settings.link) { + e += d.linkCnt + }; + if (settings.relation) { + e += d.relationCnt; + }; + + maxEdges = Math.max(maxEdges, e); + + if (maxEdges > 0) { + k += e / maxEdges; + }; + return d.radius / transform.k * k; };