PageSourceSearch

https://lapremsadelbaix.es/modules/mod_funcionesgd/js/gd-local.js

js lapremsadelbaix.es collected 2026-09-24 19:41:23 UTC 9,895 bytes, 276 lines download raw bytes

1/**
2 * @package Godoweb
3 * @author Godoweb https://www.godoweb.com
4 * @copyright Copyright (c) 2010 - 2023 godoweb
5 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or Later
6 */
7/**
8 * Carga configuracion de la pagina local
9 */
10 
11
12window.addEventListener('DOMContentLoaded', function() {
13  "use strict";
14  godo.globalDiv();
15  godo.globalMeta();
16  godo.insertScss(); // carga godoweb.scss  dentro del master
17  godo.ClaseDispositivo();
18////////////////////////////////////* FIN-ENTRADA *///////////////////////////
19
20/////////////////* Controla la falta de imagenes *////////////////////////////////
21	const images = document.querySelectorAll('img'); 
22	const imagen_por_defecto = '/images/logos/logo_grande_rectangulo_web.jpg'
23	images.forEach(img => {
24	  img.addEventListener('error', () => {
25		img.src = imagen_por_defecto; 
26	  });
27	});
28/////////////////* Fin Controla la falta de imagenes *////////////////////////////////
29
30
31/////////////////* Cambia featured por Destacat  *////////////////////////////////
32// Encuentra el elemento con la clase "featured-article-badge"
33const insigniaDestacada = document.querySelector('.featured-article-badge');
34
35// Verifica si el elemento existe
36if (insigniaDestacada) {
37  // Cambia el contenido del texto a "Destacat"
38  insigniaDestacada.textContent = 'Destacat';
39}
40/////////////////* Fin Cambia featured por Destacat  *////////////////////////////////
41
42
43
44
45 
46//////////////////////////////////// iguala todas la cajas con la clase ".gd-igualar"
47const  eleIgualar  = document.querySelectorAll(".gd-igualar");  
48if(eleIgualar){
49		//console.log(eleIgualar.length);
50		godo.igualarCaja(eleIgualar);
51}
52
53////////////////// Encuentra el elemento <dd> con la clase "category-name"
54var categoryElements = document.querySelectorAll('.category-name');
55// Reemplaza el contenido del elemento eliminando "Category:"
56if (categoryElements) {
57	categoryElements.forEach(function(categoryElement) {
58		categoryElement.innerHTML = categoryElement.innerHTML.replace('Category:', '');
59	});
60}
61var timeElements = document.querySelectorAll('time');
62// Reemplaza el contenido del elemento eliminando "Category:"
63if (timeElements) {
64	timeElements.forEach(function(timeElement) {
65		timeElement.innerHTML = timeElement.innerHTML.replace('Published: ', '');
66	});
67}
68
69//////////////// limpia en la presentacio  de tags
70// Obtener todos los elementos con la clase '.tag-body'
71var elementosTagBody = document.querySelectorAll('.tag-body');
72if (elementosTagBody) {
73  // Iterar sobre cada elemento y realizar el reemplazo
74  elementosTagBody.forEach(function(elemento) {
75    // Obtener el texto del elemento
76    var textoOriginal = elemento.innerText;
77    // Reemplazar saltos de línea en el texto
78    var textoSinSaltos = textoOriginal.replace(/(\r\n|\n|\r)/gm, "");
79    // Asignar el texto modificado de nuevo al elemento
80    elemento.innerText = textoSinSaltos;
81  });
82}
83var elementosBlogBody = document.querySelectorAll('.gd-blog-introtext');
84if (elementosBlogBody) {
85	// Iterar sobre cada elemento y realizar el reemplazo
86	elementosBlogBody.forEach(function(elemento) {
87	  // Obtener el texto del elemento
88	  var textoOriginal = elemento.innerText;
89	  elemento.innerText = textoOriginal;
90	});
91  }
92
93// /////////////////////  Cabecera tres articulos /////////////////////////// 
94const cabecera  =  document.querySelector('.sp-module.gd-cabecera');
95if(cabecera){	
96	// Obtener el contenedor principal 
97	const cabecera = document.querySelector('.sp-module.gd-cabecera');
98	const contenedorPrincipal = cabecera.querySelector('#gd-modulo-articulos-categoria.gd-modulo-articulos-categoria');
99	const selectores = contenedorPrincipal.querySelectorAll('.com-content-category-blog__items.blog-item');
100	// Crear el primer selector
101	const columna1 = document.createElement('div');
102	columna1.classList.add('columna1'); // Añadir la clase "columna1" al nuevo selector
103	// Crear el segundo selector
104	const columna2 = document.createElement('div');
105	columna2.classList.add('columna2'); // Añadir la clase "columna2" al nuevo selector
106	// Añadir los selectores al contenedor principal
107	contenedorPrincipal.appendChild(columna1);
108	contenedorPrincipal.appendChild(columna2);
109	columna1.appendChild(selectores[0]);
110	// Mover los otros dos selectores a 'columna2'
111	for (let i = 1; i < selectores.length; i++) {
112	columna2.appendChild(selectores[i]);
113	  // Llamar a la función para realizar el movimiento
114	  recolocaInfo(selectores[i]);
115	  
116	}
117
118	function recolocaInfo(selector) {
119		// Seleccionar el elemento con la clase ".gd-info-blog"
120		const infoBlog = selector.querySelector(".gd-info-blog");
121	  
122		// Seleccionar el elemento con la clase ".article-intro-image"
123		const introImage = selector.querySelector(".article-intro-image");
124	  
125		// Verificar si ambos elementos existen antes de realizar el movimiento
126		if (infoBlog && introImage) {
127		  // Mover el elemento ".gd-info-blog" dentro de ".article-intro-image"
128		  introImage.appendChild(infoBlog);
129		}
130	  }
131	function alturasItems(){
132			// Obtener el elemento ".sp-module.gd-cabecera"
133			const gdCabecera = document.querySelector('.columna1');
134			// Obtener la altura de ".sp-module.gd-cabecera"
135			const alturaCabecera = gdCabecera.offsetHeight;
136			// Calcular la altura deseada para los elementos ".com-content-category-blog__items.blog-item" de la columna2
137			const alturaDeseada = Math.floor(alturaCabecera / 2) - 4;
138			// Obtener los elementos ".com-content-category-blog__items.blog-item" de la columna2
139			const elementosColumna2 = document.querySelectorAll('.columna2 .com-content-category-blog__items.blog-item');
140			// Ajustar la altura de cada elemento según sea necesario
141			elementosColumna2.forEach((elemento) => {
142			const alturaelemento = 	elemento.offsetHeight;	
143			const altura = alturaDeseada - alturaelemento;	
144			if (altura > 0) {
145				elemento.style.height = `${alturaDeseada}px`;
146			};
147		})
148	}
149	const esunMovil  = godo.esMovil();
150	if( esunMovil == false ){alturasItems();}
151}
152
153const existe = document.querySelector(".com-tags-tag.tag-category");
154if (existe){
155function reemplazarStrongPorEspacio(elementos) {
156    if (elementos) {
157        elementos.forEach(function(elemento) {
158            var contenidoHTML = elemento.innerHTML;
159            var contenidoModificado = contenidoHTML.replace(/<strong>/g, ' ').replace(/<\/strong>/g, ' ');
160            elemento.innerHTML = contenidoModificado;
161        });
162    }
163}
164
165// Reemplazar en elementos con la clase 'ul.com-tags-tag__category.category.list-group'
166reemplazarStrongPorEspacio(document.querySelectorAll('ul.com-tags-tag__category.category.list-group'));
167
168// Reemplazar en elementos con la clase '.container-inner .row'
169reemplazarStrongPorEspacio(document.querySelectorAll('.container-inner .row'));
170
171// Reemplazar en elementos con la clase '.container'
172reemplazarStrongPorEspacio(document.querySelectorAll('.container'));
173
174// Reemplazar en elementos dentro del 'body'
175reemplazarStrongPorEspacio(document.querySelectorAll('body'));
176
177}
178
179
180const carruselFlax = document.querySelector('#carruselFlax');
181if(carruselFlax){
182	var carousel = new bootstrap.Carousel(carruselFlax, {
183		interval: 7000,  // velocidad que cambia el slider
184		wrap: true
185	})
186	const modulosArt = document.querySelectorAll('.sp-module.gd-flaxmodulo');	
187	const moduloArtItems = modulosArt[0].querySelectorAll('.mod-articlesnews__item'); // los elementos del modulo de articulos flax
188	modulosArt[0].style.display = 'none'; // escondo el origen
189	colocoFlaxItems(moduloArtItems);
190
191
192
193	function colocoFlaxItems(moduloArtItems){
194		const itemsNewFlas = carruselFlax.querySelectorAll(".carousel-item"); // items del flax ahora hay 5 
195		//var elAnchoSelector = (itemsNewFlas[0].getBoundingClientRect().width) - 45;
196		var articulo 	="";
197		var News 		= "";
198		moduloArtItems.forEach(function (item,index) {
199			articulo = item.querySelector('.newsflash-title').innerHTML;
200			News = itemsNewFlas[index];
201		//	News.style.maxWidth = elAnchoSelector + 'px';
202			News.innerHTML = articulo;
203		})
204
205	}	
206}
207
208
209// logo cuando desaparece el superio
210// Define las funciones ponlogo y quitalogo
211// Función para añadir el logo
212function agregarLogo() {
213	const contenedor = document.querySelector('#sp-header div.container');
214	if(contenedor){
215		const logo = document.createElement('div');
216		logo.id = 'gd-logo-stic';
217		logo.innerHTML = '<img src="/images/logos/logo.jpg" loading="lazy" width="150" height="14" data-path="local-images:/logos/logo.jpg"/>';
218		
219		// Inserta el logo como el primer hijo del contenedor
220		contenedor.prepend(logo);
221	}
222	
223}
224
225// Función para eliminar el logo
226function eliminarLogo() {
227    const logo = document.querySelector('#gd-logo-stic');
228    if(logo){
229        logo.remove();
230    }
231}
232	// Observa los cambios en la clase de la barra
233	const observer = new MutationObserver(function(mutations) {
234	  mutations.forEach(function(mutation) {
235		if (mutation.attributeName === "class") {
236		  var attributeValue = $(mutation.target).prop(mutation.attributeName);
237		  if (attributeValue.includes("header-sticky")) {
238			agregarLogo();
239		  } else {
240			eliminarLogo();
241		  }
242		}
243	  });
244	});
245  
246	// Verifica si el elemento con ID #sp-header existe
247	const targetNode = document.querySelector('#sp-header');
248	if (targetNode) {
249	  // Inicia la observación
250	  observer.observe(targetNode, {
251		attributes: true
252	  });
253	} else {
254	  console.error('El nodo objetivo con ID "sp-header" no se encontró.');
255	}
256
257	///////////////////////retirar cla clase gd-node para poder ver flax
258	window.addEventListener('load', function() { var section = document.getElementById('sp-flax'); if (section) { section.classList.remove('gd-no'); } });
259  
260 //
261
262
263
264
265
266
267
268
269});
270
271
272
273	
274
275
276 

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.