Utilisateur:Stanlekub/evalbar.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.
//<pre><nowiki>
var modeles_eval = new Array();
var titres_eval = new Array();
var i=-1;
modeles_eval[++i] = "";
titres_eval[i] = "Modèles d'évaluation";
modeles_eval[++i] = "Wikiprojet Aquitaine";
titres_eval[i] = "Aquitaine";
modeles_eval[++i] = "Wikiprojet Astronomie";
titres_eval[i] = "Astronomie";
modeles_eval[++i] = "Wikiprojet BD";
titres_eval[i] = "Bande dessinée";
modeles_eval[++i] = "Projet Botanique";
titres_eval[i] = "Botanique";
modeles_eval[++i] = "Projet chimie";
titres_eval[i] = "Chimie";
modeles_eval[++i] = "Wikiprojet Cinéma";
titres_eval[i] = "Cinéma";
modeles_eval[++i] = "Wikiprojet Cosmologie";
titres_eval[i] = "Cosmologie";
modeles_eval[++i] = "projet droit";
titres_eval[i] = "Droit";
modeles_eval[++i] = "projet droit français";
titres_eval[i] = "Droit français";
modeles_eval[++i] = "Wikiprojet Économie";
titres_eval[i] = "Économie";
modeles_eval[++i] = "Wikiprojet Egyptopedia";
titres_eval[i] = "Egyptopedia";
modeles_eval[++i] = "Wikiprojet Hellenopedia";
titres_eval[i] = "Hellenopedia";
modeles_eval[++i] = "Projet HZB";
titres_eval[i] = "HZB";
modeles_eval[++i] = "Wikiprojet Histoire des sciences";
titres_eval[i] = "Histoire des sciences";
modeles_eval[++i] = "Wikiprojet Histoire militaire";
titres_eval[i] = "Histoire militaire";
modeles_eval[++i] = "Wikiprojet Informatique";
titres_eval[i] = "Informatique";
modeles_eval[++i] = "Wikiprojet Iran";
titres_eval[i] = "Iran";
modeles_eval[++i] = "Wikiprojet Irlande";
titres_eval[i] = "Irlande";
modeles_eval[++i] = "Wikiprojet Italie";
titres_eval[i] = "Italie";
modeles_eval[++i] = "Wikiprojet Japon";
titres_eval[i] = "Japon";
modeles_eval[++i] = "Projet Jazz";
titres_eval[i] = "Jazz";
modeles_eval[++i] = "Junior";
titres_eval[i] = "Junior";
modeles_eval[++i] = "Wikiprojet Maritime";
titres_eval[i] = "Maritime";
modeles_eval[++i] = "Wikiprojet Mathématiques";
titres_eval[i] = "Mathématiques";
modeles_eval[++i] = "Projet monde germanique";
titres_eval[i] = "Monde germanique";
modeles_eval[++i] = "Wikiprojet Montagne";
titres_eval[i] = "Montagne";
modeles_eval[++i] = "Wikiprojet Musique";
titres_eval[i] = "Musique";
modeles_eval[++i] = "Projet musique classique";
titres_eval[i] = "Musique classique";
modeles_eval[++i] = "Wikiprojet Nauru";
titres_eval[i] = "Nauru";
modeles_eval[++i] = "Wikiprojet Nouvelle-France";
titres_eval[i] = "Nouvelle-France";
modeles_eval[++i] = "Wikiprojet Physique";
titres_eval[i] = "Physique";
modeles_eval[++i] = "Wikiprojet Préhistoire";
titres_eval[i] = "Préhistoire";
modeles_eval[++i] = "Wikiprojet Psychologie";
titres_eval[i] = "Psychologie";
modeles_eval[++i] = "Wikiprojet Pyrénées";
titres_eval[i] = "Pyrénées";
modeles_eval[++i] = "Wikiprojet Rome antique";
titres_eval[i] = "Rome antique";
modeles_eval[++i] = "Wikiprojet Roumanie";
titres_eval[i] = "Roumanie";
modeles_eval[++i] = "Wikiprojet Sport";
titres_eval[i] = "Sport";
modeles_eval[++i] = "Wikiprojet Tunisie";
titres_eval[i] = "Tunisie";
modeles_eval[++i] = "Wikiprojet Zoologie";
titres_eval[i] = "Zoologie";


