MediaWiki:Common.js

Page de l’interface de MediaWiki
Révision datée du 13 mai 2024 à 08:48 par Wikilierre (discussion | contributions) (Ajout des compteurs animés)

Note : après avoir publié 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 appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
  • Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
  • Internet Explorer / Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
  • Opera : appuyez sur Ctrl + F5.
/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */
/* Tout JavaScript ici sera chargé avec chaque page accédée par n’importe quel utilisateur. */
/**
 * Ajouter un bouton à la fin de la barre d'outils
 */
function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText, imageId) {
  // Supprimée car non fonctionelle
  // mwCustomEditButtons[mwCustomEditButtons.length] =
  //   {"imageId": imageId,
  //    "imageFile": imageFile,
  //    "speedTip": speedTip,
  //    "tagOpen": tagOpen,
  //    "tagClose": tagClose,
  //    "sampleText": sampleText};
}
 
/**
 * Insertion de nouveaux boutons dans la barre d'outil
 */
 



addCustomButton('http://upload.wikimedia.org/wikipedia/commons/1/1f/Button_mp3.png',
                'Insérer un fichier mp3',
                '<flashmp3> NomFichier.mp3 </flashmp3>',
                '',
                '',
                'mw-editbutton-mp3');


addCustomButton('http://upload.wikimedia.org/wikipedia/commons/9/92/Nuvola-Multimedia01.png',
                'Video',
                '{{',
                '}}',
                '#ev:service|code|taille',
                'mw-editbutton-video');

                


addCustomButton('http://upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png',
                'Tableau',
                '{| border=1\n|-\n|\n|\n|}',
                '',
                '',
                'mw-editbutton-array');

addCustomButton('http://upload.wikimedia.org/wikipedia/commons/c/c9/Button_strike.png',
                'Rayer',
                '<s>',
                '</s>',
                '',
                'mw-editbutton-strike');

addCustomButton('http://upload.wikimedia.org/wikipedia/commons/8/88/Btn_toolbar_enum.png',
                'Énumération',
                '\n# élément 1\n# élément 2\n# élément 3',
                '',
                '',
                'mw-editbutton-enum');

addCustomButton('http://upload.wikimedia.org/wikipedia/commons/1/11/Btn_toolbar_liste.png',
                'Liste',
                '\n* élément A\n* élément B\n* élément C',
                '',
                '',
                'mw-editbutton-liste');

addCustomButton('http://upload.wikimedia.org/wikipedia/commons/9/9e/Btn_toolbar_gallery.png',
                'Galerie d\'images',
                '\n<!--Consultez l Anti-sèche pour les options de la galerie-->\n<center>\n<gallery caption="Donner un titre à votre galerie">\nImage:Exemple.jpg|légende\nImage:Exemple1.jpg|légende\nImage:Exemple2.jpg|légende\n</gallery>\n</center>',
                '',
                '',
                'mw-editbutton-gallery');

addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/37/Btn_toolbar_commentaire.png',
                'Commentaire',
                '<!--',
                '-->',
                '',
                'mw-editbutton-comment');

addCustomButton('http://upload.wikimedia.org/wikipedia/commons/4/47/Button_redir.png',
                'Redirection',
                '#REDIRECT [[',
                ']]',
                'nom de la destination',
                'mw-editbutton-redir');

addCustomButton('http://upload.wikimedia.org/wikipedia/commons/b/b4/Button_category03.png',
                'Catégorie',
                '[[Catégorie:',
                ']]',
                'nom de la catégorie',
                'mw-editbutton-category');

addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/3b/Button_template_alt.png',
                'Modèle',
                '{{',
                '}}',
                'modèle ou page à inclure',
                'mw-editbutton-template');

addCustomButton('http://upload.wikimedia.org/wikipedia/commons/c/c4/Button_ref.png',
                'Référence',
                '<ref>',
                '</ref>',
                'référence, citation ou lien',
                'mw-editbutton-ref');

addCustomButton('http://upload.wikimedia.org/wikipedia/commons/6/64/Buttonrefvs8.png',
                'Index des références',
                '== Notes et références ==\n<references />',
                '',
                '',
                'mw-editbutton-references');

var voirAussi = '<!-- Suggestion de présentation des annexes. Aide : http://fr.wikipedia.org/wiki/Aide:Note -->\n'
 + '== Annexes ==\n'
 + '=== Notes et références ===\n'
 + '<references/>\n'
 + '=== Articles connexes ===\n'
 + '* [[À remplacer]]\n'
 + '*\n'
 + '=== Liens et documents externes ===\n'
 + '*\n';
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/b/bb/Seealso.png',
                'Section Voir aussi',
                voirAussi,
                '',
                '',
                'mw-editbutton-voiraussi');

// ######## NEW CODE ########
// Change table card to dark if it's has a color if isn't, apply this modification to the td (for buttons)
if (document.documentElement.classList.contains("skin-citizen-dark")&&!(window.location.pathname==='/index.php/Accueil'||window.location.href.includes("?title=Accueil"))) {
  document.querySelectorAll("table").forEach(function(table){
    if (!(table.style.backgroundColor===""||table.style.backgroundColor==="transparent")) {
      table.style.backgroundColor="#212630"
    }else{
      table.querySelectorAll("td").forEach(function(td){
        if (!(td.style.backgroundColor===""||td.style.backgroundColor==="transparent")) {
          td.style.backgroundColor="#212630"
          td.style.border="2px solid rgb(101 133 209)"
          td.style.margin="5px"
        }
      })
    }
  }) 
}

async function UpdateCounters(elm,value) {
    elm=document.getElementById(elm)
    await new Promise(function(r){
      let interval = setInterval(function() {
        let rect = elm.getBoundingClientRect();
        if (!(rect.bottom < 0 || rect.top - Math.max(document.documentElement.clientHeight, window.innerHeight) >= 0)) {
          clearInterval(interval)
          r()
        }
      },500)
    })
    for (let count = 0; count<=value; count+=Math.ceil(value/100)) {
      elm.innerText=count.toLocaleString(navigator.language, {
        notation: "compact",
        compactDisplay: "short",
        maximumFractionDigits: 1,
      });
      await new Promise(function(r){setTimeout(r, 10)});
    }
}

if (window.location.pathname==='/index.php/Accueil'||window.location.href.includes("?title=Accueil")) {
    fetch("https://wikithionville.fr/api.php?action=query&meta=userinfo|siteinfo&uiprop=rights|editcount|realname&siprop=statistics&format=json").then(function(res) {
        return res.json()
    })
    .then(function(res) {
        if (res.query.userinfo.rights.includes("edit")) {
            document.getElementById("search_form").style.display="none"
            document.getElementById("new_article_form").style.display="flex"
        }
        document.getElementsByClassName("counters")[0].style.display="flex"

        UpdateCounters("counter_articles",res.query.statistics.articles)
        UpdateCounters("counter_pages",res.query.statistics.pages)
        UpdateCounters("counter_utilisateurs",res.query.statistics.users)

        if (res.query.userinfo.editcount>0) {
             document.getElementById("ccard_contribperso").style.display="flex"
             UpdateCounters("counter_contribperso",res.query.userinfo.editcount)
        }
    }) 
}