Utilisateur:Dr Brains/CreateTable.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) ;
Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.if(mw.config.get('wgAction')=="edit"||mw.config.get('wgAction')=="submit"){
document.write('<style type="text/css" > #mw-editbutton-array { display:none; }</style>');
addOnloadHook(CreateTable_AddButton);
}
function CreateTable_AddButton(){
if(!document.editform) return;
var Toolbar = document.getElementById('toolbar');
if(!Toolbar){
Toolbar = document.createElement('div');
Toolbar.id = 'toolbar';
document.editform.insertBefore(Toolbar, document.editform.firstChild);
}
var button = '<img src="http://upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png" heigth="23" width="23" alt="Composant de portail" />';
var NewButton = document.createElement('a')
NewButton.title = "Créer un tableau";
NewButton.href="javascript:CreateTable_OpenMenu();";
NewButton.innerHTML = button;
Toolbar.appendChild(NewButton);
}
function CreateTable_Cancel(){
var MenuDiv = document.getElementById('Menu_Table');
if(MenuDiv) MenuDiv.parentNode.removeChild(MenuDiv);
}
function CreateTable_OpenMenu(){
var OldMenuDiv = document.getElementById('Menu_Table');
if(OldMenuDiv) return;
var Toolbar = document.getElementById('toolbar');
if(!Toolbar) Toolbar = document.getElementById('Oldbar');
var MenuDiv = document.createElement('div');
MenuDiv.id = 'Menu_Table';
Toolbar.parentNode.insertBefore(MenuDiv, Toolbar.nextSibling);
var InputCreateTable = '<input id="CreateTable_Transform" disabled="disabled" type="button" value="Créer" onclick="CreateTable_Cancel();" onselect="CreateTable_Cancel();"/>';
var InputCancel = '<input type="button" value="Annuler" onclick="CreateTable_Cancel();" onselect="CreateTable_Cancel();"/>';
var MenuStart = '<div id="CreateTable_MenuStart" >'
+ '<input id="col" type="text" name="col" value="2" /><label for="col">Nombre de colonnes</label><br />'
+ '<input id="row" type="text" name="row" value="2" /><label for="row">Nombre de rangées</label><br />'
+ '<input type="button" onclick="CreateTable_CheckMenu()" onselect="CreateTable_CheckMenu()" value="Valider" />'
+ '</div>';
MenuDiv.innerHTML = '<p><center>' + InputCreateTable + " " + InputCancel + '</center></p>' + MenuStart;
}
function CreateTable_CheckMenu(){
var MenuStart = document.getElementById("CreateTable_MenuStart");
if(!MenuStart) return;
var TableSize = new Array();
var Inputs = MenuStart.getElementsByTagName('input');
for(var a=0,l=Inputs.length;a<l;a++){
var Input = Inputs[a];
if(Input.type!="text") continue;
var InputName = Input.name;
var InputValue = parseInt(Input.value);
TableSize[InputName] = InputValue;
}
CreateTable_CreateTableForm(TableSize);
MenuStart.parentNode.removeChild(MenuStart);
}
function CreateTable_CreateTableForm(TableSize){
var MenuDiv = document.getElementById('Menu_Table');
if(!MenuDiv) return;
var Form = document.createElement('form');
Form.id = "TableForm";
var Table = document.createElement('table');
for(var tr=0,trL=TableSize["row"];tr<(trL+1);tr++){
var NewTR = document.createElement('tr');
for(var td=0,tdL=TableSize["col"];td<(tdL+1);td++){
var NewTD = document.createElement('td');
NewTD.innerHTML = "TR : "+tr+" - TD : "+td;
NewTR.appendChild(NewTD);
}
Table.appendChild(NewTR);
}
Form.appendChild(Table);
MenuDiv.appendChild(Form);
}