@deephaven/iris-grid 0.13.3-treemap.2 → 0.14.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.
Files changed (184) hide show
  1. package/dist/AdvancedFilterCreator.d.ts +69 -63
  2. package/dist/AdvancedFilterCreator.d.ts.map +1 -1
  3. package/dist/AdvancedFilterCreator.js +79 -73
  4. package/dist/AdvancedFilterCreator.js.map +1 -1
  5. package/dist/AdvancedFilterCreatorSelectValue.d.ts +45 -45
  6. package/dist/AdvancedFilterCreatorSelectValue.d.ts.map +1 -1
  7. package/dist/AdvancedFilterCreatorSelectValue.js +32 -36
  8. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  9. package/dist/AdvancedFilterCreatorSelectValueList.d.ts +47 -52
  10. package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
  11. package/dist/AdvancedFilterCreatorSelectValueList.js +24 -39
  12. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  13. package/dist/ColumnStatistics.d.ts +34 -22
  14. package/dist/ColumnStatistics.d.ts.map +1 -1
  15. package/dist/ColumnStatistics.js +8 -12
  16. package/dist/ColumnStatistics.js.map +1 -1
  17. package/dist/CommonTypes.d.ts +58 -0
  18. package/dist/CommonTypes.d.ts.map +1 -0
  19. package/dist/CommonTypes.js +2 -0
  20. package/dist/CommonTypes.js.map +1 -0
  21. package/dist/CrossColumnSearch.d.ts +26 -24
  22. package/dist/CrossColumnSearch.d.ts.map +1 -1
  23. package/dist/CrossColumnSearch.js +9 -13
  24. package/dist/CrossColumnSearch.js.map +1 -1
  25. package/dist/FilterInputField.d.ts +48 -51
  26. package/dist/FilterInputField.d.ts.map +1 -1
  27. package/dist/FilterInputField.js +30 -27
  28. package/dist/FilterInputField.js.map +1 -1
  29. package/dist/IrisGrid.d.ts +409 -453
  30. package/dist/IrisGrid.d.ts.map +1 -1
  31. package/dist/IrisGrid.js +514 -449
  32. package/dist/IrisGrid.js.map +1 -1
  33. package/dist/IrisGridCellOverflowModal.d.ts +1 -1
  34. package/dist/IrisGridCellOverflowModal.d.ts.map +1 -1
  35. package/dist/IrisGridCellOverflowModal.js.map +1 -1
  36. package/dist/IrisGridCopyHandler.d.ts +52 -46
  37. package/dist/IrisGridCopyHandler.d.ts.map +1 -1
  38. package/dist/IrisGridCopyHandler.js +22 -38
  39. package/dist/IrisGridCopyHandler.js.map +1 -1
  40. package/dist/IrisGridMetricCalculator.d.ts +5 -4
  41. package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
  42. package/dist/IrisGridMetricCalculator.js +5 -1
  43. package/dist/IrisGridMetricCalculator.js.map +1 -1
  44. package/dist/IrisGridModel.d.ts +37 -35
  45. package/dist/IrisGridModel.d.ts.map +1 -1
  46. package/dist/IrisGridModel.js +19 -3
  47. package/dist/IrisGridModel.js.map +1 -1
  48. package/dist/IrisGridModelFactory.d.ts +7 -5
  49. package/dist/IrisGridModelFactory.d.ts.map +1 -1
  50. package/dist/IrisGridModelFactory.js +5 -5
  51. package/dist/IrisGridModelFactory.js.map +1 -1
  52. package/dist/IrisGridModelUpdater.d.ts +13 -11
  53. package/dist/IrisGridModelUpdater.d.ts.map +1 -1
  54. package/dist/IrisGridModelUpdater.js.map +1 -1
  55. package/dist/IrisGridPartitionSelector.d.ts +38 -39
  56. package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
  57. package/dist/IrisGridPartitionSelector.js +18 -24
  58. package/dist/IrisGridPartitionSelector.js.map +1 -1
  59. package/dist/IrisGridProxyModel.d.ts +111 -32
  60. package/dist/IrisGridProxyModel.d.ts.map +1 -1
  61. package/dist/IrisGridProxyModel.js +212 -170
  62. package/dist/IrisGridProxyModel.js.map +1 -1
  63. package/dist/IrisGridRenderer.d.ts +59 -31
  64. package/dist/IrisGridRenderer.d.ts.map +1 -1
  65. package/dist/IrisGridRenderer.js +92 -46
  66. package/dist/IrisGridRenderer.js.map +1 -1
  67. package/dist/IrisGridTableModel.d.ts +48 -147
  68. package/dist/IrisGridTableModel.d.ts.map +1 -1
  69. package/dist/IrisGridTableModel.js +58 -1381
  70. package/dist/IrisGridTableModel.js.map +1 -1
  71. package/dist/IrisGridTableModelTemplate.d.ts +219 -0
  72. package/dist/IrisGridTableModelTemplate.d.ts.map +1 -0
  73. package/dist/IrisGridTableModelTemplate.js +1623 -0
  74. package/dist/IrisGridTableModelTemplate.js.map +1 -0
  75. package/dist/IrisGridTestUtils.d.ts +18 -14
  76. package/dist/IrisGridTestUtils.d.ts.map +1 -1
  77. package/dist/IrisGridTestUtils.js +29 -1
  78. package/dist/IrisGridTestUtils.js.map +1 -1
  79. package/dist/IrisGridTheme.d.ts +35 -3
  80. package/dist/IrisGridTheme.d.ts.map +1 -1
  81. package/dist/IrisGridTheme.js.map +1 -1
  82. package/dist/IrisGridTreeTableModel.d.ts +26 -7
  83. package/dist/IrisGridTreeTableModel.d.ts.map +1 -1
  84. package/dist/IrisGridTreeTableModel.js +24 -14
  85. package/dist/IrisGridTreeTableModel.js.map +1 -1
  86. package/dist/IrisGridUtils.d.ts +257 -162
  87. package/dist/IrisGridUtils.d.ts.map +1 -1
  88. package/dist/IrisGridUtils.js +132 -95
  89. package/dist/IrisGridUtils.js.map +1 -1
  90. package/dist/MissingKeyError.d.ts +5 -3
  91. package/dist/MissingKeyError.d.ts.map +1 -1
  92. package/dist/MissingKeyError.js.map +1 -1
  93. package/dist/PartitionSelectorSearch.d.ts +61 -40
  94. package/dist/PartitionSelectorSearch.d.ts.map +1 -1
  95. package/dist/PartitionSelectorSearch.js +25 -15
  96. package/dist/PartitionSelectorSearch.js.map +1 -1
  97. package/dist/PendingDataBottomBar.d.ts +3 -6
  98. package/dist/PendingDataBottomBar.d.ts.map +1 -1
  99. package/dist/PendingDataBottomBar.js.map +1 -1
  100. package/dist/TableViewportUpdater.d.ts +39 -55
  101. package/dist/TableViewportUpdater.d.ts.map +1 -1
  102. package/dist/TableViewportUpdater.js +42 -64
  103. package/dist/TableViewportUpdater.js.map +1 -1
  104. package/dist/TreeTableViewportUpdater.d.ts +29 -37
  105. package/dist/TreeTableViewportUpdater.d.ts.map +1 -1
  106. package/dist/TreeTableViewportUpdater.js +39 -50
  107. package/dist/TreeTableViewportUpdater.js.map +1 -1
  108. package/dist/index.d.ts +9 -0
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +9 -0
  111. package/dist/index.js.map +1 -1
  112. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.d.ts.map +1 -1
  113. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
  114. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts +1 -1
  115. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts.map +1 -1
  116. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +2 -0
  117. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
  118. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +1 -1
  119. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
  120. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +41 -130
  121. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
  122. package/dist/mousehandlers/IrisGridContextMenuHandler.js +426 -317
  123. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  124. package/dist/mousehandlers/IrisGridFilterMouseHandler.d.ts.map +1 -1
  125. package/dist/mousehandlers/IrisGridFilterMouseHandler.js +2 -2
  126. package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
  127. package/dist/mousehandlers/IrisGridSortMouseHandler.js +1 -1
  128. package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
  129. package/dist/mousehandlers/PendingMouseHandler.d.ts +8 -4
  130. package/dist/mousehandlers/PendingMouseHandler.d.ts.map +1 -1
  131. package/dist/mousehandlers/PendingMouseHandler.js +4 -5
  132. package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
  133. package/dist/sidebar/ChartBuilder.d.ts +48 -33
  134. package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
  135. package/dist/sidebar/ChartBuilder.js +28 -27
  136. package/dist/sidebar/ChartBuilder.js.map +1 -1
  137. package/dist/sidebar/CustomColumnBuilder.d.ts +51 -41
  138. package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
  139. package/dist/sidebar/CustomColumnBuilder.js +22 -18
  140. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  141. package/dist/sidebar/CustomColumnInput.d.ts +26 -36
  142. package/dist/sidebar/CustomColumnInput.d.ts.map +1 -1
  143. package/dist/sidebar/CustomColumnInput.js +11 -20
  144. package/dist/sidebar/CustomColumnInput.js.map +1 -1
  145. package/dist/sidebar/InputEditor.d.ts +34 -35
  146. package/dist/sidebar/InputEditor.d.ts.map +1 -1
  147. package/dist/sidebar/InputEditor.js +43 -24
  148. package/dist/sidebar/InputEditor.js.map +1 -1
  149. package/dist/sidebar/RollupRows.d.ts +67 -52
  150. package/dist/sidebar/RollupRows.d.ts.map +1 -1
  151. package/dist/sidebar/RollupRows.js +51 -53
  152. package/dist/sidebar/RollupRows.js.map +1 -1
  153. package/dist/sidebar/SelectDistinctBuilder.d.ts +27 -21
  154. package/dist/sidebar/SelectDistinctBuilder.d.ts.map +1 -1
  155. package/dist/sidebar/SelectDistinctBuilder.js +6 -10
  156. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  157. package/dist/sidebar/TableCsvExporter.d.ts +42 -39
  158. package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
  159. package/dist/sidebar/TableCsvExporter.js +12 -20
  160. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  161. package/dist/sidebar/TableSaver.d.ts +59 -60
  162. package/dist/sidebar/TableSaver.d.ts.map +1 -1
  163. package/dist/sidebar/TableSaver.js +154 -68
  164. package/dist/sidebar/TableSaver.js.map +1 -1
  165. package/dist/sidebar/VisibilityOrderingBuilder.d.ts +56 -45
  166. package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
  167. package/dist/sidebar/VisibilityOrderingBuilder.js +34 -29
  168. package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
  169. package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
  170. package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
  171. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts +2 -1
  172. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
  173. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
  174. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +6 -5
  175. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
  176. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +5 -0
  177. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
  178. package/dist/sidebar/icons/index.d.ts +7 -7
  179. package/dist/sidebar/icons/index.d.ts.map +1 -1
  180. package/dist/sidebar/icons/index.js.map +1 -1
  181. package/dist/sidebar/index.d.ts +12 -12
  182. package/dist/sidebar/index.d.ts.map +1 -1
  183. package/dist/sidebar/index.js.map +1 -1
  184. package/package.json +17 -16
