@deephaven/iris-grid 0.46.1-beta.2 → 0.46.1-beta.7

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 (100) hide show
  1. package/dist/AdvancedFilterCreator.js +122 -102
  2. package/dist/AdvancedFilterCreator.js.map +1 -1
  3. package/dist/AdvancedFilterCreatorFilterItem.js +47 -38
  4. package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
  5. package/dist/AdvancedFilterCreatorSelectValue.js +52 -40
  6. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  7. package/dist/AdvancedFilterCreatorSelectValueList.js +35 -28
  8. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  9. package/dist/ColumnStatistics.js +74 -54
  10. package/dist/ColumnStatistics.js.map +1 -1
  11. package/dist/CrossColumnSearch.d.ts.map +1 -1
  12. package/dist/CrossColumnSearch.js +114 -90
  13. package/dist/CrossColumnSearch.js.map +1 -1
  14. package/dist/FilterInputField.js +42 -35
  15. package/dist/FilterInputField.js.map +1 -1
  16. package/dist/GotoRow.js +226 -193
  17. package/dist/GotoRow.js.map +1 -1
  18. package/dist/IrisGrid.js +371 -344
  19. package/dist/IrisGrid.js.map +1 -1
  20. package/dist/IrisGridBottomBar.js +11 -8
  21. package/dist/IrisGridBottomBar.js.map +1 -1
  22. package/dist/IrisGridCellOverflowModal.js +56 -50
  23. package/dist/IrisGridCellOverflowModal.js.map +1 -1
  24. package/dist/IrisGridCopyHandler.js +34 -24
  25. package/dist/IrisGridCopyHandler.js.map +1 -1
  26. package/dist/IrisGridPartitionSelector.js +59 -46
  27. package/dist/IrisGridPartitionSelector.js.map +1 -1
  28. package/dist/PartitionSelectorSearch.js +43 -36
  29. package/dist/PartitionSelectorSearch.js.map +1 -1
  30. package/dist/PendingDataBottomBar.js +34 -22
  31. package/dist/PendingDataBottomBar.js.map +1 -1
  32. package/dist/ToastBottomBar.js +5 -3
  33. package/dist/ToastBottomBar.js.map +1 -1
  34. package/dist/format-context-menus/CustomFormatAction.js +34 -25
  35. package/dist/format-context-menus/CustomFormatAction.js.map +1 -1
  36. package/dist/format-context-menus/FormatContextMenuUtils.js +2 -1
  37. package/dist/format-context-menus/FormatContextMenuUtils.js.map +1 -1
  38. package/dist/mousehandlers/IrisGridContextMenuHandler.js +50 -36
  39. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  40. package/dist/sidebar/AdvancedSettingsMenu.js +2 -1
  41. package/dist/sidebar/AdvancedSettingsMenu.js.map +1 -1
  42. package/dist/sidebar/ChartBuilder.js +134 -107
  43. package/dist/sidebar/ChartBuilder.js.map +1 -1
  44. package/dist/sidebar/CustomColumnBuilder.js +70 -48
  45. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  46. package/dist/sidebar/CustomColumnInput.js +66 -53
  47. package/dist/sidebar/CustomColumnInput.js.map +1 -1
  48. package/dist/sidebar/InputEditor.js +15 -11
  49. package/dist/sidebar/InputEditor.js.map +1 -1
  50. package/dist/sidebar/RollupRows.js +130 -103
  51. package/dist/sidebar/RollupRows.js.map +1 -1
  52. package/dist/sidebar/SelectDistinctBuilder.js +49 -39
  53. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  54. package/dist/sidebar/TableCsvExporter.js +178 -128
  55. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  56. package/dist/sidebar/aggregations/AggregationEdit.js +67 -57
  57. package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
  58. package/dist/sidebar/aggregations/Aggregations.js +86 -63
  59. package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
  60. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +30 -22
  61. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
  62. package/dist/sidebar/conditional-formatting/ConditionEditor.js +52 -47
  63. package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
  64. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +52 -42
  65. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
  66. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +90 -67
  67. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
  68. package/dist/sidebar/conditional-formatting/RowFormatEditor.js +30 -22
  69. package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
  70. package/dist/sidebar/conditional-formatting/StyleEditor.js +70 -58
  71. package/dist/sidebar/conditional-formatting/StyleEditor.js.map +1 -1
  72. package/dist/sidebar/icons/BarIcon.js +21 -12
  73. package/dist/sidebar/icons/BarIcon.js.map +1 -1
  74. package/dist/sidebar/icons/FormatColumnWhereIcon.js +38 -30
  75. package/dist/sidebar/icons/FormatColumnWhereIcon.js.map +1 -1
  76. package/dist/sidebar/icons/FormatRowWhereIcon.js +32 -24
  77. package/dist/sidebar/icons/FormatRowWhereIcon.js.map +1 -1
  78. package/dist/sidebar/icons/HistogramIcon.js +21 -12
  79. package/dist/sidebar/icons/HistogramIcon.js.map +1 -1
  80. package/dist/sidebar/icons/LineIcon.js +24 -15
  81. package/dist/sidebar/icons/LineIcon.js.map +1 -1
  82. package/dist/sidebar/icons/PieIcon.js +21 -12
  83. package/dist/sidebar/icons/PieIcon.js.map +1 -1
  84. package/dist/sidebar/icons/ScatterIcon.js +71 -62
  85. package/dist/sidebar/icons/ScatterIcon.js.map +1 -1
  86. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js +129 -121
  87. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js.map +1 -1
  88. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js +121 -87
  89. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js.map +1 -1
  90. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js +40 -26
  91. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js.map +1 -1
  92. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js +17 -14
  93. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js.map +1 -1
  94. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeInner.js +34 -28
  95. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeInner.js.map +1 -1
  96. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeItem.js +2 -2
  97. package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeItem.js.map +1 -1
  98. package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js +8 -7
  99. package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js.map +1 -1
  100. package/package.json +15 -15
package/dist/IrisGrid.js CHANGED
@@ -49,6 +49,8 @@ import ConditionalFormattingMenu from "./sidebar/conditional-formatting/Conditio
49
49
  import ConditionalFormatEditor from "./sidebar/conditional-formatting/ConditionalFormatEditor.js";
50
50
  import IrisGridCellOverflowModal from "./IrisGridCellOverflowModal.js";
51
51
  import GotoRow from "./GotoRow.js";
52
+ import { jsx as _jsx } from "react/jsx-runtime";
53
+ import { jsxs as _jsxs } from "react/jsx-runtime";
52
54
  var log = Log.module('IrisGrid');
53
55
  var UPDATE_DOWNLOAD_THROTTLE = 500;
54
56
  var SET_FILTER_DEBOUNCE = 250;
