Browse code

Initial htmx npm packages installation

Benjamin Roth authored on25/05/2023 09:52:13
Showing1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,27 @@
1
+(function(){
2
+    function maybeRemoveMe(elt) {
3
+        var timing = elt.getAttribute("remove-me") || elt.getAttribute("data-remove-me");
4
+        if (timing) {
5
+            setTimeout(function () {
6
+                elt.parentElement.removeChild(elt);
7
+            }, htmx.parseInterval(timing));
8
+        }
9
+    }
10
+
11
+    htmx.defineExtension('remove-me', {
12
+        onEvent: function (name, evt) {
13
+            if (name === "htmx:afterProcessNode") {
14
+                var elt = evt.detail.elt;
15
+                if (elt.getAttribute) {
16
+                    maybeRemoveMe(elt);
17
+                    if (elt.querySelectorAll) {
18
+                        var children = elt.querySelectorAll("[remove-me], [data-remove-me]");
19
+                        for (var i = 0; i < children.length; i++) {
20
+                            maybeRemoveMe(children[i]);
21
+                        }
22
+                    }
23
+                }
24
+            }
25
+        }
26
+    });
27
+})();