interactivité carte ressource
This commit is contained in:
@@ -10,6 +10,8 @@ const isLessitesPage = document.querySelector('div#lessites') !== null;
|
|||||||
const isNodeTypeSitePage = document.body.classList.contains('node-type-site');
|
const isNodeTypeSitePage = document.body.classList.contains('node-type-site');
|
||||||
const isCandidaturePage = document.querySelector('main#pour_candidater') !== null;
|
const isCandidaturePage = document.querySelector('main#pour_candidater') !== null;
|
||||||
const isNodeTypeProjetPage = document.body.classList.contains('node-type-projet');
|
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
|
// Identifier le cercle de la page courante pour node-type-site
|
||||||
let currentPageCircle = null;
|
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
|
// Fonction pour afficher le popup
|
||||||
function showPopup(content) {
|
function showPopup(content) {
|
||||||
|
|||||||
Reference in New Issue
Block a user