Usuario:Platonides/TablaFacil.js

De Wikipedia, la enciclopedia libre

Nota: Después de guardar, debes refrescar la caché de tu navegador para ver los cambios. Internet Explorer: mantén presionada Ctrl mientras pulsas Actualizar. Firefox: mientras presionas Mayús pulsas el botón Actualizar, (o presiona Ctrl-Shift-R). Los usuarios de Google Chrome y Safari pueden simplemente pulsar el botón Recargar. Para más detalles e instrucciones acerca de otros exploradores, véase Ayuda:Cómo limpiar la caché.

//<nowiki>
//============================================================
// Générateur de tableaux
//============================================================

/**
 *
 * English: Generate an array using Mediawiki syntax
 *
 * @author: fr:user:dake
 * @version: 0.1
 */
 
function generateTableau(nbCol, nbRow, border, styleHeader, styleLine)
{
	var code = "\n";
	if (styleHeader==1) {
		code += '{{Cabecera tabla carta alineación|center}}\n';
	} else {
		code += '{| border="' + border + '"\n';
		code += '|+ Título de la tabla\n';
	}
	
	for (var i=0;i<nbCol;i++) code += '! cabecera ' + i + '\n'
	
	for (var j=0;j<nbRow;j++) {
		if ((j+1)%2==0 && styleLine==1) {
			code += '|-bgcolor="#EFEFEF"\n'
		} else {		
			code += '|-----\n'
		}
		
		for (var i=0;i<nbCol;i++) code += '| elemento\n';
	}
	
	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
 * @version: 0.1
 */
 
function popupTableau()
{
  var popup = window.open('','name','height=400,width=500');
  
  javaCode =  '<script type="text\/javascript">function insertCode(){';
  javaCode += 'var row = parseInt(document.paramForm.inputRow.value); '
  javaCode += 'var col = parseInt(document.paramForm.inputCol.value); '
  javaCode += 'var bord = parseInt(document.paramForm.inputBorder.value); '
  javaCode += 'var styleHeader = document.paramForm.inputHeader.checked; '
  javaCode += 'var styleLine = document.paramForm.inputLine.checked; '
  javaCode += 'window.opener.generateTableau(col,row,bord,styleHeader,styleLine); '
  javaCode += '}<\/script>';
  
  popup.document.write('<html><head><title>Parámetros de la tabla</title>');
  popup.document.write('<script type="text\/javascript" src="\/skins-1.5\/common\/wikibits.js"><!-- wikibits js --><\/script>');
  popup.document.write('<style type="text\/css" media="screen,projection">/*<![CDATA[*/ @import "\/skins-1.5\/monobook\/main.css?5"; /*]]>*/<\/style>');
  popup.document.write(javaCode); 
  popup.document.write('</head><body>');
  popup.document.write('<p>Introduzca los parámetros de la tabla : </p>');
  popup.document.write('<form name="paramForm">');
  popup.document.write('Número de líneas : <input type="text" name="inputRow" value="3" ><p>');
  popup.document.write('Número de columnas : <input type="text" name="inputCol" value="3" ><p>');
  popup.document.write('Grosor del borde : <input type="text" name="inputBorder" value="1" ><p>');
  popup.document.write('Cabecera gris (estilo «carta gráfica») : <input type="checkbox" name="inputHeader" checked="1" ><p>');
  popup.document.write('Lineas grises alternadas (estilo «carta gráfica») : <input type="checkbox" name="inputLine" checked="1" ><p>');
  popup.document.write('</form">');
  popup.document.write('<p><a href="javascript:insertCode()"> Introducir el código en la ventana de edición</a></p>');
  popup.document.write('<p><a href="javascript:self.close()"> Cerrar</a></p>');
  popup.document.write('</body></html>');
  popup.document.close();
}

Codigo = "<a href=\"javascript:popupTableau();\"><img src=\"http://upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png\" alt=\"Tabla\" title=\"Insertar tabla\" /></a>"; //Cómo se insertará

function PonBotonTabla() {
 if (document.getElementById('toolbar'))
     document.getElementById('toolbar').innerHTML+= Codigo;
}

if ( typeof ( botones ) != "undefined" )
  botones += Codigo;
else {

  if (window.addEventListener)  window.addEventListener("load", PonBotonTabla ,false);
else if (window.attachEvent)  window.attachEvent("onload", PonBotonTabla );
}
//</nowiki>