Utilisateur:Stanlekub/evalbar.js
Apparence
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.//<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", "/media/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>