aboutsummaryrefslogtreecommitdiff
path: root/static/js/ext/disable-element.js
diff options
context:
space:
mode:
Diffstat (limited to 'static/js/ext/disable-element.js')
-rw-r--r--static/js/ext/disable-element.js20
1 files changed, 20 insertions, 0 deletions
diff --git a/static/js/ext/disable-element.js b/static/js/ext/disable-element.js
new file mode 100644
index 0000000..0192661
--- /dev/null
+++ b/static/js/ext/disable-element.js
@@ -0,0 +1,20 @@
+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")
+}
+// Disable Submit Button
+htmx.defineExtension('disable-element', {
+ onEvent: function (name, evt) {
+ let elt = evt.detail.elt;
+ let target = elt.getAttribute("hx-disable-element");
+ let targetElements = (target == "self") ? [ elt ] : document.querySelectorAll(target);
+
+ for (var i = 0; i < targetElements.length; i++) {
+ if (name === "htmx:beforeRequest" && targetElements[i]) {
+ targetElements[i].disabled = true;
+ } else if (name == "htmx:afterRequest" && targetElements[i]) {
+ targetElements[i].disabled = false;
+ }
+ }
+ }
+});