Aller au contenu

Utilisateur:Dr Brains/CreateTable.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.
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 + "&nbsp;" + 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);
}