Aller au contenu

Couleur, libellé, classe

Objectif : accéder aux pièces d'un badge pour un affichage sur mesure.

Ce que vous allez apprendre : workflow_status_label (texte), workflow_status_color (couleur, défaut gray) et workflow_status_badge_class (classes Tailwind, repli gris si couleur inconnue) exposent séparément les éléments d'un statut. Ils acceptent un statut ou une simple chaîne.

Deuxième palier du niveau avancé de la progression workflow.

Module opt-in

Ce starter suppose forge-mvc-workflow installé (palier « Installation »).

Ce que ce starter montre

  • workflow_status_label, workflow_status_color, workflow_status_badge_class ;
  • un tableau pièce par pièce ;
  • une transformation pure.

Classes Forge utilisées

Classe / fonction Rôle dans ce starter Référence
forge_mvc_workflow.workflow_status_label Libellé d'affichage d'un statut. Workflow
forge_mvc_workflow.workflow_status_color Couleur d'un statut (défaut gray). Workflow
forge_mvc_workflow.workflow_status_badge_class Classes Tailwind d'un badge. Workflow

Tester

forge run

Ouvrez https://localhost:8000/workflow-color : libellé, couleur et classes par statut.

Le contrôleur

# mvc/controllers/workflow_color_controller.py
from forge_mvc_workflow import (
    workflow_status_badge_class, workflow_status_color, workflow_status_label,
)

rows = [{
    "name": s.name,
    "label": workflow_status_label(s),
    "color": workflow_status_color(s),
    "css": workflow_status_badge_class(s),
} for s in _STATUSES]

Comprendre ce code

  • Ces helpers servent quand le badge tout fait ne suffit pas (intégration design spécifique).
  • Ils sont tolérants : une couleur inconnue retombe sur le gris, un None est géré.
  • Accepter une chaîne ou un statut les rend utilisables même sans objet complet.

À retenir

  • label / color / badge_class exposent les pièces d'un badge.
  • Repli gris pour une couleur inconnue : pas de rendu cassé.
  • Helpers tolérants (statut, chaîne ou None).

Après ce starter

La suite : rendre ces helpers disponibles dans les templates.

Helpers Workflow dans Jinja