gridOptions.d.ts 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560
  1. /************************************************************************************************
  2. * If you change the GridOptions interface, you must also update PropertyKeys to be consistent. *
  3. ************************************************************************************************/
  4. import { RowNode } from "./rowNode";
  5. import { GridApi } from "../gridApi";
  6. import { ColumnApi } from "../columnController/columnApi";
  7. import { Column } from "./column";
  8. import { IViewportDatasource } from "../interfaces/iViewportDatasource";
  9. import { ICellRenderer, ICellRendererComp, ICellRendererFunc } from "../rendering/cellRenderers/iCellRenderer";
  10. import { ColDef, ColGroupDef, IAggFunc, SuppressKeyboardEventParams } from "./colDef";
  11. import { IDatasource } from "../interfaces/iDatasource";
  12. import { CellPosition } from "./cellPosition";
  13. import { IDateComp } from "../rendering/dateComponent";
  14. import { IServerSideDatasource } from "../interfaces/iServerSideDatasource";
  15. import { CsvExportParams, ProcessCellForExportParams, ProcessHeaderForExportParams } from "../interfaces/exportParams";
  16. import { BodyScrollEvent, CellClickedEvent, CellContextMenuEvent, CellDoubleClickedEvent, CellEditingStartedEvent, CellEditingStoppedEvent, CellFocusedEvent, CellKeyDownEvent, CellKeyPressEvent, CellMouseDownEvent, CellMouseOutEvent, CellMouseOverEvent, CellValueChangedEvent, ChartCreated, ChartDestroyed, ChartOptionsChanged, ChartRangeSelectionChanged, ColumnAggFuncChangeRequestEvent, ColumnEverythingChangedEvent, ColumnGroupOpenedEvent, ColumnMovedEvent, ColumnPinnedEvent, ColumnPivotChangedEvent, ColumnPivotChangeRequestEvent, ColumnPivotModeChangedEvent, ColumnResizedEvent, ColumnRowGroupChangedEvent, ColumnRowGroupChangeRequestEvent, ColumnValueChangedEvent, ColumnValueChangeRequestEvent, ColumnVisibleEvent, DisplayedColumnsChangedEvent, DragStartedEvent, DragStoppedEvent, ExpandCollapseAllEvent, FillEndEvent, FillStartEvent, FilterChangedEvent, FilterModifiedEvent, FirstDataRenderedEvent, GridColumnsChangedEvent, GridReadyEvent, ModelUpdatedEvent, NewColumnsLoadedEvent, PaginationChangedEvent, PasteEndEvent, PasteStartEvent, PinnedRowDataChangedEvent, RangeSelectionChangedEvent, RowClickedEvent, RowDataChangedEvent, RowDataUpdatedEvent, RowDoubleClickedEvent, RowDragEvent, RowEditingStartedEvent, RowEditingStoppedEvent, RowGroupOpenedEvent, RowSelectedEvent, RowValueChangedEvent, SelectionChangedEvent, SortChangedEvent, ToolPanelVisibleChangedEvent, ViewportChangedEvent, VirtualColumnsChangedEvent, VirtualRowRemovedEvent } from "../events";
  17. import { IComponent } from "../interfaces/iComponent";
  18. import { AgGridRegisteredComponentInput } from "../components/framework/userComponentRegistry";
  19. import { ILoadingOverlayComp } from "../rendering/overlays/loadingOverlayComponent";
  20. import { INoRowsOverlayComp } from "../rendering/overlays/noRowsOverlayComponent";
  21. import { StatusPanelDef } from "../interfaces/iStatusPanel";
  22. import { SideBarDef } from "./sideBar";
  23. import { ChartMenuOptions, ChartOptions, ChartType } from "../interfaces/iChartOptions";
  24. export interface GridOptions {
  25. /*******************************************************************************************************
  26. * If you change the properties on this interface, you must also update PropertyKeys to be consistent. *
  27. *******************************************************************************************************/
  28. suppressBrowserResizeObserver?: boolean;
  29. rowDragManaged?: boolean;
  30. suppressRowDrag?: boolean;
  31. suppressMoveWhenRowDragging?: boolean;
  32. enableMultiRowDragging?: boolean;
  33. ensureDomOrder?: boolean;
  34. /** @deprecated */
  35. deltaRowDataMode?: boolean;
  36. /** @deprecated */
  37. deltaColumnMode?: boolean;
  38. immutableData?: boolean;
  39. immutableColumns?: boolean;
  40. scrollbarWidth?: number;
  41. /** @deprecated */
  42. toolPanelSuppressRowGroups?: boolean;
  43. /** @deprecated */
  44. toolPanelSuppressValues?: boolean;
  45. /** @deprecated */
  46. toolPanelSuppressPivots?: boolean;
  47. /** @deprecated */
  48. toolPanelSuppressPivotMode?: boolean;
  49. /** @deprecated */
  50. toolPanelSuppressSideButtons?: boolean;
  51. /** @deprecated */
  52. toolPanelSuppressColumnFilter?: boolean;
  53. /** @deprecated */
  54. toolPanelSuppressColumnSelectAll?: boolean;
  55. /** @deprecated */
  56. toolPanelSuppressColumnExpandAll?: boolean;
  57. /** @deprecated */
  58. contractColumnSelection?: boolean;
  59. suppressRowClickSelection?: boolean;
  60. suppressRowHoverHighlight?: boolean;
  61. suppressCellSelection?: boolean;
  62. suppressClearOnFillReduction?: boolean;
  63. suppressMaintainUnsortedOrder?: boolean;
  64. sortingOrder?: (string | null)[];
  65. suppressMultiSort?: boolean;
  66. multiSortKey?: string;
  67. accentedSort?: boolean;
  68. deltaSort?: boolean;
  69. suppressHorizontalScroll?: boolean;
  70. alwaysShowVerticalScroll?: boolean;
  71. suppressTabbing?: boolean;
  72. unSortIcon?: boolean;
  73. rowBuffer?: number;
  74. tooltipShowDelay?: number;
  75. tooltipMouseTrack?: boolean;
  76. enableRtl?: boolean;
  77. /** @deprecated in v20, use colDef.resizable instead */
  78. enableColResize?: boolean;
  79. enableBrowserTooltips?: boolean;
  80. colResizeDefault?: string;
  81. enableCellExpressions?: boolean;
  82. enableCellTextSelection?: boolean;
  83. /** @deprecated in v20, use colDef.sortable instead */
  84. enableSorting?: boolean;
  85. /** @deprecated in v20, use colDef.sortable instead */
  86. enableServerSideSorting?: boolean;
  87. /** @deprecated in v20, use colDef.filter = true instead */
  88. enableFilter?: boolean;
  89. /** @deprecated in v20, use colDef.filter = true instead */
  90. enableServerSideFilter?: boolean;
  91. enableGroupEdit?: boolean;
  92. enterMovesDownAfterEdit?: boolean;
  93. enterMovesDown?: boolean;
  94. suppressMiddleClickScrolls?: boolean;
  95. preventDefaultOnContextMenu?: boolean;
  96. suppressPreventDefaultOnMouseWheel?: boolean;
  97. suppressScrollOnNewData?: boolean;
  98. suppressMenuHide?: boolean;
  99. singleClickEdit?: boolean;
  100. suppressClickEdit?: boolean;
  101. /** Allows user to suppress certain keyboard events */
  102. suppressKeyboardEvent?: (params: SuppressKeyboardEventParams) => boolean;
  103. stopEditingWhenGridLosesFocus?: boolean;
  104. debug?: boolean;
  105. icons?: any;
  106. angularCompileRows?: boolean;
  107. angularCompileFilters?: boolean;
  108. angularCompileHeaders?: boolean;
  109. suppressLoadingOverlay?: boolean;
  110. suppressNoRowsOverlay?: boolean;
  111. suppressAutoSize?: boolean;
  112. autoSizePadding?: number;
  113. skipHeaderOnAutoSize?: boolean;
  114. animateRows?: boolean;
  115. suppressColumnMoveAnimation?: boolean;
  116. suppressMovableColumns?: boolean;
  117. suppressDragLeaveHidesColumns?: boolean;
  118. suppressMakeColumnVisibleAfterUnGroup?: boolean;
  119. suppressParentsInRowNodes?: boolean;
  120. suppressFieldDotNotation?: boolean;
  121. suppressCopyRowsToClipboard?: boolean;
  122. copyHeadersToClipboard?: boolean;
  123. clipboardDeliminator?: string;
  124. suppressClipboardPaste?: boolean;
  125. suppressLastEmptyLineOnPaste?: boolean;
  126. suppressAggFuncInHeader?: boolean;
  127. suppressAggAtRootLevel?: boolean;
  128. suppressFocusAfterRefresh?: boolean;
  129. rowModelType?: string;
  130. pivotMode?: boolean;
  131. /** @deprecated */
  132. pivotTotals?: boolean;
  133. pivotColumnGroupTotals?: string;
  134. pivotRowTotals?: string;
  135. suppressEnterpriseResetOnNewColumns?: boolean;
  136. enableRangeSelection?: boolean;
  137. enableRangeHandle?: boolean;
  138. enableFillHandle?: boolean;
  139. suppressMultiRangeSelection?: boolean;
  140. rowGroupPanelShow?: string;
  141. pivotPanelShow?: string;
  142. suppressContextMenu?: boolean;
  143. allowContextMenuWithControlKey?: boolean;
  144. rememberGroupStateWhenNewData?: boolean;
  145. viewportRowModelPageSize?: number;
  146. viewportRowModelBufferSize?: number;
  147. enableCellChangeFlash?: boolean;
  148. cellFlashDelay?: number;
  149. cellFadeDelay?: number;
  150. allowShowChangeAfterFilter?: boolean;
  151. quickFilterText?: string;
  152. cacheQuickFilter?: boolean;
  153. aggFuncs?: {
  154. [key: string]: IAggFunc;
  155. };
  156. suppressColumnVirtualisation?: boolean;
  157. functionsReadOnly?: boolean;
  158. functionsPassive?: boolean;
  159. maxConcurrentDatasourceRequests?: number;
  160. maxBlocksInCache?: number;
  161. purgeClosedRowNodes?: boolean;
  162. gridAutoHeight?: boolean;
  163. domLayout?: string;
  164. suppressChangeDetection?: boolean;
  165. aggregateOnlyChangedColumns?: boolean;
  166. valueCache?: boolean;
  167. valueCacheNeverExpires?: boolean;
  168. batchUpdateWaitMillis?: number;
  169. asyncTransactionWaitMillis?: number;
  170. suppressRowTransform?: boolean;
  171. suppressSetColumnStateEvents?: boolean;
  172. allowDragFromColumnsToolPanel?: boolean;
  173. suppressMaxRenderedRowRestriction?: boolean;
  174. excludeChildrenWhenTreeDataFiltering?: boolean;
  175. undoRedoCellEditing?: boolean;
  176. undoRedoCellEditingLimit?: number;
  177. cacheOverflowSize?: number;
  178. infiniteInitialRowCount?: number;
  179. paginationPageSize?: number;
  180. cacheBlockSize?: number;
  181. blockLoadDebounceMillis?: number;
  182. paginationAutoPageSize?: boolean;
  183. paginationStartPage?: number;
  184. suppressPaginationPanel?: boolean;
  185. pagination?: boolean;
  186. paginateChildRows?: boolean;
  187. editType?: string;
  188. suppressTouch?: boolean;
  189. suppressAsyncEvents?: boolean;
  190. embedFullWidthRows?: boolean;
  191. /** @deprecated */
  192. deprecatedEmbedFullWidthRows?: boolean;
  193. excelStyles?: any[];
  194. /** @deprecated Use floatingFilter on the colDef instead */ floatingFilter?: boolean;
  195. suppressExcelExport?: boolean;
  196. suppressCsvExport?: boolean;
  197. colWidth?: number;
  198. minColWidth?: number;
  199. maxColWidth?: number;
  200. suppressPropertyNamesCheck?: boolean;
  201. serverSideSortingAlwaysResets?: boolean;
  202. statusBar?: {
  203. statusPanels: StatusPanelDef[];
  204. };
  205. localeText?: any;
  206. localeTextFunc?: (key: string, defaultValue: string) => string;
  207. suppressAnimationFrame?: boolean;
  208. defaultColGroupDef?: ColGroupDef;
  209. defaultColDef?: ColDef;
  210. defaultExportParams?: CsvExportParams;
  211. pivotSuppressAutoColumn?: boolean;
  212. groupSuppressAutoColumn?: boolean;
  213. groupSelectsChildren?: boolean;
  214. groupSelectsFiltered?: boolean;
  215. groupIncludeFooter?: boolean;
  216. groupIncludeTotalFooter?: boolean;
  217. groupUseEntireRow?: boolean;
  218. groupRemoveSingleChildren?: boolean;
  219. groupRemoveLowestSingleChildren?: boolean;
  220. groupSuppressRow?: boolean;
  221. groupHideOpenParents?: boolean;
  222. groupMultiAutoColumn?: boolean;
  223. groupSuppressBlankHeader?: boolean;
  224. /** @deprecated in v11.0 substituted by autoGroupColumnDef */
  225. groupColumnDef?: ColDef;
  226. autoGroupColumnDef?: ColDef;
  227. forPrint?: boolean;
  228. enableOldSetFilterModel?: boolean;
  229. enableCharts?: boolean;
  230. context?: any;
  231. rowStyle?: any;
  232. rowClass?: string | string[];
  233. groupDefaultExpanded?: number;
  234. /** @deprecated slaveGrids, replace with alignedGrids */
  235. slaveGrids?: GridOptions[];
  236. alignedGrids?: GridOptions[];
  237. rowSelection?: string;
  238. rowDeselection?: boolean;
  239. rowMultiSelectWithClick?: boolean;
  240. isRowSelectable?: IsRowSelectable;
  241. overlayLoadingTemplate?: string;
  242. overlayNoRowsTemplate?: string;
  243. rowHeight?: number;
  244. detailRowHeight?: number;
  245. popupParent?: HTMLElement;
  246. masterDetail?: boolean;
  247. keepDetailRows?: boolean;
  248. keepDetailRowsCount?: number;
  249. isRowMaster?: IsRowMaster;
  250. detailCellRenderer?: {
  251. new (): ICellRendererComp;
  252. } | ICellRendererFunc | string;
  253. detailCellRendererFramework?: any;
  254. detailCellRendererParams?: any;
  255. rowData?: any[];
  256. pinnedTopRowData?: any[];
  257. pinnedBottomRowData?: any[];
  258. /** @deprecated */
  259. showToolPanel?: boolean;
  260. sideBar?: SideBarDef | string | boolean;
  261. columnDefs?: (ColDef | ColGroupDef)[];
  262. columnTypes?: {
  263. [key: string]: ColDef;
  264. };
  265. datasource?: IDatasource;
  266. viewportDatasource?: IViewportDatasource;
  267. serverSideDatasource?: IServerSideDatasource;
  268. headerHeight?: number;
  269. pivotHeaderHeight?: number;
  270. groupHeaderHeight?: number;
  271. pivotGroupHeaderHeight?: number;
  272. floatingFiltersHeight?: number;
  273. /******************************************************************************************************
  274. * If you change the callbacks on this interface, you must also update PropertyKeys to be consistent. *
  275. ******************************************************************************************************/
  276. paginationNumberFormatter?: (params: PaginationNumberFormatterParams) => string;
  277. postProcessPopup?: (params: PostProcessPopupParams) => void;
  278. frameworkComponents?: {
  279. [p: string]: {
  280. new (): any;
  281. };
  282. } | any;
  283. components?: {
  284. [p: string]: AgGridRegisteredComponentInput<IComponent<any>>;
  285. };
  286. dateComponent?: string | {
  287. new (): IDateComp;
  288. };
  289. dateComponentFramework?: any;
  290. groupRowRenderer?: {
  291. new (): ICellRendererComp;
  292. } | ICellRendererFunc | string;
  293. groupRowRendererFramework?: any;
  294. groupRowRendererParams?: any;
  295. groupRowInnerRenderer?: {
  296. new (): ICellRendererComp;
  297. } | ICellRendererFunc | string;
  298. groupRowInnerRendererFramework?: any;
  299. createChartContainer?: (params: ChartRef) => void;
  300. fillOperation?: (params: FillOperationParams) => any;
  301. isExternalFilterPresent?(): boolean;
  302. doesExternalFilterPass?(node: RowNode): boolean;
  303. getRowStyle?: Function;
  304. getRowClass?: (params: any) => (string | string[]);
  305. rowClassRules?: {
  306. [cssClassName: string]: (((params: any) => boolean) | string);
  307. };
  308. getRowHeight?: Function;
  309. sendToClipboard?: (params: any) => void;
  310. processDataFromClipboard?: (params: ProcessDataFromClipboardParams) => string[][] | null;
  311. navigateToNextCell?: (params: NavigateToNextCellParams) => CellPosition;
  312. tabToNextCell?: (params: TabToNextCellParams) => CellPosition;
  313. getDocument?: () => Document;
  314. defaultGroupSortComparator?: (nodeA: RowNode, nodeB: RowNode) => number;
  315. loadingCellRenderer?: {
  316. new (): ICellRenderer;
  317. } | string;
  318. loadingCellRendererFramework?: any;
  319. loadingCellRendererParams?: any;
  320. loadingOverlayComponent?: {
  321. new (): ILoadingOverlayComp;
  322. } | string;
  323. loadingOverlayComponentFramework?: any;
  324. loadingOverlayComponentParams?: any;
  325. noRowsOverlayComponent?: {
  326. new (): INoRowsOverlayComp;
  327. } | string;
  328. noRowsOverlayComponentFramework?: any;
  329. noRowsOverlayComponentParams?: any;
  330. fullWidthCellRenderer?: {
  331. new (): ICellRendererComp;
  332. } | ICellRendererFunc | string;
  333. fullWidthCellRendererFramework?: any;
  334. fullWidthCellRendererParams?: any;
  335. isFullWidthCell?(rowNode: RowNode): boolean;
  336. groupRowAggNodes?(nodes: RowNode[]): any;
  337. getBusinessKeyForNode?(node: RowNode): string;
  338. /** @deprecated */
  339. getNodeChildDetails?: GetNodeChildDetails;
  340. getDataPath?: GetDataPath;
  341. treeData?: boolean;
  342. isServerSideGroup?: IsServerSideGroup;
  343. getServerSideGroupKey?: GetServerSideGroupKey;
  344. getContextMenuItems?: GetContextMenuItems;
  345. getMainMenuItems?: GetMainMenuItems;
  346. getChartToolbarItems?: GetChartToolbarItems;
  347. getRowNodeId?: GetRowNodeIdFunc;
  348. getChildCount?(dataItem: any): number;
  349. doesDataFlower?(dataItem: any): boolean;
  350. processRowPostCreate?(params: ProcessRowParams): void;
  351. processCellForClipboard?(params: ProcessCellForExportParams): any;
  352. processHeaderForClipboard?(params: ProcessHeaderForExportParams): any;
  353. processCellFromClipboard?(params: ProcessCellForExportParams): any;
  354. processSecondaryColDef?(colDef: ColDef): void;
  355. processSecondaryColGroupDef?(colGroupDef: ColGroupDef): void;
  356. postSort?(nodes: RowNode[]): void;
  357. processChartOptions?(params: ProcessChartOptionsParams): ChartOptions<any>;
  358. /**********************************************************************************************************
  359. * If you change the events on this interface, you do *not* need to update PropertyKeys to be consistent, *
  360. * as event callbacks are automatically generated. *
  361. **********************************************************************************************************/
  362. onColumnEverythingChanged?(event: ColumnEverythingChangedEvent): void;
  363. onToolPanelVisibleChanged?(event: ToolPanelVisibleChangedEvent): void;
  364. onNewColumnsLoaded?(event: NewColumnsLoadedEvent): void;
  365. onColumnPivotModeChanged?(event: ColumnPivotModeChangedEvent): void;
  366. onColumnRowGroupChanged?(event: ColumnRowGroupChangedEvent): void;
  367. onColumnPivotChanged?(event: ColumnPivotChangedEvent): void;
  368. onGridColumnsChanged?(event: GridColumnsChangedEvent): void;
  369. onColumnValueChanged?(event: ColumnValueChangedEvent): void;
  370. onColumnMoved?(event: ColumnMovedEvent): void;
  371. onColumnVisible?(event: ColumnVisibleEvent): void;
  372. onColumnPinned?(event: ColumnPinnedEvent): void;
  373. onColumnGroupOpened?(event: ColumnGroupOpenedEvent): void;
  374. onColumnResized?(event: ColumnResizedEvent): void;
  375. onDisplayedColumnsChanged?(event: DisplayedColumnsChangedEvent): void;
  376. onVirtualColumnsChanged?(event: VirtualColumnsChangedEvent): void;
  377. onRowGroupOpened?(event: RowGroupOpenedEvent): void;
  378. onRowDataChanged?(event: RowDataChangedEvent): void;
  379. onRowDataUpdated?(event: RowDataUpdatedEvent): void;
  380. onPinnedRowDataChanged?(event: PinnedRowDataChangedEvent): void;
  381. onRangeSelectionChanged?(event: RangeSelectionChangedEvent): void;
  382. onColumnRowGroupChangeRequest?(event: ColumnRowGroupChangeRequestEvent): void;
  383. onColumnPivotChangeRequest?(event: ColumnPivotChangeRequestEvent): void;
  384. onColumnValueChangeRequest?(event: ColumnValueChangeRequestEvent): void;
  385. onColumnAggFuncChangeRequest?(event: ColumnAggFuncChangeRequestEvent): void;
  386. onModelUpdated?(event: ModelUpdatedEvent): void;
  387. onCellKeyDown?(event: CellKeyDownEvent): void;
  388. onCellKeyPress?(event: CellKeyPressEvent): void;
  389. onCellClicked?(event: CellClickedEvent): void;
  390. onCellMouseDown?(event: CellMouseDownEvent): void;
  391. onCellDoubleClicked?(event: CellDoubleClickedEvent): void;
  392. onCellContextMenu?(event: CellContextMenuEvent): void;
  393. onCellValueChanged?(event: CellValueChangedEvent): void;
  394. onCellMouseOver?(event: CellMouseOverEvent): void;
  395. onCellMouseOut?(event: CellMouseOutEvent): void;
  396. onRowValueChanged?(event: RowValueChangedEvent): void;
  397. onRowEditingStarted?(event: RowEditingStartedEvent): void;
  398. onRowEditingStopped?(event: RowEditingStoppedEvent): void;
  399. onCellEditingStarted?(event: CellEditingStartedEvent): void;
  400. onCellEditingStopped?(event: CellEditingStoppedEvent): void;
  401. onCellFocused?(event: CellFocusedEvent): void;
  402. onRowSelected?(event: RowSelectedEvent): void;
  403. onSelectionChanged?(event: SelectionChangedEvent): void;
  404. onFilterChanged?(event: FilterChangedEvent): void;
  405. onFilterModified?(event: FilterModifiedEvent): void;
  406. onSortChanged?(event: SortChangedEvent): void;
  407. onVirtualRowRemoved?(event: VirtualRowRemovedEvent): void;
  408. onRowClicked?(event: RowClickedEvent): void;
  409. onRowDoubleClicked?(event: RowDoubleClickedEvent): void;
  410. onGridReady?(event: GridReadyEvent): void;
  411. onViewportChanged?(event: ViewportChangedEvent): void;
  412. onDragStarted?(event: DragStartedEvent): void;
  413. onDragStopped?(event: DragStoppedEvent): void;
  414. onPaginationChanged?(event: PaginationChangedEvent): void;
  415. onRowDragEnter?(event: RowDragEvent): void;
  416. onRowDragMove?(event: RowDragEvent): void;
  417. onRowDragLeave?(event: RowDragEvent): void;
  418. onRowDragEnd?(event: RowDragEvent): void;
  419. onPasteStart?(event: PasteStartEvent): void;
  420. onPasteEnd?(event: PasteEndEvent): void;
  421. onFillStart?(event: FillStartEvent): void;
  422. onFillEnd?(event: FillEndEvent): void;
  423. onBodyScroll?(event: BodyScrollEvent): void;
  424. onFirstDataRendered?(event: FirstDataRenderedEvent): void;
  425. onExpandOrCollapseAll?(event: ExpandCollapseAllEvent): void;
  426. onChartCreated?(event: ChartCreated): void;
  427. onChartRangeSelectionChanged?(event: ChartRangeSelectionChanged): void;
  428. onChartOptionsChanged?(event: ChartOptionsChanged): void;
  429. onChartDestroyed?(event: ChartDestroyed): void;
  430. /** @deprecated */
  431. onGridSizeChanged?(event: any): void;
  432. api?: GridApi | null;
  433. columnApi?: ColumnApi | null;
  434. }
  435. export interface FillOperationParams {
  436. event: MouseEvent;
  437. values: any[];
  438. initialValues: any[];
  439. currentIndex: number;
  440. api: GridApi;
  441. columnApi: ColumnApi;
  442. context: any;
  443. direction: string;
  444. column?: Column;
  445. rowNode?: RowNode;
  446. }
  447. export interface GetDataPath {
  448. (data: any): string[];
  449. }
  450. export interface IsServerSideGroup {
  451. (dataItem: any): boolean;
  452. }
  453. export interface GetServerSideGroupKey {
  454. (dataItem: any): string;
  455. }
  456. export interface GetNodeChildDetails {
  457. (dataItem: any): NodeChildDetails;
  458. }
  459. export interface IsRowMaster {
  460. (dataItem: any): boolean;
  461. }
  462. export interface IsRowSelectable {
  463. (node: RowNode): boolean;
  464. }
  465. export interface NodeChildDetails {
  466. group: boolean;
  467. children?: any[];
  468. expanded?: boolean;
  469. field?: string;
  470. key?: any;
  471. }
  472. export interface ProcessChartOptionsParams {
  473. type: ChartType;
  474. options: ChartOptions<any>;
  475. }
  476. export interface GetContextMenuItemsParams {
  477. defaultItems: string[] | undefined;
  478. column: Column;
  479. node: RowNode;
  480. value: any;
  481. api: GridApi | null | undefined;
  482. columnApi: ColumnApi | null | undefined;
  483. context: any;
  484. }
  485. export interface GetContextMenuItems {
  486. (params: GetContextMenuItemsParams): (string | MenuItemDef)[];
  487. }
  488. export interface GetChartToolbarItemsParams {
  489. defaultItems?: ChartMenuOptions[];
  490. api?: GridApi | null;
  491. columnApi?: ColumnApi | null;
  492. }
  493. export interface GetChartToolbarItems {
  494. (params: GetChartToolbarItemsParams): ChartMenuOptions[];
  495. }
  496. export interface MenuItemDef {
  497. name: string;
  498. disabled?: boolean;
  499. shortcut?: string;
  500. action?: () => void;
  501. checked?: boolean;
  502. icon?: HTMLElement | string;
  503. subMenu?: (MenuItemDef | string)[];
  504. cssClasses?: string[];
  505. tooltip?: string;
  506. }
  507. export interface GetMainMenuItemsParams {
  508. column: Column;
  509. api: GridApi | null | undefined;
  510. columnApi: ColumnApi | null | undefined;
  511. context: any;
  512. defaultItems: string[];
  513. }
  514. export interface GetMainMenuItems {
  515. (params: GetMainMenuItemsParams): (string | MenuItemDef)[];
  516. }
  517. export interface GetRowNodeIdFunc {
  518. (data: any): string;
  519. }
  520. export interface ProcessRowParams {
  521. eRow: HTMLElement;
  522. ePinnedLeftRow: HTMLElement;
  523. ePinnedRightRow: HTMLElement;
  524. rowIndex: number;
  525. node: RowNode;
  526. api: GridApi;
  527. columnApi: ColumnApi;
  528. addRenderedRowListener: (eventType: string, listener: Function) => void;
  529. context: any;
  530. }
  531. export interface NavigateToNextCellParams {
  532. key: number;
  533. previousCellPosition: CellPosition;
  534. nextCellPosition: CellPosition;
  535. event: KeyboardEvent;
  536. }
  537. export interface TabToNextCellParams {
  538. backwards: boolean;
  539. editing: boolean;
  540. previousCellPosition: CellPosition;
  541. nextCellPosition: CellPosition;
  542. }
  543. export interface PostProcessPopupParams {
  544. column?: Column | null;
  545. rowNode?: RowNode;
  546. ePopup: HTMLElement;
  547. type: string;
  548. eventSource?: HTMLElement | null;
  549. mouseEvent?: MouseEvent | Touch | null;
  550. }
  551. export interface PaginationNumberFormatterParams {
  552. value: number;
  553. }
  554. export interface ProcessDataFromClipboardParams {
  555. data: string[][];
  556. }
  557. export interface ChartRef {
  558. chartElement: HTMLElement;
  559. destroyChart: () => void;
  560. }