forked from DefinitelyTyped/DefinitelyTyped
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhandsontable.d.ts
292 lines (288 loc) · 12.7 KB
/
handsontable.d.ts
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
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
// Type definitions for Handsontable 0.24.3
// Project: https://handsontable.com/
// Definitions by: Handsoncode sp. z o.o. <http://handsoncode.net/>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\
declare namespace ht {
interface Options {
allowEmpty?: boolean;
allowInsertColumn?: boolean;
allowInsertRow?: boolean;
allowInvalid?: boolean;
allowRemoveColumn?: boolean;
allowRemoveRow?: boolean;
autoColumnSize?: Object|boolean;
autoComplete?: any[];
autoRowSize?: Object|boolean;
autoWrapCol?: boolean;
autoWrapRow?: boolean;
bindRowsWithHeaders?: boolean|string;
cell?: any[];
cells?: Function;
checkedTemplate?: boolean|string;
className?: string|any[];
colHeaders?: boolean|any[]|Function;
collapsibleColumns?: boolean|any[];
columnHeaderHeight?: number|any[];
columns?: any[];
columnSorting?: boolean|Object;
columnSummary?: Object;
colWidths?: any[]|Function|number|string;
commentedCellClassName?: string;
comments?: boolean|any[];
contextMenu?: boolean|any[]|Object;
contextMenuCopyPaste?: Object;
copyable?: boolean;
copyColsLimit?: number;
copyPaste?: boolean;
copyRowsLimit?: number;
correctFormat?: boolean;
currentColClassName?: string;
currentRowClassName?: string;
customBorders?: boolean|any[];
data?: any[]|Function;
dataSchema?: Object;
dateFormat?: string;
debug?: boolean;
defaultDate?: string;
disableVisualSelection?: boolean|string|any[];
dropdownMenu?: boolean|Object|any[];
editor?: string|Function|boolean;
enterBeginsEditing?: boolean;
enterMoves?: Object|Function;
fillHandle?: boolean|string|Object;
filter?: boolean;
filteringCaseSensitive?: boolean;
filters?: boolean;
fixedColumnsLeft?: number;
fixedRowsBottom?: number;
fixedRowsTop?: number;
format?: string;
fragmentSelection?: boolean|string;
ganttChart?: Object;
headerTooltips?: boolean|Object;
height?: number|Function;
hiddenColumns?: boolean|Object;
hiddenRows?: boolean|Object;
invalidCellClassName?: string;
label?: Object;
language?: string;
manualColumnFreeze?: boolean;
manualColumnMove?: boolean|any[];
manualColumnResize?: boolean|any[];
manualRowMove?: boolean|any[];
manualRowResize?: boolean|any[];
maxCols?: number;
maxRows?: number;
mergeCells?: boolean|any[];
minCols?: number;
minRows?: number;
minSpareCols?: number;
minSpareRows?: number;
multiSelect?: boolean;
nestedHeaders?: any[];
noWordWrapClassName?: string;
observeChanges?: boolean;
observeDOMVisibility?: boolean;
outsideClickDeselects?: boolean;
pasteMode?: string;
persistentState?: boolean;
placeholder?: any;
placeholderCellClassName?: string;
preventOverflow?: string|boolean;
readOnly?: boolean;
readOnlyCellClassName?: string;
renderAllRows?: boolean;
renderer?: string|Function;
rowHeaders?: boolean|any[]|Function;
rowHeaderWidth?: number|any[];
rowHeights?: any[]|Function|number|string;
search?: boolean;
selectOptions?: any[];
skipColumnOnPaste?: boolean;
sortByRelevance?: boolean;
sortFunction?: Function;
sortIndicator?: boolean;
source?: any[]|Function;
startCols?: number;
startRows?: number;
stretchH?: string;
strict?: boolean;
tableClassName?: string|any[];
tabMoves?: Object;
title?: string;
trimDropdown?: boolean;
trimWhitespace?: boolean;
type?: string;
uncheckedTemplate?: boolean|string;
undo?: boolean;
validator?: Function|RegExp;
viewportColumnRenderingOffset?: number|string;
viewportRowRenderingOffset?: number|string;
visibleRows?: number;
width?: number|Function;
wordWrap?: boolean;
isEmptyCol?: (col: number) => boolean;
isEmptyRow?: (row: number) => boolean;
// hooks
afterAutofillApplyValues?: (startArea: any[], entireArea: any[]) => void;
afterCellMetaReset?: () => void;
afterChange?: (changes: any[], source: string) => void;
afterChangesObserved?: () => void;
afterColumnMove?: (startColumn: number, endColumn: number) => void;
afterColumnResize?: (currentColumn: number, newSize: number, isDoubleClick: boolean) => void;
afterColumnSort?: (column: number, order: boolean) => void;
afterContextMenuDefaultOptions?: (predefinedItems: any[]) => void;
afterContextMenuHide?: (context: Object) => void;
afterContextMenuShow?: (context: Object) => void;
afterCopyLimit?: (selectedRows: number, selectedColumnds: number, copyRowsLimit: number, copyColumnsLimit: number) => void;
afterCreateCol?: (index: number, amount: number) => void;
afterCreateRow?: (index: number, amount: number) => void;
afterDeselect?: () => void;
afterDestroy?: () => void;
afterDocumentKeyDown?: (event: Event) => void;
afterFilter?: (formulasStack: any[]) => void;
afterGetCellMeta?: (row: number, col: number, cellProperties: Object) => void;
afterGetColHeader?: (col: number, TH: Element) => void;
afterGetColumnHeaderRenderers?: (array: any[]) => void;
afterGetRowHeader?: (row: number, TH: Element) => void;
afterGetRowHeaderRenderers?: (array: any[]) => void;
afterInit?: () => void;
afterLoadData?: (firstTime: boolean) => void;
afterMomentumScroll?: () => void;
afterOnCellCornerMouseDown?: (event: Object) => void;
afterOnCellMouseDown?: (event: Object, coords: Object, TD: Element) => void;
afterOnCellMouseOver?: (event: Object, coords: Object, TD: Element) => void;
afterRemoveCol?: (index: number, amount: number) => void;
afterRemoveRow?: (index: number, amount: number) => void;
afterRender?: (isForced: boolean) => void;
afterRenderer?: (TD: Element, row: number, col: number, prop: string|number, value: string, cellProperties: Object) => void;
afterRowMove?: (startRow: number, endRow: number) => void;
afterRowResize?: (currentRow: number, newSize: number, isDoubleClick: boolean) => void;
afterScrollHorizontally?: () => void;
afterScrollVertically?: () => void;
afterSelection?: (r: number, c: number, r2: number, c2: number) => void;
afterSelectionByProp?: (r: number, p: string, r2: number, p2: string) => void;
afterSelectionEnd?: (r: number, c: number, r2: number, c2: number) => void;
afterSelectionEndByProp?: (r: number, p: string, r2: number, p2: string) => void;
afterSetCellMeta?: (row: number, col: number, key: string, value: any) => void;
afterUpdateSettings?: () => void;
afterValidate?: (isValid: boolean, value: any, row: number, prop: string|number, source: string) => void|boolean;
beforeAutofill?: (start: Object, end: Object, data: any[]) => void;
beforeCellAlignment?: (stateBefore: any, range: any, type: string, alignmentClass: string) => void;
beforeChange?: (changes: any[], source: string) => void;
beforeChangeRender?: (changes: any[], source: string) => void;
beforeColumnMove?: (startColumn: number, endColumn: number) => void;
beforeColumnResize?: (currentColumn: number, newSize: number, isDoubleClick: boolean) => void;
beforeColumnSort?: (column: number, order: boolean) => void;
beforeDrawBorders?: (corners: any[], borderClassName: string) => void;
beforeFilter?: (formulasStack: any[]) => void;
beforeGetCellMeta?: (row: number, col: number, cellProperties: Object) => void;
beforeInit?: () => void;
beforeInitWalkontable?: (walkontableConfig: Object) => void;
beforeKeyDown?: (event: Event) => void;
beforeOnCellMouseDown?: (event: Event, coords: Object, TD: Element) => void;
beforeRemoveCol?: (index: number, amount: number, logicalCols?: any[]) => void;
beforeRemoveRow?: (index: number, amount: number, logicalRows?: any[]) => void;
beforeRender?: (isForced: boolean) => void;
beforeRenderer?: (TD: Element, row: number, col: number, prop: string|number, value: string, cellProperties: Object) => void;
beforeRowMove?: (startRow: number, endRow: number) => void;
beforeRowResize?: (currentRow: number, newSize: number, isDoubleClick: boolean) => any;
beforeSetRangeEnd?: (coords: any[]) => void;
beforeStretchingColumnWidth?: (stretchedWidth: number, column: number) => void;
beforeTouchScroll?: () => void;
beforeValidate?: (value: any, row: number, prop: string|number, source: string) => void;
construct?: () => void;
init?: () => void;
modifyCol?: (col: number) => void;
modifyColHeader?: (column: number) => void;
modifyColWidth?: (width: number, col: number) => void;
modifyCopyableRange?: (copyableRanges: any[]) => void;
modifyRow?: (row: number) => void;
modifyRowHeader?: (row: number) => void;
modifyRowHeight?: (height: number, row: number) => void;
persistentStateLoad?: (key: string, valuePlaceholder: Object) => void;
persistentStateReset?: (key: string) => void;
persistentStateSave?: (key: string, value: any) => void;
unmodifyCol?: (col: number) => void;
}
interface Methods {
addHook(key: string, callback: Function|any[]): void;
addHookOnce(key: string, callback: Function|any[]): void;
alter(action: string, index: number, amount?: number, source?: string, keepEmptyRows?: boolean): void;
clear(): void;
colOffset(): number;
colToProp(col: number): string|number;
countCols(): number;
countEmptyCols(ending?: boolean): number;
countEmptyRows(ending?: boolean): number;
countRenderedCols(): number;
countRenderedRows(): number;
countRows(): number;
countSourceRows(): number;
countVisibleCols(): number;
countVisibleRows(): number;
deselectCell(): void;
destroy(): void;
destroyEditor(revertOriginal?: boolean): void;
getActiveEditor(): Object;
getCell(row: number, col: number, topmost?: boolean): Element;
getCellEditor(row: number, col: number): Object;
getCellMeta(row: number, col: number): Object;
getCellRenderer(row: number, col: number): Function;
getCellValidator(row: number, col: number): any;
getColHeader(col?: number): any[]|string;
getColWidth(col: number): number;
getCoords(elem: Element): Object;
getCopyableData(row: number, column: number): string;
getCopyableText(startRow: number, startCol: number, endRow: number, endCol: number): string;
getData(r?: number, c?: number, r2?: number, c2?: number): any[];
getDataAtCell(row: number, col: number): any;
getDataAtCol(col: number): any[];
getDataAtProp(prop: string|number): any[];
getDataAtRow(row: number): any[];
getDataAtRowProp(row: number, prop: string): any;
getDataType(rowFrom: number, columnFrom: number, rowTo: number, columnTo: number): string;
getInstance(): any;
getPlugin(pluginName: string): any;
getRowHeader(row?: number): any[]|string;
getRowHeight(row: number): number;
getSchema(): Object;
getSelected(): any[];
getSelectedRange(): any;
getSettings(): Object;
getSourceData(r?: number, c?: number, r2?: number, c2?: number): any[];
getSourceDataAtCell(row: number, column: number): any;
getSourceDataAtCol(column: number): any[];
getSourceDataAtRow(row: number): any[]|Object;
getValue(): any;
hasColHeaders(): boolean;
hasHook(key: string): boolean;
hasRowHeaders(): boolean;
isEmptyCol(col: number): boolean;
isEmptyRow(row: number): boolean;
isListening(): boolean;
listen(): void;
loadData(data: any[]): void;
populateFromArray(row: number, col: number, input: any[], endRow?: number, endCol?: number, source?: string, method?: string, direction?: string, deltas?: any[]): any;
propToCol(prop: string): number;
removeCellMeta(row: number, col: number, key: string): void;
removeHook(key: string, callback: Function): void;
render(): void;
rowOffset(): number;
runHooks(key: string, p1?: any, p2?: any, p3?: any, p4?: any, p5?: any, p6?: any): any;
selectCell(row: number, col: number, endRow?: number, endCol?: number, scrollToCell?: boolean, changeListener?: boolean): boolean;
selectCellByProp(row: number, prop: string, endRow?: number, endProp?: string, scrollToCell?: boolean): boolean;
setCellMeta(row: number, col: number, key: string, val: string): void;
setCellMetaObject(row: number, col: number, prop: Object): void;
setDataAtCell(row: number|any[], col: number, value: string, source?: string): void;
setDataAtRowProp(row: number|any[], prop: string, value: string, source?: string): void;
spliceCol(col: number, index: number, amount: number, elements?: any): void;
spliceRow(row: number, index: number, amount: number, elements?: any): void;
unlisten(): void;
updateSettings(settings: Object, init: boolean): void;
validateCells(callback: Function): void;
}
}
declare var Handsontable: {
new (element: Element, options: ht.Options): ht.Methods;
};