rowvia 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +228 -0
  2. package/dist/rowvia.css +1 -0
  3. package/dist/rowvia.es.js +8962 -0
  4. package/dist/rowvia.umd.cjs +37 -0
  5. package/dist/types/api.d.ts +6 -0
  6. package/dist/types/components/detailDialog.d.ts +13 -0
  7. package/dist/types/core/clientSideRowModel.d.ts +116 -0
  8. package/dist/types/core/columnModel.d.ts +95 -0
  9. package/dist/types/core/eventService.d.ts +11 -0
  10. package/dist/types/core/formulaEngine.d.ts +42 -0
  11. package/dist/types/core/localeText.d.ts +15 -0
  12. package/dist/types/core/remoteRowModels.d.ts +170 -0
  13. package/dist/types/core/rowNode.d.ts +51 -0
  14. package/dist/types/core/utils.d.ts +38 -0
  15. package/dist/types/core/valueService.d.ts +14 -0
  16. package/dist/types/features/chartService.d.ts +49 -0
  17. package/dist/types/features/columnMenu.d.ts +9 -0
  18. package/dist/types/features/contextMenu.d.ts +27 -0
  19. package/dist/types/features/editService.d.ts +62 -0
  20. package/dist/types/features/exportService.d.ts +39 -0
  21. package/dist/types/features/filterGui.d.ts +19 -0
  22. package/dist/types/features/filterService.d.ts +36 -0
  23. package/dist/types/features/findService.d.ts +27 -0
  24. package/dist/types/features/formulaEditor.d.ts +11 -0
  25. package/dist/types/features/notesService.d.ts +23 -0
  26. package/dist/types/features/overlays.d.ts +14 -0
  27. package/dist/types/features/paginationService.d.ts +32 -0
  28. package/dist/types/features/pdfWriter.d.ts +24 -0
  29. package/dist/types/features/popupService.d.ts +15 -0
  30. package/dist/types/features/rangeSelection.d.ts +43 -0
  31. package/dist/types/features/rowDragService.d.ts +25 -0
  32. package/dist/types/features/rowGroupPanel.d.ts +10 -0
  33. package/dist/types/features/selectionService.d.ts +34 -0
  34. package/dist/types/features/sideBar.d.ts +29 -0
  35. package/dist/types/features/sortService.d.ts +12 -0
  36. package/dist/types/features/statusBar.d.ts +14 -0
  37. package/dist/types/features/undoRedoService.d.ts +40 -0
  38. package/dist/types/features/xlsxReader.d.ts +7 -0
  39. package/dist/types/features/xlsxWriter.d.ts +10 -0
  40. package/dist/types/gantt/component.d.ts +25 -0
  41. package/dist/types/gantt/data.d.ts +31 -0
  42. package/dist/types/gantt/filterSort.d.ts +50 -0
  43. package/dist/types/gantt/ganttChart.d.ts +122 -0
  44. package/dist/types/gantt/index.d.ts +5 -0
  45. package/dist/types/gantt/locale.d.ts +10 -0
  46. package/dist/types/grid.d.ts +168 -0
  47. package/dist/types/index.d.ts +28 -0
  48. package/dist/types/personnel/component.d.ts +20 -0
  49. package/dist/types/personnel/index.d.ts +3 -0
  50. package/dist/types/personnel/model.d.ts +31 -0
  51. package/dist/types/render/cellRenderers.d.ts +30 -0
  52. package/dist/types/render/headerView.d.ts +64 -0
  53. package/dist/types/render/rowRenderer.d.ts +190 -0
  54. package/dist/types/render/stickyGroupRows.d.ts +21 -0
  55. package/dist/types/types.d.ts +889 -0
  56. package/package.json +47 -0
