1function select_type_activite_v2() { 2 var typeActiviteSelect = document.getElementById('type_activite'); 3 var selectedValue = typeActiviteSelect ? typeActiviteSelect.value : "tous"; 4 5 // Réinitialisation de l'affichage personnalisé 6 document.querySelector("#activites_precise summary").textContent = "Toutes"; 7 8 const checkboxes = document.querySelectorAll("input[name='activite[]']"); 9 checkboxes.forEach(checkbox => { 10 checkbox.checked = false; 11 }); 12 13 // Mise à jour de l'URL sans paramètre "activite[]" 14 var url = new URL(window.location.href); 15 url.searchParams.delete('activite'); 16 17 if (selectedValue === "tous") { 18 url.searchParams.delete('type_activite'); 19 } else { 20 url.searchParams.set('type_activite', selectedValue); 21 } 22 window.history.replaceState({}, '', url); 23 24 var enfantSelect = document.getElementById('type_personne'); 25 var selectedEnfantValue = enfantSelect ? enfantSelect.value : "tous"; 26 27 // Filtrage des activités 28 var activities = document.querySelectorAll(".card_activity"); 29 activities.forEach(function (activity) { 30 var isAdulte = activity.dataset.adulte === "1"; 31 var isEnfant = activity.dataset.enfant === "1"; 32 var enfantMatch = (selectedEnfantValue === "tous") || (selectedEnfantValue === "adulte" && isAdulte) || (selectedEnfantValue === "enfant" && isEnfant); 33 34 if (selectedValue === "tous" && enfantMatch) { 35 activity.style.display = "flex"; 36 } else if (selectedValue === "premium" && activity.dataset.premium === "1" && enfantMatch) { 37 activity.style.display = "flex"; 38 } else { 39 var typeMatch = activity.dataset["filtre" + selectedValue] === "1"; 40 activity.style.display = (typeMatch && enfantMatch) ? "flex" : "none"; 41 } 42 }); 43 44 checkCreneaux(); 45 update_link_pdf(); 46 update_link_periodes(); 47} 48 49// Déclenchement au chargement DOM 50window.addEventListener('DOMContentLoaded', function () { 51 const urlParams = new URLSearchParams(window.location.search); 52 if (urlParams.has("type_activite")) { 53 select_type_activite_v2(); 54 } 55 56 // Liaison JS dynamique (meilleur que "onchange" HTML) 57 const select = document.getElementById('type_activite'); 58 if (select) { 59 select.addEventListener('change', select_type_activite_v2); 60 } 61});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.