Prevent jump in hte beginning, and format code

This commit is contained in:
Ruben van de Ven 2021-03-13 13:29:40 +01:00
parent d471ab197a
commit f348decd02
1 changed files with 76 additions and 69 deletions

View File

@ -84,7 +84,7 @@ function splitText(text) {
};
function getTitle(obj) {
if(obj.parent) {
if (obj.parent) {
return "sub of " + obj.parent.split('#', 1)[0].replace(/_/g, " ")
}
return obj['@id'].split('#', 1)[0].replace(/_/g, " ")
@ -129,7 +129,7 @@ function buildGraph(data) {
.iterations(2) // increase to make more rigid
)
.force("charge", d3.forceManyBody()
.strength(-50)
.strength(-40)
)
.force("center", d3.forceCenter(width / 2, height / 2))
.force("collision", d3.forceCollide(function (d) {
@ -300,6 +300,13 @@ function buildGraph(data) {
});
// simulate the first bit without drawing, so we don't have the 'jumping' graph in the beginning
for (var i = 0, n = Math.ceil(Math.log(simulation.alphaMin()) / Math.log(1 - simulation.alphaDecay())); i < n; ++i) {
simulation.tick();
}
return svg.node();
}
@ -333,7 +340,7 @@ const drag = simulation => {
.on("end", dragended);
};
function selectNode(evt, node, d3Node){
function selectNode(evt, node, d3Node) {
console.log(evt, node, d3Node);
document.querySelectorAll('svg .node').forEach(n => n.classList.remove('selected'));
d3Node._groups[0][node.index].classList.add('selected');
@ -344,7 +351,7 @@ function selectNode(evt, node, d3Node){
const url = getUrl(node);
const hrefEl = infoEl.querySelector('.nodeHref');
hrefEl.textContent = getTitle(node);
hrefEl.setAttribute('href',url);
hrefEl.setAttribute('href', url);
infoEl.querySelector('.nodeContents').src = url;
}