UNPKG

8.38 kBPlain TextView Raw
1import {RowNode} from "./entities/rowNode";
2import {Column} from "./entities/column";
3import {ColDef} from "./entities/colDef";
4import {GridApi} from "./gridApi";
5import {ColumnApi} from "./columnController/columnApi";
6import {OriginalColumnGroup} from "./entities/originalColumnGroup";
7export { Events } from './eventKeys';
8
9export interface ModelUpdatedEvent extends AgGridEvent {
10 /** If true, the grid will try and animate the rows to the new positions */
11 animate: boolean;
12 /** If true, the grid has new data loaded, eg user called setRowData(), otherwise
13 * it's the same data but sorted or filtered, in which case this is true, and rows
14 * can animate around (eg rowNode id 24 is the same row node as last time). */
15 keepRenderedRows: boolean;
16 /** If true, then this update was a result of setRowData() getting called. This
17 * gets the grid to scroll to the top again. */
18 newData: boolean;
19 /** True when pagination and a new page is navigated to. */
20 newPage: boolean;
21}
22
23export interface AgEvent {
24 type: string;
25}
26
27export interface AgGridEvent extends AgEvent {
28 api: GridApi;
29 columnApi: ColumnApi;
30}
31
32export interface ToolPanelVisibleChangedEvent extends AgGridEvent {}
33export interface AnimationQueueEmptyEvent extends AgGridEvent {}
34export interface ColumnPivotModeChangedEvent extends AgGridEvent {}
35export interface VirtualColumnsChangedEvent extends AgGridEvent {}
36export interface ColumnEverythingChangedEvent extends AgGridEvent {
37 source: string
38}
39export interface NewColumnsLoadedEvent extends AgGridEvent {}
40export interface GridColumnsChangedEvent extends AgGridEvent {}
41export interface DisplayedColumnsChangedEvent extends AgGridEvent {}
42export interface RowDataChangedEvent extends AgGridEvent {}
43export interface RowDataUpdatedEvent extends AgGridEvent {}
44export interface PinnedRowDataChangedEvent extends AgGridEvent {}
45export interface SelectionChangedEvent extends AgGridEvent {}
46export interface FilterChangedEvent extends AgGridEvent {}
47export interface FilterModifiedEvent extends AgGridEvent {}
48export interface SortChangedEvent extends AgGridEvent {}
49export interface GridReadyEvent extends AgGridEvent {}
50export interface DisplayedColumnsWidthChangedEvent extends AgGridEvent {} // not documented
51export interface ColumnHoverChangedEvent extends AgGridEvent {} // not documented
52export interface BodyHeightChangedEvent extends AgGridEvent {} // not documented
53
54// this event is 'odd one out' as it should have properties for all the properties
55// in gridOptions that can be bound by the framework. for example, the gridOptions
56// has 'rowData', so this property should have 'rowData' also, so that when the row
57// data changes via the framework bound property, this event has that attribute set.
58export interface ComponentStateChangedEvent extends AgGridEvent {}
59
60export interface DragEvent extends AgGridEvent {
61 type: string;
62}
63export interface DragStartedEvent extends DragEvent {}
64export interface DragStoppedEvent extends DragEvent {}
65
66export interface GridSizeChangedEvent extends AgGridEvent {
67 clientWidth: number;
68 clientHeight: number;
69}
70
71export interface RowDragEvent extends AgGridEvent {
72 node: RowNode,
73 y: number,
74 vDirection: string,
75 event: MouseEvent,
76 overIndex: number,
77 overNode: RowNode
78}
79
80export interface RowDragEnterEvent extends RowDragEvent {}
81export interface RowDragEndEvent extends RowDragEvent {}
82export interface RowDragMoveEvent extends RowDragEvent {}
83export interface RowDragLeaveEvent extends RowDragEvent {}
84
85export interface PasteStartEvent extends AgGridEvent {
86 source: string;
87}
88
89export interface PasteEndEvent extends AgGridEvent {
90 source: string;
91}
92
93export interface ViewportChangedEvent extends AgGridEvent {
94 firstRow: number;
95 lastRow: number;
96}
97
98export interface RangeSelectionChangedEvent extends AgGridEvent {
99 finished: boolean;
100 started: boolean;
101}
102
103export interface ColumnGroupOpenedEvent extends AgGridEvent {
104 columnGroup: OriginalColumnGroup
105}
106
107export interface ItemsAddedEvent extends AgGridEvent {
108 items: RowNode[]
109}
110
111export interface BodyScrollEvent extends AgGridEvent {
112 direction: string;
113 left: number;
114 top: number;
115}
116
117// not documented
118export interface FlashCellsEvent extends AgGridEvent {
119 cells: any;
120}
121
122export interface PaginationChangedEvent extends AgGridEvent {
123 animate: boolean;
124 keepRenderedRows: boolean;
125 newData: boolean;
126 newPage: boolean;
127}
128
129// this does not extent CellEvent as the focus service doesn't keep a reference to
130// the rowNode.
131export interface CellFocusedEvent extends AgGridEvent {
132 rowIndex: number;
133 column: Column;
134 rowPinned: string;
135 forceBrowserFocus: boolean;
136 // floating is for backwards compatibility, this is the same as rowPinned.
137 // this is because the focus service doesn't keep references to rowNodes
138 // as focused cell is identified by rowIndex - thus when the user re-orders
139 // or filters, the focused cell stays with the index, but the node can change.
140 floating: string;
141}
142
143/**---------------*/
144/** COLUMN EVENTS */
145/**---------------*/
146
147export type ColumnEventType =
148 "sizeColumnsToFit" |
149 "autosizeColumns" |
150 "alignedGridChanged" |
151 "filterChanged" |
152 "filterDestroyed" |
153 "gridOptionsChanged" |
154 "gridInitializing" |
155 "toolPanelDragAndDrop" |
156 "toolPanelUi" |
157 "uiColumnMoved" |
158 "uiColumnResized" |
159 "uiColumnDragged" |
160 "uiColumnExpanded" |
161 "uiColumnSorted" |
162 "contextMenu" |
163 "columnMenu" |
164 "rowModelUpdated" |
165 "api";
166
167export interface ColumnEvent extends AgGridEvent {
168 column: Column;
169 columns: Column[];
170 source: ColumnEventType;
171}
172
173export interface ColumnResizedEvent extends ColumnEvent {
174 finished: boolean;
175}
176
177export interface ColumnPivotChangedEvent extends ColumnEvent {}
178
179export interface ColumnRowGroupChangedEvent extends ColumnEvent {}
180
181export interface ColumnValueChangedEvent extends ColumnEvent {}
182
183export interface ColumnMovedEvent extends ColumnEvent {
184 toIndex: number;
185}
186
187export interface ColumnVisibleEvent extends ColumnEvent {
188 visible: boolean;
189}
190
191export interface ColumnPinnedEvent extends ColumnEvent {
192 pinned: string;
193}
194
195/**------------*/
196/** ROW EVENTS */
197/**------------*/
198export interface RowEvent extends AgGridEvent {
199 node: RowNode;
200 data: any;
201 rowIndex: number;
202 rowPinned: string;
203 context: any;
204 event?: Event;
205}
206
207export interface RowGroupOpenedEvent extends RowEvent {}
208
209export interface RowValueChangedEvent extends RowEvent {}
210
211export interface RowSelectedEvent extends RowEvent {}
212
213export interface VirtualRowRemovedEvent extends RowEvent {}
214
215export interface RowClickedEvent extends RowEvent {}
216
217export interface RowDoubleClickedEvent extends RowEvent {}
218
219export interface RowEditingStartedEvent extends RowEvent {}
220export interface RowEditingStoppedEvent extends RowEvent {}
221
222/**------------*/
223/** CELL EVENTS */
224/**------------*/
225export interface CellEvent extends RowEvent {
226 column: Column;
227 colDef: ColDef;
228 value: any;
229}
230
231export interface CellClickedEvent extends CellEvent {}
232
233export interface CellMouseDownEvent extends CellEvent {}
234
235export interface CellDoubleClickedEvent extends CellEvent {}
236
237export interface CellMouseOverEvent extends CellEvent {}
238
239export interface CellMouseOutEvent extends CellEvent {}
240
241export interface CellContextMenuEvent extends CellEvent {}
242
243export interface CellEditingStartedEvent extends CellEvent {}
244export interface CellEditingStoppedEvent extends CellEvent {}
245
246export interface CellValueChangedEvent extends CellEvent {
247 oldValue: any;
248 newValue: any;
249}
250
251// not documented, was put in for CS - more thought needed of how server side grouping / pivoting
252// is done and how these should be used before we fully document and share with the world.
253export interface ColumnRequestEvent extends AgGridEvent {
254 columns: Column[]
255}
256export interface ColumnRowGroupChangeRequestEvent extends ColumnRequestEvent {}
257export interface ColumnPivotChangeRequestEvent extends ColumnRequestEvent {}
258export interface ColumnValueChangeRequestEvent extends ColumnRequestEvent {}
259export interface ColumnAggFuncChangeRequestEvent extends ColumnRequestEvent {
260 aggFunc: any
261}
262
263// not documented, for internal use only
264export interface ScrollVisibilityChangedEvent extends AgGridEvent {}