Aller au contenu

Utilisateur:Orlodrim/Tri redirections LDS.js

Une page de Wikipédia, l'encyclopédie libre.
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
// Dérivé de [[MediaWiki:Gadget-OptimizedSuivi.js]]
function triRedirectionsLDS() {
  var bc = document.getElementById("content");
  if (!bc) bc = document.getElementById("article");
  if (!bc) bc = document.getElementById("mw_contentholder");
  var wlElements = bc.getElementsByTagName("div");
  var wlRedirects = new Array();

  for (var i = 0; i < wlElements.length; i++) {
      if (!$(wlElements[i]).hasClass("mw-htmlform-multiselect-item")) continue;
      var label = wlElements[i].getElementsByTagName("label")[0];
      var labelSpan = label.getElementsByTagName("span")[0];
      var links = label.getElementsByTagName("a");
      var isRedirect = labelSpan ? $(labelSpan).hasClass("watchlistredir") : false;
      var isTalkRedirect = $(links[1]).hasClass("mw-redirect");
      var isTalkNew = $(links[1]).hasClass("new");
      if (isRedirect /* && (isTalkRedirect || isTalkNew) */)
        wlRedirects.push(wlElements[i]);
  }
  if (wlRedirects.length == 0) return;

  var newFrame = document.createElement("fieldset");
  newFrame.innerHTML = '<legend>Redirections</legend>'
    + '<table><tr class="mw-htmlform-field-EditWatchlistCheckboxSeriesField">'
    + '<td class="mw-input"></td></tr></table>'
  var listNode = newFrame.getElementsByTagName('td')[0];
  for (var i = 0; i < wlRedirects.length; i++) {
    wlRedirects[i].parentNode.removeChild(wlRedirects[i]);
    listNode.appendChild(wlRedirects[i]);
  }

  var endOfPage = document.getElementById("wpEditToken");
  endOfPage.parentNode.insertBefore(newFrame, endOfPage);
}

if (mw.config.get('wgCanonicalSpecialPageName') == "EditWatchlist") addOnloadHook(triRedirectionsLDS);