FEATURE Add reset search button functionality and improve event listener checks for select elements in archives component

This commit is contained in:
Antoine M 2026-04-08 15:41:08 +02:00
parent 3ee726df50
commit 67be46e9a9

View File

@ -22,6 +22,8 @@ export default function archivesInit() {
) as HTMLSelectElement; ) as HTMLSelectElement;
const rechercheInput = toolbar.querySelector('.search-bar input') as HTMLInputElement; const rechercheInput = toolbar.querySelector('.search-bar input') as HTMLInputElement;
const resetSearchButton = toolbar.querySelector('#reset-search') as HTMLButtonElement;
// Évite les courses: annule les requêtes précédentes et ignore les réponses obsolètes // Évite les courses: annule les requêtes précédentes et ignore les réponses obsolètes
let currentAbortController: AbortController | null = null; let currentAbortController: AbortController | null = null;
let lastRequestId = 0; let lastRequestId = 0;
@ -110,20 +112,34 @@ export default function archivesInit() {
}); });
} }
auteursSelect.addEventListener('change', (e) => { if (auteursSelect) {
hydratePosts(); auteursSelect.addEventListener('change', (e) => {
}); hydratePosts();
});
}
etiquettesSelect.addEventListener('change', (e) => { if (etiquettesSelect) {
hydratePosts(); etiquettesSelect.addEventListener('change', (e) => {
}); hydratePosts();
});
sortBySelect.addEventListener('change', (e) => { }
hydratePosts(); // immédiat pour le tri if (sortBySelect) {
}); sortBySelect.addEventListener('change', (e) => {
rechercheInput.addEventListener('input', (e) => { hydratePosts(); // immédiat pour le tri
hydratePostsDebounced(); // debounce pour la saisie rapide });
}); }
if (rechercheInput) {
rechercheInput.addEventListener('input', (e) => {
hydratePostsDebounced(); // debounce pour la saisie rapide
});
if (resetSearchButton) {
resetSearchButton.addEventListener('click', (e) => {
e.preventDefault();
rechercheInput.value = '';
hydratePosts();
});
}
}
handleFilterPostsBy(); handleFilterPostsBy();
postGridToolbarActions.addEventListener('click', (e) => { postGridToolbarActions.addEventListener('click', (e) => {