|
- 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;
|