modal_handler.js 888 B

12345678910111213141516171819202122232425262728293031
  1. class ModalHandler {
  2. static exists() {
  3. return document.getElementById("modal-container") !== null;
  4. }
  5. static open(fragment) {
  6. if (ModalHandler.exists()) {
  7. return;
  8. }
  9. let container = document.createElement("div");
  10. container.id = "modal-container";
  11. container.appendChild(document.importNode(fragment, true));
  12. document.body.appendChild(container);
  13. let closeButton = document.querySelector("a.btn-close-modal");
  14. if (closeButton !== null) {
  15. closeButton.onclick = (event) => {
  16. event.preventDefault();
  17. ModalHandler.close();
  18. };
  19. }
  20. }
  21. static close() {
  22. let container = document.getElementById("modal-container");
  23. if (container !== null) {
  24. container.parentNode.removeChild(container);
  25. }
  26. }
  27. }