UNPKG

@1771technologies/lytenyte-pro

Version:

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

23 lines (22 loc) 1.04 kB
import { createColumnPivotsFromPaths } from "./create-pivot-columns-from-paths.js"; import { createPivotTree } from "./create-pivot-tree.js"; export function createPivotColumns(model, lookup, grid, leafRows) { const activeColumns = model.columns.filter((c) => lookup.has(c.field) && (c.active ?? true)); const activeValues = model.values.filter((c) => lookup.has(c.field) && (c.active ?? true)); if (activeColumns.length === 0 && activeValues.length === 0) return []; // This means we only have a values column defined. Hence we should just return this. if (activeColumns.length === 0) { const columns = activeValues.map((c) => { const col = lookup.get(c.field); return { ...col, field: c.field, }; }); return columns; } const tree = createPivotTree(grid, activeValues, activeColumns, lookup, leafRows); const columns = createColumnPivotsFromPaths(grid, activeColumns, lookup, tree); return columns; }