This commit is contained in:
2025-11-24 19:52:52 +01:00
parent 9a6938d231
commit 2686bc5f4a
4 changed files with 126 additions and 130 deletions

View File

@@ -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 <strong>
// 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 <strong>
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) {

View File

@@ -401,8 +401,8 @@ document.addEventListener('DOMContentLoaded', function() {
});
// ////////////////////// start calendrier home /////////////////////////////////
$(document).ready(function(){
// ////////////////////// start calendrier home /////////////////////////////////
// Aller au 9e élément à l'initialisation
$('.__timeline-content').on('init', function(event, slick){
@@ -432,7 +432,7 @@ document.addEventListener('DOMContentLoaded', function() {
});
console.log('salut slick calendrier');
});
//////////////////////// end calendrier home /////////////////////////////////
@@ -443,7 +443,7 @@ document.addEventListener('DOMContentLoaded', function() {
//////////// start slideshow images home //////////////////////////
$(document).ready(function () {
let diapohome = $('.config_pages--type--diaporama-home .diaporama');
if (diapohome.length) {
@@ -473,12 +473,12 @@ $(document).ready(function () {
});
}
});
//////////// end slideshow images home //////////////////////////
//////////// start slideshow /actualites //////////////////////////
$(document).ready(function(){
// Vérifier si on N'EST PAS sur la page #home
if (!$("#page-node").length) {
let actuview2 = $('.content-wrapper-actu .field_field_images .actu-diaporama');
@@ -780,14 +780,14 @@ $(document).ready(function () {
$(this).addClass(classToAdd); // Ajoute cette classe à .view-rows-wrapper
}
});
});
////////////////// end class à view-rows-wrapper ////////////////
/////////////////// start voir plus... ressources ////////////////////
$(document).ready(function () {
// Vérifier si on est sur la page avec l'ID #ressources
if ($("#ressources").length > 0) {
$(".view-rows-wrapper").each(function () {
@@ -870,13 +870,13 @@ $(document).ready(function () {
}
});
/////////////////// end voir plus... ressources ////////////////////
/////////////////// start voir plus... actualite dans /actualites & /home ////////////////////
$(document).ready(function () {
if ($("#actualites" ).length > 0 || $("#home").length > 0) {
$(".node-type-actualite").each(function () {
let article = $(this);
@@ -928,15 +928,12 @@ $(document).ready(function () {
}
})
}
});
/////////////////// end voir plus... actualite dans /actualites & /home ////////////////////
/////////////// start class à view-rows-ressources ////////
$(document).ready(function () {
$(".view-rows-wrapper").each(function () {
let h3Container = $(this).prev("h3").find("div[class^='type-']");
let classToAdd = h3Container.attr("class"); // Récupère la classe complète (ex: "type-Documentation")
@@ -945,9 +942,34 @@ $(document).ready(function () {
$(this).addClass(classToAdd); // Ajoute cette classe à .view-rows-wrapper
}
});
});
////////////////// end class à view-rows-wrapper ////////////////
//////////////start toggle partenaire //////////////////
$(".node-type-partenaire").each(function () {
let article = $(this);
let body = article.find(".field_body");
let links = article.find(".field_field_lien");
body.hide();
links.hide();
let toggleButton = $("<button>")
.addClass("toggle-partenaire")
.appendTo(article);
toggleButton.on("click", function () {
body.slideToggle();
links.slideToggle();
$(this).toggleClass("open");
});
});
});
//////////////start toggle partenaire //////////////////
////////////// start toggle page node projet //////////////////
document.addEventListener('DOMContentLoaded', function () {
@@ -988,31 +1010,7 @@ btn.insertAdjacentElement('afterend', separator);
//////////////end toggle page node projet //////////////////
//////////////start toggle partenaire //////////////////
$(document).ready(function () {
$(".node-type-partenaire").each(function () {
let article = $(this);
let body = article.find(".field_body");
let links = article.find(".field_field_lien");
body.hide();
links.hide();
let toggleButton = $("<button>")
.addClass("toggle-partenaire")
.appendTo(article);
toggleButton.on("click", function () {
body.slideToggle();
links.slideToggle();
$(this).toggleClass("open");
});
});
});
//////////////start toggle partenaire //////////////////
})(jQuery, window);

File diff suppressed because one or more lines are too long

View File

@@ -343,8 +343,8 @@ document.addEventListener('DOMContentLoaded', function() {
});
// ////////////////////// start calendrier home /////////////////////////////////
$(document).ready(function(){
// ////////////////////// start calendrier home /////////////////////////////////
// Aller au 9e élément à l'initialisation
$('.__timeline-content').on('init', function(event, slick){
@@ -374,7 +374,7 @@ document.addEventListener('DOMContentLoaded', function() {
});
console.log('salut slick calendrier');
});
//////////////////////// end calendrier home /////////////////////////////////
@@ -385,7 +385,7 @@ document.addEventListener('DOMContentLoaded', function() {
//////////// start slideshow images home //////////////////////////
$(document).ready(function () {
let diapohome = $('.config_pages--type--diaporama-home .diaporama');
if (diapohome.length) {
@@ -415,12 +415,12 @@ $(document).ready(function () {
});
}
});
//////////// end slideshow images home //////////////////////////
//////////// start slideshow /actualites //////////////////////////
$(document).ready(function(){
// Vérifier si on N'EST PAS sur la page #home
if (!$("#page-node").length) {
let actuview2 = $('.content-wrapper-actu .field_field_images .actu-diaporama');
@@ -722,14 +722,14 @@ $(document).ready(function () {
$(this).addClass(classToAdd); // Ajoute cette classe à .view-rows-wrapper
}
});
});
////////////////// end class à view-rows-wrapper ////////////////
/////////////////// start voir plus... ressources ////////////////////
$(document).ready(function () {
// Vérifier si on est sur la page avec l'ID #ressources
if ($("#ressources").length > 0) {
$(".view-rows-wrapper").each(function () {
@@ -812,13 +812,13 @@ $(document).ready(function () {
}
});
/////////////////// end voir plus... ressources ////////////////////
/////////////////// start voir plus... actualite dans /actualites & /home ////////////////////
$(document).ready(function () {
if ($("#actualites" ).length > 0 || $("#home").length > 0) {
$(".node-type-actualite").each(function () {
let article = $(this);
@@ -870,15 +870,12 @@ $(document).ready(function () {
}
})
}
});
/////////////////// end voir plus... actualite dans /actualites & /home ////////////////////
/////////////// start class à view-rows-ressources ////////
$(document).ready(function () {
$(".view-rows-wrapper").each(function () {
let h3Container = $(this).prev("h3").find("div[class^='type-']");
let classToAdd = h3Container.attr("class"); // Récupère la classe complète (ex: "type-Documentation")
@@ -887,9 +884,34 @@ $(document).ready(function () {
$(this).addClass(classToAdd); // Ajoute cette classe à .view-rows-wrapper
}
});
});
////////////////// end class à view-rows-wrapper ////////////////
//////////////start toggle partenaire //////////////////
$(".node-type-partenaire").each(function () {
let article = $(this);
let body = article.find(".field_body");
let links = article.find(".field_field_lien");
body.hide();
links.hide();
let toggleButton = $("<button>")
.addClass("toggle-partenaire")
.appendTo(article);
toggleButton.on("click", function () {
body.slideToggle();
links.slideToggle();
$(this).toggleClass("open");
});
});
});
//////////////start toggle partenaire //////////////////
////////////// start toggle page node projet //////////////////
document.addEventListener('DOMContentLoaded', function () {
@@ -930,31 +952,7 @@ btn.insertAdjacentElement('afterend', separator);
//////////////end toggle page node projet //////////////////
//////////////start toggle partenaire //////////////////
$(document).ready(function () {
$(".node-type-partenaire").each(function () {
let article = $(this);
let body = article.find(".field_body");
let links = article.find(".field_field_lien");
body.hide();
links.hide();
let toggleButton = $("<button>")
.addClass("toggle-partenaire")
.appendTo(article);
toggleButton.on("click", function () {
body.slideToggle();
links.slideToggle();
$(this).toggleClass("open");
});
});
});
//////////////start toggle partenaire //////////////////
})(jQuery, window);