react-open-source-grid 1.5.0 → 1.5.1

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 (85) hide show
  1. package/dist/assets/components/AccessibilityDemo.d.ts +8 -0
  2. package/dist/assets/components/ApiReferencePage.d.ts +2 -0
  3. package/dist/assets/components/BenchmarkDemo.d.ts +2 -0
  4. package/dist/assets/components/CellRenderersDemo.d.ts +16 -0
  5. package/dist/assets/components/CodeBlock.d.ts +10 -0
  6. package/dist/assets/components/ColumnFiltersDemo.d.ts +5 -0
  7. package/dist/assets/components/CompleteApiReferencePage.d.ts +2 -0
  8. package/dist/assets/components/ContextMenuDemo.d.ts +12 -0
  9. package/dist/assets/components/DataGrid/ARCHITECTURE.md.d.ts +288 -0
  10. package/dist/assets/components/DataGrid/AdvancedFilterBuilder.d.ts +12 -0
  11. package/dist/assets/components/DataGrid/CellRenderers.d.ts +64 -0
  12. package/dist/assets/components/DataGrid/ColumnChooser.d.ts +12 -0
  13. package/dist/assets/components/DataGrid/ColumnFilters.d.ts +16 -0
  14. package/dist/assets/components/DataGrid/ContextMenu.d.ts +10 -0
  15. package/dist/assets/components/DataGrid/DataGrid.d.ts +22 -0
  16. package/dist/assets/components/DataGrid/DensityToggle.d.ts +23 -0
  17. package/dist/assets/components/DataGrid/DragHandle.d.ts +7 -0
  18. package/dist/assets/components/DataGrid/DraggableRow.d.ts +14 -0
  19. package/dist/assets/components/DataGrid/ExportMenu.d.ts +12 -0
  20. package/dist/assets/components/DataGrid/FacetedSearch.d.ts +29 -0
  21. package/dist/assets/components/DataGrid/FilteredSearchBar.d.ts +36 -0
  22. package/dist/assets/components/DataGrid/FocusTrap.d.ts +12 -0
  23. package/dist/assets/components/DataGrid/GridApiDemo.d.ts +6 -0
  24. package/dist/assets/components/DataGrid/GridBody.d.ts +42 -0
  25. package/dist/assets/components/DataGrid/GridFooter.d.ts +18 -0
  26. package/dist/assets/components/DataGrid/GridHeader.d.ts +18 -0
  27. package/dist/assets/components/DataGrid/GridPagination.d.ts +10 -0
  28. package/dist/assets/components/DataGrid/GroupByPanel.d.ts +9 -0
  29. package/dist/assets/components/DataGrid/GroupRow.d.ts +31 -0
  30. package/dist/assets/components/DataGrid/InfiniteScrollDataGrid.d.ts +39 -0
  31. package/dist/assets/components/DataGrid/LayoutPresetsManager.d.ts +11 -0
  32. package/dist/assets/components/DataGrid/MarketDataEngine.d.ts +165 -0
  33. package/dist/assets/components/DataGrid/MarketDataGrid.d.ts +33 -0
  34. package/dist/assets/components/DataGrid/MarketDataGridUtils.d.ts +13 -0
  35. package/dist/assets/components/DataGrid/ScreenReaderAnnouncer.d.ts +8 -0
  36. package/dist/assets/components/DataGrid/ServerSideDataSource.d.ts +136 -0
  37. package/dist/assets/components/DataGrid/ThemeSelector.d.ts +12 -0
  38. package/dist/assets/components/DataGrid/Tooltip.d.ts +15 -0
  39. package/dist/assets/components/DataGrid/TreeRow.d.ts +31 -0
  40. package/dist/assets/components/DataGrid/VirtualScroller.d.ts +35 -0
  41. package/dist/assets/components/DataGrid/WebSocketMockFeed.d.ts +121 -0
  42. package/dist/assets/components/DataGrid/aggregationUtils.d.ts +25 -0
  43. package/dist/assets/components/DataGrid/contextMenuUtils.d.ts +36 -0
  44. package/dist/assets/components/DataGrid/demos/TooltipDemo.d.ts +1 -0
  45. package/dist/assets/components/DataGrid/densityModes.d.ts +42 -0
  46. package/dist/assets/components/DataGrid/dragRowUtils.d.ts +98 -0
  47. package/dist/assets/components/DataGrid/exportUtils.d.ts +30 -0
  48. package/dist/assets/components/DataGrid/filterUtils.d.ts +17 -0
  49. package/dist/assets/components/DataGrid/gridApi.d.ts +142 -0
  50. package/dist/assets/components/DataGrid/gridApi.types.d.ts +348 -0
  51. package/dist/assets/components/DataGrid/gridReducer.d.ts +4 -0
  52. package/dist/assets/components/DataGrid/groupingUtils.d.ts +17 -0
  53. package/dist/assets/components/DataGrid/index.d.ts +41 -0
  54. package/dist/assets/components/DataGrid/layoutPersistence.d.ts +95 -0
  55. package/dist/assets/components/DataGrid/themes.d.ts +113 -0
  56. package/dist/assets/components/DataGrid/treeDataUtils.d.ts +97 -0
  57. package/dist/assets/components/DataGrid/types.d.ts +536 -0
  58. package/dist/assets/components/DataGrid/useContextMenu.d.ts +31 -0
  59. package/dist/assets/components/DataGrid/useDensityMode.d.ts +36 -0
  60. package/dist/assets/components/DataGrid/useFocusTrap.d.ts +14 -0
  61. package/dist/assets/components/DataGrid/useMarketData.d.ts +57 -0
  62. package/dist/assets/components/DataGrid/useScreenReaderAnnouncements.d.ts +23 -0
  63. package/dist/assets/components/DataGrid/useTooltip.d.ts +21 -0
  64. package/dist/assets/components/DemoGridPage.d.ts +2 -0
  65. package/dist/assets/components/DensityModeDemo.d.ts +12 -0
  66. package/dist/assets/components/FacetedSearchDemo.d.ts +8 -0
  67. package/dist/assets/components/FeatureGallery.d.ts +2 -0
  68. package/dist/assets/components/FilteredSearchDemo.d.ts +7 -0
  69. package/dist/assets/components/GridApiDemoPage.d.ts +2 -0
  70. package/dist/assets/components/HomePage.d.ts +1 -0
  71. package/dist/assets/components/InfiniteScrollDemo.d.ts +13 -0
  72. package/dist/assets/components/LayoutPersistenceDemo.d.ts +2 -0
  73. package/dist/assets/components/LiveMarketDemo.d.ts +18 -0
  74. package/dist/assets/components/MarketDataExamples.d.ts +42 -0
  75. package/dist/assets/components/RowDraggingDemo.d.ts +3 -0
  76. package/dist/assets/components/RowPinningDemo.d.ts +12 -0
  77. package/dist/assets/components/ThemesDemo.d.ts +17 -0
  78. package/dist/assets/components/TooltipDemo.d.ts +1 -0
  79. package/dist/assets/components/TreeDataDemo.d.ts +3 -0
  80. package/dist/assets/components/VirtualScrollDemo.d.ts +13 -0
  81. package/dist/assets/{index-BCK5Ko4P.js → index-bQ7aqGuU.js} +2 -2
  82. package/dist/assets/index.js +1 -1
  83. package/dist/assets/{layoutPersistence-BHB0W18y.js → layoutPersistence-B2lMGbE7.js} +1 -1
  84. package/dist/index.html +1 -1
  85. package/package.json +14 -4
