| | |
| | | .on("click", (_, d) => { |
| | | window.location.href = baseUrl + '/' + decodeURI(d.id).replace(/\s+/g, '-') |
| | | }) |
| | | .on("mouseover", function (_, d) { |
| | | .on("mouseover", function(_, d) { |
| | | d3.selectAll(".node") |
| | | .transition() |
| | | .duration(100) |
| | |
| | | .transition() |
| | | .duration(200) |
| | | .style("opacity", 1) |
| | | }).on("mouseleave", function (_, d) { |
| | | }).on("mouseleave", function(_, d) { |
| | | d3.selectAll(".node") |
| | | .transition() |
| | | .duration(200) |
| | |
| | | const labels = graphNode.append("text") |
| | | .attr("dx", 12) |
| | | .attr("dy", ".35em") |
| | | .text((d) => content[decodeURI(d.id).replace(/\s+/g, '-')]?.title || "Untitled") |
| | | .text((d) => content[decodeURI(d.id).replace(/\s+/g, '-')]?.title || d.id.replace("-", " ")) |
| | | .style("opacity", 0) |
| | | .style("pointer-events", "none") |
| | | .call(drag(simulation)); |