Aller au contenu

Utilisateur:Darkoneko/toolDiv.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) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
function openToolDiv() {
  var nekoToolDiv = document.getElementById('nekoToolDiv')
  if ( nekoToolDiv ) { //le div existe déjà. On force son reaffichage au cas ou au lieu de recréer
     nekoToolDiv.style.display = 'block' 
     return false
  }

  var div = neko_toolbox_generator('nekoToolDiv', "Interface - v0.3 du 06/02/2010")
 
  var ul = document.createElement("ul")
   //stocker un resumé de modification de page par défaut dans un cookie, pour qu'il soit affiché automatiquement dans le champ adéquat
  ul.appendChild( openToolDiv_createDefaultSummaryLi("changer le résumé par défaut : ", "wpSummary") ) 
  ul.appendChild( openToolDiv_createDefaultSummaryLi("changer le motif de blocage par défaut  : ", "wpBlockReason") ) 
  ul.appendChild( openToolDiv_createDefaultSummaryLi("changer le motif par défaut  : ", "wpReason") ) 

  div.appendChild( ul ) //liste des actions

  return false 
}




function openToolDiv_createDefaultSummaryLi(aide, id) {

  var input = document.createElement("input");
  input.id = 'input_' + id
  input.value = mw.cookie.get('toolDiv_' + id)
  input.style.width = '300px'

  var a = $('<a href="#">changer</a>')
    .click(function (e) {
      e.preventDefault();
      mw.cookie.set('toolDiv_' + id, $('#input_' + id).val(), 365*24*3600);
      alert('changé !');
    })
    .get(0);

  var li = document.createElement("li")

  //le "li" contient dans l'ordre, le texte d'explication, le champ formulaire, et un lien pour valider le champ. Ledit lien appelle un bout de javascript qui sauve le cookie.
  li.appendChild( document.createTextNode( aide ) )
  li.appendChild( input )
  li.appendChild( document.createTextNode( " - " ) )
  li.appendChild( a )

  return li
}



// ---------------------------------------------------
//fonctions executées sur chaque page chargée, pour appliquer les options que l'utilisateur a défini
// ---------------------------------------------------

function openToolDiv_onload() {
  //fonction liée : ajouter automatiquement un résumé à celui par défaut (ça n'écrase volontairement pas les /* titres */ )
  var resume = document.getElementById('wpSummary')
  if ( resume  ) {
    resume.value += mw.cookie.get('toolDiv_wpSummary')
  }

  //fonction liée : changer effectivement le modif d'une action / et mettre le focus sur ce champ
  var motif = document.getElementsByName('wpBlockReason')[0]
  if ( motif) {
    motif.value = mw.cookie.get('toolDiv_wpBlockReason')
    motif.focus()
  }

  //fonction liée : changer effectivement le modif d'une action / et mettre le focus sur ce champ
  var motif = document.getElementById('wpReason')
  if ( motif) {
    motif.value = mw.cookie.get('toolDiv_wpReason')
    motif.focus()
  }
}


mw.loader.using('mediawiki.cookie', function () {
    jQuery(function ($) {
        openToolDiv_onload();
    });
});