aboutsummaryrefslogtreecommitdiff
path: root/static
diff options
context:
space:
mode:
authortdro <tdro@noreply.example.com>2022-09-02 03:13:53 -0400
committertdro <tdro@noreply.example.com>2022-09-02 03:13:53 -0400
commit86458d0fe0da81b1c8d482ac7850a6b4720349d7 (patch)
tree054f166299dc1d412b6d4df8086ce1a43ab21671 /static
parent89b84076599158502fcb31e49b72ba4229bf8bb3 (diff)
downloadcanory-86458d0fe0da81b1c8d482ac7850a6b4720349d7.tar.gz
canory-86458d0fe0da81b1c8d482ac7850a6b4720349d7.tar.bz2
canory-86458d0fe0da81b1c8d482ac7850a6b4720349d7.zip
static/js/pager.ts: Remove redundant event listener
Diffstat (limited to 'static')
-rw-r--r--static/js/pager.ts46
1 files changed, 28 insertions, 18 deletions
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);
+ });
})();