@deephaven/iris-grid 1.7.2-beta.1 → 1.7.2-beta.4

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