Diferencia entre revisiones de «MediaWiki:Common.js»

De Wiki de EUROPARC Espana
 
(No se muestran 14 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
 
/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */
 
/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */
 +
 +
/* Configuración */
 +
 +
var toc_level_limit = 5;
  
 
/* Arreglo temporal para el problema de algunos iconos del menú (issue: https://github.com/ProfessionalWiki/chameleon/issues/193) */
 
/* Arreglo temporal para el problema de algunos iconos del menú (issue: https://github.com/ProfessionalWiki/chameleon/issues/193) */
 
var mainpage_link = document.querySelector("#n-mainpage-description a.nav-link")
 
var mainpage_link = document.querySelector("#n-mainpage-description a.nav-link")
 
mainpage_link.classList.add('n-mainpage-description');
 
mainpage_link.classList.add('n-mainpage-description');
 +
 +
/* Eliminar sumario si tiene menos de 5 elementos */
 +
if (document.getElementsByClassName("toclevel-1").length <= toc_level_limit) {
 +
  /* Comprobar si estamos en una página con sumario */
 +
  if (document.getElementById("toc")) {
 +
  document.getElementById("toc").remove();
 +
  }
 +
}
  
 
/* Desplegable */
 
/* Desplegable */
 
var desplegable = document.getElementsByClassName("folded");
 
var desplegable = document.getElementsByClassName("folded");
 
var i;
 
var i;
 
  
 
for (i = 0; i < desplegable.length; i++) {
 
for (i = 0; i < desplegable.length; i++) {
Línea 21: Línea 32:
 
   });
 
   });
 
}
 
}
 +
 +
/* Ocultar TOC por defecto */
 +
window.addEventListener('DOMContentLoaded', function() {
 +
  try {
 +
    if (document.getElementById('toc').getElementsByTagName('ul')[0].style.display != 'none') {
 +
      console.log("toggleToc()");
 +
      toggleToc();
 +
    }
 +
  } catch (exception) {
 +
    console.log("Error al usar toggleToc()");
 +
  }
 +
}, false);
 +
 +
/* Eliminar apartado observaciones si no tiene contenido (temporal, hasta que se introduzca en observaciones) */
 +
if (document.getElementById("Observaciones")) {
 +
if (!(document.getElementById("Observaciones").parentElement.nextElementSibling)) {
 +
  document.getElementById("Observaciones").parentElement.remove();
 +
  document.querySelector("#toc ul").lastElementChild.remove();
 +
}
 +
}
 +
 +
/* Límite de caracteres en campos de los formularios */
 +
// document.getElementById("input_1").value = document.getElementById("input_1").value.substring(0, 50);

Revisión actual del 12:07 2 nov 2022

/* Cualquier código JavaScript escrito aquí se cargará para todos los usuarios en cada carga de página */

/* Configuración */

var toc_level_limit = 5;

/* Arreglo temporal para el problema de algunos iconos del menú (issue: https://github.com/ProfessionalWiki/chameleon/issues/193) */
var mainpage_link = document.querySelector("#n-mainpage-description a.nav-link")
mainpage_link.classList.add('n-mainpage-description');

/* Eliminar sumario si tiene menos de 5 elementos */
if (document.getElementsByClassName("toclevel-1").length <= toc_level_limit) {
  /* Comprobar si estamos en una página con sumario */
  if (document.getElementById("toc")) {
  	document.getElementById("toc").remove();
  }
}

/* Desplegable */
var desplegable = document.getElementsByClassName("folded");
var i;

for (i = 0; i < desplegable.length; i++) {
  desplegable[i].addEventListener("click", function() {
    this.classList.toggle("folded-active");
    var content = this.nextElementSibling;
    if (content.style.maxHeight){
      content.style.maxHeight = null;
    } else {
      content.style.maxHeight = content.scrollHeight + "px";
    }
  });
}

/* Ocultar TOC por defecto */
window.addEventListener('DOMContentLoaded', function() {
  try {
    if (document.getElementById('toc').getElementsByTagName('ul')[0].style.display != 'none') {
      console.log("toggleToc()");
      toggleToc();
    }
  } catch (exception) {
    console.log("Error al usar toggleToc()");
  }
}, false);

/* Eliminar apartado observaciones si no tiene contenido (temporal, hasta que se introduzca en observaciones) */
if (document.getElementById("Observaciones")) {
	if (!(document.getElementById("Observaciones").parentElement.nextElementSibling)) {
	   document.getElementById("Observaciones").parentElement.remove();
	   document.querySelector("#toc ul").lastElementChild.remove();
	}
}

/* Límite de caracteres en campos de los formularios */
// document.getElementById("input_1").value = document.getElementById("input_1").value.substring(0, 50);