retrouve page lessites
This commit is contained in:
parent
104633faa1
commit
735a9a0278
File diff suppressed because one or more lines are too long
@ -11,11 +11,11 @@
|
||||
console.log('It works!');
|
||||
}
|
||||
};
|
||||
} (Drupal));
|
||||
} (Drupal));
|
||||
|
||||
|
||||
//////// start header ////////////
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
//////// start header ////////////
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
|
||||
const header = document.querySelector('header');
|
||||
const logo = document.querySelector('#block-quartiers-de-demain-logoquartiersdedemain > div:nth-child(1) > div:nth-child(1) > a:nth-child(1) > svg:nth-child(1)');
|
||||
@ -200,7 +200,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
//////// end header ////////////
|
||||
|
||||
@ -210,22 +210,22 @@
|
||||
|
||||
|
||||
(function($, window) {
|
||||
var adjustAnchor = function() {
|
||||
var adjustAnchor = function() {
|
||||
var $anchor = $('.sidebar_first_container'),
|
||||
fixedElementHeight = 500;
|
||||
if ($anchor.length > 0) {
|
||||
$('html, body').stop().animate({scrollTop: $anchor.offset().top - fixedElementHeight }, 0);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
$(window).on('hashchange', function() {
|
||||
$(window).on('hashchange', function() {
|
||||
adjustAnchor();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
//////////////////////// start script smooth apparition des textes /////////////////
|
||||
//////////////////////// start script smooth apparition des textes /////////////////
|
||||
|
||||
function scrollReaveal(){
|
||||
function scrollReaveal(){
|
||||
|
||||
const nodes = {
|
||||
logo : document.querySelectorAll('#logo-animated-container'),
|
||||
@ -263,16 +263,16 @@
|
||||
ScrollReveal().reveal(nodes.lienDoc, showUp);
|
||||
ScrollReveal().reveal(nodes.lienURL, showUp);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$( document ).ready(function() {
|
||||
$( document ).ready(function() {
|
||||
scrollReaveal();
|
||||
});
|
||||
});
|
||||
|
||||
//////////////////////// end script smooth apparition des textes /////////////////
|
||||
//////////////////////// end script smooth apparition des textes /////////////////
|
||||
|
||||
// //////////////////// start Timeline script ///////////////////////
|
||||
// //////////////////// start Timeline script ///////////////////////
|
||||
|
||||
// Update month field to only show the first 3 letters
|
||||
document.querySelectorAll('.paragraph--type--phase-deroulement').forEach(function(paragraph) {
|
||||
@ -322,7 +322,7 @@
|
||||
});
|
||||
|
||||
|
||||
// ////////////////////// start calendrier home /////////////////////////////////
|
||||
// ////////////////////// start calendrier home /////////////////////////////////
|
||||
$(document).ready(function(){
|
||||
$('.__timeline-content').slick({
|
||||
slidesToShow: 3,
|
||||
@ -349,49 +349,33 @@
|
||||
|
||||
});
|
||||
|
||||
//////////////////////// end calendrier home /////////////////////////////////
|
||||
//////////////////////// end calendrier home /////////////////////////////////
|
||||
|
||||
|
||||
|
||||
//////////////////////// end Timeline script /////////////////////////////////////////////
|
||||
//////////////////////// end Timeline script /////////////////////////////////////////////
|
||||
|
||||
/////////////////// caracteres body actus/////////////////////////
|
||||
/////////////////// caracteres body actus/////////////////////////
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// Nombre maximum de caractères à afficher
|
||||
const maxChars = 140; // Ajustez cette valeur selon vos besoins
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// Maximum number of characters to display
|
||||
const maxChars = 140; // Adjust this value as needed
|
||||
|
||||
document.querySelectorAll('#actus-caroussel .node-type-actualite').forEach(function(node) {
|
||||
let paragraphs = node.querySelectorAll('.field_body p');
|
||||
let fullText = "";
|
||||
|
||||
// Concaténer tous les paragraphes
|
||||
paragraphs.forEach(p => fullText += p.textContent.trim() + " ");
|
||||
fullText = fullText.trim();
|
||||
|
||||
// Vérifier si le texte dépasse la limite
|
||||
if (fullText.length > maxChars) {
|
||||
let truncatedText = fullText.slice(0, maxChars) + '...';
|
||||
|
||||
// Vider tout le contenu et insérer seulement le texte tronqué
|
||||
let firstParagraph = paragraphs[0];
|
||||
firstParagraph.textContent = truncatedText;
|
||||
|
||||
// Masquer les autres paragraphes
|
||||
for (let i = 1; i < paragraphs.length; i++) {
|
||||
paragraphs[i].style.display = "none";
|
||||
}
|
||||
document.querySelectorAll('#actus-caroussel .node-type-actualite .field_body p').forEach(function(paragraph) {
|
||||
let text = paragraph.textContent.trim();
|
||||
if (text.length > maxChars) {
|
||||
let truncatedText = text.slice(0, maxChars) + '...';
|
||||
paragraph.textContent = truncatedText;
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
//////////// start slideshow home //////////////////////////
|
||||
|
||||
|
||||
|
||||
//////////// start slideshow home //////////////////////////
|
||||
|
||||
|
||||
|
||||
$(document).ready(function(){
|
||||
$(document).ready(function(){
|
||||
let actuview = $('.content-actus .view ')
|
||||
if (actuview) {
|
||||
actuview.slick({
|
||||
@ -428,12 +412,12 @@
|
||||
lazyLoad: 'progressive', // Option 'ondemand' ou 'progressive'
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
$(document).ready(function () {
|
||||
$(document).ready(function () {
|
||||
let diapohome = $('.config_pages--type--diaporama-home .diaporama');
|
||||
|
||||
if (diapohome.length) {
|
||||
@ -462,10 +446,10 @@
|
||||
}]
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//////////// end slideshow home //////////////////////////
|
||||
//////////// end slideshow home //////////////////////////
|
||||
|
||||
//////////////// start lightbox galerie image page site////////////////////////
|
||||
|
||||
@ -504,56 +488,56 @@ lightbox.appendChild(nextBtn);
|
||||
|
||||
// Fonction pour afficher l'image et la légende à l'index donné
|
||||
function showImage(index) {
|
||||
if (index < 0) index = images.length - 1;
|
||||
if (index >= images.length) index = 0;
|
||||
currentIndex = index;
|
||||
if (index < 0) index = images.length - 1;
|
||||
if (index >= images.length) index = 0;
|
||||
currentIndex = index;
|
||||
|
||||
// Mettre à jour l'image
|
||||
img.src = images[currentIndex].getAttribute('src');
|
||||
// Mettre à jour l'image
|
||||
img.src = images[currentIndex].getAttribute('src');
|
||||
|
||||
// Récupérer la légende associée (le paragraphe dans blockquote suivant l'image)
|
||||
const captionText = images[currentIndex]
|
||||
// Récupérer la légende associée (le paragraphe dans blockquote suivant l'image)
|
||||
const captionText = images[currentIndex]
|
||||
.closest('.cadre-img-zoom')
|
||||
.nextElementSibling.querySelector('.image-field-caption p')
|
||||
.textContent;
|
||||
|
||||
caption.textContent = captionText || ''; // Affiche la légende ou une chaîne vide si elle est absente
|
||||
lightbox.style.display = 'flex';
|
||||
caption.textContent = captionText || ''; // Affiche la légende ou une chaîne vide si elle est absente
|
||||
lightbox.style.display = 'flex';
|
||||
}
|
||||
|
||||
// Événements de clic sur chaque image pour ouvrir le lightbox avec la légende
|
||||
images.forEach((image, index) => {
|
||||
image.addEventListener('click', () => {
|
||||
image.addEventListener('click', () => {
|
||||
showImage(index);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// Fermer le lightbox
|
||||
closeBtn.addEventListener('click', () => {
|
||||
lightbox.style.display = 'none';
|
||||
lightbox.style.display = 'none';
|
||||
});
|
||||
|
||||
// Navigation pour images précédente et suivante
|
||||
prevBtn.addEventListener('click', (e) => {
|
||||
e.stopPropagation();
|
||||
showImage(currentIndex - 1);
|
||||
e.stopPropagation();
|
||||
showImage(currentIndex - 1);
|
||||
});
|
||||
|
||||
nextBtn.addEventListener('click', (e) => {
|
||||
e.stopPropagation();
|
||||
showImage(currentIndex + 1);
|
||||
e.stopPropagation();
|
||||
showImage(currentIndex + 1);
|
||||
});
|
||||
|
||||
// Fermer le lightbox en cliquant en dehors de l'image
|
||||
lightbox.addEventListener('click', (e) => {
|
||||
if (e.target === lightbox) {
|
||||
if (e.target === lightbox) {
|
||||
lightbox.style.display = 'none';
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Ajout des contrôles clavier (Échap, flèches gauche/droite)
|
||||
document.addEventListener('keydown', (e) => {
|
||||
if (lightbox.style.display === 'flex') {
|
||||
if (lightbox.style.display === 'flex') {
|
||||
if (e.key === 'Escape') {
|
||||
lightbox.style.display = 'none';
|
||||
} else if (e.key === 'ArrowLeft') {
|
||||
@ -561,7 +545,7 @@ document.addEventListener('keydown', (e) => {
|
||||
} else if (e.key === 'ArrowRight') {
|
||||
showImage(currentIndex + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@ -571,11 +555,11 @@ document.addEventListener('keydown', (e) => {
|
||||
|
||||
//////////////////// start wrapper views-row lessites /////////////////////////
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
// Sélectionne le conteneur principal avec l'ID 'lessites'
|
||||
const container = document.getElementById("lessites");
|
||||
// Sélectionne le conteneur principal avec l'ID 'lessites'
|
||||
const container = document.getElementById("lessites");
|
||||
|
||||
// Vérifie si le conteneur existe pour éviter toute erreur sur d'autres pages
|
||||
if (container) {
|
||||
// Vérifie si le conteneur existe pour éviter toute erreur sur d'autres pages
|
||||
if (container) {
|
||||
// Sélectionne l'élément 'view' à l'intérieur de '.views-element-container'
|
||||
const viewContainer = container.querySelector(".views-element-container .view");
|
||||
|
||||
@ -592,7 +576,7 @@ document.addEventListener("DOMContentLoaded", function() {
|
||||
// Ajoute la div englobante dans le 'viewContainer'
|
||||
viewContainer.appendChild(wrapperDiv);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@ -604,31 +588,31 @@ document.addEventListener("DOMContentLoaded", function() {
|
||||
|
||||
// Vérifie si la page a la classe 'node-type-site' dans le <body>
|
||||
if (document.body.classList.contains('node-type-site')) {
|
||||
// Sélectionne le conteneur principal
|
||||
const blockRegion = document.querySelector('.block-region-second');
|
||||
// Sélectionne le conteneur principal
|
||||
const blockRegion = document.querySelector('.block-region-second');
|
||||
|
||||
// Liste des classes spécifiques à cibler
|
||||
const fieldClasses = [
|
||||
// Liste des classes spécifiques à cibler
|
||||
const fieldClasses = [
|
||||
'.field_field_region',
|
||||
'.field_field_nom_du_qpv_nb_d_hab',
|
||||
'.field_field_departement_s',
|
||||
'.field_field_programme_de_l_etat',
|
||||
'.field_field_porteur_s_de_site',
|
||||
'.field_field_nom_de_la_commune_nb_d_hab'
|
||||
];
|
||||
];
|
||||
|
||||
// Sélectionne les div parents de chacun des champs listés
|
||||
const elementsToWrap = [];
|
||||
fieldClasses.forEach(className => {
|
||||
// Sélectionne les div parents de chacun des champs listés
|
||||
const elementsToWrap = [];
|
||||
fieldClasses.forEach(className => {
|
||||
const fieldElement = blockRegion.querySelector(className);
|
||||
if (fieldElement) {
|
||||
// Ajoute le parent du champ au tableau si trouvé
|
||||
elementsToWrap.push(fieldElement.parentElement);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Vérifie que des éléments ont été trouvés
|
||||
if (elementsToWrap.length > 0) {
|
||||
// Vérifie que des éléments ont été trouvés
|
||||
if (elementsToWrap.length > 0) {
|
||||
// Crée le conteneur avec la classe 'infos'
|
||||
const infosContainer = document.createElement('div');
|
||||
infosContainer.className = 'infos';
|
||||
@ -639,47 +623,47 @@ if (document.body.classList.contains('node-type-site')) {
|
||||
|
||||
// Déplace chaque élément dans le conteneur `.infos`
|
||||
elementsToWrap.forEach(element => infosContainer.appendChild(element));
|
||||
}
|
||||
}
|
||||
}
|
||||
//////////////////// end div infos site ////////////////////////
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
// Sélectionner les éléments à déplacer
|
||||
const documentsField = document.querySelector(".field_field_documents");
|
||||
const liensSiteField = document.querySelector(".field_field_liens_site");
|
||||
// Sélectionner les éléments à déplacer
|
||||
const documentsField = document.querySelector(".field_field_documents");
|
||||
const liensSiteField = document.querySelector(".field_field_liens_site");
|
||||
|
||||
// Sélectionner la destination
|
||||
const thirdRegion = document.querySelector(".block-region-third > div");
|
||||
// Sélectionner la destination
|
||||
const thirdRegion = document.querySelector(".block-region-third > div");
|
||||
|
||||
// Créer une nouvelle div pour englober les éléments déplacés
|
||||
const wrapperDiv = document.createElement("div");
|
||||
wrapperDiv.classList.add("documents-liens-wrapper");
|
||||
// Créer une nouvelle div pour englober les éléments déplacés
|
||||
const wrapperDiv = document.createElement("div");
|
||||
wrapperDiv.classList.add("documents-liens-wrapper");
|
||||
|
||||
// Déplacer les éléments dans la nouvelle div
|
||||
if (documentsField && liensSiteField && thirdRegion) {
|
||||
// Déplacer les éléments dans la nouvelle div
|
||||
if (documentsField && liensSiteField && thirdRegion) {
|
||||
wrapperDiv.appendChild(documentsField);
|
||||
wrapperDiv.appendChild(liensSiteField);
|
||||
|
||||
// Ajouter la nouvelle div dans la destination
|
||||
thirdRegion.appendChild(wrapperDiv);
|
||||
}
|
||||
}
|
||||
});
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
// Sélectionner les éléments pertinents
|
||||
const documentsLiensWrapper = document.querySelector(".documents-liens-wrapper");
|
||||
const blockRegionThird = document.querySelector(".block-region-third");
|
||||
// Sélectionner les éléments pertinents
|
||||
const documentsLiensWrapper = document.querySelector(".documents-liens-wrapper");
|
||||
const blockRegionThird = document.querySelector(".block-region-third");
|
||||
|
||||
// Vérifier que les éléments existent avant de les manipuler
|
||||
if (documentsLiensWrapper && blockRegionThird) {
|
||||
// Vérifier que les éléments existent avant de les manipuler
|
||||
if (documentsLiensWrapper && blockRegionThird) {
|
||||
// Déplacer .documents-liens-wrapper en dehors du div contenant les boutons prev/next
|
||||
blockRegionThird.appendChild(documentsLiensWrapper);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
// Fonction pour déplacer le bloc en fonction de la taille de l'écran
|
||||
function moveLanguageSwitcher() {
|
||||
// Fonction pour déplacer le bloc en fonction de la taille de l'écran
|
||||
function moveLanguageSwitcher() {
|
||||
const languageSwitcher = document.getElementById("block-quartiers-de-demain-selecteurdelangue");
|
||||
const navContainer = document.querySelector(".header_nav_container");
|
||||
|
||||
@ -693,99 +677,14 @@ document.addEventListener("DOMContentLoaded", function () {
|
||||
headerRightContainer.appendChild(languageSwitcher); // Remet le bloc dans sa position initiale
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Déclencher au chargement et au redimensionnement
|
||||
moveLanguageSwitcher();
|
||||
window.addEventListener("resize", moveLanguageSwitcher);
|
||||
// Déclencher au chargement et au redimensionnement
|
||||
moveLanguageSwitcher();
|
||||
window.addEventListener("resize", moveLanguageSwitcher);
|
||||
});
|
||||
|
||||
|
||||
//////////////////////////////////////////
|
||||
|
||||
|
||||
/////////// Start script ressources ////////////////////////////////
|
||||
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
const view = document.querySelector(".view");
|
||||
const elements = Array.from(view.children);
|
||||
|
||||
let newView = document.createElement("div");
|
||||
newView.classList.add("view");
|
||||
|
||||
let group = null;
|
||||
let groupContent = null;
|
||||
|
||||
elements.forEach((el) => {
|
||||
if (el.tagName === "H3") {
|
||||
if (group) {
|
||||
newView.appendChild(group);
|
||||
}
|
||||
|
||||
group = document.createElement("div");
|
||||
group.classList.add("group");
|
||||
|
||||
groupContent = document.createElement("div");
|
||||
groupContent.classList.add("group-content");
|
||||
|
||||
groupContent.appendChild(el);
|
||||
group.appendChild(groupContent);
|
||||
} else if (el.classList.contains("views-row")) {
|
||||
groupContent.appendChild(el);
|
||||
}
|
||||
});
|
||||
|
||||
if (group) {
|
||||
newView.appendChild(group);
|
||||
}
|
||||
|
||||
view.replaceWith(newView);
|
||||
|
||||
// Ajouter un bouton "Voir plus" dans chaque groupe
|
||||
document.querySelectorAll(".group").forEach((group) => {
|
||||
const rows = group.querySelectorAll(".views-row");
|
||||
const button = document.createElement("button");
|
||||
button.classList.add("toggle-btn");
|
||||
button.textContent = "Voir plus de";
|
||||
|
||||
rows.forEach((row, index) => {
|
||||
if (index >= 3) {
|
||||
row.classList.add("hidden");
|
||||
row.style.maxHeight = "0";
|
||||
row.style.opacity = "0";
|
||||
}
|
||||
});
|
||||
|
||||
button.addEventListener("click", () => {
|
||||
const isExpanded = button.textContent === "Voir moins de";
|
||||
const hiddenRows = group.querySelectorAll(".views-row.hidden");
|
||||
|
||||
if (isExpanded) {
|
||||
// Cacher les lignes avec un délai pour l'effet de transition
|
||||
hiddenRows.forEach((row) => {
|
||||
row.style.maxHeight = "0";
|
||||
row.style.opacity = "0";
|
||||
setTimeout(() => row.classList.add("hidden"), 500); // Délai pour la transition
|
||||
});
|
||||
} else {
|
||||
// Afficher les lignes
|
||||
hiddenRows.forEach((row) => {
|
||||
row.classList.remove("hidden");
|
||||
row.style.maxHeight = row.scrollHeight + "px";
|
||||
row.style.opacity = "1";
|
||||
});
|
||||
}
|
||||
|
||||
button.textContent = isExpanded ? "Voir plus de" : "Voir moins de";
|
||||
});
|
||||
|
||||
group.appendChild(button);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
/////////// end script ressources ////////////////////////////////
|
||||
|
||||
})(jQuery, window);
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user