var avancement = new Array();
var i=-1;
avancement[++i] = "Avancement";
avancement[++i] = "inconnu";
avancement[++i] = "AdQ";
avancement[++i] = "A";
avancement[++i] = "BA";
avancement[++i] = "B";
avancement[++i] = "BD";
avancement[++i] = "ébauche";

var importance = new Array();
var i=-1;
importance[++i] = "Importance";
importance[++i] = "inconnue";
importance[++i] = "maximum";
importance[++i] = "élevée";
importance[++i] = "moyenne";
importance[++i] = "faible";


function evalBar() {
  var toolbar = document.getElementById('toolbar');

  evalDefautIndex=0;
  if (typeof evalDefaut=='undefined')
    evalDefaut="";

  if (toolbar) {
    var menu_eval = document.createElement("select");
    menu_eval.onchange = function () { wp10ChoixProjet(this.selectedIndex); };
    menu_eval.style.display = "inline";
    menu_eval.style.background_color = "lightyellow";
    menu_eval.name = "wp10sel";
    menu_eval.id = "wp10sel";

    for (var i=0;i<modeles_eval.length;i++) {
        if (titres_eval[i]==evalDefaut)
          evalDefautIndex=i;
        var opt = document.createElement("option");
        opt.appendChild(document.createTextNode( titres_eval[i]));
        menu_eval.appendChild(opt);
    }
    toolbar.appendChild(menu_eval);


    var menu_eval = document.createElement("select");
    menu_eval.onchange = function () { wp10ChoixEval(this.selectedIndex, 'imp'); };
    menu_eval.style.display = "inline";
    menu_eval.style.background_color = "lightyellow";
    menu_eval.name = "wp10imp";
    menu_eval.id = "wp10imp";
    for (var i=0;i<importance.length;i++) {
        var opt = document.createElement("option");
        opt.appendChild(document.createTextNode( importance[i]));
        menu_eval.appendChild(opt);
    }
    toolbar.appendChild(menu_eval);

    var menu_eval = document.createElement("select");
    menu_eval.onchange = function () { wp10ChoixEval(this.selectedIndex, 'ava'); };
    menu_eval.style.display = "inline";
    menu_eval.style.background_color = "lightyellow";
    menu_eval.name = "wp10ava";
    menu_eval.id = "wp10ava";
    for (var i=0;i<avancement.length;i++) {
        var opt = document.createElement("option");
        opt.appendChild(document.createTextNode( avancement[i]));
        menu_eval.appendChild(opt);
    }
    toolbar.appendChild(menu_eval);

    var img = document.createElement("img");
    img.setAttribute("src", "http://upload.wikimedia.org/wikipedia/fr/d/d9/Button_trait%C3%A9.png");
    var ref = document.createElement("a");
    ref.setAttribute("href", "javascript:majEval();"); 
    ref.setAttribute("title", "Valider" ); 
    ref.appendChild(img); 
    toolbar.appendChild(ref);
    wp10ChoixProjet(evalDefautIndex);
  }
}

function wp10ChoixEval(s, type) {
  if (type=="imp")
    sel = document.getElementById('wp10imp');
  else
    sel = document.getElementById('wp10ava');

  if (s==0)
    sel.setAttribute("style", "display:inline; background-color:orange" );
  else
    sel.setAttribute("style", "display:inline; background-color:lightyellow");
}

