UNPKG

@1771technologies/lytenyte-pro

Version:

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

14 lines (13 loc) 667 B
import { useMemo } from "react"; export function useSortableColumnItems(grid, pivotMode) { const columns = grid.state.columns.useValue(); const pivotColumns = grid.state.columnPivotColumns.useValue(); const base = grid.state.columnBase.useValue(); const candidateColumns = useMemo(() => { const candidates = pivotMode ? pivotColumns : columns; return candidates.filter((c) => c.uiHints?.sortable ?? base.uiHints?.sortable); }, [base.uiHints?.sortable, columns, pivotColumns, pivotMode]); return useMemo(() => { return candidateColumns.map((c) => ({ label: c.name ?? c.id, value: c.id })); }, [candidateColumns]); }