UNPKG

@1771technologies/lytenyte-pro

Version:

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

27 lines (26 loc) 1.08 kB
import { GROUP_COLUMN_PREFIX } from "@1771technologies/lytenyte-shared"; export const makeColumnUpdate = (grid) => { return (updates) => { const columns = [...grid.state.columns.get()]; const groupColumns = grid.state.columnMeta .get() .columnsVisible.filter((c) => c.id.startsWith(GROUP_COLUMN_PREFIX)); const groupState = { ...grid.internal.rowGroupColumnState.get() }; for (let i = 0; i < groupColumns.length; i++) { const column = groupColumns[i]; if (updates[column.id]) { const next = { ...groupState[column.id], ...updates[column.id] }; groupState[column.id] = next; } } grid.internal.rowGroupColumnState.set(groupState); for (let i = 0; i < columns.length; i++) { const column = columns[i]; if (updates[column.id]) { const next = { ...column, ...updates[column.id] }; columns[i] = next; } } grid.state.columns.set(columns); }; };