Utilisateur:KompoZer/Tableau
Apparence
/*
Ce script ajoute un bouton pour la création de tableaux. Ce bouton ouvre une nouvelle fenêtre pour entrer les paramètres du tableau et insérer le code wiki correspondant.
Utilisation
[modifier | modifier le wikicode]Ajoutez la ligne suivante dans votre monobook.js :
obtenir('Tableau');
Source
[modifier | modifier le wikicode]*/
/**
* Générateur de tableaux
* @author: fr:user:dake, fr:user:DavidL
* @version: 0.2
*/
function generateTableau(nbCol, nbRow, border, styleHeader, styleLine) {
var code = "\n{| " +
((styleHeader==1) ? 'class="wikitable"' : '')+
' border="' + border + '"\n|+ Titre du tableau\n';
var elements = "";
for (var i=0;i<nbCol;i++) {
code += '! en-tête ' + i + '\n';
elements += '| élément\n';
}
for (var j=0;j<nbRow;j++)
code += ( (j%2==1 && styleLine==1)
? '|-{'+'{ligne grise}'+'}\n'
: '|-----\n'
) + elements ;
code += '|}';
insertTags('','', code);
}
/**
* English: Open a popup with parameters to generate an array.
* The number of rows/columns can be modified. Some additional
* parameters are related to templates available on :fr
*
* @author: fr:user:dake, fr:user:DavidL
* @version: 0.2
*/
function popupTableau() {
var popup = window.open('','name','height=400,width=500');
popup.document.write(
'<html><head><title>Paramètres du tableau</title>' +
'<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><!-- wikibits js --><\/script>'+
'<style type="text\/css" media="screen,projection">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; /*]]>*/<\/style>'+
'<script type="text\/javascript">function insertCode(){'+
'window.opener.generateTableau('+
'parseInt(document.paramForm.inputCol.value),'+
'parseInt(document.paramForm.inputRow.value),'+
'parseInt(document.paramForm.inputBorder.value),'+
'document.paramForm.inputHeader.checked,'+
'document.paramForm.inputLine.checked);'+
'}<\/script>'+
'</head><body>'+
'<p>Veuillez entrer les paramètres du tableau : </p>'+
'<form name="paramForm">'+
'Nombre de lignes : <input type="text" name="inputRow" value="3" ><p>'+
'Nombre de colonnes : <input type="text" name="inputCol" value="3" ><p>'+
'Largeur de la bordure : <input type="text" name="inputBorder" value="1" ><p>'+
'En-tête en gris (style « charte graphique ») : <input type="checkbox" name="inputHeader" checked="1" ><p>'+
'Lignes grises alternées (style « charte graphique ») : <input type="checkbox" name="inputLine" checked="1" ><p>'+
'</form">'+
'<p><a href="javascript:insertCode()"> Insérer le code dans la fenêtre d\'édition</a></p>'+
'<p><a href="javascript:self.close()"> Fermer</a></p>'+
'</body></html>');
popup.document.close();
}
//Ressemble à la fonction de /skins-1.5/commons/wikibits.js pour insérer un autre lien que insertTags
function marqueTab() {
var toolbar = document.getElementById('toolbar');
if (!toolbar) return false;
var textbox = document.getElementById('wpTextbox1');
if (!textbox) return false;
if (!document.selection && textbox.selectionStart == null) return false;
var image = document.createElement("img");
image.width = 23;
image.height = 22;
image.src = 'http://upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png';
image.border = 0;
image.alt = 'Tableau';
image.title = 'Tableau';
image.style.cursor = "pointer";
image.onclick = function() {
popupTableau();
return false;
}
toolbar.appendChild(image);
}
addOnloadHook(marqueTab);
//