From e05da6316590f7b355b2526c2da78d4a3682b65d Mon Sep 17 00:00:00 2001 From: tdro Date: Sat, 24 Feb 2024 18:33:47 -0500 Subject: static/js/forms: Early persistence --- assets/js/index.js | 14 ++++++++++++-- static/js/forms.ts | 16 +++++++++++++++- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/assets/js/index.js b/assets/js/index.js index 69001ad..55a9bf2 100644 --- a/assets/js/index.js +++ b/assets/js/index.js @@ -739,8 +739,7 @@ }); }); [ - "storage", - "DOMContentLoaded" + "storage" ].forEach(function(event) { self.addEventListener(event, function() { let stylesheet; @@ -775,6 +774,17 @@ } }); }); + const early = setInterval(persistence, 4); + function persistence() { + if (document.styleSheets.length > 0) { + self.dispatchEvent(new Event("storage")); + clearInterval(early); + } + } + self.addEventListener("DOMContentLoaded", function() { + self.dispatchEvent(new Event("storage")); + clearInterval(early); + }); })(); (function() { const timeout = 300; diff --git a/static/js/forms.ts b/static/js/forms.ts index 533623f..e35a4b2 100644 --- a/static/js/forms.ts +++ b/static/js/forms.ts @@ -69,7 +69,7 @@ }); }); - ["storage", "DOMContentLoaded"].forEach(function (event) { + ["storage"].forEach(function (event) { self.addEventListener(event, function () { let stylesheet; @@ -106,4 +106,18 @@ } }); }); + + const early = setInterval(persistence, 4); + + function persistence() { + if (document.styleSheets.length > 0) { + self.dispatchEvent(new Event("storage")); + clearInterval(early); + } + } + + self.addEventListener("DOMContentLoaded", function () { + self.dispatchEvent(new Event("storage")); + clearInterval(early); + }); })(); -- cgit v1.2.3