Saltar al contenido principal

Referencia de la API

Núcleo: TreeNode<TMetadata>​

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

Adaptadores​

buildOpenApiTree(document, options?)​

Crea un árbol de navegación OpenAPI.

OpciónTipoValor predeterminadoDescripción
showInternalbooleanfalseMuestra nodos marcados con x-internal o x-scalar-ignore cuando se activa
showComponentsbooleantrueMuestra la sección de componentes
showWebhooksbooleantrueMuestra los webhooks
defaultExpandDepthnumber2Profundidad de expansión predeterminada

Prioridad de navegación: etiquetas anidadas nativas de OAS 3.2 → x-tagGroups → etiquetas planas.

buildSchemaTree(schema, options?)​

OpciónTipoValor predeterminadoDescripción
maxDepthnumber8Profundidad máxima de anidamiento
showDeprecatedbooleantrueMuestra propiedades obsoletas
expandCombinatorsbooleantrueExpande oneOf/anyOf/allOf
showArrayItemsbooleantrueExpande elementos de matrices

buildDocTree(document, options?)​

Árbol de documentación al estilo Stripe: cada operación se expande para mostrar parámetros, cuerpo de la solicitud y respuestas.

Componente React <Tree />​

Propiedades principales​

PropiedadTipoValor predeterminadoDescripción
nodesTreeNode[]obligatorioNodos raíz que se mostrarán
onSelect(node) => void—Se invoca al seleccionar un nodo
searchablebooleanfalseMuestra el campo de búsqueda
defaultExpandDepthnumber1Profundidad inicial de expansión
showExpandAllbooleanfalseControl para expandir o contraer todo
draggablebooleanfalseActiva la reordenación mediante arrastrar y soltar
onReorder(result: ReorderResult) => void—Se invoca al reordenar dentro del mismo padre
onMove(nodes, movedNode, targetParentId) => void—Se invoca al mover entre niveles
canDrag(node) => boolean—Controla qué nodos se pueden arrastrar
canDrop(dragged, target, position) => boolean—Controla los destinos de colocación permitidos
contextMenuItems(node) => ContextMenuItem[]—Elementos del menú contextual
onPatch(ops, context) => void—Operaciones de parche RFC 6902 al reordenar
maxHeightnumber | string—Altura máxima antes de activar el desplazamiento
size"xs" | "sm" | "md""sm"Variante de tamaño

Control imperativo (mediante ref)​

MétodoDescripción
expandAll()Expande todos los nodos
collapseAll()Contrae todos los nodos
expandToDepth(depth)Expande hasta una profundidad determinada
getExpandedIds()Obtiene los ID de los nodos expandidos
getSelectedNode()Obtiene el nodo seleccionado
scrollToNode(id)Desplaza un nodo hasta el área visible
locateNode(predicate)Busca un nodo, expande sus antecesores, lo selecciona y lo desplaza al área visible

Utilidades del núcleo​

FunciónDescripción
findNode(nodes, id)Busca un nodo por ID
findPath(nodes, id)Busca la ruta completa desde la raíz
getLeaves(nodes)Obtiene todos los nodos hoja
countNodes(nodes)Cuenta todos los nodos
filterTree(nodes, { query })Filtra por consulta de búsqueda
flattenTree(nodes)Aplana el árbol en una lista en preorden
updateNode(nodes, id, updater)Actualiza un nodo sin modificar el original
removeNode(nodes, id)Elimina un nodo sin modificar el original