@deephaven/iris-grid 1.7.1 → 1.7.2-beta.3

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 (206) hide show
  1. package/dist/AdvancedFilterCreator.js +5 -7
  2. package/dist/AdvancedFilterCreator.js.map +1 -1
  3. package/dist/AdvancedFilterCreatorFilterItem.js +6 -7
  4. package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
  5. package/dist/AdvancedFilterCreatorSelectValue.js +1 -2
  6. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  7. package/dist/AdvancedFilterCreatorSelectValueList.js +2 -3
  8. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  9. package/dist/ColumnHeaderGroup.js.map +1 -1
  10. package/dist/ColumnStatistics.d.ts +2 -2
  11. package/dist/ColumnStatistics.d.ts.map +1 -1
  12. package/dist/ColumnStatistics.js +2 -5
  13. package/dist/ColumnStatistics.js.map +1 -1
  14. package/dist/CommonTypes.js.map +1 -1
  15. package/dist/CrossColumnSearch.js +2 -4
  16. package/dist/CrossColumnSearch.js.map +1 -1
  17. package/dist/EmptyIrisGridModel.js.map +1 -1
  18. package/dist/FilterInputField.js +4 -5
  19. package/dist/FilterInputField.js.map +1 -1
  20. package/dist/GotoRow.js +4 -6
  21. package/dist/GotoRow.js.map +1 -1
  22. package/dist/IrisGrid.d.ts +39 -49
  23. package/dist/IrisGrid.d.ts.map +1 -1
  24. package/dist/IrisGrid.js +158 -175
  25. package/dist/IrisGrid.js.map +1 -1
  26. package/dist/IrisGridBottomBar.js.map +1 -1
  27. package/dist/IrisGridCacheUtils.js.map +1 -1
  28. package/dist/IrisGridCellOverflowModal.js +1 -2
  29. package/dist/IrisGridCellOverflowModal.js.map +1 -1
  30. package/dist/IrisGridCellRendererUtils.js.map +1 -1
  31. package/dist/IrisGridCopyHandler.js +4 -6
  32. package/dist/IrisGridCopyHandler.js.map +1 -1
  33. package/dist/IrisGridDataBarCellRenderer.js.map +1 -1
  34. package/dist/IrisGridIcons.js.map +1 -1
  35. package/dist/IrisGridMetricCalculator.d.ts +1 -2
  36. package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
  37. package/dist/IrisGridMetricCalculator.js +3 -2
  38. package/dist/IrisGridMetricCalculator.js.map +1 -1
  39. package/dist/IrisGridModel.js.map +1 -1
  40. package/dist/IrisGridModelFactory.js.map +1 -1
  41. package/dist/IrisGridModelUpdater.js.map +1 -1
  42. package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
  43. package/dist/IrisGridPartitionSelector.js +6 -8
  44. package/dist/IrisGridPartitionSelector.js.map +1 -1
  45. package/dist/IrisGridPartitionedTableModel.js.map +1 -1
  46. package/dist/IrisGridProxyModel.js +6 -7
  47. package/dist/IrisGridProxyModel.js.map +1 -1
  48. package/dist/IrisGridRenderer.js +0 -1
  49. package/dist/IrisGridRenderer.js.map +1 -1
  50. package/dist/IrisGridShortcuts.js.map +1 -1
  51. package/dist/IrisGridTableModel.js +1 -2
  52. package/dist/IrisGridTableModel.js.map +1 -1
  53. package/dist/IrisGridTableModelTemplate.d.ts +1 -1
  54. package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
  55. package/dist/IrisGridTableModelTemplate.js +57 -61
  56. package/dist/IrisGridTableModelTemplate.js.map +1 -1
  57. package/dist/IrisGridTestUtils.js.map +1 -1
  58. package/dist/IrisGridTextCellRenderer.js.map +1 -1
  59. package/dist/IrisGridTheme.js.map +1 -1
  60. package/dist/IrisGridThemeProvider.js.map +1 -1
  61. package/dist/IrisGridTreeTableModel.js +12 -13
  62. package/dist/IrisGridTreeTableModel.js.map +1 -1
  63. package/dist/IrisGridUtils.js +56 -56
  64. package/dist/IrisGridUtils.js.map +1 -1
  65. package/dist/LazyIrisGrid.d.ts +55 -78
  66. package/dist/LazyIrisGrid.d.ts.map +1 -1
  67. package/dist/LazyIrisGrid.js.map +1 -1
  68. package/dist/MissingKeyError.js.map +1 -1
  69. package/dist/MissingPartitionError.js.map +1 -1
  70. package/dist/NoPastePermissionModal.js +1 -2
  71. package/dist/NoPastePermissionModal.js.map +1 -1
  72. package/dist/PartitionedGridModel.js.map +1 -1
  73. package/dist/PendingDataBottomBar.js +1 -2
  74. package/dist/PendingDataBottomBar.js.map +1 -1
  75. package/dist/ToastBottomBar.js.map +1 -1
  76. package/dist/declaration.d.js.map +1 -1
  77. package/dist/format-context-menus/CustomFormatAction.js +1 -2
  78. package/dist/format-context-menus/CustomFormatAction.js.map +1 -1
  79. package/dist/format-context-menus/DateTimeFormatContextMenu.js.map +1 -1
  80. package/dist/format-context-menus/DecimalFormatContextMenu.js.map +1 -1
  81. package/dist/format-context-menus/FormatContextMenuUtils.js.map +1 -1
  82. package/dist/format-context-menus/IntegerFormatContextMenu.js.map +1 -1
  83. package/dist/format-context-menus/TextAlignmentFormatContextMenu.js +6 -4
  84. package/dist/format-context-menus/TextAlignmentFormatContextMenu.js.map +1 -1
  85. package/dist/format-context-menus/index.js.map +1 -1
  86. package/dist/index.js.map +1 -1
  87. package/dist/key-handlers/ClearFilterKeyHandler.js.map +1 -1
  88. package/dist/key-handlers/CopyCellKeyHandler.js.map +1 -1
  89. package/dist/key-handlers/CopyKeyHandler.js.map +1 -1
  90. package/dist/key-handlers/ReverseKeyHandler.js.map +1 -1
  91. package/dist/key-handlers/index.js.map +1 -1
  92. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
  93. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
  94. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.d.ts.map +1 -1
  95. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +5 -2
  96. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
  97. package/dist/mousehandlers/IrisGridContextMenuHandler.js +1 -2
  98. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  99. package/dist/mousehandlers/IrisGridCopyCellMouseHandler.js.map +1 -1
  100. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js.map +1 -1
  101. package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
  102. package/dist/mousehandlers/IrisGridPartitionedTableMouseHandler.js.map +1 -1
  103. package/dist/mousehandlers/IrisGridRowTreeMouseHandler.js.map +1 -1
  104. package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
  105. package/dist/mousehandlers/IrisGridTokenMouseHandler.js +1 -3
  106. package/dist/mousehandlers/IrisGridTokenMouseHandler.js.map +1 -1
  107. package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
  108. package/dist/mousehandlers/index.js.map +1 -1
  109. package/dist/sidebar/AdvancedSettings.js.map +1 -1
  110. package/dist/sidebar/AdvancedSettingsMenu.d.ts +1 -1
  111. package/dist/sidebar/AdvancedSettingsMenu.d.ts.map +1 -1
  112. package/dist/sidebar/AdvancedSettingsMenu.js.map +1 -1
  113. package/dist/sidebar/AdvancedSettingsType.js +3 -3
  114. package/dist/sidebar/AdvancedSettingsType.js.map +1 -1
  115. package/dist/sidebar/ChartBuilder.d.ts +2 -2
  116. package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
  117. package/dist/sidebar/ChartBuilder.js +1 -2
  118. package/dist/sidebar/ChartBuilder.js.map +1 -1
  119. package/dist/sidebar/CustomColumnBuilder.js +3 -5
  120. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  121. package/dist/sidebar/CustomColumnInput.js +1 -2
  122. package/dist/sidebar/CustomColumnInput.js.map +1 -1
  123. package/dist/sidebar/DownloadServiceWorkerUtils.js +1 -1
  124. package/dist/sidebar/DownloadServiceWorkerUtils.js.map +1 -1
  125. package/dist/sidebar/InputEditor.js +8 -9
  126. package/dist/sidebar/InputEditor.js.map +1 -1
  127. package/dist/sidebar/OptionType.js +3 -3
  128. package/dist/sidebar/OptionType.js.map +1 -1
  129. package/dist/sidebar/RollupRows.js +7 -9
  130. package/dist/sidebar/RollupRows.js.map +1 -1
  131. package/dist/sidebar/SelectDistinctBuilder.js +1 -2
  132. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  133. package/dist/sidebar/TableCsvExporter.js +5 -7
  134. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  135. package/dist/sidebar/TableSaver.js +9 -10
  136. package/dist/sidebar/TableSaver.js.map +1 -1
  137. package/dist/sidebar/aggregations/AggregationEdit.js +4 -5
  138. package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
  139. package/dist/sidebar/aggregations/AggregationOperation.js +3 -3
  140. package/dist/sidebar/aggregations/AggregationOperation.js.map +1 -1
  141. package/dist/sidebar/aggregations/AggregationUtils.js +0 -1
  142. package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
  143. package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
  144. package/dist/sidebar/aggregations/Aggregations.js +2 -4
  145. package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
  146. package/dist/sidebar/aggregations/index.js.map +1 -1
  147. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts.map +1 -1
  148. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +1 -3
  149. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
  150. package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts.map +1 -1
  151. package/dist/sidebar/conditional-formatting/ConditionEditor.js +2 -3
  152. package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
  153. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +1 -2
  154. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
  155. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js.map +1 -1
  156. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +1 -2
  157. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
  158. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +21 -21
  159. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
  160. package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts.map +1 -1
  161. package/dist/sidebar/conditional-formatting/RowFormatEditor.js +1 -3
  162. package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
  163. package/dist/sidebar/conditional-formatting/StyleEditor.d.ts.map +1 -1
  164. package/dist/sidebar/conditional-formatting/StyleEditor.js +2 -3
  165. package/dist/sidebar/conditional-formatting/StyleEditor.js.map +1 -1
  166. package/dist/sidebar/icons/BarIcon.js +1 -2
  167. package/dist/sidebar/icons/BarIcon.js.map +1 -1
  168. package/dist/sidebar/icons/FormatColumnWhereIcon.js +1 -2
  169. package/dist/sidebar/icons/FormatColumnWhereIcon.js.map +1 -1
  170. package/dist/sidebar/icons/FormatRowWhereIcon.js +1 -2
  171. package/dist/sidebar/icons/FormatRowWhereIcon.js.map +1 -1
  172. package/dist/sidebar/icons/HistogramIcon.js +1 -2
  173. package/dist/sidebar/icons/HistogramIcon.js.map +1 -1
  174. package/dist/sidebar/icons/LineIcon.js +1 -2
  175. package/dist/sidebar/icons/LineIcon.js.map +1 -1
  176. package/dist/sidebar/icons/PieIcon.js +1 -2
  177. package/dist/sidebar/icons/PieIcon.js.map +1 -1
  178. package/dist/sidebar/icons/ScatterIcon.js +1 -2
  179. package/dist/sidebar/icons/ScatterIcon.js.map +1 -1
  180. package/dist/sidebar/icons/index.js.map +1 -1
  181. package/dist/sidebar/index.js.map +1 -1
  182. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.d.ts +2 -2
  183. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.d.ts.map +1 -1
  184. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js +34 -36
  185. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js.map +1 -1
  186. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js +3 -3
  187. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js.map +1 -1
  188. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js +3 -5
  189. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js.map +1 -1
  190. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.d.ts.map +1 -1
  191. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js +2 -4
  192. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js.map +1 -1
  193. package/dist/sidebar/visibility-ordering-builder/sortable-tree/PointerSensorWithInteraction.js.map +1 -1
  194. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js +4 -4
  195. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js.map +1 -1
  196. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeInner.js +3 -6
  197. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeInner.js.map +1 -1
  198. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeItem.js.map +1 -1
  199. package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js +1 -2
  200. package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js.map +1 -1
  201. package/dist/sidebar/visibility-ordering-builder/sortable-tree/keyboardCoordinates.js.map +1 -1
  202. package/dist/sidebar/visibility-ordering-builder/sortable-tree/types.js.map +1 -1
  203. package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.d.ts +1 -2
  204. package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.d.ts.map +1 -1
  205. package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.js.map +1 -1
  206. package/package.json +17 -18