@@ -0,0 +1,121 @@
1
+ /**
2
+ * WebSocketMockFeed.ts
3
+ *
4
+ * Mock WebSocket server that simulates live market data feed.
5
+ * Generates realistic tick updates for testing market data mode.
6
+ *
7
+ * Features:
8
+ * - Simulates 1000+ ticks/sec
9
+ * - Random price movements
10
+ * - Bid/Ask spreads
11
+ * - Volume tracking
12
+ * - Burst updates
13
+ * - Configurable update frequency
14
+ */
15
+ export interface MockMarketData {
16
+ symbol: string;
17
+ price: number;
18
+ bid: number;
19
+ ask: number;
20
+ size: number;
21
+ volume: number;
22
+ change: number;
23
+ changePercent: number;
24
+ high: number;
25
+ low: number;
26
+ open: number;
27
+ lastUpdate: number;
28
+ }
29
+ export interface MockFeedConfig {
30
+ symbols?: string[];
31
+ updateFrequency?: number;
32
+ priceVolatility?: number;
33
+ burstProbability?: number;
34
+ burstSize?: number;
35
+ port?: number;
36
+ }
37
+ /**
38
+ * Mock WebSocket Feed
39
+ * Simulates a WebSocket server for market data
40
+ */
41
+ export declare class WebSocketMockFeed {
42
+ private config;
43
+ private marketData;
44
+ private updateIntervals;
45
+ private clients;
46
+ private isRunning;
47
+ constructor(config?: MockFeedConfig);
48
+ /**
49
+ * Generate default symbol list
50
+ */
51
+ private generateDefaultSymbols;
52
+ /**
53
+ * Initialize market data with random values
54
+ */
55
+ private initializeMarketData;
56
+ /**
57
+ * Generate random price
58
+ */
59
+ private randomPrice;
60
+ /**
61
+ * Update market data for a symbol
62
+ */
63
+ private updateSymbol;
64
+ /**
65
+ * Trigger burst of rapid updates
66
+ */
67
+ private triggerBurst;
68
+ /**
69
+ * Broadcast update to all connected clients
70
+ */
71
+ private broadcastUpdate;
72
+ /**
73
+ * Start generating updates
74
+ */
75
+ start(): void;
76
+ /**
77
+ * Stop generating updates
78
+ */
79
+ stop(): void;
80
+ /**
81
+ * Register a mock WebSocket client
82
+ */
83
+ connect(client: MockWebSocket): void;
84
+ /**
85
+ * Unregister a mock WebSocket client
86
+ */
87
+ disconnect(client: MockWebSocket): void;
88
+ /**
89
+ * Get current market data snapshot
90
+ */
91
+ getSnapshot(): MockMarketData[];
92
+ /**
93
+ * Get data for specific symbol
94
+ */
95
+ getSymbolData(symbol: string): MockMarketData | undefined;
96
+ }
97
+ /**
98
+ * Mock WebSocket client interface
99
+ */
100
+ export interface MockWebSocket {
101
+ readyState: number;
102
+ send: (data: string) => void;
103
+ onmessage: ((event: {
104
+ data: string;
105
+ }) => void) | null;
106
+ onopen: (() => void) | null;
107
+ onclose: (() => void) | null;
108
+ onerror: ((error: any) => void) | null;
109
+ close: () => void;
110
+ }
111
+ /**
112
+ * Create a mock WebSocket that connects to the feed
113
+ */
114
+ export declare function createMockWebSocket(feed: WebSocketMockFeed): MockWebSocket;
115
+ /**
116
+ * Create and start a mock market data feed
117
+ */
118
+ export declare function createMockFeed(config?: MockFeedConfig): {
119
+ feed: WebSocketMockFeed;
120
+ createConnection: () => MockWebSocket;
121
+ };
@@ -0,0 +1,25 @@
1
+ import type { Row, AggregateFunction, AggregateConfig, GroupedRow } from './types';
2
+ /**
3
+ * Compute a single aggregate value for a set of rows
4
+ */
5
+ export declare const computeAggregate: (rows: Row[], field: string, func: AggregateFunction) => number | null;
6
+ /**
7
+ * Compute all configured aggregates for a set of rows
8
+ */
9
+ export declare const computeAggregations: (rows: Row[], aggregateConfigs: AggregateConfig[]) => {
10
+ [key: string]: number | null;
11
+ };
12
+ /**
13
+ * Compute group-level aggregations for each group in grouped rows
14
+ */
15
+ export declare const computeGroupAggregations: (groupedRows: (Row | GroupedRow)[], aggregateConfigs: AggregateConfig[]) => Map<string, {
16
+ [key: string]: number | null;
17
+ }>;
18
+ /**
19
+ * Format aggregate value for display
20
+ */
21
+ export declare const formatAggregateValue: (value: number | null, func: AggregateFunction) => string;
22
+ /**
23
+ * Get display label for an aggregate function
24
+ */
25
+ export declare const getAggregateLabel: (func: AggregateFunction) => string;
@@ -0,0 +1,36 @@
1
+ import type { Row, Column, FilterValue } from './types';
2
+ /**
3
+ * Context Menu Utility Functions
4
+ *
5
+ * Helper functions for context menu actions like copy, export, etc.
6
+ */
7
+ /**
8
+ * Copy selected cells to clipboard
9
+ */
10
+ export declare const copyToClipboard: (selectedRows: Set<string | number>, columns: Column[], rows: Row[], includeHeaders?: boolean) => Promise<void>;
11
+ /**
12
+ * Copy a specific cell range to clipboard
13
+ */
14
+ export declare const copyCellRange: (startRow: number, endRow: number, startCol: number, endCol: number, columns: Column[], rows: Row[], includeHeaders?: boolean) => Promise<void>;
15
+ /**
16
+ * Export selected rows to CSV
17
+ */
18
+ export declare const exportSelectedToCSV: (selectedRows: Set<string | number>, columns: Column[], rows: Row[], filename?: string) => void;
19
+ /**
20
+ * Calculate optimal column width based on content
21
+ */
22
+ export declare const calculateOptimalWidth: (column: Column, rows: Row[], minWidth?: number, maxWidth?: number, padding?: number) => number;
23
+ /**
24
+ * Auto-size all columns
25
+ */
26
+ export declare const autoSizeAllColumns: (columns: Column[], rows: Row[]) => {
27
+ [field: string]: number;
28
+ };
29
+ /**
30
+ * Create a "filter by value" filter configuration
31
+ */
32
+ export declare const createFilterByValue: (value: unknown) => FilterValue;
33
+ /**
34
+ * Get unique values for a column (for filter suggestions)
35
+ */
36
+ export declare const getUniqueColumnValues: (column: Column, rows: Row[], maxValues?: number) => unknown[];
@@ -0,0 +1 @@
1
+ export declare const TooltipDemo: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * DataGrid Density Mode System
3
+ * Provides Ultra Compact, Compact, Normal, and Comfortable display modes with CSS variables
4
+ */
5
+ export type DensityMode = 'ultraCompact' | 'compact' | 'normal' | 'comfortable';
6
+ export interface DensityConfig {
7
+ mode: DensityMode;
8
+ rowHeight: string;
9
+ cellPadding: string;
10
+ headerPadding: string;
11
+ fontSize: string;
12
+ fontSizeSmall: string;
13
+ }
14
+ /**
15
+ * Density mode configurations
16
+ * Defines row height, padding, and font sizes for each density mode
17
+ */
18
+ export declare const densityConfigs: Record<DensityMode, DensityConfig>;
19
+ /**
20
+ * Get density configuration by mode
21
+ */
22
+ export declare function getDensityConfig(mode?: DensityMode): DensityConfig;
23
+ /**
24
+ * Generate CSS variables from density configuration
25
+ */
26
+ export declare function generateDensityCSS(mode: DensityMode): Record<string, string>;
27
+ /**
28
+ * Get all density mode names
29
+ */
30
+ export declare function getDensityModes(): DensityMode[];
31
+ /**
32
+ * Get display label for density mode
33
+ */
34
+ export declare function getDensityLabel(mode: DensityMode): string;
35
+ /**
36
+ * Persist density mode to localStorage
37
+ */
38
+ export declare function saveDensityMode(mode: DensityMode, key?: string): void;
39
+ /**
40
+ * Load density mode from localStorage
41
+ */
42
+ export declare function loadDensityMode(key?: string): DensityMode | null;
@@ -0,0 +1,98 @@
1
+ import type { Row, TreeNode, GroupedRow } from './types';
2
+ /**
3
+ * Row Dragging / Reorder Utilities
4
+ *
5
+ * Utilities for implementing drag-and-drop row reordering functionality.
6
+ */
7
+ export interface DragRowConfig {
8
+ enabled: boolean;
9
+ showDragHandle?: boolean;
10
+ allowCrossGroup?: boolean;
11
+ allowExternalDrop?: boolean;
12
+ onRowDrop?: (sourceIndex: number, targetIndex: number, row: Row) => void;
13
+ onRowMove?: (sourceIndex: number, targetIndex: number) => void;
14
+ onExternalDrop?: (data: any, targetIndex: number) => void;
15
+ dragHandlePosition?: 'left' | 'right';
16
+ }
17
+ export interface DragState {
18
+ isDragging: boolean;
19
+ draggedRowId: string | number | null;
20
+ draggedRowIndex: number | null;
21
+ dropTargetIndex: number | null;
22
+ dropPosition: 'before' | 'after' | null;
23
+ }
24
+ export declare const initialDragState: DragState;
25
+ /**
26
+ * Reorder rows array based on drag-and-drop indices
27
+ */
28
+ export declare const reorderRows: <T extends Row>(rows: T[], sourceIndex: number, targetIndex: number) => T[];
29
+ /**
30
+ * Get the drop position (before/after) based on mouse position within the row
31
+ */
32
+ export declare const getDropPosition: (event: React.DragEvent, rowElement: HTMLElement) => "before" | "after";
33
+ /**
34
+ * Calculate the target index based on drop position
35
+ */
36
+ export declare const calculateTargetIndex: (dropTargetIndex: number, dropPosition: "before" | "after" | null, sourceIndex: number) => number;
37
+ /**
38
+ * Check if a row can be dropped at the target location
39
+ */
40
+ export declare const canDropRow: (sourceIndex: number, targetIndex: number, _sourceRow: Row | TreeNode | GroupedRow, _targetRow: Row | TreeNode | GroupedRow, config: DragRowConfig) => boolean;
41
+ /**
42
+ * Create drag data transfer object
43
+ */
44
+ export declare const createDragData: (row: Row, rowIndex: number, tableId?: string) => string;
45
+ /**
46
+ * Parse drag data transfer object
47
+ */
48
+ export declare const parseDragData: (dataTransfer: string) => {
49
+ row: Row;
50
+ rowIndex: number;
51
+ tableId?: string;
52
+ timestamp: number;
53
+ } | null;
54
+ /**
55
+ * Check if drag data is from the same table
56
+ */
57
+ export declare const isSameTable: (dragData: ReturnType<typeof parseDragData>, currentTableId?: string) => boolean;
58
+ /**
59
+ * Get visual drop indicator styles
60
+ */
61
+ export declare const getDropIndicatorStyle: (isOver: boolean, position: "before" | "after" | null) => React.CSSProperties;
62
+ /**
63
+ * Handle drag start event
64
+ */
65
+ export declare const handleDragStart: (event: React.DragEvent, row: Row, rowIndex: number, tableId?: string) => void;
66
+ /**
67
+ * Handle drag end event
68
+ */
69
+ export declare const handleDragEnd: (event: React.DragEvent) => void;
70
+ /**
71
+ * Handle drag over event (required for drop to work)
72
+ */
73
+ export declare const handleDragOver: (event: React.DragEvent) => void;
74
+ /**
75
+ * Validate drop operation
76
+ */
77
+ export declare const validateDrop: (event: React.DragEvent, config: DragRowConfig, tableId?: string) => boolean;
78
+ /**
79
+ * Get draggable row props
80
+ */
81
+ export declare const getDraggableRowProps: (row: Row, rowIndex: number, isDragging: boolean, config: DragRowConfig, tableId?: string) => {
82
+ draggable: boolean;
83
+ onDragStart: (e: React.DragEvent) => void;
84
+ onDragEnd: (event: React.DragEvent) => void;
85
+ style: {
86
+ cursor: string;
87
+ opacity: number;
88
+ transition: string;
89
+ };
90
+ };
91
+ /**
92
+ * Get drop target props
93
+ */
94
+ export declare const getDropTargetProps: (rowIndex: number, onDragOver: (e: React.DragEvent, index: number) => void, onDragLeave: () => void, onDrop: (e: React.DragEvent, index: number) => void) => {
95
+ onDragOver: (e: React.DragEvent) => void;
96
+ onDragLeave: () => void;
97
+ onDrop: (e: React.DragEvent) => void;
98
+ };
@@ -0,0 +1,30 @@
1
+ import type { Column, Row } from './types';
2
+ export type ExportFormat = 'csv' | 'xlsx';
3
+ export type ExportScope = 'all' | 'filtered' | 'selected' | 'page';
4
+ export type ExcelStyling = 'basic' | 'professional';
5
+ export interface ExportOptions {
6
+ format: ExportFormat;
7
+ scope: ExportScope;
8
+ includeHeader?: boolean;
9
+ styling?: ExcelStyling;
10
+ filename?: string;
11
+ }
12
+ /**
13
+ * Converts a dataset to CSV format and triggers download
14
+ */
15
+ export declare const exportToCSV: (data: Row[], columns: Column[], filename?: string) => void;
16
+ /**
17
+ * Converts a dataset to XLSX format with optional styling and triggers download
18
+ */
19
+ export declare const exportToXLSX: (data: Row[], columns: Column[], options?: {
20
+ filename?: string;
21
+ styling?: ExcelStyling;
22
+ }) => Promise<void>;
23
+ /**
24
+ * Generates a filename with timestamp
25
+ */
26
+ export declare const generateFilename: (format: ExportFormat, scope: ExportScope) => string;
27
+ /**
28
+ * Handles the complete export process
29
+ */
30
+ export declare const handleExport: (data: Row[], columns: Column[], options: ExportOptions) => Promise<void>;
@@ -0,0 +1,17 @@
1
+ import type { Row, FilterConfig } from './types';
2
+ /**
3
+ * Apply all filters to rows
4
+ */
5
+ export declare const applyFilters: (rows: Row[], filterConfig: FilterConfig) => Row[];
6
+ /**
7
+ * Check if any filters are active
8
+ */
9
+ export declare const hasActiveFilters: (filterConfig: FilterConfig) => boolean;
10
+ /**
11
+ * Get count of active filters
12
+ */
13
+ export declare const getActiveFilterCount: (filterConfig: FilterConfig) => number;
14
+ /**
15
+ * Clear all filters
16
+ */
17
+ export declare const clearAllFilters: () => FilterConfig;
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Grid API Implementation
3
+ * Concrete implementation of the GridApi interface
4
+ */
5
+ import type { Dispatch } from 'react';
6
+ import type { GridApi, RowNode, RowModel, ColumnState, RefreshCellsParams, RedrawRowsParams, CsvExportParams, ExcelExportParams, RowDataTransaction, RowNodeTransaction, StartEditingCellParams, ColKey } from './gridApi.types';
7
+ import type { Column, Row, FilterConfig, SortConfig, LayoutPreset } from './types';
8
+ import type { GridAction, GridState } from './gridReducer';
9
+ import { LayoutPersistenceManager } from './layoutPersistence';
10
+ /**
11
+ * Grid API Implementation
12
+ */
13
+ export declare class GridApiImpl implements GridApi {
14
+ private state;
15
+ private dispatch;
16
+ private columns;
17
+ private rows;
18
+ private persistenceManager;
19
+ private destroyed;
20
+ private containerRef;
21
+ private eventListeners;
22
+ private setInternalRows?;
23
+ constructor(state: GridState, dispatch: Dispatch<GridAction>, columns: Column[], rows: Row[], containerRef: React.RefObject<HTMLDivElement | null>, persistenceManager?: LayoutPersistenceManager | null, setInternalRows?: (rows: Row[]) => void);
24
+ /**
25
+ * Update internal state reference (called by parent component on state change)
26
+ */
27
+ updateState(state: GridState): void;
28
+ /**
29
+ * Update internal data references
30
+ */
31
+ updateData(columns: Column[], rows: Row[]): void;
32
+ /**
33
+ * Update callback references
34
+ */
35
+ updateCallbacks(setInternalRows?: (rows: Row[]) => void): void;
36
+ setRowData(rows: Row[]): void;
37
+ applyTransaction(transaction: RowDataTransaction): RowNodeTransaction;
38
+ applyTransactionAsync(transaction: RowDataTransaction): Promise<RowNodeTransaction>;
39
+ getModel(): RowModel;
40
+ getDisplayedRowCount(): number;
41
+ getDisplayedRowAtIndex(index: number): RowNode | null;
42
+ forEachNode(callback: (node: RowNode, index: number) => void): void;
43
+ forEachNodeAfterFilter(callback: (node: RowNode, index: number) => void): void;
44
+ forEachNodeAfterFilterAndSort(callback: (node: RowNode, index: number) => void): void;
45
+ getFirstDisplayedRow(): number;
46
+ getLastDisplayedRow(): number;
47
+ getColumnDefs(): Column[];
48
+ setColumnDefs(colDefs: Column[]): void;
49
+ getAllColumns(): Column[];
50
+ getDisplayedCenterColumns(): Column[];
51
+ getDisplayedLeftColumns(): Column[];
52
+ getDisplayedRightColumns(): Column[];
53
+ setColumnVisible(key: ColKey, visible: boolean): void;
54
+ setColumnsVisible(keys: ColKey[], visible: boolean): void;
55
+ setColumnPinned(key: ColKey, pinned: 'left' | 'right' | null): void;
56
+ autoSizeColumns(keys?: ColKey[]): void;
57
+ autoSizeAllColumns(): void;
58
+ moveColumn(key: ColKey, toIndex: number): void;
59
+ moveColumns(keys: ColKey[], toIndex: number): void;
60
+ getColumnState(): ColumnState[];
61
+ applyColumnState(state: ColumnState[]): void;
62
+ resetColumnState(): void;
63
+ getColumn(key: ColKey): Column | null;
64
+ isAnyFilterPresent(): boolean;
65
+ getFilterModel(): FilterConfig;
66
+ setFilterModel(model: FilterConfig): void;
67
+ onFilterChanged(): void;
68
+ destroyFilter(colKey: ColKey): void;
69
+ getFilterInstance(_colKey: ColKey): unknown;
70
+ clearAllFilters(): void;
71
+ getSortModel(): SortConfig[];
72
+ setSortModel(model: SortConfig[]): void;
73
+ onSortChanged(): void;
74
+ clearAllSorting(): void;
75
+ getSelectedNodes(): RowNode[];
76
+ getSelectedRows(): Row[];
77
+ selectAll(): void;
78
+ deselectAll(): void;
79
+ selectAllFiltered(): void;
80
+ deselectAllFiltered(): void;
81
+ getSelectedRowCount(): number;
82
+ ensureIndexVisible(index: number, position?: 'top' | 'middle' | 'bottom'): void;
83
+ ensureNodeVisible(node: RowNode, position?: 'top' | 'middle' | 'bottom'): void;
84
+ setFocusedCell(rowIndex: number, colKey: ColKey): void;
85
+ clearFocusedCell(): void;
86
+ getFocusedCell(): {
87
+ rowIndex: number;
88
+ column: Column;
89
+ } | null;
90
+ startEditingCell(params: StartEditingCellParams): void;
91
+ stopEditing(cancel?: boolean): void;
92
+ getEditingCells(): Array<{
93
+ rowIndex: number;
94
+ column: Column;
95
+ }>;
96
+ refreshCells(params?: RefreshCellsParams): void;
97
+ refreshHeader(): void;
98
+ refreshToolPanel(): void;
99
+ redrawRows(params?: RedrawRowsParams): void;
100
+ sizeColumnsToFit(): void;
101
+ doLayout(): void;
102
+ exportDataAsCsv(params?: CsvExportParams): void;
103
+ getDataAsCsv(params?: CsvExportParams): string;
104
+ exportDataAsExcel(params?: ExcelExportParams): void;
105
+ copySelectedRowsToClipboard(): void;
106
+ copySelectedRangeToClipboard(): void;
107
+ showLoadingOverlay(): void;
108
+ showNoRowsOverlay(): void;
109
+ hideOverlay(): void;
110
+ paginationGetCurrentPage(): number;
111
+ paginationGoToPage(page: number): void;
112
+ paginationGoToNextPage(): void;
113
+ paginationGoToPreviousPage(): void;
114
+ paginationGetTotalPages(): number;
115
+ paginationGetPageSize(): number;
116
+ paginationSetPageSize(size: number): void;
117
+ setRowGroupColumns(colKeys: ColKey[]): void;
118
+ addRowGroupColumn(colKey: ColKey): void;
119
+ removeRowGroupColumn(colKey: ColKey): void;
120
+ getRowGroupColumns(): Column[];
121
+ expandAll(): void;
122
+ collapseAll(): void;
123
+ onGroupExpandedOrCollapsed(node?: RowNode): void;
124
+ saveLayout(name: string): Promise<void>;
125
+ loadLayout(name: string): Promise<void>;
126
+ getLayoutState(): LayoutPreset['layout'];
127
+ applyLayoutState(layout: LayoutPreset['layout']): void;
128
+ destroy(): void;
129
+ isDestroyed(): boolean;
130
+ addEventListener(eventType: string, listener: (event: unknown) => void): void;
131
+ removeEventListener(eventType: string, listener: (event: unknown) => void): void;
132
+ private ensureNotDestroyed;
133
+ private createRowNode;
134
+ private resolveColKey;
135
+ private getDisplayedRows;
136
+ private getFilteredRows;
137
+ private applySorting;
138
+ private calculateColumnWidth;
139
+ private formatCsvValue;
140
+ private copyToClipboard;
141
+ private fireEvent;
142
+ }