Event callbacks a host (a framework adapter, or any plain app) hangs off a
grid's lifecycle.
The controller reads these fields live on every event — see
createGridController — so a host may swap any callback at any time by
mutating the fields of the object it passed in, without recreating the grid.
Every field is optional; a missing callback simply drops that event.
onGridChange
onRowDelta
onSelectionChange
onViewportChange
onEditBegin
onEditCommit
onSearch
onCommandStateChange
onActiveSheetChange
onMutationRejected
onRendererFallback
onDatasourceError
onExportError
Members 13
onGridChange Forwarded from the grid's change event (a committed transaction).
onRowDelta Forwarded as a typed host-row projection when a bridge is attached.
onSelectionChange Forwarded from the grid's selection event; null when nothing is selected.
onSelectionChange ? ( selection : Selection | null ) : void ;
onViewportChange Forwarded from the grid's scroll event.
onViewportChange ? ( event : GridEvents [ "scroll" ]) : void ;
onEditBegin Forwarded when a cell editor opens.
onEditBegin ? ( event : GridEvents [ "edit-begin" ]) : void ;
onEditCommit Forwarded after a cell editor commits.
onEditCommit ? ( event : GridEvents [ "edit-commit" ]) : void ;
onSearch Forwarded whenever the active search result changes.
onCommandStateChange Forwarded whenever command availability or formatting activity changes.
onCommandStateChange ? ( event : GridEvents [ "command-state-change" ]) : void ;
onActiveSheetChange Forwarded after the visible sheet changes.
onActiveSheetChange ? ( event : GridEvents [ "active-sheet" ]) : void ;
onMutationRejected Forwarded when a Grid mutation is rejected.
onMutationRejected ? ( event : GridEvents [ "mutation-rejected" ]) : void ;
onRendererFallback Forwarded when worker rendering falls back to the main-thread canvas renderer.
onRendererFallback ? ( event : GridEvents [ "renderer-fallback" ]) : void ;
onDatasourceError Forwarded when a datasource request fails.
onDatasourceError ? ( event : GridEvents [ "datasource-error" ]) : void ;
onExportError Forwarded when a built-in XLSX export action fails.
onExportError ? ( event : GridEvents [ "export-error" ]) : void ;
Declaration
View full TypeScript declaration
export interface GridControllerHandlers <
onSelectionChange ? ( selection : Selection | null ) : void ; onViewportChange ? ( event : GridEvents [ "scroll" ]) : void ; onEditBegin ? ( event : GridEvents [ "edit-begin" ]) : void ; onEditCommit ? ( event : GridEvents [ "edit-commit" ]) : void ; onCommandStateChange ? ( event : GridEvents [ "command-state-change" ]) : void ; onActiveSheetChange ? ( event : GridEvents [ "active-sheet" ]) : void ; onMutationRejected ? ( event : GridEvents [ "mutation-rejected" ]) : void ; onRendererFallback ? ( event : GridEvents [ "renderer-fallback" ]) : void ; onDatasourceError ? ( event : GridEvents [ "datasource-error" ]) : void ; onExportError ? ( event : GridEvents [ "export-error" ]) : void ;
Referenced by
Workspace packages depending on @sheetwrite/core
@sheetwrite/benchdependency
@sheetwrite/docs-startdependency
@sheetwrite/reactdependency
@sheetwrite/sveltedependency
@sheetwrite/vuedependency
@sheetwrite/xlsxdependency
Public exports naming GridControllerHandlers
interface ChangeEvent {
transaction: Transaction;
changes: CellChange[];
commitReason: CommitReason;
source: OperationSource;
epoch?: number;
} interface ChangeEvent {
transaction : Transaction ;
changes : CellChange [];
commitReason : CommitReason ;
source : OperationSource ;
epoch ?: number ;
} interface ChangeEvent {
transaction : Transaction ;
changes : CellChange [];
commitReason : CommitReason ;
source : OperationSource ;
epoch ?: number ;
} Payload of the change event; flows OUT for API submission/reconcile. API reference → type RowBridgeHandler<Id extends RowBridgeId = RowBridgeId> = (
projection: RowBridgeProjection<Id>,
) => void; type RowBridgeHandler < Id extends RowBridgeId = RowBridgeId > = (
projection : RowBridgeProjection < Id >,
) => void ; type RowBridgeHandler <
Id extends RowBridgeId =
RowBridgeId ,
> = (
projection : RowBridgeProjection < Id >,
) => void ; Callback accepted by imperative and framework adapters. API reference → type Selection =
| { kind: "cell"; addr: CellAddress }
| { kind: "range"; range: Range }
| { kind: "row"; sheet: SheetId; row: number }
| { kind: "column"; sheet: SheetId; col: number }
| { kind: "multi"; ranges: Range[] }; type Selection =
| { kind : "cell" ; addr : CellAddress }
| { kind : "range" ; range : Range }
| { kind : "row" ; sheet : SheetId ; row : number }
| { kind : "column" ; sheet : SheetId ; col : number }
| { kind : "multi" ; ranges : Range [] }; type Selection =
| {
kind : "cell" ;
addr : CellAddress ;
}
| {
kind : "range" ;
range : Range ;
}
| {
kind : "row" ;
sheet : SheetId ;
row : number ;
}
| {
kind : "column" ;
sheet : SheetId ;
col : number ;
}
// … 4 more lines — see the API reference
} Current cell, range, row, column, or multi-range selection. API reference → interface GridEvents {
change: ChangeEvent;
selection: { selection: Selection | null };
scroll: {
scrollTop: number;
firstRow: number;
lastRow: number;
scrollLeft: number;
firstVisibleColumn: number | null;
lastVisibleColumn: number | null;
};
"edit-begin": { addr: CellAddress };
"edit-commit": { addr: CellAddress; value: CellValue };
search: SearchResult;
"command-state-change": GridCommandStateChangeEvent;
// … 17 more lines — see the API reference
} interface GridEvents {
change : ChangeEvent ;
selection : { selection : Selection | null };
scroll : {
scrollTop : number ;
firstRow : number ;
lastRow : number ;
scrollLeft : number ;
firstVisibleColumn : number | null ;
lastVisibleColumn : number | null ;
};
"edit-begin" : { addr : CellAddress };
"edit-commit" : { addr : CellAddress ; value : CellValue };
search : SearchResult ;
"command-state-change" : GridCommandStateChangeEvent ;
// … 17 more lines — see the API reference
} interface GridEvents {
change : ChangeEvent ;
selection : {
selection : Selection | null ;
};
scroll : {
scrollTop : number ;
firstRow : number ;
lastRow : number ;
scrollLeft : number ;
firstVisibleColumn :
number | null ;
lastVisibleColumn :
number | null ;
};
"edit-begin" : {
addr : CellAddress ;
};
"edit-commit" : {
// … 31 more lines — see the API reference
} Payload map for events emitted by a Grid. API reference → type RowBridgeId = string | number; type RowBridgeId = string | number ; type RowBridgeId =
string | number ; A stable host identity for one data-space row. API reference →