Utilisatrice:Bototomatix/tableau de bot.js
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.// ******************************** \\
// Code emprunté au nekotb_fc 1.1 \\
// par DarkoNeko (CC-By-SA 3.0) \\
// ******************************** \\
var bototomatix = new Object()
//essai d'extension du DOM Element. ça rend de facto le script incompatible avec IE7- et Safari 2
Element.prototype.createAndAppendTextNode = function(p_txt) {
return this.appendChild( document.createTextNode( p_txt ) )
}
//creation d'un element + attributs + éventuels node texte dedans ; et ajout au node parent
Element.prototype.createAndAppendElement = function(p_el, p_attributs, p_textnode) {
var xx = this.appendChild( document.createElement( p_el ) )
for(key in p_attributs) {
xx.setAttribute( key , p_attributs[key] )
}
if(p_textnode) {
xx.createAndAppendTextNode( p_textnode )
}
return xx
}
//supprime tous les sous nodes d'un node (pas besoin d'être récursif).
Element.prototype.removeChildNodes = function() {
while (this.hasChildNodes() ) {
this.removeChild(this.firstChild);
}
}
// PARTIE PRINCIPALE \\
bototomatix.elements = new Array()
function bototomatix_tableauDeBot() {
var li = $('<a href="#">Tableau de bord</a>')
.click(function (e) {
e.preventDefault();
bototomatix_init();
})
.wrap('<li></li>')
.parent();
$('#p-personal').find('ul').first().append(li);
}
$(bototomatix_tableauDeBot)
function bototomatix_init() {
//titre de l'outil
document.getElementById("firstHeading").firstChild.nodeValue = "Tableau de bot"
var content = document.getElementById("bodyContent")
removeChildNodes(content) //supprimer le contenu initial de la zone 'article".
var root = content.createAndAppendElement("div", {'id':"bototomatix_tableau_de_bot"})
var serie = root.createAndAppendElement("div", {'id':"bototomatix_serie",'style':"min-height:200px;"})
serie0.createAndAppendElement("input", {'type':"button",'value':"Ajouter",'style':"display:inline-block;width:15em;",'onclick':"bototomatix_ajout()"})
serie0.createAndAppendElement("input", {'id':"bototomatix_serie0_catini",'style':"display:inline-block;width:15em;"})
serie0.createAndAppendElement("input", {'id':"bototomatix_serie0_catfin",'style':"display:inline-block;width:15em;"})
serie.createAndAppendElement("ul", {'id':"bototomatix_elements"})
root.createAndAppendElement("hr")
var options = root.createAndAppendElement("div", {'id':"bototomatix_options",'style':"min-height:200px;"}, "")
root.createAndAppendElement("a", { href:"#", "onclick":"return bototomatix_demarrage()" }, "demarrage" )
}
function bototomatix_ajout() {
var serie0_catini = document.getElementById("bototomatix_serie0_catini")
var serie0_catfin = document.getElementById("bototomatix_serie0_catfin")
var catini = serie0_catini.value
var catfin = serie0_catfin.value
catini.value = '' //on vide le champ
catfin.value = ''
// if(cat(ini|fin).length < 1 ) return false //si champ vide, on ignore silencieusement
var ul = document.getElementById("bototomatix_elements")
var randomNumber = Math.floor(Math.random()*100001) //generation d'un id [a priori] unique, comme le nom peut contenir des chars non valides
var name = "bototomatix_element_"+randomNumber
var li = ul.createAndAppendElement("li", {'id':name} )
li.createAndAppendElement("input", {'type':"button",'value':"Supprimer",'style':"display:inline-block;width:15em;", 'onclick':"bototomatix.remove_element(name)"})
li.createAndAppendTextNode(catini)
li.createAndAppendTextNode(catfin)
bototomatix.elements.push(name)
return false
}
bototomatix.remove_element = function(idnode) {
var node = document.getElementById(idnode)
var name = node.firstChild.nodeValue.replace(/ /g, "_")
node.parentNode.removeChild(node)
for(var a=0 ; a < bototomatix.elements.length ; a++) {
if(bototomatix.elements[a] == name) {
bototomatix.elements.splice(a, 1);
break;
}
}
return false
}
function bototomatix_demarrage() {
}