AdminJO Front - Documentation API - v0.1.0
    Preparing search index...
    • Composant SearchAndFilters - Interface de recherche et filtrage avancé en cascade pour événements olympiques AdminJO

      Parameters

      • props: SearchAndFiltersProps

        Configuration recherche et filtres en cascade

        • searchTerm

          Terme de recherche textuelle actuel

        • onSearch

          Callback changement terme recherche

        • epreuves

          Array toutes épreuves pour calculs cascade

        • lieux

          Array lieux olympiques pour filtre racine

        • disciplines

          Array disciplines pour filtre cascade

        • events

          Array événements pour calculs disponibilité

        • loading

          État chargement pour désactivation filtres

        • selectedLieu

          ID lieu sélectionné pour cascade

        • selectedDiscipline

          ID discipline sélectionnée

        • selectedEpreuve

          ID épreuve sélectionnée

        • selectedStatut

          Statut sélectionné

        • dateDebut

          Date début période filtrage

        • dateFin

          Date fin période filtrage

        • onLieuChange

          Callback changement lieu avec reset cascade

        • onDisciplineChange

          Callback changement discipline

        • onEpreuveChange

          Callback changement épreuve

        • onStatutChange

          Callback changement statut

        • onDateDebutChange

          Callback changement date début

        • onDateFinChange

          Callback changement date fin

      Returns Element

      Interface recherche et filtrage multicritères en cascade

      SearchAndFilters Ce composant fournit une interface complète et sophistiquée de recherche et filtrage multicritères pour les événements sportifs des Jeux Olympiques 2024. Il implémente un système de filtrage en cascade intelligent où les options disponibles dans chaque filtre se mettent à jour dynamiquement selon les sélections précédentes. Il combine recherche textuelle, filtrage temporel (dates JO), et filtres relationnels (lieu → discipline → épreuve → statut) avec logique de réinitialisation automatique des filtres dépendants. Conçu pour l'administration JO avec UX optimisée et performance.

      • Input contrôlé : Champ de saisie entièrement contrôlé par état parent
      • Feedback immédiat : onChange déclenche recherche instantanée
      • Placeholder contextuel : "Rechercher un événement..." pour guidance spécifique
      • Synchronisation : État searchTerm synchronisé avec hook parent
      • Dates par défaut : '2024-07-01' à '2024-09-01' pour période JO Paris 2024
      • Input dates dédiés : Date de début et date de fin séparés
      • Format natif : type="date" pour sélecteurs natifs navigateur
      • Callbacks distincts : onDateDebutChange et onDateFinChange séparés
      • Valeurs par défaut : Dates JO automatiques si aucune sélection
      • Filtre lieu (racine) : Sélection lieu olympique (Stade de France, etc.)
      • Disciplines dépendantes : Liste disciplines disponibles selon lieu sélectionné
      • Épreuves dépendantes : Liste épreuves filtrées par lieu ET discipline
      • Statuts dépendants : Statuts disponibles selon tous filtres précédents
      • Réinitialisation automatique : Filtres enfants reset si parent change
      • Étape 1 : Filtrage événements par lieu si sélectionné
      • Étape 2 : Calcul disciplines disponibles selon lieu
      • Étape 3 : Calcul épreuves disponibles selon lieu ET discipline
      • Étape 4 : Calcul statuts disponibles selon tous filtres actifs
      • disciplinesDisponibles : Array.from(new Set()) pour disciplines uniques
      • epreuvesDisponibles : Filtrage multicritères + tri alphabétique
      • statutsDisponibles : Extraction statuts selon filtres en cascade
      • Événements → Lieux : Relation 1-1 via event.lieu.id
      • Événements → Épreuves : Relation 1-N via event.epreuves array
      • Épreuves → Disciplines : Relation 1-1 via epreuve.discipline.id
      • Événements → Statuts : Propriété event.status calculée dynamiquement
      • Intégrité : Vérifications conditionnelles pour relations manquantes
      • Performance : Pas de jointures, données pré-chargées
      • EvenementsManagement - Composant parent orchestrateur
      • EvenementsTable - Tableau affichant résultats filtrés
      • ExtendEvenement - Interface événements avec relations
      • Lieu - Interface lieux olympiques
      • Discipline - Interface disciplines sportives
      • Epreuve - Interface épreuves compétitives