Add comments

This commit is contained in:
Aiden Bai 2022-04-29 13:03:22 -07:00
parent 4aaa748023
commit d703cd8c0e
No known key found for this signature in database
GPG Key ID: D37584388675FF3A
3 changed files with 16 additions and 21 deletions

View File

@ -1,19 +1,6 @@
{ {
"arrowParens": "always",
"bracketSameLine": false,
"bracketSpacing": true,
"embeddedLanguageFormatting": "auto",
"htmlWhitespaceSensitivity": "css",
"insertPragma": false,
"jsxSingleQuote": false,
"printWidth": 100, "printWidth": 100,
"proseWrap": "preserve",
"quoteProps": "as-needed", "quoteProps": "as-needed",
"requirePragma": false, "trailingComma": "all",
"semi": true, "tabWidth": 2
"singleQuote": false,
"tabWidth": 2,
"trailingComma": "es5",
"useTabs": false,
"vueIndentScriptAndStyle": false
} }

View File

@ -1,6 +1,8 @@
async function drawGraph(url, baseUrl, pathColors, depth, enableDrag, enableLegend, enableZoom) { async function drawGraph(url, baseUrl, pathColors, depth, enableDrag, enableLegend, enableZoom) {
if (!document.getElementById("graph-container")) return; const container = document.getElementById("graph-container");
document.getElementById("graph-container").textContent = ""; // We should clear the graph in case there is anything within it
if (!container) return;
container.textContent = "";
const { index, links, content } = await fetchData; const { index, links, content } = await fetchData;
const curPage = url.replace(baseUrl, ""); const curPage = url.replace(baseUrl, "");
@ -8,6 +10,10 @@ async function drawGraph(url, baseUrl, pathColors, depth, enableDrag, enableLege
const parseIdsFromLinks = (links) => [ const parseIdsFromLinks = (links) => [
...new Set(links.flatMap((link) => [link.source, link.target])), ...new Set(links.flatMap((link) => [link.source, link.target])),
]; ];
// links is mutated by d3
// we want to use links later on, so we make a copy and pass
// that one to d3
const copyLinks = JSON.parse(JSON.stringify(links)); const copyLinks = JSON.parse(JSON.stringify(links));
const neighbours = new Set(); const neighbours = new Set();
@ -77,8 +83,8 @@ async function drawGraph(url, baseUrl, pathColors, depth, enableDrag, enableLege
.on("end", enableDrag ? dragended : noop); .on("end", enableDrag ? dragended : noop);
}; };
const height = Math.max(document.getElementById("graph-container").offsetHeight, 250); const height = Math.max(container.offsetHeight, 250);
const width = document.getElementById("graph-container").offsetWidth; const width = container.offsetWidth;
const simulation = d3 const simulation = d3
.forceSimulation(data.nodes) .forceSimulation(data.nodes)
@ -88,7 +94,7 @@ async function drawGraph(url, baseUrl, pathColors, depth, enableDrag, enableLege
d3 d3
.forceLink(data.links) .forceLink(data.links)
.id((d) => d.id) .id((d) => d.id)
.distance(40) .distance(40),
) )
.force("center", d3.forceCenter()); .force("center", d3.forceCenter());
@ -224,7 +230,7 @@ async function drawGraph(url, baseUrl, pathColors, depth, enableDrag, enableLege
const scale = transform.k; const scale = transform.k;
const scaledOpacity = Math.max((scale - 1) / 3.75, 0); const scaledOpacity = Math.max((scale - 1) / 3.75, 0);
labels.attr("transform", transform).style("opacity", scaledOpacity); labels.attr("transform", transform).style("opacity", scaledOpacity);
}) }),
); );
} }

View File

@ -51,6 +51,7 @@
window.navigate = navigate; window.navigate = navigate;
router(".singlePage"); router(".singlePage");
const callback = () => { const callback = () => {
// RAF waits for Million to complete diffing, then draw
requestAnimationFrame(() => { requestAnimationFrame(() => {
drawGraph( drawGraph(
{{strings.TrimRight "/" .Page.Permalink}}, {{strings.TrimRight "/" .Page.Permalink}},
@ -63,6 +64,7 @@
)} )}
); );
}; };
// We need on initial load, then subsequent redirs
window.addEventListener("million:navigate", callback); window.addEventListener("million:navigate", callback);
window.addEventListener("DOMContentLoaded", callback); window.addEventListener("DOMContentLoaded", callback);
</script> </script>