in src/types/column-helper.ts [52:79]
static setCollapseState(group: Column, collapsed: boolean, skipParentColSpan = false) {
group.collapsed = collapsed;
let colSpanDelta = 0;
for (const childColumn of group.columns) {
if (ColumnHelper.isGroupColumn(childColumn)) {
const colSpanOld = childColumn.colSpan;
ColumnHelper.setCollapseState(childColumn, collapsed, true);
colSpanDelta += childColumn.colSpan - colSpanOld;
} else {
if (!childColumn.columnDef.collapsible || (collapsed && childColumn.hide) || !(collapsed || childColumn.hide)) {
continue;
}
childColumn.hide = collapsed;
collapsed ? colSpanDelta-- : colSpanDelta++;
}
}
group.colSpan += colSpanDelta;
if (group.colSpan === 0) {
group.hide = true;
}
if (!skipParentColSpan) {
let parent = group.parent;
while (parent) {
parent.colSpan += colSpanDelta;
parent = parent.parent;
}
}
}