@@ -15,7 +15,7 @@ import { GridUtils } from '@deephaven/grid';
15
15
  import dh from '@deephaven/jsapi-shim';
16
16
  import { DateUtils, TableUtils } from '@deephaven/jsapi-utils';
17
17
  import Log from '@deephaven/log';
18
- import AdvancedSettings from "./sidebar/AdvancedSettings.js";
18
+ import { assertNotNull } from '@deephaven/utils';
19
19
  import AggregationUtils from "./sidebar/aggregations/AggregationUtils.js";
20
20
  import AggregationOperation from "./sidebar/aggregations/AggregationOperation.js";
21
21
  var log = Log.module('IrisGridUtils');
@@ -23,9 +23,9 @@ var log = Log.module('IrisGridUtils');
23
23
  class IrisGridUtils {
24
24
  /**
25
25
  * Exports the state from Grid component to a JSON stringifiable object
26
- * @param {IrisGridModel} model The table model to export the Grid state for
27
- * @param {Object} gridState The state of the Grid to export
28
- * @returns {Object} An object that can be stringified and imported with {{@link hydrateGridState}}
26
+ * @param model The table model to export the Grid state for
27
+ * @param gridState The state of the Grid to export
28
+ * @returns An object that can be stringified and imported with {{@link hydrateGridState}}
29
29
  */
30
30
  static dehydrateGridState(model, gridState) {
31
31
  var {
@@ -61,9 +61,9 @@ class IrisGridUtils {
61
61
  }
62
62
  /**
63
63
  * Import a state for Grid that was exported with {{@link dehydrateGridState}}
64
- * @param {IrisGridModel} model The table model to import the state for
65
- * @param {Object} gridState The state of the panel that was saved
66
- * @returns {Object} The gridState props to set on the Grid
64
+ * @param model The table model to import the state for
65
+ * @param gridState The state of the panel that was saved
66
+ * @returns The gridState props to set on the Grid
67
67
  */
68
68
 
69
69
 
@@ -101,6 +101,8 @@ class IrisGridUtils {
101
101
  };
102
102
  }
103
103
 
104
+ if (typeof to === 'string') throw Error('string');
105
+ if (typeof from === 'string') throw Error('string');
104
106
  return {
105
107
  to,
106
108
  from
@@ -117,8 +119,8 @@ class IrisGridUtils {
117
119
  }
118
120
  /**
119
121
  * Exports the state from IrisGrid to a JSON stringifiable object
120
- * @param {IrisGridModel} model The table model to export the state for
121
- * @param {Object} irisGridState The current state of the IrisGrid
122
+ * @param model The table model to export the state for
123
+ * @param irisGridState The current state of the IrisGrid
122
124
  */
123
125
 
124
126
 
@@ -128,7 +130,6 @@ class IrisGridUtils {
128
130
  aggregations: [],
129
131
  showOnTop: false
130
132
  },
131
- advancedSettings = [],
132
133
  advancedFilters,
133
134
  customColumnFormatMap,
134
135
  isFilterBarShown,
@@ -137,16 +138,17 @@ class IrisGridUtils {
137
138
  customColumns,
138
139
  conditionalFormats = [],
139
140
  reverseType,
140
- rollupConfig = null,
141
+ rollupConfig = undefined,
141
142
  showSearchBar,
142
143
  searchValue,
143
- selectDistinctColumns,
144
+ selectDistinctColumns = [],
144
145
  selectedSearchColumns,
145
146
  sorts,
146
147
  invertSearchColumns,
147
148
  pendingDataMap = new Map(),
148
149
  frozenColumns
149
150
  } = irisGridState;
151
+ assertNotNull(metrics);
150
152
  var {
151
153
  userColumnWidths,
152
154
  userRowHeights
@@ -156,12 +158,11 @@ class IrisGridUtils {
156
158
  } = model;
157
159
  return {
158
160
  advancedFilters: IrisGridUtils.dehydrateAdvancedFilters(columns, advancedFilters),
159
- advancedSettings: [...advancedSettings],
160
161
  aggregationSettings,
161
162
  customColumnFormatMap: [...customColumnFormatMap],
162
163
  isFilterBarShown,
163
164
  quickFilters: IrisGridUtils.dehydrateQuickFilters(quickFilters),
164
- sorts: IrisGridUtils.dehydrateSort(sorts, model),
165
+ sorts: IrisGridUtils.dehydrateSort(sorts),
165
166
  userColumnWidths: [...userColumnWidths].filter(_ref6 => {
166
167
  var [columnIndex] = _ref6;
167
168
  return columnIndex != null && columnIndex >= 0 && columnIndex < columns.length;
@@ -185,15 +186,14 @@ class IrisGridUtils {
185
186
  }
186
187
  /**
187
188
  * Import a state for IrisGrid that was exported with {{@link dehydrateIrisGridState}}
188
- * @param {IrisGridModel} model The table model to import the state with
189
- * @param {Object} irisGridState The saved IrisGrid state
189
+ * @param model The table model to import the state with
190
+ * @param irisGridState The saved IrisGrid state
190
191
  */
191
192
 
192
193
 
193
194
  static hydrateIrisGridState(model, irisGridState) {
194
195
  var {
195
196
  advancedFilters,
196
- advancedSettings = [],
197
197
  aggregationSettings = {
198
198
  aggregations: [],
199
199
  showOnTop: false
@@ -207,7 +207,7 @@ class IrisGridUtils {
207
207
  userColumnWidths,
208
208
  userRowHeights,
209
209
  reverseType,
210
- rollupConfig = null,
210
+ rollupConfig = undefined,
211
211
  showSearchBar,
212
212
  searchValue,
213
213
  selectDistinctColumns,
@@ -222,7 +222,6 @@ class IrisGridUtils {
222
222
  } = model;
223
223
  return {
224
224
  advancedFilters: IrisGridUtils.hydrateAdvancedFilters(columns, advancedFilters, formatter.timeZone),
225
- advancedSettings: new Map([...AdvancedSettings.DEFAULTS, ...advancedSettings]),
226
225
  aggregationSettings,
227
226
  customColumnFormatMap: new Map(customColumnFormatMap),
228
227
  isFilterBarShown,
@@ -261,9 +260,9 @@ class IrisGridUtils {
261
260
  }
262
261
  /**
263
262
  * Export the IrisGridPanel state.
264
- * @param {IrisGridModel} model The table model the state is being dehydrated with
265
- * @param {Object} irisGridPanelState The current IrisGridPanel state
266
- * @returns {Object} The dehydrated IrisGridPanel state
263
+ * @param model The table model the state is being dehydrated with
264
+ * @param irisGridPanelState The current IrisGridPanel state
265
+ * @returns The dehydrated IrisGridPanel state
267
266
  */
268
267
 
269
268
 
@@ -281,9 +280,9 @@ class IrisGridUtils {
281
280
  }
282
281
  /**
283
282
  * Import the saved IrisGridPanel state.
284
- * @param {IrisGridModel} model The model the state is being hydrated with
285
- * @param {Object} irisGridPanelState Exported IrisGridPanel state
286
- * @returns {Object} The state to apply to the IrisGridPanel
283
+ * @param model The model the state is being hydrated with
284
+ * @param irisGridPanelState Exported IrisGridPanel state
285
+ * @returns The state to apply to the IrisGridPanel
287
286
  */
288
287
 
289
288
 
@@ -304,8 +303,8 @@ class IrisGridUtils {
304
303
  }
305
304
  /**
306
305
  * Export the quick filters to JSON striginfiable object
307
- * @param {AdvancedFilter[]} quickFilters The quick filters to dehydrate
308
- * @returns {Object} The dehydrated quick filters
306
+ * @param quickFilters The quick filters to dehydrate
307
+ * @returns The dehydrated quick filters
309
308
  */
310
309
 
311
310
 
@@ -322,10 +321,10 @@ class IrisGridUtils {
322
321
  }
323
322
  /**
324
323
  * Import the saved quick filters to apply to the columns. Does not actually apply the filters.
325
- * @param {dh.Column[]} columns The columns the filters will be applied to
326
- * @param {Object[]} savedQuickFilters Exported quick filters definitions
327
- * @param {string} timeZone The time zone to make this value in if it is a date type. E.g. America/New_York
328
- * @returns {QuickFilter[]} The quick filters to apply to the columns
324
+ * @param columns The columns the filters will be applied to
325
+ * @param savedQuickFilters Exported quick filters definitions
326
+ * @param timeZone The time zone to make this value in if it is a date type. E.g. America/New_York
327
+ * @returns The quick filters to apply to the columns
329
328
  */
330
329
 
331
330
 
@@ -356,16 +355,18 @@ class IrisGridUtils {
356
355
  }
357
356
  /**
358
357
  * Export the advanced filters from the provided columns to JSON striginfiable object
359
- * @param {dh.Column[]} columns The columns for the filters
360
- * @param {AdvancedFilter[]} advancedFilters The advanced filters to dehydrate
361
- * @returns {Object} The dehydrated advanced filters
358
+ * @param columns The columns for the filters
359
+ * @param advancedFilters The advanced filters to dehydrate
360
+ * @returns The dehydrated advanced filters
362
361
  */
363
362
 
364
363
 
365
364
  static dehydrateAdvancedFilters(columns, advancedFilters) {
366
365
  return [...advancedFilters].map(_ref13 => {
367
366
  var [columnIndex, advancedFilter] = _ref13;
368
- var options = IrisGridUtils.dehydrateAdvancedFilterOptions(IrisGridUtils.getColumn(columns, columnIndex), advancedFilter.options);
367
+ var column = IrisGridUtils.getColumn(columns, columnIndex);
368
+ assertNotNull(column);
369
+ var options = IrisGridUtils.dehydrateAdvancedFilterOptions(column, advancedFilter.options);
369
370
  return [columnIndex, {
370
371
  options
371
372
  }];
@@ -373,23 +374,25 @@ class IrisGridUtils {
373
374
  }
374
375
  /**
375
376
  * Import the saved advanced filters to apply to the columns. Does not actually apply the filters.
376
- * @param {dh.Columns[]} columns The columns the filters will be applied to
377
- * @param {Object[]} savedAdvancedFilters Exported advanced filters definitions
378
- * @param {string} timeZone The time zone to make this filter in if it is a date type. E.g. America/New_York
379
- * @returns {AdvancedFilter[]} The advanced filters to apply to the columns
377
+ * @param columns The columns the filters will be applied to
378
+ * @param savedAdvancedFilters Exported advanced filters definitions
379
+ * @param timeZone The time zone to make this filter in if it is a date type. E.g. America/New_York
380
+ * @returns The advanced filters to apply to the columns
380
381
  */
381
382
 
382
383
 
383
384
  static hydrateAdvancedFilters(columns, savedAdvancedFilters, timeZone) {
384
385
  var importedFilters = savedAdvancedFilters.map(_ref14 => {
385
386
  var [columnIndex, advancedFilter] = _ref14;
386
- var options = IrisGridUtils.hydrateAdvancedFilterOptions(IrisGridUtils.getColumn(columns, columnIndex), advancedFilter.options);
387
+ var column = IrisGridUtils.getColumn(columns, columnIndex);
388
+ assertNotNull(column);
389
+ var options = IrisGridUtils.hydrateAdvancedFilterOptions(column, advancedFilter.options);
387
390
  var filter = null;
388
391
 
389
392
  try {
390
- var column = IrisGridUtils.getColumn(columns, columnIndex);
393
+ var columnRetrieved = IrisGridUtils.getColumn(columns, columnIndex);
391
394
 
392
- if (column != null) {
395
+ if (columnRetrieved != null) {
393
396
  filter = TableUtils.makeAdvancedFilter(column, options, timeZone);
394
397
  }
395
398
  } catch (error) {
@@ -411,7 +414,7 @@ class IrisGridUtils {
411
414
  otherOptions = _objectWithoutProperties(options, _excluded);
412
415
 
413
416
  return _objectSpread({
414
- selectedValues: selectedValues.map(value => IrisGridUtils.dehydrateValue(value, column === null || column === void 0 ? void 0 : column.type))
417
+ selectedValues: selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.map(value => IrisGridUtils.dehydrateValue(value, column === null || column === void 0 ? void 0 : column.type))
415
418
  }, otherOptions);
416
419
  }
417
420
 
@@ -422,7 +425,7 @@ class IrisGridUtils {
422
425
  otherOptions = _objectWithoutProperties(options, _excluded2);
423
426
 
424
427
  return _objectSpread({
425
- selectedValues: selectedValues.map(value => IrisGridUtils.hydrateValue(value, column === null || column === void 0 ? void 0 : column.type))
428
+ selectedValues: selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.map(value => IrisGridUtils.hydrateValue(value, column === null || column === void 0 ? void 0 : column.type))
426
429
  }, otherOptions);
427
430
  }
428
431
 
@@ -462,16 +465,20 @@ class IrisGridUtils {
462
465
  }] = _ref18;
463
466
  return [rowIndex, {
464
467
  data: new Map(data.map(_ref19 => {
468
+ var _getColumnIndex;
469
+
465
470
  var [columnName, value] = _ref19;
466
- return [getColumnIndex(columnName), IrisGridUtils.hydrateValue(value, columns[getColumnIndex(columnName)].type)];
471
+ var index = getColumnIndex(columnName);
472
+ assertNotNull(index);
473
+ return [(_getColumnIndex = getColumnIndex(columnName)) !== null && _getColumnIndex !== void 0 ? _getColumnIndex : null, IrisGridUtils.hydrateValue(value, columns[index].type)];
467
474
  }))
468
475
  }];
469
476
  }));
470
477
  }
471
478
  /**
472
479
  * Dehydrates/serializes a value for storage.
473
- * @param {Any} value The value to dehydrate
474
- * @param {String} columnType The column type
480
+ * @param value The value to dehydrate
481
+ * @param columnType The column type
475
482
  */
476
483
 
477
484
 
@@ -488,8 +495,8 @@ class IrisGridUtils {
488
495
  }
489
496
  /**
490
497
  * Hydrate a value from it's serialized state
491
- * @param {Any} value The dehydrated value that needs to be hydrated
492
- * @param {String} columnType The type of column
498
+ * @param value The dehydrated value that needs to be hydrated
499
+ * @param columnType The type of column
493
500
  */
494
501
 
495
502
 
@@ -522,8 +529,8 @@ class IrisGridUtils {
522
529
  }
523
530
  /**
524
531
  * Export the sorts from the provided table sorts to JSON stringifiable object
525
- * @param {dh.Sort[]} sorts The table sorts
526
- * @returns {Object} The dehydrated sorts
532
+ * @param sorts The table sorts
533
+ * @returns The dehydrated sorts
527
534
  */
528
535
 
529
536
 
@@ -543,9 +550,9 @@ class IrisGridUtils {
543
550
  }
544
551
  /**
545
552
  * Import the saved sorts to apply to the table. Does not actually apply the sort.
546
- * @param {dh.Column[]} columns The columns the sorts will be applied to
547
- * @param {Object[]} sorts Exported sort definitions
548
- * @returns {dh.Sort[]} The sorts to apply to the table
553
+ * @param columns The columns the sorts will be applied to
554
+ * @param sorts Exported sort definitions
555
+ * @returns The sorts to apply to the table
549
556
  */
550
557
 
551
558
 
@@ -587,8 +594,8 @@ class IrisGridUtils {
587
594
  }
588
595
  /**
589
596
  * Pulls just the table settings from the panel state, eg. filters/sorts
590
- * @param {Object} panelState The dehydrated panel state
591
- * @returns {Object} A dehydrated table settings object, { partition, partitionColumn, advancedFilters, quickFilters, sorts }
597
+ * @param panelState The dehydrated panel state
598
+ * @returns A dehydrated table settings object, { partition, partitionColumn, advancedFilters, quickFilters, sorts }
592
599
  */
593
600
 
594
601
 
@@ -618,9 +625,9 @@ class IrisGridUtils {
618
625
  }
619
626
  /**
620
627
  * Applies the passed in table settings directly to the provided table
621
- * @param {dh.Table} table The table to apply the settings to
622
- * @param {Object} tableSettings Dehydrated table settings extracted with `extractTableSettings`
623
- * @param {string} timeZone The time zone to make this value in if it is a date type. E.g. America/New_York
628
+ * @param table The table to apply the settings to
629
+ * @param tableSettings Dehydrated table settings extracted with `extractTableSettings`
630
+ * @param timeZone The time zone to make this value in if it is a date type. E.g. America/New_York
624
631
  */
625
632
 
626
633
 
@@ -628,10 +635,25 @@ class IrisGridUtils {
628
635
  var {
629
636
  columns
630
637
  } = table;
631
- var quickFilters = IrisGridUtils.getFiltersFromFilterMap(IrisGridUtils.hydrateQuickFilters(columns, tableSettings.quickFilters, timeZone));
632
- var advancedFilters = IrisGridUtils.getFiltersFromFilterMap(IrisGridUtils.hydrateAdvancedFilters(columns, tableSettings.advancedFilters, timeZone));
638
+ var quickFilters = [];
639
+
640
+ if (tableSettings.quickFilters) {
641
+ quickFilters = IrisGridUtils.getFiltersFromFilterMap(IrisGridUtils.hydrateQuickFilters(columns, tableSettings.quickFilters, timeZone));
642
+ }
643
+
644
+ var advancedFilters = [];
645
+
646
+ if (tableSettings.advancedFilters) {
647
+ advancedFilters = IrisGridUtils.getFiltersFromFilterMap(IrisGridUtils.hydrateAdvancedFilters(columns, tableSettings.advancedFilters, timeZone));
648
+ }
649
+
633
650
  var inputFilters = IrisGridUtils.getFiltersFromInputFilters(columns, tableSettings.inputFilters, timeZone);
634
- var sorts = IrisGridUtils.hydrateSort(columns, tableSettings.sorts);
651
+ var sorts = [];
652
+
653
+ if (tableSettings.sorts) {
654
+ sorts = IrisGridUtils.hydrateSort(columns, tableSettings.sorts);
655
+ }
656
+
635
657
  var filters = [...quickFilters, ...advancedFilters];
636
658
  var {
637
659
  partition,
@@ -696,7 +718,7 @@ class IrisGridUtils {
696
718
  }
697
719
 
698
720
  return null;
699
- }).filter(filter => filter);
721
+ }).filter(filter => filter != null);
700
722
  }
701
723
 
702
724
  static getFiltersFromFilterMap(filterMap) {
@@ -707,7 +729,7 @@ class IrisGridUtils {
707
729
  var key = keys[i];
708
730
  var item = filterMap.get(key);
709
731
 
710
- if (item.filter != null) {
732
+ if (item && item.filter != null) {
711
733
  filters.push(item.filter);
712
734
  }
713
735
  }
@@ -716,8 +738,8 @@ class IrisGridUtils {
716
738
  }
717
739
  /**
718
740
  * Get array of hidden column indexes
719
- * @param {Map} userColumnWidths Map of user column widths
720
- * @returns {number[]} Array of hidden column indexes
741
+ * @param userColumnWidths Map of user column widths
742
+ * @returns Array of hidden column indexes
721
743
  */
722
744
 
723
745
 
@@ -882,8 +904,7 @@ class IrisGridUtils {
882
904
  return columnsToFetch;
883
905
  }
884
906
 
885
- static getModelViewportColumns(columns, left, right) {
886
- var movedColumns = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
907
+ static getModelViewportColumns(columns, left, right, movedColumns) {
887
908
  var hiddenColumns = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
888
909
  var alwaysFetchColumnNames = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : [];
889
910
  var bufferPages = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;
@@ -903,17 +924,23 @@ class IrisGridUtils {
903
924
  * Get the dh.RangeSet representation of the provided ranges.
904
925
  * Ranges are sorted prior to creating the RangeSet. Only the rows are taken into account,
905
926
  * RangeSet does not have an option for columns.
906
- * @param {GridRange[]} ranges The ranges to get the range set for
907
- * @returns {dh.RangeSet} The rangeset for the provided ranges
927
+ * @param ranges The ranges to get the range set for
928
+ * @returns The rangeset for the provided ranges
908
929
  */
909
930
 
910
931
 
911
932
  static rangeSetFromRanges(ranges) {
912
- var rangeSets = ranges.slice().sort((a, b) => a.startRow - b.startRow).map(range => {
933
+ var rangeSets = ranges.slice().sort((a, b) => {
934
+ assertNotNull(a.startRow);
935
+ assertNotNull(b.startRow);
936
+ return a.startRow - b.startRow;
937
+ }).map(range => {
913
938
  var {
914
939
  startRow,
915
940
  endRow
916
941
  } = range;
942
+ assertNotNull(startRow);
943
+ assertNotNull(endRow);
917
944
  return dh.RangeSet.ofRange(startRow, endRow);
918
945
  });
919
946
  return dh.RangeSet.ofRanges(rangeSets);
@@ -922,8 +949,8 @@ class IrisGridUtils {
922
949
  * Validate whether the ranges passed in are valid to take a snapshot from.
923
950
  * Multiple selections are valid if all of the selected rows have the same columns selected.
924
951
  *
925
- * @param {GridRange[]} ranges The ranges to validate
926
- * @returns {boolean} True if the ranges are valid, false otherwise
952
+ * @param ranges The ranges to validate
953
+ * @returns True if the ranges are valid, false otherwise
927
954
  */
928
955
 
929
956
 
@@ -961,18 +988,26 @@ class IrisGridUtils {
961
988
  }
962
989
  /**
963
990
  * Check if the provided value is a valid table index
964
- * @param {any} value A value to check if it's a valid table index
991
+ * @param value A value to check if it's a valid table index
965
992
  */
966
993
 
967
994
 
968
995
  static isValidIndex(value) {
969
- return Number.isInteger(value) && value >= 0;
996
+ if (!Number.isInteger(value)) {
997
+ return false;
998
+ }
999
+
1000
+ if (!(typeof value === 'number')) {
1001
+ return false;
1002
+ }
1003
+
1004
+ return value >= 0;
970
1005
  }
971
1006
  /**
972
1007
  * Returns all columns used in any of the ranges provided
973
- * @param {GridRange[]} ranges The model ranges to get columns for
974
- * @param {dh.Column[]} allColumns All the columns to pull from
975
- * @returns {dh.Column[]} The columns selected in the range
1008
+ * @param ranges The model ranges to get columns for
1009
+ * @param allColumns All the columns to pull from
1010
+ * @returns The columns selected in the range
976
1011
  */
977
1012
 
978
1013
 
@@ -990,6 +1025,8 @@ class IrisGridUtils {
990
1025
 
991
1026
  for (var i = 0; i < ranges.length; i += 1) {
992
1027
  var range = ranges[i];
1028
+ assertNotNull(range.startColumn);
1029
+ assertNotNull(range.endColumn);
993
1030
 
994
1031
  for (var c = (_range$startColumn = range.startColumn) !== null && _range$startColumn !== void 0 ? _range$startColumn : 0; c <= ((_range$endColumn = range.endColumn) !== null && _range$endColumn !== void 0 ? _range$endColumn : allColumns.length - 1); c += 1) {
995
1032
  var _range$startColumn, _range$endColumn;
@@ -1002,8 +1039,8 @@ class IrisGridUtils {
1002
1039
  }
1003
1040
  /**
1004
1041
  * Transforms an iris data snapshot into a simple data matrix
1005
- * @param {dh.TableData} data The Iris formatted table data
1006
- * @returns {unknown[][]} A matrix of the values of the data
1042
+ * @param data The Iris formatted table data
1043
+ * @returns A matrix of the values of the data
1007
1044
  */
1008
1045
 
1009
1046
 
@@ -1031,10 +1068,10 @@ class IrisGridUtils {
1031
1068
  }
1032
1069
  /**
1033
1070
  * Hydrate model rollup config
1034
- * @param {Array} originalColumns Original model columns
1035
- * @param {Object} config Dehydrated rollup config
1036
- * @param {Object} aggregationSettings Aggregation settings
1037
- * @returns {Object} Rollup config for the model
1071
+ * @param originalColumns Original model columns
1072
+ * @param config Dehydrated rollup config
1073
+ * @param aggregationSettings Aggregation settings
1074
+ * @returns Rollup config for the model
1038
1075
  */
1039
1076
 
1040
1077
 
@@ -1091,15 +1128,15 @@ class IrisGridUtils {
1091
1128
  };
1092
1129
  }
1093
1130
  /**
1094
- * @param {Map} pendingDataMap Map of pending data
1095
- * @returns {Map} A map with the errors in the pending data
1131
+ * @param pendingDataMap Map of pending data
1132
+ * @returns A map with the errors in the pending data
1096
1133
  */
1097
1134
 
1098
1135
 
1099
1136
  static getPendingErrors(pendingDataMap) {
1100
1137
  pendingDataMap.forEach((row, rowIndex) => {
1101
1138
  if (!IrisGridUtils.isValidIndex(rowIndex)) {
1102
- throw new Error('Invalid rowIndex', rowIndex);
1139
+ throw new Error("Invalid rowIndex ".concat(rowIndex));
1103
1140
  }
1104
1141
 
1105
1142
  var {
@@ -1107,7 +1144,7 @@ class IrisGridUtils {
1107
1144
  } = row;
1108
1145
  data.forEach((value, columnIndex) => {
1109
1146
  if (!IrisGridUtils.isValidIndex(columnIndex)) {
1110
- throw new Error('Invalid columnIndex', columnIndex);
1147
+ throw new Error("Invalid columnIndex ".concat(columnIndex));
1111
1148
  }
1112
1149
  });
1113
1150
  });
@@ -1115,8 +1152,8 @@ class IrisGridUtils {
1115
1152
  /**
1116
1153
  * Retrieves a column from the provided array at the index, or `null` and logs an error if it's invalid
1117
1154
  *
1118
- * @param {dh.Columns[]} columns The columns to get the column from
1119
- * @param {Number} columnIndex The column index to get
1155
+ * @param columns The columns to get the column from
1156
+ * @param columnIndex The column index to get
1120
1157
  */
1121
1158
 
1122
1159
 
@@ -1130,8 +1167,8 @@ class IrisGridUtils {
1130
1167
  }
1131
1168
  /**
1132
1169
  * Retrieves a column from the provided array matching the name, or `null` and logs an error if not found
1133
- * @param {dh.Column[]} columns The columns to get the column from
1134
- * @param {String} columnName The column name to retrieve
1170
+ * @param columns The columns to get the column from
1171
+ * @param columnName The column name to retrieve
1135
1172
  */
1136
1173
 
1137
1174
 
@@ -1156,9 +1193,9 @@ class IrisGridUtils {
1156
1193
  }
1157
1194
  /**
1158
1195
  * Get filter configs with column names changed to indexes, exclude missing columns
1159
- * @param {dh.Column[]} columns The columns to get column indexes from
1160
- * @param {Object[]} filters Filter configs
1161
- * @returns {Object[]} Updated filter configs with column names changed to indexes
1196
+ * @param columns The columns to get column indexes from
1197
+ * @param filters Filter configs
1198
+ * @returns Updated filter configs with column names changed to indexes
1162
1199
  */
1163
1200
 
1164
1201