From 05ff3effd89f3b75443bfcfce4455902c783d27f Mon Sep 17 00:00:00 2001 From: tdro Date: Wed, 12 Oct 2022 19:43:11 -0400 Subject: static/js/pager: Keep it simple and restore on scroll change --- static/js/pager.ts | 40 ++++------------------------------------ 1 file changed, 4 insertions(+), 36 deletions(-) (limited to 'static') diff --git a/static/js/pager.ts b/static/js/pager.ts index 411c3c5..01d40d7 100644 --- a/static/js/pager.ts +++ b/static/js/pager.ts @@ -53,29 +53,6 @@ } }; - const fragmentClear = (entries) => { - for (let entry = 0; entry < entries.length; entry++) { - if (self.location.hash) { - self.history.replaceState(null, "", url); - } - } - }; - - const fragmentRelease = (fragmentCallback) => { - try { - const fragmentObserver = new IntersectionObserver(fragmentCallback, { - threshold: 1.0, - }); - const fragments = document.querySelectorAll("[id]"); - - for (let fragment = 0; fragment < fragments.length; fragment++) { - fragmentObserver.observe(fragments[fragment]); - } - } catch (error) { - console.log("The intersection observer is not supported", error); - } - }; - self.addEventListener("DOMContentLoaded", function () { scrollRestore(url); self.addEventListener("click", function (event) { @@ -85,20 +62,11 @@ }); }); - let scrolls = 0; - - let once = (action) => { - once = function () {}; - action(); - }; - self.addEventListener("scroll", function () { scrollTrack(url); - if (scrolls > 3) { - once(function () { - fragmentRelease(fragmentClear); - }); - } - scrolls++; + }); + + self.addEventListener("hashchange", function () { + scrollRestore(url); }); })(); -- cgit v1.2.3