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;
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
let currentAbortController: AbortController | null = null;
let lastRequestId = 0;
@ -110,20 +112,34 @@ export default function archivesInit() {
});
}
auteursSelect.addEventListener('change', (e) => {
hydratePosts();
});
if (auteursSelect) {
auteursSelect.addEventListener('change', (e) => {
hydratePosts();
});
}
etiquettesSelect.addEventListener('change', (e) => {
hydratePosts();
});
sortBySelect.addEventListener('change', (e) => {
hydratePosts(); // immédiat pour le tri
});
rechercheInput.addEventListener('input', (e) => {
hydratePostsDebounced(); // debounce pour la saisie rapide
});
if (etiquettesSelect) {
etiquettesSelect.addEventListener('change', (e) => {
hydratePosts();
});
}
if (sortBySelect) {
sortBySelect.addEventListener('change', (e) => {
hydratePosts(); // immédiat pour le tri
});
}
if (rechercheInput) {
rechercheInput.addEventListener('input', (e) => {
hydratePostsDebounced(); // debounce pour la saisie rapide
});
if (resetSearchButton) {
resetSearchButton.addEventListener('click', (e) => {
e.preventDefault();
rechercheInput.value = '';
hydratePosts();
});
}
}
handleFilterPostsBy();
postGridToolbarActions.addEventListener('click', (e) => {