AdminJO Front - Documentation API - v0.1.0
    Preparing search index...
    • Composant DisciplinesTableRow - Ligne de table pour affichage d'une discipline sportive olympique AdminJO

      Parameters

      • props: Props

        Configuration de la ligne de discipline

        • discipline

          Données complètes discipline à afficher

        • onDelete

          Callback suppression avec ID discipline

        • onEdit

          Callback édition avec objet discipline complet

      Returns Element

      Ligne de table avec nom, icône discipline et actions

      DisciplinesTableRow

      Ce composant représente une ligne individuelle dans le tableau des disciplines sportives des Jeux Olympiques. Il affiche les données essentielles d'une discipline (nom avec icône sportive) et les actions de modification et suppression intégrées. Il assure un rendu optimisé et responsive avec interaction hover, gestion intelligente des icônes optionnelles, et boutons d'action contextuels. Il constitue l'élément de base pour la visualisation des disciplines dans l'interface de gestion AdminJO.

      • Contenu principal : discipline.nom - Nom officiel discipline olympique
      • Icône sportive : discipline.icone - Image SVG représentative du sport
      • Gestion conditionnelle : {discipline.icone && (...)} pour icônes optionnelles
      • Image Next.js : Composant Image optimisé pour performance SVG
      • Dimensions fixes : width={24} height={24} pour cohérence visuelle
      • Alt descriptif : "Icône ${discipline.nom}" pour accessibilité
      • Source dynamique : discipline.icone path depuis base données
      • Fallback graceful : Pas d'icône si discipline.icone null/undefined
      • Optimisation : Lazy loading et cache automatique Next.js
      • Déclencheur : Bouton "Modifier" dans colonne actions
      • Callback : onEdit(discipline) avec objet complet pour pré-remplissage modal
      • Style : text-blue-600 hover:text-blue-900 pour feedback visuel cohérent
      • Fonctionnalité : Ouvre DisciplineModal d'édition avec données actuelles
      • Données complètes : Transmission objet discipline entier (nom + icône)
      • Déclencheur : Bouton "Supprimer" dans colonne actions
      • Callback : onDelete(discipline.id) avec identifiant unique
      • Confirmation : Gérée par composant parent (DisciplinesManagement)
      • Sécurité : Suppression avec confirmation utilisateur obligatoire
      • Feedback : Retour visuel via notifications parent après suppression
      • onEdit callback : Transmission objet discipline complet
      • onDelete callback : Transmission ID discipline pour identification
      • Event isolation : Pas d'interférence entre boutons et hover ligne
      • Bubble prevention : Actions boutons isolées comportement ligne
      • State management : Pas d'état local, tout géré via callbacks
      • discipline : Objet Discipline complet (id, nom, icône)
      • onDelete : Function(id: number) pour suppression
      • onEdit : Function(discipline: Discipline) pour édition complète
      • Callbacks : Fonctions stables depuis composant parent
      • Usage : Rendu via disciplines.map() dans DisciplinesTable
      • Key prop : discipline.id utilisé comme clé React
      • Props drilling : Callbacks transmis depuis DisciplinesManagement
      • DisciplinesTable - Composant parent contenant cette ligne
      • DisciplinesManagement - Gestionnaire principal fournissant callbacks
      • Discipline - Interface TypeScript des données de discipline
      • DisciplineModal - Modal d'édition ouverte via onEdit