canvas-datagrid 0.25.3 → 0.26.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.
@@ -0,0 +1,2508 @@
1
+ /**
2
+ * Hierarchical canvas based web component.
3
+ * @property selectedRows - Selected rows. Same as the `data` property but filtered for the rows the user has cells selected in. If any cell in the row is selected, all data for that row will appear in this array.
4
+ * @property selectedCells - Jagged array of cells that the user has selected. Beware that because this is a jagged array, some indexes will be `null`. Besides the `null`s this data looks just like the data you passed in, but just the cells the user has selected. So if the user has selected cell 10 in a 10 column row, there will be 9 `null`s followed by the data from column 10.
5
+ * @property changes - Array of changes and additions made to the grid since last time data was loaded. The data property will change with changes as well, but this is a convince list of all the changes in one spot. Calling `clearChangeLog` will clear this list.
6
+ * @property input - Reference to the the edit cell when editing. Undefined when not editing. When editing, this DOM element is superimposed over the cell being edited and is fully visible.
7
+ * @property controlInput - Input used for key controls on the grid. Any clicks on the grid will cause this input to be focused. This input is hidden above the top left corner of the browser window.
8
+ * @property currentCell - Cell that the mouse moved over last.
9
+ * @property height - Height of the grid.
10
+ * @property width - Width of the grid.
11
+ * @property visibleCells - Array of cell drawn.
12
+ * @property visibleRows - Array of visible row indexes.
13
+ * @property selections - Matrix array of selected cells.
14
+ * @property selectionBounds - Bounds of current selection.
15
+ * @property attributes - Object that contains the properties listed in the attributes section. These properties can be used at runtime to alter attributes set during instantiation. See the See {@link canvasDatagrid.params} section for full documentation.
16
+ * @property sizes - Mutable object that contains `sizes.columns` and `sizes.rows` arrays. These arrays control the sizes of the columns and rows. If there is not an entry for the row or column index it will fall back to the style default.
17
+ * @property style - Object that contains the properties listed in the style section. Changing a style will automatically call `draw`.
18
+ * @property dragMode - Represents the currently displayed resize cursor. Can be `ns-resize`, `ew-resize`, `pointer`, or `inherit`.
19
+ * @property formatters - Object that contains formatting functions for displaying text. The properties in this object match the `schema[].type` property. For example, if the schema for a given column was of the type `date` the grid would look for a formatter called `formatters.date` if a formatter cannot be found for a given data type a warning will be logged and the string formatter will be used. Formatters must return a string value to be displayed in the cell. See {@link canvasDatagrid.formatters}.
20
+ * @property sorters - Object that contains a list of sorting functions for sorting columns. See {@tutorial sorters}.
21
+ * @property filters - Object that contains a list of filters for filtering data. The properties in this object match the `schema[].type` property. For example, if the schema for a given column was of the type `date` the grid would look for a filter called `filters.date` if a filter cannot be found for a given data type a warning will be logged and the string/RegExp filter will be used. See {@link canvasDatagrid.filters}.
22
+ * @property hasActiveFilters - When true, grid data is being filtered.
23
+ * @property data - This is how data is set in the grid. Data must be an array of objects that conform to a schema. Data values can be any primitive type. However if a cell value is another data array, an inner grid will be rendered into the cell. This "cell grid" is different than a "tree grid" (the sort you drill in with a row header arrow) and uses the `cellGridAttributes` attribute for properties and styling. See {@link canvasDatagrid.data}.
24
+ * @property schema - Schema is optional. Schema is an array of {canvasDatagrid.header} objects. If no schema is provided one will be generated from the data, in that case all data will be assumed to be string data. See {@link canvasDatagrid.schema}.
25
+ * @property scrollHeight - The total number of pixels that can be scrolled down.
26
+ * @property scrollWidth - The total number of pixels that can be scrolled to the left.
27
+ * @property scrollTop - The current position of the vertical scroll bar in pixels.
28
+ * @property scrollLeft - The current position of the horizontal scroll bar in pixels.
29
+ * @property offsetTop - The offset top of the grid.
30
+ * @property offsetLeft - The offset left of the grid.
31
+ * @property isChildGrid - When true, this grid is a child grid of another grid. Meaning, it appears as a tree grid or a cell grid of another parent grid.
32
+ * @property openChildren - List of open child grids by internal unique row id.
33
+ * @property childGrids - Child grids in this grid organized by internal unique row id.
34
+ * @property parentGrid - If this grid is a child grid, this is the grids parent.
35
+ * @property canvas - The canvas element drawn onto for this grid.
36
+ * @property shadowRoot - The shadow root element.
37
+ * @property rowOrder - Gets or sets the order of the rows. This allows you to modify the appearance of the data without modifying the data itself. The order of the array dictates the order of the rows, e.g.: [0, 1, 2] is normal order, [2, 1, 0] is reverse. The array length must be equal to or greater than the number of rows.
38
+ * @property columnOrder - Gets or sets the order of the columns. This allows you to modify the appearance of the schema without modifying the data itself. The order of the array dictates the order of the columns, e.g.: [0, 1, 2] is normal order, [2, 1, 0] is reverse. The array length must be equal to or greater than the number of columns.
39
+ * @property activeCell - Gets the active cell as `{rowIndex, columnIndex}` (view indexes). The active cell is the one that receives keyboard input and edits and is drawn with the `activeCell*` styles. It is independent of the selection: keyboard navigation moves it, `selectNone()` keeps it, and a range selection has exactly one active cell (the one the drag started from). Move it with `setActiveCell(columnIndex, rowIndex)` and listen to `activecellchanged` to follow it.
40
+ * @property hasFocus - When true, the grid is has focus.
41
+ * @property visibleRowHeights - The heights of the visible rows.
42
+ * @property isChildGrid - When true, this grid is within another grid.
43
+ * @property parentNode - The parent node of the canvas, usually the shadow DOM's parent element.
44
+ * @property scrollIndexRect - Rect describing the view port of the virtual canvas in column and row indexes. If you only want to do things to visible cells, this is a good property to check what the range of visible cells is.
45
+ * @property scrollPixelRect - Rect describing view port of the virtual canvas in pixels.
46
+ * @property frozenColumn - The highest frozen column index. Setting a value higher than the possible visible columns will result in a range error.
47
+ * @property frozenRow - The highest frozen row index. Setting a value higher than the possible visible rows will result in a range error.
48
+ * @property orderBy - The name of the column the grid is currently sorted by. You can set this value to any column name to alter the sort order dependent on data type. Subscribing to `beforesortcolumn` and calling `e.preventDefault` allows you to change the property and the graphical appearance of the grid (an order arrow will be drawn over the respective column) without invoking the client side ordering function. This is useful if you want to use server side data ordering.
49
+ * @property orderDirection - Gets or sets the order by direction. Value can be `asc` for ascending order or `desc` for descending order. Subscribing to `beforesortcolumn` and calling `e.preventDefault` allows you to change the property and the graphical appearance of the grid (an order arrow will be drawn over the respective column) without invoking the client side ordering function. This is useful if you want to use server side data ordering.
50
+ * @param args - Parameters for the grid.
51
+ * @param args.parentNode - HTML element that will hold the grid. This block element must have a height, canvas-datagrid will add a canvas itself and will match itself to this element's dimensions. It will resize itself on window.resize events, and DOM mutation. But you may need to invoke canvas-datagrid.resize() manually if you find it does not maintain size in your use case. When using the non web component the parentNode can be a canvas.
52
+ * @param [args.name] - Optional value that will allow the saving of column height, row width, etc. to the browser's local store. This name should be unique to this grid.
53
+ * @param [args.tree = false] - When true, an arrow will be drawn on each row that when clicked raises the See {@link canvasDatagrid#event:expandtree} event for that row and creates an inner grid. See {@link tutorial--Allow-users-to-open-trees}.
54
+ * @param [args.treeHorizontalScroll = false] - Reserved. Intended to make expanded child grids scroll horizontally with the parent columns; the option is accepted but not implemented yet (see issue #314), child grids always stay stationary.
55
+ * @param [args.cellGridAttributes] - Attributes used for cell grids. These child grids are different than the tree grids. See the {@link canvasDatagrid.data} property for more information about cell grids.
56
+ * @param [args.treeGridAttributes] - Attributes used for tree grids. These child grids are different than the cell grids. See the {@link canvasDatagrid.data} property for more information about tree grids.
57
+ * @param [args.showNewRow = true] - When true, a row will appear at the bottom of the data set. schema[].defaultValue will define a default value for each cell. defaultValue can be a string or a function. When a function is used, the arguments header and index will be passed to the function. The value returned by the function will be the value in the new cell. See {@link canvasDatagrid.header.defaultValue}
58
+ * @param [args.saveAppearance = true] - When true, and the attribute name is set, column and row sizes will be saved to the browser's localStore.
59
+ * @param [args.selectionFollowsActiveCell = false] - When true, moving the active cell with keystrokes will also change the selection.
60
+ * @param [args.multiLine = false] - When true, edit cells will allow multiple lines (with Alt+Enter), when false edit cells will only allow single line entries. See {@link tutorial--Use-a-textarea-to-edit-cells-instead-of-an-input.}
61
+ * @param [args.globalRowResize = false] - When true, resizing a row will resize all rows to the same height.
62
+ * @param [args.editable = true] - When true, cells can be edited. When false, grid is read only to the user.
63
+ * @param [args.borderDragBehavior = 'none'] - Can be set to 'resize', 'move', or 'none'. If set to 'move', `allowMovingSelection` should also be set true. If set to 'resize', `allowRowResizeFromCell` and/or `allowColumnResizeFromCell` should be set true.
64
+ * @param [args.autoGenerateSchema = false] - When true, every time data is set the schema will be automatically generated from the data overwriting any existing schema.
65
+ * @param [args.autoScrollOnMousemove = false] - Only trigger auto scrolling when mouse moves in horizontal or vertical direction.
66
+ * @param [args.autoScrollMargin = 5] - Number of pixels of mouse movement to trigger auto scroll.
67
+ * @param [args.allowFreezingRows = false] - When true, the UI provides a drag-able cutter to freeze rows.
68
+ * @param [args.allowFreezingColumns = false] - When true, the UI provides a drag-able cutter to freeze columns.
69
+ * @param [args.allowShrinkingSelection = false] - When true, this allows users to shrink the selection by dragging and dropping the handle inwards, similar to Excel. (Not supported yet.)
70
+ * @param [args.clearCellsWhenShrinkingSelection = false] - When true, this allows the clearing of the previously selected cells after the handle is moved inwards. (Not supported yet.)
71
+ * @param [args.filterFrozenRows = true] - When false, rows on and above {@link canvasDatagrid#property:frozenRow}` will be ignored by filters when {@link canvasDatagrid#param:allowFreezingRows} is true.
72
+ * @param [args.sortFrozenRows = true] - When false, rows on and above {@link canvasDatagrid#property:frozenRow}` will be ignored by sorters when {@link canvasDatagrid#param:allowSorting} is true.
73
+ * @param [args.allowColumnReordering = true] - When true columns can be reordered.
74
+ * @param [args.allowMovingSelection = false] - When true selected data can be moved by clicking and dragging on the border of the selection.
75
+ * @param [args.allowRowReordering = false] - When true rows can be reordered.
76
+ * @param [args.blanksText = (Blanks)] - The text that appears on the context menu for filtering blank values (i.e. `undefined`, `null`, `''`).
77
+ * @param [args.ellipsisText = ...] - The text used as ellipsis text on truncated values.
78
+ * @param [args.allowSorting = true] - Allow user to sort rows by clicking on column headers.
79
+ * @param [args.allowColumnSelection = true] - When false, clicking or touching a column header never selects (highlights) the column, so with `columnHeaderClickBehavior: 'sort'` an existing row selection survives sorting. Columns can still be selected through the API.
80
+ * @param [args.allowGridExpandOnPaste = false] - Allow adding new rows and columns if pasted data dimensions are bigger than existing grid dimensions.
81
+ * @param [args.allowGroupingColumns = true] - Allow user to group columns by clicking on column headers.
82
+ * @param [args.allowGroupingRows = true] - Allow user to group rows by clicking on rows headers.
83
+ * @param [args.showFilter = true] - When true, filter will be an option in the context menu.
84
+ * @param [args.pageUpDownOverlap = 1] - Amount of rows to overlap when pageup/pagedown is used.
85
+ * @param [args.persistantSelectionMode = false] - When true, selections will behave as if the command/control key is held down at all times. Conflicts with singleSelectionMode.
86
+ * @param [args.singleSelectionMode = false] - When true, selections will ignore the command/control key. Conflicts with persistantSelectionMode.
87
+ * @param [args.keepFocusOnMouseOut = false] - When true, grid will continue to handle keydown events when mouse is outside of the grid.
88
+ * @param [args.selectionMode = 'cell'] - Can be 'cell', or 'row'. This setting dictates what will be selected when the user clicks a cell. The cell, or the entire row respectively.
89
+ * @param [args.hoverMode = 'cell'] - Can be 'cell', or 'row'. This setting dictates whether to highlight either the individual cell, or the entire row when hovering over a cell.
90
+ * @param [args.autoResizeColumns = false] - When true, all columns will be automatically resized to fit the data in them. Warning! Expensive for large (>100k ~2 seconds) datasets.
91
+ * @param [args.fillLastColumn = false] - When true, the last visible column expands to the right edge of the grid when the columns do not fill its width. The outer edge of that column cannot be resized.
92
+ * @param [args.autoResizeRows = false] - When true, rows will be automatically resized to fit the data in them if text-wrapping is enabled.
93
+ * @param [args.allowRowHeaderResize = true] - When true, the user can resize the width of the row headers.
94
+ * @param [args.allowColumnResize = true] - When true, the user can resize the width of the columns.
95
+ * @param [args.allowRowResize = true] - When true, the user can resize the row headers increasing the height of the row.
96
+ * @param [args.allowRowResizeFromCell = false] - When true, the user can resize the height of the row from the border of the cell.
97
+ * @param [args.allowColumnResizeFromCell = false] - When true, the user can resize the width of the column from the border of the cell.
98
+ * @param [args.showPerformance = false] - When true, a graph showing performance is rendered.
99
+ * @param [args.debug = false] - When true, debug info will be drawn on top of the grid.
100
+ * @param [args.borderResizeZone = 10] - Number of pixels in total around a border that count as resize zones.
101
+ * @param [args.showColumnHeaders = true] - When true, headers are shown.
102
+ * @param [args.showRowNumbers = true] - When true, row numbers are shown in the row headers.
103
+ * @param [args.showRowNumberGaps = true] - When true, gaps between row numbers due to filtering are shown in the row headers using a colored bar.
104
+ * @param [args.showRowHeaders = true] - When true, row headers are shown.
105
+ * @param [args.reorderDeadZone = 3] - Number of pixels needed to move before column reordering occurs.
106
+ * @param [args.selectionScrollZone = 20] - Number of pixels to auto scroll in in horizontal or vertical direction.
107
+ * @param [args.showClearSettingsOption = true] - Show an option on the context menu to clear saved settings.
108
+ * @param [args.clearSettingsOptionText = 'Clear saved settings'] - Text that appears on the clear settings option.
109
+ * @param [args.showOrderByOptionTextDesc = 'Order by %s ascending'] - Text that appears on the order by descending option.
110
+ * @param [args.showOrderByOptionTextAsc = 'Order by %s desc'] - Text that appears on the order by ascending option.
111
+ * @param [args.showGroupColumns = 'Group columns %s'] - Text that appears on the group columns option.
112
+ * @param [args.showGroupRows = 'Group row %s'] - Text that appears on the group rows option.
113
+ * @param [args.showRemoveGroupColumns = 'Remove group %s'] - Text that appears on the remove columns group option.
114
+ * @param [args.showRemoveGroupRows = 'Remove group %s'] - Text that appears on the remove rows group option.
115
+ * @param [args.showRemoveAllGroupColumns = 'Remove all column groups'] - Text that appears on the remove all column groups option.
116
+ * @param [args.showRemoveAllGroupRows = 'Remove all row groups'] - Text that appears on the remove all row groups option.
117
+ * @param [args.showExpandAllGroupColumns = 'Expand all column groups'] - Text that appears on the expand all column groups option.
118
+ * @param [args.showExpandAllGroupRows = 'Expand all row groups'] - Text that appears on the expand all row groups option.
119
+ * @param [args.showCollapseAllGroupColumns = 'Collapse all column groups'] - Text that appears on the collapsed all column groups option.
120
+ * @param [args.showCollapseAllGroupRows = 'Collapse all row groups'] - Text that appears on the collapsed all row groups option.
121
+ * @param [args.columnGroupIndicatorPosition = 'right'] - The position of the column group inidcator(icon), available values: 'left' and 'right'.
122
+ * @param [args.rowGroupIndicatorPosition = 'bottom'] - Ths position of the row group indicator(icon), available values: 'top' and 'bottom'.
123
+ * @param [args.showOrderByOption = true] - Show an option on the context menu sort rows.
124
+ * @param [args.showPaste = false] - Show the paste option in the context menu when applicable.
125
+ * @param [args.resizeAfterDragged] - Resize after the handle is dropped, similar to Excel.
126
+ * @param [args.schema = []] - Sets the schema. See {@link canvasDatagrid.schema}.
127
+ * @param [args.data = []] - Sets the data. See {@link canvasDatagrid.data}.
128
+ * @param [args.touchReleaseAnimationDurationMs = 2000] - How long the ease animation runs after touch release.
129
+ * @param [args.touchReleaseAcceleration = 1000] - How many times the detected pixel per inch touch swipe is multiplied on release. Higher values mean more greater touch release movement.
130
+ * @param [args.touchDeadZone = 3] - How many pixels a touch must move within `attributes.touchSelectTimeMs` to be considered scrolling rather than selecting.
131
+ * @param [args.touchScrollZone = 30] - When touching, the scroll element hit boxes are increased by this number of pixels for easier touching.
132
+ * @param [args.showCopy = true] - When true, copy will appear on the context menu when it is available.
133
+ * @param [args.pasteText = Paste] - The text that appears on the context menu when paste is available.
134
+ * @param [args.copyText = Copy] - The text that appears on the context menu when copy is available.
135
+ * @param [args.columnHeaderClickBehavior = sort] - Can be any of sort, select, none. When sort is selected, left clicking a column header will result in sorting ascending, then sorting descending if already sorted by this column. If select is selected then clicking a column header will result in the column becoming selected. Holding control/command or shift will select multiple columns in this mode.
136
+ * @param [args.scrollPointerLock = false] - When true, clicking on the scroll box to scroll will cause the mouse cursor to disappear to prevent it from exiting the area observable to the grid.
137
+ * @param [args.selectionHandleBehavior = 'none'] - When set to a value other than none, a handle will appear in the lower right corner of the desktop version of the grid.
138
+ * @param [args.columnSelectorVisibleText = '  &nbsp '] - When a column is hidden, this is the value to the left of the title in the column selector content menu.
139
+ * @param [args.columnSelectorHiddenText = '\u2713'] - When a column is visible, this is the value to the left of the title in the column selector content menu.
140
+ * @param [args.columnSelectorText = 'Add/remove columns'] - The text of the column selector context menu.
141
+ * @param [args.hideColumnText = 'Hide %s'] - The text displayed on the hide column .
142
+ * @param [args.showColumnSelector = true] - When true, the column selector context menu is visible.
143
+ * @param [args.touchContextMenuTimeMs = 800] - The length of time in milliseconds before a context menu appears on touch start within the touch dead zone.
144
+ * @param [args.scrollAnimationPPSThreshold = 0.75] - How many points per second must be achieved before touch animation occurs on touch release.
145
+ * @param [args.touchSelectHandleZone = 20] - Radius of pixels around touch select handles that touch select handles respond to.
146
+ * @param [args.touchEasingMethod = easeOutQuad] - Animation easing method used for touch release animation. Valid values are easeOutQuad, easeOutCubic, easeOutQuart, easeOutQuint.
147
+ * @param [args.snapToRow = false] - When true, scrolling snaps to the top row.
148
+ * @param [args.touchZoomSensitivity = 0.005] - The scale at which "pinch to zoom" screen pixels are converted to scale values.
149
+ * @param [args.touchZoomMin = 0.5] - The minimum zoom scale.
150
+ * @param [args.touchZoomMax = 1.75] - The maximum zoom scale.
151
+ * @param [args.maxPixelRatio = 1.5] - The maximum pixel ratio for high DPI displays. High DPI displays can cause sluggish performance, this caps resolution the grid is rendered at. Standard resolution (e.g.: 1920x1080) have a pixel ratio of 1:1 while higher resolution displays can be higher (e.g.: Retina display 2:1). Higher numbers are sharper (higher resolution) up to the max of your display (usually 2), lower numbers are lower resolution, down to 1. It might be fun to set a value lower than 1, I've never done it.
152
+ * @param [args.maxCanvasSize = 16384] - Largest width or height, in CSS pixels, an auto-sized grid (`style.width`/`style.height` set to `auto`) may grow to. Browsers cannot paint larger canvases. Past this size the grid stops growing and shows a scroll bar for the rest of the data.
153
+ * @param [args.fillCellCallback] - The callback function that is called when a cell is filled.
154
+ * @param [args.style = {}] - Sets selected values in style.
155
+ * @param [args.filters = {}] - Sets selected values in filters. See {@link canvasDatagrid.filters}.
156
+ * @param [args.sorters = {}] - Sets selected values in sorters. See {@link canvasDatagrid.sorters}.
157
+ * @param [args.formatters = {}] - Sets selected values in formatters. See {@link canvasDatagrid.formatters}.
158
+ * @param [args.parsers = {}] - Sets selected values in parsers. See {@link canvasDatagrid.parsers}.
159
+ */
160
+ declare class canvasDatagrid {
161
+ constructor(args: {
162
+ parentNode: HTMLElement;
163
+ name?: string;
164
+ tree?: boolean;
165
+ treeHorizontalScroll?: boolean;
166
+ cellGridAttributes?: any;
167
+ treeGridAttributes?: any;
168
+ showNewRow?: boolean;
169
+ saveAppearance?: boolean;
170
+ selectionFollowsActiveCell?: boolean;
171
+ multiLine?: boolean;
172
+ globalRowResize?: boolean;
173
+ editable?: boolean;
174
+ borderDragBehavior?: string;
175
+ autoGenerateSchema?: boolean;
176
+ autoScrollOnMousemove?: boolean;
177
+ autoScrollMargin?: number;
178
+ allowFreezingRows?: boolean;
179
+ allowFreezingColumns?: boolean;
180
+ allowShrinkingSelection?: boolean;
181
+ clearCellsWhenShrinkingSelection?: boolean;
182
+ filterFrozenRows?: boolean;
183
+ sortFrozenRows?: boolean;
184
+ allowColumnReordering?: boolean;
185
+ allowMovingSelection?: boolean;
186
+ allowRowReordering?: boolean;
187
+ blanksText?: string;
188
+ ellipsisText?: string;
189
+ allowSorting?: boolean;
190
+ allowColumnSelection?: boolean;
191
+ allowGridExpandOnPaste?: boolean;
192
+ allowGroupingColumns?: boolean;
193
+ allowGroupingRows?: boolean;
194
+ showFilter?: boolean;
195
+ pageUpDownOverlap?: number;
196
+ persistantSelectionMode?: boolean;
197
+ singleSelectionMode?: boolean;
198
+ keepFocusOnMouseOut?: boolean;
199
+ selectionMode?: string;
200
+ hoverMode?: string;
201
+ autoResizeColumns?: boolean;
202
+ fillLastColumn?: boolean;
203
+ autoResizeRows?: boolean;
204
+ allowRowHeaderResize?: boolean;
205
+ allowColumnResize?: boolean;
206
+ allowRowResize?: boolean;
207
+ allowRowResizeFromCell?: boolean;
208
+ allowColumnResizeFromCell?: boolean;
209
+ showPerformance?: boolean;
210
+ debug?: boolean;
211
+ borderResizeZone?: number;
212
+ showColumnHeaders?: boolean;
213
+ showRowNumbers?: boolean;
214
+ showRowNumberGaps?: boolean;
215
+ showRowHeaders?: boolean;
216
+ reorderDeadZone?: number;
217
+ selectionScrollZone?: number;
218
+ showClearSettingsOption?: boolean;
219
+ clearSettingsOptionText?: string;
220
+ showOrderByOptionTextDesc?: string;
221
+ showOrderByOptionTextAsc?: string;
222
+ showGroupColumns?: string;
223
+ showGroupRows?: string;
224
+ showRemoveGroupColumns?: string;
225
+ showRemoveGroupRows?: string;
226
+ showRemoveAllGroupColumns?: string;
227
+ showRemoveAllGroupRows?: string;
228
+ showExpandAllGroupColumns?: string;
229
+ showExpandAllGroupRows?: string;
230
+ showCollapseAllGroupColumns?: string;
231
+ showCollapseAllGroupRows?: string;
232
+ columnGroupIndicatorPosition?: string;
233
+ rowGroupIndicatorPosition?: string;
234
+ showOrderByOption?: boolean;
235
+ showPaste?: boolean;
236
+ resizeAfterDragged?: boolean;
237
+ schema?: any[];
238
+ data?: any[];
239
+ touchReleaseAnimationDurationMs?: number;
240
+ touchReleaseAcceleration?: number;
241
+ touchDeadZone?: number;
242
+ touchScrollZone?: number;
243
+ showCopy?: boolean;
244
+ pasteText?: string;
245
+ copyText?: string;
246
+ columnHeaderClickBehavior?: string;
247
+ scrollPointerLock?: boolean;
248
+ selectionHandleBehavior?: string;
249
+ columnSelectorVisibleText?: string;
250
+ columnSelectorHiddenText?: string;
251
+ columnSelectorText?: string;
252
+ hideColumnText?: string;
253
+ showColumnSelector?: boolean;
254
+ touchContextMenuTimeMs?: number;
255
+ scrollAnimationPPSThreshold?: number;
256
+ touchSelectHandleZone?: string;
257
+ touchEasingMethod?: string;
258
+ snapToRow?: boolean;
259
+ touchZoomSensitivity?: number;
260
+ touchZoomMin?: number;
261
+ touchZoomMax?: number;
262
+ maxPixelRatio?: number;
263
+ maxCanvasSize?: number;
264
+ fillCellCallback?: any;
265
+ style?: canvasDatagrid.style;
266
+ filters?: canvasDatagrid.filter;
267
+ sorters?: canvasDatagrid.sorter;
268
+ formatters?: canvasDatagrid.formatter;
269
+ parsers?: canvasDatagrid.dataTypes;
270
+ });
271
+ /**
272
+ * Applies the computed css styles to the grid. In some browsers, changing directives in attached style sheets does not automatically update the styles in this component. It is necessary to call this method to update in these cases.
273
+ */
274
+ applyComponentStyle(): void;
275
+ /**
276
+ * A formatting function. Must be a member of (property of) {@link canvasDatagrid.formatters} and match a type from one of the {@link canvasDatagrid.header}s in {@link canvasDatagrid.schema}.
277
+ * @param e - Formatting event object.
278
+ * @param e.cell - Cell being formatted.
279
+ */
280
+ formatter(e: {
281
+ cell: canvasDatagrid.cell;
282
+ }): void;
283
+ /**
284
+ * A filter function. Filter should return true when the value should be kept, and false if the value should be filtered out. Must be a member of (property of) {canvasDatagrid.filters} and match a type from one of the {@link canvasDatagrid.header}s in {@link canvasDatagrid.schema}.
285
+ * @param value - The current value being checked.
286
+ * @param filterFor - The value being filtered against.
287
+ */
288
+ filter(value: string, filterFor: string): void;
289
+ /**
290
+ * A sorter function. Must be a member of (property of) {@link canvasDatagrid.sorters} and match a type from one of the {@link canvasDatagrid.header}s in {@link canvasDatagrid.schema}.
291
+ * @param columnName - Name of the column being sorted.
292
+ * @param direction - Direction of the column being sorted, either `asc` or `desc`.
293
+ */
294
+ sorter(columnName: string, direction: string): void;
295
+ /**
296
+ * Ends editing, optionally aborting the edit.
297
+ * @param abort - When true, abort the edit.
298
+ */
299
+ endEdit(abort: boolean): void;
300
+ /**
301
+ * Begins editing at cell x, row y.
302
+ * @param x - The column index of the cell to edit.
303
+ * @param y - The row index of the cell to edit.
304
+ * @param inEnterMode - If true, starting to type in cell will replace the
305
+ * cell's previous value instead of appending, and using the arrow keys will allow
306
+ * the user to navigate to adjacent cells instead of moving the text cursor around
307
+ * (default is false, and means user is in 'edit' mode).
308
+ */
309
+ beginEditAt(x: number, y: number, inEnterMode: boolean): void;
310
+ /**
311
+ * Redraws the grid. No matter what the change, this is the only method required to refresh everything.
312
+ */
313
+ draw(): void;
314
+ /**
315
+ * Adds an event listener to the given event.
316
+ * @param ev - The name of the event to subscribe to.
317
+ * @param fn - The event procedure to execute when the event is raised.
318
+ */
319
+ addEventListener(ev: string, fn: (...params: any[]) => any): void;
320
+ /**
321
+ * Removes the given listener function from the given event. Must be an actual reference to the function that was bound.
322
+ * @param ev - The name of the event to unsubscribe from.
323
+ * @param fn - The event procedure to execute when the event is raised.
324
+ */
325
+ removeEventListener(ev: string, fn: (...params: any[]) => any): void;
326
+ /**
327
+ * Fires the given event, passing an event object to the event subscribers.
328
+ * @param ev - The name of the event to dispatch.
329
+ * @param e - The event object.
330
+ */
331
+ dispatchEvent(ev: number, e: number): void;
332
+ /**
333
+ * Releases grid resources and removes grid elements.
334
+ */
335
+ dispose(): void;
336
+ /**
337
+ * Appends the grid to another element later. Not implemented.
338
+ * @param el - The element to append the grid to.
339
+ */
340
+ appendTo(el: number): void;
341
+ /**
342
+ * Removes focus from the grid.
343
+ */
344
+ blur(): void;
345
+ /**
346
+ * Focuses on the grid.
347
+ */
348
+ focus(): void;
349
+ /**
350
+ * Gets an array of currently registered MIME types.
351
+ */
352
+ getDataTypes(): void;
353
+ /**
354
+ * Converts a integer into a letter A - ZZZZZ...
355
+ * @param n - The number to convert.
356
+ */
357
+ integerToAlpha(n: column): void;
358
+ /**
359
+ * Inserts a new column before the specified index into the schema.
360
+ * @param c - The column to insert into the schema.
361
+ * @param index - The index of the column to insert before.
362
+ */
363
+ insertColumn(c: column, index: number): void;
364
+ /**
365
+ * Deletes a column from the schema at the specified index.
366
+ * @param index - The index of the column to delete.
367
+ */
368
+ deleteColumn(index: number): void;
369
+ /**
370
+ * Adds a new column into the schema.
371
+ * @param c - The column to add to the schema.
372
+ */
373
+ addColumn(c: column): void;
374
+ /**
375
+ * Deletes a row from the dataset at the specified index.
376
+ * @param index - The index of the row to delete.
377
+ */
378
+ deleteRow(index: number): void;
379
+ /**
380
+ * Inserts a new row into the dataset before the specified index.
381
+ * @param d - data.
382
+ * @param index - The index of the row to insert before.
383
+ */
384
+ insertRow(d: any, index: number): void;
385
+ /**
386
+ * Adds a new row into the dataset.
387
+ * @param d - data.
388
+ */
389
+ addRow(d: any): void;
390
+ /**
391
+ * Sets the height of a given row by index number.
392
+ * @param rowIndex - The index of the row to set.
393
+ * @param height - Height to set the row to.
394
+ */
395
+ setRowHeight(rowIndex: number, height: number): void;
396
+ /**
397
+ * Sets the width of a given column by index number.
398
+ * @param colIndex - The index of the column to set.
399
+ * @param width - Width to set the column to.
400
+ */
401
+ setColumnWidth(colIndex: number, width: number): void;
402
+ /**
403
+ * Removes any changes to the width of the columns due to user or api interaction, setting them back to the schema or style default.
404
+ */
405
+ resetColumnWidths(): void;
406
+ /**
407
+ * Removes any changes to the height of the rows due to user or api interaction, setting them back to the schema or style default.
408
+ */
409
+ resetRowHeights(): void;
410
+ /**
411
+ * Sets the value of the filter.
412
+ * @param column - Name of the column to filter.
413
+ * @param value - The value to filter for.
414
+ */
415
+ setFilter(column: string, value: string): void;
416
+ /**
417
+ * Returns the number of pixels to scroll down to line up with row rowIndex.
418
+ * @param rowIndex - The row index of the row to scroll find.
419
+ */
420
+ findRowScrollTop(rowIndex: number): void;
421
+ /**
422
+ * Returns the number of pixels to scroll to the left to line up with column columnIndex.
423
+ * @param columnIndex - The column index of the column to find.
424
+ */
425
+ findColumnScrollLeft(columnIndex: number): void;
426
+ /**
427
+ * Scrolls to the cell at columnIndex x, and rowIndex y. If you define both rowIndex and columnIndex additional calculations can be made to center the cell using the target cell's height and width. Defining only one rowIndex or only columnIndex will result in simpler calculations.
428
+ * @param x - The column index of the cell to scroll to.
429
+ * @param y - The row index of the cell to scroll to.
430
+ * @param [offsetX = 0] - Percentage offset the cell should be from the left edge (not including headers). The default is 0, meaning the cell will appear at the left edge. Valid values are 0 through 1. 1 = Left, 0 = Right, 0.5 = Center.
431
+ * @param [offsetY = 0] - Percentage offset the cell should be from the top edge (not including headers). The default is 0, meaning the cell will appear at the top edge. Valid values are 0 through 1. 1 = Bottom, 0 = Top, 0.5 = Center.
432
+ */
433
+ gotoCell(x: number, y: number, offsetX?: number, offsetY?: number): void;
434
+ /**
435
+ * Scrolls the row y.
436
+ * @param y - The row index of the cell to scroll to.
437
+ */
438
+ gotoRow(y: number): void;
439
+ /**
440
+ * Add a button into the cell.
441
+ * @param columnIndex - The column index of the cell to to add a button.
442
+ * @param rowIndex - The row index of the cell to to add a button.
443
+ * @param offset - Offset how far go away from cell.
444
+ * @param items - a list of items to add into button menu.
445
+ * @param imgSrc - icon path to add into button.
446
+ */
447
+ addButton(columnIndex: number, rowIndex: number, offset: any, items: any, imgSrc: string): void;
448
+ /**
449
+ * Expand/Collapse CellTree.
450
+ * @param treeData - The array of cellTree to expand or collapse.
451
+ */
452
+ toggleCellCollapseTree(treeData: any[]): void;
453
+ /**
454
+ * Expand/Collapse CellTree.
455
+ * @param treeData - The array of cellTree to expand or collapse.
456
+ */
457
+ expandCollapseCellTree(treeData: any[]): void;
458
+ /**
459
+ * Scrolls the cell at cell x, row y into view if it is not already.
460
+ * @param x - The column index of the cell to scroll into view.
461
+ * @param y - The row index of the cell to scroll into view.
462
+ * @param [offsetX = 0] - Percentage offset the cell should be from the left edge (not including headers). The default is 0, meaning the cell will appear at the left edge. Valid values are 0 through 1. 1 = Left, 0 = Right, 0.5 = Center.
463
+ * @param [offsetY = 0] - Percentage offset the cell should be from the top edge (not including headers). The default is 0, meaning the cell will appear at the top edge. Valid values are 0 through 1. 1 = Bottom, 0 = Top, 0.5 = Center.
464
+ */
465
+ scrollIntoView(x: number, y: number, offsetX?: number, offsetY?: number): void;
466
+ /**
467
+ * Sets the active cell. Requires redrawing.
468
+ * @param x - The column index of the cell to set active.
469
+ * @param y - The row index of the cell to set active.
470
+ */
471
+ setActiveCell(x: number, y: number): void;
472
+ /**
473
+ * Collapse a tree grid by row index.
474
+ * @param index - The index of the row to collapse.
475
+ */
476
+ collapseTree(index: number): void;
477
+ /**
478
+ * Expands a tree grid by row index.
479
+ * @param index - The index of the row to expand.
480
+ */
481
+ expandTree(index: number): void;
482
+ /**
483
+ * Toggles tree grid open and close by row index.
484
+ * @param index - The index of the row to toggle.
485
+ */
486
+ toggleTree(index: number): void;
487
+ /**
488
+ * Returns a header from the schema by name.
489
+ * @param name - The name of the column to resize.
490
+ * @returns header with the selected name, or undefined.
491
+ */
492
+ getHeaderByName(name: string): header;
493
+ /**
494
+ * Hide column/columns
495
+ * @param beginColumnOrderIndex - The begin column order index
496
+ * @param [endColumnOrderIndex] - The end column order index
497
+ */
498
+ hideColumns(beginColumnOrderIndex: number, endColumnOrderIndex?: number): void;
499
+ /**
500
+ * Unihde column/columns
501
+ * @param beginColumnOrderIndex - The begin column order index
502
+ * @param [endColumnOrderIndex] - The end column order index
503
+ */
504
+ unhideColumns(beginColumnOrderIndex: number, endColumnOrderIndex?: number): void;
505
+ /**
506
+ * Hide rows
507
+ * @param beginRowIndex - The begin row index
508
+ * @param endRowIndex - The end row index
509
+ */
510
+ hideRows(beginRowIndex: number, endRowIndex: number): void;
511
+ /**
512
+ * Unhide rows
513
+ * @param beginRowIndex - The begin row index
514
+ * @param endRowIndex - The end row index
515
+ */
516
+ unhideRows(beginRowIndex: number, endRowIndex: number): void;
517
+ /**
518
+ * Resizes a column to fit the longest value in the column. Call without a value to resize all columns.
519
+ * Warning, can be slow on very large record sets (1m records ~3-5 seconds on an i7).
520
+ * @param name - The name of the column to resize.
521
+ */
522
+ fitColumnToValues(name: string): void;
523
+ /**
524
+ * Checks if a cell is currently visible.
525
+ * @param columnIndex - The column index of the cell to check.
526
+ * @param rowIndex - The row index of the cell to check.
527
+ * @returns when true, the cell is visible, when false the cell is not currently drawn.
528
+ */
529
+ isCellVisible(columnIndex: number, rowIndex: number): boolean;
530
+ /**
531
+ * Sets the order of the data.
532
+ * @param columnName - Name of the column to be sorted.
533
+ * @param direction - `asc` for ascending or `desc` for descending.
534
+ * @param [sortFunction] - When defined, override the default sorting method defined in the column's schema and use this one.
535
+ * @param [dontSetStorageData] - Don't store this setting for future use.
536
+ */
537
+ order(columnName: number, direction: string, sortFunction?: (...params: any[]) => any, dontSetStorageData?: boolean): void;
538
+ /**
539
+ * Grouping columns
540
+ * @param firstColumnName - Name of the first column to be grouped.
541
+ * @param lastColumnName - Name of the last column to be grouped.
542
+ */
543
+ groupColumns(firstColumnName: number | string, lastColumnName: number | string): void;
544
+ /**
545
+ * Grouping columns
546
+ * @param rowIndexFrom - The row index which is the beginning of the group
547
+ * @param rowIndexTo - The row index which is the end of the group
548
+ */
549
+ groupRows(rowIndexFrom: number, rowIndexTo: number): void;
550
+ /**
551
+ * Remove grouping columns
552
+ * @param firstColumnName - Name of the first column to be grouped.
553
+ * @param lastColumnName - Name of the last column to be grouped.
554
+ */
555
+ removeGroupColumns(firstColumnName: number | string, lastColumnName: number | string): void;
556
+ /**
557
+ * Remove grouping columns
558
+ * @param rowIndexFrom - The row index which is the beginning of the group
559
+ * @param rowIndexTo - The row index which is the end of the group
560
+ */
561
+ removeGroupRows(rowIndexFrom: number, rowIndexTo: number): void;
562
+ /**
563
+ * Toggle(expand/collapsed) grouping columns
564
+ * @param firstColumnName - Name of the first column to be grouped.
565
+ * @param lastColumnName - Name of the last column to be grouped.
566
+ */
567
+ toggleGroupColumns(firstColumnName: number | string, lastColumnName: number | string): void;
568
+ /**
569
+ * Toggle(expand/collapsed) grouping rows
570
+ * @param rowIndexFrom - The row index which is the beginning of the group
571
+ * @param rowIndexTo - The row index which is the end of the group
572
+ */
573
+ toggleGroupRows(rowIndexFrom: number, rowIndexTo: number): void;
574
+ /**
575
+ * Moves data in the provided selection to another position in the grid. Moving data off the edge of the schema (columns/x) will truncate data.
576
+ * @param sel - 2D array representing selected rows and columns. `canvasDatagrid.selections` is in this format and can be used here.
577
+ * @param x - The column index to start inserting the selection at.
578
+ * @param y - The row index to start inserting the selection at.
579
+ */
580
+ moveTo(sel: any[], x: number, y: number): void;
581
+ /**
582
+ * Get the column group info given column belongs to
583
+ * @param columnIndex - Column index.
584
+ */
585
+ getGroupsColumnBelongsTo(columnIndex: number): { from: number; to: number; collapsed: boolean; }[];
586
+ /**
587
+ * Get the row group info given row belongs to
588
+ * @param rowIndex - Row index.
589
+ */
590
+ getGroupsRowBelongsTo(rowIndex: number): { from: number; to: number; collapsed: boolean; }[];
591
+ /**
592
+ * Checks if a given column is visible.
593
+ * @param columnIndex - Column index.
594
+ * @returns When true, the column is visible.
595
+ */
596
+ isColumnVisible(columnIndex: number): boolean;
597
+ /**
598
+ * Checks if a given row is visible.
599
+ * @param rowIndex - Row index.
600
+ * @returns When true, the row is visible.
601
+ */
602
+ isRowVisible(rowIndex: number): boolean;
603
+ /**
604
+ * Gets the cell at columnIndex and rowIndex.
605
+ * @param x - Column index.
606
+ * @param y - Row index.
607
+ * @returns cell at the selected location.
608
+ */
609
+ getVisibleCellByIndex(x: number, y: number): cell;
610
+ /**
611
+ * Get an unhide indicator at grid pixel coordinate x and y.
612
+ * @param x - Number of pixels from the left.
613
+ * @param y - Number of pixels from the top.
614
+ */
615
+ getUnhideIndicator(x: number, y: number): void;
616
+ /**
617
+ * Get a column group at grid pixel coordinate x and y.
618
+ * @param x - Number of pixels from the left.
619
+ * @param y - Number of pixels from the top.
620
+ */
621
+ getColumnGroupAt(x: number, y: number): void;
622
+ /**
623
+ * Get a row group at grid pixel coordinate x and y.
624
+ * @param x - Number of pixels from the left.
625
+ * @param y - Number of pixels from the top.
626
+ */
627
+ getRowGroupAt(x: number, y: number): void;
628
+ /**
629
+ * Gets the cell at grid pixel coordinate x and y. Author's note. This function ties drawing and events together. This is a very complex function and is core to the component.
630
+ * @param x - Number of pixels from the left.
631
+ * @param y - Number of pixels from the top.
632
+ * @returns cell at the selected location.
633
+ */
634
+ getCellAt(x: number, y: number): cell;
635
+ /**
636
+ * Returns an auto generated schema based on data structure.
637
+ * @returns schema A schema based on the first item in the data array.
638
+ */
639
+ getSchemaFromData(): schema;
640
+ /**
641
+ * Clears the change log grid.changes that keeps track of changes to the data set.
642
+ * This does not undo changes or alter data it is simply a convince array to keep
643
+ * track of changes made to the data since last this method was called.
644
+ */
645
+ clearChangeLog(): void;
646
+ /**
647
+ * Returns the maximum text width for a given column by column name.
648
+ * @param name - The name of the column to calculate the value's width of.
649
+ * @returns The number of pixels wide the maximum width value in the selected column.
650
+ */
651
+ findColumnMaxTextLength(name: string): number;
652
+ /**
653
+ * Gets the total width of all header columns.
654
+ */
655
+ getHeaderWidth(): void;
656
+ /**
657
+ * Gets the height of a row by index.
658
+ * @param rowIndex - The row index to lookup.
659
+ */
660
+ getRowHeight(rowIndex: number): void;
661
+ /**
662
+ * Gets the width of a column by index.
663
+ * @param columnIndex - The column index to lookup.
664
+ */
665
+ getColumnWidth(columnIndex: number): void;
666
+ /**
667
+ * Returns true if the selected columnIndex is selected on every row.
668
+ * @param columnIndex - The column index to check.
669
+ */
670
+ isColumnSelected(columnIndex: number): void;
671
+ /**
672
+ * Returns true if the selected rowIndex is selected on every column.
673
+ * @param rowIndex - The row index to check.
674
+ */
675
+ isRowSelected(rowIndex: number): void;
676
+ /**
677
+ * Removes the selection.
678
+ * @param dontDraw - Suppress the draw method after the selection change.
679
+ */
680
+ selectNone(dontDraw: boolean): void;
681
+ /**
682
+ * Selects every visible cell.
683
+ * @param dontDraw - Suppress the draw method after the selection change.
684
+ */
685
+ selectAll(dontDraw: boolean): void;
686
+ /**
687
+ * Moves the current selection relative to the its current position. Note: this method does not move the selected data, just the selection itself.
688
+ * @param offsetX - The number of columns to offset the selection.
689
+ * @param offsetY - The number of rows to offset the selection.
690
+ */
691
+ moveSelection(offsetX: number, offsetY: number): void;
692
+ /**
693
+ * Gets the bounds of current selection.
694
+ * @param [sanitized] - sanitize the bound object if the value of thie paramater is `true`
695
+ * @returns two situations:
696
+ * 1. The result is always a bound object if `sanitized` is not `true`.
697
+ * And the result is `{top: Infinity, left: Infinity, bottom: -Infinity, right: -Infinity}` if there haven't selections.
698
+ * This is used for keeping compatibility with existing APIs.
699
+ * 2. When the parameter `sanitized` is true. The result will be null if there haven't selections.
700
+ */
701
+ getSelectionBounds(sanitized?: boolean): rect;
702
+ /**
703
+ * Deletes currently selected data.
704
+ * @param dontDraw - Suppress the draw method after the selection change.
705
+ */
706
+ deleteSelectedData(dontDraw: boolean): void;
707
+ /**
708
+ * Runs the defined method on each selected cell.
709
+ * @param fn - The function to execute. The signature of the function is: (data, rowIndex, columnName).
710
+ * @param expandToRow - When true the data in the array is expanded to the entire row.
711
+ */
712
+ forEachSelectedCell(fn: number, expandToRow: number): void;
713
+ /**
714
+ * Selects a column.
715
+ * @param columnIndex - The column index to select.
716
+ * @param toggleSelectMode - When true, behaves as if you were holding control/command when you clicked the column.
717
+ * @param shift - When true, behaves as if you were holding shift when you clicked the column.
718
+ * @param suppressEvent - When true, prevents the selectionchanged event from firing.
719
+ */
720
+ selectColumn(columnIndex: number, toggleSelectMode: boolean, shift: boolean, suppressEvent: boolean): void;
721
+ /**
722
+ * Selects a row.
723
+ * @param rowIndex - The row index to select.
724
+ * @param ctrl - When true, behaves as if you were holding control/command when you clicked the row.
725
+ * @param shift - When true, behaves as if you were holding shift when you clicked the row.
726
+ * @param supressSelectionchangedEvent - When true, prevents the selectionchanged event from firing.
727
+ */
728
+ selectRow(rowIndex: number, ctrl: boolean, shift: boolean, supressSelectionchangedEvent: boolean): void;
729
+ /**
730
+ * Selects an area of the grid.
731
+ * @param [bounds] - A rect object representing the selected values.
732
+ */
733
+ selectArea(bounds?: rect, ctrl?: boolean): void;
734
+ /**
735
+ * Selected rows. Same as the `data` property but filtered for the rows the user has cells selected in. If any cell in the row is selected, all data for that row will appear in this array.
736
+ */
737
+ selectedRows: any[];
738
+ /**
739
+ * Jagged array of cells that the user has selected. Beware that because this is a jagged array, some indexes will be `null`. Besides the `null`s this data looks just like the data you passed in, but just the cells the user has selected. So if the user has selected cell 10 in a 10 column row, there will be 9 `null`s followed by the data from column 10.
740
+ */
741
+ selectedCells: any[];
742
+ /**
743
+ * Array of changes and additions made to the grid since last time data was loaded. The data property will change with changes as well, but this is a convince list of all the changes in one spot. Calling `clearChangeLog` will clear this list.
744
+ */
745
+ changes: any[];
746
+ /**
747
+ * Reference to the the edit cell when editing. Undefined when not editing. When editing, this DOM element is superimposed over the cell being edited and is fully visible.
748
+ */
749
+ input: any;
750
+ /**
751
+ * Input used for key controls on the grid. Any clicks on the grid will cause this input to be focused. This input is hidden above the top left corner of the browser window.
752
+ */
753
+ controlInput: any;
754
+ /**
755
+ * Cell that the mouse moved over last.
756
+ */
757
+ currentCell: canvasDatagrid.cell;
758
+ /**
759
+ * Height of the grid.
760
+ */
761
+ height: number;
762
+ /**
763
+ * Width of the grid.
764
+ */
765
+ width: number;
766
+ /**
767
+ * Array of cell drawn.
768
+ */
769
+ visibleCells: any[];
770
+ /**
771
+ * Array of visible row indexes.
772
+ */
773
+ visibleRows: any[];
774
+ /**
775
+ * Matrix array of selected cells.
776
+ */
777
+ selections: any[];
778
+ /**
779
+ * Bounds of current selection.
780
+ */
781
+ selectionBounds: rect;
782
+ /**
783
+ * Object that contains the properties listed in the attributes section. These properties can be used at runtime to alter attributes set during instantiation. See the See {@link canvasDatagrid.params} section for full documentation.
784
+ */
785
+ attributes: any;
786
+ /**
787
+ * Mutable object that contains `sizes.columns` and `sizes.rows` arrays. These arrays control the sizes of the columns and rows. If there is not an entry for the row or column index it will fall back to the style default.
788
+ */
789
+ sizes: any;
790
+ /**
791
+ * Object that contains the properties listed in the style section. Changing a style will automatically call `draw`.
792
+ */
793
+ style: canvasDatagrid.style;
794
+ /**
795
+ * Represents the currently displayed resize cursor. Can be `ns-resize`, `ew-resize`, `pointer`, or `inherit`.
796
+ */
797
+ dragMode: string;
798
+ /**
799
+ * Object that contains formatting functions for displaying text. The properties in this object match the `schema[].type` property. For example, if the schema for a given column was of the type `date` the grid would look for a formatter called `formatters.date` if a formatter cannot be found for a given data type a warning will be logged and the string formatter will be used. Formatters must return a string value to be displayed in the cell. See {@link canvasDatagrid.formatters}.
800
+ */
801
+ formatters: canvasDatagrid.formatter;
802
+ /**
803
+ * Object that contains a list of sorting functions for sorting columns. See {@tutorial sorters}.
804
+ */
805
+ sorters: canvasDatagrid.sorter;
806
+ /**
807
+ * Object that contains a list of filters for filtering data. The properties in this object match the `schema[].type` property. For example, if the schema for a given column was of the type `date` the grid would look for a filter called `filters.date` if a filter cannot be found for a given data type a warning will be logged and the string/RegExp filter will be used. See {@link canvasDatagrid.filters}.
808
+ */
809
+ filters: canvasDatagrid.filter;
810
+ /**
811
+ * When true, grid data is being filtered.
812
+ */
813
+ hasActiveFilters: boolean;
814
+ /**
815
+ * This is how data is set in the grid. Data must be an array of objects that conform to a schema. Data values can be any primitive type. However if a cell value is another data array, an inner grid will be rendered into the cell. This "cell grid" is different than a "tree grid" (the sort you drill in with a row header arrow) and uses the `cellGridAttributes` attribute for properties and styling. See {@link canvasDatagrid.data}.
816
+ */
817
+ data: canvasDatagrid.data;
818
+ /**
819
+ * Schema is optional. Schema is an array of {canvasDatagrid.header} objects. If no schema is provided one will be generated from the data, in that case all data will be assumed to be string data. See {@link canvasDatagrid.schema}.
820
+ */
821
+ schema: canvasDatagrid.schema;
822
+ /**
823
+ * The total number of pixels that can be scrolled down.
824
+ */
825
+ scrollHeight: number;
826
+ /**
827
+ * The total number of pixels that can be scrolled to the left.
828
+ */
829
+ scrollWidth: number;
830
+ /**
831
+ * The current position of the vertical scroll bar in pixels.
832
+ */
833
+ scrollTop: number;
834
+ /**
835
+ * The current position of the horizontal scroll bar in pixels.
836
+ */
837
+ scrollLeft: number;
838
+ /**
839
+ * The offset top of the grid.
840
+ */
841
+ offsetTop: number;
842
+ /**
843
+ * The offset left of the grid.
844
+ */
845
+ offsetLeft: number;
846
+ /**
847
+ * When true, this grid is within another grid.
848
+ */
849
+ isChildGrid: boolean;
850
+ /**
851
+ * List of open child grids by internal unique row id.
852
+ */
853
+ openChildren: boolean;
854
+ /**
855
+ * Child grids in this grid organized by internal unique row id.
856
+ */
857
+ childGrids: boolean;
858
+ /**
859
+ * If this grid is a child grid, this is the grids parent.
860
+ */
861
+ parentGrid: canvasDatagrid;
862
+ /**
863
+ * The canvas element drawn onto for this grid.
864
+ */
865
+ canvas: any;
866
+ /**
867
+ * The shadow root element.
868
+ */
869
+ shadowRoot: HTMLElement;
870
+ /**
871
+ * Gets or sets the order of the rows. This allows you to modify the appearance of the data without modifying the data itself. The order of the array dictates the order of the rows, e.g.: [0, 1, 2] is normal order, [2, 1, 0] is reverse. The array length must be equal to or greater than the number of rows.
872
+ */
873
+ rowOrder: any[];
874
+ /**
875
+ * Gets or sets the order of the columns. This allows you to modify the appearance of the schema without modifying the data itself. The order of the array dictates the order of the columns, e.g.: [0, 1, 2] is normal order, [2, 1, 0] is reverse. The array length must be equal to or greater than the number of columns.
876
+ */
877
+ columnOrder: any[];
878
+ /**
879
+ * Gets the active cell as `{rowIndex, columnIndex}` (view indexes). The active cell is the one that receives keyboard input and edits and is drawn with the `activeCell*` styles. It is independent of the selection: keyboard navigation moves it, `selectNone()` keeps it, and a range selection has exactly one active cell (the one the drag started from). Move it with `setActiveCell(columnIndex, rowIndex)` and listen to `activecellchanged` to follow it.
880
+ */
881
+ activeCell: any;
882
+ /**
883
+ * When true, the grid is has focus.
884
+ */
885
+ hasFocus: boolean;
886
+ /**
887
+ * The heights of the visible rows.
888
+ */
889
+ visibleRowHeights: any[];
890
+ /**
891
+ * When true, this grid is within another grid.
892
+ */
893
+ isChildGrid: boolean;
894
+ /**
895
+ * The parent node of the canvas, usually the shadow DOM's parent element.
896
+ */
897
+ parentNode: HTMLElement;
898
+ /**
899
+ * Rect describing the view port of the virtual canvas in column and row indexes. If you only want to do things to visible cells, this is a good property to check what the range of visible cells is.
900
+ */
901
+ scrollIndexRect: any;
902
+ /**
903
+ * Rect describing view port of the virtual canvas in pixels.
904
+ */
905
+ scrollPixelRect: any;
906
+ /**
907
+ * The highest frozen column index. Setting a value higher than the possible visible columns will result in a range error.
908
+ */
909
+ frozenColumn: number;
910
+ /**
911
+ * The highest frozen row index. Setting a value higher than the possible visible rows will result in a range error.
912
+ */
913
+ frozenRow: number;
914
+ /**
915
+ * The name of the column the grid is currently sorted by. You can set this value to any column name to alter the sort order dependent on data type. Subscribing to `beforesortcolumn` and calling `e.preventDefault` allows you to change the property and the graphical appearance of the grid (an order arrow will be drawn over the respective column) without invoking the client side ordering function. This is useful if you want to use server side data ordering.
916
+ */
917
+ orderBy: string;
918
+ /**
919
+ * Gets or sets the order by direction. Value can be `asc` for ascending order or `desc` for descending order. Subscribing to `beforesortcolumn` and calling `e.preventDefault` allows you to change the property and the graphical appearance of the grid (an order arrow will be drawn over the respective column) without invoking the client side ordering function. This is useful if you want to use server side data ordering.
920
+ */
921
+ orderDirection: string;
922
+ }
923
+
924
+ declare namespace canvasDatagrid {
925
+ /**
926
+ * A selection rectangle.
927
+ * @property top - First row index.
928
+ * @property bottom - Last row index.
929
+ * @property left - First column index.
930
+ * @property right - Last column index.
931
+ */
932
+ class rect {
933
+ /**
934
+ * First row index.
935
+ */
936
+ top: number;
937
+ /**
938
+ * Last row index.
939
+ */
940
+ bottom: number;
941
+ /**
942
+ * First column index.
943
+ */
944
+ left: number;
945
+ /**
946
+ * Last column index.
947
+ */
948
+ right: number;
949
+ }
950
+ /**
951
+ * A header that describes the data in a column. The term header and column are used interchangeably in this documentation. The {@link canvasDatagrid.schema} is an array of {@link canvasDatagrid.header}.
952
+ * @property name - The name of the header. This must match the property name of an object in the {@link canvasDatagrid.data} array. This is the only required property of a {@link canvasDatagrid.header}. This value will appear at the top of the column unless {@link canvasDatagrid.header.title} is defined.
953
+ * @property type - The data type of this header. This value should match properties in {@link canvasDatagrid.formatters}, {@link canvasDatagrid.filters}, {@link canvasDatagrid.sorters} to take full advantage of formatting, sorting and filtering when not defining these properties within this header.
954
+ * @property title - The value that is actually displayed to the user at the top of the column. If no value is present, {@link canvasDatagrid.header.name} will be used instead.
955
+ * @property width - The mutable width of this column in pixels. The user can override this value if {@link canvasDatagrid.attributes.allowColumnResizing} is set to `true`.
956
+ * @property hidden - When true, the column will not be included in the visible schema. This means selection, copy, and drawing functions will not display this column or values from this column.
957
+ * @property filter - A {@link canvasDatagrid.filter} function that defines how filters will work against data in this column.
958
+ * @property formatter - A {@link canvasDatagrid.formatter} function that defines how data will be formatted when drawn onto cells belonging to this column.
959
+ * @property sorter - A {@link canvasDatagrid.sorter} function that defines how data will sorted within this column.
960
+ * @property defaultValue - The default value of this column for new rows. This can be a function or string. When using a string, this string value will be used in the new cell. When using a function, it must return a string, which will be used in the new cell. The arguments passed to this function are: argument[0] = {@link canvasDatagrid.header}, argument[1] = row index.
961
+ */
962
+ class header {
963
+ /**
964
+ * The name of the header. This must match the property name of an object in the {@link canvasDatagrid.data} array. This is the only required property of a {@link canvasDatagrid.header}. This value will appear at the top of the column unless {@link canvasDatagrid.header.title} is defined.
965
+ */
966
+ name: string;
967
+ /**
968
+ * The data type of this header. This value should match properties in {@link canvasDatagrid.formatters}, {@link canvasDatagrid.filters}, {@link canvasDatagrid.sorters} to take full advantage of formatting, sorting and filtering when not defining these properties within this header.
969
+ */
970
+ type: string;
971
+ /**
972
+ * The value that is actually displayed to the user at the top of the column. If no value is present, {@link canvasDatagrid.header.name} will be used instead.
973
+ */
974
+ title: string;
975
+ /**
976
+ * The mutable width of this column in pixels. The user can override this value if {@link canvasDatagrid.attributes.allowColumnResizing} is set to `true`.
977
+ */
978
+ width: number;
979
+ /**
980
+ * When true, the column will not be included in the visible schema. This means selection, copy, and drawing functions will not display this column or values from this column.
981
+ */
982
+ hidden: boolean;
983
+ /**
984
+ * A {@link canvasDatagrid.filter} function that defines how filters will work against data in this column.
985
+ */
986
+ filter: (...params: any[]) => any;
987
+ /**
988
+ * A {@link canvasDatagrid.formatter} function that defines how data will be formatted when drawn onto cells belonging to this column.
989
+ */
990
+ formatter: (...params: any[]) => any;
991
+ /**
992
+ * A {@link canvasDatagrid.sorter} function that defines how data will sorted within this column.
993
+ */
994
+ sorter: (...params: any[]) => any;
995
+ /**
996
+ * The default value of this column for new rows. This can be a function or string. When using a string, this string value will be used in the new cell. When using a function, it must return a string, which will be used in the new cell. The arguments passed to this function are: argument[0] = {@link canvasDatagrid.header}, argument[1] = row index.
997
+ */
998
+ defaultValue: ((...params: any[]) => any) | string;
999
+ }
1000
+ /**
1001
+ * A cell on the grid.
1002
+ * @property type - Data type used by this cell as dictated by the column.
1003
+ * @property style - Visual style of cell. Can be any one of cell, activeCell, columnHeaderCell, cornerCell, or rowHeaderCell. Prefix of each style name.
1004
+ * @property x - The x coordinate of this cell on the grid.
1005
+ * @property y - The y coordinate of this cell on the grid.
1006
+ * @property nodeType - Always 'canvas-datagrid-cell'.
1007
+ * @property offsetTop - The y coordinate of this cell on the grid canvas.
1008
+ * @property offsetLeft - The x coordinate of this cell on the grid canvas.
1009
+ * @property scrollTop - The scrollTop value of the scrollBox.
1010
+ * @property scrollLeft - The scrollLeft value of the scrollBox.
1011
+ * @property rowOpen - When true, this row is a tree grid enabled cell and the tree is in the open state.
1012
+ * @property hovered - When true, this cell is hovered.
1013
+ * @property selected - When true, this cell is selected.
1014
+ * @property active - When true, this cell is the active cell.
1015
+ * @property width - Width of the cell on the canvas.
1016
+ * @property height - Height of the cell on the canvas.
1017
+ * @property userWidth - User set width of the cell on the canvas. If undefined, the user has not set this column.
1018
+ * @property userHeight - Height of the cell on the canvas. If undefined, the user has not set this row.
1019
+ * @property data - The row of data this cell belongs to.
1020
+ * @property header - The schema column this cell belongs to.
1021
+ * @property columnIndex - The column index of the cell.
1022
+ * @property rowIndex - The row index of the cell.
1023
+ * @property sortColumnIndex - The column index of the cell after the user has reordered it.
1024
+ * @property sortRowIndex - The column index of the cell after the user has reordered it.
1025
+ * @property value - The value of the cell.
1026
+ * @property formattedValue - The value after passing through any formatters. See {@link canvasDatagrid.formatters}.
1027
+ * @property isColumnHeaderCellCap - When true, the cell is the cap at the right side end of the header cells.
1028
+ * @property parentGrid - The grid to which this cell belongs.
1029
+ * @property gridId - If this cell contains a grid, this is the grids unique id.
1030
+ * @property isGrid - When true, the cell is a grid.
1031
+ * @property isHeader - When true, the cell is a column or row header.
1032
+ * @property isColumnHeader - When true, the cell is a column header.
1033
+ * @property isRowHeader - When true, the cell is a row header.
1034
+ * @property isCorner - When true, the cell is the upper left corner cell.
1035
+ * @property activeHeader - When true, the cell is an active header cell, meaning the active cell is in the same row or column.
1036
+ * @property horizontalAlignment - The horizontal alignment of the cell.
1037
+ * @property verticalAlignment - The vertical alignment of the cell.
1038
+ * @property innerHTML - HTML, if any, in the cell. If set, HTML will be rendered into the cell.
1039
+ * @property text - The text object in the cell.
1040
+ * @property text.x - The x coordinate of the text.
1041
+ * @property text.y - The y coordinate of the text.
1042
+ * @property text.width - The width of the text, including truncation and ellipsis.
1043
+ * @property text.value - The value of the text, including truncation and ellipsis.
1044
+ */
1045
+ class cell {
1046
+ /**
1047
+ * Data type used by this cell as dictated by the column.
1048
+ */
1049
+ type: string;
1050
+ /**
1051
+ * Visual style of cell. Can be any one of cell, activeCell, columnHeaderCell, cornerCell, or rowHeaderCell. Prefix of each style name.
1052
+ */
1053
+ style: string;
1054
+ /**
1055
+ * The x coordinate of this cell on the grid.
1056
+ */
1057
+ x: number;
1058
+ /**
1059
+ * The y coordinate of this cell on the grid.
1060
+ */
1061
+ y: number;
1062
+ /**
1063
+ * Always 'canvas-datagrid-cell'.
1064
+ */
1065
+ nodeType: string;
1066
+ /**
1067
+ * The y coordinate of this cell on the grid canvas.
1068
+ */
1069
+ offsetTop: number;
1070
+ /**
1071
+ * The x coordinate of this cell on the grid canvas.
1072
+ */
1073
+ offsetLeft: number;
1074
+ /**
1075
+ * The scrollTop value of the scrollBox.
1076
+ */
1077
+ scrollTop: number;
1078
+ /**
1079
+ * The scrollLeft value of the scrollBox.
1080
+ */
1081
+ scrollLeft: number;
1082
+ /**
1083
+ * When true, this row is a tree grid enabled cell and the tree is in the open state.
1084
+ */
1085
+ rowOpen: boolean;
1086
+ /**
1087
+ * When true, this cell is hovered.
1088
+ */
1089
+ hovered: boolean;
1090
+ /**
1091
+ * When true, this cell is selected.
1092
+ */
1093
+ selected: boolean;
1094
+ /**
1095
+ * When true, this cell is the active cell.
1096
+ */
1097
+ active: boolean;
1098
+ /**
1099
+ * Width of the cell on the canvas.
1100
+ */
1101
+ width: number;
1102
+ /**
1103
+ * Height of the cell on the canvas.
1104
+ */
1105
+ height: number;
1106
+ /**
1107
+ * User set width of the cell on the canvas. If undefined, the user has not set this column.
1108
+ */
1109
+ userWidth: number;
1110
+ /**
1111
+ * Height of the cell on the canvas. If undefined, the user has not set this row.
1112
+ */
1113
+ userHeight: number;
1114
+ /**
1115
+ * The row of data this cell belongs to.
1116
+ */
1117
+ data: any;
1118
+ /**
1119
+ * The schema column this cell belongs to.
1120
+ */
1121
+ header: header;
1122
+ /**
1123
+ * The column index of the cell.
1124
+ */
1125
+ columnIndex: number;
1126
+ /**
1127
+ * The row index of the cell.
1128
+ */
1129
+ rowIndex: number;
1130
+ /**
1131
+ * The column index of the cell after the user has reordered it.
1132
+ */
1133
+ sortColumnIndex: number;
1134
+ /**
1135
+ * The column index of the cell after the user has reordered it.
1136
+ */
1137
+ sortRowIndex: number;
1138
+ /**
1139
+ * The value of the cell.
1140
+ */
1141
+ value: string;
1142
+ /**
1143
+ * The value after passing through any formatters. See {@link canvasDatagrid.formatters}.
1144
+ */
1145
+ formattedValue: string;
1146
+ /**
1147
+ * When true, the cell is the cap at the right side end of the header cells.
1148
+ */
1149
+ isColumnHeaderCellCap: boolean;
1150
+ /**
1151
+ * The grid to which this cell belongs.
1152
+ */
1153
+ parentGrid: canvasDatagrid;
1154
+ /**
1155
+ * If this cell contains a grid, this is the grids unique id.
1156
+ */
1157
+ gridId: string;
1158
+ /**
1159
+ * When true, the cell is a grid.
1160
+ */
1161
+ isGrid: boolean;
1162
+ /**
1163
+ * When true, the cell is a column or row header.
1164
+ */
1165
+ isHeader: boolean;
1166
+ /**
1167
+ * When true, the cell is a column header.
1168
+ */
1169
+ isColumnHeader: boolean;
1170
+ /**
1171
+ * When true, the cell is a row header.
1172
+ */
1173
+ isRowHeader: boolean;
1174
+ /**
1175
+ * When true, the cell is the upper left corner cell.
1176
+ */
1177
+ isCorner: boolean;
1178
+ /**
1179
+ * When true, the cell is an active header cell, meaning the active cell is in the same row or column.
1180
+ */
1181
+ activeHeader: boolean;
1182
+ /**
1183
+ * The horizontal alignment of the cell.
1184
+ */
1185
+ horizontalAlignment: string;
1186
+ /**
1187
+ * The vertical alignment of the cell.
1188
+ */
1189
+ verticalAlignment: string;
1190
+ /**
1191
+ * HTML, if any, in the cell. If set, HTML will be rendered into the cell.
1192
+ */
1193
+ innerHTML: string;
1194
+ /**
1195
+ * The text object in the cell.
1196
+ */
1197
+ text: {
1198
+ x: any;
1199
+ y: any;
1200
+ width: any;
1201
+ value: any;
1202
+ };
1203
+ }
1204
+ /**
1205
+ * Styles for the canvas data grid. Standard CSS styles still apply but are not listed here.
1206
+ * @property [activeCellBackgroundColor = rgba(255, 255, 255, 1)] - Style of activeCellBackgroundColor.
1207
+ * @property [activeCellBorderColor = rgba(110, 168, 255, 1)] - Style of activeCellBorderColor.
1208
+ * @property [activeCellBorderWidth = 0.25] - Style of activeCellBorderWidth.
1209
+ * @property [activeCellColor = rgba(0, 0, 0, 1)] - Style of activeCellColor.
1210
+ * @property [activeCellFont = 16px sans-serif] - Style of activeCellFont.
1211
+ * @property [activeCellHoverBackgroundColor = rgba(255, 255, 255, 1)] - Style of activeCellHoverBackgroundColor.
1212
+ * @property [activeCellHorizontalAlignment = left] - Style of activeCellHorizontalAlignment.
1213
+ * @property [activeCellHoverColor = rgba(0, 0, 0, 1)] - Style of activeCellHoverColor.
1214
+ * @property [activeCellOverlayBorderColor = rgba(66, 133, 244, 1)] - Style of activeCellOverlayBorderColor.
1215
+ * @property [activeCellOverlayBorderWidth = 1.50] - Style of activeCellOverlayBorderWidth.
1216
+ * @property [activeCellPaddingBottom = 5] - Style of activeCellPaddingBottom.
1217
+ * @property [activeCellPaddingLeft = 5] - Style of activeCellPaddingLeft.
1218
+ * @property [activeCellPaddingRight = 7] - Style of activeCellPaddingRight.
1219
+ * @property [activeCellPaddingTop = 5] - Style of activeCellPaddingTop.
1220
+ * @property [activeCellSelectedBackgroundColor = rgba(236, 243, 255, 1)] - Style of activeCellSelectedBackgroundColor.
1221
+ * @property [activeCellSelectedColor = rgba(0, 0, 0, 1)] - Style of activeCellSelectedColor.
1222
+ * @property [activeCellVerticalAlignment = center] - Style of activeCellVerticalAlignment.
1223
+ * @property [activeColumnHeaderCellBackgroundColor = rgba(225, 225, 225, 1)] - Style of activeColumnHeaderCellBackgroundColor.
1224
+ * @property [activeColumnHeaderCellColor = rgba(0, 0, 0, 1)] - Style of activeColumnHeaderCellColor.
1225
+ * @property [activeRowHeaderCellBackgroundColor = rgba(225, 225, 225, 1)] - Style of activeRowHeaderCellBackgroundColor.
1226
+ * @property [activeRowHeaderCellColor = rgba(0, 0, 0, 1)] - Style of activeRowHeaderCellColor.
1227
+ * @property [autocompleteBottomMargin = 60] - Style of autocompleteBottomMargin.
1228
+ * @property [autosizeHeaderCellPadding = 8] - Style of autosizeHeaderCellPadding.
1229
+ * @property [autosizePadding = 5] - Style of autosizePadding.
1230
+ * @property [gridBorderCollapse = collapse] - Style of gridBorderCollapse. When grid border collapse is set to the default value of `collapse`, the bottom border and the top border of the next cell down will be merged into a single border. The only other setting is `expand` which allows the full border to be drawn.
1231
+ * @property [cellAutoResizePadding = 13] - Style of cellAutoResizePadding.
1232
+ * @property [cellBackgroundColor = rgba(255, 255, 255, 1)] - Style of cellBackgroundColor.
1233
+ * @property [cellBorderColor = rgba(195, 199, 202, 1)] - Style of cellBorderColor.
1234
+ * @property [cellBorderWidth = 0.25] - Style of cellBorderWidth.
1235
+ * @property [cellColor = rgba(0, 0, 0, 1)] - Style of cellColor.
1236
+ * @property [cellFont = 16px sans-serif] - Style of cellFont.
1237
+ * @property [cellGridHeight = 250] - Style of cellGridHeight.
1238
+ * @property [cellHeight = 24] - Style of cellHeight.
1239
+ * @property [cellHeightWithChildGrid = 150] - Style of cellHeightWithChildGrid.
1240
+ * @property [cellHorizontalAlignment = left] - Style of cellHorizontalAlignment.
1241
+ * @property [cellHoverBackgroundColor = rgba(255, 255, 255, 1)] - Style of cellHoverBackgroundColor.
1242
+ * @property [cellHoverColor = rgba(0, 0, 0, 1)] - Style of cellHoverColor.
1243
+ * @property [cellPaddingBottom = 5] - Style of cellPaddingBottom.
1244
+ * @property [cellPaddingLeft = 5] - Style of cellPaddingLeft.
1245
+ * @property [cellPaddingRight = 5] - Style of cellPaddingRight.
1246
+ * @property [cellPaddingTop = 5] - Style of cellPaddingTop.
1247
+ * @property [cellSelectedBackgroundColor = rgba(236, 243, 255, 1)] - Style of cellSelectedBackgroundColor.
1248
+ * @property [cellSelectedColor = rgba(0, 0, 0, 1)] - Style of cellSelectedColor.
1249
+ * @property [cellVerticalAlignment = center] - Style of cellVerticalAlignment.
1250
+ * @property [cellWhiteSpace = nowrap] - Style of cellWhiteSpace. Can be 'nowrap' or 'normal'.
1251
+ * @property [cellLineHeight = 1] - The line height of each wrapping line as a percentage.
1252
+ * @property [cellLineSpacing = 3] - Style of cellLineSpacing.
1253
+ * @property [cellWidthWithChildGrid = 250] - Style of cellWidthWithChildGrid.
1254
+ * @property [childContextMenuMarginLeft = -5] - Style of childContextMenuMarginLeft.
1255
+ * @property [childContextMenuMarginTop = 0] - Style of childContextMenuMarginTop.
1256
+ * @property [childContextMenuArrowHTML = ►] - Style of childContextMenuArrowHTML.
1257
+ * @property [childContextMenuArrowColor = rgba(43, 48, 43, 1)] - Style of childContextMenuArrowColor.
1258
+ * @property [columnGroupRowHeight = 25] - Style of columnGroupRowHeight.
1259
+ * @property [contextMenuChildArrowFontSize = 12px] - Style of contextMenuChildArrowFontSize.
1260
+ * @property [cellWidth = 250] - Style of cellWidth.
1261
+ * @property [contextMenuBackground = rgba(240, 240, 240, 1)] - Style of contextMenuBackground.
1262
+ * @property [contextMenuBorder = solid 1px rgba(158, 163, 169, 1)] - Style of contextMenuBorder.
1263
+ * @property [contextMenuBorderRadius = 3px] - Style of contextMenuBorderRadius.
1264
+ * @property [contextMenuColor = rgba(43, 48, 43, 1)] - Style of contextMenuColor.
1265
+ * @property [contextMenuCursor = default] - Style of contextMenuCursor.
1266
+ * @property [contextMenuFilterInvalidExpresion = rgba(237, 155, 156, 1)] - Style of contextMenuFilterInvalidExpresion.
1267
+ * @property [contextMenuFontFamily = sans-serif] - Style of contextMenuFontFamily.
1268
+ * @property [contextMenuFontSize = 16px] - Style of contextMenuFontSize.
1269
+ * @property [contextMenuHoverBackground = rgba(182, 205, 250, 1)] - Style of contextMenuHoverBackground.
1270
+ * @property [contextMenuHoverColor = rgba(43, 48, 153, 1)] - Style of contextMenuHoverColor.
1271
+ * @property [contextMenuItemBorderRadius = 3px] - Style of contextMenuItemBorderRadius.
1272
+ * @property [contextMenuItemMargin = 2px] - Style of contextMenuItemMargin.
1273
+ * @property [contextMenuLabelDisplay = inline-block] - Style of contextMenuLabelDisplay.
1274
+ * @property [contextMenuLabelMargin = 0 3px 0 0] - Style of contextMenuLabelMargin.
1275
+ * @property [contextMenuLabelMaxWidth = 700px] - Style of contextMenuLabelMaxWidth.
1276
+ * @property [contextMenuLabelMinWidth = 75px] - Style of contextMenuLabelMinWidth.
1277
+ * @property [contextMenuMarginLeft = 3] - Style of contextMenuMarginLeft.
1278
+ * @property [contextMenuMarginTop = -3] - Style of contextMenuMarginTop.
1279
+ * @property [contextMenuWindowMargin = 6] - Style of contextMenuWindowMargin.
1280
+ * @property [contextMenuOpacity = 0.98] - Style of contextMenuOpacity.
1281
+ * @property [contextMenuPadding = 2px] - Style of contextMenuPadding.
1282
+ * @property [contextMenuArrowUpHTML = ▲] - Style of contextMenuArrowUpHTML.
1283
+ * @property [contextMenuArrowDownHTML = ▼] - Style of contextMenuArrowDownHTML.
1284
+ * @property [contextMenuArrowColor = rgba(43, 48, 43, 1)] - Style of contextMenuArrowColor.
1285
+ * @property [contextMenuZIndex = 10000] - Style of contextMenuZIndex.
1286
+ * @property [contextFilterButtonHTML = ▼] - Style of contextFilterButtonHTML.
1287
+ * @property [contextFilterButtonBorder = solid 1px rgba(158, 163, 169, 1)] - Style of contextFilterButtonBorder.
1288
+ * @property [contextFilterButtonBorderRadius = 3px] - Style of contextFilterButtonBorderRadius.
1289
+ * @property [cornerCellBackgroundColor = rgba(240, 240, 240, 1)] - Style of cornerCellBackgroundColor.
1290
+ * @property [cornerCellBorderColor = rgba(202, 202, 202, 1)] - Style of cornerCellBorderColor.
1291
+ * @property [debugBackgroundColor = rgba(0, 0, 0, .0)] - Style of debugBackgroundColor.
1292
+ * @property [debugColor = rgba(255, 15, 24, 1)] - Style of debugColor.
1293
+ * @property [debugEntitiesColor = rgba(76, 231, 239, 1.00)] - Style of debugEntitiesColor.
1294
+ * @property [debugFont = 11px sans-serif] - Style of debugFont.
1295
+ * @property [debugPerfChartBackground = rgba(29, 25, 26, 1.00)] - Style of debugPerfChartBackground.
1296
+ * @property [debugPerfChartTextColor = rgba(255, 255, 255, 0.8)] - Style of debugPerfChartTextColor.
1297
+ * @property [debugPerformanceColor = rgba(252, 255, 37, 1.00)] - Style of debugPerformanceColor.
1298
+ * @property [debugScrollHeightColor = rgba(252, 255, 37, 1.00)] - Style of debugScrollHeightColor.
1299
+ * @property [debugScrollWidthColor = rgba(66, 255, 27, 1.00)] - Style of debugScrollWidthColor.
1300
+ * @property [debugTouchPPSXColor = rgba(246, 102, 24, 1.00)] - Style of debugTouchPPSXColor.
1301
+ * @property [debugTouchPPSYColor = rgba(186, 0, 255, 1.00)] - Style of debugTouchPPSYColor.
1302
+ * @property [editCellBorder = solid 1px rgba(110, 168, 255, 1)] - Style of editCellBorder.
1303
+ * @property [editCellBoxShadow = 0 2px 5px rgba(0,0,0,0.4)] - Style of editCellBoxShadow.
1304
+ * @property [editCellFontFamily = sans-serif] - Style of editCellFontFamily.
1305
+ * @property [editCellFontSize = 16px] - Style of editCellFontSize.
1306
+ * @property [editCellPaddingLeft = 4] - Style of editCellPaddingLeft.
1307
+ * @property [editCellColor = black] - Style of editCellColor.
1308
+ * @property [editCellBackgroundColor = white] - Style of editCellBackgroundColor.
1309
+ * @property [editCellZIndex = 10000] - Style of editCellZIndex.
1310
+ * @property [fillOverlayBorderColor = rgba(127, 127, 127, 1)] - Style of fillOverlayBorderColor.
1311
+ * @property [fillOverlayBorderWidth = 2] - Style of fillOverlayBorderWidth.
1312
+ * @property [gridBackgroundColor = rgba(240, 240, 240, 1)] - Style of gridBackgroundColor.
1313
+ * @property [gridBorderColor = rgba(202, 202, 202, 1)] - Style of gridBorderColor.
1314
+ * @property [gridBorderWidth = 1] - Style of gridBorderWidth.
1315
+ * @property [groupIndicatorColor = rgba(155, 155, 155, 1)'] - Foreground color of the group indicator(icon).
1316
+ * @property [groupIndicatorBackgroundColor = rgba(255, 255, 255, 1)'] - Background color of the group indicator(icon).
1317
+ * @property [columnHeaderCellBackgroundColor = rgba(240, 240, 240, 1)] - Style of columnHeaderCellBackgroundColor.
1318
+ * @property [columnHeaderCellBorderColor = rgba(172, 172, 172, 1)] - Style of columnHeaderCellBackgroundColor.
1319
+ * @property [columnHeaderCellBorderWidth = 1] - Style of columnHeaderCellBackgroundColor.
1320
+ * @property [columnHeaderCellCapBackgroundColor = rgba(240, 240, 240, 1)] - Style of columnHeaderCellCapBackgroundColor.
1321
+ * @property [columnHeaderCellCapBorderColor = rgba(172, 172, 172, 1)] - Style of columnHeaderCellCapBackgroundColor.
1322
+ * @property [columnHeaderCellCapBorderWidth = 1] - Style of columnHeaderCellCapBackgroundColor.
1323
+ * @property [columnHeaderCellBorderColor = rgba(152, 152, 152, 1)] - Style of columnHeaderCellBorderColor.
1324
+ * @property [columnHeaderCellBorderWidth = 0.25] - Style of columnHeaderCellBorderWidth.
1325
+ * @property [columnHeaderCellColor = rgba(50, 50, 50, 1)] - Style of columnHeaderCellColor.
1326
+ * @property [columnHeaderCellFont = 16px sans-serif] - Style of columnHeaderCellFont.
1327
+ * @property [columnHeaderCellHeight = 25] - Style of columnHeaderCellHeight.
1328
+ * @property [columnHeaderCellHorizontalAlignment = left] - Style of columnHeaderCellHorizontalAlignment.
1329
+ * @property [columnHeaderCellHoverBackgroundColor = rgba(235, 235, 235, 1)] - Style of columnHeaderCellHoverBackgroundColor.
1330
+ * @property [columnHeaderCellHoverColor = rgba(0, 0, 0, 1)] - Style of columnHeaderCellHoverColor.
1331
+ * @property [columnHeaderCellPaddingBottom = 5] - Style of columnHeaderCellPaddingBottom.
1332
+ * @property [columnHeaderCellPaddingLeft = 5] - Style of columnHeaderCellPaddingLeft.
1333
+ * @property [columnHeaderCellPaddingRight = 7] - Style of columnHeaderCellPaddingRight.
1334
+ * @property [columnHeaderCellPaddingTop = 5] - Style of columnHeaderCellPaddingTop.
1335
+ * @property [columnHeaderCellVerticalAlignment = center] - Style of columnHeaderCellVerticalAlignment.
1336
+ * @property [columnHeaderOrderByArrowBorderColor = rgba(195, 199, 202, 1)] - Style of columnHeaderOrderByArrowBorderColor.
1337
+ * @property [columnHeaderOrderByArrowBorderWidth = 1] - Style of columnHeaderOrderByArrowBorderWidth.
1338
+ * @property [columnHeaderOrderByArrowColor = rgba(155, 155, 155, 1)] - Style of columnHeaderOrderByArrowColor.
1339
+ * @property [columnHeaderOrderByArrowHeight = 8] - Style of columnHeaderOrderByArrowHeight.
1340
+ * @property [columnHeaderOrderByArrowMarginLeft = 0] - Style of columnHeaderOrderByArrowMarginLeft.
1341
+ * @property [columnHeaderOrderByArrowMarginRight = 5] - Style of columnHeaderOrderByArrowMarginRight.
1342
+ * @property [columnHeaderOrderByArrowMarginTop = 6] - Style of columnHeaderOrderByArrowMarginTop.
1343
+ * @property [columnHeaderOrderByArrowWidth = 13] - Style of columnHeaderOrderByArrowWidth.
1344
+ * @property [rowHeaderCellWidth = 57] - Style of rowHeaderCellWidth.
1345
+ * @property [minColumnWidth = 45] - Style of minColumnWidth.
1346
+ * @property [height = auto] - Style of height.
1347
+ * @property [minHeight = 24] - Style of minHeight.
1348
+ * @property [minRowHeight = 24] - Style of minRowHeight.
1349
+ * @property [name = default] - Style of name.
1350
+ * @property [reorderMarkerBackgroundColor = rgba(0, 0, 0, 0.1)] - Style of reorderMarkerBackgroundColor.
1351
+ * @property [reorderMarkerBorderColor = rgba(0, 0, 0, 0.2)] - Style of reorderMarkerBorderColor.
1352
+ * @property [reorderMarkerBorderWidth = 1.25] - Style of reorderMarkerBorderWidth.
1353
+ * @property [reorderMarkerIndexBorderColor = rgba(66, 133, 244, 1)] - Style of reorderMarkerIndexBorderColor.
1354
+ * @property [reorderMarkerIndexBorderWidth = 2.75] - Style of reorderMarkerIndexBorderWidth.
1355
+ * @property [resizeMarkerColor = rgba(0, 0, 0, 0.2)] - Style of resizeMarkerColor.
1356
+ * @property [resizeMarkerSize = 2] - Style of resizeMarkerSize.
1357
+ * @property [rowGroupColumnWidth = 25] - Style of rowGroupColumnWidth.
1358
+ * @property [rowHeaderCellBackgroundColor = rgba(240, 240, 240, 1)] - Style of rowHeaderCellBackgroundColor.
1359
+ * @property [rowHeaderCellBorderColor = rgba(152, 152, 152, 1)] - Style of rowHeaderCellBorderColor.
1360
+ * @property [rowHeaderCellBorderWidth = 0.25] - Style of rowHeaderCellBorderWidth.
1361
+ * @property [rowHeaderCellColor = rgba(50, 50, 50, 1)] - Style of rowHeaderCellColor.
1362
+ * @property [rowHeaderCellFont = 16px sans-serif] - Style of rowHeaderCellFont.
1363
+ * @property [rowHeaderCellHeight = 25] - Style of rowHeaderCellHeight.
1364
+ * @property [rowHeaderCellHorizontalAlignment = left] - Style of rowHeaderCellHorizontalAlignment.
1365
+ * @property [rowHeaderCellHoverBackgroundColor = rgba(235, 235, 235, 1)] - Style of rowHeaderCellHoverBackgroundColor.
1366
+ * @property [rowHeaderCellHoverColor = rgba(0, 0, 0, 1)] - Style of rowHeaderCellHoverColor.
1367
+ * @property [rowHeaderCellPaddingBottom = 5] - Style of rowHeaderCellPaddingBottom.
1368
+ * @property [rowHeaderCellPaddingLeft = 5] - Style of rowHeaderCellPaddingLeft.
1369
+ * @property [rowHeaderCellPaddingRight = 5] - Style of rowHeaderCellPaddingRight.
1370
+ * @property [rowHeaderCellPaddingTop = 5] - Style of rowHeaderCellPaddingTop.
1371
+ * @property [rowHeaderCellRowNumberGapHeight = 5] - Style of rowHeaderCellRowNumberGapHeight.
1372
+ * @property [rowHeaderCellRowNumberGapColor = rgba(50, 50, 50, 1)] - Style of rowHeaderCellRowNumberGapColor.
1373
+ * @property [rowHeaderCellSelectedBackgroundColor = rgba(217, 217, 217, 1)] - Style of rowHeaderCellSelectedBackgroundColor.
1374
+ * @property [rowHeaderCellSelectedColor = rgba(50, 50, 50, 1)] - Style of rowHeaderCellSelectedColor.
1375
+ * @property [rowHeaderCellVerticalAlignment = center] - Style of rowHeaderCellVerticalAlignment.
1376
+ * @property [scrollBarActiveColor = rgba(125, 125, 125, 1)] - Style of scrollBarActiveColor.
1377
+ * @property [scrollBarBackgroundColor = rgba(240, 240, 240, 1)] - Style of scrollBarBackgroundColor.
1378
+ * @property [scrollBarBorderColor = rgba(202, 202, 202, 1)] - Style of scrollBarBorderColor.
1379
+ * @property [scrollBarBorderWidth = 0.5] - Style of scrollBarBorderWidth.
1380
+ * @property [scrollBarBoxBorderRadius = 3] - Style of scrollBarBoxBorderRadius.
1381
+ * @property [scrollBarBoxColor = rgba(192, 192, 192, 1)] - Style of scrollBarBoxColor.
1382
+ * @property [scrollBarBoxMargin = 2] - Style of scrollBarBoxMargin.
1383
+ * @property [scrollBarBoxMinSize = 15] - Style of scrollBarBoxMinSize.
1384
+ * @property [scrollBarBoxWidth = 8] - Style of scrollBarBoxWidth.
1385
+ * @property [scrollBarCornerBackgroundColor = rgba(240, 240, 240, 1)] - Style of scrollBarCornerBackgroundColor.
1386
+ * @property [scrollBarCornerBorderColor = rgba(202, 202, 202, 1)] - Style of scrollBarCornerBorderColor.
1387
+ * @property [scrollBarWidth = 11] - Style of scrollBarWidth.
1388
+ * @property [selectionOverlayBorderColor = rgba(66, 133, 244, 1)] - Style of selectionOverlayBorderColor.
1389
+ * @property [selectionOverlayBorderWidth = 0.75] - Style of selectionOverlayBorderWidth.
1390
+ * @property [treeArrowBorderColor = rgba(195, 199, 202, 1)] - Style of treeArrowBorderColor.
1391
+ * @property [treeArrowBorderWidth = 1] - Style of treeArrowBorderWidth.
1392
+ * @property [treeArrowClickRadius = 5] - Style of treeArrowClickRadius.
1393
+ * @property [treeArrowColor = rgba(155, 155, 155, 1)] - Style of treeArrowColor.
1394
+ * @property [treeArrowHeight = 8] - Style of treeArrowHeight.
1395
+ * @property [treeArrowMarginLeft = 0] - Style of treeArrowMarginLeft.
1396
+ * @property [treeArrowMarginRight = 5] - Style of treeArrowMarginRight.
1397
+ * @property [treeArrowMarginTop = 6] - Style of treeArrowMarginTop.
1398
+ * @property [treeArrowWidth = 13] - Style of treeArrowWidth.
1399
+ * @property [treeGridHeight = 250] - Style of treeGridHeight.
1400
+ * @property [selectionHandleColor = rgba(66, 133, 244, 1)] - Style of selectionHandleColor.
1401
+ * @property [selectionHandleBorderColor = rgba(255, 255, 255, 1)] - Style of selectionHandleBorderColor.
1402
+ * @property [selectionHandleSize = 8] - Style of selectionHandleSize.
1403
+ * @property [selectionHandleBorderWidth = 1.5] - Style of selectionHandleBorderWidth.
1404
+ * @property [selectionHandleType = 'square'] - Style of selectionHandleType. Can be square or circle.
1405
+ * @property [moveOverlayBorderWidth = 1] - Style of moveOverlayBorderWidth.
1406
+ * @property [moveOverlayBorderColor = 'rgba(66, 133, 244, 1)'] - Style of moveOverlayBorderColor.
1407
+ * @property [moveOverlayBorderSegments = '12, 7'] - Style of moveOverlayBorderSegments.
1408
+ * @property [frozenMarkerActiveColor = 'rgba(236, 243, 255, 1)'] - Style of frozenMarkerActiveColor.
1409
+ * @property [frozenMarkerActiveBorderColor = 'rgba(110, 168, 255, 1)'] - Style of frozenMarkerActiveBorderColor.
1410
+ * @property [frozenMarkerColor = 'rgba(222, 222, 222, 1)'] - Style of frozenMarkerColor.
1411
+ * @property [frozenMarkerBorderColor = 'rgba(202, 202, 202, 1)'] - Style of frozenMarkerBorderColor.
1412
+ * @property [frozenMarkerBorderWidth = 1] - Style of frozenMarkerBorderWidth.
1413
+ * @property [frozenMarkerWidth = 1] - Style of frozenMarkerWidth.
1414
+ * @property [overflowY = auto] - When set to hidden, vertical scroll bar will be hidden. When set to auto vertical scroll bar will appear when data overflows the height. When set to scroll the vertical scrollbar will always be visible.
1415
+ * @property [overflowX = auto] - When set to hidden, horizontal scroll bar will be hidden. When set to auto horizontal scroll bar will appear when data overflows the width. When set to scroll the horizontal scrollbar will always be visible.
1416
+ * @property [width = auto] - Style of width.
1417
+ *
1418
+ * ['', 'normal'],
1419
+ */
1420
+ class style {
1421
+ /**
1422
+ * Style of activeCellBackgroundColor.
1423
+ */
1424
+ activeCellBackgroundColor?: string;
1425
+ /**
1426
+ * Style of activeCellBorderColor.
1427
+ */
1428
+ activeCellBorderColor?: string;
1429
+ /**
1430
+ * Style of activeCellBorderWidth.
1431
+ */
1432
+ activeCellBorderWidth?: number;
1433
+ /**
1434
+ * Style of activeCellColor.
1435
+ */
1436
+ activeCellColor?: string;
1437
+ /**
1438
+ * Style of activeCellFont.
1439
+ */
1440
+ activeCellFont?: string;
1441
+ /**
1442
+ * Style of activeCellHoverBackgroundColor.
1443
+ */
1444
+ activeCellHoverBackgroundColor?: string;
1445
+ /**
1446
+ * Style of activeCellHorizontalAlignment.
1447
+ */
1448
+ activeCellHorizontalAlignment?: string;
1449
+ /**
1450
+ * Style of activeCellHoverColor.
1451
+ */
1452
+ activeCellHoverColor?: string;
1453
+ /**
1454
+ * Style of activeCellOverlayBorderColor.
1455
+ */
1456
+ activeCellOverlayBorderColor?: string;
1457
+ /**
1458
+ * Style of activeCellOverlayBorderWidth.
1459
+ */
1460
+ activeCellOverlayBorderWidth?: number;
1461
+ /**
1462
+ * Style of activeCellPaddingBottom.
1463
+ */
1464
+ activeCellPaddingBottom?: number;
1465
+ /**
1466
+ * Style of activeCellPaddingLeft.
1467
+ */
1468
+ activeCellPaddingLeft?: number;
1469
+ /**
1470
+ * Style of activeCellPaddingRight.
1471
+ */
1472
+ activeCellPaddingRight?: number;
1473
+ /**
1474
+ * Style of activeCellPaddingTop.
1475
+ */
1476
+ activeCellPaddingTop?: number;
1477
+ /**
1478
+ * Style of activeCellSelectedBackgroundColor.
1479
+ */
1480
+ activeCellSelectedBackgroundColor?: string;
1481
+ /**
1482
+ * Style of activeCellSelectedColor.
1483
+ */
1484
+ activeCellSelectedColor?: string;
1485
+ /**
1486
+ * Style of activeCellVerticalAlignment.
1487
+ */
1488
+ activeCellVerticalAlignment?: string;
1489
+ /**
1490
+ * Style of activeColumnHeaderCellBackgroundColor.
1491
+ */
1492
+ activeColumnHeaderCellBackgroundColor?: string;
1493
+ /**
1494
+ * Style of activeColumnHeaderCellColor.
1495
+ */
1496
+ activeColumnHeaderCellColor?: string;
1497
+ /**
1498
+ * Style of activeRowHeaderCellBackgroundColor.
1499
+ */
1500
+ activeRowHeaderCellBackgroundColor?: string;
1501
+ /**
1502
+ * Style of activeRowHeaderCellColor.
1503
+ */
1504
+ activeRowHeaderCellColor?: string;
1505
+ /**
1506
+ * Style of autocompleteBottomMargin.
1507
+ */
1508
+ autocompleteBottomMargin?: number;
1509
+ /**
1510
+ * Style of autosizeHeaderCellPadding.
1511
+ */
1512
+ autosizeHeaderCellPadding?: number;
1513
+ /**
1514
+ * Style of autosizePadding.
1515
+ */
1516
+ autosizePadding?: number;
1517
+ /**
1518
+ * Style of gridBorderCollapse. When grid border collapse is set to the default value of `collapse`, the bottom border and the top border of the next cell down will be merged into a single border. The only other setting is `expand` which allows the full border to be drawn.
1519
+ */
1520
+ gridBorderCollapse?: string;
1521
+ /**
1522
+ * Style of cellAutoResizePadding.
1523
+ */
1524
+ cellAutoResizePadding?: number;
1525
+ /**
1526
+ * Style of cellBackgroundColor.
1527
+ */
1528
+ cellBackgroundColor?: string;
1529
+ /**
1530
+ * Style of cellBorderColor.
1531
+ */
1532
+ cellBorderColor?: string;
1533
+ /**
1534
+ * Style of cellBorderWidth.
1535
+ */
1536
+ cellBorderWidth?: number;
1537
+ /**
1538
+ * Style of cellColor.
1539
+ */
1540
+ cellColor?: string;
1541
+ /**
1542
+ * Style of cellFont.
1543
+ */
1544
+ cellFont?: string;
1545
+ /**
1546
+ * Style of cellGridHeight.
1547
+ */
1548
+ cellGridHeight?: number;
1549
+ /**
1550
+ * Style of cellHeight.
1551
+ */
1552
+ cellHeight?: number;
1553
+ /**
1554
+ * Style of cellHeightWithChildGrid.
1555
+ */
1556
+ cellHeightWithChildGrid?: number;
1557
+ /**
1558
+ * Style of cellHorizontalAlignment.
1559
+ */
1560
+ cellHorizontalAlignment?: string;
1561
+ /**
1562
+ * Style of cellHoverBackgroundColor.
1563
+ */
1564
+ cellHoverBackgroundColor?: string;
1565
+ /**
1566
+ * Style of cellHoverColor.
1567
+ */
1568
+ cellHoverColor?: string;
1569
+ /**
1570
+ * Style of cellPaddingBottom.
1571
+ */
1572
+ cellPaddingBottom?: number;
1573
+ /**
1574
+ * Style of cellPaddingLeft.
1575
+ */
1576
+ cellPaddingLeft?: number;
1577
+ /**
1578
+ * Style of cellPaddingRight.
1579
+ */
1580
+ cellPaddingRight?: number;
1581
+ /**
1582
+ * Style of cellPaddingTop.
1583
+ */
1584
+ cellPaddingTop?: number;
1585
+ /**
1586
+ * Style of cellSelectedBackgroundColor.
1587
+ */
1588
+ cellSelectedBackgroundColor?: string;
1589
+ /**
1590
+ * Style of cellSelectedColor.
1591
+ */
1592
+ cellSelectedColor?: string;
1593
+ /**
1594
+ * Style of cellVerticalAlignment.
1595
+ */
1596
+ cellVerticalAlignment?: string;
1597
+ /**
1598
+ * Style of cellWhiteSpace. Can be 'nowrap' or 'normal'.
1599
+ */
1600
+ cellWhiteSpace?: string;
1601
+ /**
1602
+ * The line height of each wrapping line as a percentage.
1603
+ */
1604
+ cellLineHeight?: number;
1605
+ /**
1606
+ * Style of cellLineSpacing.
1607
+ */
1608
+ cellLineSpacing?: number;
1609
+ /**
1610
+ * Style of cellWidthWithChildGrid.
1611
+ */
1612
+ cellWidthWithChildGrid?: number;
1613
+ /**
1614
+ * Style of childContextMenuMarginLeft.
1615
+ */
1616
+ childContextMenuMarginLeft?: number;
1617
+ /**
1618
+ * Style of childContextMenuMarginTop.
1619
+ */
1620
+ childContextMenuMarginTop?: number;
1621
+ /**
1622
+ * Style of childContextMenuArrowHTML.
1623
+ */
1624
+ childContextMenuArrowHTML?: string;
1625
+ /**
1626
+ * Style of childContextMenuArrowColor.
1627
+ */
1628
+ childContextMenuArrowColor?: string;
1629
+ /**
1630
+ * Style of columnGroupRowHeight.
1631
+ */
1632
+ columnGroupRowHeight?: number;
1633
+ /**
1634
+ * Style of contextMenuChildArrowFontSize.
1635
+ */
1636
+ contextMenuChildArrowFontSize?: string;
1637
+ /**
1638
+ * Style of cellWidth.
1639
+ */
1640
+ cellWidth?: number;
1641
+ /**
1642
+ * Style of contextMenuBackground.
1643
+ */
1644
+ contextMenuBackground?: string;
1645
+ /**
1646
+ * Style of contextMenuBorder.
1647
+ */
1648
+ contextMenuBorder?: string;
1649
+ /**
1650
+ * Style of contextMenuBorderRadius.
1651
+ */
1652
+ contextMenuBorderRadius?: string;
1653
+ /**
1654
+ * Style of contextMenuColor.
1655
+ */
1656
+ contextMenuColor?: string;
1657
+ /**
1658
+ * Style of contextMenuCursor.
1659
+ */
1660
+ contextMenuCursor?: string;
1661
+ /**
1662
+ * Style of contextMenuFilterInvalidExpresion.
1663
+ */
1664
+ contextMenuFilterInvalidExpresion?: string;
1665
+ /**
1666
+ * Style of contextMenuFontFamily.
1667
+ */
1668
+ contextMenuFontFamily?: string;
1669
+ /**
1670
+ * Style of contextMenuFontSize.
1671
+ */
1672
+ contextMenuFontSize?: string;
1673
+ /**
1674
+ * Style of contextMenuHoverBackground.
1675
+ */
1676
+ contextMenuHoverBackground?: string;
1677
+ /**
1678
+ * Style of contextMenuHoverColor.
1679
+ */
1680
+ contextMenuHoverColor?: string;
1681
+ /**
1682
+ * Style of contextMenuItemBorderRadius.
1683
+ */
1684
+ contextMenuItemBorderRadius?: string;
1685
+ /**
1686
+ * Style of contextMenuItemMargin.
1687
+ */
1688
+ contextMenuItemMargin?: string;
1689
+ /**
1690
+ * Style of contextMenuLabelDisplay.
1691
+ */
1692
+ contextMenuLabelDisplay?: string;
1693
+ /**
1694
+ * Style of contextMenuLabelMargin.
1695
+ */
1696
+ contextMenuLabelMargin?: string;
1697
+ /**
1698
+ * Style of contextMenuLabelMaxWidth.
1699
+ */
1700
+ contextMenuLabelMaxWidth?: string;
1701
+ /**
1702
+ * Style of contextMenuLabelMinWidth.
1703
+ */
1704
+ contextMenuLabelMinWidth?: string;
1705
+ /**
1706
+ * Style of contextMenuMarginLeft.
1707
+ */
1708
+ contextMenuMarginLeft?: number;
1709
+ /**
1710
+ * Style of contextMenuMarginTop.
1711
+ */
1712
+ contextMenuMarginTop?: number;
1713
+ /**
1714
+ * Style of contextMenuWindowMargin.
1715
+ */
1716
+ contextMenuWindowMargin?: number;
1717
+ /**
1718
+ * Style of contextMenuOpacity.
1719
+ */
1720
+ contextMenuOpacity?: string;
1721
+ /**
1722
+ * Style of contextMenuPadding.
1723
+ */
1724
+ contextMenuPadding?: string;
1725
+ /**
1726
+ * Style of contextMenuArrowUpHTML.
1727
+ */
1728
+ contextMenuArrowUpHTML?: string;
1729
+ /**
1730
+ * Style of contextMenuArrowDownHTML.
1731
+ */
1732
+ contextMenuArrowDownHTML?: string;
1733
+ /**
1734
+ * Style of contextMenuArrowColor.
1735
+ */
1736
+ contextMenuArrowColor?: string;
1737
+ /**
1738
+ * Style of contextMenuZIndex.
1739
+ */
1740
+ contextMenuZIndex?: number;
1741
+ /**
1742
+ * Style of contextFilterButtonHTML.
1743
+ */
1744
+ contextFilterButtonHTML?: string;
1745
+ /**
1746
+ * Style of contextFilterButtonBorder.
1747
+ */
1748
+ contextFilterButtonBorder?: string;
1749
+ /**
1750
+ * Style of contextFilterButtonBorderRadius.
1751
+ */
1752
+ contextFilterButtonBorderRadius?: string;
1753
+ /**
1754
+ * Style of cornerCellBackgroundColor.
1755
+ */
1756
+ cornerCellBackgroundColor?: string;
1757
+ /**
1758
+ * Style of cornerCellBorderColor.
1759
+ */
1760
+ cornerCellBorderColor?: string;
1761
+ /**
1762
+ * Style of debugBackgroundColor.
1763
+ */
1764
+ debugBackgroundColor?: string;
1765
+ /**
1766
+ * Style of debugColor.
1767
+ */
1768
+ debugColor?: string;
1769
+ /**
1770
+ * Style of debugEntitiesColor.
1771
+ */
1772
+ debugEntitiesColor?: string;
1773
+ /**
1774
+ * Style of debugFont.
1775
+ */
1776
+ debugFont?: string;
1777
+ /**
1778
+ * Style of debugPerfChartBackground.
1779
+ */
1780
+ debugPerfChartBackground?: string;
1781
+ /**
1782
+ * Style of debugPerfChartTextColor.
1783
+ */
1784
+ debugPerfChartTextColor?: string;
1785
+ /**
1786
+ * Style of debugPerformanceColor.
1787
+ */
1788
+ debugPerformanceColor?: string;
1789
+ /**
1790
+ * Style of debugScrollHeightColor.
1791
+ */
1792
+ debugScrollHeightColor?: string;
1793
+ /**
1794
+ * Style of debugScrollWidthColor.
1795
+ */
1796
+ debugScrollWidthColor?: string;
1797
+ /**
1798
+ * Style of debugTouchPPSXColor.
1799
+ */
1800
+ debugTouchPPSXColor?: string;
1801
+ /**
1802
+ * Style of debugTouchPPSYColor.
1803
+ */
1804
+ debugTouchPPSYColor?: string;
1805
+ /**
1806
+ * Style of editCellBorder.
1807
+ */
1808
+ editCellBorder?: string;
1809
+ /**
1810
+ * Style of editCellBoxShadow.
1811
+ */
1812
+ editCellBoxShadow?: string;
1813
+ /**
1814
+ * Style of editCellFontFamily.
1815
+ */
1816
+ editCellFontFamily?: string;
1817
+ /**
1818
+ * Style of editCellFontSize.
1819
+ */
1820
+ editCellFontSize?: string;
1821
+ /**
1822
+ * Style of editCellPaddingLeft.
1823
+ */
1824
+ editCellPaddingLeft?: number;
1825
+ /**
1826
+ * Style of editCellColor.
1827
+ */
1828
+ editCellColor?: string;
1829
+ /**
1830
+ * Style of editCellBackgroundColor.
1831
+ */
1832
+ editCellBackgroundColor?: string;
1833
+ /**
1834
+ * Style of editCellZIndex.
1835
+ */
1836
+ editCellZIndex?: number;
1837
+ /**
1838
+ * Style of fillOverlayBorderColor.
1839
+ */
1840
+ fillOverlayBorderColor?: string;
1841
+ /**
1842
+ * Style of fillOverlayBorderWidth.
1843
+ */
1844
+ fillOverlayBorderWidth?: number;
1845
+ /**
1846
+ * Style of gridBackgroundColor.
1847
+ */
1848
+ gridBackgroundColor?: string;
1849
+ /**
1850
+ * Style of gridBorderColor.
1851
+ */
1852
+ gridBorderColor?: string;
1853
+ /**
1854
+ * Style of gridBorderWidth.
1855
+ */
1856
+ gridBorderWidth?: number;
1857
+ /**
1858
+ * Foreground color of the group indicator(icon).
1859
+ */
1860
+ groupIndicatorColor?: string;
1861
+ /**
1862
+ * Background color of the group indicator(icon).
1863
+ */
1864
+ groupIndicatorBackgroundColor?: string;
1865
+ /**
1866
+ * Style of columnHeaderCellBackgroundColor.
1867
+ */
1868
+ columnHeaderCellBackgroundColor?: string;
1869
+ /**
1870
+ * Style of columnHeaderCellBorderColor.
1871
+ */
1872
+ columnHeaderCellBorderColor?: string;
1873
+ /**
1874
+ * Style of columnHeaderCellBorderWidth.
1875
+ */
1876
+ columnHeaderCellBorderWidth?: number;
1877
+ /**
1878
+ * Style of columnHeaderCellCapBackgroundColor.
1879
+ */
1880
+ columnHeaderCellCapBackgroundColor?: string;
1881
+ /**
1882
+ * Style of columnHeaderCellCapBackgroundColor.
1883
+ */
1884
+ columnHeaderCellCapBorderColor?: string;
1885
+ /**
1886
+ * Style of columnHeaderCellCapBackgroundColor.
1887
+ */
1888
+ columnHeaderCellCapBorderWidth?: number;
1889
+ /**
1890
+ * Style of columnHeaderCellBorderColor.
1891
+ */
1892
+ columnHeaderCellBorderColor?: string;
1893
+ /**
1894
+ * Style of columnHeaderCellBorderWidth.
1895
+ */
1896
+ columnHeaderCellBorderWidth?: number;
1897
+ /**
1898
+ * Style of columnHeaderCellColor.
1899
+ */
1900
+ columnHeaderCellColor?: string;
1901
+ /**
1902
+ * Style of columnHeaderCellFont.
1903
+ */
1904
+ columnHeaderCellFont?: string;
1905
+ /**
1906
+ * Style of columnHeaderCellHeight.
1907
+ */
1908
+ columnHeaderCellHeight?: number;
1909
+ /**
1910
+ * Style of columnHeaderCellHorizontalAlignment.
1911
+ */
1912
+ columnHeaderCellHorizontalAlignment?: string;
1913
+ /**
1914
+ * Style of columnHeaderCellHoverBackgroundColor.
1915
+ */
1916
+ columnHeaderCellHoverBackgroundColor?: string;
1917
+ /**
1918
+ * Style of columnHeaderCellHoverColor.
1919
+ */
1920
+ columnHeaderCellHoverColor?: string;
1921
+ /**
1922
+ * Style of columnHeaderCellPaddingBottom.
1923
+ */
1924
+ columnHeaderCellPaddingBottom?: number;
1925
+ /**
1926
+ * Style of columnHeaderCellPaddingLeft.
1927
+ */
1928
+ columnHeaderCellPaddingLeft?: number;
1929
+ /**
1930
+ * Style of columnHeaderCellPaddingRight.
1931
+ */
1932
+ columnHeaderCellPaddingRight?: number;
1933
+ /**
1934
+ * Style of columnHeaderCellPaddingTop.
1935
+ */
1936
+ columnHeaderCellPaddingTop?: number;
1937
+ /**
1938
+ * Style of columnHeaderCellVerticalAlignment.
1939
+ */
1940
+ columnHeaderCellVerticalAlignment?: string;
1941
+ /**
1942
+ * Style of columnHeaderOrderByArrowBorderColor.
1943
+ */
1944
+ columnHeaderOrderByArrowBorderColor?: string;
1945
+ /**
1946
+ * Style of columnHeaderOrderByArrowBorderWidth.
1947
+ */
1948
+ columnHeaderOrderByArrowBorderWidth?: number;
1949
+ /**
1950
+ * Style of columnHeaderOrderByArrowColor.
1951
+ */
1952
+ columnHeaderOrderByArrowColor?: string;
1953
+ /**
1954
+ * Style of columnHeaderOrderByArrowHeight.
1955
+ */
1956
+ columnHeaderOrderByArrowHeight?: number;
1957
+ /**
1958
+ * Style of columnHeaderOrderByArrowMarginLeft.
1959
+ */
1960
+ columnHeaderOrderByArrowMarginLeft?: number;
1961
+ /**
1962
+ * Style of columnHeaderOrderByArrowMarginRight.
1963
+ */
1964
+ columnHeaderOrderByArrowMarginRight?: number;
1965
+ /**
1966
+ * Style of columnHeaderOrderByArrowMarginTop.
1967
+ */
1968
+ columnHeaderOrderByArrowMarginTop?: number;
1969
+ /**
1970
+ * Style of columnHeaderOrderByArrowWidth.
1971
+ */
1972
+ columnHeaderOrderByArrowWidth?: number;
1973
+ /**
1974
+ * Style of rowHeaderCellWidth.
1975
+ */
1976
+ rowHeaderCellWidth?: number;
1977
+ /**
1978
+ * Style of minColumnWidth.
1979
+ */
1980
+ minColumnWidth?: number;
1981
+ /**
1982
+ * Style of height.
1983
+ */
1984
+ height?: number | string;
1985
+ /**
1986
+ * Style of minHeight.
1987
+ */
1988
+ minHeight?: number;
1989
+ /**
1990
+ * Style of minRowHeight.
1991
+ */
1992
+ minRowHeight?: number;
1993
+ /**
1994
+ * Style of name.
1995
+ */
1996
+ name?: string;
1997
+ /**
1998
+ * Style of reorderMarkerBackgroundColor.
1999
+ */
2000
+ reorderMarkerBackgroundColor?: string;
2001
+ /**
2002
+ * Style of reorderMarkerBorderColor.
2003
+ */
2004
+ reorderMarkerBorderColor?: string;
2005
+ /**
2006
+ * Style of reorderMarkerBorderWidth.
2007
+ */
2008
+ reorderMarkerBorderWidth?: number;
2009
+ /**
2010
+ * Style of reorderMarkerIndexBorderColor.
2011
+ */
2012
+ reorderMarkerIndexBorderColor?: string;
2013
+ /**
2014
+ * Style of reorderMarkerIndexBorderWidth.
2015
+ */
2016
+ reorderMarkerIndexBorderWidth?: number;
2017
+ /**
2018
+ * Style of resizeMarkerColor.
2019
+ */
2020
+ resizeMarkerColor?: string;
2021
+ /**
2022
+ * Style of resizeMarkerSize.
2023
+ */
2024
+ resizeMarkerSize?: number;
2025
+ /**
2026
+ * Style of rowGroupColumnWidth.
2027
+ */
2028
+ rowGroupColumnWidth?: number;
2029
+ /**
2030
+ * Style of rowHeaderCellBackgroundColor.
2031
+ */
2032
+ rowHeaderCellBackgroundColor?: string;
2033
+ /**
2034
+ * Style of rowHeaderCellBorderColor.
2035
+ */
2036
+ rowHeaderCellBorderColor?: string;
2037
+ /**
2038
+ * Style of rowHeaderCellBorderWidth.
2039
+ */
2040
+ rowHeaderCellBorderWidth?: number;
2041
+ /**
2042
+ * Style of rowHeaderCellColor.
2043
+ */
2044
+ rowHeaderCellColor?: string;
2045
+ /**
2046
+ * Style of rowHeaderCellFont.
2047
+ */
2048
+ rowHeaderCellFont?: string;
2049
+ /**
2050
+ * Style of rowHeaderCellHeight.
2051
+ */
2052
+ rowHeaderCellHeight?: number;
2053
+ /**
2054
+ * Style of rowHeaderCellHorizontalAlignment.
2055
+ */
2056
+ rowHeaderCellHorizontalAlignment?: string;
2057
+ /**
2058
+ * Style of rowHeaderCellHoverBackgroundColor.
2059
+ */
2060
+ rowHeaderCellHoverBackgroundColor?: string;
2061
+ /**
2062
+ * Style of rowHeaderCellHoverColor.
2063
+ */
2064
+ rowHeaderCellHoverColor?: string;
2065
+ /**
2066
+ * Style of rowHeaderCellPaddingBottom.
2067
+ */
2068
+ rowHeaderCellPaddingBottom?: number;
2069
+ /**
2070
+ * Style of rowHeaderCellPaddingLeft.
2071
+ */
2072
+ rowHeaderCellPaddingLeft?: number;
2073
+ /**
2074
+ * Style of rowHeaderCellPaddingRight.
2075
+ */
2076
+ rowHeaderCellPaddingRight?: number;
2077
+ /**
2078
+ * Style of rowHeaderCellPaddingTop.
2079
+ */
2080
+ rowHeaderCellPaddingTop?: number;
2081
+ /**
2082
+ * Style of rowHeaderCellRowNumberGapHeight.
2083
+ */
2084
+ rowHeaderCellRowNumberGapHeight?: number;
2085
+ /**
2086
+ * Style of rowHeaderCellRowNumberGapColor.
2087
+ */
2088
+ rowHeaderCellRowNumberGapColor?: number;
2089
+ /**
2090
+ * Style of rowHeaderCellSelectedBackgroundColor.
2091
+ */
2092
+ rowHeaderCellSelectedBackgroundColor?: string;
2093
+ /**
2094
+ * Style of rowHeaderCellSelectedColor.
2095
+ */
2096
+ rowHeaderCellSelectedColor?: string;
2097
+ /**
2098
+ * Style of rowHeaderCellVerticalAlignment.
2099
+ */
2100
+ rowHeaderCellVerticalAlignment?: string;
2101
+ /**
2102
+ * Style of scrollBarActiveColor.
2103
+ */
2104
+ scrollBarActiveColor?: string;
2105
+ /**
2106
+ * Style of scrollBarBackgroundColor.
2107
+ */
2108
+ scrollBarBackgroundColor?: string;
2109
+ /**
2110
+ * Style of scrollBarBorderColor.
2111
+ */
2112
+ scrollBarBorderColor?: string;
2113
+ /**
2114
+ * Style of scrollBarBorderWidth.
2115
+ */
2116
+ scrollBarBorderWidth?: number;
2117
+ /**
2118
+ * Style of scrollBarBoxBorderRadius.
2119
+ */
2120
+ scrollBarBoxBorderRadius?: number;
2121
+ /**
2122
+ * Style of scrollBarBoxColor.
2123
+ */
2124
+ scrollBarBoxColor?: string;
2125
+ /**
2126
+ * Style of scrollBarBoxMargin.
2127
+ */
2128
+ scrollBarBoxMargin?: number;
2129
+ /**
2130
+ * Style of scrollBarBoxMinSize.
2131
+ */
2132
+ scrollBarBoxMinSize?: number;
2133
+ /**
2134
+ * Style of scrollBarBoxWidth.
2135
+ */
2136
+ scrollBarBoxWidth?: number;
2137
+ /**
2138
+ * Style of scrollBarCornerBackgroundColor.
2139
+ */
2140
+ scrollBarCornerBackgroundColor?: string;
2141
+ /**
2142
+ * Style of scrollBarCornerBorderColor.
2143
+ */
2144
+ scrollBarCornerBorderColor?: string;
2145
+ /**
2146
+ * Style of scrollBarWidth.
2147
+ */
2148
+ scrollBarWidth?: number;
2149
+ /**
2150
+ * Style of selectionOverlayBorderColor.
2151
+ */
2152
+ selectionOverlayBorderColor?: string;
2153
+ /**
2154
+ * Style of selectionOverlayBorderWidth.
2155
+ */
2156
+ selectionOverlayBorderWidth?: number;
2157
+ /**
2158
+ * Style of treeArrowBorderColor.
2159
+ */
2160
+ treeArrowBorderColor?: string;
2161
+ /**
2162
+ * Style of treeArrowBorderWidth.
2163
+ */
2164
+ treeArrowBorderWidth?: number;
2165
+ /**
2166
+ * Style of treeArrowClickRadius.
2167
+ */
2168
+ treeArrowClickRadius?: number;
2169
+ /**
2170
+ * Style of treeArrowColor.
2171
+ */
2172
+ treeArrowColor?: string;
2173
+ /**
2174
+ * Style of treeArrowHeight.
2175
+ */
2176
+ treeArrowHeight?: number;
2177
+ /**
2178
+ * Style of treeArrowMarginLeft.
2179
+ */
2180
+ treeArrowMarginLeft?: number;
2181
+ /**
2182
+ * Style of treeArrowMarginRight.
2183
+ */
2184
+ treeArrowMarginRight?: number;
2185
+ /**
2186
+ * Style of treeArrowMarginTop.
2187
+ */
2188
+ treeArrowMarginTop?: number;
2189
+ /**
2190
+ * Style of treeArrowWidth.
2191
+ */
2192
+ treeArrowWidth?: number;
2193
+ /**
2194
+ * Style of treeGridHeight.
2195
+ */
2196
+ treeGridHeight?: number;
2197
+ /**
2198
+ * Style of selectionHandleColor.
2199
+ */
2200
+ selectionHandleColor?: string;
2201
+ /**
2202
+ * Style of selectionHandleBorderColor.
2203
+ */
2204
+ selectionHandleBorderColor?: string;
2205
+ /**
2206
+ * Style of selectionHandleSize.
2207
+ */
2208
+ selectionHandleSize?: number;
2209
+ /**
2210
+ * Style of selectionHandleBorderWidth.
2211
+ */
2212
+ selectionHandleBorderWidth?: number;
2213
+ /**
2214
+ * Style of selectionHandleType. Can be square or circle.
2215
+ */
2216
+ selectionHandleType?: string;
2217
+ /**
2218
+ * Style of moveOverlayBorderWidth.
2219
+ */
2220
+ moveOverlayBorderWidth?: number;
2221
+ /**
2222
+ * Style of moveOverlayBorderColor.
2223
+ */
2224
+ moveOverlayBorderColor?: string;
2225
+ /**
2226
+ * Style of moveOverlayBorderSegments.
2227
+ */
2228
+ moveOverlayBorderSegments?: string;
2229
+ /**
2230
+ * Style of frozenMarkerActiveColor.
2231
+ */
2232
+ frozenMarkerActiveColor?: string;
2233
+ /**
2234
+ * Style of frozenMarkerActiveBorderColor.
2235
+ */
2236
+ frozenMarkerActiveBorderColor?: string;
2237
+ /**
2238
+ * Style of frozenMarkerColor.
2239
+ */
2240
+ frozenMarkerColor?: string;
2241
+ /**
2242
+ * Style of frozenMarkerBorderColor.
2243
+ */
2244
+ frozenMarkerBorderColor?: string;
2245
+ /**
2246
+ * Style of frozenMarkerBorderWidth.
2247
+ */
2248
+ frozenMarkerBorderWidth?: number;
2249
+ /**
2250
+ * Style of frozenMarkerWidth.
2251
+ */
2252
+ frozenMarkerWidth?: number;
2253
+ /**
2254
+ * When set to hidden, vertical scroll bar will be hidden. When set to auto vertical scroll bar will appear when data overflows the height. When set to scroll the vertical scrollbar will always be visible.
2255
+ */
2256
+ overflowY?: string;
2257
+ /**
2258
+ * When set to hidden, horizontal scroll bar will be hidden. When set to auto horizontal scroll bar will appear when data overflows the width. When set to scroll the horizontal scrollbar will always be visible.
2259
+ */
2260
+ overflowX?: string;
2261
+ /**
2262
+ * Style of width.
2263
+
2264
+ ['', 'normal'],
2265
+ */
2266
+ width?: number | string;
2267
+ }
2268
+ /**
2269
+ * An item in the context menu.
2270
+ * @property title - The title that will appear in the context menu. If title is a `string` then the string will appear. If title is a `HTMLElement` then it will be appended via `appendChild()` to the context menu row maintaining any events and references.
2271
+ * @property click - Optional function to invoke when this context menu item is clicked. Neglecting to call `e.stopPropagation();` in your function will result in the mouse event bubbling up to the canvas undesirably.
2272
+ */
2273
+ class contextMenuItem {
2274
+ /**
2275
+ * The title that will appear in the context menu. If title is a `string` then the string will appear. If title is a `HTMLElement` then it will be appended via `appendChild()` to the context menu row maintaining any events and references.
2276
+ */
2277
+ title: any;
2278
+ /**
2279
+ * Optional function to invoke when this context menu item is clicked. Neglecting to call `e.stopPropagation();` in your function will result in the mouse event bubbling up to the canvas undesirably.
2280
+ */
2281
+ click: any;
2282
+ }
2283
+ }
2284
+
2285
+ /**
2286
+ * deduce the type of values in the column 'colNum' of data represented by 'rows'
2287
+ * if the column is not empty and all values in the column are numbers, then the type is 'number',
2288
+ * otherwise the type is 'string'.
2289
+ * Purpose: check the type of pasted data when a new column is created dynamically
2290
+ * @param rows - array of rows, e.g. [ [{"value": [{"value": "a"}]},{"value": [{"value": "b"}]}], [{"value": [{"value": "1"}]},{"value": [{"value": "2"}]}] ]
2291
+ * @param colNum - Column index to check
2292
+ * @returns deduced type
2293
+ */
2294
+ declare function deduceColTypeFromData(rows: any[], colNum: number): "string" | "number";
2295
+
2296
+ /**
2297
+ * Merge a new hidden row range into existed ranges array
2298
+ * @param hiddenRowRanges - tuples: Array<[bgeinRowIndex, endRowIndex]>
2299
+ * @param newRange - tuple: [beginRowIndex, endRowIndex]
2300
+ */
2301
+ declare function mergeHiddenRowRanges(hiddenRowRanges: any[], newRange: number[]): boolean;
2302
+
2303
+ /**
2304
+ * Swap values between two properties in an object
2305
+ * @param obj - The object
2306
+ * @param prop0 - First property name
2307
+ * @param prop1 - Another property name
2308
+ */
2309
+ declare function swapProps(obj: any, prop0: string, prop1: string): void;
2310
+
2311
+ /**
2312
+ * This function transforms a selection object to normalized.
2313
+ * Here is the definition of **normalized selection object**:
2314
+ * - It contains these required properties: type, startRow, startColumn, endRow, endColumn
2315
+ * - Property `endRow` and property `endColumn` must exist even if their value are the same with `startRow` or `startColumn`.
2316
+ * - The value of `endRow` must be equals or greater than the value of `startRow`
2317
+ * - The value of `endColumn` must be equals or greater than the value of `startColumn`
2318
+ */
2319
+ declare function normalizeSelection(sel: SelectionDescriptor): SelectionDescriptor;
2320
+
2321
+ /**
2322
+ * Parse a string expression to a selection object. Here are some example expressions:
2323
+ * - cells:20,30-40,50
2324
+ * - row:5
2325
+ * - cols:5-9
2326
+ */
2327
+ declare function getSelectionFromString(str: string): SelectionDescriptor;
2328
+
2329
+ /**
2330
+ * Check are two cells block the same
2331
+ */
2332
+ declare function isSameCellsBlock(block0: SelectionDescriptor, block1: SelectionDescriptor): boolean;
2333
+
2334
+ /**
2335
+ * This function is used in the function `mergeSelections`
2336
+ */
2337
+ declare function mergeCellsIntoRowsOrColumns(cells: SelectionDescriptor, rowsOrColumns: SelectionDescriptor): SelectionDescriptor;
2338
+
2339
+ /**
2340
+ * Merge two selection objects (Splicing, Containing)
2341
+ * @returns A concatenated selection object based on `block0`.
2342
+ * Or `undefined` if they can't be concatenated
2343
+ */
2344
+ declare function mergeSelections(sel0: SelectionDescriptor, sel1: SelectionDescriptor): SelectionDescriptor;
2345
+
2346
+ /**
2347
+ * Remove some rows from a rows selection
2348
+ * @param selection - It must be a selection with type as `Rows`
2349
+ * @param remove - It must be a selection with type as `Rows`
2350
+ * @returns Returning a `undefined` represents parameter `remove` doesn't intersect with parameter `selection`
2351
+ */
2352
+ declare function removePartOfRowsSelection(selection: SelectionDescriptor, remove: SelectionDescriptor): SelectionDescriptor[];
2353
+
2354
+ /**
2355
+ * Remove some columns from a columns selection
2356
+ * @param selection - It must be a selection with type as `Columns`
2357
+ * @param remove - It must be a selection with type as `Columns`
2358
+ * @returns Returning a `undefined` represents parameter `remove` doesn't intersect with parameter `selection`
2359
+ */
2360
+ declare function removePartOfColumnsSelection(selection: any, remove: any): object[];
2361
+
2362
+ /**
2363
+ * Remove a cells block from a cells selection
2364
+ * @param selection - It must be a selection with type as `Cells` or `UnselectedCells`
2365
+ * @param remove - It must be a selection
2366
+ * @returns Returning a `undefined` represents parameter `remove` doesn't intersect with parameter `selection`
2367
+ */
2368
+ declare function removePartOfCellsSelection(selection: SelectionDescriptor, remove: SelectionDescriptor): SelectionDescriptor[];
2369
+
2370
+ /**
2371
+ * Get intersection of two selection object
2372
+ * @returns a selection object or undefined
2373
+ */
2374
+ declare function getIntersection(sel0: SelectionDescriptor, sel1: SelectionDescriptor): SelectionDescriptor;
2375
+
2376
+ /**
2377
+ * Add a selection object into `selections` array. And there are two behaviours if this function:
2378
+ * - It appends a new selection object into the `selections` array
2379
+ * - It rewrites the selection item in the `selections` array (merge or change its type)
2380
+ * @param add - Supported types: Cells, Rows, Columns
2381
+ * @param [context] - Eg: {rows:1000, columns:1000}
2382
+ * @returns is the selections array changed
2383
+ */
2384
+ declare function addIntoSelections(selections: SelectionDescriptor[], add: SelectionDescriptor, context?: ContextForSelectionAction): boolean;
2385
+
2386
+ /**
2387
+ * Remove a selection area from `selections` array
2388
+ * @param remove - Supported types: Cells, Rows, Columns
2389
+ * @param [context] - Eg: {rows:1000, columns:1000}
2390
+ * @returns is the selections array changed
2391
+ */
2392
+ declare function removeFromSelections(selections: SelectionDescriptor[], remove: SelectionDescriptor, context?: ContextForSelectionAction): boolean;
2393
+
2394
+ /**
2395
+ * Clean up a selections array.
2396
+ * This function removes unnecessary selection object, and it tries to merge different selections.
2397
+ */
2398
+ declare function cleanupSelections(selections: SelectionDescriptor[]): void;
2399
+
2400
+ /**
2401
+ * Check if all cells in a given row selected
2402
+ */
2403
+ declare function isRowSelected(selections: SelectionDescriptor[], rowIndex: number): void;
2404
+
2405
+ /**
2406
+ * Check if all cells in a given column selected
2407
+ */
2408
+ declare function isColumnSelected(selections: SelectionDescriptor[], columnIndex: number): void;
2409
+
2410
+ /**
2411
+ * Check if a given cell selected
2412
+ */
2413
+ declare function isCellSelected(selections: SelectionDescriptor[], rowIndex: number, columnIndex: number): void;
2414
+
2415
+ /**
2416
+ * Check if all given cells selected
2417
+ * @param range - the range of cells block
2418
+ */
2419
+ declare function areAllCellsSelected(selections: SelectionDescriptor[], range: RangeDescriptor): boolean;
2420
+
2421
+ /**
2422
+ * Get selection state from cells
2423
+ * @returns Returning `true` means all given cells are selected,
2424
+ * Returning `false` means all given cells are not selected.
2425
+ * Returning a two-dimensional array means some cells are selected and some cells are not selected.
2426
+ * A reference for returned value: `state[rowIndex - range.startRow][colIndex - range.startColumn]`
2427
+ */
2428
+ declare function getSelectionStateFromCells(selections: SelectionDescriptor[], range: RangeDescriptor): boolean | boolean[][];
2429
+
2430
+ /**
2431
+ * Get verbose selection state from cells.
2432
+ * (`verbose` in here means that you can locate particular selection for selected cells)
2433
+ * @returns Each item in this two-dimensional array is 0 or a positive int,
2434
+ * it represents the index of matched selection plus 1 if it is a positive int.
2435
+ * And if the value of item is 0, it means this cell is not selected.
2436
+ * A reference for returned value: `state[rowIndex - range.startRow][colIndex - range.startColumn]`
2437
+ */
2438
+ declare function getVerboseSelectionStateFromCells(selections: SelectionDescriptor[], range: RangeDescriptor): number[][];
2439
+
2440
+ /**
2441
+ * Check if any contiguous columns are selected.
2442
+ * (This function is useful for the preconditions for actions on columns, Eg: grouping, hiding)
2443
+ * @param allowImpurity - This function ignores other selected rows/cells if its value is `true`
2444
+ * @returns a tuple [beginViewColumnIndex, endViewColumnIndex] or `undefined`
2445
+ */
2446
+ declare function getSelectedContiguousColumns(selections: SelectionDescriptor[], allowImpurity: boolean): number[];
2447
+
2448
+ /**
2449
+ * Check if any contiguous rows are selected.
2450
+ * (This function is useful for the preconditions for actions on rows, Eg: grouping, hiding)
2451
+ * @param allowImpurity - This function ignores other selected columns/cells if its value is `true`
2452
+ * @returns a tuple [beginRowOrderIndex, endRowOrderIndex] or `undefined`
2453
+ */
2454
+ declare function getSelectedContiguousRows(selections: SelectionDescriptor[], allowImpurity: boolean): number[];
2455
+
2456
+ /**
2457
+ * Check if current selections are complex.
2458
+ * How we defined "complex" in here:
2459
+ * - There are any unselected cells in selected rows/columns
2460
+ * - More than one selection type in current selections
2461
+ */
2462
+ declare function areSelectionsComplex(selections: SelectionDescriptor[]): boolean;
2463
+
2464
+ /**
2465
+ * Check if current selections are neat.
2466
+ * This method is used for make new API are compatible with obsolete API
2467
+ * For example:
2468
+ * - Selected like <0,0-10,10> or rows<5-10> is neat
2469
+ * - Selected like <0,0-10,10>&<11,1-11,10> is untidy
2470
+ * @param selections - selections after clean up
2471
+ */
2472
+ declare function areSelectionsNeat(selections: SelectionDescriptor[]): boolean;
2473
+
2474
+ declare function moveSelections(selections: SelectionDescriptor[], offsetX: number, offsetY: number): void;
2475
+
2476
+ declare function cloneSelections(selections: SelectionDescriptor[]): SelectionDescriptor[];
2477
+
2478
+ declare function getSelectionBounds(selections: SelectionDescriptor[]): RectangleObject;
2479
+
2480
+ /**
2481
+ * @param cell - Signature: `{rowIndex:number;columnIndex:number}`
2482
+ * @param keyEvent - Signature: `{key:string;shiftKey:boolean}`
2483
+ * @param context - Signature: `{columns:number;rows:number}`
2484
+ */
2485
+ declare function shrinkOrExpandSelections(selections: SelectionDescriptor[], cell: any, keyEvent: any, context: any): boolean;
2486
+
2487
+
2488
+ // --- module exports (added by scripts/finalize-types.js) ---
2489
+ /**
2490
+ * Arguments accepted by the factory. Every option is optional; without
2491
+ * `parentNode` the returned element must be appended to the document by
2492
+ * the caller.
2493
+ */
2494
+ type CanvasDatagridArgs = Partial<
2495
+ ConstructorParameters<typeof canvasDatagrid>[0]
2496
+ >;
2497
+ /**
2498
+ * Creates a grid. This is what `import canvasDatagrid from 'canvas-datagrid'`
2499
+ * and the `window.canvasDatagrid` global resolve to.
2500
+ */
2501
+ declare function createCanvasDatagrid(args?: CanvasDatagridArgs): canvasDatagrid;
2502
+ declare global {
2503
+ interface Window {
2504
+ canvasDatagrid: typeof createCanvasDatagrid;
2505
+ }
2506
+ }
2507
+ export default createCanvasDatagrid;
2508
+ export { canvasDatagrid, CanvasDatagridArgs };