User:Chixpy/WSS2/barrabotones

// // Basada en la versión de Axxgreazz para el MonoBook-Suie de WP-es // http://es.wikipedia.org/wiki/Usuario:Axxgreazz/Monobook-Suite // Modificada por User:Chixpy // Evitemos su carga duplicada if (!WSS.Barra){ // Desactivamos botones por defecto (Así no los carga primero) // TODO: Habría que discriminar cual es la función a quitar dependiendo de la skin // o vaciar el array... function addButton { return; }; function mwInsertEditButton{ return; }; WSS.Barra = { // Funciones para usar con la carga automática de botones // -- // WSS.Barra.AnadirBarra (identificador) // Añade una barra nueva de botones AnadirBarra : function(identificador) {  if (!identificador || (identificador == "")) {identificador = "toolbar"}; WSS.Barra.Botones[WSS.Barra.Botones.length] = {"barra": identificador, "nombre": "", "imagen": "", "funcion": ""}; }, // WSS.Barra.AnadirBotonBarra (barra, imagen, nombre, funcion) // Añade un botón a la barra especificada AnadirBotonBarra : function(barra, nombre, imagen, funcion) {  if (!barra || (barra == "")) {barra = "toolbar"}; if (!nombre || (nombre == "")) {nombre = " ";}; if (!imagen) {imagen == "";}; if (!funcion) {funcion == "";}; WSS.Barra.Botones[WSS.Barra.Botones.length] = {"barra": barra, "nombre": nombre, "imagen": imagen, "funcion": funcion}; }, // Funciones internas para poder usar desde otros módulos // -- // WSS.Barra.CrearBarra (identificador) CrearBarra : function(identificador) {   if ((identificador == "") || !identificador) {return;} // Si ya existe, ¡¡out!! if (WSS.FP.ObtenerElemento(identificador, true)) {return;} // Apaño para que funcione en Wikia porque: ... return WSS.FP.AnadirAntes (     WSS.FP.ObtenerElemento("wpTextbox1").parentNode,      WSS.FP.ObtenerElemento("wpTextbox1"),      "div",      {id: identificador}); }, // WSS.Barra.CrearBotonBarra (barra, imagen, funcion, texto) // Método cutre sin usar DOM :-P CrearBotonBarra : function(barra, imagen, funcion, texto) {   var boton = ''; if (funcion != '') {     boton += ''; if (imagen != '') {       boton += ''; }     else {       boton += '' + texto + ' '; }     boton += ""; }   else {     boton += texto; }   var barrabotones = WSS.FP.ObtenerElemento(barra); if (!barrabotones) {barrabotones = WSS.Barra.CrearBarra (barra); }; barrabotones.innerHTML += boton; // return boton; //Como esta hecho a mano no devuelvo el botón... }, // Carga automática de botones // --- // WSS.Barra.CargarBarra // Funcion que carga las barras de herramientas CargarBarra: function {   if (WSS.Barra.Cargar == false) {return;}; // Si no hay caja de edición, no hay botones if (!WSS.FP.ObtenerElemento("wpTextbox1", true)) {return;} // Nos aseguramos que borramos todos los botones por defecto de verdad if (WSS.FP.ObtenerElemento("toolbar", true)) {     WSS.FP.ObtenerElemento("toolbar").innerHTML = ""; }   for (i = 0; i < WSS.Barra.Botones.length; i++) {     if (!WSS.Barra.Botones[i].nombre) {WSS.Barra.Botones[i].nombre = "";}; if (!WSS.Barra.Botones[i].funcion) {WSS.Barra.Botones[i].funcion = "";}; if ((WSS.Barra.Botones[i].nombre == "") &&       (WSS.Barra.Botones[i].funcion == "")) {       WSS.Barra.CrearBarra (WSS.Barra.Botones[i].barra); }     else {       WSS.Barra.CrearBotonBarra (WSS.Barra.Botones[i].barra,          WSS.Barra.Botones[i].imagen, WSS.Barra.Botones[i].funcion,          WSS.Barra.Botones[i].nombre) }   }  },  Botones : [], Cargar : true,   /* Cargar módulo de botones*/ Globales : true, /* Cargar botones globales */ Locales : true,  /* Cargar botones locales  */ Usuario : true,  /* Cargar botones globales de usuario*/ // Directorio donde se encuentran los botones del Mediwiki DirBotonComun : wgServer + stylepath + "/common/images/", // Directorio base de los botones alojados en algún repositorio común // (por ejemplo central de Wikia o si se usa en WP (que lo dudo) pues el common) DirBotonRep : '', // Directorio base de las imágenes alojados en la wiki base donde está el WWS. DirBotonBase : '', // Directorio base de las imágenes locales para botones DirBotonBaseLocal : '', // Variables usadas por funciones-globales // ¿Habría que sacar estas variables de aquí y ponerlas en otro lado? FirmaPlantilla : false, EstiloTabla : '' } WSS.FP.IncluirConfiguracion ("funcionesbotones", true, true, true); WSS.FP.IncluirConfiguracion ("botones", WSS.Barra.Globales, WSS.Barra.Locales, WSS.Barra.Usuario ); addOnloadHook(WSS.Barra.CargarBarra, false); } //if (!WSS.Barra) //