function wp10ChoixProjet(s) {
  var selector = document.getElementById('wp10sel');
  selector.selectedIndex=s;
  if (s>0) {
    var impsel = document.getElementById('wp10imp');
    var avasel = document.getElementById('wp10ava');
    wikicode = document.editform.wpTextbox1.value;

    reg1 = new RegExp('\{\{' + modeles_eval[s] + ' *?(\\\||\}\})', 'i');
    reg_t = new RegExp('\{\{' + modeles_eval[s] + '.*?\}\}', 'i');
    reg_imp = new RegExp('importance *= *(.*?) *(\\\||\}\})', 'i');
    reg_ava = new RegExp('avancement *= *(.*?) *(\\\||\}\})', 'i');
    res1 = wikicode.match(reg1);
    res = wikicode.match(reg_t);

    if (res1) {
      selector.setAttribute("style", "display:inline; background-color:lightsalmon");
      imp = reg_imp.exec(res)[1];
      ava = reg_ava.exec(res)[1];

      if (imp=='') {
        impsel.selectedIndex=1;
        wp10ChoixEval(1, 'imp');
      } else {
        for (var i=1; i<importance.length;i++) {
           if (importance[i]==imp) {
             impsel.selectedIndex=i;
             wp10ChoixEval(i, 'imp');
           }
        }
      }

      if (ava=='') {
        avasel.selectedIndex=1;
        wp10ChoixEval(1, 'ava');
      } else {
        for (i=1; i<avancement.length;i++) {
           if (avancement[i]==ava) {
             avasel.selectedIndex=i;
             wp10ChoixEval(i, 'ava');
           }
        }
      }
    } else {
      selector.setAttribute("style", "display:inline; background-color:lightgreen");
      impsel.selectedIndex=1;
      wp10ChoixEval(1, 'imp');
      avasel.selectedIndex=1;
      wp10ChoixEval(1, 'ava');
    }
  } else {
    selector.setAttribute("style", "display:inline; background-color:lightyellow");
  }
}

function majEval(s) {
  var selector = document.getElementById('wp10sel');
  s = selector.selectedIndex;
  var impsel = document.getElementById('wp10imp').selectedIndex;
  var avasel = document.getElementById('wp10ava').selectedIndex;
  if (s>0 && impsel>0 && avasel>0) {
    wikicode = document.editform.wpTextbox1.value;
    reg = new RegExp('\{\{' + modeles_eval[s] + ' *?(\\\||\}\})', 'i');

    if (impsel>1)
       imp = importance[impsel];
    else
       imp = '';

    if (avasel>1)
       ava = avancement[avasel];
    else
       ava = '';

    pos = wikicode.search(reg);
    if (pos==-1)
    // Le modèle n'est pas encore présent sur la page
    {
      insertTags('{{' + modeles_eval[s] + '|importance=' + imp + '|avancement=' + ava + '}}\n', '', '');
      document.editform.wpSummary.value = '{{' + modeles_eval[s] + '|importance=' + imp + '|avancement=' + ava + '}}';
      wp10ChoixProjet(evalDefautIndex);
      selector.setAttribute("style", "display:inline; background-color:lightyellow");
    } else {
    // Le modèle est déjà présent -> modif
      regex_old = new RegExp('\{\{'+modeles_eval[s]+'.*?\}\}', 'i');
      var old = wikicode.match(regex_old);
      wikicode = wikicode.replace(old, '{{' + modeles_eval[s] + '|importance=' + imp + '|avancement=' + ava + '}}');
      selector.setAttribute("style", "display:inline; background-color:lightyellow");
      document.editform.wpTextbox1.value = wikicode;
      document.editform.wpSummary.value = '{{' + modeles_eval[s] + '|importance=' + imp + '|avancement=' + ava + '}}';
      wp10ChoixProjet(evalDefautIndex);
    }
  } else {
    if (impsel==0)
      alert('Importance non renseignée !');
    if (avasel==0)
      alert('Avancement non renseigné !');
  }
}

if (location.href.match(/discuter:/i))
  $(evalBar);
//</nowiki></pre>