-
-
Notifications
You must be signed in to change notification settings - Fork 44
Expand file tree
/
Copy pathslickgridReactProps.ts
More file actions
236 lines (230 loc) · 11.9 KB
/
Copy pathslickgridReactProps.ts
File metadata and controls
236 lines (230 loc) · 11.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
import type {
Column,
ContainerService,
CurrentFilter,
CurrentSorter,
CustomDataView,
DragRowMove,
ExportTextDownloadOption,
ExtensionList,
GridMenuCommandItemCallbackArgs,
GridMenuEventWithElementCallbackArgs,
GridOption,
GridSize,
GridStateChange,
HeaderButtonOnCommandArgs,
HeaderMenuCommandItemCallbackArgs,
MenuCommandItemCallbackArgs,
MenuFromCellCallbackArgs,
MenuOptionItemCallbackArgs,
OnActiveCellChangedEventArgs,
OnAddNewRowEventArgs,
OnAutosizeColumnsEventArgs,
OnBeforeAppendCellEventArgs,
OnBeforeCellEditorDestroyEventArgs,
OnBeforeColumnsResizeEventArgs,
OnBeforeEditCellEventArgs,
OnBeforeFooterRowCellDestroyEventArgs,
OnBeforeHeaderCellDestroyEventArgs,
OnBeforeHeaderRowCellDestroyEventArgs,
OnBeforeSetColumnsEventArgs,
OnCellChangeEventArgs,
OnCellCssStylesChangedEventArgs,
OnClickEventArgs,
OnColumnsChangedArgs,
OnColumnsDragEventArgs,
OnColumnsReorderedEventArgs,
OnColumnsResizeDblClickEventArgs,
OnColumnsResizedEventArgs,
OnCompositeEditorChangeEventArgs,
OnContextMenuArgs,
OnDblClickEventArgs,
OnDragReplaceCellsEventArgs,
OnFooterClickEventArgs,
OnFooterContextMenuEventArgs,
OnFooterRowCellRenderedEventArgs,
OnFormattedDataCacheCompletedEventArgs,
OnFormattedDataCacheProgressEventArgs,
OnGroupCollapsedEventArgs,
OnGroupExpandedEventArgs,
OnHeaderCellRenderedEventArgs,
OnHeaderClickEventArgs,
OnHeaderContextMenuEventArgs,
OnHeaderMouseEventArgs,
OnHeaderRowCellRenderedEventArgs,
OnKeyDownEventArgs,
OnLocalSortChangedArgs,
OnRenderedEventArgs,
OnRowCountChangedEventArgs,
OnRowsChangedEventArgs,
OnRowsOrCountChangedEventArgs,
OnScrollEventArgs,
OnSearchChangeEventArgs,
OnSelectedRowIdsChangedEventArgs,
OnSelectedRowsChangedEventArgs,
OnSetItemsCalledEventArgs,
OnSetOptionsEventArgs,
OnValidationErrorEventArgs,
Pagination,
PaginationMetadata,
PagingInfo,
ReactRegularEventHandler,
ReactSlickEventHandler,
SingleColumnSort,
SlickControlList,
SlickGrid,
SlickPluginList,
SlickRange,
TreeToggleStateChange,
} from '@slickgrid-universal/common';
import type { SlickgridReactInstance } from '../models/index.js';
import type { TranslaterI18NextService } from '../services/translaterI18Next.service.js';
export interface SlickgridReactProps {
header?: React.ReactElement;
footer?: React.ReactElement;
containerService: ContainerService;
translaterService?: TranslaterI18NextService;
customDataView?: CustomDataView;
dataset: any[];
datasetHierarchical?: any[] | null;
extensions?: ExtensionList<SlickControlList | SlickPluginList>;
gridId: string;
options?: GridOption;
columns: Column[];
instances?: SlickgridReactInstance;
paginationOptions?: Pagination;
// Custom Events list
// ---------------------
// Slick Grid events
onActiveCellChanged?: ReactSlickEventHandler<OnActiveCellChangedEventArgs>;
onActiveCellPositionChanged?: ReactSlickEventHandler<{ grid: SlickGrid }>;
onAddNewRow?: ReactSlickEventHandler<OnAddNewRowEventArgs>;
onAutosizeColumns?: ReactSlickEventHandler<OnAutosizeColumnsEventArgs>;
onBeforeAppendCell?: ReactSlickEventHandler<OnBeforeAppendCellEventArgs>;
onBeforeCellEditorDestroy?: ReactSlickEventHandler<OnBeforeCellEditorDestroyEventArgs>;
onBeforeColumnsResize?: ReactSlickEventHandler<OnBeforeColumnsResizeEventArgs>;
onBeforeDestroy?: ReactSlickEventHandler<{ grid: SlickGrid }>;
onBeforeEditCell?: ReactSlickEventHandler<OnBeforeEditCellEventArgs>;
onBeforeHeaderCellDestroy?: ReactSlickEventHandler<OnBeforeHeaderCellDestroyEventArgs>;
onBeforeHeaderRowCellDestroy?: ReactSlickEventHandler<OnBeforeHeaderRowCellDestroyEventArgs>;
onBeforeFooterRowCellDestroy?: ReactSlickEventHandler<OnBeforeFooterRowCellDestroyEventArgs>;
onBeforeSetColumns?: ReactSlickEventHandler<OnBeforeSetColumnsEventArgs>;
onBeforeSort?: ReactSlickEventHandler<SingleColumnSort, boolean | void>;
onCellChange?: ReactSlickEventHandler<OnCellChangeEventArgs>;
onCellCssStylesChanged?: ReactSlickEventHandler<OnCellCssStylesChangedEventArgs>;
onClick?: ReactSlickEventHandler<OnClickEventArgs>;
onColumnsDrag?: ReactSlickEventHandler<OnColumnsDragEventArgs>;
onColumnsReordered?: ReactSlickEventHandler<OnColumnsReorderedEventArgs>;
onColumnsResized?: ReactSlickEventHandler<OnColumnsResizedEventArgs>;
onColumnsResizeDblClick?: ReactSlickEventHandler<OnColumnsResizeDblClickEventArgs>;
onCompositeEditorChange?: ReactSlickEventHandler<OnCompositeEditorChangeEventArgs>;
onContextMenu?: ReactSlickEventHandler<OnContextMenuArgs>;
onDrag?: ReactSlickEventHandler<DragRowMove>;
onDragEnd?: ReactSlickEventHandler<DragRowMove>;
onDragInit?: ReactSlickEventHandler<DragRowMove>;
onDragStart?: ReactSlickEventHandler<DragRowMove>;
onDragReplaceCells?: ReactSlickEventHandler<OnDragReplaceCellsEventArgs>;
onDblClick?: ReactSlickEventHandler<OnDblClickEventArgs>;
onFooterContextMenu?: ReactSlickEventHandler<OnFooterContextMenuEventArgs>;
onFooterRowCellRendered?: ReactSlickEventHandler<OnFooterRowCellRenderedEventArgs>;
onHeaderCellRendered?: ReactSlickEventHandler<OnHeaderCellRenderedEventArgs>;
onFooterClick?: ReactSlickEventHandler<OnFooterClickEventArgs>;
onHeaderClick?: ReactSlickEventHandler<OnHeaderClickEventArgs>;
onHeaderContextMenu?: ReactSlickEventHandler<OnHeaderContextMenuEventArgs>;
onHeaderMouseEnter?: ReactSlickEventHandler<OnHeaderMouseEventArgs>;
onHeaderMouseLeave?: ReactSlickEventHandler<OnHeaderMouseEventArgs>;
onHeaderRowCellRendered?: ReactSlickEventHandler<OnHeaderRowCellRenderedEventArgs>;
onHeaderRowMouseEnter?: ReactSlickEventHandler<OnHeaderMouseEventArgs>;
onHeaderRowMouseLeave?: ReactSlickEventHandler<OnHeaderMouseEventArgs>;
onKeyDown?: ReactSlickEventHandler<OnKeyDownEventArgs>;
onMouseEnter?: ReactSlickEventHandler<{ grid: SlickGrid }>;
onMouseLeave?: ReactSlickEventHandler<{ grid: SlickGrid }>;
onValidationError?: ReactSlickEventHandler<OnValidationErrorEventArgs>;
onViewportChanged?: ReactSlickEventHandler<{ grid: SlickGrid }>;
onRendered?: ReactSlickEventHandler<OnRenderedEventArgs>;
onSelectedRowsChanged?: ReactSlickEventHandler<OnSelectedRowsChangedEventArgs>;
onSetOptions?: ReactSlickEventHandler<OnSetOptionsEventArgs>;
onScroll?: ReactSlickEventHandler<OnScrollEventArgs>;
onSort?: ReactSlickEventHandler<SingleColumnSort>;
// Slick DataView events
onBeforePagingInfoChanged?: ReactSlickEventHandler<PagingInfo>;
onFormattedDataCacheProgress?: ReactSlickEventHandler<OnFormattedDataCacheProgressEventArgs>;
onFormattedDataCacheCompleted?: ReactSlickEventHandler<OnFormattedDataCacheCompletedEventArgs>;
onGroupExpanded?: ReactSlickEventHandler<OnGroupExpandedEventArgs>;
onGroupCollapsed?: ReactSlickEventHandler<OnGroupCollapsedEventArgs>;
onPagingInfoChanged?: ReactSlickEventHandler<PagingInfo>;
onRowCountChanged?: ReactSlickEventHandler<OnRowCountChangedEventArgs>;
onRowsChanged?: ReactSlickEventHandler<OnRowsChangedEventArgs>;
onRowsOrCountChanged?: ReactSlickEventHandler<OnRowsOrCountChangedEventArgs>;
onSelectedRowIdsChanged?: ReactSlickEventHandler<OnSelectedRowIdsChangedEventArgs>;
onSetItemsCalled?: ReactSlickEventHandler<OnSetItemsCalledEventArgs>;
// other Slick Events
onAfterMenuShow?: ReactSlickEventHandler<MenuFromCellCallbackArgs>;
onBeforeMenuClose?: ReactSlickEventHandler<MenuFromCellCallbackArgs>;
onBeforeMenuShow?: ReactSlickEventHandler<MenuFromCellCallbackArgs>;
onColumnsChanged?: ReactSlickEventHandler<OnColumnsChangedArgs>;
onCommand?: ReactSlickEventHandler<MenuCommandItemCallbackArgs | MenuOptionItemCallbackArgs>;
onGridMenuColumnsChanged?: ReactSlickEventHandler<OnColumnsChangedArgs>;
onMenuClose?: ReactSlickEventHandler<GridMenuEventWithElementCallbackArgs>;
onCopyCells?: ReactSlickEventHandler<{ ranges: SlickRange[] }>;
onCopyCancelled?: ReactSlickEventHandler<{ ranges: SlickRange[] }>;
onPasteCells?: ReactSlickEventHandler<{ ranges: SlickRange[] }>;
onBeforePasteCell?: ReactSlickEventHandler<{ cell: number; row: number; item: any; columnDef: Column; value: any }>;
// Slickgrid-React or Slickgrid-Universal events
onAfterExportToExcel?: ReactRegularEventHandler<{ filename: string; mimeType: string } | { error: any }>;
onBeforeExportToExcel?: ReactRegularEventHandler<boolean>;
onAfterExportToPdf?: ReactRegularEventHandler<{ filename: string } | { error: any }>;
onBeforeExportToPdf?: ReactRegularEventHandler<boolean>;
onBeforeExportToTextFile?: ReactRegularEventHandler<boolean>;
onAfterExportToTextFile?: ReactRegularEventHandler<ExportTextDownloadOption>;
onBeforeFilterChange?: ReactRegularEventHandler<CurrentFilter[]>;
onBeforeFilterClear?: ReactRegularEventHandler<{ columnId: string } | boolean>;
onBeforeSearchChange?: ReactRegularEventHandler<OnSearchChangeEventArgs, boolean | void>;
onBeforeSortChange?: ReactRegularEventHandler<OnLocalSortChangedArgs>;
onContextMenuClearGrouping?: ReactRegularEventHandler<void>;
onContextMenuCollapseAllGroups?: ReactRegularEventHandler<void>;
onContextMenuExpandAllGroups?: ReactRegularEventHandler<void>;
onBeforeGridDestroy?: ReactRegularEventHandler<MenuFromCellCallbackArgs>;
onOptionSelected?: ReactRegularEventHandler<MenuCommandItemCallbackArgs | MenuOptionItemCallbackArgs>;
onColumnPickerColumnsChanged?: ReactRegularEventHandler<OnColumnsChangedArgs>;
onGridMenuMenuClose?: ReactRegularEventHandler<GridMenuEventWithElementCallbackArgs>;
onGridMenuBeforeMenuShow?: ReactRegularEventHandler<GridMenuEventWithElementCallbackArgs>;
onGridMenuAfterMenuShow?: ReactRegularEventHandler<GridMenuEventWithElementCallbackArgs>;
onGridMenuClearAllPinning?: ReactRegularEventHandler<void>;
onGridMenuClearAllFilters?: ReactRegularEventHandler<void>;
onGridMenuClearAllSorting?: ReactRegularEventHandler<void>;
onGridMenuCommand?: ReactRegularEventHandler<GridMenuCommandItemCallbackArgs>;
onHeaderButtonCommand?: ReactRegularEventHandler<HeaderButtonOnCommandArgs>;
onHeaderMenuCommand?: ReactRegularEventHandler<MenuCommandItemCallbackArgs>;
onHeaderMenuColumnResizeByContent?: ReactRegularEventHandler<{ columnId: string }>;
onHeaderMenuBeforeMenuShow?: ReactRegularEventHandler<HeaderMenuCommandItemCallbackArgs>;
onHeaderMenuAfterMenuShow?: ReactRegularEventHandler<HeaderMenuCommandItemCallbackArgs>;
onHideColumns?: ReactRegularEventHandler<{ columns: Column[]; hiddenColumn: Column[] }>;
onItemsAdded?: ReactRegularEventHandler<any[]>;
onItemsDeleted?: ReactRegularEventHandler<any[]>;
onItemsUpdated?: ReactRegularEventHandler<any[]>;
onItemsUpserted?: ReactRegularEventHandler<any[]>;
onFullResizeByContentRequested?: ReactRegularEventHandler<{ caller: string }>;
onGridStateChanged?: ReactRegularEventHandler<GridStateChange>;
onBeforePaginationChange?: ReactRegularEventHandler<PaginationMetadata, boolean | void>;
onPaginationChanged?: ReactRegularEventHandler<PaginationMetadata>;
onPaginationRefreshed?: ReactRegularEventHandler<PaginationMetadata>;
onPaginationVisibilityChanged?: ReactRegularEventHandler<{ visible: boolean }>;
onPaginationSetCursorBased?: ReactRegularEventHandler<{ isCursorBased: boolean }>;
onGridBeforeResize?: ReactRegularEventHandler<void>;
onGridAfterResize?: ReactRegularEventHandler<GridSize | undefined>;
onBeforeResizeByContent?: ReactRegularEventHandler<void>;
onAfterResizeByContent?: ReactRegularEventHandler<{
readItemCount: number;
calculateColumnWidths: { [x: string]: number | undefined; [x: number]: number | undefined };
}>;
onSortCleared?: ReactRegularEventHandler<boolean>;
onFilterChanged?: ReactRegularEventHandler<CurrentFilter[]>;
onFilterCleared?: ReactRegularEventHandler<boolean>;
onReactGridCreated?: ReactRegularEventHandler<any>;
onSortChanged?: ReactRegularEventHandler<CurrentSorter[]>;
onTreeItemToggled?: ReactRegularEventHandler<TreeToggleStateChange>;
onTreeFullToggleEnd?: ReactRegularEventHandler<TreeToggleStateChange>;
onTreeFullToggleStart?: ReactRegularEventHandler<TreeToggleStateChange>;
onLanguageChange?: ReactRegularEventHandler<string>;
}