ceinture-culturelle/resources/js/app.js
Gilles Van Assche 6a0ec5960e Tri code postal
2025-01-13 14:56:34 +01:00

71 lines
2.4 KiB
JavaScript

// Navigation toggle
window.addEventListener('load', function () {
let main_navigation = document.querySelector('#primary-menu');
document.querySelector('#primary-menu-toggle').addEventListener('click', function (e) {
e.preventDefault();
main_navigation.classList.toggle('hidden');
});
});
// Display form add event
document.addEventListener("DOMContentLoaded", () => {
const button = document.querySelector('.add-event');
const form = document.querySelector('.form-add-event');
button.addEventListener('click', () => {
if (form.classList.contains('hidden')) {
// Afficher le formulaire
form.classList.remove('hidden');
setTimeout(() => {
form.classList.remove('opacity-0', 'scale-95');
form.classList.add('opacity-100', 'scale-100');
}, 10); // Petit délai pour permettre à la transition de s'exécuter
} else {
// Masquer le formulaire
form.classList.remove('opacity-100', 'scale-100');
form.classList.add('opacity-0', 'scale-95');
form.addEventListener(
'transitionend',
() => {
form.classList.add('hidden');
},
{ once: true }
);
}
});
});
/* Ajout du tri dynamique sur les codes postaux */
document.addEventListener("DOMContentLoaded", () => {
const input = document.getElementById("postalInput");
input.addEventListener("input", () => {
const value = input.value;
// Vérifie si 4 chiffres ont été tapés
if (value.length === 4) {
// Cache toutes les zones
const zones = document.querySelectorAll("[data-postal]");
zones.forEach(zone => {
zone.classList.add("hidden");
});
// Affiche uniquement celles qui correspondent au code postal
const matchingZones = document.querySelectorAll(`[data-postal='${value}']`);
matchingZones.forEach(zone => {
zone.classList.remove("hidden");
});
}
if (value.length < 4) {
// Cache toutes les zones
const zones = document.querySelectorAll("[data-postal]");
zones.forEach(zone => {
zone.classList.remove("hidden");
});
}
});
});