diff --git a/web/modules/custom/q2d_mod/assets/js/carte-interactive-qdd.js b/web/modules/custom/q2d_mod/assets/js/carte-interactive-qdd.js index 171795a..59d70a9 100644 --- a/web/modules/custom/q2d_mod/assets/js/carte-interactive-qdd.js +++ b/web/modules/custom/q2d_mod/assets/js/carte-interactive-qdd.js @@ -28,70 +28,70 @@ if (isNodeTypeSitePage) { } } -// Identifier le cercle du SITE lié quand on est sur une page node-type-projet -if (isNodeTypeProjetPage && svgElement) { - // On récupère le lien vers le site lié dans le bloc "Site lié" - const linkedSiteLink = document.querySelector('.field_field_site_projet article.node-type-site a[href*="/sites/"]'); +// // Identifier le cercle du SITE lié quand on est sur une page node-type-projet +// if (isNodeTypeProjetPage && svgElement) { +// // On récupère le lien vers le site lié dans le bloc "Site lié" +// const linkedSiteLink = document.querySelector('.field_field_site_projet article.node-type-site a[href*="/sites/"]'); - if (linkedSiteLink) { - // On normalise le chemin (sans domaine) de l'URL du site - const sitePath = new URL(linkedSiteLink.getAttribute('href'), window.location.origin).pathname; +// if (linkedSiteLink) { +// // On normalise le chemin (sans domaine) de l'URL du site +// const sitePath = new URL(linkedSiteLink.getAttribute('href'), window.location.origin).pathname; - // On cherche le cercle dont le data-url pointe vers le même site - const correspondingCircle = Array.from(svgElement.querySelectorAll('circle.site-link')).find(circle => { - const circleUrl = circle.getAttribute('data-url'); - if (!circleUrl) return false; +// // On cherche le cercle dont le data-url pointe vers le même site +// const correspondingCircle = Array.from(svgElement.querySelectorAll('circle.site-link')).find(circle => { +// const circleUrl = circle.getAttribute('data-url'); +// if (!circleUrl) return false; - const circlePath = new URL(circleUrl, window.location.origin).pathname; - return circlePath === sitePath; - }); +// const circlePath = new URL(circleUrl, window.location.origin).pathname; +// return circlePath === sitePath; +// }); - if (correspondingCircle) { - currentPageCircle = correspondingCircle; - currentPageCircle.setAttribute('fill', 'red'); // Met en rouge le cercle du site lié - } - } -} +// if (correspondingCircle) { +// currentPageCircle = correspondingCircle; +// currentPageCircle.setAttribute('fill', 'red'); // Met en rouge le cercle du site lié +// } +// } +// } -// Identifier le cercle du SITE lié quand on est sur une page node-type-ressource -if (isNodeTypeRessourcePage && svgElement) { - // On récupère le(s) nom(s) de site dans le champ .field_field_site - // Ici on part sur le premier (simple à gérer, extensible ensuite si besoin) - const siteNameNode = document.querySelector('.field_field_site > div:not(.field) div'); +// // Identifier le cercle du SITE lié quand on est sur une page node-type-ressource +// if (isNodeTypeRessourcePage && svgElement) { +// // On récupère le(s) nom(s) de site dans le champ .field_field_site +// // Ici on part sur le premier (simple à gérer, extensible ensuite si besoin) +// const siteNameNode = document.querySelector('.field_field_site > div:not(.field) div'); - if (siteNameNode) { - const rawSiteName = siteNameNode.textContent || ''; +// if (siteNameNode) { +// const rawSiteName = siteNameNode.textContent || ''; - // Normalisation basique pour éviter les soucis d'espaces / accents insécables - const normalize = (str) => - str.replace(/\u00a0/g, ' ') // remplace les espaces insécables - .replace(/\s+/g, ' ') // compresse les espaces multiples - .trim() - .toLowerCase(); +// // Normalisation basique pour éviter les soucis d'espaces / accents insécables +// const normalize = (str) => +// str.replace(/\u00a0/g, ' ') // remplace les espaces insécables +// .replace(/\s+/g, ' ') // compresse les espaces multiples +// .trim() +// .toLowerCase(); - const targetName = normalize(rawSiteName); +// const targetName = normalize(rawSiteName); - const circles = svgElement.querySelectorAll('circle.site-link'); +// const circles = svgElement.querySelectorAll('circle.site-link'); - circles.forEach(circle => { - const contentHtml = circle.getAttribute('data-content') || ''; +// circles.forEach(circle => { +// const contentHtml = circle.getAttribute('data-content') || ''; - // On crée un élément temporaire pour parser le HTML de data-content - const tmp = document.createElement('div'); - tmp.innerHTML = contentHtml; +// // On crée un élément temporaire pour parser le HTML de data-content +// const tmp = document.createElement('div'); +// tmp.innerHTML = contentHtml; - // En général, le nom est dans le - const strong = tmp.querySelector('strong'); - const circleNameRaw = strong ? strong.textContent : tmp.textContent; - const circleName = normalize(circleNameRaw || ''); +// // En général, le nom est dans le +// const strong = tmp.querySelector('strong'); +// const circleNameRaw = strong ? strong.textContent : tmp.textContent; +// const circleName = normalize(circleNameRaw || ''); - if (circleName === targetName) { - currentPageCircle = circle; - currentPageCircle.setAttribute('fill', 'red'); // surligne le site lié - } - }); - } -} +// if (circleName === targetName) { +// currentPageCircle = circle; +// currentPageCircle.setAttribute('fill', 'red'); // surligne le site lié +// } +// }); +// } +// } // Fonction pour afficher le popup function showPopup(content) {