import { default as ColumnModel } from './columnModel'; import { default as GridModel } from './gridModel'; import { default as GroupRowModel } from './groupRowModel'; /** * How a cell participates in a group row's layout: * - `grouping` — the expand/label cell (spans the grouped data columns) * - `selection` — the select-all checkbox cell * - `spacer` — a leading/other-pinned cell rendered with its own value (row number, detail, opposite pin) * - `hidden` — a data column on the grouping side, absorbed into the grouping cell's column span */ export type GroupRowCellKind = 'grouping' | 'selection' | 'spacer' | 'hidden'; export default class GroupRowCellModel { readonly grid: GridModel; readonly row: GroupRowModel; readonly column: ColumnModel; constructor(grid: GridModel, row: GroupRowModel, column: ColumnModel); get value(): string | number | null; get cellKind(): GroupRowCellKind; get depthPadding(): number; get gridColumnSpan(): number; get widthVar(): string; get isRightPinned(): boolean; /** Grouping cell shows a right border only when the grouping column is left-pinned. */ get hasGroupingBorder(): boolean; }