MediaWiki:Script/Modal.js

Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac)
  • Google Chrome : appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac)
  • Internet Explorer : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5
  • Opera : allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d’exploration → Images et fichiers en cache.
function createModalInteraction(content) {
    const boutonModal = content.querySelector(".button");
    const modalContent = content.querySelector(".modal");
    const boutonClose = content.querySelector(".close");

    const openModal = () => {
        boutonModal.classList.add("tabber-active");
        modalContent.classList.add("gen-active");
        window.addEventListener("click", handleClickOutside);
    };

    const closeModal = () => {
        boutonModal.classList.remove("tabber-active");
        modalContent.classList.remove("gen-active");
        window.removeEventListener("click", handleClickOutside);
    };

    const handleClickOutside = (event) => {
        if (event.target === modalContent) {
            closeModal();
        }
    };

    boutonModal.addEventListener("click", openModal);
    boutonClose.addEventListener("click", closeModal);
}

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