| import EventWindow from "/app/js/ui/EventWindow.js"; | |||||
| class Modal{ | |||||
| constructor(){ | |||||
| this.__currentModalEl = null; | |||||
| this.__initialized = false; | |||||
| EventWindow.listen("onclick", (function(event){ | |||||
| if (event.target === this.__currentModalEl){ | |||||
| this.close_modal(); | |||||
| } | |||||
| }).bind(this)); | |||||
| } | |||||
| get currentModalElement(){ | |||||
| return this.__currentModalEl; | |||||
| } | |||||
| open_modal_by_id(idname){ | |||||
| if (this.__initialized === true && this.__currentModalEl === null){ | |||||
| var el = document.getElementById(idname); | |||||
| if (el){ | |||||
| return this.open_modal_element(el); | |||||
| } | |||||
| } | |||||
| return this; | |||||
| } | |||||
| open_modal_element(el){ | |||||
| if (this.__initialized === true, this.__currentModalEl === null && el.classList.contains("modal")){ | |||||
| el.classList.add("modal-visible"); | |||||
| this.__currentModalEl = el; | |||||
| } | |||||
| return this; | |||||
| } | |||||
| close_modal(){ | |||||
| if (this.__currentModalEl !== null){ | |||||
| this.__currentModalEl.classList.remove("modal-visible"); | |||||
| } | |||||
| return this; | |||||
| } | |||||
| initialize_btn_element(el){ | |||||
| if (this.__initialized === true){ | |||||
| if (el.hasAttribute("data-modal-open")){ | |||||
| } else if (el.hasAttribute("data-modal-close")){ | |||||
| } else if (el.hasAttribute("data-modal-toggle")){ | |||||
| } | |||||
| } | |||||
| return this; | |||||
| } | |||||
| initialize(){ | |||||
| ; | |||||
| } | |||||
| } | |||||
| const instance = new Modal(); | |||||
| Object.freeze(instance); | |||||
| export default instance; |