From 06be58cdebab2c07cf5e7e26c48380b32bbb4b79 Mon Sep 17 00:00:00 2001 From: ouidade Date: Fri, 8 Nov 2024 12:00:04 +0100 Subject: [PATCH] js carte home --- .../q2d_mod/assets/css/carte-interactive-qdd.css | 4 ++-- .../q2d_mod/assets/js/carte-interactive-qdd.js | 13 ++++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/web/modules/custom/q2d_mod/assets/css/carte-interactive-qdd.css b/web/modules/custom/q2d_mod/assets/css/carte-interactive-qdd.css index 3e12406..9132dc9 100644 --- a/web/modules/custom/q2d_mod/assets/css/carte-interactive-qdd.css +++ b/web/modules/custom/q2d_mod/assets/css/carte-interactive-qdd.css @@ -38,7 +38,7 @@ z-index: 1000; text-align: left; padding-left: 1rem; - pointer-events: none; + /* pointer-events: none; */ } @media (max-width: 1090px) { #sites-map-container #popup { @@ -58,7 +58,7 @@ font-family: 'gilroy-bold'; } #sites-map-container a { - display: none; + /* display: none; */ align-items: center; color: white; background: black; 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 d6f1061..69114ed 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 @@ -11,6 +11,8 @@ const isNodeTypeSitePage = document.body.classList.contains('node-type-site'); // Identifier le cercle de la page courante pour node-type-site let currentPageCircle = null; +let lastHoveredCircle = null; // Variable pour conserver le dernier cercle survolé + if (isNodeTypeSitePage) { const body = document.querySelector('body'); const pageIdMatch = body.className.match(/node-id-(\d+)/); @@ -46,6 +48,12 @@ svgElement.addEventListener('mouseover', function(event) { // Interaction pour la page d'accueil if (isHomePage) { showPopup(content); // Affiche le popup + if (lastHoveredCircle && lastHoveredCircle !== event.target) { + lastHoveredCircle.setAttribute('fill', 'black'); // Remettre le dernier cercle survolé en noir + } + event.target.setAttribute('fill', 'red'); // Met le cercle en rouge + lastHoveredCircle = event.target; // Mettre à jour le cercle survolé + } // Interaction pour la page #lessites @@ -73,7 +81,8 @@ svgElement.addEventListener('mouseout', function(event) { // Ferme le popup pour la page d'accueil if (isHomePage) { - closePopup(); + // closePopup(); + return; } // Supprime la bordure rouge autour du .views-row pour la page #lessites @@ -88,6 +97,7 @@ svgElement.addEventListener('mouseout', function(event) { } }); + // Gérer les clics pour la page node-type-site uniquement svgElement.addEventListener('click', function(event) { if (isNodeTypeSitePage) { @@ -174,3 +184,4 @@ if (isLessitesPage) { } +