@deephaven/iris-grid 1.22.1-alpha-pivot-builder.0 → 1.22.2-alpha-pivot-builder.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/dist/AdvancedFilterCreator.js +65 -102
  2. package/dist/AdvancedFilterCreator.js.map +1 -1
  3. package/dist/AdvancedFilterCreatorFilterItem.js +22 -37
  4. package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
  5. package/dist/AdvancedFilterCreatorSelectValue.js +37 -63
  6. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  7. package/dist/AdvancedFilterCreatorSelectValueList.js +29 -59
  8. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  9. package/dist/ColumnHeaderGroup.js +6 -8
  10. package/dist/ColumnHeaderGroup.js.map +1 -1
  11. package/dist/ColumnStatistics.js +22 -28
  12. package/dist/ColumnStatistics.js.map +1 -1
  13. package/dist/CrossColumnSearch.js +20 -29
  14. package/dist/CrossColumnSearch.js.map +1 -1
  15. package/dist/FilterInputField.js +19 -46
  16. package/dist/FilterInputField.js.map +1 -1
  17. package/dist/GotoRow.js +32 -29
  18. package/dist/GotoRow.js.map +1 -1
  19. package/dist/IrisGrid.js +490 -822
  20. package/dist/IrisGrid.js.map +1 -1
  21. package/dist/IrisGridBottomBar.js +10 -11
  22. package/dist/IrisGridBottomBar.js.map +1 -1
  23. package/dist/IrisGridCacheUtils.js +28 -8
  24. package/dist/IrisGridCacheUtils.js.map +1 -1
  25. package/dist/IrisGridCellOverflowModal.js +30 -13
  26. package/dist/IrisGridCellOverflowModal.js.map +1 -1
  27. package/dist/IrisGridCellRendererUtils.js +6 -12
  28. package/dist/IrisGridCellRendererUtils.js.map +1 -1
  29. package/dist/IrisGridCopyHandler.js +28 -47
  30. package/dist/IrisGridCopyHandler.js.map +1 -1
  31. package/dist/IrisGridMetricCalculator.js +28 -51
  32. package/dist/IrisGridMetricCalculator.js.map +1 -1
  33. package/dist/IrisGridModelUpdater.js +32 -30
  34. package/dist/IrisGridModelUpdater.js.map +1 -1
  35. package/dist/IrisGridPartitionSelector.js +28 -62
  36. package/dist/IrisGridPartitionSelector.js.map +1 -1
  37. package/dist/IrisGridProxyModel.js +7 -12
  38. package/dist/IrisGridProxyModel.js.map +1 -1
  39. package/dist/IrisGridRenderer.js +162 -264
  40. package/dist/IrisGridRenderer.js.map +1 -1
  41. package/dist/IrisGridTableModel.js +23 -16
  42. package/dist/IrisGridTableModel.js.map +1 -1
  43. package/dist/IrisGridTableModelTemplate.js +49 -73
  44. package/dist/IrisGridTableModelTemplate.js.map +1 -1
  45. package/dist/IrisGridTestUtils.js +19 -19
  46. package/dist/IrisGridTestUtils.js.map +1 -1
  47. package/dist/IrisGridTextCellRenderer.js +35 -52
  48. package/dist/IrisGridTextCellRenderer.js.map +1 -1
  49. package/dist/IrisGridTheme.js +9 -1
  50. package/dist/IrisGridTheme.js.map +1 -1
  51. package/dist/IrisGridThemeProvider.js +5 -7
  52. package/dist/IrisGridThemeProvider.js.map +1 -1
  53. package/dist/IrisGridTreeTableModel.js +5 -9
  54. package/dist/IrisGridTreeTableModel.js.map +1 -1
  55. package/dist/IrisGridUtils.js +246 -300
  56. package/dist/IrisGridUtils.js.map +1 -1
  57. package/dist/NoPastePermissionModal.js +3 -5
  58. package/dist/NoPastePermissionModal.js.map +1 -1
  59. package/dist/PendingDataBottomBar.js +27 -16
  60. package/dist/PendingDataBottomBar.js.map +1 -1
  61. package/dist/ToastBottomBar.js +16 -8
  62. package/dist/ToastBottomBar.js.map +1 -1
  63. package/dist/format-context-menus/CustomFormatAction.js +11 -24
  64. package/dist/format-context-menus/CustomFormatAction.js.map +1 -1
  65. package/dist/key-handlers/CopyCellKeyHandler.js +3 -4
  66. package/dist/key-handlers/CopyCellKeyHandler.js.map +1 -1
  67. package/dist/key-handlers/CopyKeyHandler.js +1 -3
  68. package/dist/key-handlers/CopyKeyHandler.js.map +1 -1
  69. package/dist/key-handlers/ReverseKeyHandler.js +1 -3
  70. package/dist/key-handlers/ReverseKeyHandler.js.map +1 -1
  71. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js +35 -59
  72. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
  73. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +13 -29
  74. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
  75. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +8 -17
  76. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
  77. package/dist/mousehandlers/IrisGridContextMenuHandler.js +96 -199
  78. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  79. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js +2 -4
  80. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js.map +1 -1
  81. package/dist/mousehandlers/IrisGridFilterMouseHandler.js +16 -30
  82. package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
  83. package/dist/mousehandlers/IrisGridPartitionedTableMouseHandler.js +5 -13
  84. package/dist/mousehandlers/IrisGridPartitionedTableMouseHandler.js.map +1 -1
  85. package/dist/mousehandlers/IrisGridRowTreeMouseHandler.js +20 -36
  86. package/dist/mousehandlers/IrisGridRowTreeMouseHandler.js.map +1 -1
  87. package/dist/mousehandlers/IrisGridSortMouseHandler.js +3 -5
  88. package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
  89. package/dist/mousehandlers/IrisGridTokenMouseHandler.js +9 -18
  90. package/dist/mousehandlers/IrisGridTokenMouseHandler.js.map +1 -1
  91. package/dist/mousehandlers/PendingMouseHandler.js +10 -18
  92. package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
  93. package/dist/sidebar/AdvancedSettingsMenu.js +12 -5
  94. package/dist/sidebar/AdvancedSettingsMenu.js.map +1 -1
  95. package/dist/sidebar/ChartBuilder.js +45 -102
  96. package/dist/sidebar/ChartBuilder.js.map +1 -1
  97. package/dist/sidebar/CustomColumnBuilder.js +35 -77
  98. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  99. package/dist/sidebar/CustomColumnInput.js +9 -11
  100. package/dist/sidebar/CustomColumnInput.js.map +1 -1
  101. package/dist/sidebar/InputEditor.js +17 -24
  102. package/dist/sidebar/InputEditor.js.map +1 -1
  103. package/dist/sidebar/PluginTableOptionsErrorBoundary.js +6 -11
  104. package/dist/sidebar/PluginTableOptionsErrorBoundary.js.map +1 -1
  105. package/dist/sidebar/RollupRows.js +72 -113
  106. package/dist/sidebar/RollupRows.js.map +1 -1
  107. package/dist/sidebar/SelectDistinctBuilder.js +16 -33
  108. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  109. package/dist/sidebar/TableCsvExporter.js +50 -74
  110. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  111. package/dist/sidebar/TableSaver.js +18 -42
  112. package/dist/sidebar/TableSaver.js.map +1 -1
  113. package/dist/sidebar/aggregations/AggregationEdit.js +25 -18
  114. package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
  115. package/dist/sidebar/aggregations/AggregationUtils.d.ts.map +1 -1
  116. package/dist/sidebar/aggregations/AggregationUtils.js +3 -4
  117. package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
  118. package/dist/sidebar/aggregations/Aggregations.js +45 -34
  119. package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
  120. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +35 -24
  121. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
  122. package/dist/sidebar/conditional-formatting/ConditionEditor.js +38 -21
  123. package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
  124. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +27 -11
  125. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
  126. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +9 -11
  127. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
  128. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +48 -57
  129. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
  130. package/dist/sidebar/conditional-formatting/RowFormatEditor.js +35 -24
  131. package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
  132. package/dist/sidebar/conditional-formatting/StyleEditor.js +26 -11
  133. package/dist/sidebar/conditional-formatting/StyleEditor.js.map +1 -1
  134. package/dist/sidebar/visibility-ordering-builder/SearchItem.js +5 -7
  135. package/dist/sidebar/visibility-ordering-builder/SearchItem.js.map +1 -1
  136. package/dist/sidebar/visibility-ordering-builder/SearchWithModal.js +24 -18
  137. package/dist/sidebar/visibility-ordering-builder/SearchWithModal.js.map +1 -1
  138. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js +166 -256
  139. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js.map +1 -1
  140. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js +4 -11
  141. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js.map +1 -1
  142. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js +28 -14
  143. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js.map +1 -1
  144. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js +16 -19
  145. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js.map +1 -1
  146. package/dist/sidebar/visibility-ordering-builder/sortable-tree/PointerSensorWithInteraction.js +1 -3
  147. package/dist/sidebar/visibility-ordering-builder/sortable-tree/PointerSensorWithInteraction.js.map +1 -1
  148. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js +19 -29
  149. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js.map +1 -1
  150. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeDndContext.js +39 -52
  151. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeDndContext.js.map +1 -1
  152. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeItem.js +18 -23
  153. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeItem.js.map +1 -1
  154. package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js +19 -15
  155. package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js.map +1 -1
  156. package/dist/sidebar/visibility-ordering-builder/sortable-tree/keyboardCoordinates.js +16 -30
  157. package/dist/sidebar/visibility-ordering-builder/sortable-tree/keyboardCoordinates.js.map +1 -1
  158. package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.js +30 -39
  159. package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.js.map +1 -1
  160. package/package.json +16 -16
package/dist/IrisGrid.js CHANGED
@@ -1,3 +1,9 @@
1
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
1
7
  function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
2
8
  function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
3
9
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -67,17 +73,15 @@ var DEFAULT_AGGREGATION_SETTINGS = Object.freeze({
67
73
  });
68
74
  var UNFORMATTED_DATE_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS z";
69
75
  function isEmptyConfig(_ref) {
70
- var {
71
- advancedFilters,
72
- aggregationSettings,
73
- customColumns,
74
- quickFilters,
75
- reverse,
76
- rollupConfig,
77
- searchFilter,
78
- selectDistinctColumns,
79
- sorts
80
- } = _ref;
76
+ var advancedFilters = _ref.advancedFilters,
77
+ aggregationSettings = _ref.aggregationSettings,
78
+ customColumns = _ref.customColumns,
79
+ quickFilters = _ref.quickFilters,
80
+ reverse = _ref.reverse,
81
+ rollupConfig = _ref.rollupConfig,
82
+ searchFilter = _ref.searchFilter,
83
+ selectDistinctColumns = _ref.selectDistinctColumns,
84
+ sorts = _ref.sorts;
81
85
  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;
82
86
  }
83
87
 
@@ -293,9 +297,7 @@ class IrisGrid extends Component {
293
297
  var _a$item$order, _b$item$order;
294
298
  return ((_a$item$order = a.item.order) !== null && _a$item$order !== void 0 ? _a$item$order : Infinity) - ((_b$item$order = b.item.order) !== null && _b$item$order !== void 0 ? _b$item$order : Infinity) || a.index - b.index;
295
299
  }).map(_ref2 => {
296
- var {
297
- item
298
- } = _ref2;
300
+ var item = _ref2.item;
299
301
  return item;
300
302
  });
301
303
  var keys = new Set();
