Aller au contenu

« MediaWiki:Common.js » : différence entre les versions

De AECFC
Aucun résumé des modifications
Balise : Révocation manuelle
Aucun résumé des modifications
Ligne 10 : Ligne 10 :
mw.loader.using('mediawiki.util').then(function () {
mw.loader.using('mediawiki.util').then(function () {


     function createAecfcHeaderLinks() {
     function configureAecfcHeader() {
         const logoLink = document.querySelector('a.mw-logo');
         const logoLink = document.querySelector('a.mw-logo');


Ligne 17 : Ligne 17 :
         }
         }


         // Évite une création en double
         /*
         if (document.querySelector('.aecfc-header-links')) {
        * Supprime un éventuel ancien bloc personnalisé.
             return;
        */
         }
         document.querySelectorAll('.aecfc-header-links').forEach(function (element) {
             element.remove();
         });


         // Supprime le titre et le sous-titre natifs du lien du logo
         /*
         const nativeTextContainer =
        * Le lien du logo ne doit contenir que l'image.
             logoLink.querySelector('.mw-logo-container');
        * On supprime le wordmark, le sous-titre natif
        * et tout ancien texte ajouté dans ce lien.
        */
         Array.from(logoLink.children).forEach(function (child) {
             if (!child.classList.contains('mw-logo-icon')) {
                child.remove();
            }
        });


         if (nativeTextContainer) {
         /*
            nativeTextContainer.remove();
        * Le logo graphique ouvre le site public.
        }
        */
 
        // Le logo graphique reste lié au site public
         logoLink.href = 'https://aecfc.org/';
         logoLink.href = 'https://aecfc.org/';
         logoLink.title = 'Site officiel de l’AECFC';
         logoLink.title = 'Site officiel de l’AECFC';
        logoLink.setAttribute(
            'aria-label',
            'Accéder au site officiel de l’AECFC'
        );


         // Nouveau bloc de liens à droite du logo
         /*
         const textBlock = document.createElement('div');
        * Nouveau bloc indépendant pour Accueil et Devoirs.
         textBlock.className = 'aecfc-header-links';
        */
         const linksBlock = document.createElement('div');
         linksBlock.className = 'aecfc-header-links';


         const links = [
         const accueilLink = document.createElement('a');
            {
        accueilLink.className = 'aecfc-header-home';
                text: 'Accueil',
        accueilLink.href = mw.util.getUrl('Accueil');
                page: 'Accueil',
        accueilLink.textContent = 'Accueil';
                className: 'aecfc-header-title'
        accueilLink.title = 'Accueil du wiki';
            },
            {
                text: 'Devoirs',
                page: 'Devoirs',
                className: 'aecfc-header-subtitle'
            }
        ];


         links.forEach(function (item) {
         const devoirsLink = document.createElement('a');
            const link = document.createElement('a');
        devoirsLink.className = 'aecfc-header-homework';
        devoirsLink.href = mw.util.getUrl('Devoirs');
        devoirsLink.textContent = 'Devoirs';
        devoirsLink.title = 'Consulter les devoirs';


            link.textContent = item.text;
        linksBlock.appendChild(accueilLink);
            link.href = mw.util.getUrl(item.page);
        linksBlock.appendChild(devoirsLink);
            link.className = item.className;
 
            textBlock.appendChild(link);
        });


         logoLink.insertAdjacentElement('afterend', textBlock);
        /*
        * Le bloc est placé après le lien du logo,
        * donc il n'est pas contenu dans le même <a>.
        */
         logoLink.insertAdjacentElement('afterend', linksBlock);
     }
     }


Ligne 67 : Ligne 76 :
         document.addEventListener(
         document.addEventListener(
             'DOMContentLoaded',
             'DOMContentLoaded',
             createAecfcHeaderLinks,
             configureAecfcHeader,
             { once: true }
             { once: true }
         );
         );
     } else {
     } else {
         createAecfcHeaderLinks();
         configureAecfcHeader();
     }
     }
});
});

Version du 2 juillet 2026 à 16:21

/* Tout JavaScript présent ici sera exécuté par tous les utilisateurs à chaque chargement de page. */

$(function () {
    $('a.mw-wiki-logo, a.mw-logo')
        .attr('href', 'Accueil')
        .attr('title', 'Retour a l'accueil');
});
*/

mw.loader.using('mediawiki.util').then(function () {

    function configureAecfcHeader() {
        const logoLink = document.querySelector('a.mw-logo');

        if (!logoLink) {
            return;
        }

        /*
         * Supprime un éventuel ancien bloc personnalisé.
         */
        document.querySelectorAll('.aecfc-header-links').forEach(function (element) {
            element.remove();
        });

        /*
         * Le lien du logo ne doit contenir que l'image.
         * On supprime le wordmark, le sous-titre natif
         * et tout ancien texte ajouté dans ce lien.
         */
        Array.from(logoLink.children).forEach(function (child) {
            if (!child.classList.contains('mw-logo-icon')) {
                child.remove();
            }
        });

        /*
         * Le logo graphique ouvre le site public.
         */
        logoLink.href = 'https://aecfc.org/';
        logoLink.title = 'Site officiel de l’AECFC';
        logoLink.setAttribute(
            'aria-label',
            'Accéder au site officiel de l’AECFC'
        );

        /*
         * Nouveau bloc indépendant pour Accueil et Devoirs.
         */
        const linksBlock = document.createElement('div');
        linksBlock.className = 'aecfc-header-links';

        const accueilLink = document.createElement('a');
        accueilLink.className = 'aecfc-header-home';
        accueilLink.href = mw.util.getUrl('Accueil');
        accueilLink.textContent = 'Accueil';
        accueilLink.title = 'Accueil du wiki';

        const devoirsLink = document.createElement('a');
        devoirsLink.className = 'aecfc-header-homework';
        devoirsLink.href = mw.util.getUrl('Devoirs');
        devoirsLink.textContent = 'Devoirs';
        devoirsLink.title = 'Consulter les devoirs';

        linksBlock.appendChild(accueilLink);
        linksBlock.appendChild(devoirsLink);

        /*
         * Le bloc est placé après le lien du logo,
         * donc il n'est pas contenu dans le même <a>.
         */
        logoLink.insertAdjacentElement('afterend', linksBlock);
    }

    if (document.readyState === 'loading') {
        document.addEventListener(
            'DOMContentLoaded',
            configureAecfcHeader,
            { once: true }
        );
    } else {
        configureAecfcHeader();
    }
});