# SyGridEventMap

SyGridEventMap의 필드와 허용 값, 이 타입을 사용하는 API입니다.

Canonical: https://grid.syidax.com/ko/docs/types/SyGridEventMap/

<a id="definition"></a>

## 타입 정의

물음표(?)는 선택 항목이고 readonly는 직접 변경하지 않는 값입니다. 유니온(|)은 허용된 형태 중 하나를 뜻합니다. 함수는 해당 시점에 Grid가 호출할 콜백입니다.

```typescript
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;
}
```

<a id="parents"></a>

## 이 타입을 포함하는 계약

- [SyGridApi](https://grid.syidax.com/ko/docs/types/SyGridApi.md)

<a id="related"></a>

## 연결된 타입

- [GridData](https://grid.syidax.com/ko/docs/types/GridData.md)
- [GridQueryResult](https://grid.syidax.com/ko/docs/types/GridQueryResult.md)
- [GridEngineTier](https://grid.syidax.com/ko/docs/types/GridEngineTier.md)
- [SyGridSortChangedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridSortChangedEventDetail.md)
- [ActiveFilter](https://grid.syidax.com/ko/docs/types/ActiveFilter.md)
- [ActiveFilterMap](https://grid.syidax.com/ko/docs/types/ActiveFilterMap.md)
- [ConditionNode](https://grid.syidax.com/ko/docs/types/ConditionNode.md)
- [GridRowId](https://grid.syidax.com/ko/docs/types/GridRowId.md)
- [CellRangeBounds](https://grid.syidax.com/ko/docs/types/CellRangeBounds.md)
- [SideBarPanelId](https://grid.syidax.com/ko/docs/types/SideBarPanelId.md)
- [SyGridClipboardPastedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridClipboardPastedEventDetail.md)
- [ActivePagination](https://grid.syidax.com/ko/docs/types/ActivePagination.md)
- [EmptyStateKind](https://grid.syidax.com/ko/docs/types/EmptyStateKind.md)
- [SyGridActiveCellChangedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridActiveCellChangedEventDetail.md)
- [SyGridCellClickedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridCellClickedEventDetail.md)
- [SyGridCellDoubleClickedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridCellDoubleClickedEventDetail.md)
- [SyGridRowClickedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridRowClickedEventDetail.md)
- [SyGridCellEditingRequestedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridCellEditingRequestedEventDetail.md)
- [SyGridCellEditingCancelledEventDetail](https://grid.syidax.com/ko/docs/types/SyGridCellEditingCancelledEventDetail.md)
- [SyGridCellEditingCommittedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridCellEditingCommittedEventDetail.md)
- [GridWorkbookBindingChangedDetail](https://grid.syidax.com/ko/docs/types/GridWorkbookBindingChangedDetail.md)
- [GridWorkbookBindingErrorDetail](https://grid.syidax.com/ko/docs/types/GridWorkbookBindingErrorDetail.md)
- [GridChunkLoadEventDetail](https://grid.syidax.com/ko/docs/types/GridChunkLoadEventDetail.md)
- [GridComponentErrorDetails](https://grid.syidax.com/ko/docs/types/GridComponentErrorDetails.md)
- [SyGridRowDataChangedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridRowDataChangedEventDetail.md)
- [SyGridCellValueChangedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridCellValueChangedEventDetail.md)
- [PivotPanelChangeDetail](https://grid.syidax.com/ko/docs/types/PivotPanelChangeDetail.md)
- [SyGridRemoteEditAppliedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridRemoteEditAppliedEventDetail.md)
- [GridCollaboratorInfo](https://grid.syidax.com/ko/docs/types/GridCollaboratorInfo.md)
- [GridCollabConflict](https://grid.syidax.com/ko/docs/types/GridCollabConflict.md)
- [GridSyncStatus](https://grid.syidax.com/ko/docs/types/GridSyncStatus.md)
- [GridCellComment](https://grid.syidax.com/ko/docs/types/GridCellComment.md)
- [AuditEntry](https://grid.syidax.com/ko/docs/types/AuditEntry.md)
- [ConditionalFormatRule](https://grid.syidax.com/ko/docs/types/ConditionalFormatRule.md)
- [XlsxGridSnapshot](https://grid.syidax.com/ko/docs/types/XlsxGridSnapshot.md)
- [SyGridHistoryChangedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridHistoryChangedEventDetail.md)
- [SyGridColumnResizedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridColumnResizedEventDetail.md)
- [SyGridColumnReorderedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridColumnReorderedEventDetail.md)
- [SyGridColumnVisibilityChangedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridColumnVisibilityChangedEventDetail.md)
- [SyGridSelectionChangedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridSelectionChangedEventDetail.md)
- [SyGridSpanConflictEventDetail](https://grid.syidax.com/ko/docs/types/SyGridSpanConflictEventDetail.md)
- [SyGridRowDragEventDetail](https://grid.syidax.com/ko/docs/types/SyGridRowDragEventDetail.md)
- [SyGridRowDragEndDetail](https://grid.syidax.com/ko/docs/types/SyGridRowDragEndDetail.md)
- [SyGridRowDragCancelDetail](https://grid.syidax.com/ko/docs/types/SyGridRowDragCancelDetail.md)
- [SyGridRowsTransferredDetail](https://grid.syidax.com/ko/docs/types/SyGridRowsTransferredDetail.md)
- [SyGridPinnedRowsChangedDetail](https://grid.syidax.com/ko/docs/types/SyGridPinnedRowsChangedDetail.md)
- [SyGridRowLayoutRefusedDetail](https://grid.syidax.com/ko/docs/types/SyGridRowLayoutRefusedDetail.md)
- [SyGridTreeReparentedDetail](https://grid.syidax.com/ko/docs/types/SyGridTreeReparentedDetail.md)
- [GridTheme](https://grid.syidax.com/ko/docs/types/GridTheme.md)
- [GridLocale](https://grid.syidax.com/ko/docs/types/GridLocale.md)
- [GridLiveObjectEvent](https://grid.syidax.com/ko/docs/types/GridLiveObjectEvent.md)
- [SyGridStateUpdatedDetail](https://grid.syidax.com/ko/docs/types/SyGridStateUpdatedDetail.md)
- [SyGridPreDestroyedDetail](https://grid.syidax.com/ko/docs/types/SyGridPreDestroyedDetail.md)
- [SyGridBatchEditStartEventDetail](https://grid.syidax.com/ko/docs/types/SyGridBatchEditStartEventDetail.md)
- [SyGridBatchEditEndEventDetail](https://grid.syidax.com/ko/docs/types/SyGridBatchEditEndEventDetail.md)
- [SyGridRowValueChangedEventDetail](https://grid.syidax.com/ko/docs/types/SyGridRowValueChangedEventDetail.md)
- [SyGridRowEditStartEventDetail](https://grid.syidax.com/ko/docs/types/SyGridRowEditStartEventDetail.md)
- [SyGridRowEditStopEventDetail](https://grid.syidax.com/ko/docs/types/SyGridRowEditStopEventDetail.md)
- [SyGridFillStartEventDetail](https://grid.syidax.com/ko/docs/types/SyGridFillStartEventDetail.md)
- [SyGridFillEndEventDetail](https://grid.syidax.com/ko/docs/types/SyGridFillEndEventDetail.md)
- [SyGridPivotCombinationConflictDetail](https://grid.syidax.com/ko/docs/types/SyGridPivotCombinationConflictDetail.md)
- [SyGridPivotColumnsChangedDetail](https://grid.syidax.com/ko/docs/types/SyGridPivotColumnsChangedDetail.md)
- [SyGridServerStoreUpdatedDetail](https://grid.syidax.com/ko/docs/types/SyGridServerStoreUpdatedDetail.md)
- [SyGridWorkbookPropagationDetail](https://grid.syidax.com/ko/docs/types/SyGridWorkbookPropagationDetail.md)
- [SyGridChartEvent](https://grid.syidax.com/ko/docs/types/SyGridChartEvent.md)