package/dist/IrisGrid.js CHANGED
@@ -9,7 +9,6 @@ import React, { Component } from 'react';
9
9
  import memoize from 'memoizee';
10
10
  import classNames from 'classnames';
11
11
  import { CSSTransition } from 'react-transition-group';
12
- import PropTypes from 'prop-types';
13
12
  import deepEqual from 'fast-deep-equal';
14
13
  import Log from '@deephaven/log';
15
14
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
@@ -54,9 +53,7 @@ import AggregationOperation from "./sidebar/aggregations/AggregationOperation.js
54
53
  import { IrisGridThemeContext } from "./IrisGridThemeProvider.js";
55
54
  import { isMissingPartitionError } from "./MissingPartitionError.js";
56
55
  import { NoPastePermissionModal } from "./NoPastePermissionModal.js";
57
- import { jsx as _jsx } from "react/jsx-runtime";
58
- import { Fragment as _Fragment } from "react/jsx-runtime";
59
- import { jsxs as _jsxs } from "react/jsx-runtime";
56
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
60
57
  var log = Log.module('IrisGrid');
61
58
  var VIEWPORT_LOADING_DELAY = 500;
62
59
  var UPDATE_DOWNLOAD_THROTTLE = 500;
@@ -83,10 +80,8 @@ function isEmptyConfig(_ref) {
83
80
  return advancedFilters.size === 0 && aggregationSettings.aggregations.length === 0 && customColumns.length === 0 && quickFilters.size === 0 && !reverse && rollupConfig == null && searchFilter == null && selectDistinctColumns.length === 0 && sorts.length === 0;
84
81
  }
