«ميدياويكي:Script/Modal.js»: الفرق بين المراجعتين

 
سطر ٢٨: سطر ٢٨:
 
     createModalInteraction(modalContainer);
 
     createModalInteraction(modalContainer);
 
   });
 
   });
})();
 
 
(function(){
 
 
  var loadScripts = document.querySelectorAll("div[data-load-javascript]");
 
 
  if (loadScripts.length) {
 
    var checkArray = new Array(0);
 
    loadScripts.forEach(function(loadScript){
 
      script = loadScript.dataset["loadJavascript"];
 
      if (checkArray.indexOf(script) === -1) {
 
        checkArray.push(script);
 
        switch (script) {
 
          case "modal" : // charge le script pour utiliser les modal
 
            mw.loader.load("/index.php?title=MediaWiki:Script/Modal.js&action=raw&ctype=text/javascript");
 
            break;
 
        }
 
      }
 
    });
 
  }
 
 
})();
 
})();

المراجعة الحالية بتاريخ ٢٠:٣٢، ١٩ أغسطس ٢٠٢٢

function createModalInteraction(content){
  
  var boutonModal = content.querySelector(".button");
  var modalContent = content.querySelector(".modal");
  var boutonClose = content.querySelector(".close");
  
  boutonModal.addEventListener("click", function() {
    boutonModal.classList.add("tabber-active");
    modalContent.classList.add("gen-active");
    
    boutonClose.addEventListener("click", function() {
      boutonModal.classList.remove("tabber-active");
      modalContent.classList.remove("gen-active");
    });
    
    window.addEventListener("click", function(e) {
      if (e.target == modalContent) {
        boutonModal.classList.remove("tabber-active");
        modalContent.classList.remove("gen-active");
      }
    });
  });
}

(function(){
  var modalContainers = document.querySelectorAll("div#mw-content-text div.modalContainer");
  modalContainers.forEach(function(modalContainer){
    createModalInteraction(modalContainer);
  });
})();