| 
							- import GlobalEvents from "/app/js/common/EventCaller.js";
 - 
 - 
 - class Modal{
 -   constructor(){
 -     this.__currentModalEl = null;
 - 
 -     window.addEventListener("click", (function(event){
 -       if (event.target === this.__currentModalEl){
 -         this.close_modal();
 -       }
 -     }).bind(this));
 - 
 -     GlobalEvents.listen("modal-open", (function(event){
 -       if (event.hasOwnProperty("id") && typeof(event.id) === 'string'){
 -         var force = (event.hasOwnProperty("force")) ? event.force === true : false;
 -         this.open_modal_id(event.id, force);
 -       }
 -     }).bind(this));
 - 
 -     GlobalEvents.listen("modal-close", (function(event){
 -       this.close_modal();
 -     }).bind(this));
 -   }
 - 
 -   get currentModalElement(){
 -     return this.__currentModalEl;
 -   }
 - 
 -   open_modal_id(idname, force=false){
 -     var el = document.getElementById(idname);
 -     if (el.classList.contains("modal") && this.__currentModalEl !== el){
 -       if (this.__currentModalEl !== null && force)
 -         this.close_modal();
 -       if (this.__currentModalEl === null){
 -         if (el){
 -           return this.open_modal_element(el);
 -         }
 -       }
 -     }
 -     return this;
 -   }
 - 
 -   open_modal_element(el, force=false){
 -     if (el.classList.contains("modal")){
 -       if (this.__currentModalEl !== null && force)
 -         this.close_modal();
 -       if (this.__currentModalEl === null){
 -         el.classList.add("modal-visible");
 -         this.__currentModalEl = el;
 -       }
 -     }
 -     return this;
 -   }
 - 
 -   close_modal(){
 -     if (this.__currentModalEl !== null){
 -       this.__currentModalEl.classList.remove("modal-visible");
 -       this.__currentModalEl = null;
 -     }
 -     return this;
 -   }
 - }
 - 
 - 
 - const instance = new Modal();
 - export default instance;
 
 
  |