2
0

remove-me.js 932 B

123456789101112131415161718192021222324252627
  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. htmx.defineExtension('remove-me', {
  11. onEvent: function (name, evt) {
  12. if (name === "htmx:afterProcessNode") {
  13. var elt = evt.detail.elt;
  14. if (elt.getAttribute) {
  15. maybeRemoveMe(elt);
  16. if (elt.querySelectorAll) {
  17. var children = elt.querySelectorAll("[remove-me], [data-remove-me");
  18. for (var i = 0; i < children.length; i++) {
  19. maybeRemoveMe(children[i]);
  20. }
  21. }
  22. }
  23. }
  24. }
  25. });
  26. })();