@@ -0,0 +1,889 @@
1
+ /**
2
+ * rowvia public types — API mirrors ag-grid Community/Enterprise.
3
+ */
4
+ export type RowModelType = 'clientSide' | 'infinite' | 'serverSide' | 'viewport';
5
+ export type RowSelectionMode = 'single' | 'multiple';
6
+ export type SortDirection = 'asc' | 'desc' | null;
7
+ export type ColType = 'textColumn' | 'numberColumn' | 'numericColumn' | 'dateColumn' | 'booleanColumn' | 'dateStringColumn' | 'rightAligned';
8
+ export type PinPosition = 'left' | 'right' | null;
9
+ export type AggFunc = string | ((params: AggFuncParams) => any);
10
+ export interface AggFuncParams {
11
+ values: any[];
12
+ column: Column;
13
+ rowNode: RowNode;
14
+ data: any;
15
+ }
16
+ export type FilterType = 'text' | 'number' | 'date' | 'set' | 'boolean' | 'floating';
17
+ export interface ColumnFilterParams {
18
+ values?: any[];
19
+ suppressSorting?: boolean;
20
+ buttons?: string[];
21
+ closeOnApply?: boolean;
22
+ debounceMs?: number;
23
+ valueFormatter?: (params: any) => string;
24
+ cellRenderer?: any;
25
+ cellRendererParams?: any;
26
+ inRangeInclusive?: boolean;
27
+ }
28
+ export interface CellEditorParams {
29
+ values?: any[];
30
+ min?: number;
31
+ max?: number;
32
+ precision?: number;
33
+ step?: number;
34
+ showStepperButtons?: boolean;
35
+ allowTyping?: boolean;
36
+ searchType?: 'matchAny' | 'matchAll';
37
+ filterList?: boolean;
38
+ highlightMatch?: boolean;
39
+ cellRenderer?: any;
40
+ [key: string]: any;
41
+ }
42
+ export interface ValueFormatterParams {
43
+ value: any;
44
+ data: any;
45
+ node: RowNode;
46
+ column: Column;
47
+ api: GridApi;
48
+ colDef: ColDef;
49
+ }
50
+ export interface ValueGetterParams {
51
+ data: any;
52
+ node: RowNode;
53
+ column: Column;
54
+ api: GridApi;
55
+ colDef: ColDef;
56
+ getValue: (field: string) => any;
57
+ }
58
+ export interface ValueSetterParams {
59
+ oldValue: any;
60
+ newValue: any;
61
+ data: any;
62
+ node: RowNode;
63
+ column: Column;
64
+ api: GridApi;
65
+ colDef: ColDef;
66
+ }
67
+ export interface CellClassParams {
68
+ value: any;
69
+ data: any;
70
+ node: RowNode;
71
+ column: Column;
72
+ rowIndex: number;
73
+ api: GridApi;
74
+ }
75
+ export interface ComparatorParams {
76
+ valueA: any;
77
+ valueB: any;
78
+ nodeA: RowNode;
79
+ nodeB: RowNode;
80
+ }
81
+ export interface CellRendererParams {
82
+ value: any;
83
+ valueFormatted: string | null;
84
+ data: any;
85
+ node: RowNode;
86
+ column: Column;
87
+ rowIndex: number;
88
+ api: GridApi;
89
+ colDef: ColDef;
90
+ eGridCell: HTMLElement;
91
+ registerRowDragger?: (cb: (e: MouseEvent) => void) => void;
92
+ }
93
+ export interface ICellRenderer {
94
+ getGui(): HTMLElement;
95
+ refresh?(params: CellRendererParams): boolean;
96
+ destroy?(): void;
97
+ }
98
+ export type CellRendererFunc = (params: CellRendererParams) => HTMLElement | ICellRenderer | string | void;
99
+ export interface ICellEditor {
100
+ getGui(): HTMLElement;
101
+ getValue(): any;
102
+ isCancelBeforeStart?(): boolean;
103
+ isCancelAfterEnd?(): boolean;
104
+ focusIn?(): void;
105
+ afterGuiAttached?(): void;
106
+ destroy?(): void;
107
+ }
108
+ export type CellEditorFunc = (params: any) => HTMLElement | ICellEditor | string;
109
+ export interface TooltipParams {
110
+ value: any;
111
+ valueFormatted: string | null;
112
+ data: any;
113
+ node: RowNode;
114
+ column: Column;
115
+ api: GridApi;
116
+ colDef: ColDef;
117
+ }
118
+ export interface ColDef {
119
+ /** column group children (spanning headers) */
120
+ children?: ColDef[];
121
+ /** id of this column group (spanning headers) */
122
+ groupId?: string;
123
+ openByDefault?: boolean;
124
+ columnGroupShow?: 'open' | 'closed';
125
+ field?: string;
126
+ colId?: string;
127
+ headerName?: string;
128
+ headerTooltip?: string;
129
+ width?: number;
130
+ minWidth?: number;
131
+ maxWidth?: number;
132
+ flex?: number;
133
+ /** initial flex when sizeColumnsToFit is used */
134
+ initialFlex?: number;
135
+ pinned?: PinPosition;
136
+ hide?: boolean;
137
+ initialHide?: boolean;
138
+ lockPosition?: 'left' | 'right' | true | false;
139
+ type?: ColType;
140
+ sortable?: boolean;
141
+ unSortIcon?: boolean;
142
+ sort?: SortDirection;
143
+ sortIndex?: number | null;
144
+ resizable?: boolean;
145
+ filter?: boolean | FilterType | string;
146
+ floatingFilter?: boolean;
147
+ filterParams?: ColumnFilterParams;
148
+ editable?: boolean | ((params: any) => boolean);
149
+ cellEditor?: CellEditorFunc | string;
150
+ cellEditorParams?: CellEditorParams;
151
+ cellEditorPopup?: boolean;
152
+ singleClickEdit?: boolean;
153
+ valueSetter?: (params: ValueSetterParams) => boolean;
154
+ valueGetter?: string | ((params: ValueGetterParams) => any);
155
+ valueFormatter?: string | ((params: ValueFormatterParams) => string | null);
156
+ valueParser?: string | ((params: any) => any);
157
+ tooltipField?: string;
158
+ tooltipValueGetter?: (params: TooltipParams) => string;
159
+ comparator?: (valueA: any, valueB: any, nodeA?: RowNode, nodeB?: RowNode) => number;
160
+ aggFunc?: AggFunc;
161
+ /** Show Values As — display the value as a percentage of the column total */
162
+ showValueAs?: 'percentOfTotal' | 'percentOfParent';
163
+ enableRowGroup?: boolean;
164
+ rowGroup?: boolean;
165
+ rowGroupIndex?: number | null;
166
+ enablePivot?: boolean;
167
+ pivot?: boolean;
168
+ pivotIndex?: number | null;
169
+ enableValue?: boolean;
170
+ allowedAggFuncs?: string[];
171
+ showRowGroup?: boolean | string;
172
+ suppressCount?: boolean;
173
+ /** span this cell across N columns (column spanning) */
174
+ colSpan?: (params: CellClassParams) => number;
175
+ /** reference data shared between editors and filters */
176
+ refData?: Record<string, any>;
177
+ /** expression field (evaluated, e.g. 'price * quantity') */
178
+ expression?: boolean;
179
+ /** cell note text (or a function returning it) */
180
+ note?: string | ((params: any) => string | undefined);
181
+ cellRenderer?: CellRendererFunc | string;
182
+ cellRendererParams?: any;
183
+ cellClass?: string | string[] | ((params: CellClassParams) => string | string[] | undefined);
184
+ cellStyle?: Record<string, any> | ((params: CellClassParams) => Record<string, any>);
185
+ cellDataType?: boolean;
186
+ cellClassRules?: Record<string, (params: CellClassParams) => boolean>;
187
+ rowDrag?: boolean;
188
+ checkboxSelection?: boolean;
189
+ headerCheckboxSelection?: boolean;
190
+ headerCheckboxSelectionFilteredOnly?: boolean;
191
+ headerCheckboxSelectionCurrentPageOnly?: boolean;
192
+ headerComponent?: any;
193
+ headerClass?: string | string[];
194
+ menuTabs?: string[];
195
+ suppressMenu?: boolean;
196
+ suppressSizeToFit?: boolean;
197
+ suppressMovable?: boolean;
198
+ wrapText?: boolean;
199
+ autoHeight?: boolean;
200
+ tooltipComponent?: any;
201
+ icons?: Record<string, any>;
202
+ /** rowvia extension: number of decimals for numberColumn */
203
+ decimals?: number;
204
+ }
205
+ export interface DefaultColDef extends ColDef {
206
+ enableCellChangeFlash?: boolean;
207
+ enableCellTextSelection?: boolean;
208
+ openByDefault?: boolean;
209
+ columnGroupShow?: 'open' | 'closed';
210
+ groupId?: string;
211
+ }
212
+ export interface SideBarDef {
213
+ toolPanels?: Array<{
214
+ id: string;
215
+ labelDefault: string;
216
+ labelKey?: string;
217
+ iconKey?: string;
218
+ toolPanel: any;
219
+ width?: number;
220
+ minWidth?: number;
221
+ maxWidth?: number;
222
+ } | string>;
223
+ defaultToolPanel?: string;
224
+ position?: 'left' | 'right';
225
+ hiddenByDefault?: boolean;
226
+ }
227
+ export interface StatusPanelDef {
228
+ statusPanel?: any;
229
+ align?: 'left' | 'center' | 'right';
230
+ key?: string;
231
+ }
232
+ export interface RowNode {
233
+ id: string;
234
+ /** unique key from getRowId, or generated */
235
+ __id: string;
236
+ data: any;
237
+ parent: RowNode | null;
238
+ children: RowNode[] | null;
239
+ group: boolean;
240
+ /** group key when this is a group node */
241
+ key: string | null;
242
+ /** depth in group tree */
243
+ level: number;
244
+ uiLevel: number;
245
+ rowGroupIndex?: number;
246
+ expanded: boolean;
247
+ selectable: boolean;
248
+ selected: boolean;
249
+ /** pinned top/bottom/null */
250
+ rowPinned: 'top' | 'bottom' | null;
251
+ /** master/detail */
252
+ detailNode: RowNode | null;
253
+ masterNode: RowNode | null;
254
+ /** true when this row is the auto-created group footer */
255
+ footer: boolean;
256
+ /** group aggregated values keyed by column id */
257
+ groupData: Record<string, any> | null;
258
+ /** row height in px (when set by grid) */
259
+ rowHeight: number | null;
260
+ /** tree data leaf info */
261
+ allChildrenCount: number | null;
262
+ /** stub node for server-side */
263
+ stub: boolean;
264
+ /** whether node passes the current filter (set by row model) */
265
+ __passesFilter: boolean;
266
+ /** depth-first child count including all descendants */
267
+ __childCount: number;
268
+ /** whether children were already loaded for this group */
269
+ __childrenLoaded: boolean;
270
+ /** index within the rows-after-filter (client side) */
271
+ rowIndex: number | null;
272
+ /** display index after pagination, set by row model */
273
+ __displayIndex?: number;
274
+ /** set when node created for the "select all" header checkbox */
275
+ setSelected: (selected: boolean, clearSelection?: boolean, source?: string) => number;
276
+ isSelected: () => boolean;
277
+ setData: (data: any) => void;
278
+ setDataValue: (colKey: string, newValue: any) => void;
279
+ setExpanded: (expanded: boolean) => void;
280
+ setPinned: (pinned: 'top' | 'bottom' | null) => void;
281
+ setSelectedNodes?: never;
282
+ }
283
+ export interface Column {
284
+ colId: string;
285
+ field?: string;
286
+ headerName: string;
287
+ headerTooltip?: string;
288
+ colDef: ColDef;
289
+ width: number;
290
+ minWidth: number;
291
+ maxWidth: number;
292
+ flex: number | null;
293
+ pinned: PinPosition;
294
+ hide: boolean;
295
+ visible: boolean;
296
+ lockPosition: 'left' | 'right' | true | false;
297
+ type: ColType | undefined;
298
+ sortable: boolean;
299
+ sort: SortDirection;
300
+ sortIndex: number | null;
301
+ resizable: boolean;
302
+ filter: boolean | string;
303
+ floatingFilter: boolean;
304
+ filterParams: ColumnFilterParams;
305
+ editable: boolean | ((params: any) => boolean);
306
+ cellEditor?: CellEditorFunc | string;
307
+ cellEditorParams: CellEditorParams;
308
+ singleClickEdit: boolean;
309
+ valueSetter?: (params: ValueSetterParams) => boolean;
310
+ valueGetter?: string | ((params: ValueGetterParams) => any);
311
+ valueFormatter?: string | ((params: ValueFormatterParams) => string | null);
312
+ valueParser?: string | ((params: any) => any);
313
+ comparator?: (valueA: any, valueB: any, nodeA?: RowNode, nodeB?: RowNode) => number;
314
+ aggFunc?: AggFunc;
315
+ allowedAggFuncs: string[];
316
+ rowGroup: boolean;
317
+ rowGroupIndex: number | null;
318
+ pivot: boolean;
319
+ pivotIndex: number | null;
320
+ enableRowGroup: boolean;
321
+ enablePivot: boolean;
322
+ enableValue: boolean;
323
+ cellRenderer?: CellRendererFunc | string;
324
+ cellRendererParams: any;
325
+ cellClass?: string | string[] | ((params: CellClassParams) => string | string[] | undefined);
326
+ cellStyle?: Record<string, any> | ((params: CellClassParams) => Record<string, any>);
327
+ cellDataType: boolean;
328
+ cellClassRules?: Record<string, (params: CellClassParams) => boolean>;
329
+ rowDrag: boolean;
330
+ headerClass?: string | string[];
331
+ checkboxSelection: boolean;
332
+ headerCheckboxSelection: boolean;
333
+ headerCheckboxSelectionFilteredOnly: boolean;
334
+ headerCheckboxSelectionCurrentPageOnly: boolean;
335
+ menuTabs: string[];
336
+ suppressMenu: boolean;
337
+ suppressMovable: boolean;
338
+ wrapText: boolean;
339
+ autoHeight: boolean;
340
+ tooltipField?: string;
341
+ tooltipValueGetter?: (params: TooltipParams) => string;
342
+ decimals: number;
343
+ /** index in columnDefs order */
344
+ defIndex: number;
345
+ /** parent column group id (spanning headers) */
346
+ groupId: string | null;
347
+ /** pivot metadata for generated pivot result columns */
348
+ __pivot?: {
349
+ pivotColumnId: string;
350
+ pivotField: string;
351
+ pivotValue: any;
352
+ valueColumnId: string;
353
+ valueField: string;
354
+ };
355
+ /** element */
356
+ eHeaderCell?: HTMLElement;
357
+ /** floating filter instance */
358
+ floatingFilterComp?: any;
359
+ /** filter active? */
360
+ filterActive: boolean;
361
+ /** actual left offset in px (set during layout) */
362
+ left: number;
363
+ }
364
+ export interface ColumnState {
365
+ colId: string;
366
+ hide?: boolean;
367
+ pinned?: PinPosition;
368
+ width?: number;
369
+ flex?: number;
370
+ sort?: SortDirection;
371
+ sortIndex?: number | null;
372
+ rowGroupIndex?: number | null;
373
+ pivotIndex?: number | null;
374
+ aggFunc?: string | AggFunc;
375
+ }
376
+ export interface SortModelItem {
377
+ colId: string;
378
+ sort: 'asc' | 'desc';
379
+ }
380
+ export interface FilterModelItem {
381
+ filterType: string;
382
+ type?: string;
383
+ filter?: any;
384
+ filterTo?: any;
385
+ dateFrom?: string;
386
+ dateTo?: string;
387
+ values?: any[];
388
+ operator?: 'AND' | 'OR';
389
+ condition1?: any;
390
+ condition2?: any;
391
+ filterModels?: FilterModelItem[];
392
+ }
393
+ export interface GridApi {
394
+ setRowData(rowData: any[]): void;
395
+ applyTransaction(transaction: RowDataTransaction): RowNodeTransactionResult | null;
396
+ getRowNode(id: string): RowNode | undefined;
397
+ getDisplayedRowCount(): number;
398
+ getDisplayedRowAtIndex(index: number): RowNode | undefined;
399
+ getFirstDisplayedRow(): RowNode | undefined;
400
+ getLastDisplayedRow(): RowNode | undefined;
401
+ forEachNode(callback: (node: RowNode, index: number) => void): void;
402
+ forEachLeafNode(callback: (node: RowNode, index: number) => void): void;
403
+ getModel(): any;
404
+ isRowPresent?(rowNode: RowNode): boolean;
405
+ getValue(colKey: string | Column, rowNode: RowNode): any;
406
+ setValue?(colKey: string | Column, rowNode: RowNode, value: any): void;
407
+ getSelectedRows(): any[];
408
+ getSelectedNodes(): RowNode[];
409
+ selectAll(): void;
410
+ deselectAll(): void;
411
+ selectAllFiltered(): void;
412
+ deselectAllFiltered(): void;
413
+ getSelectionModule?(): any;
414
+ selectNode?(node: RowNode, clearSelection?: boolean): void;
415
+ deselectNode?(node: RowNode): void;
416
+ setQuickFilter(newFilter: string): void;
417
+ isQuickFilterPresent(): boolean;
418
+ resetQuickFilter(): void;
419
+ getSortModel(): SortModelItem[];
420
+ setSortModel(model: SortModelItem[]): void;
421
+ getFilterModel(): Record<string, FilterModelItem>;
422
+ setFilterModel(model: Record<string, FilterModelItem>): void;
423
+ getColumnFilterModel(key: string | Column): FilterModelItem | null;
424
+ setColumnFilterModel(key: string | Column, model: FilterModelItem | null): void;
425
+ getAdvancedFilterModel(): any;
426
+ setAdvancedFilterModel(model: any): void;
427
+ onFilterChanged(): void;
428
+ onSortChanged(): void;
429
+ expandAll(): void;
430
+ collapseAll(): void;
431
+ onGroupExpandedOrCollapsed(): void;
432
+ getRowGroupColumns(): Column[];
433
+ addAggFunc?(): void;
434
+ setRowNodePinned(node: RowNode, pinned: 'top' | 'bottom' | null): void;
435
+ getColumnDefs?(): ColDef[];
436
+ setColumnDefs(colDefs: ColDef[], source?: string): void;
437
+ updateGridOptions?(options: Partial<GridOptions>): void;
438
+ setGridOption?(key: string, value: any): void;
439
+ sizeColumnsToFit(): void;
440
+ autoSizeAllColumns(): void;
441
+ autoSizeColumns?(colKeys: Array<string | Column>): void;
442
+ moveColumn?(key: string | Column, toIndex: number): void;
443
+ moveColumnByIndex?(fromIndex: number, toIndex: number): void;
444
+ setColumnVisible?(colKey: string | Column, visible: boolean): void;
445
+ setColumnsPinned?(keys: Array<string | Column>, pinned: PinPosition): void;
446
+ setColumnsVisible?(keys: Array<string | Column>, visible: boolean): void;
447
+ getColumns?(): Column[];
448
+ getAllColumns(): Column[];
449
+ getAllGridColumns?(): Column[];
450
+ getColumn?(key: string | Column): Column | null;
451
+ getDisplayedColAfter?(col: Column): Column | null;
452
+ getDisplayedColBefore?(col: Column): Column | null;
453
+ getDisplayedLeftColumns(): Column[];
454
+ getDisplayedCenterColumns(): Column[];
455
+ getDisplayedRightColumns(): Column[];
456
+ getColumnState(): ColumnState[];
457
+ applyColumnState?(state: ColumnState[], applyOrder?: boolean): void;
458
+ resetColumnState?(): void;
459
+ openColumnMenu?(column?: Column): void;
460
+ setSideBarVisible(visible: boolean): void;
461
+ isSideBarVisible(): boolean;
462
+ setSideBarPosition(position: 'left' | 'right'): void;
463
+ openToolPanel(id: string): void;
464
+ closeToolPanel?(): void;
465
+ getToolPanel?(): any;
466
+ setStatusBarVisible?(visible: boolean): void;
467
+ getStatusPanel?(key: string): any;
468
+ paginationIsLastPageFound(): boolean;
469
+ paginationGetPageSize(): number;
470
+ paginationGetCurrentPage(): number;
471
+ paginationGetTotalPages(): number;
472
+ paginationGetRowCount(): number;
473
+ paginationGoToPage(page: number): void;
474
+ paginationGoToNextPage(): void;
475
+ paginationGoToPreviousPage(): void;
476
+ paginationGoToFirstPage(): void;
477
+ paginationGoToLastPage(): void;
478
+ paginationSetPageSize(size: number): void;
479
+ startEditingCell(params: {
480
+ rowIndex: number;
481
+ colKey: string;
482
+ }): void;
483
+ stopEditing(cancel?: boolean): void;
484
+ getEditingCells(): Array<{
485
+ rowIndex: number;
486
+ colId: string;
487
+ }>;
488
+ setFocusedCell(rowIndex: number, colKey: string): void;
489
+ getFocusedCell(): {
490
+ rowIndex: number;
491
+ column: Column;
492
+ rowNode: RowNode;
493
+ } | null;
494
+ clearFocusedCell(): void;
495
+ tabToNextCell(backwards?: boolean): void;
496
+ tabToPreviousCell(): void;
497
+ refreshCells(params?: {
498
+ rowNodes?: RowNode[];
499
+ columns?: (string | Column)[];
500
+ force?: boolean;
501
+ }): void;
502
+ redrawRows(params?: {
503
+ rowNodes?: RowNode[];
504
+ }): void;
505
+ flashCells(params?: {
506
+ rowNodes?: RowNode[];
507
+ columns?: (string | Column)[];
508
+ flashDelay?: number;
509
+ fadeDelay?: number;
510
+ }): void;
511
+ setRowHeight?(height: number): void;
512
+ setHeaderHeight?(height: number): void;
513
+ ensureIndexVisible(index: number, position?: 'top' | 'bottom' | 'middle'): void;
514
+ ensureNodeVisible?(node: RowNode, position?: 'top' | 'bottom' | 'middle'): void;
515
+ ensureColumnVisible?(key: string | Column, position?: 'auto' | 'start' | 'middle' | 'end'): void;
516
+ getFirstDisplayedRowIndex?(): number;
517
+ getLastDisplayedRowIndex?(): number;
518
+ copyToClipboard(params?: any): void;
519
+ cutToClipboard(params?: any): void;
520
+ pasteFromClipboard(): void;
521
+ copySelectedRangeToClipboard?(): void;
522
+ copySelectedRowsToClipboard?(): void;
523
+ copySelectedColumnsToClipboard?(): void;
524
+ exportToCsv(params?: ExportParams): void;
525
+ exportToExcel(params?: ExportParams): void;
526
+ exportToPdf(params?: ExportParams & {
527
+ pageSize?: string;
528
+ title?: string;
529
+ }): void;
530
+ importExcel(file: Blob | ArrayBuffer, params?: {
531
+ sheetIndex?: number;
532
+ onSuccess?: (rows: any[]) => void;
533
+ }): Promise<any[]>;
534
+ getDataAsCsv?(params?: ExportParams): string;
535
+ getDataAsExcel?(params?: ExportParams): Blob;
536
+ getDataAsPdf?(params?: ExportParams & {
537
+ pageSize?: string;
538
+ title?: string;
539
+ }): Blob;
540
+ getChartData?(params?: any): any;
541
+ getChartModels?(): any[];
542
+ createChart?(): void;
543
+ getCellRanges(): CellRange[];
544
+ clearRangeSelection(): void;
545
+ addCellRange(range: CellRange): void;
546
+ onRangeSelectionChanged(): void;
547
+ onCellsSelectionChanged?(): void;
548
+ getRangeSelections(): CellRange[];
549
+ setRangeSelections?(ranges: CellRange[]): void;
550
+ showLoadingOverlay(): void;
551
+ showNoRowsOverlay(): void;
552
+ hideOverlay(): void;
553
+ setServerSideDatasource(datasource: any): void;
554
+ setDatasource(datasource: any): void;
555
+ setViewportDatasource(datasource: any): void;
556
+ setViewportRange(firstRow: number, lastRow: number): void;
557
+ refreshServerSide(params?: {
558
+ purge?: boolean;
559
+ }): void;
560
+ purgeServerSideCache(): void;
561
+ getServerSideStoreState(): any;
562
+ setRowCount(count: number, maxRowFound?: boolean): void;
563
+ isServerSideStoreLoading?(): boolean;
564
+ undoCellEditing(): number;
565
+ redoCellEditing(): number;
566
+ canUndo(): boolean;
567
+ canRedo(): boolean;
568
+ getUndoRedoStackSize(): {
569
+ undo: number;
570
+ redo: number;
571
+ };
572
+ startBatchEdit(): void;
573
+ endBatchEdit(cancel?: boolean): void;
574
+ cancelBatchEdit(): void;
575
+ isBatchEditing(): boolean;
576
+ getState(): any;
577
+ setState(state: any): void;
578
+ setNote(rowNode: RowNode, colKey: string | Column, note: string | undefined): void;
579
+ getNote(rowNode: RowNode, colKey: string | Column): string | undefined;
580
+ isNodeSelected?(node: RowNode): boolean;
581
+ getGridId(): string;
582
+ destroy(): void;
583
+ resetRowHeights?(): void;
584
+ setSuppressRowDrag?(value: boolean): void;
585
+ setSuppressColumnVirtualisation?(value: boolean): void;
586
+ setAlwaysShowHorizontalScroll?(value: boolean): void;
587
+ setSuppressHorizontalScroll?(value: boolean): void;
588
+ setDomData?(key: string, value: any): void;
589
+ getDomData?(key: string): any;
590
+ setRowDataTransaction?(): never;
591
+ refreshClientSideRowModel?(): void;
592
+ onRowHeightChanged?(): void;
593
+ showColumnMenuAfterButtonClick?(colKey: string | Column, buttonElement: HTMLElement): void;
594
+ getSideBar?(): any;
595
+ setPivotMode?(value: boolean): void;
596
+ isPivotMode?(): boolean;
597
+ setFunctionsReadOnly?(readonly: boolean): void;
598
+ isAnimationFrameQueue?(): never;
599
+ executeEvery?(): never;
600
+ addAggressiveValue?(value: string): void;
601
+ }
602
+ export interface ExportParams {
603
+ fileName?: string;
604
+ sheetName?: string;
605
+ onlySelected?: boolean;
606
+ onlySelectedAllPages?: boolean;
607
+ skipHeader?: boolean;
608
+ columnKeys?: Array<string | Column>;
609
+ skipFooters?: boolean;
610
+ skipGroups?: boolean;
611
+ skipPinnedTop?: boolean;
612
+ skipPinnedBottom?: boolean;
613
+ suppressQuotes?: boolean;
614
+ columnSeparator?: string;
615
+ allColumns?: boolean;
616
+ exportedRows?: 'all' | 'filteredAndSorted' | 'visible';
617
+ processCellCallback?: (params: any) => string;
618
+ processHeaderCallback?: (params: any) => string;
619
+ shouldRowBeSkipped?: (params: any) => boolean;
620
+ exportMode?: 'xlsx' | 'xml';
621
+ headerRowHeight?: number;
622
+ rowHeight?: number;
623
+ margins?: any;
624
+ pageSetup?: any;
625
+ addImageToCell?: (rowIndex: number, colIndex: number, value: any) => any;
626
+ embeddedFormatDefs?: any;
627
+ mimeType?: string;
628
+ fileVersion?: string;
629
+ getCustomContentBelowRow?: (params: any) => any;
630
+ }
631
+ export interface CellRange {
632
+ id?: string;
633
+ rowStartIndex: number;
634
+ rowEndIndex: number;
635
+ columns: Array<string | Column>;
636
+ }
637
+ export interface RowDataTransaction {
638
+ add?: any[];
639
+ update?: any[];
640
+ remove?: any[];
641
+ addIndex?: number;
642
+ }
643
+ export interface RowNodeTransactionResult {
644
+ add: RowNode[];
645
+ remove: RowNode[];
646
+ update: RowNode[];
647
+ }
648
+ export interface RowDataUpdatedEvent {
649
+ type: 'transaction';
650
+ api: GridApi;
651
+ }
652
+ export type GridEventType = 'gridReady' | 'gridSizeChanged' | 'firstDataRendered' | 'modelUpdated' | 'rowDataUpdated' | 'cellValueChanged' | 'cellEditRequest' | 'rowValueChanged' | 'selectionChanged' | 'cellClicked' | 'cellDoubleClicked' | 'cellFocused' | 'rowClicked' | 'rowDoubleClicked' | 'cellEditingStarted' | 'cellEditingStopped' | 'cellKeyDown' | 'sortChanged' | 'filterChanged' | 'columnVisible' | 'columnPinned' | 'columnResized' | 'columnMoved' | 'columnEverythingChanged' | 'columnRowGroupChanged' | 'columnValueChanged' | 'columnPivotModeChanged' | 'displayedColumnsChanged' | 'virtualColumnsChanged' | 'columnHeaderClicked' | 'columnHeaderContextMenu' | 'componentStateChanged' | 'dragStopped' | 'rowDragEnter' | 'rowDragMove' | 'rowDragLeave' | 'rowDragEnd' | 'rowGroupOpened' | 'expandOrCollapseAll' | 'paginationChanged' | 'bodyScroll' | 'bodyScrollEnd' | 'rangeSelectionChanged' | 'rangeSelectionDeleted' | 'cutStart' | 'cutEnd' | 'pasteStart' | 'pasteEnd' | 'fillStart' | 'fillEnd' | 'cellContextMenu' | 'rowEditingStarted' | 'rowEditingStopped' | 'filterModified' | 'filterUiChanged' | 'filterOpened' | 'floatingFilterUiChanged' | 'advancedFilterBuilderVisibleChanged' | 'toolPanelVisibleChanged' | 'toolPanelSizeChanged' | 'sideBarUpdated' | 'chartCreated' | 'chartRangeSelectionChanged' | 'chartOptionsChanged' | 'chartDestroyed' | 'cellFocusCleared' | 'fullWidthCellKeyDown' | 'rowResize?' | 'itemsAdded' | 'itemsRemoved' | 'storeRefreshed' | 'asyncTransactionsFlushed' | 'newColumnsLoaded' | 'rowCountReady' | 'storeUpdated' | 'keyShortcutChangedCell' | 'cellShiftDown?';
653
+ export interface GridOptions {
654
+ columnDefs?: ColDef[];
655
+ rowData?: any[];
656
+ defaultColDef?: DefaultColDef;
657
+ defaultColGroupDef?: any;
658
+ columnTypes?: Record<string, Partial<ColDef>>;
659
+ getRowId?: (params: {
660
+ data: any;
661
+ level: number;
662
+ parentKeys?: string[];
663
+ }) => string;
664
+ getRowClass?: string | ((params: any) => string | string[] | undefined);
665
+ getRowStyle?: Record<string, any> | ((params: any) => Record<string, any>);
666
+ getRowHeight?: number | ((params: {
667
+ data: any;
668
+ node: RowNode;
669
+ api: GridApi;
670
+ }) => number);
671
+ rowHeight?: number;
672
+ headerHeight?: number;
673
+ floatingFiltersHeight?: number;
674
+ groupHeaderHeight?: number;
675
+ pivotHeaderHeight?: number;
676
+ rowModelType?: RowModelType;
677
+ rowBuffer?: number;
678
+ pagination?: boolean;
679
+ paginationPageSize?: number;
680
+ paginationPageSizeSelector?: number[] | boolean;
681
+ paginationAutoPageSize?: boolean;
682
+ suppressPaginationPanel?: boolean;
683
+ cacheBlockSize?: number;
684
+ maxBlocksInCache?: number;
685
+ infiniteInitialRowCount?: number;
686
+ serverSideStoreType?: 'full' | 'partial';
687
+ serverSideDatasource?: any;
688
+ maxConcurrentDatasourceRequests?: number;
689
+ rowSelection?: RowSelectionMode;
690
+ suppressRowClickSelection?: boolean;
691
+ suppressRowDeselection?: boolean;
692
+ rowMultiSelectWithClick?: boolean;
693
+ groupSelectsChildren?: boolean;
694
+ groupSelectsFiltered?: boolean;
695
+ isRowSelectable?: (node: RowNode) => boolean;
696
+ rowGroupPanelShow?: 'always' | 'onlyWhenGrouping' | 'never';
697
+ groupDefaultExpanded?: number;
698
+ groupAllowUnsort?: boolean;
699
+ groupSuppressBlankColumn?: boolean;
700
+ groupIncludeFooter?: boolean;
701
+ groupIncludeTotalFooter?: boolean;
702
+ groupRemoveSingleChildren?: boolean;
703
+ groupRemoveLowestSingleChildren?: boolean;
704
+ groupDisplayType?: 'singleColumn' | 'multipleColumns' | 'custom';
705
+ groupHideOpenParents?: boolean;
706
+ /** set to true to prevent group rows from sticking to the top of the grid while scrolling */
707
+ suppressGroupRowsSticky?: boolean;
708
+ suppressAggFuncInHeader?: boolean;
709
+ autoGroupColumnDef?: ColDef;
710
+ showOpenedGroup?: boolean;
711
+ masterDetail?: boolean;
712
+ detailRowHeight?: number;
713
+ detailRowAutoHeight?: boolean;
714
+ isRowMaster?: (params: {
715
+ data: any;
716
+ node: RowNode;
717
+ }) => boolean;
718
+ keepDetailRows?: boolean;
719
+ keepDetailRowsCount?: number;
720
+ treeData?: boolean;
721
+ getDataPath?: (data: any) => string[];
722
+ treeDataChildrenField?: string;
723
+ treeDataParentIdField?: string;
724
+ excludeChildrenWhenTreeDataFiltering?: boolean;
725
+ sortingOrder?: SortDirection[];
726
+ multiSortKey?: 'ctrl';
727
+ accentedSort?: boolean;
728
+ suppressMultiSort?: boolean;
729
+ enableRangeSelection?: boolean;
730
+ enableCharts?: boolean;
731
+ chartStorageKey?: string;
732
+ enableCellChangeFlash?: boolean;
733
+ enableCellTextSelection?: boolean;
734
+ suppressClickEdit?: boolean;
735
+ readOnlyEdit?: boolean;
736
+ stopEditingWhenCellsLoseFocus?: boolean;
737
+ enterNavigatesVertically?: boolean;
738
+ enterNavigatesVerticallyAfterEdit?: boolean;
739
+ editType?: 'fullRow';
740
+ singleClickEdit?: boolean;
741
+ suppressKeyboardEvent?: (params: any) => boolean;
742
+ ensureDomOrder?: boolean;
743
+ quickFilterText?: string;
744
+ cacheQuickFilter?: boolean;
745
+ includeHiddenColumnsInQuickFilter?: boolean;
746
+ excludeHiddenColumnsFromQuickFilter?: boolean;
747
+ alwaysShowHorizontalScroll?: boolean;
748
+ suppressHorizontalScroll?: boolean;
749
+ alwaysShowVerticalScroll?: boolean;
750
+ suppressColumnVirtualisation?: boolean;
751
+ suppressAnimationFrame?: boolean;
752
+ animateRows?: boolean;
753
+ enableBrowserTooltips?: boolean;
754
+ tooltipShowDelay?: number;
755
+ tooltipHideDelay?: number;
756
+ suppressMovableColumns?: boolean;
757
+ suppressMenuHide?: boolean;
758
+ allowContextMenuWithControlKey?: boolean;
759
+ preventDefaultOnContextMenu?: boolean;
760
+ suppressContextMenu?: boolean;
761
+ suppressCopyRowsToClipboard?: boolean;
762
+ suppressCopySingleCellRanges?: boolean;
763
+ suppressLastEmptyLineOnPaste?: boolean;
764
+ suppressClipboardPaste?: boolean;
765
+ suppressClipboardApi?: boolean;
766
+ clipboardDeliminator?: string;
767
+ sideBar?: boolean | SideBarDef | string;
768
+ statusBar?: {
769
+ statusPanels: Array<StatusPanelDef | string>;
770
+ };
771
+ contextMenuItems?: string[] | ((params: any) => (string | any)[]);
772
+ columnMenu?: 'new' | 'legacy' | any;
773
+ suppressMenu?: boolean;
774
+ popupParent?: HTMLElement;
775
+ /** overrides for the built-in English UI strings (menus, popups, panels) */
776
+ localeText?: Record<string, string>;
777
+ onGridReady?: (params: any) => void;
778
+ onGridSizeChanged?: (params: any) => void;
779
+ onFirstDataRendered?: (params: any) => void;
780
+ onModelUpdated?: (params: any) => void;
781
+ onRowDataUpdated?: (params: RowDataUpdatedEvent) => void;
782
+ onRowDataChanged?: (params: any) => void;
783
+ onCellValueChanged?: (params: CellValueChangedEvent) => void;
784
+ onRowValueChanged?: (params: any) => void;
785
+ onSelectionChanged?: (params: any) => void;
786
+ onCellClicked?: (params: any) => void;
787
+ onCellDoubleClicked?: (params: any) => void;
788
+ onCellFocused?: (params: any) => void;
789
+ onRowClicked?: (params: any) => void;
790
+ onRowDoubleClicked?: (params: any) => void;
791
+ onCellEditingStarted?: (params: any) => void;
792
+ onCellEditingStopped?: (params: any) => void;
793
+ onSortChanged?: (params: any) => void;
794
+ onFilterChanged?: (params: any) => void;
795
+ onColumnVisible?: (params: any) => void;
796
+ onColumnPinned?: (params: any) => void;
797
+ onColumnResized?: (params: any) => void;
798
+ onColumnMoved?: (params: any) => void;
799
+ onColumnEverythingChanged?: (params: any) => void;
800
+ onDisplayedColumnsChanged?: (params: any) => void;
801
+ onColumnHeaderClicked?: (params: any) => void;
802
+ onRowGroupOpened?: (params: any) => void;
803
+ onExpandOrCollapseAll?: (params: any) => void;
804
+ onPaginationChanged?: (params: any) => void;
805
+ onBodyScroll?: (params: any) => void;
806
+ onRangeSelectionChanged?: (params: any) => void;
807
+ onCellContextMenu?: (params: any) => void;
808
+ onToolPanelVisibleChanged?: (params: any) => void;
809
+ onSideBarUpdated?: (params: any) => void;
810
+ onChartCreated?: (params: any) => void;
811
+ onChartOptionsChanged?: (params: any) => void;
812
+ onChartDestroyed?: (params: any) => void;
813
+ onStateUpdated?: (params: any) => void;
814
+ rowClass?: string;
815
+ rowStyle?: Record<string, any>;
816
+ headerClass?: string;
817
+ icons?: Record<string, any>;
818
+ suppressFieldDotNotation?: boolean;
819
+ rowNumbers?: boolean;
820
+ rowDragManaged?: boolean;
821
+ autoGenerateColumns?: boolean;
822
+ isExternalFilterPresent?: () => boolean;
823
+ doesExternalFilterPass?: (node: RowNode) => boolean;
824
+ rowDragMultiRow?: boolean;
825
+ undoRedoCellEditing?: boolean | number;
826
+ suppressTouch?: boolean;
827
+ theme?: string;
828
+ copyHeadersToClipboard?: boolean;
829
+ enableRtl?: boolean;
830
+ copyGroupHeadersToClipboard?: boolean;
831
+ cellFlashDuration?: number;
832
+ cellFadeDuration?: number;
833
+ deltaSort?: boolean;
834
+ mainMenuItems?: string[];
835
+ [key: string]: any;
836
+ }
837
+ export interface CellValueChangedEvent {
838
+ oldValue: any;
839
+ newValue: any;
840
+ value: any;
841
+ data: any;
842
+ node: RowNode;
843
+ column: Column;
844
+ colDef: ColDef;
845
+ api: GridApi;
846
+ context?: any;
847
+ source?: string;
848
+ }
849
+ export interface GridParams {
850
+ api: GridApi;
851
+ columnApi: ColumnApi;
852
+ context?: any;
853
+ }
854
+ export interface ColumnApi {
855
+ getAllColumns(): Column[];
856
+ getColumn(key: string | Column): Column | null;
857
+ getColumnState(): ColumnState[];
858
+ applyColumnState(state: ColumnState[], applyOrder?: boolean): void;
859
+ resetColumnState(): void;
860
+ setColumnVisible(colKey: string | Column, visible: boolean): void;
861
+ setColumnsVisible(keys: Array<string | Column>, visible: boolean): void;
862
+ setColumnPinned(colKey: string | Column, pinned: PinPosition): void;
863
+ setColumnsPinned(keys: Array<string | Column>, pinned: PinPosition): void;
864
+ moveColumn(key: string | Column, toIndex: number): void;
865
+ moveColumnByIndex(fromIndex: number, toIndex: number): void;
866
+ autoSizeColumn(key: string | Column, skipHeader?: boolean): void;
867
+ autoSizeColumns(keys: Array<string | Column>, skipHeader?: boolean): void;
868
+ autoSizeAllColumns(skipHeader?: boolean): void;
869
+ sizeColumnsToFit(): void;
870
+ setRowGroupColumns(keys: Array<string | Column>, source?: string): void;
871
+ removeRowGroupColumns(keys: Array<string | Column>, source?: string): void;
872
+ addRowGroupColumn?(key: string | Column, source?: string): void;
873
+ setPivotColumns?(keys: Array<string | Column>, source?: string): void;
874
+ removePivotColumns?(keys: Array<string | Column>, source?: string): void;
875
+ setValueColumns?(keys: Array<string | Column>, source?: string): void;
876
+ removeValueColumn?(key: string | Column, source?: string): void;
877
+ getRowGroupColumns(): Column[];
878
+ getValueColumns(): Column[];
879
+ getPivotColumns(): Column[];
880
+ setPivotMode(pivotMode: boolean, source?: string): void;
881
+ isPivotMode(): boolean;
882
+ getPrimaryColumns?(): Column[];
883
+ }
884
+ export interface ColumnGroup {
885
+ groupId: string;
886
+ headerName?: string;
887
+ children: (Column | ColumnGroup)[];
888
+ marryChildren?: boolean;
889
+ }