diff options
Diffstat (limited to 'static/js/ext/disable-element.js')
-rw-r--r-- | static/js/ext/disable-element.js | 20 |
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; + } + } + } +}); |