Aller au contenu principal

Référence de l’API

Noyau: TreeNode<TMetadata>​

interface TreeNode<TMetadata = unknown> {
id: string;
name: string;
order?: number;
children?: TreeNode<TMetadata>[];
metadata?: TMetadata;
}

Adaptateurs​

buildOpenApiTree(document, options?)​

Construit un arbre de navigation OpenAPI.

OptionTypeValeur par défautDescription
showInternalbooleanfalseAffiche les nœuds marqués x-internal ou x-scalar-ignore lorsque l’option est activée
showComponentsbooleantrueAffiche la section des composants
showWebhooksbooleantrueAffiche les webhooks
defaultExpandDepthnumber2Profondeur de développement par défaut

Priorité de navigation : étiquettes imbriquées natives d’OAS 3.2 → x-tagGroups → étiquettes à plat.

buildSchemaTree(schema, options?)​

OptionTypeValeur par défautDescription
maxDepthnumber8Profondeur maximale d’imbrication
showDeprecatedbooleantrueAffiche les propriétés obsolètes
expandCombinatorsbooleantrueDéveloppe oneOf/anyOf/allOf
showArrayItemsbooleantrueDéveloppe les éléments des tableaux

buildDocTree(document, options?)​

Arborescence inspirée de Stripe : chaque opération se développe pour afficher les paramètres, le corps de requête et les réponses.

Composant React <Tree />​

Propriétés principales​

PropriétéTypeValeur par défautDescription
nodesTreeNode[]obligatoireNœuds racines à afficher
onSelect(node) => void—Appelé lors de la sélection d’un nœud
searchablebooleanfalseAffiche le champ de recherche
defaultExpandDepthnumber1Profondeur initiale de développement
showExpandAllbooleanfalseCommande pour tout développer ou replier
draggablebooleanfalseActive la réorganisation par glisser-déposer
onReorder(result: ReorderResult) => void—Appelé lors d’une réorganisation sous le même parent
onMove(nodes, movedNode, targetParentId) => void—Appelé lors d’un déplacement entre niveaux
canDrag(node) => boolean—Détermine les nœuds déplaçables
canDrop(dragged, target, position) => boolean—Détermine les cibles de dépôt autorisées
contextMenuItems(node) => ContextMenuItem[]—Éléments du menu contextuel
onPatch(ops, context) => void—Opérations de correctif RFC 6902 lors d’une réorganisation
maxHeightnumber | string—Hauteur maximale avant défilement
size"xs" | "sm" | "md""sm"Variante de taille

Contrôle impératif (via ref)​

MéthodeDescription
expandAll()Développe tous les nœuds
collapseAll()Replie tous les nœuds
expandToDepth(depth)Développe jusqu’à une profondeur donnée
getExpandedIds()Obtient les ID des nœuds actuellement développés
getSelectedNode()Obtient le nœud sélectionné
scrollToNode(id)Fait défiler un nœud dans la zone visible
locateNode(predicate)Trouve un nœud, développe ses ancêtres, le sélectionne et le rend visible

Utilitaires du noyau​

FonctionDescription
findNode(nodes, id)Trouve un nœud par ID
findPath(nodes, id)Trouve le chemin complet depuis la racine
getLeaves(nodes)Obtient tous les nœuds feuilles
countNodes(nodes)Compte tous les nœuds
filterTree(nodes, { query })Filtre selon la recherche
flattenTree(nodes)Aplatit l’arbre en liste préordonnée
updateNode(nodes, id, updater)Met à jour un nœud sans modifier l’original
removeNode(nodes, id)Supprime un nœud sans modifier l’original