Composants
Composants widget
FoldableFeedback

FoldableFeedback

wc-foldable-feedback

Système avancé d'affichage de retours détaillés et hiérarchisés avec des sections pliables/dépliables. Particulièrement adapté aux exercices de programmation pour montrer les résultats de tests unitaires, aux analyses multicritères, ou toute évaluation nécessitant plusieurs niveaux de détail avec comparaison entre valeurs attendues et obtenues.

Documentation

Le composant FoldableFeedback permet d'afficher des retours structurés et hiérarchiques que les apprenants peuvent explorer en dépliant ou repliant les sections. Particulièrement adapté aux exercices complexes nécessitant des retours détaillés sur plusieurs niveaux.

Structure des données

Le composant organise les retours selon deux types d'éléments : les feedbacks individuels et les catégories (qui peuvent contenir d'autres feedbacks).

Feedbacks individuels

Pour afficher un retour simple sur un test ou une évaluation :

{
  name: "Vérification de la syntaxe",     // Titre du feedback (obligatoire)
  description: "Analyse du code source",  // Description détaillée (optionnel)
  expected: "function main() { ... }",    // Résultat attendu (optionnel)
  obtained: "fonction main() { ... }",    // Résultat obtenu (optionnel)
  arguments: "--strict --warnings",       // Arguments éventuels (optionnel)
  type: "error",                          // Type visuel : success, info, warning, error
  display: false                          // État initial : replié (false) ou déplié (true)
}

Catégories de feedbacks

Pour regrouper plusieurs retours dans une section pliable :

{
  name: "Tests unitaires",                // Titre de la catégorie (obligatoire)
  description: "Résultats détaillés",     // Description de la catégorie (optionnel)
  type: "warning",                        // Type visuel de la catégorie
  display: false,                         // État initial : replié ou déplié
  feedbacks: [                            // Liste des feedbacks enfants
    // Feedbacks individuels ou sous-catégories
  ]
}

Composition du contenu

La propriété content attend un tableau qui peut contenir un mélange de feedbacks individuels et de catégories :

content = [
  // Feedback simple
  {
    name: 'Test 1',
    expected: 'Hello World',
    obtained: 'Hello World!',
    type: 'warning',
  },
 
  // Catégorie avec sous-feedbacks
  {
    name: 'Tests de performance',
    type: 'info',
    feedbacks: [
      { name: "Temps d'exécution", expected: '<100ms', obtained: '95ms', type: 'success' },
      { name: 'Utilisation mémoire', expected: '<5MB', obtained: '7MB', type: 'warning' },
    ],
  },
]

Comportement visuel

  • Les éléments s'affichent avec un code couleur intuitif (succès en vert, erreur en rouge, etc.)
  • Les parties repliées peuvent être dépliées par un simple clic
  • Les champs vides (description, expected, etc.) ne sont pas affichés
  • Les catégories peuvent être imbriquées sans limitation de profondeur

Ce composant est particulièrement utile pour les exercices de programmation, les évaluations multicritères ou toute situation nécessitant une analyse détaillée avec plusieurs niveaux d'information.

Exemple interactif

API

content
Contenu du feedback
Array<object>