AdminJO Front - Documentation API - v0.1.0
    Preparing search index...

    Function useLieuxManagement

    • Hook useLieuxManagement - Gestion complète des lieux olympiques

      Ce hook fournit une interface unifiée pour la gestion des lieux olympiques des JO 2024. Il combine les opérations CRUD, la recherche textuelle et le tri automatique pour une administration efficace des sites olympiques.

      Returns {
          lieux: Lieu[];
          searchTerm: string;
          loading: boolean;
          error: string | null;
          createLoading: boolean;
          createError: string | null;
          loadLieux: (searchQuery?: string) => Promise<void>;
          createLieu: (lieuData: CreateLieuRequest) => Promise<Lieu>;
          updateLieu: (id: number, lieuData: CreateLieuRequest) => Promise<Lieu>;
          deleteLieu: (id: number) => Promise<void>;
          handleSearch: (query: string) => Promise<void>;
          setCreateError: Dispatch<SetStateAction<string | null>>;
      }

      Interface complète de gestion des lieux

      useLieuxManagement

      • Chargement automatique : Récupération de tous les lieux olympiques au montage
      • Tri alphabétique : Classement automatique par nom de lieu
      • Gestion d'état : États de chargement et d'erreur pour chaque opération
      • Synchronisation : Mise à jour temps réel avec les données backend
      • Recherche textuelle : Filtrage par nom de lieu
      • Recherche API : Délégation de la recherche au backend pour optimisation
      • Mise à jour dynamique : Actualisation automatique lors des changements
      • Création : Ajout de nouveaux lieux olympiques avec validation
      • Lecture : Récupération et affichage des lieux
      • Mise à jour : Modification des lieux existants
      • Suppression : Suppression sécurisée des lieux
      • Tri automatique : Maintien de l'ordre alphabétique après chaque opération
      • lieux : Liste des lieux olympiques triés alphabétiquement
      • searchTerm : Terme de recherche textuelle actuel
      • loading : Indicateur de chargement pour les opérations de lecture
      • error : Messages d'erreur pour les opérations principales
      • createLoading : État de chargement spécifique aux opérations CRUD
      • createError : Messages d'erreur spécifiques aux opérations CRUD
      1. Initialisation : Chargement de tous les lieux avec tri alphabétique
      2. Recherche : Filtrage côté serveur avec mise à jour de la liste
      3. CRUD : Opérations avec mise à jour immédiate de l'état local
      4. Tri : Maintien automatique de l'ordre alphabétique
      5. Gestion d'erreurs : Capture et affichage des erreurs pour chaque opération
      • lieuApi : Service API principal pour les lieux olympiques
      • Recherche optimisée : Délégation au backend avec paramètres de filtre
      • Validation : Contrôles de cohérence avec les données serveur
      function LieuxManagementPage() {
      const {
      lieux,
      loading,
      error,
      searchTerm,
      setSearchTerm,
      createLieu,
      updateLieu,
      deleteLieu,
      createLoading,
      createError
      } = useLieuxManagement();

      if (loading) return <Spinner />;
      if (error) return <ErrorMessage message={error} />;

      return (
      <div>
      <SearchBar value={searchTerm} onChange={setSearchTerm} />
      <CreateLieuForm
      onSubmit={createLieu}
      loading={createLoading}
      error={createError}
      />
      <LieuxList
      lieux={lieux}
      onUpdate={updateLieu}
      onDelete={deleteLieu}
      />
      </div>
      );
      }