UNPKG

@1771technologies/lytenyte-pro

Version:

Blazingly fast headless React data grid with 100s of features.

24 lines (23 loc) 798 B
import { useMemo } from "react"; import { useBranchLookup } from "./branch-lookup-context.js"; export function useColumnsFromContext(item) { const lookup = useBranchLookup(); const columns = useMemo(() => { if (item.kind === "branch") { const allChildren = []; const branch = lookup[item.data.idOccurrence]; const stack = [...branch.children.values()]; while (stack.length) { const p = stack.pop(); if (p.kind === "branch") { stack.push(...p.children.values()); continue; } allChildren.push(p.data); } return allChildren; } return [item.data]; }, [item, lookup]); return columns; }