@@ -317,11 +319,9 @@ class IrisGrid extends Component {
317
319
  _defineProperty(this, "getAggregationMap", memoize((columns, aggregations) => {
318
320
  var aggregationMap = {};
319
321
  aggregations.forEach(_ref3 => {
320
- var {
321
- operation,
322
- selected,
323
- invert
324
- } = _ref3;
322
+ var operation = _ref3.operation,
323
+ selected = _ref3.selected,
324
+ invert = _ref3.invert;
325
325
  aggregationMap[operation] = AggregationUtils.getOperationColumnNames(columns, operation, selected, invert);
326
326
  });
327
327
  return aggregationMap;
@@ -389,9 +389,7 @@ class IrisGrid extends Component {
389
389
 
390
390
  // We only show the row footers when we have floating rows for aggregations
391
391
  var rowFooterWidth = floatingRowCount > 0 ? (_theme$rowFooterWidth = theme === null || theme === void 0 ? void 0 : theme.rowFooterWidth) !== null && _theme$rowFooterWidth !== void 0 ? _theme$rowFooterWidth : baseTheme.rowFooterWidth : 0;
392
- var {
393
- metricCalculator
394
- } = this.state;
392
+ var metricCalculator = this.state.metricCalculator;
395
393
  if (metricCalculator != null) {
396
394
  metricCalculator.resetCalculatedColumnWidths();
397
395
  metricCalculator.resetCalculatedRowHeights();
@@ -437,21 +435,15 @@ class IrisGrid extends Component {
437
435
  max: 1
438
436
  }));
439
437
  _defineProperty(this, "updateSearchFilter", debounce((searchValue, selectedSearchColumns, columns, invertSearchColumns) => {
440
- var {
441
- model
442
- } = this.props;
438
+ var model = this.props.model;
443
439
  var searchFilter = CrossColumnSearch.createSearchFilter(model.dh, searchValue, selectedSearchColumns, columns, invertSearchColumns);
444
440
  this.setState({
445
441
  searchFilter
446
442
  });
447
443
  }, SET_FILTER_DEBOUNCE));
448
444
  _defineProperty(this, "showViewportLoading", throttle(() => {
449
- var {
450
- model
451
- } = this.props;
452
- var {
453
- loadingSpinnerShown
454
- } = this.state;
445
+ var model = this.props.model;
446
+ var loadingSpinnerShown = this.state.loadingSpinnerShown;
455
447
  if (model.isViewportPending && !loadingSpinnerShown) {
456
448
  // We only want to show the viewport loading if the viewport is still loading
457
449
  // and we're not already showing a loader for something else
@@ -471,9 +463,7 @@ class IrisGrid extends Component {
471
463
  });
472
464
  }, SET_CONDITIONAL_FORMAT_DEBOUNCE));
473
465
  _defineProperty(this, "handleDownloadProgressUpdate", throttle((tableDownloadProgress, tableDownloadEstimatedTime) => {
474
- var {
475
- tableDownloadStatus
476
- } = this.state;
466
+ var tableDownloadStatus = this.state.tableDownloadStatus;
477
467
  if (tableDownloadStatus === TableCsvExporter.DOWNLOAD_STATUS.DOWNLOADING) {
478
468
  this.setState({
479
469
  tableDownloadProgress,
@@ -513,12 +503,8 @@ class IrisGrid extends Component {
513
503
  if (expandCellTooltipProps == null) {
514
504
  return null;
515
505
  }
516
- var {
517
- expandTooltipDisplayValue
518
- } = this.state;
519
- var {
520
- model
521
- } = this.props;
506
+ var expandTooltipDisplayValue = this.state.expandTooltipDisplayValue;
507
+ var model = this.props.model;
522
508
  var isExpandAllAvailable = isExpandableGridModel(model) && model.isExpandAllAvailable;
523
509
  var wrapperStyle = _objectSpread(_objectSpread({
524
510
  position: 'absolute'
@@ -550,9 +536,7 @@ class IrisGrid extends Component {
550
536
  if (hoverTooltipProps == null) {
551
537
  return null;
552
538
  }
553
- var {
554
- hoverDisplayValue
555
- } = this.state;
539
+ var hoverDisplayValue = this.state.hoverDisplayValue;
556
540
  var wrapperStyle = _objectSpread(_objectSpread({
557
541
  position: 'absolute'
558
542
  }, hoverTooltipProps), {}, {
@@ -691,9 +675,7 @@ class IrisGrid extends Component {
691
675
  };
692
676
  this.discardAction = {
693
677
  action: () => {
694
- var {
695
- model
696
- } = this.props;
678
+ var model = this.props.model;
697
679
  if (isEditableGridModel(model) && model.isEditable && model.pendingDataMap.size > 0) {
698
680
  this.discardPending().catch(log.error);
699
681
  }
@@ -702,9 +684,7 @@ class IrisGrid extends Component {
702
684
  };
703
685
  this.commitAction = {
704
686
  action: () => {
705
- var {
706
- model
707
- } = this.props;
687
+ var model = this.props.model;
708
688
  if (isEditableGridModel(model) && model.isEditable && model.pendingDataMap.size > 0 && model.pendingDataErrors.size === 0) {
709
689
  this.commitPending().catch(log.error);
710
690
  }
@@ -712,38 +692,34 @@ class IrisGrid extends Component {
712
692
  shortcut: SHORTCUTS.INPUT_TABLE.COMMIT
713
693
  };
714
694
  this.contextActions = [this.toggleFilterBarAction, this.toggleSearchBarAction, this.toggleGotoRowAction, this.discardAction, this.commitAction];
715
- var {
716
- aggregationSettings: _aggregationSettings,
717
- conditionalFormats,
718
- customColumnFormatMap,
719
- columnAlignmentMap,
720
- isFilterBarShown: _isFilterBarShown,
721
- isSelectingPartition,
722
- partitions,
723
- partitionConfig,
724
- model: _model,
725
- movedColumns: movedColumnsProp,
726
- movedRows: movedRowsProp,
727
- rollupConfig: _rollupConfig,
728
- userColumnWidths: _userColumnWidths,
729
- userColumnWidthsByName,
730
- userRowHeights,
731
- showSearchBar: _showSearchBar,
732
- searchValue: _searchValue,
733
- selectedSearchColumns: _selectedSearchColumns,
734
- invertSearchColumns: _invertSearchColumns,
735
- advancedFilters: _advancedFilters,
736
- quickFilters: _quickFilters,
737
- selectDistinctColumns,
738
- pendingDataMap,
739
- canCopy,
740
- frozenColumns,
741
- columnHeaderGroups,
742
- getMetricCalculator
743
- } = props;
744
- var {
745
- dh: _dh
746
- } = _model;
695
+ var _aggregationSettings = props.aggregationSettings,
696
+ conditionalFormats = props.conditionalFormats,
697
+ customColumnFormatMap = props.customColumnFormatMap,
698
+ columnAlignmentMap = props.columnAlignmentMap,
699
+ _isFilterBarShown = props.isFilterBarShown,
700
+ isSelectingPartition = props.isSelectingPartition,
701
+ partitions = props.partitions,
702
+ partitionConfig = props.partitionConfig,
703
+ _model = props.model,
704
+ movedColumnsProp = props.movedColumns,
705
+ movedRowsProp = props.movedRows,
706
+ _rollupConfig = props.rollupConfig,
707
+ _userColumnWidths = props.userColumnWidths,
708
+ userColumnWidthsByName = props.userColumnWidthsByName,
709
+ userRowHeights = props.userRowHeights,
710
+ _showSearchBar = props.showSearchBar,
711
+ _searchValue = props.searchValue,
712
+ _selectedSearchColumns = props.selectedSearchColumns,
713
+ _invertSearchColumns = props.invertSearchColumns,
714
+ _advancedFilters = props.advancedFilters,
715
+ _quickFilters = props.quickFilters,
716
+ selectDistinctColumns = props.selectDistinctColumns,
717
+ pendingDataMap = props.pendingDataMap,
718
+ canCopy = props.canCopy,
719
+ frozenColumns = props.frozenColumns,
720
+ columnHeaderGroups = props.columnHeaderGroups,
721
+ getMetricCalculator = props.getMetricCalculator;
722
+ var _dh = _model.dh;
747
723
  var _keyHandlers = [new CopyCellKeyHandler(this), new ReverseKeyHandler(this), new ClearFilterKeyHandler(this)];
748
724
  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), ...(canCopy ? [new IrisGridCopyCellMouseHandler(this)] : [])];
749
725
  if (canCopy) {
@@ -857,22 +833,19 @@ class IrisGrid extends Component {
857
833
  };
858
834
  }
859
835
  componentDidMount() {
860
- var {
861
- model
862
- } = this.props;
836
+ var model = this.props.model;
863
837
  this.initState();
864
838
  this.startListening(model);
865
839
  }
866
840
  componentDidUpdate(prevProps, prevState) {
867
- var {
868
- inputFilters,
869
- isSelectingColumn,
870
- settings,
871
- model,
872
- customFilters,
873
- sorts,
874
- getMetricCalculator
875
- } = this.props;
841
+ var _this$props = this.props,
842
+ inputFilters = _this$props.inputFilters,
843
+ isSelectingColumn = _this$props.isSelectingColumn,
844
+ settings = _this$props.settings,
845
+ model = _this$props.model,
846
+ customFilters = _this$props.customFilters,
847
+ sorts = _this$props.sorts,
848
+ getMetricCalculator = _this$props.getMetricCalculator;
876
849
  if (model !== prevProps.model) {
877
850
  this.stopListening(prevProps.model);
878
851
  this.startListening(model);
@@ -891,9 +864,7 @@ class IrisGrid extends Component {
891
864
  var changedInputFilters = inputFilters !== prevProps.inputFilters ? inputFilters.filter(inputFilter => !prevProps.inputFilters.includes(inputFilter)) : [];
892
865
  if (changedInputFilters.length > 0) {
893
866
  var _advancedSettings$get;
894
- var {
895
- advancedSettings
896
- } = this.props;
867
+ var advancedSettings = this.props.advancedSettings;
897
868
  var replaceExistingFilters = (_advancedSettings$get = advancedSettings.get(AdvancedSettingsType.FILTER_CONTROL_CHANGE_CLEARS_ALL_FILTERS)) !== null && _advancedSettings$get !== void 0 ? _advancedSettings$get : false;
898
869
  if (replaceExistingFilters) {
899
870
  this.clearGridInputField();
@@ -920,10 +891,8 @@ class IrisGrid extends Component {
920
891
  if (sorts !== prevProps.sorts) {
921
892
  this.updateSorts(sorts);
922
893
  }
923
- var {
924
- loadingScrimStartTime,
925
- loadingScrimFinishTime
926
- } = this;
894
+ var loadingScrimStartTime = this.loadingScrimStartTime,
895
+ loadingScrimFinishTime = this.loadingScrimFinishTime;
927
896
  if (loadingScrimStartTime != null && loadingScrimFinishTime != null) {
928
897
  window.requestAnimationFrame(() => {
929
898
  var now = Date.now();
@@ -945,9 +914,7 @@ class IrisGrid extends Component {
945
914
  });
946
915
  });
947
916
  }
948
- var {
949
- openOptions
950
- } = this.state;
917
+ var openOptions = this.state.openOptions;
951
918
  if (openOptions !== prevState.openOptions) {
952
919
  var isAggEditType = option => option.type === OptionType.AGGREGATION_EDIT;
953
920
  if (!openOptions.some(isAggEditType) && prevState.openOptions.some(isAggEditType)) {
@@ -957,9 +924,7 @@ class IrisGrid extends Component {
957
924
  this.sendStateChange();
958
925
  }
959
926
  componentWillUnmount() {
960
- var {
961
- model
962
- } = this.props;
927
+ var model = this.props.model;
963
928
  this.stopListening(model);
964
929
  this.pending.cancel();
965
930
  this.updateSearchFilter.cancel();
@@ -977,9 +942,7 @@ class IrisGrid extends Component {
977
942
  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;
978
943
  }
979
944
  getKeyHandlers() {
980
- var {
981
- keyHandlers
982
- } = this.props;
945
+ var keyHandlers = this.props.keyHandlers;
983
946
  return this.getCachedKeyHandlers(keyHandlers);
984
947
  }
985
948
  getMetricState() {
@@ -988,52 +951,40 @@ class IrisGrid extends Component {
988
951
  if (gridMetricState == null) {
989
952
  return undefined;
990
953
  }
991
- var {
992
- advancedFilters,
993
- hoverSelectColumn,
994
- isFilterBarShown,
995
- isMenuShown,
996
- loadingScrimProgress,
997
- quickFilters,
998
- sorts,
999
- reverse,
1000
- rollupConfig
1001
- } = this.state;
1002
- var {
1003
- model,
1004
- isSelectingColumn
1005
- } = this.props;
954
+ var _this$state = this.state,
955
+ advancedFilters = _this$state.advancedFilters,
956
+ hoverSelectColumn = _this$state.hoverSelectColumn,
957
+ isFilterBarShown = _this$state.isFilterBarShown,
958
+ isMenuShown = _this$state.isMenuShown,
959
+ loadingScrimProgress = _this$state.loadingScrimProgress,
960
+ quickFilters = _this$state.quickFilters,
961
+ sorts = _this$state.sorts,
962
+ reverse = _this$state.reverse,
963
+ rollupConfig = _this$state.rollupConfig;
964
+ var _this$props2 = this.props,
965
+ model = _this$props2.model,
966
+ isSelectingColumn = _this$props2.isSelectingColumn;
1006
967
  return _objectSpread(_objectSpread({}, gridMetricState), this.getCachedStateOverride(model, this.getTheme(), hoverSelectColumn, isFilterBarShown, isSelectingColumn, loadingScrimProgress, quickFilters, advancedFilters, sorts, reverse, rollupConfig, isMenuShown));
1007
968
  }
1008
969
  get renderer() {
1009
- var {
1010
- renderer
1011
- } = this.props;
970
+ var renderer = this.props.renderer;
1012
971
  return this.getCachedRenderer(renderer);
1013
972
  }
1014
973
  getMouseHandlers() {
1015
- var {
1016
- mouseHandlers
1017
- } = this.props;
974
+ var mouseHandlers = this.props.mouseHandlers;
1018
975
  return this.getCachedMouseHandlers(mouseHandlers);
1019
976
  }
1020
977
  getValueForCell(columnIndex, rowIndex) {
1021
978
  var rawValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
1022
- var {
1023
- model
1024
- } = this.props;
1025
- var {
1026
- dh
1027
- } = model;
979
+ var model = this.props.model;
980
+ var dh = model.dh;
1028
981
  var modelColumn = this.getModelColumn(columnIndex);
1029
982
  var modelRow = this.getModelRow(rowIndex);
1030
983
  if (rawValue && modelColumn != null && modelRow != null) {
1031
984
  var value = model.valueForCell(modelColumn, modelRow);
1032
985
  if (TableUtils.isDateType(model.columns[modelColumn].type)) {
1033
986
  // The returned value is just a long value, we should return the value formatted as a full date string
1034
- var {
1035
- formatter
1036
- } = model;
987
+ var formatter = model.formatter;
1037
988
  return dh.i18n.DateTimeFormat.format(UNFORMATTED_DATE_PATTERN, value, dh.i18n.TimeZone.getTimeZone(formatter.timeZone));
1038
989
  }
1039
990
  return value;
@@ -1053,13 +1004,9 @@ class IrisGrid extends Component {
1053
1004
  * @returns Model column index, or null if not found
1054
1005
  */
1055
1006
  getModelColumn(columnIndex) {
1056
- var {
1057
- metrics
1058
- } = this.state;
1007
+ var metrics = this.state.metrics;
1059
1008
  assertNotNull(metrics);
1060
- var {
1061
- modelColumns
1062
- } = metrics;
1009
+ var modelColumns = metrics.modelColumns;
1063
1010
  if (modelColumns == null) {
1064
1011
  return null;
1065
1012
  }
@@ -1070,13 +1017,9 @@ class IrisGrid extends Component {
1070
1017
  return columnIndex != null ? modelColumns.get(columnIndex) : null;
1071
1018
  }
1072
1019
  getModelRow(rowIndex) {
1073
- var {
1074
- metrics
1075
- } = this.state;
1020
+ var metrics = this.state.metrics;
1076
1021
  assertNotNull(metrics);
1077
- var {
1078
- modelRows
1079
- } = metrics;
1022
+ var modelRows = metrics.modelRows;
1080
1023
  if (modelRows == null) {
1081
1024
  return null;
1082
1025
  }
@@ -1084,21 +1027,17 @@ class IrisGrid extends Component {
1084
1027
  }
1085
1028
  getTheme() {
1086
1029
  var _ref4;
1087
- var {
1088
- model,
1089
- theme,
1090
- density
1091
- } = this.props;
1092
- var {
1093
- theme: contextTheme,
1094
- density: contextDensity
1095
- } = this.context;
1030
+ var _this$props3 = this.props,
1031
+ model = _this$props3.model,
1032
+ theme = _this$props3.theme,
1033
+ density = _this$props3.density;
1034
+ var _this$context = this.context,
1035
+ contextTheme = _this$context.theme,
1036
+ contextDensity = _this$context.density;
1096
1037
  return this.getCachedTheme(contextTheme, theme, (_ref4 = isEditableGridModel(model) && model.isEditable) !== null && _ref4 !== void 0 ? _ref4 : false, model.floatingTopRowCount + model.floatingBottomRowCount, density !== null && density !== void 0 ? density : contextDensity);
1097
1038
  }
1098
1039
  getVisibleColumn(modelIndex) {
1099
- var {
1100
- movedColumns
1101
- } = this.state;
1040
+ var movedColumns = this.state.movedColumns;
1102
1041
  return GridUtils.getVisibleIndex(modelIndex, movedColumns);
1103
1042
  }
1104
1043
  makeQuickFilter(column, text, timeZone) {
@@ -1119,27 +1058,20 @@ class IrisGrid extends Component {
1119
1058
  */
1120
1059
  applyInputFilters(inputFilters) {
1121
1060
  var replaceExisting = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1122
- var {
1123
- model
1124
- } = this.props;
1125
- var {
1126
- advancedFilters,
1127
- quickFilters
1128
- } = this.state;
1061
+ var model = this.props.model;
1062
+ var _this$state2 = this.state,
1063
+ advancedFilters = _this$state2.advancedFilters,
1064
+ quickFilters = _this$state2.quickFilters;
1129
1065
  var newAdvancedFilters = replaceExisting ? new Map() : new Map(advancedFilters);
1130
1066
  var newQuickFilters = replaceExisting ? new Map() : new Map(quickFilters);
1131
1067
  var isChanged = replaceExisting && advancedFilters.size > 0;
1132
1068
  inputFilters.forEach(_ref5 => {
1133
- var {
1134
- name,
1135
- type,
1136
- value
1137
- } = _ref5;
1069
+ var name = _ref5.name,
1070
+ type = _ref5.type,
1071
+ value = _ref5.value;
1138
1072
  var modelIndex = model.columns.findIndex(_ref6 => {
1139
- var {
1140
- name: columnName,
1141
- type: columnType
1142
- } = _ref6;
1073
+ var columnName = _ref6.name,
1074
+ columnType = _ref6.type;
1143
1075
  return columnName === name && columnType === type;
1144
1076
  });
1145
1077
  if (modelIndex >= 0) {
@@ -1166,19 +1098,13 @@ class IrisGrid extends Component {
1166
1098
  * @returns True if the filters have changed because this quick filter was applied
1167
1099
  */
1168
1100
  applyQuickFilter(modelIndex, value, quickFilters) {
1169
- var {
1170
- model
1171
- } = this.props;
1172
- var {
1173
- formatter
1174
- } = model;
1101
+ var model = this.props.model;
1102
+ var formatter = model.formatter;
1175
1103
  var column = model.columns[modelIndex];
1176
1104
  if (value != null && "".concat(value).trim().length > 0) {
1177
1105
  var quickFilter = quickFilters.get(modelIndex);
1178
1106
  if (quickFilter != null) {
1179
- var {
1180
- text
1181
- } = quickFilter;
1107
+ var text = quickFilter.text;
1182
1108
  if (text === value) {
1183
1109
  log.debug2('Ignoring change to existing filter');
1184
1110
  return false;
@@ -1203,9 +1129,7 @@ class IrisGrid extends Component {
1203
1129
  resetRanges: true
1204
1130
  });
1205
1131
  this.setState(_ref7 => {
1206
- var {
1207
- advancedFilters
1208
- } = _ref7;
1132
+ var advancedFilters = _ref7.advancedFilters;
1209
1133
  var newAdvancedFilters = new Map(advancedFilters);
1210
1134
  if (filter == null) {
1211
1135
  newAdvancedFilters.delete(modelIndex);
@@ -1233,9 +1157,7 @@ class IrisGrid extends Component {
1233
1157
  resetRanges: true
1234
1158
  });
1235
1159
  this.setState(_ref8 => {
1236
- var {
1237
- quickFilters
1238
- } = _ref8;
1160
+ var quickFilters = _ref8.quickFilters;
1239
1161
  var newQuickFilters = new Map(quickFilters);
1240
1162
  newQuickFilters.set(modelIndex, {
1241
1163
  filter,
@@ -1254,21 +1176,15 @@ class IrisGrid extends Component {
1254
1176
  setFilterMap(filterMap) {
1255
1177
  var _advancedSettings$get2;
1256
1178
  log.debug('setFilterMap', filterMap);
1257
- var {
1258
- advancedSettings
1259
- } = this.props;
1179
+ var advancedSettings = this.props.advancedSettings;
1260
1180
  var clearFiltersOnLinkerFilterUpdate = (_advancedSettings$get2 = advancedSettings.get(AdvancedSettingsType.LINK_CHANGE_CLEARS_ALL_FILTERS)) !== null && _advancedSettings$get2 !== void 0 ? _advancedSettings$get2 : false;
1261
1181
  if (clearFiltersOnLinkerFilterUpdate) {
1262
1182
  this.clearAllFilters();
1263
1183
  }
1264
- var {
1265
- model
1266
- } = this.props;
1184
+ var model = this.props.model;
1267
1185
  filterMap.forEach((_ref9, columnName) => {
1268
- var {
1269
- columnType,
1270
- filterList
1271
- } = _ref9;
1186
+ var columnType = _ref9.columnType,
1187
+ filterList = _ref9.filterList;
1272
1188
  var column = model.columns.find(c => c.name === columnName && c.type === columnType);
1273
1189
  if (column == null) {
1274
1190
  return;
@@ -1279,9 +1195,7 @@ class IrisGrid extends Component {
1279
1195
  if (combinedText.length === 0) {
1280
1196
  this.removeQuickFilter(columnIndex);
1281
1197
  } else {
1282
- var {
1283
- formatter
1284
- } = model;
1198
+ var formatter = model.formatter;
1285
1199
  this.setQuickFilter(columnIndex, this.makeQuickFilter(column, combinedText, formatter.timeZone), "".concat(combinedText));
1286
1200
  }
1287
1201
  });
@@ -1292,10 +1206,8 @@ class IrisGrid extends Component {
1292
1206
  });
1293
1207
  var clearRange = Array.isArray(modelRange) ? modelRange : [modelRange, modelRange];
1294
1208
  this.setState(_ref0 => {
1295
- var {
1296
- advancedFilters,
1297
- quickFilters
1298
- } = _ref0;
1209
+ var advancedFilters = _ref0.advancedFilters,
1210
+ quickFilters = _ref0.quickFilters;
1299
1211
  var newAdvancedFilters = advancedFilters ? new Map(advancedFilters) : new Map();
1300
1212
  var newQuickFilters = quickFilters ? new Map(quickFilters) : new Map();
1301
1213
  newAdvancedFilters.forEach((_, column) => {
@@ -1319,9 +1231,7 @@ class IrisGrid extends Component {
1319
1231
  resetRanges: true
1320
1232
  });
1321
1233
  this.setState(_ref1 => {
1322
- var {
1323
- quickFilters
1324
- } = _ref1;
1234
+ var quickFilters = _ref1.quickFilters;
1325
1235
  var newQuickFilters = new Map(quickFilters);
1326
1236
  newQuickFilters.delete(modelColumn);
1327
1237
  return {
@@ -1331,11 +1241,10 @@ class IrisGrid extends Component {
1331
1241
  }
1332
1242
  clearAllFilters() {
1333
1243
  log.debug('Clearing all filters');
1334
- var {
1335
- advancedFilters,
1336
- quickFilters,
1337
- searchFilter
1338
- } = this.state;
1244
+ var _this$state3 = this.state,
1245
+ advancedFilters = _this$state3.advancedFilters,
1246
+ quickFilters = _this$state3.quickFilters,
1247
+ searchFilter = _this$state3.searchFilter;
1339
1248
  if (quickFilters.size === 0 && advancedFilters.size === 0 && searchFilter === null) {
1340
1249
  return;
1341
1250
  }
@@ -1375,28 +1284,21 @@ class IrisGrid extends Component {
1375
1284
  * Rebuilds all the current filters. Necessary if something like the time zone has changed.
1376
1285
  */
1377
1286
  rebuildFilters() {
1378
- var {
1379
- model
1380
- } = this.props;
1381
- var {
1382
- advancedFilters,
1383
- quickFilters
1384
- } = this.state;
1287
+ var model = this.props.model;
1288
+ var _this$state4 = this.state,
1289
+ advancedFilters = _this$state4.advancedFilters,
1290
+ quickFilters = _this$state4.quickFilters;
1385
1291
  if (advancedFilters.size === 0 && quickFilters.size === 0) {
1386
1292
  log.debug('No filters to rebuild');
1387
1293
  return;
1388
1294
  }
1389
- var {
1390
- columns,
1391
- formatter
1392
- } = model;
1295
+ var columns = model.columns,
1296
+ formatter = model.formatter;
1393
1297
  log.debug('Rebuilding filters');
1394
1298
  var newAdvancedFilters = new Map();
1395
1299
  var newQuickFilters = new Map();
1396
1300
  advancedFilters.forEach((value, key) => {
1397
- var {
1398
- options
1399
- } = value;
1301
+ var options = value.options;
1400
1302
  var column = columns[key];
1401
1303
  var filter = this.tableUtils.makeAdvancedFilter(column, options, formatter.timeZone);
1402
1304
  newAdvancedFilters.set(key, {
@@ -1405,9 +1307,7 @@ class IrisGrid extends Component {
1405
1307
  });
1406
1308
  });
1407
1309
  quickFilters.forEach((value, key) => {
1408
- var {
1409
- text
1410
- } = value;
1310
+ var text = value.text;
1411
1311
  var column = columns[key];
1412
1312
  newQuickFilters.set(key, {
1413
1313
  text,
@@ -1423,10 +1323,8 @@ class IrisGrid extends Component {
1423
1323
  });
1424
1324
  }
1425
1325
  setFilters(_ref10) {
1426
- var {
1427
- quickFilters,
1428
- advancedFilters
1429
- } = _ref10;
1326
+ var quickFilters = _ref10.quickFilters,
1327
+ advancedFilters = _ref10.advancedFilters;
1430
1328
  this.setState({
1431
1329
  quickFilters,
1432
1330
  advancedFilters
@@ -1469,12 +1367,8 @@ class IrisGrid extends Component {
1469
1367
  updateFormatter(updatedFormats) {
1470
1368
  var _this$globalColumnFor;
1471
1369
  var forceUpdate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
1472
- var {
1473
- customColumnFormatMap
1474
- } = this.state;
1475
- var {
1476
- model
1477
- } = this.props;
1370
+ var customColumnFormatMap = this.state.customColumnFormatMap;
1371
+ var model = this.props.model;
1478
1372
  var update = _objectSpread({
1479
1373
  customColumnFormatMap
1480
1374
  }, updatedFormats);
@@ -1490,15 +1384,11 @@ class IrisGrid extends Component {
1490
1384
  });
1491
1385
  }
1492
1386
  initFormatter() {
1493
- var {
1494
- settings
1495
- } = this.props;
1387
+ var settings = this.props.settings;
1496
1388
  this.updateFormatterSettings(settings);
1497
1389
  }
1498
1390
  initState() {
1499
- var {
1500
- model
1501
- } = this.props;
1391
+ var model = this.props.model;
1502
1392
  try {
1503
1393
  if (isPartitionedGridModel(model) && model.isPartitionRequired) {
1504
1394
  this.loadPartitionsTable(model);
@@ -1510,18 +1400,17 @@ class IrisGrid extends Component {
1510
1400
  }
1511
1401
  }
1512
1402
  loadTableState() {
1513
- var {
1514
- applyInputFiltersOnInit,
1515
- inputFilters,
1516
- sorts,
1517
- model,
1518
- reverse,
1519
- reverseType,
1520
- customColumns,
1521
- searchValue,
1522
- selectedSearchColumns,
1523
- invertSearchColumns
1524
- } = this.props;
1403
+ var _this$props4 = this.props,
1404
+ applyInputFiltersOnInit = _this$props4.applyInputFiltersOnInit,
1405
+ inputFilters = _this$props4.inputFilters,
1406
+ sorts = _this$props4.sorts,
1407
+ model = _this$props4.model,
1408
+ reverse = _this$props4.reverse,
1409
+ reverseType = _this$props4.reverseType,
1410
+ customColumns = _this$props4.customColumns,
1411
+ searchValue = _this$props4.searchValue,
1412
+ selectedSearchColumns = _this$props4.selectedSearchColumns,
1413
+ invertSearchColumns = _this$props4.invertSearchColumns;
1525
1414
  var searchColumns = selectedSearchColumns !== null && selectedSearchColumns !== void 0 ? selectedSearchColumns : [];
1526
1415
  var searchFilter = CrossColumnSearch.createSearchFilter(model.dh, searchValue, searchColumns, model.columns, invertSearchColumns);
1527
1416
  if (applyInputFiltersOnInit) {
@@ -1543,9 +1432,7 @@ class IrisGrid extends Component {
1543
1432
  var _this = this;
1544
1433
  return _asyncToGenerator(function* () {
1545
1434
  try {
1546
- var {
1547
- partitionConfig
1548
- } = _this.state;
1435
+ var partitionConfig = _this.state.partitionConfig;
1549
1436
  if (!partitionConfig) {
1550
1437
  _this.startLoading('Loading partitions...', {
1551
1438
  loadingCancelShown: false,
@@ -1571,9 +1458,7 @@ class IrisGrid extends Component {
1571
1458
  var _this2 = this;
1572
1459
  return _asyncToGenerator(function* () {
1573
1460
  var keyTable = yield _this2.pending.add(model.partitionKeysTable(), resolved => resolved.close());
1574
- var {
1575
- dh
1576
- } = model;
1461
+ var dh = model.dh;
1577
1462
  var sorts = keyTable.columns.map(column => column.sort().desc());
1578
1463
  keyTable.applySort(sorts);
1579
1464
  keyTable.setViewport(0, 0);
@@ -1582,9 +1467,7 @@ class IrisGrid extends Component {
1582
1467
  // It's possible that the key table does not have any rows of data yet, so just wait until it does have one
1583
1468
  keyTable.addEventListener(dh.Table.EVENT_UPDATED, event => {
1584
1469
  try {
1585
- var {
1586
- detail: data
1587
- } = event;
1470
+ var data = event.detail;
1588
1471
  if (data.rows.length === 0) {
1589
1472
  // We received an update and the table is still empty. Stop showing the loading spinner so we know
1590
1473
  _this2.stopLoading();
@@ -1616,18 +1499,20 @@ class IrisGrid extends Component {
1616
1499
  * @returns A promise that resolves when the partition key has been successfully selected.
1617
1500
  */
1618
1501
  selectPartitionKeyFromTable(rowIndex) {
1619
- var {
1620
- model
1621
- } = this.props;
1502
+ var model = this.props.model;
1622
1503
  assertNotNull(rowIndex);
1623
1504
  if (isPartitionedGridModel(model)) {
1624
1505
  var data = this.getRowDataMap(rowIndex);
1625
1506
  var partitionColumnSet = new Set(model.partitionColumns.map(column => column.name));
1626
1507
  var values = Object.entries(data).filter(_ref11 => {
1627
- var [key, _] = _ref11;
1508
+ var _ref12 = _slicedToArray(_ref11, 2),
1509
+ key = _ref12[0],
1510
+ _ = _ref12[1];
1628
1511
  return partitionColumnSet.has(key);
1629
- }).map(_ref12 => {
1630
- var [key, columnData] = _ref12;
1512
+ }).map(_ref13 => {
1513
+ var _ref14 = _slicedToArray(_ref13, 2),
1514
+ key = _ref14[0],
1515
+ columnData = _ref14[1];
1631
1516
  return columnData.value;
1632
1517
  });
1633
1518
  var newPartition = {
@@ -1642,9 +1527,7 @@ class IrisGrid extends Component {
1642
1527
  }
1643
1528
  copyCell(columnIndex, rowIndex) {
1644
1529
  var rawValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
1645
- var {
1646
- canCopy
1647
- } = this.props;
1530
+ var canCopy = this.props.canCopy;
1648
1531
  if (canCopy) {
1649
1532
  var value = String(this.getValueForCell(columnIndex, rowIndex, rawValue));
1650
1533
  copyToClipboard(value).catch(e => log.error('Unable to copy cell', e));
@@ -1657,12 +1540,8 @@ class IrisGrid extends Component {
1657
1540
  if (columnIndex === null) {
1658
1541
  return;
1659
1542
  }
1660
- var {
1661
- canCopy
1662
- } = this.props;
1663
- var {
1664
- movedColumns
1665
- } = this.state;
1543
+ var canCopy = this.props.canCopy;
1544
+ var movedColumns = this.state.movedColumns;
1666
1545
  if (canCopy) {
1667
1546
  var copyOperation = {
1668
1547
  columnIndex,
@@ -1688,14 +1567,12 @@ class IrisGrid extends Component {
1688
1567
  var includeHeaders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1689
1568
  var formatValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
1690
1569
  var error = arguments.length > 3 ? arguments[3] : undefined;
1691
- var {
1692
- model,
1693
- canCopy
1694
- } = this.props;
1695
- var {
1696
- metricCalculator,
1697
- movedColumns
1698
- } = this.state;
1570
+ var _this$props5 = this.props,
1571
+ model = _this$props5.model,
1572
+ canCopy = _this$props5.canCopy;
1573
+ var _this$state5 = this.state,
1574
+ metricCalculator = _this$state5.metricCalculator,
1575
+ movedColumns = _this$state5.movedColumns;
1699
1576
  var userColumnWidths = metricCalculator.getUserColumnWidths();
1700
1577
  if (canCopy) {
1701
1578
  var copyOperation = {
@@ -1714,11 +1591,13 @@ class IrisGrid extends Component {
1714
1591
  }
1715
1592
  }
1716
1593
  startLoading(loadingText) {
1717
- var {
1718
- resetRanges = false,
1719
- loadingCancelShown = true,
1720
- loadingBlocksGrid = true
1721
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1594
+ var _ref15 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
1595
+ _ref15$resetRanges = _ref15.resetRanges,
1596
+ resetRanges = _ref15$resetRanges === void 0 ? false : _ref15$resetRanges,
1597
+ _ref15$loadingCancelS = _ref15.loadingCancelShown,
1598
+ loadingCancelShown = _ref15$loadingCancelS === void 0 ? true : _ref15$loadingCancelS,
1599
+ _ref15$loadingBlocksG = _ref15.loadingBlocksGrid,
1600
+ loadingBlocksGrid = _ref15$loadingBlocksG === void 0 ? true : _ref15$loadingBlocksG;
1722
1601
  this.setState({
1723
1602
  loadingText,
1724
1603
  loadingCancelShown,
@@ -1733,10 +1612,8 @@ class IrisGrid extends Component {
1733
1612
  }
1734
1613
  if (this.loadingScrimStartTime == null) {
1735
1614
  var _this$gridWrapper$get, _this$gridWrapper;
1736
- var {
1737
- minScrimTransitionTime,
1738
- maxScrimTransitionTime
1739
- } = theme;
1615
+ var minScrimTransitionTime = theme.minScrimTransitionTime,
1616
+ maxScrimTransitionTime = theme.maxScrimTransitionTime;
1740
1617
  assertNotNull(minScrimTransitionTime);
1741
1618
  assertNotNull(maxScrimTransitionTime);
1742
1619
  var height = (_this$gridWrapper$get = (_this$gridWrapper = this.gridWrapper) === null || _this$gridWrapper === void 0 ? void 0 : _this$gridWrapper.getBoundingClientRect().height) !== null && _this$gridWrapper$get !== void 0 ? _this$gridWrapper$get : 0;
@@ -1775,17 +1652,16 @@ class IrisGrid extends Component {
1775
1652
  rollback() {
1776
1653
  if (this.lastLoadedConfig) {
1777
1654
  log.debug('loading last loading config', this.lastLoadedConfig);
1778
- var {
1779
- advancedFilters,
1780
- aggregationSettings,
1781
- customColumns,
1782
- quickFilters,
1783
- reverse,
1784
- rollupConfig,
1785
- searchFilter,
1786
- selectDistinctColumns,
1787
- sorts
1788
- } = this.lastLoadedConfig;
1655
+ var _this$lastLoadedConfi = this.lastLoadedConfig,
1656
+ advancedFilters = _this$lastLoadedConfi.advancedFilters,
1657
+ aggregationSettings = _this$lastLoadedConfi.aggregationSettings,
1658
+ customColumns = _this$lastLoadedConfi.customColumns,
1659
+ quickFilters = _this$lastLoadedConfi.quickFilters,
1660
+ reverse = _this$lastLoadedConfi.reverse,
1661
+ rollupConfig = _this$lastLoadedConfi.rollupConfig,
1662
+ searchFilter = _this$lastLoadedConfi.searchFilter,
1663
+ selectDistinctColumns = _this$lastLoadedConfi.selectDistinctColumns,
1664
+ sorts = _this$lastLoadedConfi.sorts;
1789
1665
  this.lastLoadedConfig = null;
1790
1666
  this.setState({
1791
1667
  advancedFilters,
@@ -1847,15 +1723,9 @@ class IrisGrid extends Component {
1847
1723
  (_this$grid3 = this.grid) === null || _this$grid3 === void 0 || _this$grid3.focus();
1848
1724
  }
1849
1725
  focusFilterBar(column) {
1850
- var {
1851
- movedColumns
1852
- } = this.state;
1853
- var {
1854
- model
1855
- } = this.props;
1856
- var {
1857
- columnCount
1858
- } = model;
1726
+ var movedColumns = this.state.movedColumns;
1727
+ var model = this.props.model;
1728
+ var columnCount = model.columnCount;
1859
1729
  var modelColumn = GridUtils.getModelIndex(column, movedColumns);
1860
1730
  if (column == null || columnCount <= column || !model.isFilterable(modelColumn)) {
1861
1731
  this.setState({
@@ -1863,10 +1733,9 @@ class IrisGrid extends Component {
1863
1733
  });
1864
1734
  return;
1865
1735
  }
1866
- var {
1867
- metricCalculator,
1868
- metrics
1869
- } = this.state;
1736
+ var _this$state6 = this.state,
1737
+ metricCalculator = _this$state6.metricCalculator,
1738
+ metrics = _this$state6.metrics;
1870
1739
  assertNotNull(metrics);
1871
1740
  var metricState = this.getMetricState();
1872
1741
  assertNotNull(metricState);
@@ -1886,21 +1755,17 @@ class IrisGrid extends Component {
1886
1755
  }
1887
1756
  hideColumnByVisibleIndex(columnVisibleIndex) {
1888
1757
  var _this$grid5;
1889
- var {
1890
- metricCalculator,
1891
- movedColumns
1892
- } = this.state;
1758
+ var _this$state7 = this.state,
1759
+ metricCalculator = _this$state7.metricCalculator,
1760
+ movedColumns = _this$state7.movedColumns;
1893
1761
  metricCalculator.setColumnWidth(GridUtils.getModelIndex(columnVisibleIndex, movedColumns), 0);
1894
1762
  (_this$grid5 = this.grid) === null || _this$grid5 === void 0 || _this$grid5.forceUpdate();
1895
1763
  }
1896
1764
  freezeColumnByColumnName(columnName) {
1897
- var {
1898
- frozenColumns,
1899
- movedColumns
1900
- } = this.state;
1901
- var {
1902
- model
1903
- } = this.props;
1765
+ var _this$state8 = this.state,
1766
+ frozenColumns = _this$state8.frozenColumns,
1767
+ movedColumns = _this$state8.movedColumns;
1768
+ var model = this.props.model;
1904
1769
  log.debug2('freezing column', columnName);
1905
1770
  var allFrozenColumns = frozenColumns == null ? new Set(model.frozenColumns) : new Set(frozenColumns);
1906
1771
  allFrozenColumns.add(columnName);
@@ -1914,13 +1779,10 @@ class IrisGrid extends Component {
1914
1779
  });
1915
1780
  }
1916
1781
  unFreezeColumnByColumnName(columnName) {
1917
- var {
1918
- frozenColumns,
1919
- movedColumns
1920
- } = this.state;
1921
- var {
1922
- model
1923
- } = this.props;
1782
+ var _this$state9 = this.state,
1783
+ frozenColumns = _this$state9.frozenColumns,
1784
+ movedColumns = _this$state9.movedColumns;
1785
+ var model = this.props.model;
1924
1786
  log.debug2('unfreezing column', columnName);
1925
1787
  var allFrozenColumns = frozenColumns == null ? new Set(model.frozenColumns) : new Set(frozenColumns);
1926
1788
  allFrozenColumns.delete(columnName);
@@ -1948,37 +1810,30 @@ class IrisGrid extends Component {
1948
1810
  }
1949
1811
  toggleExpandColumn(modelIndex, expandDescendants) {
1950
1812
  log.debug2('Toggle expand column', modelIndex);
1951
- var {
1952
- model
1953
- } = this.props;
1813
+ var model = this.props.model;
1954
1814
  if (isExpandableColumnGridModel(model) && model.hasExpandableColumns) {
1955
1815
  model.setColumnExpanded(modelIndex, !model.isColumnExpanded(modelIndex), expandDescendants);
1956
1816
  }
1957
1817
  }
1958
1818
  expandAllColumns() {
1959
1819
  log.debug2('Expand all columns');
1960
- var {
1961
- model
1962
- } = this.props;
1820
+ var model = this.props.model;
1963
1821
  if (isExpandableColumnGridModel(model) && model.isExpandAllColumnsAvailable) {
1964
1822
  model.expandAllColumns();
1965
1823
  }
1966
1824
  }
1967
1825
  collapseAllColumns() {
1968
1826
  log.debug2('Collapse all columns');
1969
- var {
1970
- model
1971
- } = this.props;
1827
+ var model = this.props.model;
1972
1828
  if (isExpandableColumnGridModel(model) && model.isExpandAllColumnsAvailable) {
1973
1829
  model.collapseAllColumns();
1974
1830
  }
1975
1831
  }
1976
1832
  handleColumnVisibilityChanged(modelIndexes, isVisible) {
1977
1833
  var _this$grid6;
1978
- var {
1979
- metricCalculator,
1980
- metrics
1981
- } = this.state;
1834
+ var _this$state0 = this.state,
1835
+ metricCalculator = _this$state0.metricCalculator,
1836
+ metrics = _this$state0.metrics;
1982
1837
  assertNotNull(metrics);
1983
1838
  if (isVisible) {
1984
1839
  modelIndexes.forEach(modelIndex => {
@@ -2003,12 +1858,8 @@ class IrisGrid extends Component {
2003
1858
  }
2004
1859
  handleColumnVisibilityReset() {
2005
1860
  var _model$layoutHints$fr, _model$layoutHints2;
2006
- var {
2007
- metricCalculator
2008
- } = this.state;
2009
- var {
2010
- model
2011
- } = this.props;
1861
+ var metricCalculator = this.state.metricCalculator;
1862
+ var model = this.props.model;
2012
1863
  metricCalculator.resetAllColumnWidths();
2013
1864
  this.handleMovedColumnsChanged(model.initialMovedColumns);
2014
1865
  this.handleHeaderGroupsChanged(model.initialColumnHeaderGroups);
@@ -2017,9 +1868,7 @@ class IrisGrid extends Component {
2017
1868
  });
2018
1869
  }
2019
1870
  handleCrossColumnSearch(searchValue, selectedSearchColumns, invertSearchColumns) {
2020
- var {
2021
- model
2022
- } = this.props;
1871
+ var model = this.props.model;
2023
1872
  this.startLoading('Searching...');
2024
1873
  this.updateSearchFilter(searchValue, selectedSearchColumns, model.columns, invertSearchColumns);
2025
1874
  this.setState({
@@ -2046,9 +1895,7 @@ class IrisGrid extends Component {
2046
1895
  }
2047
1896
  handlePartitionChange(partitionConfig) {
2048
1897
  this.startLoading('Partitioning...');
2049
- var {
2050
- partitionConfig: prevConfig
2051
- } = this.state;
1898
+ var prevConfig = this.state.partitionConfig;
2052
1899
  if (prevConfig !== partitionConfig) {
2053
1900
  this.setState({
2054
1901
  partitionConfig
@@ -2060,19 +1907,14 @@ class IrisGrid extends Component {
2060
1907
  return;
2061
1908
  }
2062
1909
  log.error(error);
2063
- var {
2064
- onError
2065
- } = this.props;
1910
+ var onError = this.props.onError;
2066
1911
  onError(error);
2067
1912
  }
2068
1913
  handleViewportUpdated() {
2069
- var {
2070
- model
2071
- } = this.props;
2072
- var {
2073
- loadingText,
2074
- loadingSpinnerShown
2075
- } = this.state;
1914
+ var model = this.props.model;
1915
+ var _this$state1 = this.state,
1916
+ loadingText = _this$state1.loadingText,
1917
+ loadingSpinnerShown = _this$state1.loadingSpinnerShown;
2076
1918
  var loadingMessage = 'Waiting for viewport...';
2077
1919
 
2078
1920
  // pending and no timer already exists
@@ -2085,13 +1927,13 @@ class IrisGrid extends Component {
2085
1927
  }
2086
1928
  showAllColumns() {
2087
1929
  var _this$grid8;
2088
- var {
2089
- metricCalculator
2090
- } = this.state;
1930
+ var metricCalculator = this.state.metricCalculator;
2091
1931
  var userColumnWidths = metricCalculator.getUserColumnWidths();
2092
1932
  var entries = [...userColumnWidths.entries()];
2093
1933
  for (var i = 0; i < entries.length; i += 1) {
2094
- var [modelIndex, columnWidth] = entries[i];
1934
+ var _entries$i = _slicedToArray(entries[i], 2),
1935
+ modelIndex = _entries$i[0],
1936
+ columnWidth = _entries$i[1];
2095
1937
  if (columnWidth === 0) {
2096
1938
  metricCalculator.resetColumnWidth(modelIndex);
2097
1939
  }
@@ -2111,15 +1953,11 @@ class IrisGrid extends Component {
2111
1953
  }
2112
1954
  toggleSort(columnIndex, addToExisting) {
2113
1955
  log.info('Toggling sort for column', columnIndex);
2114
- var {
2115
- model
2116
- } = this.props;
1956
+ var model = this.props.model;
2117
1957
  var modelColumn = this.getModelColumn(columnIndex);
2118
1958
  assertNotNull(modelColumn);
2119
1959
  if (model.isColumnSortable(columnIndex)) {
2120
- var {
2121
- sorts: currentSorts
2122
- } = this.state;
1960
+ var currentSorts = this.state.sorts;
2123
1961
  var sorts = TableUtils.toggleSortForColumn(currentSorts, model.columns, modelColumn, addToExisting);
2124
1962
  this.updateSorts(sorts);
2125
1963
  } else {
@@ -2140,9 +1978,7 @@ class IrisGrid extends Component {
2140
1978
  var isAbs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
2141
1979
  var addToExisting = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
2142
1980
  assertNotNull(modelColumn);
2143
- var {
2144
- model
2145
- } = this.props;
1981
+ var model = this.props.model;
2146
1982
  var sorts = TableUtils.sortColumn(model.sort, model.columns, modelColumn, direction, isAbs, addToExisting);
2147
1983
  this.startLoading('Sorting...');
2148
1984
  this.setState({
@@ -2159,16 +1995,12 @@ class IrisGrid extends Component {
2159
1995
  (_this$grid10 = this.grid) === null || _this$grid10 === void 0 || _this$grid10.forceUpdate();
2160
1996
  }
2161
1997
  isReversible() {
2162
- var {
2163
- model
2164
- } = this.props;
1998
+ var model = this.props.model;
2165
1999
  return model.isReversible;
2166
2000
  }
2167
2001
  toggleFilterBar() {
2168
2002
  var focusIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.lastFocusedFilterBarColumn;
2169
- var {
2170
- isFilterBarShown
2171
- } = this.state;
2003
+ var isFilterBarShown = this.state.isFilterBarShown;
2172
2004
  isFilterBarShown = !isFilterBarShown;
2173
2005
  this.setState({
2174
2006
  isFilterBarShown
@@ -2178,12 +2010,8 @@ class IrisGrid extends Component {
2178
2010
  this.focusFilterBar(focusIndex);
2179
2011
  } else {
2180
2012
  var columnIndex = 0;
2181
- var {
2182
- model
2183
- } = this.props;
2184
- var {
2185
- columnCount
2186
- } = model;
2013
+ var model = this.props.model;
2014
+ var columnCount = model.columnCount;
2187
2015
  for (var i = 0; i < columnCount; i += 1) {
2188
2016
  var modelColumn = this.getModelColumn(i);
2189
2017
  if (modelColumn != null) {
@@ -2203,13 +2031,10 @@ class IrisGrid extends Component {
2203
2031
  }
2204
2032
  isTableSearchAvailable() {
2205
2033
  var _model$layoutHints3, _dh$SearchDisplayMode, _dh$SearchDisplayMode2;
2206
- var {
2207
- model,
2208
- canToggleSearch
2209
- } = this.props;
2210
- var {
2211
- dh
2212
- } = model;
2034
+ var _this$props6 = this.props,
2035
+ model = _this$props6.model,
2036
+ canToggleSearch = _this$props6.canToggleSearch;
2037
+ var dh = model.dh;
2213
2038
  var searchDisplayMode = model === null || model === void 0 || (_model$layoutHints3 = model.layoutHints) === null || _model$layoutHints3 === void 0 ? void 0 : _model$layoutHints3.searchDisplayMode;
2214
2039
  if (searchDisplayMode === ((_dh$SearchDisplayMode = dh.SearchDisplayMode) === null || _dh$SearchDisplayMode === void 0 ? void 0 : _dh$SearchDisplayMode.SEARCH_DISPLAY_HIDE)) {
2215
2040
  return false;
@@ -2220,9 +2045,7 @@ class IrisGrid extends Component {
2220
2045
  return canToggleSearch;
2221
2046
  }
2222
2047
  toggleSearchBar() {
2223
- var {
2224
- showSearchBar
2225
- } = this.state;
2048
+ var showSearchBar = this.state.showSearchBar;
2226
2049
  if (!this.isTableSearchAvailable()) {
2227
2050
  return;
2228
2051
  }
@@ -2245,9 +2068,7 @@ class IrisGrid extends Component {
2245
2068
  var row = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
2246
2069
  var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
2247
2070
  var columnName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
2248
- var {
2249
- isGotoShown
2250
- } = this.state;
2071
+ var isGotoShown = this.state.isGotoShown;
2251
2072
  if (row || value) {
2252
2073
  var _this$gotoRowRef$curr;
2253
2074
  // if invoked with a row, keep open instead of toggle
@@ -2278,12 +2099,8 @@ class IrisGrid extends Component {
2278
2099
  return;
2279
2100
  }
2280
2101
  // if a row is selected
2281
- var {
2282
- model
2283
- } = this.props;
2284
- var {
2285
- name
2286
- } = model.columns[cursorColumn];
2102
+ var model = this.props.model;
2103
+ var name = model.columns[cursorColumn].name;
2287
2104
 
2288
2105
  // Use raw value (same as Copy Cell Unformatted) to preserve full precision and timezone
2289
2106
  var text = String(this.getValueForCell(cursorColumn, cursorRow, true));
@@ -2301,15 +2118,11 @@ class IrisGrid extends Component {
2301
2118
  var _this3 = this;
2302
2119
  return _asyncToGenerator(function* () {
2303
2120
  var _document;
2304
- var {
2305
- model
2306
- } = _this3.props;
2121
+ var model = _this3.props.model;
2307
2122
  if (!isEditableGridModel(model) || !model.isEditable) {
2308
2123
  throw new Error('Cannot save, table is not editable');
2309
2124
  }
2310
- var {
2311
- pendingSavePromise
2312
- } = _this3.state;
2125
+ var pendingSavePromise = _this3.state.pendingSavePromise;
2313
2126
  if (pendingSavePromise != null) {
2314
2127
  throw new Error('Save already in progress');
2315
2128
  }
@@ -2345,9 +2158,7 @@ class IrisGrid extends Component {
2345
2158
  discardPending() {
2346
2159
  var _this4 = this;
2347
2160
  return _asyncToGenerator(function* () {
2348
- var {
2349
- pendingSavePromise
2350
- } = _this4.state;
2161
+ var pendingSavePromise = _this4.state.pendingSavePromise;
2351
2162
  if (pendingSavePromise != null) {
2352
2163
  throw new Error('Cannot cancel a save in progress');
2353
2164
  }
@@ -2365,9 +2176,7 @@ class IrisGrid extends Component {
2365
2176
  * @param column The column in this table to link
2366
2177
  */
2367
2178
  selectColumn(column) {
2368
- var {
2369
- onColumnSelected
2370
- } = this.props;
2179
+ var onColumnSelected = this.props.onColumnSelected;
2371
2180
  onColumnSelected(column);
2372
2181
  }
2373
2182
 
@@ -2376,9 +2185,7 @@ class IrisGrid extends Component {
2376
2185
  */
2377
2186
  selectData(columnIndex, rowIndex) {
2378
2187
  var dataMap = this.getRowDataMap(rowIndex);
2379
- var {
2380
- onDataSelected
2381
- } = this.props;
2188
+ var onDataSelected = this.props.onDataSelected;
2382
2189
  onDataSelected(rowIndex, dataMap);
2383
2190
  }
2384
2191
 
@@ -2389,20 +2196,14 @@ class IrisGrid extends Component {
2389
2196
  */
2390
2197
  getRowDataMap(rowIndex) {
2391
2198
  var _this5 = this;
2392
- var {
2393
- model
2394
- } = this.props;
2395
- var {
2396
- columns,
2397
- groupedColumns
2398
- } = model;
2199
+ var model = this.props.model;
2200
+ var columns = model.columns,
2201
+ groupedColumns = model.groupedColumns;
2399
2202
  var dataMap = {};
2400
2203
  var _loop = function _loop() {
2401
2204
  var column = columns[i];
2402
- var {
2403
- name,
2404
- type
2405
- } = column;
2205
+ var name = column.name,
2206
+ type = column.type;
2406
2207
  var value = model.valueForCell(i, rowIndex);
2407
2208
  var text = model.textForCell(i, rowIndex);
2408
2209
  var visibleIndex = _this5.getVisibleColumn(i);
@@ -2423,9 +2224,7 @@ class IrisGrid extends Component {
2423
2224
  return dataMap;
2424
2225
  }
2425
2226
  handleAdvancedFilterChange(column, filter, options) {
2426
- var {
2427
- model
2428
- } = this.props;
2227
+ var model = this.props.model;
2429
2228
  var index = model.getColumnIndexByName(column.name);
2430
2229
  assertNotNull(index);
2431
2230
  this.setAdvancedFilter(index, filter, options);
@@ -2433,9 +2232,7 @@ class IrisGrid extends Component {
2433
2232
  handleAdvancedFilterSortChange(column, direction) {
2434
2233
  var _this$grid15;
2435
2234
  var addToExisting = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
2436
- var {
2437
- model
2438
- } = this.props;
2235
+ var model = this.props.model;
2439
2236
  var columnIndex = model.getColumnIndexByName(column.name);
2440
2237
  assertNotNull(columnIndex);
2441
2238
  var columnName = model.columns[columnIndex].name;
@@ -2461,10 +2258,8 @@ class IrisGrid extends Component {
2461
2258
  (_this$grid16 = this.grid) === null || _this$grid16 === void 0 || _this$grid16.focus();
2462
2259
  }
2463
2260
  handleAdvancedFilterToggleMaximize(column) {
2464
- this.setState(_ref13 => {
2465
- var {
2466
- maximizedAdvancedFilter
2467
- } = _ref13;
2261
+ this.setState(_ref16 => {
2262
+ var maximizedAdvancedFilter = _ref16.maximizedAdvancedFilter;
2468
2263
  return {
2469
2264
  maximizedAdvancedFilter: maximizedAdvancedFilter === column ? null : column
2470
2265
  };
@@ -2490,10 +2285,9 @@ class IrisGrid extends Component {
2490
2285
  }
2491
2286
  handleAdvancedMenuClosed(columnIndex) {
2492
2287
  var _this$filterInputRef;
2493
- var {
2494
- focusedFilterBarColumn,
2495
- isFilterBarShown
2496
- } = this.state;
2288
+ var _this$state10 = this.state,
2289
+ focusedFilterBarColumn = _this$state10.focusedFilterBarColumn,
2290
+ isFilterBarShown = _this$state10.isFilterBarShown;
2497
2291
  if (isFilterBarShown && focusedFilterBarColumn === columnIndex && ((_this$filterInputRef = this.filterInputRef) === null || _this$filterInputRef === void 0 ? void 0 : _this$filterInputRef.current) !== null) {
2498
2292
  var _this$filterInputRef2;
2499
2293
  (_this$filterInputRef2 = this.filterInputRef) === null || _this$filterInputRef2 === void 0 || _this$filterInputRef2.current.focus();
@@ -2518,10 +2312,9 @@ class IrisGrid extends Component {
2518
2312
  // TODO: IDS-4242 Update Chart Preview
2519
2313
  }
2520
2314
  handleChartCreate(settings) {
2521
- var {
2522
- model,
2523
- onCreateChart
2524
- } = this.props;
2315
+ var _this$props7 = this.props,
2316
+ model = _this$props7.model,
2317
+ onCreateChart = _this$props7.onCreateChart;
2525
2318
  onCreateChart(settings, model);
2526
2319
  }
2527
2320
  handleGridError(error) {
@@ -2537,11 +2330,9 @@ class IrisGrid extends Component {
2537
2330
  this.startLoading('Filtering...', {
2538
2331
  resetRanges: true
2539
2332
  });
2540
- this.setState(_ref14 => {
2541
- var {
2542
- focusedFilterBarColumn,
2543
- quickFilters
2544
- } = _ref14;
2333
+ this.setState(_ref17 => {
2334
+ var focusedFilterBarColumn = _ref17.focusedFilterBarColumn,
2335
+ quickFilters = _ref17.quickFilters;
2545
2336
  var newQuickFilters = new Map(quickFilters);
2546
2337
  if (focusedFilterBarColumn != null) {
2547
2338
  var modelIndex = this.getModelColumn(focusedFilterBarColumn);
@@ -2567,9 +2358,7 @@ class IrisGrid extends Component {
2567
2358
  }
2568
2359
  }
2569
2360
  handleFilterBarTab(backward) {
2570
- var {
2571
- focusedFilterBarColumn
2572
- } = this.state;
2361
+ var focusedFilterBarColumn = this.state.focusedFilterBarColumn;
2573
2362
  assertNotNull(focusedFilterBarColumn);
2574
2363
  if (backward) {
2575
2364
  this.focusFilterBar(focusedFilterBarColumn - 1);
@@ -2578,13 +2367,9 @@ class IrisGrid extends Component {
2578
2367
  }
2579
2368
  }
2580
2369
  handleFormatSelection(modelIndex, selectedFormat) {
2581
- var {
2582
- model
2583
- } = this.props;
2370
+ var model = this.props.model;
2584
2371
  var column = model.columns[modelIndex];
2585
- var {
2586
- customColumnFormatMap: prevCustomColumnFormatMap
2587
- } = this.state;
2372
+ var prevCustomColumnFormatMap = this.state.customColumnFormatMap;
2588
2373
  var customColumnFormatMap = new Map(prevCustomColumnFormatMap);
2589
2374
  if (selectedFormat != null) {
2590
2375
  var normalizedType = TableUtils.getNormalizedType(column.type);
@@ -2599,14 +2384,11 @@ class IrisGrid extends Component {
2599
2384
  });
2600
2385
  }
2601
2386
  handleColumnAlignmentChange(modelIndex, alignment) {
2602
- var {
2603
- model
2604
- } = this.props;
2387
+ var model = this.props.model;
2605
2388
  var column = model.columns[modelIndex];
2606
- this.setState(_ref15 => {
2607
- var {
2608
- columnAlignmentMap = EMPTY_MAP
2609
- } = _ref15;
2389
+ this.setState(_ref18 => {
2390
+ var _ref18$columnAlignmen = _ref18.columnAlignmentMap,
2391
+ columnAlignmentMap = _ref18$columnAlignmen === void 0 ? EMPTY_MAP : _ref18$columnAlignmen;
2610
2392
  var newColumnAlignmentMap = new Map(columnAlignmentMap);
2611
2393
  if (alignment != null) {
2612
2394
  newColumnAlignmentMap.set(column.name, alignment);
@@ -2631,10 +2413,8 @@ class IrisGrid extends Component {
2631
2413
  });
2632
2414
  }
2633
2415
  handleMenuBack() {
2634
- this.setState(_ref16 => {
2635
- var {
2636
- openOptions
2637
- } = _ref16;
2416
+ this.setState(_ref19 => {
2417
+ var openOptions = _ref19.openOptions;
2638
2418
  var newOptions = [...openOptions];
2639
2419
  newOptions.pop();
2640
2420
  return {
@@ -2643,24 +2423,19 @@ class IrisGrid extends Component {
2643
2423
  });
2644
2424
  }
2645
2425
  handleMenuSelect(option) {
2646
- this.setState(_ref17 => {
2647
- var {
2648
- openOptions
2649
- } = _ref17;
2426
+ this.setState(_ref20 => {
2427
+ var openOptions = _ref20.openOptions;
2650
2428
  return {
2651
2429
  openOptions: [...openOptions, option]
2652
2430
  };
2653
2431
  });
2654
2432
  }
2655
2433
  handleRequestFailed(event) {
2656
- var {
2657
- detail: error
2658
- } = event;
2434
+ var _ref21 = event,
2435
+ error = _ref21.detail;
2659
2436
  log.error('request failed:', error);
2660
2437
  this.stopLoading();
2661
- var {
2662
- partitionConfig
2663
- } = this.state;
2438
+ var partitionConfig = this.state.partitionConfig;
2664
2439
  if (isMissingPartitionError(error) && partitionConfig != null) {
2665
2440
  // We'll try loading the initial partition again
2666
2441
  this.startLoading('Reloading partition...', {
@@ -2678,9 +2453,7 @@ class IrisGrid extends Component {
2678
2453
  this.rollback();
2679
2454
  } else {
2680
2455
  log.error('Table failed and unable to rollback');
2681
- var {
2682
- onError
2683
- } = this.props;
2456
+ var onError = this.props.onError;
2684
2457
  onError(new Error("Error displaying table: ".concat(error)));
2685
2458
  }
2686
2459
  }
@@ -2693,13 +2466,11 @@ class IrisGrid extends Component {
2693
2466
  * pending operations into a single scrim).
2694
2467
  */
2695
2468
  handlePending(event) {
2696
- var {
2697
- detail
2698
- } = event;
2699
- var {
2700
- text,
2701
- options
2702
- } = detail !== null && detail !== void 0 ? detail : {};
2469
+ var _ref22 = event,
2470
+ detail = _ref22.detail;
2471
+ var _ref23 = detail !== null && detail !== void 0 ? detail : {},
2472
+ text = _ref23.text,
2473
+ options = _ref23.options;
2703
2474
  if (this.loadingScrimStartTime == null) {
2704
2475
  this.startLoading(text !== null && text !== void 0 ? text : 'Loading...', _objectSpread({
2705
2476
  loadingCancelShown: false
@@ -2718,17 +2489,16 @@ class IrisGrid extends Component {
2718
2489
  handleUpdate() {
2719
2490
  var _this$grid18;
2720
2491
  log.debug2('Received model update');
2721
- var {
2722
- advancedFilters,
2723
- aggregationSettings,
2724
- customColumns,
2725
- quickFilters,
2726
- reverse,
2727
- rollupConfig,
2728
- searchFilter,
2729
- selectDistinctColumns,
2730
- sorts
2731
- } = this.state;
2492
+ var _this$state11 = this.state,
2493
+ advancedFilters = _this$state11.advancedFilters,
2494
+ aggregationSettings = _this$state11.aggregationSettings,
2495
+ customColumns = _this$state11.customColumns,
2496
+ quickFilters = _this$state11.quickFilters,
2497
+ reverse = _this$state11.reverse,
2498
+ rollupConfig = _this$state11.rollupConfig,
2499
+ searchFilter = _this$state11.searchFilter,
2500
+ selectDistinctColumns = _this$state11.selectDistinctColumns,
2501
+ sorts = _this$state11.sorts;
2732
2502
  var config = {
2733
2503
  advancedFilters,
2734
2504
  aggregationSettings,
@@ -2749,13 +2519,9 @@ class IrisGrid extends Component {
2749
2519
  this.stopLoading();
2750
2520
  }
2751
2521
  handleTableChanged() {
2752
- var {
2753
- model
2754
- } = this.props;
2522
+ var model = this.props.model;
2755
2523
  // For partitioned tables, we want to rebuild filters on table change to ensure filters are applied to the new partition
2756
- var {
2757
- partitionConfig
2758
- } = this.state;
2524
+ var partitionConfig = this.state.partitionConfig;
2759
2525
  if (isPartitionedGridModel(model) && (partitionConfig === null || partitionConfig === void 0 ? void 0 : partitionConfig.mode) !== 'keys') {
2760
2526
  this.rebuildFilters();
2761
2527
  }
@@ -2771,27 +2537,21 @@ class IrisGrid extends Component {
2771
2537
  * reconciles against the grid's current `movedColumns` at draw time.
2772
2538
  */
2773
2539
  handleModelChanged() {
2774
- var {
2775
- model
2776
- } = this.props;
2540
+ var model = this.props.model;
2777
2541
  this.setState({
2778
2542
  movedColumns: model.initialMovedColumns
2779
2543
  });
2780
2544
  }
2781
2545
  handleViewChanged(metrics) {
2782
2546
  var _this$grid$state, _this$grid19;
2783
- var {
2784
- model
2785
- } = this.props;
2786
- var {
2787
- selectionEndRow = 0
2788
- } = (_this$grid$state = (_this$grid19 = this.grid) === null || _this$grid19 === void 0 ? void 0 : _this$grid19.state) !== null && _this$grid$state !== void 0 ? _this$grid$state : {};
2547
+ var model = this.props.model;
2548
+ var _ref24 = (_this$grid$state = (_this$grid19 = this.grid) === null || _this$grid19 === void 0 ? void 0 : _this$grid19.state) !== null && _this$grid$state !== void 0 ? _this$grid$state : {},
2549
+ _ref24$selectionEndRo = _ref24.selectionEndRow,
2550
+ selectionEndRow = _ref24$selectionEndRo === void 0 ? 0 : _ref24$selectionEndRo;
2789
2551
  var pendingRowCount = 0;
2790
2552
  if (isEditableGridModel(model) && model.isEditable) {
2791
2553
  assertNotNull(metrics);
2792
- var {
2793
- bottomViewport
2794
- } = metrics;
2554
+ var bottomViewport = metrics.bottomViewport;
2795
2555
 
2796
2556
  // We have an editable table that we can add new rows to
2797
2557
  // Display empty rows beneath the table rows that user can fill in
@@ -2814,12 +2574,8 @@ class IrisGrid extends Component {
2814
2574
  }
2815
2575
  handleSelectionChanged(selectedRanges) {
2816
2576
  assertNotNull(selectedRanges);
2817
- var {
2818
- onSelectionChanged
2819
- } = this.props;
2820
- var {
2821
- copyOperation
2822
- } = this.state;
2577
+ var onSelectionChanged = this.props.onSelectionChanged;
2578
+ var copyOperation = this.state.copyOperation;
2823
2579
  this.setState({
2824
2580
  selectedRanges
2825
2581
  });
@@ -2846,12 +2602,8 @@ class IrisGrid extends Component {
2846
2602
  }, onChangeApplied);
2847
2603
  }
2848
2604
  handleHeaderGroupsChanged(columnHeaderGroups) {
2849
- var {
2850
- model
2851
- } = this.props;
2852
- var {
2853
- columnHeaderGroups: prevColumnHeaderGroups
2854
- } = this.state;
2605
+ var model = this.props.model;
2606
+ var prevColumnHeaderGroups = this.state.columnHeaderGroups;
2855
2607
  if (prevColumnHeaderGroups === columnHeaderGroups) {
2856
2608
  return;
2857
2609
  }
@@ -2879,10 +2631,9 @@ class IrisGrid extends Component {
2879
2631
  }
2880
2632
  handleConditionalFormatCreate() {
2881
2633
  log.debug('Create new conditional format');
2882
- var {
2883
- openOptions,
2884
- conditionalFormats
2885
- } = this.state;
2634
+ var _this$state12 = this.state,
2635
+ openOptions = _this$state12.openOptions,
2636
+ conditionalFormats = _this$state12.conditionalFormats;
2886
2637
  this.setState({
2887
2638
  openOptions: [...openOptions, {
2888
2639
  type: OptionType.CONDITIONAL_FORMATTING_EDIT,
@@ -2895,10 +2646,9 @@ class IrisGrid extends Component {
2895
2646
  }
2896
2647
  handleConditionalFormatEdit(index) {
2897
2648
  log.debug('Edit conditional format', index);
2898
- var {
2899
- openOptions,
2900
- conditionalFormats
2901
- } = this.state;
2649
+ var _this$state13 = this.state,
2650
+ openOptions = _this$state13.openOptions,
2651
+ conditionalFormats = _this$state13.conditionalFormats;
2902
2652
  this.setState({
2903
2653
  openOptions: [...openOptions, {
2904
2654
  type: OptionType.CONDITIONAL_FORMATTING_EDIT,
@@ -2935,19 +2685,14 @@ class IrisGrid extends Component {
2935
2685
  }
2936
2686
  handleUpdateCustomColumns(customColumns) {
2937
2687
  log.info("handleUpdateCustomColumns:", customColumns);
2938
- var {
2939
- model
2940
- } = this.props;
2941
- var {
2942
- movedColumns,
2943
- sorts,
2944
- quickFilters,
2945
- advancedFilters,
2946
- selectDistinctColumns
2947
- } = this.state;
2948
- var {
2949
- columns
2950
- } = model;
2688
+ var model = this.props.model;
2689
+ var _this$state14 = this.state,
2690
+ movedColumns = _this$state14.movedColumns,
2691
+ sorts = _this$state14.sorts,
2692
+ quickFilters = _this$state14.quickFilters,
2693
+ advancedFilters = _this$state14.advancedFilters,
2694
+ selectDistinctColumns = _this$state14.selectDistinctColumns;
2695
+ var columns = model.columns;
2951
2696
  var oldCustomColumns = model.customColumns.map(customColumn => "".concat(customColumn));
2952
2697
  var removedColumnNames = IrisGridUtils.getRemovedCustomColumnNames(oldCustomColumns, customColumns);
2953
2698
  if (removedColumnNames.length > 0) {
@@ -2993,9 +2738,7 @@ class IrisGrid extends Component {
2993
2738
  }
2994
2739
  handleCustomColumnsChanged() {
2995
2740
  log.debug('Model columns changed');
2996
- var {
2997
- isReady
2998
- } = this.state;
2741
+ var isReady = this.state.isReady;
2999
2742
  if (isReady) {
3000
2743
  this.updateMetrics();
3001
2744
 
@@ -3026,17 +2769,11 @@ class IrisGrid extends Component {
3026
2769
  */
3027
2770
  maybeRebuildMetricCalculator() {
3028
2771
  var _model$layoutHints4;
3029
- var {
3030
- getMetricCalculator
3031
- } = this.props;
2772
+ var getMetricCalculator = this.props.getMetricCalculator;
3032
2773
  var factory = getMetricCalculator;
3033
2774
  if (factory === this.lastMetricCalculatorFactory) return;
3034
- var {
3035
- model
3036
- } = this.props;
3037
- var {
3038
- movedColumns
3039
- } = this.state;
2775
+ var model = this.props.model;
2776
+ var movedColumns = this.state.movedColumns;
3040
2777
  var next = factory({
3041
2778
  userColumnWidths: new Map(),
3042
2779
  userRowHeights: new Map(),
@@ -3065,13 +2802,9 @@ class IrisGrid extends Component {
3065
2802
  handlePendingDataUpdated() {
3066
2803
  var _this$grid21;
3067
2804
  log.debug('pending data updated');
3068
- var {
3069
- model
3070
- } = this.props;
3071
- var {
3072
- pendingDataMap,
3073
- pendingDataErrors
3074
- } = model;
2805
+ var model = this.props.model;
2806
+ var pendingDataMap = model.pendingDataMap,
2807
+ pendingDataErrors = model.pendingDataErrors;
3075
2808
  this.setState({
3076
2809
  pendingDataMap,
3077
2810
  pendingDataErrors,
@@ -3081,10 +2814,9 @@ class IrisGrid extends Component {
3081
2814
  }
3082
2815
  handleResizeColumn(modelIndex) {
3083
2816
  var _this$grid22;
3084
- var {
3085
- metrics,
3086
- metricCalculator
3087
- } = this.state;
2817
+ var _this$state15 = this.state,
2818
+ metrics = _this$state15.metrics,
2819
+ metricCalculator = _this$state15.metricCalculator;
3088
2820
  if (!metrics) throw new Error('Metrics not set');
3089
2821
  var contentWidth = getOrThrow(metrics.contentColumnWidths, modelIndex);
3090
2822
  var userWidths = metricCalculator.getUserColumnWidths();
@@ -3098,17 +2830,19 @@ class IrisGrid extends Component {
3098
2830
  }
3099
2831
  handleResizeAllColumns() {
3100
2832
  var _this$grid23;
3101
- var {
3102
- metrics,
3103
- metricCalculator
3104
- } = this.state;
2833
+ var _this$state16 = this.state,
2834
+ metrics = _this$state16.metrics,
2835
+ metricCalculator = _this$state16.metricCalculator;
3105
2836
  if (!metrics) throw new Error('Metrics not set');
3106
2837
  var allColumns = [...metrics.allColumnWidths.entries()];
3107
- var visibleColumns = allColumns.filter(_ref18 => {
3108
- var [_, width] = _ref18;
2838
+ var visibleColumns = allColumns.filter(_ref25 => {
2839
+ var _ref26 = _slicedToArray(_ref25, 2),
2840
+ _ = _ref26[0],
2841
+ width = _ref26[1];
3109
2842
  return width !== 0;
3110
- }).map(_ref19 => {
3111
- var [modelIndex] = _ref19;
2843
+ }).map(_ref27 => {
2844
+ var _ref28 = _slicedToArray(_ref27, 1),
2845
+ modelIndex = _ref28[0];
3112
2846
  return modelIndex;
3113
2847
  });
3114
2848
  var contentWidths = metrics.contentColumnWidths;
@@ -3144,9 +2878,7 @@ class IrisGrid extends Component {
3144
2878
  var added = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
3145
2879
  var removed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
3146
2880
  log.debug('handleAggregationsChange', aggregationSettings, added, removed);
3147
- var {
3148
- rollupConfig
3149
- } = this.state;
2881
+ var rollupConfig = this.state.rollupConfig;
3150
2882
  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;
3151
2883
  // Do not start loading if this is rollup and added / removed aggregations are prohibited for rollups
3152
2884
  var changes = [...added, ...removed];
@@ -3166,19 +2898,15 @@ class IrisGrid extends Component {
3166
2898
  handleAggregationChange(aggregation) {
3167
2899
  var _rollupConfig$columns3, _rollupConfig$columns4;
3168
2900
  log.debug('handleAggregationChange', aggregation);
3169
- var {
3170
- rollupConfig
3171
- } = this.state;
2901
+ var rollupConfig = this.state.rollupConfig;
3172
2902
  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;
3173
2903
  // Do not start loading if this is rollup and the aggregation is prohibited for rollups
3174
2904
  var shouldStartLoading = !(isRollup && AggregationUtils.isRollupProhibited(aggregation.operation));
3175
2905
  if (shouldStartLoading) {
3176
2906
  this.startLoading("Aggregating ".concat(aggregation.operation, "..."));
3177
2907
  }
3178
- this.setState(_ref20 => {
3179
- var {
3180
- aggregationSettings
3181
- } = _ref20;
2908
+ this.setState(_ref29 => {
2909
+ var aggregationSettings = _ref29.aggregationSettings;
3182
2910
  return {
3183
2911
  selectedAggregation: aggregation,
3184
2912
  aggregationSettings: _objectSpread(_objectSpread({}, aggregationSettings), {}, {
@@ -3194,9 +2922,7 @@ class IrisGrid extends Component {
3194
2922
  */
3195
2923
  handleAggregationEdit(aggregation) {
3196
2924
  log.debug('handleAggregationEdit', aggregation);
3197
- var {
3198
- openOptions
3199
- } = this.state;
2925
+ var openOptions = this.state.openOptions;
3200
2926
  this.setState({
3201
2927
  openOptions: [...openOptions, {
3202
2928
  type: OptionType.AGGREGATION_EDIT,
@@ -3211,9 +2937,7 @@ class IrisGrid extends Component {
3211
2937
 
3212
2938
  // Un-hide hidden group-by columns.
3213
2939
  if ((rollupConfig === null || rollupConfig === void 0 ? void 0 : rollupConfig.columns) != null && rollupConfig.columns.length > 0) {
3214
- var {
3215
- metricCalculator
3216
- } = this.state;
2940
+ var metricCalculator = this.state.metricCalculator;
3217
2941
  var userColumnWidthsByName = metricCalculator.getUserColumnWidthsByName();
3218
2942
  rollupConfig.columns.forEach(name => {
3219
2943
  if (userColumnWidthsByName.get(name) === 0) {
@@ -3252,9 +2976,7 @@ class IrisGrid extends Component {
3252
2976
  });
3253
2977
  }
3254
2978
  handleDownloadTableStart() {
3255
- var {
3256
- canDownloadCsv
3257
- } = this.props;
2979
+ var canDownloadCsv = this.props.canDownloadCsv;
3258
2980
  if (canDownloadCsv) {
3259
2981
  this.setState({
3260
2982
  isTableDownloading: true,
@@ -3267,9 +2989,7 @@ class IrisGrid extends Component {
3267
2989
  }
3268
2990
  }
3269
2991
  handleDownloadTable(fileName, frozenTable, tableSubscription, snapshotRanges, modelRanges, includeColumnHeaders, useUnformattedValues) {
3270
- var {
3271
- canDownloadCsv
3272
- } = this.props;
2992
+ var canDownloadCsv = this.props.canDownloadCsv;
3273
2993
  if (canDownloadCsv) {
3274
2994
  log.info('start table downloading', fileName, frozenTable, tableSubscription, snapshotRanges, modelRanges, includeColumnHeaders, useUnformattedValues);
3275
2995
  this.setState(() => {
@@ -3290,13 +3010,9 @@ class IrisGrid extends Component {
3290
3010
  */
3291
3011
  removeEmptyAggregations() {
3292
3012
  log.debug('removeEmptyAggregations');
3293
- this.setState(_ref21 => {
3294
- var {
3295
- aggregationSettings
3296
- } = _ref21;
3297
- var {
3298
- aggregations
3299
- } = aggregationSettings;
3013
+ this.setState(_ref30 => {
3014
+ var aggregationSettings = _ref30.aggregationSettings;
3015
+ var aggregations = aggregationSettings.aggregations;
3300
3016
  var newAggregations = aggregations.filter(a => a.selected.length > 0 || a.invert);
3301
3017
  if (newAggregations.length !== aggregations.length) {
3302
3018
  return {
@@ -3318,16 +3034,11 @@ class IrisGrid extends Component {
3318
3034
  return _asyncToGenerator(function* () {
3319
3035
  var _this6$grid;
3320
3036
  var isBackwards = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : false;
3321
- var {
3322
- gotoValueSelectedColumnName: selectedColumnName,
3323
- gotoValueSelectedFilter
3324
- } = _this6.state;
3325
- var {
3326
- model
3327
- } = _this6.props;
3328
- var {
3329
- dh
3330
- } = model;
3037
+ var _this6$state = _this6.state,
3038
+ selectedColumnName = _this6$state.gotoValueSelectedColumnName,
3039
+ gotoValueSelectedFilter = _this6$state.gotoValueSelectedFilter;
3040
+ var model = _this6.props.model;
3041
+ var dh = model.dh;
3331
3042
  if (!model.isSeekRowAvailable) {
3332
3043
  return;
3333
3044
  }
@@ -3346,9 +3057,7 @@ class IrisGrid extends Component {
3346
3057
  var isIgnoreCase = gotoValueSelectedFilter === FilterType.eqIgnoreCase || gotoValueSelectedFilter === FilterType.containsIgnoreCase;
3347
3058
  try {
3348
3059
  var _this6$grid2;
3349
- var {
3350
- formatter
3351
- } = model;
3060
+ var formatter = model.formatter;
3352
3061
  var columnDataType = TableUtils.getNormalizedType(selectedColumn.type);
3353
3062
  var rowIndex;
3354
3063
  switch (columnDataType) {
@@ -3360,7 +3069,9 @@ class IrisGrid extends Component {
3360
3069
  }
3361
3070
  case TableUtils.dataType.DATETIME:
3362
3071
  {
3363
- var [startDate] = DateUtils.parseDateRange(dh, inputString, formatter.timeZone);
3072
+ var _DateUtils$parseDateR = DateUtils.parseDateRange(dh, inputString, formatter.timeZone),
3073
+ _DateUtils$parseDateR2 = _slicedToArray(_DateUtils$parseDateR, 1),
3074
+ startDate = _DateUtils$parseDateR2[0];
3364
3075
  rowIndex = yield model.seekRow(searchFromRow, selectedColumn, dh.ValueType.DATETIME, startDate, undefined, undefined, isBackwards !== null && isBackwards !== void 0 ? isBackwards : false);
3365
3076
  break;
3366
3077
  }
@@ -3423,9 +3134,7 @@ class IrisGrid extends Component {
3423
3134
  * @param ranges The ranges to delete
3424
3135
  */
3425
3136
  deleteRanges(ranges) {
3426
- var {
3427
- model
3428
- } = this.props;
3137
+ var model = this.props.model;
3429
3138
  if (!isDeletableGridModel(model) || !model.isDeletable) {
3430
3139
  throw new Error('Model does not support deleting ranges');
3431
3140
  }
@@ -3439,13 +3148,9 @@ class IrisGrid extends Component {
3439
3148
  if (this.grid == null) {
3440
3149
  return;
3441
3150
  }
3442
- var {
3443
- isSelectingColumn
3444
- } = this.props;
3151
+ var isSelectingColumn = this.props.isSelectingColumn;
3445
3152
  if (isSelectingColumn) {
3446
- var {
3447
- columnAllowedCursor
3448
- } = this.props;
3153
+ var columnAllowedCursor = this.props.columnAllowedCursor;
3449
3154
  this.grid.setState({
3450
3155
  cursor: columnAllowedCursor
3451
3156
  });
@@ -3475,15 +3180,9 @@ class IrisGrid extends Component {
3475
3180
  if (!this.grid) {
3476
3181
  return;
3477
3182
  }
3478
- var {
3479
- state: irisGridState
3480
- } = this;
3481
- var {
3482
- state: gridState
3483
- } = this.grid;
3484
- var {
3485
- onStateChange
3486
- } = this.props;
3183
+ var irisGridState = this.state;
3184
+ var gridState = this.grid.state;
3185
+ var onStateChange = this.props.onStateChange;
3487
3186
  onStateChange(irisGridState, gridState);
3488
3187
  }
3489
3188
  handleOverflowClose() {
@@ -3506,22 +3205,19 @@ class IrisGrid extends Component {
3506
3205
  }
3507
3206
  getColumnBoundingRect() {
3508
3207
  var _this$gridWrapper2;
3509
- var {
3510
- metrics,
3511
- shownColumnTooltip
3512
- } = this.state;
3208
+ var _this$state17 = this.state,
3209
+ metrics = _this$state17.metrics,
3210
+ shownColumnTooltip = _this$state17.shownColumnTooltip;
3513
3211
  assertNotNull(metrics);
3514
3212
  assertNotNull(shownColumnTooltip);
3515
3213
  var gridRect = (_this$gridWrapper2 = this.gridWrapper) === null || _this$gridWrapper2 === void 0 ? void 0 : _this$gridWrapper2.getBoundingClientRect();
3516
3214
  var popperMargin = 20;
3517
3215
  assertNotNull(gridRect);
3518
- var {
3519
- columnHeaderHeight,
3520
- allColumnXs,
3521
- allColumnWidths,
3522
- width,
3523
- columnHeaderMaxDepth
3524
- } = metrics;
3216
+ var columnHeaderHeight = metrics.columnHeaderHeight,
3217
+ allColumnXs = metrics.allColumnXs,
3218
+ allColumnWidths = metrics.allColumnWidths,
3219
+ width = metrics.width,
3220
+ columnHeaderMaxDepth = metrics.columnHeaderMaxDepth;
3525
3221
  var columnX = allColumnXs.get(shownColumnTooltip);
3526
3222
  var columnWidth = allColumnWidths.get(shownColumnTooltip);
3527
3223
  assertNotNull(columnX);
@@ -3542,18 +3238,12 @@ class IrisGrid extends Component {
3542
3238
  };
3543
3239
  }
3544
3240
  handleGotoRowSelectedRowNumberSubmit() {
3545
- var {
3546
- gotoRow: rowNumber
3547
- } = this.state;
3241
+ var rowNumber = this.state.gotoRow;
3548
3242
  this.focusRowInGrid(rowNumber);
3549
3243
  }
3550
3244
  focusRowInGrid(rowNumber) {
3551
- var {
3552
- model
3553
- } = this.props;
3554
- var {
3555
- rowCount
3556
- } = model;
3245
+ var model = this.props.model;
3246
+ var rowCount = model.rowCount;
3557
3247
  this.setState({
3558
3248
  gotoRow: rowNumber
3559
3249
  });
@@ -3597,13 +3287,11 @@ class IrisGrid extends Component {
3597
3287
  this.focusRowInGrid(rowNumber);
3598
3288
  }
3599
3289
  getColumnTooltip(visibleIndex, metrics, model) {
3600
- var {
3601
- columnHeaderHeight,
3602
- columnHeaderMaxDepth,
3603
- allColumnXs,
3604
- allColumnWidths,
3605
- width
3606
- } = metrics;
3290
+ var columnHeaderHeight = metrics.columnHeaderHeight,
3291
+ columnHeaderMaxDepth = metrics.columnHeaderMaxDepth,
3292
+ allColumnXs = metrics.allColumnXs,
3293
+ allColumnWidths = metrics.allColumnWidths,
3294
+ width = metrics.width;
3607
3295
  var columnX = allColumnXs.get(visibleIndex);
3608
3296
  var columnWidth = allColumnWidths.get(visibleIndex);
3609
3297
  if (columnX == null || columnWidth == null) {
@@ -3686,14 +3374,11 @@ class IrisGrid extends Component {
3686
3374
  }
3687
3375
  handleGotoValueSelectedColumnNameChanged(columnName) {
3688
3376
  var _this$grid28;
3689
- var {
3690
- model
3691
- } = this.props;
3377
+ var model = this.props.model;
3692
3378
  var cursorRow = (_this$grid28 = this.grid) === null || _this$grid28 === void 0 ? void 0 : _this$grid28.state.cursorRow;
3693
- var {
3694
- gotoValueSelectedColumnName: prevColumnName,
3695
- gotoValueManuallyChanged
3696
- } = this.state;
3379
+ var _this$state18 = this.state,
3380
+ prevColumnName = _this$state18.gotoValueSelectedColumnName,
3381
+ gotoValueManuallyChanged = _this$state18.gotoValueManuallyChanged;
3697
3382
  if (cursorRow != null) {
3698
3383
  var index = model.getColumnIndexByName(columnName);
3699
3384
  var column = IrisGridUtils.getColumnByName(model.columns, columnName);
@@ -3732,9 +3417,7 @@ class IrisGrid extends Component {
3732
3417
  });
3733
3418
  }
3734
3419
  handleGotoValueSubmitted(isBackwards) {
3735
- var {
3736
- gotoValue
3737
- } = this.state;
3420
+ var gotoValue = this.state.gotoValue;
3738
3421
  this.seekRow(gotoValue, isBackwards);
3739
3422
  }
3740
3423
 
@@ -3761,15 +3444,11 @@ class IrisGrid extends Component {
3761
3444
  return null;
3762
3445
  }
3763
3446
  var debounceMs = Math.min(Math.max(IrisGrid.minDebounce, Math.round(metrics.rowCount / 200)), IrisGrid.maxDebounce);
3764
- var {
3765
- x,
3766
- y,
3767
- width: fieldWidth,
3768
- height: fieldHeight
3769
- } = filterBoxCoordinates;
3770
- var {
3771
- width
3772
- } = metrics;
3447
+ var x = filterBoxCoordinates.x,
3448
+ y = filterBoxCoordinates.y,
3449
+ fieldWidth = filterBoxCoordinates.width,
3450
+ fieldHeight = filterBoxCoordinates.height;
3451
+ var width = metrics.width;
3773
3452
  var style = {
3774
3453
  top: y,
3775
3454
  left: x,
@@ -3818,100 +3497,96 @@ class IrisGrid extends Component {
3818
3497
  _this7 = this,
3819
3498
  _this$grid30,
3820
3499
  _openOptions;
3821
- var {
3822
- children,
3823
- customFilters,
3824
- getDownloadWorker,
3825
- isSelectingColumn,
3826
- isStuckToBottom,
3827
- isStuckToRight,
3828
- model,
3829
- name,
3830
- onlyFetchVisibleColumns,
3831
- alwaysFetchColumns,
3832
- advancedSettings,
3833
- onAdvancedSettingsChange,
3834
- canDownloadCsv,
3835
- onCreateChart,
3836
- transformTableOptions
3837
- } = this.props;
3838
- var {
3839
- metricCalculator,
3840
- metrics,
3841
- isFilterBarShown,
3842
- isSelectingPartition,
3843
- isMenuShown,
3844
- isReady,
3845
- copyOperation,
3846
- focusedFilterBarColumn,
3847
- loadingText,
3848
- loadingScrimProgress,
3849
- loadingSpinnerShown,
3850
- loadingCancelShown,
3851
- loadingBlocksGrid,
3852
- shownColumnTooltip,
3853
- hoverAdvancedFilter,
3854
- shownAdvancedFilter,
3855
- maximizedAdvancedFilter,
3856
- hoverSelectColumn,
3857
- quickFilters,
3858
- advancedFilters,
3859
- searchFilter,
3860
- selectDistinctColumns,
3861
- movedColumns,
3862
- movedRows,
3863
- formatter,
3864
- conditionalFormats,
3865
- conditionalFormatPreview,
3866
- conditionalFormatEditIndex,
3867
- columnAlignmentMap,
3868
- sorts,
3869
- reverse,
3870
- customColumns,
3871
- selectedRanges,
3872
- isTableDownloading,
3873
- tableDownloadStatus,
3874
- tableDownloadProgress,
3875
- tableDownloadEstimatedTime,
3876
- showSearchBar,
3877
- searchValue,
3878
- selectedSearchColumns,
3879
- invertSearchColumns,
3880
- aggregationSettings,
3881
- selectedAggregation,
3882
- rollupConfig,
3883
- openOptions,
3884
- pendingSavePromise,
3885
- pendingSaveError,
3886
- pendingRowCount,
3887
- pendingDataErrors,
3888
- pendingDataMap,
3889
- toastMessage,
3890
- frozenColumns,
3891
- columnHeaderGroups,
3892
- showOverflowModal,
3893
- showNoPastePermissionModal,
3894
- noPastePermissionError,
3895
- overflowText,
3896
- overflowButtonTooltipProps,
3897
- expandCellTooltipProps,
3898
- hoverTooltipProps,
3899
- isGotoShown,
3900
- gotoRow,
3901
- gotoRowError,
3902
- gotoValueError,
3903
- gotoValueSelectedColumnName,
3904
- gotoValue,
3905
- gotoValueSelectedFilter,
3906
- partitionConfig
3907
- } = this.state;
3500
+ var _this$props8 = this.props,
3501
+ children = _this$props8.children,
3502
+ customFilters = _this$props8.customFilters,
3503
+ getDownloadWorker = _this$props8.getDownloadWorker,
3504
+ isSelectingColumn = _this$props8.isSelectingColumn,
3505
+ isStuckToBottom = _this$props8.isStuckToBottom,
3506
+ isStuckToRight = _this$props8.isStuckToRight,
3507
+ model = _this$props8.model,
3508
+ name = _this$props8.name,
3509
+ onlyFetchVisibleColumns = _this$props8.onlyFetchVisibleColumns,
3510
+ alwaysFetchColumns = _this$props8.alwaysFetchColumns,
3511
+ advancedSettings = _this$props8.advancedSettings,
3512
+ onAdvancedSettingsChange = _this$props8.onAdvancedSettingsChange,
3513
+ canDownloadCsv = _this$props8.canDownloadCsv,
3514
+ onCreateChart = _this$props8.onCreateChart,
3515
+ transformTableOptions = _this$props8.transformTableOptions;
3516
+ var _this$state19 = this.state,
3517
+ metricCalculator = _this$state19.metricCalculator,
3518
+ metrics = _this$state19.metrics,
3519
+ isFilterBarShown = _this$state19.isFilterBarShown,
3520
+ isSelectingPartition = _this$state19.isSelectingPartition,
3521
+ isMenuShown = _this$state19.isMenuShown,
3522
+ isReady = _this$state19.isReady,
3523
+ copyOperation = _this$state19.copyOperation,
3524
+ focusedFilterBarColumn = _this$state19.focusedFilterBarColumn,
3525
+ loadingText = _this$state19.loadingText,
3526
+ loadingScrimProgress = _this$state19.loadingScrimProgress,
3527
+ loadingSpinnerShown = _this$state19.loadingSpinnerShown,
3528
+ loadingCancelShown = _this$state19.loadingCancelShown,
3529
+ loadingBlocksGrid = _this$state19.loadingBlocksGrid,
3530
+ shownColumnTooltip = _this$state19.shownColumnTooltip,
3531
+ hoverAdvancedFilter = _this$state19.hoverAdvancedFilter,
3532
+ shownAdvancedFilter = _this$state19.shownAdvancedFilter,
3533
+ maximizedAdvancedFilter = _this$state19.maximizedAdvancedFilter,
3534
+ hoverSelectColumn = _this$state19.hoverSelectColumn,
3535
+ quickFilters = _this$state19.quickFilters,
3536
+ advancedFilters = _this$state19.advancedFilters,
3537
+ searchFilter = _this$state19.searchFilter,
3538
+ selectDistinctColumns = _this$state19.selectDistinctColumns,
3539
+ movedColumns = _this$state19.movedColumns,
3540
+ movedRows = _this$state19.movedRows,
3541
+ formatter = _this$state19.formatter,
3542
+ conditionalFormats = _this$state19.conditionalFormats,
3543
+ conditionalFormatPreview = _this$state19.conditionalFormatPreview,
3544
+ conditionalFormatEditIndex = _this$state19.conditionalFormatEditIndex,
3545
+ columnAlignmentMap = _this$state19.columnAlignmentMap,
3546
+ sorts = _this$state19.sorts,
3547
+ reverse = _this$state19.reverse,
3548
+ customColumns = _this$state19.customColumns,
3549
+ selectedRanges = _this$state19.selectedRanges,
3550
+ isTableDownloading = _this$state19.isTableDownloading,
3551
+ tableDownloadStatus = _this$state19.tableDownloadStatus,
3552
+ tableDownloadProgress = _this$state19.tableDownloadProgress,
3553
+ tableDownloadEstimatedTime = _this$state19.tableDownloadEstimatedTime,
3554
+ showSearchBar = _this$state19.showSearchBar,
3555
+ searchValue = _this$state19.searchValue,
3556
+ selectedSearchColumns = _this$state19.selectedSearchColumns,
3557
+ invertSearchColumns = _this$state19.invertSearchColumns,
3558
+ aggregationSettings = _this$state19.aggregationSettings,
3559
+ selectedAggregation = _this$state19.selectedAggregation,
3560
+ rollupConfig = _this$state19.rollupConfig,
3561
+ openOptions = _this$state19.openOptions,
3562
+ pendingSavePromise = _this$state19.pendingSavePromise,
3563
+ pendingSaveError = _this$state19.pendingSaveError,
3564
+ pendingRowCount = _this$state19.pendingRowCount,
3565
+ pendingDataErrors = _this$state19.pendingDataErrors,
3566
+ pendingDataMap = _this$state19.pendingDataMap,
3567
+ toastMessage = _this$state19.toastMessage,
3568
+ frozenColumns = _this$state19.frozenColumns,
3569
+ columnHeaderGroups = _this$state19.columnHeaderGroups,
3570
+ showOverflowModal = _this$state19.showOverflowModal,
3571
+ showNoPastePermissionModal = _this$state19.showNoPastePermissionModal,
3572
+ noPastePermissionError = _this$state19.noPastePermissionError,
3573
+ overflowText = _this$state19.overflowText,
3574
+ overflowButtonTooltipProps = _this$state19.overflowButtonTooltipProps,
3575
+ expandCellTooltipProps = _this$state19.expandCellTooltipProps,
3576
+ hoverTooltipProps = _this$state19.hoverTooltipProps,
3577
+ isGotoShown = _this$state19.isGotoShown,
3578
+ gotoRow = _this$state19.gotoRow,
3579
+ gotoRowError = _this$state19.gotoRowError,
3580
+ gotoValueError = _this$state19.gotoValueError,
3581
+ gotoValueSelectedColumnName = _this$state19.gotoValueSelectedColumnName,
3582
+ gotoValue = _this$state19.gotoValue,
3583
+ gotoValueSelectedFilter = _this$state19.gotoValueSelectedFilter,
3584
+ partitionConfig = _this$state19.partitionConfig;
3908
3585
  if (!isReady) {
3909
3586
  return null;
3910
3587
  }
3911
3588
  var theme = this.getTheme();
3912
- var {
3913
- columnHeaderHeight: singleColumnHeaderHeight
3914
- } = theme;
3589
+ var singleColumnHeaderHeight = theme.columnHeaderHeight;
3915
3590
  var filter = this.getCachedFilter(customFilters, quickFilters, advancedFilters, searchFilter);
3916
3591
  var userColumnWidths = metricCalculator.getUserColumnWidths();
3917
3592
  var stateOverride = this.getCachedStateOverride(model, theme, hoverSelectColumn, isFilterBarShown, isSelectingColumn, loadingScrimProgress, quickFilters, advancedFilters, sorts, reverse, rollupConfig, isMenuShown);
@@ -3968,9 +3643,7 @@ class IrisGrid extends Component {
3968
3643
  var metricState = this.getMetricState();
3969
3644
 
3970
3645
  // Advanced Filter buttons
3971
- var {
3972
- visibleColumns
3973
- } = metrics;
3646
+ var visibleColumns = metrics.visibleColumns;
3974
3647
  var _loop2 = function _loop2() {
3975
3648
  var columnIndex = visibleColumns[i];
3976
3649
  var modelColumn = _this7.getModelColumn(columnIndex);
@@ -3978,10 +3651,8 @@ class IrisGrid extends Component {
3978
3651
  var isFilterable = model.isFilterable(modelColumn);
3979
3652
  var buttonCoordinates = isFilterable && metricState ? metricCalculator.getAdvancedFilterButtonCoordinates(columnIndex, metricState, metrics) : null;
3980
3653
  if (buttonCoordinates != null) {
3981
- var {
3982
- x,
3983
- y
3984
- } = buttonCoordinates;
3654
+ var x = buttonCoordinates.x,
3655
+ y = buttonCoordinates.y;
3985
3656
  var style = {
3986
3657
  position: 'absolute',
3987
3658
  top: y,
@@ -4042,13 +3713,11 @@ class IrisGrid extends Component {
4042
3713
  }
4043
3714
  var advancedFilterMenus = [];
4044
3715
  if (metrics) {
4045
- var {
4046
- gridX,
4047
- visibleColumns: _visibleColumns,
4048
- allColumnXs,
4049
- allColumnWidths,
4050
- columnHeaderHeight
4051
- } = metrics;
3716
+ var gridX = metrics.gridX,
3717
+ _visibleColumns = metrics.visibleColumns,
3718
+ allColumnXs = metrics.allColumnXs,
3719
+ allColumnWidths = metrics.allColumnWidths,
3720
+ columnHeaderHeight = metrics.columnHeaderHeight;
4052
3721
  var _loop3 = function _loop3() {
4053
3722
  var columnIndex = _visibleColumns[_i4];
4054
3723
  var columnX = allColumnXs.get(columnIndex);
@@ -4079,9 +3748,8 @@ class IrisGrid extends Component {
4079
3748
  return 1; // continue
4080
3749
  }
4081
3750
  var advancedFilter = advancedFilters.get(modelColumn);
4082
- var {
4083
- options: advancedFilterOptions
4084
- } = advancedFilter || {};
3751
+ var _ref31 = advancedFilter || {},
3752
+ advancedFilterOptions = _ref31.options;
4085
3753
  var sort = TableUtils.getSortForColumn(model.sort, column.name);
4086
3754
  var sortDirection = sort ? sort.direction : null;
4087
3755
  if (!isSortDirection(sortDirection)) {