85
82
  class IrisGrid extends Component {
86
- // eslint-disable-next-line react/static-property-placement, react/sort-comp
87
-
88
83
  constructor(props) {
89
- var _model$layoutHints, _model$layoutHints$hi, _model$columns$0$name, _model$columns$;
84
+ var _model$layoutHints, _model$columns$0$name, _model$columns$;
90
85
  super(props);
91
86
  _defineProperty(this, "grid", void 0);
92
87
  _defineProperty(this, "lastFocusedFilterBarColumn", void 0);
@@ -101,6 +96,7 @@ class IrisGrid extends Component {
101
96
  _defineProperty(this, "showEmptyStrings", void 0);
102
97
  _defineProperty(this, "showNullStrings", void 0);
103
98
  _defineProperty(this, "showExtraGroupColumn", void 0);
99
+ // When the loading scrim started/when it should extend to the end of the screen.
104
100
  _defineProperty(this, "loadingScrimStartTime", void 0);
105
101
  _defineProperty(this, "loadingScrimFinishTime", void 0);
106
102
  _defineProperty(this, "animationFrame", void 0);
@@ -272,6 +268,14 @@ class IrisGrid extends Component {
272
268
  _defineProperty(this, "getCachedFormatColumns", memoize((dh, columns, rules) => getFormatColumns(dh, columns, rules), {
273
269
  max: 1000
274
270
  }));
271
+ /**
272
+ * Builds formatColumns array based on the provided formatting rules with optional preview
273
+ * @param columns Array of columns
274
+ * @param rulesParam Array of formatting rules
275
+ * @param preview Optional temporary formatting rule for previewing live changes
276
+ * @param editIndex Index in the rulesParam array to replace with the preview, null if preview not applicable
277
+ * @returns Format columns array
278
+ */
275
279
  _defineProperty(this, "getCachedPreviewFormatColumns", memoize((dh, columns, rulesParam, preview, editIndex) => {
276
280
  log.debug('getCachedPreviewFormatColumns', rulesParam, preview, editIndex);
277
281
  if (preview !== undefined && editIndex !== undefined) {
@@ -288,7 +292,7 @@ class IrisGrid extends Component {
288
292
  }));
289
293
  _defineProperty(this, "getModelTotalsConfig", memoize((columns, config, aggregationSettings) => {
290
294
  var _config$columns$lengt, _config$columns;
291
- if (((_config$columns$lengt = config === null || config === void 0 ? void 0 : (_config$columns = config.columns) === null || _config$columns === void 0 ? void 0 : _config$columns.length) !== null && _config$columns$lengt !== void 0 ? _config$columns$lengt : 0) > 0) {
295
+ if (((_config$columns$lengt = config === null || config === void 0 || (_config$columns = config.columns) === null || _config$columns === void 0 ? void 0 : _config$columns.length) !== null && _config$columns$lengt !== void 0 ? _config$columns$lengt : 0) > 0) {
292
296
  // If we've got rollups, then aggregations are applied as part of that...
293
297
  return null;
294
298
  }
@@ -360,7 +364,7 @@ class IrisGrid extends Component {
360
364
  _defineProperty(this, "getCachedKeyHandlers", memoize(keyHandlers => [...keyHandlers, ...this.keyHandlers].sort((a, b) => a.order - b.order), {
361
365
  max: 1
362
366
  }));
363
- _defineProperty(this, "getCachedMouseHandlers", memoize(mouseHandlers => [...mouseHandlers, ...this.mouseHandlers], {
367
+ _defineProperty(this, "getCachedMouseHandlers", memoize(mouseHandlers => [...mouseHandlers, ...this.mouseHandlers].map(handler => typeof handler === 'function' ? handler(this) : handler), {
364
368
  max: 1
365
369
  }));
366
370
  _defineProperty(this, "getCachedRenderer", memoize(rendererProp => rendererProp !== null && rendererProp !== void 0 ? rendererProp : new IrisGridRenderer(), {
@@ -412,6 +416,7 @@ class IrisGrid extends Component {
412
416
  leading: false,
413
417
  trailing: true
414
418
  }));
419
+ // Apply live changes
415
420
  _defineProperty(this, "handleConditionalFormatEditorUpdate", debounce(conditionalFormatPreview => {
416
421
  this.setState({
417
422
  conditionalFormatPreview
@@ -681,14 +686,16 @@ class IrisGrid extends Component {
681
686
  frozenColumns,
682
687
  columnHeaderGroups
683
688
  } = props;
689
+ var {
690
+ mouseHandlers: mouseHandlersProp
691
+ } = props;
684
692
  var {
685
693
  dh: _dh
686
694
  } = _model;
687
695
  var _keyHandlers = [new CopyCellKeyHandler(this), new ReverseKeyHandler(this), new ClearFilterKeyHandler(this)];
688
- var _mouseHandlers = [new IrisGridCellOverflowMouseHandler(this), new IrisGridRowTreeMouseHandler(this), new IrisGridTokenMouseHandler(this), new IrisGridColumnSelectMouseHandler(this), new IrisGridColumnTooltipMouseHandler(this), new IrisGridSortMouseHandler(this), new IrisGridFilterMouseHandler(this), new IrisGridContextMenuHandler(this, _dh), new IrisGridDataSelectMouseHandler(this), new PendingMouseHandler(this), new IrisGridPartitionedTableMouseHandler(this)];
696
+ var _mouseHandlers = [new IrisGridCellOverflowMouseHandler(this), new IrisGridRowTreeMouseHandler(this), new IrisGridTokenMouseHandler(this), new IrisGridColumnSelectMouseHandler(this), new IrisGridColumnTooltipMouseHandler(this), new IrisGridSortMouseHandler(this), new IrisGridFilterMouseHandler(this), new IrisGridContextMenuHandler(this, _dh), new IrisGridDataSelectMouseHandler(this), new PendingMouseHandler(this), new IrisGridPartitionedTableMouseHandler(this), ...mouseHandlersProp, ...(canCopy ? [new IrisGridCopyCellMouseHandler(this)] : [])];
689
697
  if (canCopy) {
690
698
  _keyHandlers.push(new CopyKeyHandler(this));
691
- _mouseHandlers.push(new IrisGridCopyCellMouseHandler(this));
692
699
  }
693
700
  var _movedColumns = movedColumnsProp.length > 0 ? movedColumnsProp : _model.initialMovedColumns;
694
701
  var movedRows = movedRowsProp.length > 0 ? movedRowsProp : _model.initialMovedRows;
@@ -696,7 +703,7 @@ class IrisGrid extends Component {
696
703
  userColumnWidths: new Map(_userColumnWidths),
697
704
  userRowHeights: new Map(userRowHeights),
698
705
  movedColumns: _movedColumns,
699
- initialColumnWidths: new Map(_model === null || _model === void 0 ? void 0 : (_model$layoutHints = _model.layoutHints) === null || _model$layoutHints === void 0 ? void 0 : (_model$layoutHints$hi = _model$layoutHints.hiddenColumns) === null || _model$layoutHints$hi === void 0 ? void 0 : _model$layoutHints$hi.map(name => [_model.getColumnIndexByName(name), 0]))
706
+ initialColumnWidths: new Map(_model === null || _model === void 0 || (_model$layoutHints = _model.layoutHints) === null || _model$layoutHints === void 0 || (_model$layoutHints = _model$layoutHints.hiddenColumns) === null || _model$layoutHints === void 0 ? void 0 : _model$layoutHints.map(name => [_model.getColumnIndexByName(name), 0]))
700
707
  });
701
708
  var searchColumns = _selectedSearchColumns !== null && _selectedSearchColumns !== void 0 ? _selectedSearchColumns : [];
702
709
  var _searchFilter = CrossColumnSearch.createSearchFilter(_dh, _searchValue, searchColumns, _model.columns, _invertSearchColumns);
@@ -893,23 +900,10 @@ class IrisGrid extends Component {
893
900
  }
894
901
  this.showViewportLoading.cancel();
895
902
  }
896
-
897
- // When the loading scrim started/when it should extend to the end of the screen.
898
-
899
903
  get gridWrapper() {
900
904
  var _this$grid$canvasWrap, _this$grid;
901
905
  return (_this$grid$canvasWrap = (_this$grid = this.grid) === null || _this$grid === void 0 ? void 0 : _this$grid.canvasWrapper.current) !== null && _this$grid$canvasWrap !== void 0 ? _this$grid$canvasWrap : null;
902
906
  }
903
-
904
- /**
905
- * Builds formatColumns array based on the provided formatting rules with optional preview
906
- * @param columns Array of columns
907
- * @param rulesParam Array of formatting rules
908
- * @param preview Optional temporary formatting rule for previewing live changes
909
- * @param editIndex Index in the rulesParam array to replace with the preview, null if preview not applicable
910
- * @returns Format columns array
911
- */
912
-
913
907
  getKeyHandlers() {
914
908
  var {
915
909
  keyHandlers
@@ -962,15 +956,15 @@ class IrisGrid extends Component {
962
956
  var modelColumn = this.getModelColumn(columnIndex);
963
957
  var modelRow = this.getModelRow(rowIndex);
964
958
  if (rawValue && modelColumn != null && modelRow != null) {
965
- var _value = model.valueForCell(modelColumn, modelRow);
959
+ var value = model.valueForCell(modelColumn, modelRow);
966
960
  if (TableUtils.isDateType(model.columns[modelColumn].type)) {
967
961
  // The returned value is just a long value, we should return the value formatted as a full date string
968
962
  var {
969
963
  formatter
970
964
  } = model;
971
- return dh.i18n.DateTimeFormat.format(UNFORMATTED_DATE_PATTERN, _value, dh.i18n.TimeZone.getTimeZone(formatter.timeZone));
965
+ return dh.i18n.DateTimeFormat.format(UNFORMATTED_DATE_PATTERN, value, dh.i18n.TimeZone.getTimeZone(formatter.timeZone));
972
966
  }
973
- return _value;
967
+ return value;
974
968
  }
975
969
  if (rawValue) {
976
970
  return null;
@@ -1213,11 +1207,11 @@ class IrisGrid extends Component {
1213
1207
  resetRanges: true
1214
1208
  });
1215
1209
  var clearRange = Array.isArray(modelRange) ? modelRange : [modelRange, modelRange];
1216
- this.setState(_ref10 => {
1210
+ this.setState(_ref0 => {
1217
1211
  var {
1218
1212
  advancedFilters,
1219
1213
  quickFilters
1220
- } = _ref10;
1214
+ } = _ref0;
1221
1215
  var newAdvancedFilters = advancedFilters ? new Map(advancedFilters) : new Map();
1222
1216
  var newQuickFilters = quickFilters ? new Map(quickFilters) : new Map();
1223
1217
  newAdvancedFilters.forEach((_, column) => {
@@ -1240,10 +1234,10 @@ class IrisGrid extends Component {
1240
1234
  this.startLoading('Clearing Filter...', {
1241
1235
  resetRanges: true
1242
1236
  });
1243
- this.setState(_ref11 => {
1237
+ this.setState(_ref1 => {
1244
1238
  var {
1245
1239
  quickFilters
1246
- } = _ref11;
1240
+ } = _ref1;
1247
1241
  var newQuickFilters = new Map(quickFilters);
1248
1242
  newQuickFilters.delete(modelColumn);
1249
1243
  return {
@@ -1344,11 +1338,11 @@ class IrisGrid extends Component {
1344
1338
  advancedFilters: newAdvancedFilters
1345
1339
  });
1346
1340
  }
1347
- setFilters(_ref12) {
1341
+ setFilters(_ref10) {
1348
1342
  var {
1349
1343
  quickFilters,
1350
1344
  advancedFilters
1351
- } = _ref12;
1345
+ } = _ref10;
1352
1346
  this.setState({
1353
1347
  quickFilters,
1354
1348
  advancedFilters
@@ -1505,14 +1499,14 @@ class IrisGrid extends Component {
1505
1499
  keyTable.addEventListener(dh.Table.EVENT_UPDATED, event => {
1506
1500
  try {
1507
1501
  var {
1508
- detail: _data
1502
+ detail: data
1509
1503
  } = event;
1510
- if (_data.rows.length === 0) {
1504
+ if (data.rows.length === 0) {
1511
1505
  // We received an update and the table is still empty. Stop showing the loading spinner so we know
1512
1506
  _this2.stopLoading();
1513
1507
  return;
1514
1508
  }
1515
- var row = _data.rows[0];
1509
+ var row = data.rows[0];
1516
1510
  var values = keyTable.columns.map(column => row.get(column));
1517
1511
  var newPartition = {
1518
1512
  partitions: values,
@@ -1543,13 +1537,13 @@ class IrisGrid extends Component {
1543
1537
  } = this.props;
1544
1538
  assertNotNull(rowIndex);
1545
1539
  if (isPartitionedGridModel(model)) {
1546
- var _data2 = this.getRowDataMap(rowIndex);
1540
+ var data = this.getRowDataMap(rowIndex);
1547
1541
  var partitionColumnSet = new Set(model.partitionColumns.map(column => column.name));
1548
- var values = Object.entries(_data2).filter(_ref13 => {
1549
- var [key, _] = _ref13;
1542
+ var values = Object.entries(data).filter(_ref11 => {
1543
+ var [key, _] = _ref11;
1550
1544
  return partitionColumnSet.has(key);
1551
- }).map(_ref14 => {
1552
- var [key, columnData] = _ref14;
1545
+ }).map(_ref12 => {
1546
+ var [key, columnData] = _ref12;
1553
1547
  return columnData.value;
1554
1548
  });
1555
1549
  var newPartition = {
@@ -1568,8 +1562,8 @@ class IrisGrid extends Component {
1568
1562
  canCopy
1569
1563
  } = this.props;
1570
1564
  if (canCopy) {
1571
- var _value2 = String(this.getValueForCell(columnIndex, rowIndex, rawValue));
1572
- copyToClipboard(_value2).catch(e => log.error('Unable to copy cell', e));
1565
+ var value = String(this.getValueForCell(columnIndex, rowIndex, rawValue));
1566
+ copyToClipboard(value).catch(e => log.error('Unable to copy cell', e));
1573
1567
  } else {
1574
1568
  log.error('Attempted to copyCell for user without copy permission.');
1575
1569
  }
@@ -1760,7 +1754,7 @@ class IrisGrid extends Component {
1760
1754
  }
1761
1755
  focus() {
1762
1756
  var _this$grid3;
1763
- (_this$grid3 = this.grid) === null || _this$grid3 === void 0 ? void 0 : _this$grid3.focus();
1757
+ (_this$grid3 = this.grid) === null || _this$grid3 === void 0 || _this$grid3.focus();
1764
1758
  }
1765
1759
  focusFilterBar(column) {
1766
1760
  var {
@@ -1791,7 +1785,7 @@ class IrisGrid extends Component {
1791
1785
  } = metrics;
1792
1786
  if (column < left) {
1793
1787
  var _this$grid4;
1794
- (_this$grid4 = this.grid) === null || _this$grid4 === void 0 ? void 0 : _this$grid4.setViewState({
1788
+ (_this$grid4 = this.grid) === null || _this$grid4 === void 0 || _this$grid4.setViewState({
1795
1789
  left: column
1796
1790
  }, true);
1797
1791
  } else if (rightVisible < column) {
@@ -1799,7 +1793,7 @@ class IrisGrid extends Component {
1799
1793
  var metricState = this.getMetricState();
1800
1794
  assertNotNull(metricState);
1801
1795
  var newLeft = metricCalculator.getLastLeft(metricState, column, metricCalculator.getVisibleWidth(metricState));
1802
- (_this$grid5 = this.grid) === null || _this$grid5 === void 0 ? void 0 : _this$grid5.setViewState({
1796
+ (_this$grid5 = this.grid) === null || _this$grid5 === void 0 || _this$grid5.setViewState({
1803
1797
  left: Math.min(newLeft, lastLeft),
1804
1798
  leftOffset: 0
1805
1799
  }, true);
@@ -1817,7 +1811,7 @@ class IrisGrid extends Component {
1817
1811
  movedColumns
1818
1812
  } = this.state;
1819
1813
  metricCalculator.setColumnWidth(GridUtils.getModelIndex(columnVisibleIndex, movedColumns), 0);
1820
- (_this$grid6 = this.grid) === null || _this$grid6 === void 0 ? void 0 : _this$grid6.forceUpdate();
1814
+ (_this$grid6 = this.grid) === null || _this$grid6 === void 0 || _this$grid6.forceUpdate();
1821
1815
  }
1822
1816
  freezeColumnByColumnName(columnName) {
1823
1817
  var {
@@ -1861,13 +1855,13 @@ class IrisGrid extends Component {
1861
1855
  movedColumns: newMovedColumns
1862
1856
  });
1863
1857
  }
1864
- toggleExpandColumn(modelIndex) {
1858
+ toggleExpandColumn(modelIndex, expandDescendants) {
1865
1859
  log.debug2('Toggle expand column', modelIndex);
1866
1860
  var {
1867
1861
  model
1868
1862
  } = this.props;
1869
1863
  if (isExpandableColumnGridModel(model) && model.hasExpandableColumns) {
1870
- model.setColumnExpanded(modelIndex, !model.isColumnExpanded(modelIndex));
1864
+ model.setColumnExpanded(modelIndex, !model.isColumnExpanded(modelIndex), expandDescendants);
1871
1865
  }
1872
1866
  }
1873
1867
  expandAllColumns() {
@@ -1910,7 +1904,7 @@ class IrisGrid extends Component {
1910
1904
  metricCalculator.setColumnWidth(modelIndex, 0);
1911
1905
  });
1912
1906
  }
1913
- (_this$grid7 = this.grid) === null || _this$grid7 === void 0 ? void 0 : _this$grid7.forceUpdate();
1907
+ (_this$grid7 = this.grid) === null || _this$grid7 === void 0 || _this$grid7.forceUpdate();
1914
1908
  }
1915
1909
  handleColumnVisibilityReset() {
1916
1910
  var _model$layoutHints$fr, _model$layoutHints2;
@@ -1924,7 +1918,7 @@ class IrisGrid extends Component {
1924
1918
  this.handleMovedColumnsChanged(model.initialMovedColumns);
1925
1919
  this.handleHeaderGroupsChanged(model.initialColumnHeaderGroups);
1926
1920
  this.setState({
1927
- frozenColumns: (_model$layoutHints$fr = (_model$layoutHints2 = model.layoutHints) === null || _model$layoutHints2 === void 0 ? void 0 : _model$layoutHints2.frozenColumns) !== null && _model$layoutHints$fr !== void 0 ? _model$layoutHints$fr : []
1921
+ frozenColumns: (_model$layoutHints$fr = (_model$layoutHints2 = model.layoutHints) === null || _model$layoutHints2 === void 0 ? void 0 : _model$layoutHints2.frozenColumns) !== null && _model$layoutHints$fr !== void 0 ? _model$layoutHints$fr : EMPTY_ARRAY
1928
1922
  });
1929
1923
  }
1930
1924
  handleCrossColumnSearch(searchValue, selectedSearchColumns, invertSearchColumns) {
@@ -1941,7 +1935,7 @@ class IrisGrid extends Component {
1941
1935
  }
1942
1936
  handleAnimationLoop() {
1943
1937
  var _this$grid8;
1944
- (_this$grid8 = this.grid) === null || _this$grid8 === void 0 ? void 0 : _this$grid8.updateCanvas();
1938
+ (_this$grid8 = this.grid) === null || _this$grid8 === void 0 || _this$grid8.updateCanvas();
1945
1939
  if (this.isAnimating) {
1946
1940
  this.animationFrame = requestAnimationFrame(this.handleAnimationLoop);
1947
1941
  }
@@ -2007,7 +2001,7 @@ class IrisGrid extends Component {
2007
2001
  metricCalculator.resetColumnWidth(modelIndex);
2008
2002
  }
2009
2003
  }
2010
- (_this$grid9 = this.grid) === null || _this$grid9 === void 0 ? void 0 : _this$grid9.forceUpdate();
2004
+ (_this$grid9 = this.grid) === null || _this$grid9 === void 0 || _this$grid9.forceUpdate();
2011
2005
  }
2012
2006
 
2013
2007
  /**
@@ -2015,9 +2009,9 @@ class IrisGrid extends Component {
2015
2009
  * to keep Grid and IrisGrid metrics in sync since metrics are stored in both places.
2016
2010
  */
2017
2011
  updateMetrics() {
2018
- var _this$grid10;
2012
+ var _this$grid0;
2019
2013
  this.setState({
2020
- metrics: (_this$grid10 = this.grid) === null || _this$grid10 === void 0 ? void 0 : _this$grid10.updateMetrics()
2014
+ metrics: (_this$grid0 = this.grid) === null || _this$grid0 === void 0 ? void 0 : _this$grid0.updateMetrics()
2021
2015
  });
2022
2016
  }
2023
2017
  toggleSort(columnIndex, addToExisting) {
@@ -2038,15 +2032,15 @@ class IrisGrid extends Component {
2038
2032
  }
2039
2033
  }
2040
2034
  updateSorts(sorts) {
2041
- var _this$grid11;
2035
+ var _this$grid1;
2042
2036
  this.startLoading('Sorting...');
2043
2037
  this.setState({
2044
2038
  sorts
2045
2039
  });
2046
- (_this$grid11 = this.grid) === null || _this$grid11 === void 0 ? void 0 : _this$grid11.forceUpdate();
2040
+ (_this$grid1 = this.grid) === null || _this$grid1 === void 0 || _this$grid1.forceUpdate();
2047
2041
  }
2048
2042
  sortColumn(modelColumn) {
2049
- var _this$grid12;
2043
+ var _this$grid10;
2050
2044
  var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TableUtils.sortDirection.none;
2051
2045
  var isAbs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
2052
2046
  var addToExisting = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
@@ -2059,15 +2053,15 @@ class IrisGrid extends Component {
2059
2053
  this.setState({
2060
2054
  sorts
2061
2055
  });
2062
- (_this$grid12 = this.grid) === null || _this$grid12 === void 0 ? void 0 : _this$grid12.forceUpdate();
2056
+ (_this$grid10 = this.grid) === null || _this$grid10 === void 0 || _this$grid10.forceUpdate();
2063
2057
  }
2064
2058
  reverse(reverse) {
2065
- var _this$grid13;
2059
+ var _this$grid11;
2066
2060
  this.startLoading('Reversing...');
2067
2061
  this.setState({
2068
2062
  reverse
2069
2063
  });
2070
- (_this$grid13 = this.grid) === null || _this$grid13 === void 0 ? void 0 : _this$grid13.forceUpdate();
2064
+ (_this$grid11 = this.grid) === null || _this$grid11 === void 0 || _this$grid11.forceUpdate();
2071
2065
  }
2072
2066
  isReversible() {
2073
2067
  var {
@@ -2090,16 +2084,16 @@ class IrisGrid extends Component {
2090
2084
  } else {
2091
2085
  var columnIndex = 0;
2092
2086
  var {
2093
- model: _model2
2087
+ model
2094
2088
  } = this.props;
2095
2089
  var {
2096
2090
  columnCount
2097
- } = _model2;
2091
+ } = model;
2098
2092
  for (var i = 0; i < columnCount; i += 1) {
2099
2093
  var modelColumn = this.getModelColumn(i);
2100
2094
  if (modelColumn != null) {
2101
- var _column = _model2.columns[modelColumn];
2102
- if (_column != null && TableUtils.isTextType(_column.type)) {
2095
+ var column = model.columns[modelColumn];
2096
+ if (column != null && TableUtils.isTextType(column.type)) {
2103
2097
  columnIndex = i;
2104
2098
  break;
2105
2099
  }
@@ -2108,8 +2102,8 @@ class IrisGrid extends Component {
2108
2102
  this.focusFilterBar(columnIndex);
2109
2103
  }
2110
2104
  } else {
2111
- var _this$grid14;
2112
- (_this$grid14 = this.grid) === null || _this$grid14 === void 0 ? void 0 : _this$grid14.focus();
2105
+ var _this$grid12;
2106
+ (_this$grid12 = this.grid) === null || _this$grid12 === void 0 || _this$grid12.focus();
2113
2107
  }
2114
2108
  }
2115
2109
  isTableSearchAvailable() {
@@ -2121,7 +2115,7 @@ class IrisGrid extends Component {
2121
2115
  var {
2122
2116
  dh
2123
2117
  } = model;
2124
- var searchDisplayMode = model === null || model === void 0 ? void 0 : (_model$layoutHints3 = model.layoutHints) === null || _model$layoutHints3 === void 0 ? void 0 : _model$layoutHints3.searchDisplayMode;
2118
+ var searchDisplayMode = model === null || model === void 0 || (_model$layoutHints3 = model.layoutHints) === null || _model$layoutHints3 === void 0 ? void 0 : _model$layoutHints3.searchDisplayMode;
2125
2119
  if (searchDisplayMode === ((_dh$SearchDisplayMode = dh.SearchDisplayMode) === null || _dh$SearchDisplayMode === void 0 ? void 0 : _dh$SearchDisplayMode.SEARCH_DISPLAY_HIDE)) {
2126
2120
  return false;
2127
2121
  }
@@ -2144,15 +2138,15 @@ class IrisGrid extends Component {
2144
2138
  var _this$crossColumnRef;
2145
2139
  if (update && (_this$crossColumnRef = this.crossColumnRef) !== null && _this$crossColumnRef !== void 0 && _this$crossColumnRef.current) {
2146
2140
  var _this$crossColumnRef2;
2147
- (_this$crossColumnRef2 = this.crossColumnRef) === null || _this$crossColumnRef2 === void 0 ? void 0 : _this$crossColumnRef2.current.focus();
2141
+ (_this$crossColumnRef2 = this.crossColumnRef) === null || _this$crossColumnRef2 === void 0 || _this$crossColumnRef2.current.focus();
2148
2142
  } else {
2149
- var _this$grid15;
2150
- (_this$grid15 = this.grid) === null || _this$grid15 === void 0 ? void 0 : _this$grid15.focus();
2143
+ var _this$grid13;
2144
+ (_this$grid13 = this.grid) === null || _this$grid13 === void 0 || _this$grid13.focus();
2151
2145
  }
2152
2146
  });
2153
2147
  }
2154
2148
  toggleGotoRow() {
2155
- var _this$grid16, _this$grid17;
2149
+ var _this$grid14, _this$grid15;
2156
2150
  var row = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
2157
2151
  var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
2158
2152
  var columnName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
@@ -2171,11 +2165,11 @@ class IrisGrid extends Component {
2171
2165
  gotoValueManuallyChanged: false
2172
2166
  });
2173
2167
  this.focusRowInGrid(row);
2174
- (_this$gotoRowRef$curr = this.gotoRowRef.current) === null || _this$gotoRowRef$curr === void 0 ? void 0 : _this$gotoRowRef$curr.focus();
2168
+ (_this$gotoRowRef$curr = this.gotoRowRef.current) === null || _this$gotoRowRef$curr === void 0 || _this$gotoRowRef$curr.focus();
2175
2169
  return;
2176
2170
  }
2177
- var cursorRow = (_this$grid16 = this.grid) === null || _this$grid16 === void 0 ? void 0 : _this$grid16.state.cursorRow;
2178
- var cursorColumn = (_this$grid17 = this.grid) === null || _this$grid17 === void 0 ? void 0 : _this$grid17.state.cursorColumn;
2171
+ var cursorRow = (_this$grid14 = this.grid) === null || _this$grid14 === void 0 ? void 0 : _this$grid14.state.cursorRow;
2172
+ var cursorColumn = (_this$grid15 = this.grid) === null || _this$grid15 === void 0 ? void 0 : _this$grid15.state.cursorColumn;
2179
2173
  if (cursorRow == null || cursorColumn == null) {
2180
2174
  // if a cell is not selected / grid is not rendered
2181
2175
  this.setState({
@@ -2211,7 +2205,7 @@ class IrisGrid extends Component {
2211
2205
  commitPending() {
2212
2206
  var _this3 = this;
2213
2207
  return _asyncToGenerator(function* () {
2214
- var _document, _document$activeEleme;
2208
+ var _document;
2215
2209
  var {
2216
2210
  model
2217
2211
  } = _this3.props;
@@ -2224,7 +2218,7 @@ class IrisGrid extends Component {
2224
2218
  if (pendingSavePromise != null) {
2225
2219
  throw new Error('Save already in progress');
2226
2220
  }
2227
- var containsGridCellInputField = (_document = document) === null || _document === void 0 ? void 0 : (_document$activeEleme = _document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.classList.contains('grid-cell-input-field');
2221
+ var containsGridCellInputField = (_document = document) === null || _document === void 0 || (_document = _document.activeElement) === null || _document === void 0 ? void 0 : _document.classList.contains('grid-cell-input-field');
2228
2222
  if (containsGridCellInputField != null && containsGridCellInputField) {
2229
2223
  var _this3$grid;
2230
2224
  if (document.activeElement != null && document.activeElement.classList.contains('error')) {
@@ -2232,7 +2226,7 @@ class IrisGrid extends Component {
2232
2226
  }
2233
2227
 
2234
2228
  // Focus the grid again to commit any pending input changes
2235
- (_this3$grid = _this3.grid) === null || _this3$grid === void 0 ? void 0 : _this3$grid.focus();
2229
+ (_this3$grid = _this3.grid) === null || _this3$grid === void 0 || _this3$grid.focus();
2236
2230
  }
2237
2231
  var newPendingSavePromise = _this3.pending.add(model.commitPending()).then(() => {
2238
2232
  _this3.setState({
@@ -2342,7 +2336,7 @@ class IrisGrid extends Component {
2342
2336
  this.setAdvancedFilter(index, filter, options);
2343
2337
  }
2344
2338
  handleAdvancedFilterSortChange(column, direction) {
2345
- var _this$grid18;
2339
+ var _this$grid16;
2346
2340
  var addToExisting = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
2347
2341
  var {
2348
2342
  model
@@ -2365,11 +2359,11 @@ class IrisGrid extends Component {
2365
2359
  this.setState({
2366
2360
  sorts
2367
2361
  });
2368
- (_this$grid18 = this.grid) === null || _this$grid18 === void 0 ? void 0 : _this$grid18.forceUpdate();
2362
+ (_this$grid16 = this.grid) === null || _this$grid16 === void 0 || _this$grid16.forceUpdate();
2369
2363
  }
2370
2364
  handleAdvancedFilterDone() {
2371
- var _this$grid19;
2372
- (_this$grid19 = this.grid) === null || _this$grid19 === void 0 ? void 0 : _this$grid19.focus();
2365
+ var _this$grid17;
2366
+ (_this$grid17 = this.grid) === null || _this$grid17 === void 0 || _this$grid17.focus();
2373
2367
  }
2374
2368
  handleAdvancedMenuOpened(column) {
2375
2369
  this.setState({
@@ -2396,7 +2390,7 @@ class IrisGrid extends Component {
2396
2390
  } = this.state;
2397
2391
  if (isFilterBarShown && focusedFilterBarColumn === columnIndex && ((_this$filterInputRef = this.filterInputRef) === null || _this$filterInputRef === void 0 ? void 0 : _this$filterInputRef.current) !== null) {
2398
2392
  var _this$filterInputRef2;
2399
- (_this$filterInputRef2 = this.filterInputRef) === null || _this$filterInputRef2 === void 0 ? void 0 : _this$filterInputRef2.current.focus();
2393
+ (_this$filterInputRef2 = this.filterInputRef) === null || _this$filterInputRef2 === void 0 || _this$filterInputRef2.current.focus();
2400
2394
  this.setState({
2401
2395
  shownAdvancedFilter: null
2402
2396
  });
@@ -2435,11 +2429,11 @@ class IrisGrid extends Component {
2435
2429
  this.startLoading('Filtering...', {
2436
2430
  resetRanges: true
2437
2431
  });
2438
- this.setState(_ref15 => {
2432
+ this.setState(_ref13 => {
2439
2433
  var {
2440
2434
  focusedFilterBarColumn,
2441
2435
  quickFilters
2442
- } = _ref15;
2436
+ } = _ref13;
2443
2437
  var newQuickFilters = new Map(quickFilters);
2444
2438
  if (focusedFilterBarColumn != null) {
2445
2439
  var modelIndex = this.getModelColumn(focusedFilterBarColumn);
@@ -2455,8 +2449,8 @@ class IrisGrid extends Component {
2455
2449
  var setGridFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
2456
2450
  var defocusInput = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
2457
2451
  if (setGridFocus) {
2458
- var _this$grid20;
2459
- (_this$grid20 = this.grid) === null || _this$grid20 === void 0 ? void 0 : _this$grid20.focus();
2452
+ var _this$grid18;
2453
+ (_this$grid18 = this.grid) === null || _this$grid18 === void 0 || _this$grid18.focus();
2460
2454
  }
2461
2455
  if (defocusInput) {
2462
2456
  this.setState({
@@ -2501,10 +2495,10 @@ class IrisGrid extends Component {
2501
2495
  model
2502
2496
  } = this.props;
2503
2497
  var column = model.columns[modelIndex];
2504
- this.setState(_ref16 => {
2498
+ this.setState(_ref14 => {
2505
2499
  var {
2506
2500
  columnAlignmentMap = EMPTY_MAP
2507
- } = _ref16;
2501
+ } = _ref14;
2508
2502
  var newColumnAlignmentMap = new Map(columnAlignmentMap);
2509
2503
  if (alignment != null) {
2510
2504
  newColumnAlignmentMap.set(column.name, alignment);
@@ -2529,10 +2523,10 @@ class IrisGrid extends Component {
2529
2523
  });
2530
2524
  }
2531
2525
  handleMenuBack() {
2532
- this.setState(_ref17 => {
2526
+ this.setState(_ref15 => {
2533
2527
  var {
2534
2528
  openOptions
2535
- } = _ref17;
2529
+ } = _ref15;
2536
2530
  var newOptions = [...openOptions];
2537
2531
  newOptions.pop();
2538
2532
  return {
@@ -2541,10 +2535,10 @@ class IrisGrid extends Component {
2541
2535
  });
2542
2536
  }
2543
2537
  handleMenuSelect(option) {
2544
- this.setState(_ref18 => {
2538
+ this.setState(_ref16 => {
2545
2539
  var {
2546
2540
  openOptions
2547
- } = _ref18;
2541
+ } = _ref16;
2548
2542
  return {
2549
2543
  openOptions: [...openOptions, option]
2550
2544
  };
@@ -2583,7 +2577,7 @@ class IrisGrid extends Component {
2583
2577
  }
2584
2578
  }
2585
2579
  handleUpdate() {
2586
- var _this$grid21;
2580
+ var _this$grid19;
2587
2581
  log.debug2('Received model update');
2588
2582
  var {
2589
2583
  advancedFilters,
@@ -2612,7 +2606,7 @@ class IrisGrid extends Component {
2612
2606
  } else {
2613
2607
  this.lastLoadedConfig = null;
2614
2608
  }
2615
- (_this$grid21 = this.grid) === null || _this$grid21 === void 0 ? void 0 : _this$grid21.forceUpdate();
2609
+ (_this$grid19 = this.grid) === null || _this$grid19 === void 0 || _this$grid19.forceUpdate();
2616
2610
  this.stopLoading();
2617
2611
  }
2618
2612
  handleTableChanged() {
@@ -2625,13 +2619,13 @@ class IrisGrid extends Component {
2625
2619
  });
2626
2620
  }
2627
2621
  handleViewChanged(metrics) {
2628
- var _this$grid$state, _this$grid22;
2622
+ var _this$grid$state, _this$grid20;
2629
2623
  var {
2630
2624
  model
2631
2625
  } = this.props;
2632
2626
  var {
2633
2627
  selectionEndRow = 0
2634
- } = (_this$grid$state = (_this$grid22 = this.grid) === null || _this$grid22 === void 0 ? void 0 : _this$grid22.state) !== null && _this$grid$state !== void 0 ? _this$grid$state : {};
2628
+ } = (_this$grid$state = (_this$grid20 = this.grid) === null || _this$grid20 === void 0 ? void 0 : _this$grid20.state) !== null && _this$grid$state !== void 0 ? _this$grid$state : {};
2635
2629
  var pendingRowCount = 0;
2636
2630
  if (isEditableGridModel(model) && model.isEditable) {
2637
2631
  assertNotNull(metrics);
@@ -2659,7 +2653,6 @@ class IrisGrid extends Component {
2659
2653
  });
2660
2654
  }
2661
2655
  handleSelectionChanged(selectedRanges) {
2662
- var _this$grid23;
2663
2656
  assertNotNull(selectedRanges);
2664
2657
  var {
2665
2658
  onSelectionChanged
@@ -2675,9 +2668,14 @@ class IrisGrid extends Component {
2675
2668
  copyOperation: null
2676
2669
  });
2677
2670
  }
2678
- if (((_this$grid23 = this.grid) === null || _this$grid23 === void 0 ? void 0 : _this$grid23.state.cursorRow) != null) {
2671
+
2672
+ // We get 2 identical ranges here,
2673
+ // but consolidating in `Grid#moveSelection` causes
2674
+ // deselection to break, so just consolidate here.
2675
+ // This will only update the goto row input for row index
2676
+ if (GridRange.rowCount(GridRange.consolidate(selectedRanges)) === 1 && selectedRanges[0].startRow != null) {
2679
2677
  this.setState({
2680
- gotoRow: "".concat(this.grid.state.cursorRow + 1)
2678
+ gotoRow: "".concat(selectedRanges[0].startRow + 1)
2681
2679
  });
2682
2680
  }
2683
2681
  onSelectionChanged(selectedRanges);
@@ -2694,8 +2692,8 @@ class IrisGrid extends Component {
2694
2692
  this.setState({
2695
2693
  columnHeaderGroups: IrisGridUtils.parseColumnHeaderGroups(model, columnHeaderGroups).groups
2696
2694
  }, () => {
2697
- var _this$grid24;
2698
- return (_this$grid24 = this.grid) === null || _this$grid24 === void 0 ? void 0 : _this$grid24.forceUpdate();
2695
+ var _this$grid21;
2696
+ return (_this$grid21 = this.grid) === null || _this$grid21 === void 0 ? void 0 : _this$grid21.forceUpdate();
2699
2697
  });
2700
2698
  }
2701
2699
  handleTooltipRef(tooltip) {
@@ -2743,9 +2741,6 @@ class IrisGrid extends Component {
2743
2741
  conditionalFormatPreview: _objectSpread({}, conditionalFormats[index])
2744
2742
  });
2745
2743
  }
2746
-
2747
- // Apply live changes
2748
-
2749
2744
  handleConditionalFormatEditorSave(config) {
2750
2745
  log.debug('Save conditional format changes', config);
2751
2746
  this.setState(state => {
@@ -2850,7 +2845,7 @@ class IrisGrid extends Component {
2850
2845
  return this.discardPending();
2851
2846
  }
2852
2847
  handlePendingDataUpdated() {
2853
- var _this$grid25;
2848
+ var _this$grid22;
2854
2849
  log.debug('pending data updated');
2855
2850
  var {
2856
2851
  model
@@ -2864,10 +2859,10 @@ class IrisGrid extends Component {
2864
2859
  pendingDataErrors,
2865
2860
  pendingSaveError: null
2866
2861
  });
2867
- (_this$grid25 = this.grid) === null || _this$grid25 === void 0 ? void 0 : _this$grid25.forceUpdate();
2862
+ (_this$grid22 = this.grid) === null || _this$grid22 === void 0 || _this$grid22.forceUpdate();
2868
2863
  }
2869
2864
  handleResizeColumn(modelIndex) {
2870
- var _this$grid26;
2865
+ var _this$grid23;
2871
2866
  var {
2872
2867
  metrics,
2873
2868
  metricCalculator
@@ -2881,21 +2876,21 @@ class IrisGrid extends Component {
2881
2876
  } else {
2882
2877
  metricCalculator.setColumnWidth(modelIndex, contentWidth);
2883
2878
  }
2884
- (_this$grid26 = this.grid) === null || _this$grid26 === void 0 ? void 0 : _this$grid26.forceUpdate();
2879
+ (_this$grid23 = this.grid) === null || _this$grid23 === void 0 || _this$grid23.forceUpdate();
2885
2880
  }
2886
2881
  handleResizeAllColumns() {
2887
- var _this$grid27;
2882
+ var _this$grid24;
2888
2883
  var {
2889
2884
  metrics,
2890
2885
  metricCalculator
2891
2886
  } = this.state;
2892
2887
  if (!metrics) throw new Error('Metrics not set');
2893
2888
  var allColumns = [...metrics.allColumnWidths.entries()];
2894
- var visibleColumns = allColumns.filter(_ref19 => {
2895
- var [_, width] = _ref19;
2889
+ var visibleColumns = allColumns.filter(_ref17 => {
2890
+ var [_, width] = _ref17;
2896
2891
  return width !== 0;
2897
- }).map(_ref20 => {
2898
- var [modelIndex] = _ref20;
2892
+ }).map(_ref18 => {
2893
+ var [modelIndex] = _ref18;
2899
2894
  return modelIndex;
2900
2895
  });
2901
2896
  var contentWidths = metrics.contentColumnWidths;
@@ -2917,7 +2912,7 @@ class IrisGrid extends Component {
2917
2912
  metricCalculator.setColumnWidth(_modelIndex, _contentWidth);
2918
2913
  }
2919
2914
  }
2920
- (_this$grid27 = this.grid) === null || _this$grid27 === void 0 ? void 0 : _this$grid27.forceUpdate();
2915
+ (_this$grid24 = this.grid) === null || _this$grid24 === void 0 || _this$grid24.forceUpdate();
2921
2916
  }
2922
2917
 
2923
2918
  /**
@@ -2934,7 +2929,7 @@ class IrisGrid extends Component {
2934
2929
  var {
2935
2930
  rollupConfig
2936
2931
  } = this.state;
2937
- var isRollup = ((_rollupConfig$columns = rollupConfig === null || rollupConfig === void 0 ? void 0 : (_rollupConfig$columns2 = rollupConfig.columns) === null || _rollupConfig$columns2 === void 0 ? void 0 : _rollupConfig$columns2.length) !== null && _rollupConfig$columns !== void 0 ? _rollupConfig$columns : 0) > 0;
2932
+ var isRollup = ((_rollupConfig$columns = rollupConfig === null || rollupConfig === void 0 || (_rollupConfig$columns2 = rollupConfig.columns) === null || _rollupConfig$columns2 === void 0 ? void 0 : _rollupConfig$columns2.length) !== null && _rollupConfig$columns !== void 0 ? _rollupConfig$columns : 0) > 0;
2938
2933
  // Do not start loading if this is rollup and added / removed aggregations are prohibited for rollups
2939
2934
  var changes = [...added, ...removed];
2940
2935
  var shouldStartLoading = !(isRollup && changes.length > 0 && changes.every(op => AggregationUtils.isRollupProhibited(op)));
@@ -2956,16 +2951,16 @@ class IrisGrid extends Component {
2956
2951
  var {
2957
2952
  rollupConfig
2958
2953
  } = this.state;
2959
- var isRollup = ((_rollupConfig$columns3 = rollupConfig === null || rollupConfig === void 0 ? void 0 : (_rollupConfig$columns4 = rollupConfig.columns) === null || _rollupConfig$columns4 === void 0 ? void 0 : _rollupConfig$columns4.length) !== null && _rollupConfig$columns3 !== void 0 ? _rollupConfig$columns3 : 0) > 0;
2954
+ var isRollup = ((_rollupConfig$columns3 = rollupConfig === null || rollupConfig === void 0 || (_rollupConfig$columns4 = rollupConfig.columns) === null || _rollupConfig$columns4 === void 0 ? void 0 : _rollupConfig$columns4.length) !== null && _rollupConfig$columns3 !== void 0 ? _rollupConfig$columns3 : 0) > 0;
2960
2955
  // Do not start loading if this is rollup and the aggregation is prohibited for rollups
2961
2956
  var shouldStartLoading = !(isRollup && AggregationUtils.isRollupProhibited(aggregation.operation));
2962
2957
  if (shouldStartLoading) {
2963
2958
  this.startLoading("Aggregating ".concat(aggregation.operation, "..."));
2964
2959
  }
2965
- this.setState(_ref21 => {
2960
+ this.setState(_ref19 => {
2966
2961
  var {
2967
2962
  aggregationSettings
2968
- } = _ref21;
2963
+ } = _ref19;
2969
2964
  return {
2970
2965
  selectedAggregation: aggregation,
2971
2966
  aggregationSettings: _objectSpread(_objectSpread({}, aggregationSettings), {}, {
@@ -2998,18 +2993,18 @@ class IrisGrid extends Component {
2998
2993
  this.resetGridViewState();
2999
2994
  this.showAllColumns();
3000
2995
  this.clearAllFilters();
3001
- this.startLoading("Grouping by columns ".concat((_rollupConfig$columns5 = rollupConfig === null || rollupConfig === void 0 ? void 0 : (_rollupConfig$columns6 = rollupConfig.columns) === null || _rollupConfig$columns6 === void 0 ? void 0 : _rollupConfig$columns6.join(', ')) !== null && _rollupConfig$columns5 !== void 0 ? _rollupConfig$columns5 : '', "..."));
2996
+ this.startLoading("Grouping by columns ".concat((_rollupConfig$columns5 = rollupConfig === null || rollupConfig === void 0 || (_rollupConfig$columns6 = rollupConfig.columns) === null || _rollupConfig$columns6 === void 0 ? void 0 : _rollupConfig$columns6.join(', ')) !== null && _rollupConfig$columns5 !== void 0 ? _rollupConfig$columns5 : '', "..."));
3002
2997
 
3003
2998
  // Have to clear select distinct since rollup uses the original columns, not the current ones.
3004
2999
  // IrisGridProxyModel has a check to prevent model update
3005
3000
  // when selectDistinctModel is cleared and the rollupConfig is set on the model.
3006
3001
  this.setState({
3007
3002
  rollupConfig,
3008
- movedColumns: [],
3009
- frozenColumns: [],
3010
- sorts: [],
3003
+ movedColumns: EMPTY_ARRAY,
3004
+ frozenColumns: EMPTY_ARRAY,
3005
+ sorts: EMPTY_ARRAY,
3011
3006
  reverse: false,
3012
- selectDistinctColumns: []
3007
+ selectDistinctColumns: EMPTY_ARRAY
3013
3008
  });
3014
3009
  }
3015
3010
  handleSelectDistinctChanged(columnNames) {
@@ -3065,10 +3060,10 @@ class IrisGrid extends Component {
3065
3060
  */
3066
3061
  removeEmptyAggregations() {
3067
3062
  log.debug('removeEmptyAggregations');
3068
- this.setState(_ref22 => {
3063
+ this.setState(_ref20 => {
3069
3064
  var {
3070
3065
  aggregationSettings
3071
- } = _ref22;
3066
+ } = _ref20;
3072
3067
  var {
3073
3068
  aggregations
3074
3069
  } = aggregationSettings;
@@ -3160,7 +3155,7 @@ class IrisGrid extends Component {
3160
3155
  rowIndex = yield model.seekRow(searchFromRow, selectedColumn, dh.ValueType.STRING, _this6.tableUtils.makeValue(selectedColumn.type, inputString, formatter.timeZone), undefined, undefined, isBackwards !== null && isBackwards !== void 0 ? isBackwards : false);
3161
3156
  }
3162
3157
  }
3163
- (_this6$grid2 = _this6.grid) === null || _this6$grid2 === void 0 ? void 0 : _this6$grid2.setFocusRow(rowIndex);
3158
+ (_this6$grid2 = _this6.grid) === null || _this6$grid2 === void 0 || _this6$grid2.setFocusRow(rowIndex);
3164
3159
  _this6.setState({
3165
3160
  gotoValueError: ''
3166
3161
  });
@@ -3173,7 +3168,7 @@ class IrisGrid extends Component {
3173
3168
  }
3174
3169
  handleCancelDownloadTable() {
3175
3170
  var _this$tableSaver;
3176
- (_this$tableSaver = this.tableSaver) === null || _this$tableSaver === void 0 ? void 0 : _this$tableSaver.cancelDownload();
3171
+ (_this$tableSaver = this.tableSaver) === null || _this$tableSaver === void 0 || _this$tableSaver.cancelDownload();
3177
3172
  this.setState({
3178
3173
  isTableDownloading: false
3179
3174
  });
@@ -3343,22 +3338,22 @@ class IrisGrid extends Component {
3343
3338
  gotoRowError: 'Invalid row index'
3344
3339
  });
3345
3340
  } else if (rowInt === 0) {
3346
- var _this$grid28;
3341
+ var _this$grid25;
3347
3342
  this.setState({
3348
3343
  gotoRowError: '',
3349
3344
  gotoValueError: ''
3350
3345
  });
3351
- (_this$grid28 = this.grid) === null || _this$grid28 === void 0 ? void 0 : _this$grid28.setFocusRow(0);
3346
+ (_this$grid25 = this.grid) === null || _this$grid25 === void 0 || _this$grid25.setFocusRow(0);
3352
3347
  } else if (rowInt < 0) {
3353
- var _this$grid29;
3348
+ var _this$grid26;
3354
3349
  this.setState({
3355
3350
  gotoRowError: '',
3356
3351
  gotoValueError: ''
3357
3352
  });
3358
- (_this$grid29 = this.grid) === null || _this$grid29 === void 0 ? void 0 : _this$grid29.setFocusRow(rowInt + rowCount);
3353
+ (_this$grid26 = this.grid) === null || _this$grid26 === void 0 || _this$grid26.setFocusRow(rowInt + rowCount);
3359
3354
  } else {
3360
- var _this$grid30;
3361
- (_this$grid30 = this.grid) === null || _this$grid30 === void 0 ? void 0 : _this$grid30.setFocusRow(rowInt - 1);
3355
+ var _this$grid27;
3356
+ (_this$grid27 = this.grid) === null || _this$grid27 === void 0 || _this$grid27.setFocusRow(rowInt - 1);
3362
3357
  this.setState({
3363
3358
  gotoRowError: '',
3364
3359
  gotoValueError: ''
@@ -3451,34 +3446,34 @@ class IrisGrid extends Component {
3451
3446
  column: column,
3452
3447
  onStatistics: () => {
3453
3448
  var _this$tooltip;
3454
- (_this$tooltip = this.tooltip) === null || _this$tooltip === void 0 ? void 0 : _this$tooltip.update();
3449
+ (_this$tooltip = this.tooltip) === null || _this$tooltip === void 0 || _this$tooltip.update();
3455
3450
  }
3456
3451
  })
3457
3452
  }, column.name)
3458
3453
  });
3459
3454
  }
3460
3455
  handleGotoValueSelectedColumnNameChanged(columnName) {
3461
- var _this$grid31;
3456
+ var _this$grid28;
3462
3457
  var {
3463
3458
  model
3464
3459
  } = this.props;
3465
- var cursorRow = (_this$grid31 = this.grid) === null || _this$grid31 === void 0 ? void 0 : _this$grid31.state.cursorRow;
3460
+ var cursorRow = (_this$grid28 = this.grid) === null || _this$grid28 === void 0 ? void 0 : _this$grid28.state.cursorRow;
3466
3461
  var {
3467
3462
  gotoValueSelectedColumnName: prevColumnName,
3468
3463
  gotoValueManuallyChanged
3469
3464
  } = this.state;
3470
3465
  if (cursorRow != null) {
3471
- var _index = model.getColumnIndexByName(columnName);
3472
- var _column2 = IrisGridUtils.getColumnByName(model.columns, columnName);
3466
+ var index = model.getColumnIndexByName(columnName);
3467
+ var column = IrisGridUtils.getColumnByName(model.columns, columnName);
3473
3468
  var prevColumn = IrisGridUtils.getColumnByName(model.columns, prevColumnName);
3474
- if (_index == null || _column2 == null) {
3469
+ if (index == null || column == null) {
3475
3470
  return;
3476
3471
  }
3477
- var _value3 = model.valueForCell(_index, cursorRow);
3478
- var text = IrisGridUtils.convertValueToText(_value3, _column2.type);
3472
+ var value = model.valueForCell(index, cursorRow);
3473
+ var text = IrisGridUtils.convertValueToText(value, column.type);
3479
3474
 
3480
3475
  // do NOT update value if user manually changed value AND column type remains the same
3481
- if (gotoValueManuallyChanged && _column2.type === (prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.type)) {
3476
+ if (gotoValueManuallyChanged && column.type === (prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.type)) {
3482
3477
  this.setState({
3483
3478
  gotoValueSelectedColumnName: columnName,
3484
3479
  gotoValueError: ''
@@ -3514,8 +3509,7 @@ class IrisGrid extends Component {
3514
3509
  var _rollupConfig$columns7,
3515
3510
  _rollupConfig$columns8,
3516
3511
  _this7 = this,
3517
- _this$grid33,
3518
- _this$grid33$state$dr,
3512
+ _this$grid30,
3519
3513
  _openOptions;
3520
3514
  var {
3521
3515
  children,
@@ -3621,7 +3615,7 @@ class IrisGrid extends Component {
3621
3615
  right = metrics ? metrics.right : 0;
3622
3616
  }
3623
3617
  var isVisible = metrics != null && metrics.width > 0 && metrics.height > 0;
3624
- var isRollup = ((_rollupConfig$columns7 = rollupConfig === null || rollupConfig === void 0 ? void 0 : (_rollupConfig$columns8 = rollupConfig.columns) === null || _rollupConfig$columns8 === void 0 ? void 0 : _rollupConfig$columns8.length) !== null && _rollupConfig$columns7 !== void 0 ? _rollupConfig$columns7 : 0) > 0;
3618
+ var isRollup = ((_rollupConfig$columns7 = rollupConfig === null || rollupConfig === void 0 || (_rollupConfig$columns8 = rollupConfig.columns) === null || _rollupConfig$columns8 === void 0 ? void 0 : _rollupConfig$columns8.length) !== null && _rollupConfig$columns7 !== void 0 ? _rollupConfig$columns7 : 0) > 0;
3625
3619
  var focusField = null;
3626
3620
  var debounceMs = metrics ? Math.min(Math.max(IrisGrid.minDebounce, Math.round(metrics.rowCount / 200)), IrisGrid.maxDebounce) : IrisGrid.maxDebounce;
3627
3621
  if (isFilterBarShown && focusedFilterBarColumn != null && metrics != null) {
@@ -3635,7 +3629,7 @@ class IrisGrid extends Component {
3635
3629
  var columnX = allColumnXs.get(focusedFilterBarColumn);
3636
3630
  var columnWidth = allColumnWidths.get(focusedFilterBarColumn);
3637
3631
  if (columnX != null && columnWidth != null) {
3638
- var _theme$filterBarHeigh, _theme$filterBarHeigh2, _this$grid32;
3632
+ var _theme$filterBarHeigh, _theme$filterBarHeigh2, _this$grid29;
3639
3633
  var x = gridX + columnX;
3640
3634
  var y = gridY - ((_theme$filterBarHeigh = theme.filterBarHeight) !== null && _theme$filterBarHeigh !== void 0 ? _theme$filterBarHeigh : 0);
3641
3635
  var fieldWidth = columnWidth + 1; // cover right border
@@ -3647,14 +3641,14 @@ class IrisGrid extends Component {
3647
3641
  // Don't cause overflow
3648
3642
  height: fieldHeight
3649
3643
  };
3650
- var _value4 = '';
3644
+ var value = '';
3651
3645
  var isValid = true;
3652
3646
  var modelColumn = this.getModelColumn(focusedFilterBarColumn);
3653
3647
  assertNotNull(modelColumn);
3654
3648
  var quickFilter = quickFilters.get(modelColumn);
3655
3649
  var advancedFilter = advancedFilters.get(modelColumn);
3656
3650
  if (quickFilter != null) {
3657
- _value4 = quickFilter.text;
3651
+ value = quickFilter.text;
3658
3652
  isValid = quickFilter.filter != null;
3659
3653
  }
3660
3654
  var isBarFiltered = quickFilters.size !== 0 || advancedFilters.size !== 0;
@@ -3663,7 +3657,7 @@ class IrisGrid extends Component {
3663
3657
  style: style,
3664
3658
  className: classNames({
3665
3659
  error: !isValid,
3666
- active: _value4 !== '' || advancedFilter != null,
3660
+ active: value !== '' || advancedFilter != null,
3667
3661
  'iris-grid-has-filter': isBarFiltered
3668
3662
  }),
3669
3663
  isAdvancedFilterSet: advancedFilter != null,
@@ -3675,9 +3669,9 @@ class IrisGrid extends Component {
3675
3669
  onChange: this.handleFilterBarChange,
3676
3670
  onDone: this.handleFilterBarDone,
3677
3671
  onTab: this.handleFilterBarTab,
3678
- onContextMenu: (_this$grid32 = this.grid) === null || _this$grid32 === void 0 ? void 0 : _this$grid32.handleContextMenu,
3672
+ onContextMenu: (_this$grid29 = this.grid) === null || _this$grid29 === void 0 ? void 0 : _this$grid29.handleContextMenu,
3679
3673
  debounceMs: debounceMs,
3680
- value: _value4
3674
+ value: value
3681
3675
  }, focusedFilterBarColumn);
3682
3676
  }
3683
3677
  }
@@ -3716,7 +3710,7 @@ class IrisGrid extends Component {
3716
3710
  var _this$tooltip2;
3717
3711
  columnTooltip = this.getColumnTooltip(shownColumnTooltip, metrics, model);
3718
3712
  // #510 We may need to update the position of the tooltip if it's already opened and columns are resized
3719
- (_this$tooltip2 = this.tooltip) === null || _this$tooltip2 === void 0 ? void 0 : _this$tooltip2.update();
3713
+ (_this$tooltip2 = this.tooltip) === null || _this$tooltip2 === void 0 || _this$tooltip2.update();
3720
3714
  }
3721
3715
  var filterBar = [];
3722
3716
  if (metrics && isFilterBarShown) {
@@ -3765,7 +3759,7 @@ class IrisGrid extends Component {
3765
3759
  },
3766
3760
  onContextMenu: event => {
3767
3761
  var _this7$grid;
3768
- (_this7$grid = _this7.grid) === null || _this7$grid === void 0 ? void 0 : _this7$grid.handleContextMenu(event);
3762
+ (_this7$grid = _this7.grid) === null || _this7$grid === void 0 || _this7$grid.handleContextMenu(event);
3769
3763
  },
3770
3764
  onMouseEnter: () => {
3771
3765
  _this7.setState({
@@ -3828,18 +3822,18 @@ class IrisGrid extends Component {
3828
3822
  };
3829
3823
  var _modelColumn = _this7.getModelColumn(columnIndex);
3830
3824
  if (_modelColumn != null) {
3831
- var _column3 = model.columns[_modelColumn];
3832
- if (_column3 == null) {
3825
+ var column = model.columns[_modelColumn];
3826
+ if (column == null) {
3833
3827
  // Grid metrics is likely out of sync with model
3834
3828
  log.warn("Column does not exist at index ".concat(_modelColumn, " for column array of length ").concat(model.columns.length));
3835
3829
  // eslint-disable-next-line no-continue
3836
- return "continue";
3830
+ return 1; // continue
3837
3831
  }
3838
3832
  var _advancedFilter2 = advancedFilters.get(_modelColumn);
3839
3833
  var {
3840
3834
  options: advancedFilterOptions
3841
3835
  } = _advancedFilter2 || {};
3842
- var sort = TableUtils.getSortForColumn(model.sort, _column3.name);
3836
+ var sort = TableUtils.getSortForColumn(model.sort, column.name);
3843
3837
  var sortDirection = sort ? sort.direction : null;
3844
3838
  if (!isSortDirection(sortDirection)) {
3845
3839
  throw new Error("Invalid sort direction: ".concat(sortDirection));
@@ -3859,7 +3853,7 @@ class IrisGrid extends Component {
3859
3853
  options: {
3860
3854
  positionFixed: true
3861
3855
  },
3862
- children: _this7.getCachedAdvancedFilterMenuActions(model, _column3, advancedFilterOptions, sortDirection, formatter)
3856
+ children: _this7.getCachedAdvancedFilterMenuActions(model, column, advancedFilterOptions, sortDirection, formatter)
3863
3857
  })
3864
3858
  }, columnIndex);
3865
3859
  advancedFilterMenus.push(element);
@@ -3867,8 +3861,7 @@ class IrisGrid extends Component {
3867
3861
  }
3868
3862
  };
3869
3863
  for (var _i4 = 0; _i4 < _visibleColumns.length; _i4 += 1) {
3870
- var _ret = _loop3();
3871
- if (_ret === "continue") continue;
3864
+ if (_loop3()) continue;
3872
3865
  }
3873
3866
  }
3874
3867
  var optionItems = this.getCachedOptionItems(onCreateChart !== undefined && model.isChartBuilderAvailable, model.isCustomColumnsAvailable, model.isFormatColumnsAvailable, model.isOrganizeColumnsAvailable, model.isRollupAvailable, model.isTotalsAvailable || isRollup, model.isSelectDistinctAvailable, model.isExportAvailable, this.toggleFilterBarAction, this.toggleSearchBarAction, this.toggleGotoRowAction, isFilterBarShown, showSearchBar, canDownloadCsv, this.isTableSearchAvailable(), isGotoShown, advancedSettings.size > 0);
@@ -4053,7 +4046,7 @@ class IrisGrid extends Component {
4053
4046
  movedColumns: movedColumns,
4054
4047
  customColumns: customColumns,
4055
4048
  hiddenColumns: hiddenColumns,
4056
- alwaysFetchColumns: this.getAlwaysFetchColumns(alwaysFetchColumns, model.columns, movedColumns, model.floatingLeftColumnCount, model.floatingRightColumnCount, (_this$grid33 = this.grid) === null || _this$grid33 === void 0 ? void 0 : (_this$grid33$state$dr = _this$grid33.state.draggingColumn) === null || _this$grid33$state$dr === void 0 ? void 0 : _this$grid33$state$dr.range),
4049
+ alwaysFetchColumns: this.getAlwaysFetchColumns(alwaysFetchColumns, model.columns, movedColumns, model.floatingLeftColumnCount, model.floatingRightColumnCount, (_this$grid30 = this.grid) === null || _this$grid30 === void 0 || (_this$grid30 = _this$grid30.state.draggingColumn) === null || _this$grid30 === void 0 ? void 0 : _this$grid30.range),
4057
4050
  formatColumns: this.getCachedPreviewFormatColumns(model.dh, model.columns, conditionalFormats, conditionalFormatPreview,
4058
4051
  // Disable the preview format when we press Back on the format edit page
4059
4052
  ((_openOptions = openOptions[openOptions.length - 1]) === null || _openOptions === void 0 ? void 0 : _openOptions.type) === OptionType.CONDITIONAL_FORMATTING_EDIT ? conditionalFormatEditIndex !== null && conditionalFormatEditIndex !== void 0 ? conditionalFormatEditIndex : undefined : undefined),
@@ -4182,7 +4175,6 @@ _defineProperty(IrisGrid, "minDebounce", 150);
4182
4175
  _defineProperty(IrisGrid, "maxDebounce", 500);
4183
4176
  _defineProperty(IrisGrid, "loadingSpinnerDelay", 800);
4184
4177
  _defineProperty(IrisGrid, "defaultProps", {
4185
- children: null,
4186
4178
  advancedFilters: EMPTY_MAP,
4187
4179
  advancedSettings: EMPTY_MAP,
4188
4180
  alwaysFetchColumns: EMPTY_ARRAY,
@@ -4217,7 +4209,6 @@ _defineProperty(IrisGrid, "defaultProps", {
4217
4209
  isSelectingPartition: false,
4218
4210
  isStuckToBottom: false,
4219
4211
  isStuckToRight: false,
4220
- columnSelectionValidator: null,
4221
4212
  columnAllowedCursor: 'linker',
4222
4213
  columnNotAllowedCursor: 'linker-not-allowed',
4223
4214
  copyCursor: 'copy',
@@ -4225,7 +4216,6 @@ _defineProperty(IrisGrid, "defaultProps", {
4225
4216
  onlyFetchVisibleColumns: true,
4226
4217
  showSearchBar: false,
4227
4218
  searchValue: '',
4228
- selectedSearchColumns: null,
4229
4219
  invertSearchColumns: true,
4230
4220
  onContextMenu: () => EMPTY_ARRAY,
4231
4221
  pendingDataMap: EMPTY_MAP,
@@ -4239,18 +4229,11 @@ _defineProperty(IrisGrid, "defaultProps", {
4239
4229
  showEmptyStrings: true,
4240
4230
  showNullStrings: true,
4241
4231
  showExtraGroupColumn: true,
4242
- formatter: EMPTY_ARRAY,
4243
- decimalFormatOptions: PropTypes.shape({
4244
- defaultFormatString: PropTypes.string
4245
- }),
4246
- integerFormatOptions: PropTypes.shape({
4247
- defaultFormatString: PropTypes.string
4248
- })
4232
+ formatter: EMPTY_ARRAY
4249
4233
  },
4250
4234
  canCopy: true,
4251
4235
  canDownloadCsv: true,
4252
- frozenColumns: null,
4253
- theme: null,
4236
+ frozenColumns: EMPTY_ARRAY,
4254
4237
  // Do not set a default density prop since we need to know if it overrides the global density setting
4255
4238
  density: undefined,
4256
4239
  canToggleSearch: true,