Column Group Panel
Module Extensions
Section titled “Module Extensions”HTMLRevoGridElement (Extended from global)
Section titled “HTMLRevoGridElement (Extended from global)”interface HTMLRevoGridElement { /** Configuration for the column group panel. */ columnGroupPanel?: ColumnGroupPanelConfig; /** Kebab-case alias for framework bindings. */ 'column-group-panel'?: ColumnGroupPanelConfig}HTMLRevoGridElementEventMap (Extended from global)
Section titled “HTMLRevoGridElementEventMap (Extended from global)”interface HTMLRevoGridElementEventMap { columngroupingchange: ColumnGroupPanelChangeDetail}AdditionalData (Extended from @revolist/revogrid)
Section titled “AdditionalData (Extended from @revolist/revogrid)”interface AdditionalData { /** @deprecated Use `grid.columnGroupPanel` instead. */ columnGroupPanel?: ColumnGroupPanelConfig; /** @deprecated Use `grid.columnGroupPanel` instead. */ columnGroupingPanel?: ColumnGroupPanelConfig}Plugin API
Section titled “Plugin API”ColumnGroupPanelChangeDetail
Section titled “ColumnGroupPanelChangeDetail”interface ColumnGroupPanelChangeDetail { props: ColumnProp[]; grouping: GroupingOptions}ColumnGroupPanelConfig
Section titled “ColumnGroupPanelConfig”interface ColumnGroupPanelConfig { /** * Text to display in the group panel when no columns are grouped. * @default 'Drag columns here to group by row.' */ emptyPanelText?: string; /** Show the grouping position before each key. @default true */ showOrder?: boolean}ColumnGroupPanelPlugin
Section titled “ColumnGroupPanelPlugin”Adds a header panel for creating, removing, and reordering row groupings.
Example:
const grid = document.createElement('revo-grid');grid.plugins = [ColumnGroupPanelPlugin];grid.columnGroupPanel = { emptyPanelText: 'Drop columns here' };Dependencies
Section titled “Dependencies”- Config integration
core-grouping: Writes grid grouping props through the core grouping API. - Event integration
columndragstart,columndragmousemove,beforecolumndragend,columndragend: Shares the column-move gesture lifecycle for header-to-panel grouping.
class ColumnGroupPanelPlugin { addGrouping(columnProp: ColumnProp);
removeGrouping(indexOrProp: number | ColumnProp);
reorderGrouping(draggedProp: ColumnProp, targetIndex: number);
setGroupings(props: ColumnProp[]);
getGroupings(): ColumnProp[];
destroy();}ColumnGroupPanelDragController
Section titled “ColumnGroupPanelDragController”class ColumnGroupPanelDragController { destroy();}normalizeColumnGroupings
Section titled “normalizeColumnGroupings”export function normalizeColumnGroupings(props?: ColumnProp[]): ColumnProp[];moveColumnGrouping
Section titled “moveColumnGrouping”export function moveColumnGrouping( groupings: ColumnProp[], draggedProp: ColumnProp, rawTargetIndex: number,): ColumnProp[];resolveColumnGroupingDropIndex
Section titled “resolveColumnGroupingDropIndex”export function resolveColumnGroupingDropIndex( currentIndex: number, measuredTargetIndex: number,): number;withColumnGroupings
Section titled “withColumnGroupings”export function withColumnGroupings( grouping: GroupingOptions | undefined, props: ColumnProp[],): GroupingOptions;ColumnGroupPanelView
Section titled “ColumnGroupPanelView”class ColumnGroupPanelView { setConfig(config: ColumnGroupPanelConfig);
render(groupings: ColumnProp[]);
showDropPreview(index: number, label: string);
clearDropPreview();
getDropIndex(clientX: number): number;
getPanelDropIndex(clientX: number, clientY: number): number | null;
destroy();}