MediaWiki

MediaWiki:Common.js

Ord Le Dico des Ados

Quai è ina versiun veglia. Temp da la midada 19:09, 24. oct 2025 da Vivian (Discussiun | contribuziuns)
(diff) ← versiun pli veglia | Mussar la versiun actuala (diff) | versiun pli nova → (diff)

Remartga Suenter memorisar las midadas stos ti eventualmain svidar il chache da tes navigatur per vesair las midadas.

  • Firefox / Safari: Tegnair Shift durant cliccar chargiar danovamain, u smatgar Ctrl-F5 u Ctrl-R (⌘-R sin in Mac)
  • Google Chrome: Smatgar Ctrl-Shift-R (⌘-Shift-R sin in Mac)
  • Internet Explorer: Tegnair Ctrl durant cliccar Rechargiar, u smatgar Ctrl-F5
  • Opera: Stizzar il cache sut Tools → Preferences
/* Das folgende JavaScript wird für alle Benutzer geladen. */

//Main page : putting the middle search bar
if(mw.config.values.wgIsMainPage) {
  document.getElementById("div-custom-search").innerHTML = '<form action="/w/index.php"><input type=search class="mw-searchInput" name=search autocapitalize=off placeholder="Tschertgar dicoado" title="Rechercher dans Le Dico des Ados [f]" accesskey="f" id="searchInputMainPage"/></form>'; // Class mw-searchInput is used to enable auto-suggest feature
}

//Search page : no autocapitalize (since 99% of the words starts with a lowercase
$('#ooui-php-1').attr('autocapitalize', 'none');

//CODES BELOW ARE INSPIRED FROM <https://fr.wikipedia.org/wiki/MediaWiki:Common.js>, CC-BY-SA 4.0, see contributors and old versions by adding ?action=history to the end of the url. See history of edits through this page's history.
/**
 * Configuration du tri des diacritique dans les tables de class "sortable"
 */
mw.config.set( 'tableSorterCollation', {'à':'a', 'â':'a', 'æ':'ae', 'é':'e', 'è':'e', 'ê':'e', 'î':'i', 'ï':'i', 'ô':'o', 'œ':'oe', 'û':'u', 'ç':'c'} );

/**
 * For people who didn't choose "Show hidden categories", displays a button to unhide them whenever they want.
*/
function hiddencat() {
  if (mw.util.getParamValue('printable') === 'yes') {//Printed sheets do not run JS
    return;
  }
  var catLinksElt = document.getElementById('catlinks');
  if ( !catLinksElt ) { //No cats, we skip
    return;
  }

  var hiddenCatElt = document.getElementById('mw-hidden-catlinks');
  if ( !hiddenCatElt || //No hidden cats = we can't show any
     hiddenCatElt.classList.contains('mw-hidden-cats-user-shown') || //User wants to have them displayed everywhere
     hiddenCatElt.classList.contains('mw-hidden-cats-ns-shown') //Ns wants to have them displayed
    ) {
    return;
  }

  //Creates the button to show the hidden categories
  var showHCElt = document.createElement('button');
  showHCElt.classList = "label"
  showHCElt.id = 'mw-hidden-cats-btn';
  showHCElt.title = 'Cet article contient des catégories cachées';
  showHCElt.addEventListener("click", toggleHiddenCats); //When we click on it we want it to show hidden categories
  showHCElt.textContent = '[+]';

  //If there is no visible categories we still create the element so we can put the button to show hidden categories
  var normalCatsElt = document.getElementById('mw-normal-catlinks');
  if ( !normalCatsElt ) {
    var a = document.createElement('a');
    a.href = '/dico/Spécial:Catégories';
    a.title = 'Spécial:Catégories';
    a.textContent = 'Catégories';

    var handMadeNCElt = document.createElement('div');
    handMadeNCElt.id = 'mw-normal-catlinks';
    handMadeNCElt.appendChild(a);
    handMadeNCElt.innerHTML += "&nbsp;: ";

    handMadeNCElt.appendChild(showHCElt);

    handMadeNCElt = catLinksElt.insertBefore(handMadeNCElt, catLinksElt.firstChild);
  } else {
    var liShowHCElt = document.createElement("li");
    liShowHCElt.appendChild(showHCElt);
    normalCatsElt.getElementsByTagName("ul")[0].appendChild(liShowHCElt); //Appends it as the last element of the categories list
  }
}

