From d38f9bec70c7e46d9e7662ba3925abc9cdd9370a Mon Sep 17 00:00:00 2001 From: Aiden Bai Date: Tue, 3 May 2022 10:16:09 -0700 Subject: [PATCH] Rename API and generalize router API --- assets/js/router.js | 19 +++---------------- layouts/partials/head.html | 13 ++++++++++--- 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/assets/js/router.js b/assets/js/router.js index bf7e3c859..81c25ac1c 100644 --- a/assets/js/router.js +++ b/assets/js/router.js @@ -1,25 +1,12 @@ import { router, navigate } from "https://unpkg.com/million@1.8.9-0/dist/router.mjs" -export const init = (loader) => { +export const attachSPARouting = (draw) => { // SPA navigation for access later window.navigate = navigate // We only mutate document.title and content within .singlePage element router(".singlePage") // We need on initial load, then subsequent redirs - window.addEventListener("million:navigate", () => callback(loader)) - window.addEventListener("DOMContentLoaded", () => callback(loader)) -} - -export const callback = (loader) => { // requestAnimationFrame() delays graph draw until SPA routing is finished - const draw = () => { - const container = document.getElementById("graph-container") - // retry if the graph is not ready - if (!container) return requestAnimationFrame(draw) - // clear the graph in case there is anything within it - container.textContent = "" - - loader() - } - requestAnimationFrame(draw) + window.addEventListener("million:navigate", () => requestAnimationFrame(draw)) + window.addEventListener("DOMContentLoaded", () => requestAnimationFrame(draw)) } diff --git a/layouts/partials/head.html b/layouts/partials/head.html index a81c9edd2..58ab82e0b 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -66,9 +66,15 @@ {{ $router := resources.Get "js/router.js" | resources.Fingerprint "md5" | resources.Minify }} {{else}}