@@ -107,7 +109,7 @@ export class IrisGrid extends Component {
107
109
  _defineProperty(this, "getAdvancedMenuOpenedHandler", memoize(column => this.handleAdvancedMenuOpened.bind(this, column), {
108
110
  max: 100
109
111
  }));
110
- _defineProperty(this, "getCachedAdvancedFilterMenuActions", memoize((model, column, advancedFilterOptions, sortDirection, formatter) => /*#__PURE__*/React.createElement(AdvancedFilterCreator, {
112
+ _defineProperty(this, "getCachedAdvancedFilterMenuActions", memoize((model, column, advancedFilterOptions, sortDirection, formatter) => /*#__PURE__*/_jsx(AdvancedFilterCreator, {
111
113
  model: model,
112
114
  column: column,
113
115
  onFilterChange: this.handleAdvancedFilterChange,
@@ -356,13 +358,14 @@ export class IrisGrid extends Component {
356
358
  }
357
359
  }
358
360
  };
359
- return /*#__PURE__*/React.createElement("div", {
360
- style: wrapperStyle
361
- }, /*#__PURE__*/React.createElement(Tooltip, {
362
- key: Date.now(),
363
- options: popperOptions,
364
- ref: this.handleTooltipRef
365
- }, "View full contents"));
361
+ return /*#__PURE__*/_jsx("div", {
362
+ style: wrapperStyle,
363
+ children: /*#__PURE__*/_jsx(Tooltip, {
364
+ options: popperOptions,
365
+ ref: this.handleTooltipRef,
366
+ children: "View full contents"
367
+ }, Date.now())
368
+ });
366
369
  }));
367
370
  _defineProperty(this, "getExpandCellTooltip", memoize(expandCellTooltipProps => {
368
371
  if (expandCellTooltipProps == null) {
@@ -379,17 +382,19 @@ export class IrisGrid extends Component {
379
382
  var popperOptions = {
380
383
  placement: 'bottom-start'
381
384
  };
382
- return /*#__PURE__*/React.createElement("div", {
383
- style: wrapperStyle
384
- }, /*#__PURE__*/React.createElement(Tooltip, {
385
- key: Date.now(),
386
- options: popperOptions,
387
- ref: this.handleTooltipRef
388
- }, /*#__PURE__*/React.createElement("div", {
389
- style: {
390
- textAlign: 'left'
391
- }
392
- }, "Click to ", expandTooltipDisplayValue, " row", /*#__PURE__*/React.createElement("br", null), ContextActionUtils.isMacPlatform() ? '⌘' : 'Ctrl+', "Click to expand row and all children")));
385
+ return /*#__PURE__*/_jsx("div", {
386
+ style: wrapperStyle,
387
+ children: /*#__PURE__*/_jsx(Tooltip, {
388
+ options: popperOptions,
389
+ ref: this.handleTooltipRef,
390
+ children: /*#__PURE__*/_jsxs("div", {
391
+ style: {
392
+ textAlign: 'left'
393
+ },
394
+ children: ["Click to ", expandTooltipDisplayValue, " row", /*#__PURE__*/_jsx("br", {}), ContextActionUtils.isMacPlatform() ? '⌘' : 'Ctrl+', "Click to expand row and all children"]
395
+ })
396
+ }, Date.now())
397
+ });
393
398
  }));
394
399
  _defineProperty(this, "getLinkHoverTooltip", memoize(linkHoverTooltipProps => {
395
400
  if (linkHoverTooltipProps == null) {
@@ -406,14 +411,17 @@ export class IrisGrid extends Component {
406
411
  var popperOptions = {
407
412
  placement: 'bottom'
408
413
  };
409
- return /*#__PURE__*/React.createElement("div", {
410
- style: wrapperStyle
411
- }, /*#__PURE__*/React.createElement(Tooltip, {
412
- options: popperOptions,
413
- ref: this.handleTooltipRef
414
- }, /*#__PURE__*/React.createElement("div", {
415
- className: "link-hover-tooltip"
416
- }, linkHoverDisplayValue, " - Click once to follow.", /*#__PURE__*/React.createElement("br", null), "Click and hold to select this cell.")));
414
+ return /*#__PURE__*/_jsx("div", {
415
+ style: wrapperStyle,
416
+ children: /*#__PURE__*/_jsx(Tooltip, {
417
+ options: popperOptions,
418
+ ref: this.handleTooltipRef,
419
+ children: /*#__PURE__*/_jsxs("div", {
420
+ className: "link-hover-tooltip",
421
+ children: [linkHoverDisplayValue, " - Click once to follow.", /*#__PURE__*/_jsx("br", {}), "Click and hold to select this cell."]
422
+ })
423
+ })
424
+ });
417
425
  }));
418
426
  _defineProperty(this, "handleGotoValueChanged", input => {
419
427
  this.setState({
@@ -2040,9 +2048,10 @@ export class IrisGrid extends Component {
2040
2048
  handleGridError(error) {
2041
2049
  log.warn('Grid Error', error);
2042
2050
  this.setState({
2043
- toastMessage: /*#__PURE__*/React.createElement("div", {
2044
- className: "error-message"
2045
- }, "".concat(error))
2051
+ toastMessage: /*#__PURE__*/_jsx("div", {
2052
+ className: "error-message",
2053
+ children: "".concat(error)
2054
+ })
2046
2055
  });
2047
2056
  }
2048
2057
  handleFilterBarChange(value) {
@@ -2872,28 +2881,29 @@ export class IrisGrid extends Component {
2872
2881
  if (modelColumn == null) return null;
2873
2882
  var column = model.columns[modelColumn];
2874
2883
  if (column == null) return null;
2875
- return /*#__PURE__*/React.createElement("div", {
2876
- style: wrapperStyle
2877
- }, /*#__PURE__*/React.createElement(Tooltip, {
2878
- key: column.name,
2879
- timeout: 400,
2880
- interactive: true,
2881
- options: popperOptions,
2882
- ref: this.handleTooltipRef,
2883
- referenceObject: virtualReference,
2884
- onExited: () => {
2885
- this.setState({
2886
- shownColumnTooltip: null
2887
- });
2888
- }
2889
- }, /*#__PURE__*/React.createElement(ColumnStatistics, {
2890
- model: model,
2891
- column: column,
2892
- onStatistics: () => {
2893
- var _this$tooltip;
2894
- (_this$tooltip = this.tooltip) === null || _this$tooltip === void 0 ? void 0 : _this$tooltip.update();
2895
- }
2896
- })));
2884
+ return /*#__PURE__*/_jsx("div", {
2885
+ style: wrapperStyle,
2886
+ children: /*#__PURE__*/_jsx(Tooltip, {
2887
+ timeout: 400,
2888
+ interactive: true,
2889
+ options: popperOptions,
2890
+ ref: this.handleTooltipRef,
2891
+ referenceObject: virtualReference,
2892
+ onExited: () => {
2893
+ this.setState({
2894
+ shownColumnTooltip: null
2895
+ });
2896
+ },
2897
+ children: /*#__PURE__*/_jsx(ColumnStatistics, {
2898
+ model: model,
2899
+ column: column,
2900
+ onStatistics: () => {
2901
+ var _this$tooltip;
2902
+ (_this$tooltip = this.tooltip) === null || _this$tooltip === void 0 ? void 0 : _this$tooltip.update();
2903
+ }
2904
+ })
2905
+ }, column.name)
2906
+ });
2897
2907
  }
2898
2908
  handleGotoValueSelectedColumnNameChanged(columnName) {
2899
2909
  var _this$grid27;
@@ -3077,7 +3087,7 @@ export class IrisGrid extends Component {
3077
3087
  isValid = quickFilter.filter != null;
3078
3088
  }
3079
3089
  var isBarFiltered = quickFilters.size !== 0 || advancedFilters.size !== 0;
3080
- focusField = /*#__PURE__*/React.createElement(FilterInputField, {
3090
+ focusField = /*#__PURE__*/_jsx(FilterInputField, {
3081
3091
  ref: this.filterInputRef,
3082
3092
  style: style,
3083
3093
  className: classNames({
@@ -3091,41 +3101,44 @@ export class IrisGrid extends Component {
3091
3101
  shownAdvancedFilter: focusedFilterBarColumn
3092
3102
  });
3093
3103
  },
3094
- key: focusedFilterBarColumn,
3095
3104
  onChange: this.handleFilterBarChange,
3096
3105
  onDone: this.handleFilterBarDone,
3097
3106
  onTab: this.handleFilterBarTab,
3098
3107
  onContextMenu: (_this$grid28 = this.grid) === null || _this$grid28 === void 0 ? void 0 : _this$grid28.handleContextMenu,
3099
3108
  debounceMs: debounceMs,
3100
3109
  value: _value5
3101
- });
3110
+ }, focusedFilterBarColumn);
3102
3111
  }
3103
3112
  }
3104
3113
  var loadingElement = null;
3105
3114
  if (loadingText != null) {
3106
- var loadingStatus = /*#__PURE__*/React.createElement("div", {
3107
- className: "iris-grid-loading-status"
3108
- }, /*#__PURE__*/React.createElement("div", {
3109
- className: classNames('iris-grid-loading-status-bar', {
3110
- show: loadingSpinnerShown
3111
- })
3112
- }, loadingText), /*#__PURE__*/React.createElement("button", {
3113
- type: "button",
3114
- onClick: this.handleCancel,
3115
- className: classNames('iris-grid-btn-cancel', {
3116
- show: loadingSpinnerShown
3117
- })
3118
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
3119
- icon: vsClose,
3120
- transform: "down-1"
3121
- }), "Cancel"));
3115
+ var loadingStatus = /*#__PURE__*/_jsxs("div", {
3116
+ className: "iris-grid-loading-status",
3117
+ children: [/*#__PURE__*/_jsx("div", {
3118
+ className: classNames('iris-grid-loading-status-bar', {
3119
+ show: loadingSpinnerShown
3120
+ }),
3121
+ children: loadingText
3122
+ }), /*#__PURE__*/_jsxs("button", {
3123
+ type: "button",
3124
+ onClick: this.handleCancel,
3125
+ className: classNames('iris-grid-btn-cancel', {
3126
+ show: loadingSpinnerShown
3127
+ }),
3128
+ children: [/*#__PURE__*/_jsx(FontAwesomeIcon, {
3129
+ icon: vsClose,
3130
+ transform: "down-1"
3131
+ }), "Cancel"]
3132
+ })]
3133
+ });
3122
3134
  var _gridY = metrics ? metrics.gridY : 0;
3123
- loadingElement = /*#__PURE__*/React.createElement("div", {
3135
+ loadingElement = /*#__PURE__*/_jsx("div", {
3124
3136
  className: "iris-grid-loading",
3125
3137
  style: {
3126
3138
  top: _gridY
3127
- }
3128
- }, loadingStatus);
3139
+ },
3140
+ children: loadingStatus
3141
+ });
3129
3142
  }
3130
3143
  var columnTooltip = null;
3131
3144
  if (shownColumnTooltip != null && metrics) {
@@ -3164,45 +3177,47 @@ export class IrisGrid extends Component {
3164
3177
  var _advancedFilter = advancedFilters.get(modelColumn);
3165
3178
  var isFilterSet = _advancedFilter != null;
3166
3179
  var isFilterVisible = columnIndex === hoverAdvancedFilter || columnIndex === focusedFilterBarColumn || isFilterSet;
3167
- var element = /*#__PURE__*/React.createElement("div", {
3180
+ var element = /*#__PURE__*/_jsx("div", {
3168
3181
  className: classNames('advanced-filter-button-container', {
3169
3182
  hidden: !isFilterVisible
3170
3183
  }),
3171
- key: columnIndex,
3172
- style: _style
3173
- }, isFilterVisible && /*#__PURE__*/React.createElement(Button, {
3174
- kind: "ghost",
3175
- className: classNames('btn-link-icon advanced-filter-button', {
3176
- 'filter-set': isFilterSet
3177
- }),
3178
- onClick: () => {
3179
- _this6.setState({
3180
- shownAdvancedFilter: columnIndex
3181
- });
3182
- },
3183
- onContextMenu: event => {
3184
- var _this6$grid;
3185
- (_this6$grid = _this6.grid) === null || _this6$grid === void 0 ? void 0 : _this6$grid.handleContextMenu(event);
3186
- },
3187
- onMouseEnter: () => {
3188
- _this6.setState({
3189
- hoverAdvancedFilter: columnIndex
3190
- });
3191
- },
3192
- onMouseLeave: () => {
3193
- _this6.setState({
3194
- hoverAdvancedFilter: null
3195
- });
3196
- }
3197
- }, /*#__PURE__*/React.createElement("div", {
3198
- className: "fa-layers"
3199
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
3200
- icon: dhFilterFilled,
3201
- className: "filter-solid"
3202
- }), /*#__PURE__*/React.createElement(FontAwesomeIcon, {
3203
- icon: vsFilter,
3204
- className: "filter-light"
3205
- }))));
3184
+ style: _style,
3185
+ children: isFilterVisible && /*#__PURE__*/_jsx(Button, {
3186
+ kind: "ghost",
3187
+ className: classNames('btn-link-icon advanced-filter-button', {
3188
+ 'filter-set': isFilterSet
3189
+ }),
3190
+ onClick: () => {
3191
+ _this6.setState({
3192
+ shownAdvancedFilter: columnIndex
3193
+ });
3194
+ },
3195
+ onContextMenu: event => {
3196
+ var _this6$grid;
3197
+ (_this6$grid = _this6.grid) === null || _this6$grid === void 0 ? void 0 : _this6$grid.handleContextMenu(event);
3198
+ },
3199
+ onMouseEnter: () => {
3200
+ _this6.setState({
3201
+ hoverAdvancedFilter: columnIndex
3202
+ });
3203
+ },
3204
+ onMouseLeave: () => {
3205
+ _this6.setState({
3206
+ hoverAdvancedFilter: null
3207
+ });
3208
+ },
3209
+ children: /*#__PURE__*/_jsxs("div", {
3210
+ className: "fa-layers",
3211
+ children: [/*#__PURE__*/_jsx(FontAwesomeIcon, {
3212
+ icon: dhFilterFilled,
3213
+ className: "filter-solid"
3214
+ }), /*#__PURE__*/_jsx(FontAwesomeIcon, {
3215
+ icon: vsFilter,
3216
+ className: "filter-light"
3217
+ })]
3218
+ })
3219
+ })
3220
+ }, columnIndex);
3206
3221
  filterBar.push(element);
3207
3222
  }
3208
3223
  }
@@ -3255,23 +3270,24 @@ export class IrisGrid extends Component {
3255
3270
  } = _advancedFilter2 || {};
3256
3271
  var sort = TableUtils.getSortForColumn(model.sort, _column4.name);
3257
3272
  var sortDirection = sort ? sort.direction : null;
3258
- var element = /*#__PURE__*/React.createElement("div", {
3259
- key: columnIndex,
3273
+ var element = /*#__PURE__*/_jsx("div", {
3260
3274
  className: "advanced-filter-menu-container",
3261
- style: _style2
3262
- }, /*#__PURE__*/React.createElement(Popper, {
3263
- className: "advanced-filter-menu-popper",
3264
- onEntered: _this6.getAdvancedMenuOpenedHandler(columnIndex),
3265
- onExited: () => {
3266
- _this6.handleAdvancedMenuClosed(columnIndex);
3267
- },
3268
- isShown: shownAdvancedFilter === columnIndex,
3269
- interactive: true,
3270
- closeOnBlur: true,
3271
- options: {
3272
- positionFixed: true
3273
- }
3274
- }, _this6.getCachedAdvancedFilterMenuActions(model, _column4, advancedFilterOptions, sortDirection, formatter)));
3275
+ style: _style2,
3276
+ children: /*#__PURE__*/_jsx(Popper, {
3277
+ className: "advanced-filter-menu-popper",
3278
+ onEntered: _this6.getAdvancedMenuOpenedHandler(columnIndex),
3279
+ onExited: () => {
3280
+ _this6.handleAdvancedMenuClosed(columnIndex);
3281
+ },
3282
+ isShown: shownAdvancedFilter === columnIndex,
3283
+ interactive: true,
3284
+ closeOnBlur: true,
3285
+ options: {
3286
+ positionFixed: true
3287
+ },
3288
+ children: _this6.getCachedAdvancedFilterMenuActions(model, _column4, advancedFilterOptions, sortDirection, formatter)
3289
+ })
3290
+ }, columnIndex);
3275
3291
  advancedFilterMenus.push(element);
3276
3292
  }
3277
3293
  }
@@ -3286,14 +3302,13 @@ export class IrisGrid extends Component {
3286
3302
  var openOptionsStack = openOptions.map(option => {
3287
3303
  switch (option.type) {
3288
3304
  case OptionType.CHART_BUILDER:
3289
- return /*#__PURE__*/React.createElement(ChartBuilder, {
3305
+ return /*#__PURE__*/_jsx(ChartBuilder, {
3290
3306
  model: model,
3291
3307
  onChange: this.handleChartChange,
3292
- onSubmit: this.handleChartCreate,
3293
- key: OptionType.CHART_BUILDER
3294
- });
3308
+ onSubmit: this.handleChartCreate
3309
+ }, OptionType.CHART_BUILDER);
3295
3310
  case OptionType.VISIBILITY_ORDERING_BUILDER:
3296
- return /*#__PURE__*/React.createElement(VisibilityOrderingBuilder, {
3311
+ return /*#__PURE__*/_jsx(VisibilityOrderingBuilder, {
3297
3312
  model: model,
3298
3313
  movedColumns: movedColumns,
3299
3314
  hiddenColumns: hiddenColumns,
@@ -3301,11 +3316,10 @@ export class IrisGrid extends Component {
3301
3316
  onColumnVisibilityChanged: this.handleColumnVisibilityChanged,
3302
3317
  onReset: this.handleColumnVisibilityReset,
3303
3318
  onMovedColumnsChanged: this.handleMovedColumnsChanged,
3304
- onColumnHeaderGroupChanged: this.handleHeaderGroupsChanged,
3305
- key: OptionType.VISIBILITY_ORDERING_BUILDER
3306
- });
3319
+ onColumnHeaderGroupChanged: this.handleHeaderGroupsChanged
3320
+ }, OptionType.VISIBILITY_ORDERING_BUILDER);
3307
3321
  case OptionType.CONDITIONAL_FORMATTING:
3308
- return /*#__PURE__*/React.createElement(ConditionalFormattingMenu, {
3322
+ return /*#__PURE__*/_jsx(ConditionalFormattingMenu, {
3309
3323
  rules: conditionalFormats,
3310
3324
  onChange: this.handleConditionalFormatsChange,
3311
3325
  onCreate: this.handleConditionalFormatCreate,
@@ -3314,7 +3328,7 @@ export class IrisGrid extends Component {
3314
3328
  case OptionType.CONDITIONAL_FORMATTING_EDIT:
3315
3329
  assertNotNull(model.columns);
3316
3330
  assertNotNull(this.handleConditionalFormatEditorUpdate);
3317
- return /*#__PURE__*/React.createElement(ConditionalFormatEditor, {
3331
+ return /*#__PURE__*/_jsx(ConditionalFormatEditor, {
3318
3332
  dh: model.dh,
3319
3333
  columns: model.columns,
3320
3334
  rule: conditionalFormatPreview,
@@ -3323,35 +3337,33 @@ export class IrisGrid extends Component {
3323
3337
  onCancel: this.handleConditionalFormatEditorCancel
3324
3338
  });
3325
3339
  case OptionType.CUSTOM_COLUMN_BUILDER:
3326
- return /*#__PURE__*/React.createElement(CustomColumnBuilder, {
3340
+ return /*#__PURE__*/_jsx(CustomColumnBuilder, {
3327
3341
  model: model,
3328
3342
  customColumns: customColumns,
3329
3343
  onSave: this.handleUpdateCustomColumns,
3330
- onCancel: this.handleMenuBack,
3331
- key: OptionType.CUSTOM_COLUMN_BUILDER
3332
- });
3344
+ onCancel: this.handleMenuBack
3345
+ }, OptionType.CUSTOM_COLUMN_BUILDER);
3333
3346
  case OptionType.ROLLUP_ROWS:
3334
- return /*#__PURE__*/React.createElement(RollupRows, {
3347
+ return /*#__PURE__*/_jsx(RollupRows, {
3335
3348
  model: model,
3336
3349
  onChange: this.handleRollupChange,
3337
- config: rollupConfig,
3338
- key: OptionType.ROLLUP_ROWS
3339
- });
3350
+ config: rollupConfig
3351
+ }, OptionType.ROLLUP_ROWS);
3340
3352
  case OptionType.AGGREGATIONS:
3341
- return /*#__PURE__*/React.createElement(Aggregations, {
3353
+ return /*#__PURE__*/_jsx(Aggregations, {
3342
3354
  settings: aggregationSettings,
3343
3355
  isRollup: isRollup,
3344
3356
  onChange: this.handleAggregationsChange,
3345
3357
  onEdit: this.handleAggregationEdit
3346
3358
  });
3347
3359
  case OptionType.AGGREGATION_EDIT:
3348
- return selectedAggregation && /*#__PURE__*/React.createElement(AggregationEdit, {
3360
+ return selectedAggregation && /*#__PURE__*/_jsx(AggregationEdit, {
3349
3361
  aggregation: selectedAggregation,
3350
3362
  columns: model.originalColumns,
3351
3363
  onChange: this.handleAggregationChange
3352
3364
  });
3353
3365
  case OptionType.TABLE_EXPORTER:
3354
- return /*#__PURE__*/React.createElement(TableCsvExporter, {
3366
+ return /*#__PURE__*/_jsx(TableCsvExporter, {
3355
3367
  model: model,
3356
3368
  name: name,
3357
3369
  userColumnWidths: userColumnWidths,
@@ -3363,17 +3375,16 @@ export class IrisGrid extends Component {
3363
3375
  onDownload: this.handleDownloadTable,
3364
3376
  onDownloadStart: this.handleDownloadTableStart,
3365
3377
  onCancel: this.handleCancelDownloadTable,
3366
- selectedRanges: selectedRanges,
3367
- key: OptionType.TABLE_EXPORTER
3368
- });
3378
+ selectedRanges: selectedRanges
3379
+ }, OptionType.TABLE_EXPORTER);
3369
3380
  case OptionType.SELECT_DISTINCT:
3370
- return /*#__PURE__*/React.createElement(SelectDistinctBuilder, {
3381
+ return /*#__PURE__*/_jsx(SelectDistinctBuilder, {
3371
3382
  model: model,
3372
3383
  selectDistinctColumns: selectDistinctColumns,
3373
3384
  onChange: this.handleSelectDistinctChanged
3374
3385
  });
3375
3386
  case OptionType.ADVANCED_SETTINGS:
3376
- return /*#__PURE__*/React.createElement(AdvancedSettingsMenu, {
3387
+ return /*#__PURE__*/_jsx(AdvancedSettingsMenu, {
3377
3388
  items: advancedSettings,
3378
3389
  onChange: onAdvancedSettingsChange
3379
3390
  });
@@ -3381,199 +3392,215 @@ export class IrisGrid extends Component {
3381
3392
  throw Error("Unexpected option type ".concat(option.type));
3382
3393
  }
3383
3394
  });
3384
- return /*#__PURE__*/React.createElement("div", {
3395
+ return /*#__PURE__*/_jsxs("div", {
3385
3396
  className: "iris-grid",
3386
- role: "presentation"
3387
- }, /*#__PURE__*/React.createElement("div", {
3388
- className: "iris-grid-column"
3389
- }, children != null && /*#__PURE__*/React.createElement("div", {
3390
- className: "iris-grid-bar"
3391
- }, children), /*#__PURE__*/React.createElement(CSSTransition, {
3392
- in: isSelectingPartition,
3393
- timeout: ThemeExport.transitionSlowMs,
3394
- classNames: "iris-grid-bar-horizontal",
3395
- onEnter: this.handleAnimationStart,
3396
- onEntered: this.handleAnimationEnd,
3397
- onExit: this.handleAnimationStart,
3398
- onExited: this.handleAnimationEnd,
3399
- mountOnEnter: true,
3400
- unmountOnExit: true
3401
- }, /*#__PURE__*/React.createElement("div", {
3402
- className: "iris-grid-partition-selector-wrapper iris-grid-bar iris-grid-bar-primary"
3403
- }, partitionTable && partitionColumn && partition != null && /*#__PURE__*/React.createElement(IrisGridPartitionSelector, {
3404
- dh: model.dh,
3405
- table: partitionTable,
3406
- getFormattedString: (value, type, stringName) => model.displayString(value, type, stringName),
3407
- columnName: partitionColumn.name,
3408
- partition: partition,
3409
- onChange: this.handlePartitionChange,
3410
- onFetchAll: this.handlePartitionFetchAll,
3411
- onAppend: this.handlePartitionAppend,
3412
- onDone: this.handlePartitionDone
3413
- }))), /*#__PURE__*/React.createElement(CSSTransition, {
3414
- in: showSearchBar,
3415
- timeout: ThemeExport.transitionSlowMs,
3416
- classNames: "iris-grid-bar-horizontal",
3417
- onEnter: this.handleAnimationStart,
3418
- onEntered: this.handleAnimationEnd,
3419
- onExit: this.handleAnimationStart,
3420
- onExited: this.handleAnimationEnd,
3421
- mountOnEnter: true,
3422
- unmountOnExit: true
3423
- }, /*#__PURE__*/React.createElement("div", {
3424
- className: "iris-grid-bar"
3425
- }, /*#__PURE__*/React.createElement(CrossColumnSearch, {
3426
- value: searchValue,
3427
- selectedColumns: selectedSearchColumns,
3428
- invertSelection: invertSearchColumns,
3429
- onChange: this.handleCrossColumnSearch,
3430
- columns: model.columns,
3431
- ref: this.crossColumnRef
3432
- }))), /*#__PURE__*/React.createElement("div", {
3433
- className: "grid-wrapper",
3434
- ref: gridWrapper => {
3435
- this.gridWrapper = gridWrapper;
3436
- }
3437
- }, /*#__PURE__*/React.createElement(Grid, {
3438
- ref: grid => {
3439
- this.grid = grid;
3440
- },
3441
- isStickyBottom: !isEditableGridModel(model) || !model.isEditable,
3442
- isStuckToBottom: isStuckToBottom,
3443
- isStuckToRight: isStuckToRight,
3444
- metricCalculator: metricCalculator,
3445
- model: model,
3446
- keyHandlers: keyHandlers,
3447
- mouseHandlers: mouseHandlers,
3448
- movedColumns: movedColumns,
3449
- movedRows: movedRows,
3450
- onError: this.handleGridError,
3451
- onViewChanged: this.handleViewChanged,
3452
- onSelectionChanged: this.handleSelectionChanged,
3453
- onMovedColumnsChanged: this.handleMovedColumnsChanged,
3454
- renderer: this.renderer,
3455
- stateOverride: stateOverride,
3456
- theme: theme
3457
- }), /*#__PURE__*/React.createElement(IrisGridCellOverflowModal, {
3458
- isOpen: showOverflowModal,
3459
- text: overflowText,
3460
- onClose: this.handleOverflowClose
3461
- }), isVisible && /*#__PURE__*/React.createElement(IrisGridModelUpdater, {
3462
- model: model,
3463
- modelColumns: model.columns,
3464
- top: top,
3465
- bottom: bottom,
3466
- left: left,
3467
- right: right,
3468
- filter: filter,
3469
- formatter: formatter,
3470
- sorts: sorts,
3471
- reverseType: reverseType,
3472
- movedColumns: movedColumns,
3473
- customColumns: customColumns,
3474
- hiddenColumns: hiddenColumns,
3475
- alwaysFetchColumns: this.getAlwaysFetchColumns(alwaysFetchColumns, model.columns, movedColumns, model.floatingLeftColumnCount, model.floatingRightColumnCount, (_this$grid29 = this.grid) === null || _this$grid29 === void 0 ? void 0 : (_this$grid29$state$dr = _this$grid29.state.draggingColumn) === null || _this$grid29$state$dr === void 0 ? void 0 : _this$grid29$state$dr.range),
3476
- formatColumns: this.getCachedPreviewFormatColumns(model.dh, model.columns, conditionalFormats, conditionalFormatPreview,
3477
- // Disable the preview format when we press Back on the format edit page
3478
- ((_openOptions = openOptions[openOptions.length - 1]) === null || _openOptions === void 0 ? void 0 : _openOptions.type) === OptionType.CONDITIONAL_FORMATTING_EDIT ? conditionalFormatEditIndex !== null && conditionalFormatEditIndex !== void 0 ? conditionalFormatEditIndex : undefined : undefined),
3479
- rollupConfig: this.getModelRollupConfig(model.originalColumns, rollupConfig, aggregationSettings),
3480
- totalsConfig: this.getModelTotalsConfig(model.columns, rollupConfig, aggregationSettings),
3481
- selectDistinctColumns: selectDistinctColumns,
3482
- pendingRowCount: pendingRowCount,
3483
- pendingDataMap: pendingDataMap,
3484
- frozenColumns: frozenColumns,
3485
- columnHeaderGroups: columnHeaderGroups
3486
- }), !isMenuShown && /*#__PURE__*/React.createElement("div", {
3487
- className: "grid-settings-button"
3488
- }, /*#__PURE__*/React.createElement(Button, {
3489
- kind: "ghost",
3490
- "data-testid": "btn-iris-grid-settings-button-".concat(name),
3491
- onClick: this.handleMenu,
3492
- icon: /*#__PURE__*/React.createElement(FontAwesomeIcon, {
3493
- icon: vsMenu,
3494
- transform: "up-1"
3495
- }),
3496
- tooltip: "Table Options"
3497
- })), focusField, loadingElement, filterBar, columnTooltip, advancedFilterMenus, overflowButtonTooltipProps && this.getOverflowButtonTooltip(overflowButtonTooltipProps), expandCellTooltipProps && this.getExpandCellTooltip(expandCellTooltipProps), linkHoverTooltipProps && this.getLinkHoverTooltip(linkHoverTooltipProps)), /*#__PURE__*/React.createElement(GotoRow, {
3498
- model: model,
3499
- isShown: isGotoShown,
3500
- gotoRow: gotoRow,
3501
- gotoRowError: gotoRowError,
3502
- gotoValueError: gotoValueError,
3503
- onGotoRowSubmit: this.handleGotoRowSelectedRowNumberSubmit,
3504
- onGotoRowNumberChanged: this.handleGotoRowSelectedRowNumberChanged,
3505
- onClose: this.handleGotoRowClosed,
3506
- onEntering: this.handleAnimationStart,
3507
- onEntered: this.handleAnimationEnd,
3508
- onExiting: () => {
3509
- this.handleAnimationStart();
3510
- this.focus();
3511
- },
3512
- onExited: this.handleAnimationEnd,
3513
- gotoValueSelectedColumnName: gotoValueSelectedColumnName,
3514
- gotoValue: gotoValue,
3515
- gotoValueFilter: gotoValueSelectedFilter,
3516
- onGotoValueSelectedColumnNameChanged: this.handleGotoValueSelectedColumnNameChanged,
3517
- onGotoValueSelectedFilterChanged: this.handleGotoValueSelectedFilterChanged,
3518
- onGotoValueChanged: this.handleGotoValueChanged,
3519
- onGotoValueSubmit: this.handleGotoValueSubmitted
3520
- }), /*#__PURE__*/React.createElement(PendingDataBottomBar, {
3521
- error: pendingSaveError,
3522
- isSaving: pendingSavePromise != null,
3523
- saveTooltip: "Commit (".concat(this.commitAction.shortcut.getDisplayText(), ")"),
3524
- discardTooltip: "Discard (".concat(this.discardAction.shortcut.getDisplayText(), ")"),
3525
- pendingDataErrors: pendingDataErrors,
3526
- pendingDataMap: pendingDataMap,
3527
- onEntering: this.handleAnimationStart,
3528
- onEntered: this.handleAnimationEnd,
3529
- onExiting: this.handleAnimationStart,
3530
- onExited: this.handleAnimationEnd,
3531
- onSave: this.handlePendingCommitClicked,
3532
- onDiscard: this.handlePendingDiscardClicked
3533
- }), /*#__PURE__*/React.createElement(ToastBottomBar, null, toastMessage), /*#__PURE__*/React.createElement(IrisGridCopyHandler, {
3534
- model: model,
3535
- copyOperation: copyOperation !== null && copyOperation !== void 0 ? copyOperation : undefined,
3536
- onEntering: this.handleAnimationStart,
3537
- onEntered: this.handleAnimationEnd,
3538
- onExiting: this.handleAnimationStart,
3539
- onExited: this.handleAnimationEnd
3540
- }), /*#__PURE__*/React.createElement(TableSaver, {
3541
- dh: model.dh,
3542
- ref: tableSaver => {
3543
- this.tableSaver = tableSaver;
3544
- },
3545
- getDownloadWorker: getDownloadWorker,
3546
- onDownloadCompleted: this.handleDownloadCompleted,
3547
- onDownloadCanceled: this.handleDownloadCanceled,
3548
- onDownloadProgressUpdate: this.handleDownloadProgressUpdate,
3549
- isDownloading: tableDownloadStatus === TableCsvExporter.DOWNLOAD_STATUS.DOWNLOADING,
3550
- formatter: formatter
3551
- })), /*#__PURE__*/React.createElement(CSSTransition, {
3552
- in: isMenuShown,
3553
- timeout: ThemeExport.transitionMidMs,
3554
- classNames: "slide-left",
3555
- onEntering: this.handleAnimationStart,
3556
- onEntered: this.handleAnimationEnd,
3557
- onExiting: this.handleAnimationStart,
3558
- onExited: this.handleAnimationEnd,
3559
- mountOnEnter: true,
3560
- unmountOnExit: true
3561
- }, /*#__PURE__*/React.createElement("div", {
3562
- className: "table-sidebar"
3563
- }, /*#__PURE__*/React.createElement(Stack, null, /*#__PURE__*/React.createElement(Page, {
3564
- title: "Table Options",
3565
- onClose: this.handleMenuClose
3566
- }, /*#__PURE__*/React.createElement(Menu, {
3567
- onSelect: i => this.handleMenuSelect(optionItems[i]),
3568
- items: optionItems
3569
- })), openOptionsStack.map((option, i) => /*#__PURE__*/React.createElement(Page, {
3570
- title: openOptions[i].title,
3571
- onBack: this.handleMenuBack,
3572
- onClose: this.handleMenuClose,
3573
- key: openOptions[i].type
3574
- }, option))))), /*#__PURE__*/React.createElement(ContextActions, {
3575
- actions: this.contextActions
3576
- }));
3397
+ role: "presentation",
3398
+ children: [/*#__PURE__*/_jsxs("div", {
3399
+ className: "iris-grid-column",
3400
+ children: [children != null && /*#__PURE__*/_jsx("div", {
3401
+ className: "iris-grid-bar",
3402
+ children: children
3403
+ }), /*#__PURE__*/_jsx(CSSTransition, {
3404
+ in: isSelectingPartition,
3405
+ timeout: ThemeExport.transitionSlowMs,
3406
+ classNames: "iris-grid-bar-horizontal",
3407
+ onEnter: this.handleAnimationStart,
3408
+ onEntered: this.handleAnimationEnd,
3409
+ onExit: this.handleAnimationStart,
3410
+ onExited: this.handleAnimationEnd,
3411
+ mountOnEnter: true,
3412
+ unmountOnExit: true,
3413
+ children: /*#__PURE__*/_jsx("div", {
3414
+ className: "iris-grid-partition-selector-wrapper iris-grid-bar iris-grid-bar-primary",
3415
+ children: partitionTable && partitionColumn && partition != null && /*#__PURE__*/_jsx(IrisGridPartitionSelector, {
3416
+ dh: model.dh,
3417
+ table: partitionTable,
3418
+ getFormattedString: (value, type, stringName) => model.displayString(value, type, stringName),
3419
+ columnName: partitionColumn.name,
3420
+ partition: partition,
3421
+ onChange: this.handlePartitionChange,
3422
+ onFetchAll: this.handlePartitionFetchAll,
3423
+ onAppend: this.handlePartitionAppend,
3424
+ onDone: this.handlePartitionDone
3425
+ })
3426
+ })
3427
+ }), /*#__PURE__*/_jsx(CSSTransition, {
3428
+ in: showSearchBar,
3429
+ timeout: ThemeExport.transitionSlowMs,
3430
+ classNames: "iris-grid-bar-horizontal",
3431
+ onEnter: this.handleAnimationStart,
3432
+ onEntered: this.handleAnimationEnd,
3433
+ onExit: this.handleAnimationStart,
3434
+ onExited: this.handleAnimationEnd,
3435
+ mountOnEnter: true,
3436
+ unmountOnExit: true,
3437
+ children: /*#__PURE__*/_jsx("div", {
3438
+ className: "iris-grid-bar",
3439
+ children: /*#__PURE__*/_jsx(CrossColumnSearch, {
3440
+ value: searchValue,
3441
+ selectedColumns: selectedSearchColumns,
3442
+ invertSelection: invertSearchColumns,
3443
+ onChange: this.handleCrossColumnSearch,
3444
+ columns: model.columns,
3445
+ ref: this.crossColumnRef
3446
+ })
3447
+ })
3448
+ }), /*#__PURE__*/_jsxs("div", {
3449
+ className: "grid-wrapper",
3450
+ ref: gridWrapper => {
3451
+ this.gridWrapper = gridWrapper;
3452
+ },
3453
+ children: [/*#__PURE__*/_jsx(Grid, {
3454
+ ref: grid => {
3455
+ this.grid = grid;
3456
+ },
3457
+ isStickyBottom: !isEditableGridModel(model) || !model.isEditable,
3458
+ isStuckToBottom: isStuckToBottom,
3459
+ isStuckToRight: isStuckToRight,
3460
+ metricCalculator: metricCalculator,
3461
+ model: model,
3462
+ keyHandlers: keyHandlers,
3463
+ mouseHandlers: mouseHandlers,
3464
+ movedColumns: movedColumns,
3465
+ movedRows: movedRows,
3466
+ onError: this.handleGridError,
3467
+ onViewChanged: this.handleViewChanged,
3468
+ onSelectionChanged: this.handleSelectionChanged,
3469
+ onMovedColumnsChanged: this.handleMovedColumnsChanged,
3470
+ renderer: this.renderer,
3471
+ stateOverride: stateOverride,
3472
+ theme: theme
3473
+ }), /*#__PURE__*/_jsx(IrisGridCellOverflowModal, {
3474
+ isOpen: showOverflowModal,
3475
+ text: overflowText,
3476
+ onClose: this.handleOverflowClose
3477
+ }), isVisible && /*#__PURE__*/_jsx(IrisGridModelUpdater, {
3478
+ model: model,
3479
+ modelColumns: model.columns,
3480
+ top: top,
3481
+ bottom: bottom,
3482
+ left: left,
3483
+ right: right,
3484
+ filter: filter,
3485
+ formatter: formatter,
3486
+ sorts: sorts,
3487
+ reverseType: reverseType,
3488
+ movedColumns: movedColumns,
3489
+ customColumns: customColumns,
3490
+ hiddenColumns: hiddenColumns,
3491
+ alwaysFetchColumns: this.getAlwaysFetchColumns(alwaysFetchColumns, model.columns, movedColumns, model.floatingLeftColumnCount, model.floatingRightColumnCount, (_this$grid29 = this.grid) === null || _this$grid29 === void 0 ? void 0 : (_this$grid29$state$dr = _this$grid29.state.draggingColumn) === null || _this$grid29$state$dr === void 0 ? void 0 : _this$grid29$state$dr.range),
3492
+ formatColumns: this.getCachedPreviewFormatColumns(model.dh, model.columns, conditionalFormats, conditionalFormatPreview,
3493
+ // Disable the preview format when we press Back on the format edit page
3494
+ ((_openOptions = openOptions[openOptions.length - 1]) === null || _openOptions === void 0 ? void 0 : _openOptions.type) === OptionType.CONDITIONAL_FORMATTING_EDIT ? conditionalFormatEditIndex !== null && conditionalFormatEditIndex !== void 0 ? conditionalFormatEditIndex : undefined : undefined),
3495
+ rollupConfig: this.getModelRollupConfig(model.originalColumns, rollupConfig, aggregationSettings),
3496
+ totalsConfig: this.getModelTotalsConfig(model.columns, rollupConfig, aggregationSettings),
3497
+ selectDistinctColumns: selectDistinctColumns,
3498
+ pendingRowCount: pendingRowCount,
3499
+ pendingDataMap: pendingDataMap,
3500
+ frozenColumns: frozenColumns,
3501
+ columnHeaderGroups: columnHeaderGroups
3502
+ }), !isMenuShown && /*#__PURE__*/_jsx("div", {
3503
+ className: "grid-settings-button",
3504
+ children: /*#__PURE__*/_jsx(Button, {
3505
+ kind: "ghost",
3506
+ "data-testid": "btn-iris-grid-settings-button-".concat(name),
3507
+ onClick: this.handleMenu,
3508
+ icon: /*#__PURE__*/_jsx(FontAwesomeIcon, {
3509
+ icon: vsMenu,
3510
+ transform: "up-1"
3511
+ }),
3512
+ tooltip: "Table Options"
3513
+ })
3514
+ }), focusField, loadingElement, filterBar, columnTooltip, advancedFilterMenus, overflowButtonTooltipProps && this.getOverflowButtonTooltip(overflowButtonTooltipProps), expandCellTooltipProps && this.getExpandCellTooltip(expandCellTooltipProps), linkHoverTooltipProps && this.getLinkHoverTooltip(linkHoverTooltipProps)]
3515
+ }), /*#__PURE__*/_jsx(GotoRow, {
3516
+ model: model,
3517
+ isShown: isGotoShown,
3518
+ gotoRow: gotoRow,
3519
+ gotoRowError: gotoRowError,
3520
+ gotoValueError: gotoValueError,
3521
+ onGotoRowSubmit: this.handleGotoRowSelectedRowNumberSubmit,
3522
+ onGotoRowNumberChanged: this.handleGotoRowSelectedRowNumberChanged,
3523
+ onClose: this.handleGotoRowClosed,
3524
+ onEntering: this.handleAnimationStart,
3525
+ onEntered: this.handleAnimationEnd,
3526
+ onExiting: () => {
3527
+ this.handleAnimationStart();
3528
+ this.focus();
3529
+ },
3530
+ onExited: this.handleAnimationEnd,
3531
+ gotoValueSelectedColumnName: gotoValueSelectedColumnName,
3532
+ gotoValue: gotoValue,
3533
+ gotoValueFilter: gotoValueSelectedFilter,
3534
+ onGotoValueSelectedColumnNameChanged: this.handleGotoValueSelectedColumnNameChanged,
3535
+ onGotoValueSelectedFilterChanged: this.handleGotoValueSelectedFilterChanged,
3536
+ onGotoValueChanged: this.handleGotoValueChanged,
3537
+ onGotoValueSubmit: this.handleGotoValueSubmitted
3538
+ }), /*#__PURE__*/_jsx(PendingDataBottomBar, {
3539
+ error: pendingSaveError,
3540
+ isSaving: pendingSavePromise != null,
3541
+ saveTooltip: "Commit (".concat(this.commitAction.shortcut.getDisplayText(), ")"),
3542
+ discardTooltip: "Discard (".concat(this.discardAction.shortcut.getDisplayText(), ")"),
3543
+ pendingDataErrors: pendingDataErrors,
3544
+ pendingDataMap: pendingDataMap,
3545
+ onEntering: this.handleAnimationStart,
3546
+ onEntered: this.handleAnimationEnd,
3547
+ onExiting: this.handleAnimationStart,
3548
+ onExited: this.handleAnimationEnd,
3549
+ onSave: this.handlePendingCommitClicked,
3550
+ onDiscard: this.handlePendingDiscardClicked
3551
+ }), /*#__PURE__*/_jsx(ToastBottomBar, {
3552
+ children: toastMessage
3553
+ }), /*#__PURE__*/_jsx(IrisGridCopyHandler, {
3554
+ model: model,
3555
+ copyOperation: copyOperation !== null && copyOperation !== void 0 ? copyOperation : undefined,
3556
+ onEntering: this.handleAnimationStart,
3557
+ onEntered: this.handleAnimationEnd,
3558
+ onExiting: this.handleAnimationStart,
3559
+ onExited: this.handleAnimationEnd
3560
+ }), /*#__PURE__*/_jsx(TableSaver, {
3561
+ dh: model.dh,
3562
+ ref: tableSaver => {
3563
+ this.tableSaver = tableSaver;
3564
+ },
3565
+ getDownloadWorker: getDownloadWorker,
3566
+ onDownloadCompleted: this.handleDownloadCompleted,
3567
+ onDownloadCanceled: this.handleDownloadCanceled,
3568
+ onDownloadProgressUpdate: this.handleDownloadProgressUpdate,
3569
+ isDownloading: tableDownloadStatus === TableCsvExporter.DOWNLOAD_STATUS.DOWNLOADING,
3570
+ formatter: formatter
3571
+ })]
3572
+ }), /*#__PURE__*/_jsx(CSSTransition, {
3573
+ in: isMenuShown,
3574
+ timeout: ThemeExport.transitionMidMs,
3575
+ classNames: "slide-left",
3576
+ onEntering: this.handleAnimationStart,
3577
+ onEntered: this.handleAnimationEnd,
3578
+ onExiting: this.handleAnimationStart,
3579
+ onExited: this.handleAnimationEnd,
3580
+ mountOnEnter: true,
3581
+ unmountOnExit: true,
3582
+ children: /*#__PURE__*/_jsx("div", {
3583
+ className: "table-sidebar",
3584
+ children: /*#__PURE__*/_jsxs(Stack, {
3585
+ children: [/*#__PURE__*/_jsx(Page, {
3586
+ title: "Table Options",
3587
+ onClose: this.handleMenuClose,
3588
+ children: /*#__PURE__*/_jsx(Menu, {
3589
+ onSelect: i => this.handleMenuSelect(optionItems[i]),
3590
+ items: optionItems
3591
+ })
3592
+ }), openOptionsStack.map((option, i) => /*#__PURE__*/_jsx(Page, {
3593
+ title: openOptions[i].title,
3594
+ onBack: this.handleMenuBack,
3595
+ onClose: this.handleMenuClose,
3596
+ children: option
3597
+ }, openOptions[i].type))]
3598
+ })
3599
+ })
3600
+ }), /*#__PURE__*/_jsx(ContextActions, {
3601
+ actions: this.contextActions
3602
+ })]
3603
+ });
3577
3604
  }
3578
3605
  }
3579
3606
  _defineProperty(IrisGrid, "minDebounce", 150);