Aiden Bai
2022-05-30 a1293f820a733978f1da8ebd13e676f46634f60d
assets/js/router.js
@@ -1,16 +1,26 @@
import { router, navigate, reload, prefetch } from "https://unpkg.com/million@1.9.6/dist/router.mjs"
import {
  apply,
  navigate,
  prefetch,
  router,
} from "https://unpkg.com/million@1.9.8-0/dist/router.mjs"
export const attachSPARouting = (draw) => {
export const attachSPARouting = (init, rerender) => {
  // Attach SPA functions to the global Million namespace
  window.Million = {
    router,
    apply,
    navigate,
    reload,
    prefetch,
  };
  router(".singlePage")
  // We need on initial load, then subsequent redirs
  // requestAnimationFrame() delays graph draw until SPA routing is finished
  reload(draw)
  window.addEventListener("DOMContentLoaded", () => requestAnimationFrame(draw))
    router,
  }
  const render = () => requestAnimationFrame(rerender)
  window.addEventListener("DOMContentLoaded", () => {
    apply((doc) => init(doc))
    init()
    router(".singlePage")
    render()
  })
  window.addEventListener("million:navigate", render)
}