@1771technologies/lytenyte-pro
Version:
Blazingly fast headless React data grid with 100s of features.
11 lines (10 loc) • 539 B
JavaScript
export const makeColumnGroupToggle = (grid) => {
return (group, state) => {
const delimiter = grid.state.columnGroupJoinDelimiter.get();
const id = typeof group === "string" ? group : group.join(delimiter);
const currentExpansions = grid.state.columnGroupExpansions.get();
const currentState = currentExpansions[id] ?? grid.state.columnGroupDefaultExpansion.get();
const next = state ?? !currentState;
grid.state.columnGroupExpansions.set((prev) => ({ ...prev, [id]: next }));
};
};