/* =================================================================================================================== INICIO: permite cambiar la opacidad de los iconos si el ratón pasa por encima. =================================================================================================================== */ const tooltipTriggerList = document.querySelectorAll('[data-bs-toggle="tooltip"]') const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl)) /* =================================================================================================================== BUSCADOR: permite el resize del/de los iframe(s), evita scroll interno. Cada origen apunta a SU iframe. Si en el futuro se añade otro buscador embebido, basta con añadir una línea nueva a IFRAME_POR_ORIGEN (no tocar las que ya existen). =================================================================================================================== */ const IFRAME_POR_ORIGEN = { 'https://projectes.ice.upc.edu': 'miIframe', // proyecto ya existente, sin tocar 'https://formacio.ice.upc.edu': 'iframeOfertaFormativa' // nuevo: Oferta Formativa }; window.addEventListener('message', (event) => { const iframeId = IFRAME_POR_ORIGEN[event.origin]; if (!iframeId) return; // mensaje de un origen que no reconocemos: se ignora if (event.data && event.data.iframeCercadorAltura) { const iframe = document.getElementById(iframeId); if (iframe) iframe.style.height = event.data.iframeCercadorAltura + 'px'; } }); /* =================================================================================================================== BUSCADOR: permite cambiar la url del/de los iframe(s) según la URL de la página al cargar. Recorre todos los ids conocidos y actúa solo sobre los que existan realmente en esta página. =================================================================================================================== */ document.addEventListener('DOMContentLoaded', () => { const queryString = window.location.search; if (!queryString) return; Object.values(IFRAME_POR_ORIGEN).forEach(id => { const iframe = document.getElementById(id); if (iframe) { const iframeUrl = new URL(iframe.src); iframeUrl.search = queryString; iframe.src = iframeUrl.toString(); } }); }); /* =================================================================================================================== BUSCADOR: cambia la url de la pagina en funcion de la busqueda del iframe. No depende de ningún id ni origen concreto: sirve igual para cualquier buscador embebido. =================================================================================================================== */ window.addEventListener('message', e => { if (typeof e.data?.iframeCercadorQuery === 'string') { const query = e.data.iframeCercadorQuery const url = window.location.pathname + (query ? '?' + query : '') history.replaceState(null, '', url) } })