Composants → bpm.orgChart

bpm.orgChart

Organigramme hiérarchique HTML/CSS, repliable. Construit l'arbre à partir d'une liste plate de nœuds reliés par parentId.

StableMise en page⏱ 3 min

Cliquez sur un nœud pour le sélectionner.

Python
nodes = [
    {"id": "dg", "name": "Claire Fontaine", "role": "Directrice générale"},
    {"id": "dirops", "name": "Marc Lefebvre", "role": "Directeur des opérations", "parentId": "dg"},
    {"id": "dircom", "name": "Sophie Bernard", "role": "Directrice commerciale", "parentId": "dg"},
    {"id": "dirfin", "name": "Antoine Moreau", "role": "Directeur financier", "parentId": "dg"},
    {"id": "prod", "name": "Julie Garnier", "role": "Responsable production", "parentId": "dirops"},
    {"id": "log", "name": "Karim Haddad", "role": "Responsable logistique", "parentId": "dirops"},
    {"id": "ventes", "name": "Élodie Petit", "role": "Responsable ventes France", "parentId": "dircom"},
    {"id": "export", "name": "Nicolas Roy", "role": "Responsable export", "parentId": "dircom"},
    {"id": "compta", "name": "Isabelle Marchand", "role": "Cheffe comptable", "parentId": "dirfin"},
]
bpm.orgChart(nodes=nodes)
PropTypeDéfautRequisDescription
nodes{ id, name, role?, avatar?, parentId?, metadata? }[]OuiListe plate des nœuds ; l'arbre est reconstruit via parentId. Un nœud sans parent est une racine.
direction"vertical" | "horizontal"verticalNonSens de l'arbre : haut → bas ou gauche → droite.
onNodeClick(node: OrgChartNode) => voidNonCallback au clic sur une carte (le nœud cliqué est passé en argument).
expandablebooleanfalseNonAffiche un chevron sur les nœuds ayant des enfants pour replier/déplier leur équipe.
rootIdstringNonId du nœud à utiliser comme racine (affiche uniquement son sous-arbre).
classNamestringNonClasses CSS additionnelles.

Exemples

bpm.orgChart(nodes=[
    {"id": "dg", "name": "Claire Fontaine", "role": "Directrice générale"},
    {"id": "dirops", "name": "Marc Lefebvre", "role": "Directeur des opérations", "parentId": "dg"},
])
bpm.orgChart(nodes=nodes, direction="horizontal", expandable=True)
bpm.orgChart(nodes=nodes, root_id="dircom", on_node_click=ouvrir_fiche_employe)