function toggleHiddenCats(e) {
  var $hc = $('#mw-hidden-catlinks');
  if ( $hc.hasClass('mw-hidden-cats-hidden') ) {
    $hc.removeClass('mw-hidden-cats-hidden');
    $hc.addClass('mw-hidden-cats-user-shown');
    e.target.textContent = '[–]';
  } else {
    $hc.removeClass('mw-hidden-cats-user-shown');
    $hc.addClass('mw-hidden-cats-hidden');
    e.target.textContent = '[+]';
  }
}

mw.loader.using('mediawiki.util', function () {
  hiddencat();
});

// Navigation Bars : dynamic bars that can be displayed/hided.
// The on-click function: will display or hide the content. Argument is the Event object created by the click event.
function toggleNavigationBar(e) {
  var NavBtnElt = e.target,// Let's get the button
    NavBarId = Number(NavBtnElt.dataset.navBarId), // On which NavBar are we working?

    NavBtnContainer = NavBtnElt.parentNode, // The button is always in his container (that holds the button's labels)
    NavFrame = document.getElementById("dico-nav-frame-"+NavBarId);// This is the content we want to show/hide

  if (!NavFrame || !NavBtnContainer) { // Just checking the function was correctly called and let's g
    return false;
  }

  if (NavFrame.style.display === 'none') { // if hidden now 
    NavFrame.style.display = 'block';// show it
    NavBtnElt.textContent = NavBtnContainer.dataset.hideLbl; // let the user hide it again
  } else if (NavFrame.style.display === "block") { // if shown now
    NavFrame.style.display = 'none';
    NavBtnElt.textContent = NavBtnContainer.dataset.showLbl;
  }
}

// Initialisation : creates the button to show/hide contents and put the navigation bar in his default state (shown or hidden).
function initialiseNavBars() {
  // get all Navigation Bar elements
  var NavBarElts = document.getElementsByClassName('dico-navigation-bar');

  // iterate over them
  for(
    var i=0;
    NavBarElt = NavBarElts[i];
    i++
  ){
    var HideByDefault = Number(NavBarElt.dataset.hideByDefault),
      NavBtnContainerElt = NavBarElt.getElementsByClassName("dico-nav-btn-container")[0], // this span will contain the btn (there is only one), and holds the button's labels
      NavFrameElt = NavBarElt.getElementsByClassName("dico-nav-frame")[0] // this div holds the content (there is only one)
      HideLabel = NavBtnContainerElt.dataset.hideLbl,
      ShowLabel = NavBtnContainerElt.dataset.showLbl;

    var NavBtn = document.createElement('button'); // let's create the button
    NavBtn.className = "dico-nav-btn";
    NavBtn.textContent = HideByDefault ? ShowLabel : HideLabel; // if we hide the content by default, the button should display the "show it" label
    NavBtn.dataset.navBarId = i; // will be used by toggleNavigationBar to know which nav frame it will work on
    NavBtn.addEventListener("click", toggleNavigationBar);

    NavBtnContainerElt.textContent = ""; // erasing the "loading" text
    NavBtnContainerElt.appendChild(NavBtn); // let's get it work

    NavFrameElt.id = "dico-nav-frame-"+i; // unique identification

    NavFrameElt.style.display = HideByDefault ? "none" : "block"; // hide it by default or put it as block (so toggleNavigationBar will recognize it)
  }
}

initialiseNavBars();
//CODES BELOW NO MORE FROM fr.wikipedia


$('a.reveal-link').trigger('click');
$('a.close-reveal-modal').trigger('click');