API REFERENCE
SyGridEventMap
Fields, allowed values, and APIs that use SyGridEventMap.
Type definition
A question mark (?) marks an optional field; readonly marks a value you should not change directly. A union (|) accepts one of the listed forms. Functions are callbacks that Grid invokes at the relevant point.
export interface SyGridEventMap<
TData = GridData,
TContext = unknown,
TValue = unknown,
> {
queryComplete: GridQueryResult & { tier: GridEngineTier };
sortChanged: SyGridSortChangedEventDetail;
filterChanged: {
field: string;
filter: ActiveFilter | null;
activeMap: ActiveFilterMap;
customModel?: unknown;
previousCustomModel?: unknown;
source?: 'ui' | 'api' | 'restore' | 'component';
};
filterModified: {
field: string;
source: 'component';
};
conditionFilterChanged: { model: ConditionNode<TData> | null };
conditionPresetsChanged: {
presets: Array<{ name: string; json: string }>;
};
columnGroupToggled: { groupId: string; open: boolean };
rowGroupToggled: { key: string | null; expanded: boolean };
treeNodeToggled: { path: readonly string[]; expanded: boolean };
detailRowToggled: { rowId: GridRowId; expanded: boolean };
detailRowCreated: { rowId: GridRowId; master: TData | null };
detailRowDestroyed: { rowId: GridRowId };
rangeSelectionChanged: { ranges: CellRangeBounds[] };
toolPanelToggled: { id: SideBarPanelId; open: boolean };
csvImported: { rowCount: number; columnCount: number };
clipboardCopied: { text: string; ranges: CellRangeBounds[] };
clipboardPasted: SyGridClipboardPastedEventDetail<
TData,
TValue,
TContext
>;
paginationChanged: {
pageIndex: number;
pageSize: number;
pageCount: number;
totalRows: number;
previous: ActivePagination;
};
quickFilterChanged: { value: string; previous: string };
emptyStateActionClicked: {
kind: EmptyStateKind;
action: 'clear-filters' | 'reload';
};
activeCellChanged: SyGridActiveCellChangedEventDetail;
cellClicked: SyGridCellClickedEventDetail<TData>;
cellDoubleClicked: SyGridCellDoubleClickedEventDetail<TData>;
rowClicked: SyGridRowClickedEventDetail<TData>;
cellEditingRequested: SyGridCellEditingRequestedEventDetail<TData>;
cellEditingCancelled: SyGridCellEditingCancelledEventDetail;
cellEditingCommitted: SyGridCellEditingCommittedEventDetail<TValue>;
formulaEvaluated: {
rowIndex: number;
colIndex: number;
field: string;
formula: string;
value: unknown;
};
formulaError: {
rowIndex: number;
colIndex: number;
field: string;
formula: string;
type: string;
description: string;
};
workbookBindingChanged: GridWorkbookBindingChangedDetail;
workbookBindingError: GridWorkbookBindingErrorDetail;
chunkLoading: GridChunkLoadEventDetail;
chunkLoaded: GridChunkLoadEventDetail;
chunkLoadFailed: GridChunkLoadEventDetail;
componentError: GridComponentErrorDetails;
rowDataChanged: SyGridRowDataChangedEventDetail<TData>;
cellValueChanged: SyGridCellValueChangedEventDetail<
TData,
TValue,
TContext
>;
rowMoved: { fromIndex: number; toIndex: number; row: TData };
rowGroupChanged: { groupBy: string | null };
pivotPanelChanged: PivotPanelChangeDetail;
pivotChanged: PivotPanelChangeDetail;
pivotModeChanged: { pivotMode: boolean };
contextMenuItemClicked: { id: string; rowIndex: number; field?: string };
remoteEditApplied: SyGridRemoteEditAppliedEventDetail<
TData,
TValue,
TContext
>;
presenceChanged: { collaborators: ReadonlyArray<GridCollaboratorInfo> };
collabConflictResolved: GridCollabConflict;
collaboratorJoined: GridCollaboratorInfo;
collaboratorLeft: { id: string };
syncStatusChanged: { status: GridSyncStatus };
cellCommentsChanged: {
rowId: string;
field: string;
comments: GridCellComment[];
};
commentMentioned: {
rowId: string;
field: string;
comment: GridCellComment;
};
auditLogChanged: { entry: AuditEntry };
conditionalFormatsChanged: { rules: ConditionalFormatRule[] };
cellValidationFailed: {
rowIndex: number;
field: string;
value: unknown;
message: string;
};
snapshotCaptured: { id: string; name: string; rowCount: number };
snapshotRestored: { id: string; name: string; rowCount: number };
xlsxImported: {
sheetName: string;
snapshot: XlsxGridSnapshot;
workbookSheetCount: number;
};
historyChanged: SyGridHistoryChangedEventDetail;
columnResized: SyGridColumnResizedEventDetail;
columnReordered: SyGridColumnReorderedEventDetail;
columnVisibilityChanged: SyGridColumnVisibilityChangedEventDetail;
selectionChanged: SyGridSelectionChangedEventDetail;
spanConflict: SyGridSpanConflictEventDetail;
rowDragEnter: SyGridRowDragEventDetail;
rowDragMove: SyGridRowDragEventDetail;
rowDragLeave: SyGridRowDragEventDetail;
rowDragEnd: SyGridRowDragEndDetail;
rowDragCancel: SyGridRowDragCancelDetail;
rowsTransferred: SyGridRowsTransferredDetail;
pinnedRowsChanged: SyGridPinnedRowsChangedDetail<TData>;
rowLayoutRefused: SyGridRowLayoutRefusedDetail;
treeReparented: SyGridTreeReparentedDetail;
rowHoverChanged: {
hoveredRowId: GridRowId | null;
previousRowId: GridRowId | null;
};
themeChanged: {
theme: GridTheme;
resolvedTokens: Record<string, string>;
};
localeChanged: {
locale: GridLocale;
resolvedMessages: Record<string, string>;
};
gridObjectChanged: GridLiveObjectEvent<TData, TValue>;
stateUpdated: SyGridStateUpdatedDetail;
preDestroyed: SyGridPreDestroyedDetail;
batchEditStart: SyGridBatchEditStartEventDetail;
batchEditEnd: SyGridBatchEditEndEventDetail;
rowValueChanged: SyGridRowValueChangedEventDetail;
rowEditStart: SyGridRowEditStartEventDetail;
rowEditStop: SyGridRowEditStopEventDetail;
fillStart: SyGridFillStartEventDetail;
fillEnd: SyGridFillEndEventDetail;
pivotCombinationConflict: SyGridPivotCombinationConflictDetail;
pivotColumnsChanged: SyGridPivotColumnsChangedDetail;
serverStoreUpdated: SyGridServerStoreUpdatedDetail;
workbookValuesPropagated: SyGridWorkbookPropagationDetail;
chartCreated: SyGridChartEvent;
chartRangeChanged: SyGridChartEvent;
chartOptionsChanged: SyGridChartEvent;
chartDestroyed: SyGridChartEvent;
}