From 86458d0fe0da81b1c8d482ac7850a6b4720349d7 Mon Sep 17 00:00:00 2001 From: tdro Date: Fri, 2 Sep 2022 03:13:53 -0400 Subject: static/js/pager.ts: Remove redundant event listener --- assets/js/index.js | 45 ++++++++++++++++++++++++++------------------- static/js/pager.ts | 46 ++++++++++++++++++++++++++++------------------ 2 files changed, 54 insertions(+), 37 deletions(-) diff --git a/assets/js/index.js b/assets/js/index.js index 9d92d09..a0c608f 100644 --- a/assets/js/index.js +++ b/assets/js/index.js @@ -3,17 +3,17 @@ // This code was bundled using `deno bundle` and it's not recommended to edit it manually (function() { - const url = self.location.href.split("#")[0]; const cookiesDisabled = !navigator.cookieEnabled; - let settings = { - pager: {} - }; if (cookiesDisabled) { document.cookie = "disabled"; document.cookie.indexOf("disabled"); return console.log("Pager is disabled due to cookie restrictions."); } - self.addEventListener("DOMContentLoaded", function() { + const settings1 = { + pager: {} + }; + const url1 = self.location.href.split("#")[0]; + const scrollRestore = (settings, url)=>{ if (history.scrollRestoration) history.scrollRestoration = "manual"; if (localStorage["settings"]) { settings = JSON.parse(localStorage["settings"]); @@ -33,27 +33,34 @@ } settings["pager"][url] = self.pageYOffset; localStorage["settings"] = JSON.stringify(settings); - }); - self.addEventListener("scroll", function() { + }; + const scrollTrack = (settings, url)=>{ const currentPosition = self.pageYOffset; settings["pager"][url] = currentPosition; localStorage["settings"] = JSON.stringify(settings); - }); + }; + const backTrack = (back, up, event)=>{ + if (document.body.contains(up) && up.contains(event.target)) { + event.preventDefault(); + window.scrollTo(0, 0); + } + if (document.body.contains(back) && back.contains(event.target)) { + if (history.length < 2) return; + event.preventDefault(); + history.go(-1); + } + }; self.addEventListener("DOMContentLoaded", function() { - const up = document.getElementById("top"); - const back = document.getElementById("back"); + scrollRestore(settings1, url1); self.addEventListener("click", function(event) { - if (document.body.contains(up) && up.contains(event.target)) { - event.preventDefault(); - window.scrollTo(0, 0); - } - if (document.body.contains(back) && back.contains(event.target)) { - if (history.length < 2) return; - event.preventDefault(); - history.go(-1); - } + const up = document.getElementById("top"); + const back = document.getElementById("back"); + backTrack(back, up, event); }); }); + self.addEventListener("scroll", function() { + scrollTrack(settings1, url1); + }); })(); (function() { const options = "targetWindow,width=700,height=500,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes"; diff --git a/static/js/pager.ts b/static/js/pager.ts index c77ba40..0de2ec1 100644 --- a/static/js/pager.ts +++ b/static/js/pager.ts @@ -1,7 +1,5 @@ (function () { - const url = self.location.href.split("#")[0]; const cookiesDisabled = !navigator.cookieEnabled; - let settings = { pager: {} }; if (cookiesDisabled) { document.cookie = "disabled"; @@ -9,7 +7,11 @@ return console.log("Pager is disabled due to cookie restrictions."); } - self.addEventListener("DOMContentLoaded", function () { + const settings = { pager: {} }; + + const url = self.location.href.split("#")[0]; + + const scrollRestore = (settings, url) => { if (history.scrollRestoration) history.scrollRestoration = "manual"; if (localStorage["settings"]) { settings = JSON.parse(localStorage["settings"]); @@ -29,28 +31,36 @@ } settings["pager"][url] = self.pageYOffset; localStorage["settings"] = JSON.stringify(settings); - }); + }; - self.addEventListener("scroll", function () { + const scrollTrack = (settings, url) => { const currentPosition = self.pageYOffset; settings["pager"][url] = currentPosition; localStorage["settings"] = JSON.stringify(settings); - }); + }; - self.addEventListener("DOMContentLoaded", function () { - const up = document.getElementById("top"); - const back = document.getElementById("back"); + const backTrack = (back, up, event) => { + if (document.body.contains(up) && up.contains(event.target)) { + event.preventDefault(); + window.scrollTo(0, 0); + } + if (document.body.contains(back) && back.contains(event.target)) { + if (history.length < 2) return; + event.preventDefault(); + history.go(-1); + } + }; + self.addEventListener("DOMContentLoaded", function () { + scrollRestore(settings, url); self.addEventListener("click", function (event) { - if (document.body.contains(up) && up.contains(event.target)) { - event.preventDefault(); - window.scrollTo(0, 0); - } - if (document.body.contains(back) && back.contains(event.target)) { - if (history.length < 2) return; - event.preventDefault(); - history.go(-1); - } + const up = document.getElementById("top"); + const back = document.getElementById("back"); + backTrack(back, up, event); }); }); + + self.addEventListener("scroll", function () { + scrollTrack(settings, url); + }); })(); -- cgit v1.2.3