interactivité carte ressource

This commit is contained in:
2025-11-27 19:04:38 +01:00
parent 7ba0a0ec05
commit c94ec553eb

View File

@@ -10,6 +10,8 @@ const isLessitesPage = document.querySelector('div#lessites') !== null;
const isNodeTypeSitePage = document.body.classList.contains('node-type-site');
const isCandidaturePage = document.querySelector('main#pour_candidater') !== null;
const isNodeTypeProjetPage = document.body.classList.contains('node-type-projet');
const isNodeTypeRessourcePage = document.body.classList.contains('node-type-ressource');
// Identifier le cercle de la page courante pour node-type-site
let currentPageCircle = null;
@@ -51,6 +53,29 @@ if (isNodeTypeProjetPage && svgElement) {
}
}
// Identifier le cercle du SITE lié quand on est sur une page node-type-ressource
if (isNodeTypeRessourcePage && svgElement) {
// On récupère le nom du site dans le bloc "Site(s)"
const siteField = document.querySelector('.field_field_site');
if (siteField && siteField.children[1]) {
// children[0] = label "Site(s)", children[1] = wrapper du nom
const siteName = siteField.children[1].textContent.trim(); // ex : "Corbeil-Essonnes, quartier des Tarterêts"
// On cherche le cercle dont le data-content contient ce nom
const correspondingCircle = Array.from(svgElement.querySelectorAll('circle.site-link')).find(circle => {
const content = circle.getAttribute('data-content') || '';
return content.includes(siteName);
});
if (correspondingCircle) {
currentPageCircle = correspondingCircle;
currentPageCircle.setAttribute('fill', 'red'); // Met en rouge le cercle du site lié
}
}
}
// Fonction pour afficher le popup
function showPopup(content) {