aboutsummaryrefslogtreecommitdiff
path: root/static/js/ext/restored.js
diff options
context:
space:
mode:
authorAlexander Neonxp Kiryukhin <i@neonxp.ru>2024-10-12 02:52:22 +0300
committerAlexander Neonxp Kiryukhin <i@neonxp.ru>2024-10-12 02:53:52 +0300
commitd05ea66f4bbcf0cc5c8908f3435c68de1b070fa1 (patch)
tree7c7a769206646f2b81a0eda0680f0be5033a4197 /static/js/ext/restored.js
Начальная версияv0.0.1
Diffstat (limited to 'static/js/ext/restored.js')
-rw-r--r--static/js/ext/restored.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/static/js/ext/restored.js b/static/js/ext/restored.js
new file mode 100644
index 0000000..a314b07
--- /dev/null
+++ b/static/js/ext/restored.js
@@ -0,0 +1,19 @@
+if (htmx.version && !htmx.version.startsWith("1.")) {
+ console.warn("WARNING: You are using an htmx 1 extension with htmx " + htmx.version +
+ ". It is recommended that you move to the version of this extension found on https://htmx.org/extensions")
+}
+htmx.defineExtension('restored', {
+ onEvent : function(name, evt) {
+ if (name === 'htmx:restored'){
+ var restoredElts = evt.detail.document.querySelectorAll(
+ "[hx-trigger='restored'],[data-hx-trigger='restored']"
+ );
+ // need a better way to do this, would prefer to just trigger from evt.detail.elt
+ var foundElt = Array.from(restoredElts).find(
+ (x) => (x.outerHTML === evt.detail.elt.outerHTML)
+ );
+ var restoredEvent = evt.detail.triggerEvent(foundElt, 'restored');
+ }
+ return;
+ }
+})