@deephaven/iris-grid 0.22.3-deep-bot-test.14 → 0.23.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 (236) hide show
  1. package/dist/AdvancedFilterCreator.d.ts +1 -1
  2. package/dist/AdvancedFilterCreator.d.ts.map +1 -1
  3. package/dist/AdvancedFilterCreator.js +7 -65
  4. package/dist/AdvancedFilterCreator.js.map +1 -1
  5. package/dist/AdvancedFilterCreatorFilterItem.d.ts +1 -1
  6. package/dist/AdvancedFilterCreatorFilterItem.d.ts.map +1 -1
  7. package/dist/AdvancedFilterCreatorFilterItem.js +0 -23
  8. package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
  9. package/dist/AdvancedFilterCreatorSelectValue.js +0 -52
  10. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  11. package/dist/AdvancedFilterCreatorSelectValueList.d.ts +1 -5
  12. package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
  13. package/dist/AdvancedFilterCreatorSelectValueList.js +2 -42
  14. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  15. package/dist/ColumnHeaderGroup.js +0 -11
  16. package/dist/ColumnHeaderGroup.js.map +1 -1
  17. package/dist/ColumnStatistics.js +1 -20
  18. package/dist/ColumnStatistics.js.map +1 -1
  19. package/dist/CommonTypes.d.ts +14 -14
  20. package/dist/CommonTypes.d.ts.map +1 -1
  21. package/dist/CrossColumnSearch.js +2 -23
  22. package/dist/CrossColumnSearch.js.map +1 -1
  23. package/dist/FilterInputField.js +2 -36
  24. package/dist/FilterInputField.js.map +1 -1
  25. package/dist/GotoRow.d.ts +1 -1
  26. package/dist/GotoRow.d.ts.map +1 -1
  27. package/dist/GotoRow.js +2 -7
  28. package/dist/GotoRow.js.map +1 -1
  29. package/dist/IrisGrid.d.ts +45 -39
  30. package/dist/IrisGrid.d.ts.map +1 -1
  31. package/dist/IrisGrid.js +77 -519
  32. package/dist/IrisGrid.js.map +1 -1
  33. package/dist/IrisGridBottomBar.d.ts +2 -2
  34. package/dist/IrisGridBottomBar.d.ts.map +1 -1
  35. package/dist/IrisGridBottomBar.js +2 -2
  36. package/dist/IrisGridBottomBar.js.map +1 -1
  37. package/dist/IrisGridCellOverflowModal.js +6 -21
  38. package/dist/IrisGridCellOverflowModal.js.map +1 -1
  39. package/dist/IrisGridCopyHandler.d.ts +3 -3
  40. package/dist/IrisGridCopyHandler.d.ts.map +1 -1
  41. package/dist/IrisGridCopyHandler.js +3 -50
  42. package/dist/IrisGridCopyHandler.js.map +1 -1
  43. package/dist/IrisGridMetricCalculator.js +2 -12
  44. package/dist/IrisGridMetricCalculator.js.map +1 -1
  45. package/dist/IrisGridModel.d.ts +3 -3
  46. package/dist/IrisGridModel.d.ts.map +1 -1
  47. package/dist/IrisGridModel.js +32 -58
  48. package/dist/IrisGridModel.js.map +1 -1
  49. package/dist/IrisGridModelFactory.js +0 -7
  50. package/dist/IrisGridModelFactory.js.map +1 -1
  51. package/dist/IrisGridModelUpdater.js +0 -4
  52. package/dist/IrisGridModelUpdater.js.map +1 -1
  53. package/dist/IrisGridPartitionSelector.js +0 -23
  54. package/dist/IrisGridPartitionSelector.js.map +1 -1
  55. package/dist/IrisGridProxyModel.js +9 -153
  56. package/dist/IrisGridProxyModel.js.map +1 -1
  57. package/dist/IrisGridRenderer.d.ts +1 -1
  58. package/dist/IrisGridRenderer.d.ts.map +1 -1
  59. package/dist/IrisGridRenderer.js +41 -183
  60. package/dist/IrisGridRenderer.js.map +1 -1
  61. package/dist/IrisGridShortcuts.js.map +1 -1
  62. package/dist/IrisGridTableModel.d.ts +3 -3
  63. package/dist/IrisGridTableModel.d.ts.map +1 -1
  64. package/dist/IrisGridTableModel.js +10 -90
  65. package/dist/IrisGridTableModel.js.map +1 -1
  66. package/dist/IrisGridTableModelTemplate.d.ts +3 -3
  67. package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
  68. package/dist/IrisGridTableModelTemplate.js +70 -461
  69. package/dist/IrisGridTableModelTemplate.js.map +1 -1
  70. package/dist/IrisGridTestUtils.js +0 -23
  71. package/dist/IrisGridTestUtils.js.map +1 -1
  72. package/dist/IrisGridTheme.d.ts +1 -1
  73. package/dist/IrisGridTheme.d.ts.map +1 -1
  74. package/dist/IrisGridTheme.js.map +1 -1
  75. package/dist/IrisGridTreeTableModel.js +3 -42
  76. package/dist/IrisGridTreeTableModel.js.map +1 -1
  77. package/dist/IrisGridUtils.d.ts +13 -7
  78. package/dist/IrisGridUtils.d.ts.map +1 -1
  79. package/dist/IrisGridUtils.js +98 -196
  80. package/dist/IrisGridUtils.js.map +1 -1
  81. package/dist/MissingKeyError.js +0 -7
  82. package/dist/MissingKeyError.js.map +1 -1
  83. package/dist/PartitionSelectorSearch.d.ts +2 -2
  84. package/dist/PartitionSelectorSearch.js +2 -48
  85. package/dist/PartitionSelectorSearch.js.map +1 -1
  86. package/dist/PendingDataBottomBar.d.ts +2 -2
  87. package/dist/PendingDataBottomBar.d.ts.map +1 -1
  88. package/dist/PendingDataBottomBar.js +2 -7
  89. package/dist/PendingDataBottomBar.js.map +1 -1
  90. package/dist/TableViewportUpdater.d.ts +2 -2
  91. package/dist/TableViewportUpdater.d.ts.map +1 -1
  92. package/dist/TableViewportUpdater.js +3 -29
  93. package/dist/TableViewportUpdater.js.map +1 -1
  94. package/dist/ToastBottomBar.d.ts +2 -2
  95. package/dist/ToastBottomBar.d.ts.map +1 -1
  96. package/dist/ToastBottomBar.js +2 -4
  97. package/dist/ToastBottomBar.js.map +1 -1
  98. package/dist/TreeTableViewportUpdater.js +0 -21
  99. package/dist/TreeTableViewportUpdater.js.map +1 -1
  100. package/dist/format-context-menus/CustomFormatAction.d.ts +1 -1
  101. package/dist/format-context-menus/CustomFormatAction.d.ts.map +1 -1
  102. package/dist/format-context-menus/CustomFormatAction.js +4 -25
  103. package/dist/format-context-menus/CustomFormatAction.js.map +1 -1
  104. package/dist/format-context-menus/DateTimeFormatContextMenu.js +0 -7
  105. package/dist/format-context-menus/DateTimeFormatContextMenu.js.map +1 -1
  106. package/dist/format-context-menus/DecimalFormatContextMenu.js +0 -9
  107. package/dist/format-context-menus/DecimalFormatContextMenu.js.map +1 -1
  108. package/dist/format-context-menus/FormatContextMenuUtils.js +3 -9
  109. package/dist/format-context-menus/FormatContextMenuUtils.js.map +1 -1
  110. package/dist/format-context-menus/IntegerFormatContextMenu.js +0 -8
  111. package/dist/format-context-menus/IntegerFormatContextMenu.js.map +1 -1
  112. package/dist/format-context-menus/index.js.map +1 -1
  113. package/dist/index.d.ts +3 -3
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +3 -3
  116. package/dist/index.js.map +1 -1
  117. package/dist/key-handlers/ClearFilterKeyHandler.js +0 -8
  118. package/dist/key-handlers/ClearFilterKeyHandler.js.map +1 -1
  119. package/dist/key-handlers/CopyKeyHandler.js +1 -10
  120. package/dist/key-handlers/CopyKeyHandler.js.map +1 -1
  121. package/dist/key-handlers/ReverseKeyHandler.js +0 -11
  122. package/dist/key-handlers/ReverseKeyHandler.js.map +1 -1
  123. package/dist/key-handlers/index.js.map +1 -1
  124. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js +2 -32
  125. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
  126. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +4 -34
  127. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
  128. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +0 -20
  129. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
  130. package/dist/mousehandlers/IrisGridContextMenuHandler.js +15 -105
  131. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  132. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js +0 -9
  133. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js.map +1 -1
  134. package/dist/mousehandlers/IrisGridFilterMouseHandler.js +0 -17
  135. package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
  136. package/dist/mousehandlers/IrisGridSortMouseHandler.js +2 -15
  137. package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
  138. package/dist/mousehandlers/PendingMouseHandler.js +0 -6
  139. package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
  140. package/dist/mousehandlers/index.js.map +1 -1
  141. package/dist/sidebar/AdvancedSettings.js.map +1 -1
  142. package/dist/sidebar/AdvancedSettingsMenu.d.ts +6 -6
  143. package/dist/sidebar/AdvancedSettingsMenu.d.ts.map +1 -1
  144. package/dist/sidebar/AdvancedSettingsMenu.js +2 -6
  145. package/dist/sidebar/AdvancedSettingsMenu.js.map +1 -1
  146. package/dist/sidebar/AdvancedSettingsType.js +0 -2
  147. package/dist/sidebar/AdvancedSettingsType.js.map +1 -1
  148. package/dist/sidebar/ChartBuilder.d.ts +2 -2
  149. package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
  150. package/dist/sidebar/ChartBuilder.js +2 -46
  151. package/dist/sidebar/ChartBuilder.js.map +1 -1
  152. package/dist/sidebar/CustomColumnBuilder.d.ts +2 -2
  153. package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
  154. package/dist/sidebar/CustomColumnBuilder.js +6 -58
  155. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  156. package/dist/sidebar/CustomColumnInput.js +4 -15
  157. package/dist/sidebar/CustomColumnInput.js.map +1 -1
  158. package/dist/sidebar/InputEditor.js +5 -36
  159. package/dist/sidebar/InputEditor.js.map +1 -1
  160. package/dist/sidebar/OptionType.js +0 -2
  161. package/dist/sidebar/OptionType.js.map +1 -1
  162. package/dist/sidebar/RollupRows.d.ts +3 -3
  163. package/dist/sidebar/RollupRows.d.ts.map +1 -1
  164. package/dist/sidebar/RollupRows.js +9 -65
  165. package/dist/sidebar/RollupRows.js.map +1 -1
  166. package/dist/sidebar/SelectDistinctBuilder.js +0 -13
  167. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  168. package/dist/sidebar/TableCsvExporter.js +0 -52
  169. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  170. package/dist/sidebar/TableSaver.d.ts +1 -1
  171. package/dist/sidebar/TableSaver.d.ts.map +1 -1
  172. package/dist/sidebar/TableSaver.js +10 -123
  173. package/dist/sidebar/TableSaver.js.map +1 -1
  174. package/dist/sidebar/VisibilityOrderingBuilder.d.ts +5 -4
  175. package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
  176. package/dist/sidebar/VisibilityOrderingBuilder.js +37 -116
  177. package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
  178. package/dist/sidebar/aggregations/AggregationEdit.d.ts +2 -2
  179. package/dist/sidebar/aggregations/AggregationEdit.d.ts.map +1 -1
  180. package/dist/sidebar/aggregations/AggregationEdit.js +2 -14
  181. package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
  182. package/dist/sidebar/aggregations/AggregationOperation.js +0 -2
  183. package/dist/sidebar/aggregations/AggregationOperation.js.map +1 -1
  184. package/dist/sidebar/aggregations/AggregationUtils.js +2 -5
  185. package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
  186. package/dist/sidebar/aggregations/Aggregations.d.ts +4 -4
  187. package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
  188. package/dist/sidebar/aggregations/Aggregations.js +2 -12
  189. package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
  190. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts +1 -1
  191. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts.map +1 -1
  192. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +2 -16
  193. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
  194. package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts +1 -1
  195. package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts.map +1 -1
  196. package/dist/sidebar/conditional-formatting/ConditionEditor.js +2 -35
  197. package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
  198. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts +4 -4
  199. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts.map +1 -1
  200. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +2 -12
  201. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
  202. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js +0 -3
  203. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js.map +1 -1
  204. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts +5 -5
  205. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
  206. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +16 -26
  207. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
  208. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +3 -3
  209. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
  210. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +9 -172
  211. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
  212. package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts +1 -1
  213. package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts.map +1 -1
  214. package/dist/sidebar/conditional-formatting/RowFormatEditor.js +2 -16
  215. package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
  216. package/dist/sidebar/conditional-formatting/StyleEditor.d.ts +1 -1
  217. package/dist/sidebar/conditional-formatting/StyleEditor.d.ts.map +1 -1
  218. package/dist/sidebar/conditional-formatting/StyleEditor.js +2 -12
  219. package/dist/sidebar/conditional-formatting/StyleEditor.js.map +1 -1
  220. package/dist/sidebar/icons/BarIcon.js +0 -3
  221. package/dist/sidebar/icons/BarIcon.js.map +1 -1
  222. package/dist/sidebar/icons/FormatColumnWhereIcon.js +2 -5
  223. package/dist/sidebar/icons/FormatColumnWhereIcon.js.map +1 -1
  224. package/dist/sidebar/icons/FormatRowWhereIcon.js +2 -5
  225. package/dist/sidebar/icons/FormatRowWhereIcon.js.map +1 -1
  226. package/dist/sidebar/icons/HistogramIcon.js +0 -3
  227. package/dist/sidebar/icons/HistogramIcon.js.map +1 -1
  228. package/dist/sidebar/icons/LineIcon.js +0 -3
  229. package/dist/sidebar/icons/LineIcon.js.map +1 -1
  230. package/dist/sidebar/icons/PieIcon.js +0 -3
  231. package/dist/sidebar/icons/PieIcon.js.map +1 -1
  232. package/dist/sidebar/icons/ScatterIcon.js +0 -3
  233. package/dist/sidebar/icons/ScatterIcon.js.map +1 -1
  234. package/dist/sidebar/icons/index.js.map +1 -1
  235. package/dist/sidebar/index.js.map +1 -1
  236. package/package.json +15 -15
@@ -1,5 +1,4 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  import { PureComponent } from 'react';
4
3
  import memoize from 'memoize-one';
5
4
  import throttle from 'lodash.throttle';
@@ -7,6 +6,7 @@ import { GridUtils } from '@deephaven/grid';
7
6
  import Log from '@deephaven/log';
8
7
  var log = Log.module('TableViewportUpdater');
9
8
  var UPDATE_THROTTLE = 150;
9
+
10
10
  /**
11
11
  * Updates the viewport for an Iris table, for use in a scroll pane.
12
12
  * Automatically throttles the viewport requests and buffers above and below.
@@ -15,46 +15,38 @@ var UPDATE_THROTTLE = 150;
15
15
  class TableViewportUpdater extends PureComponent {
16
16
  constructor() {
17
17
  super(...arguments);
18
-
19
18
  _defineProperty(this, "subscription", void 0);
20
-
21
19
  _defineProperty(this, "getViewportRowRange", memoize((table, top, bottom) => {
22
20
  var viewHeight = bottom - top;
23
21
  var viewportTop = Math.max(0, top - viewHeight * TableViewportUpdater.ROW_BUFFER_PAGES);
24
22
  var viewportBottom = bottom + viewHeight * TableViewportUpdater.ROW_BUFFER_PAGES;
25
23
  return [viewportTop, viewportBottom];
26
24
  }));
27
-
28
25
  _defineProperty(this, "getViewportColumns", memoize((table, left, right, movedColumns) => {
29
26
  if (left == null || right == null) {
30
27
  return null;
31
28
  }
32
-
33
29
  var viewWidth = right - left;
34
30
  var viewportLeft = Math.max(0, left - viewWidth * TableViewportUpdater.COLUMN_BUFFER_PAGES);
35
- var viewportRight = Math.min(right + viewWidth * TableViewportUpdater.COLUMN_BUFFER_PAGES, table.columns.length - 1); // Need to get all the columns from the table model now
31
+ var viewportRight = Math.min(right + viewWidth * TableViewportUpdater.COLUMN_BUFFER_PAGES, table.columns.length - 1);
36
32
 
33
+ // Need to get all the columns from the table model now
37
34
  var columns = [];
38
-
39
35
  for (var i = viewportLeft; i <= viewportRight; i += 1) {
40
36
  var modelIndex = GridUtils.getModelIndex(i, movedColumns);
41
37
  columns.push(table.columns[modelIndex]);
42
38
  }
43
-
44
39
  return columns;
45
40
  }));
46
-
47
41
  _defineProperty(this, "updateViewport", throttle((top, bottom, left, right, viewColumns) => {
48
42
  if (bottom < top) {
49
43
  log.error('Invalid viewport', top, bottom);
50
44
  return;
51
45
  }
52
-
53
46
  if (top === 0 && bottom === 0) {
54
47
  log.debug2('Ignoring 0-0 viewport');
55
48
  return;
56
49
  }
57
-
58
50
  var {
59
51
  movedColumns,
60
52
  table
@@ -62,7 +54,6 @@ class TableViewportUpdater extends PureComponent {
62
54
  var [viewportTop, viewportBottom] = this.getViewportRowRange(table, top, bottom);
63
55
  var columns = viewColumns !== null && viewColumns !== void 0 ? viewColumns : this.getViewportColumns(table, left, right, movedColumns);
64
56
  log.debug2('Setting Viewport Top:', viewportTop, 'Bottom:', viewportBottom, 'Columns:', columns);
65
-
66
57
  if (this.subscription == null) {
67
58
  log.debug2('updateViewport creating new subscription');
68
59
  this.subscription = table.setViewport(viewportTop, viewportBottom, columns);
@@ -76,7 +67,6 @@ class TableViewportUpdater extends PureComponent {
76
67
  }
77
68
  }, UPDATE_THROTTLE));
78
69
  }
79
-
80
70
  componentDidMount() {
81
71
  var {
82
72
  top,
@@ -94,7 +84,6 @@ class TableViewportUpdater extends PureComponent {
94
84
  table.applyCustomColumns(customColumns);
95
85
  this.updateViewport(top, bottom, left, right, columns);
96
86
  }
97
-
98
87
  componentDidUpdate(prevProps) {
99
88
  var {
100
89
  top,
@@ -111,36 +100,28 @@ class TableViewportUpdater extends PureComponent {
111
100
  var isSortChanged = sorts !== prevProps.sorts;
112
101
  var isCustomColumnsChanged = customColumns !== prevProps.customColumns;
113
102
  var isTableChanged = table !== prevProps.table;
114
-
115
103
  if (isFilterChanged || isSortChanged || isCustomColumnsChanged || isTableChanged) {
116
104
  this.closeSubscription();
117
105
  }
118
-
119
106
  if (isFilterChanged || isTableChanged) {
120
107
  log.debug('update table filter', filters);
121
108
  table.applyFilter(filters);
122
109
  }
123
-
124
110
  if (isSortChanged || isTableChanged) {
125
111
  log.debug('update table sort', sorts);
126
112
  table.applySort(sorts);
127
113
  }
128
-
129
114
  if (isCustomColumnsChanged || isTableChanged) {
130
115
  log.debug('update table custom columns', customColumns);
131
116
  table.applyCustomColumns(customColumns);
132
117
  }
133
-
134
118
  this.updateViewport(top, bottom, left, right, columns);
135
119
  }
136
-
137
120
  componentWillUnmount() {
138
121
  this.closeSubscription();
139
122
  }
140
-
141
123
  closeSubscription() {
142
124
  log.debug2('closeSubscription', this.subscription);
143
-
144
125
  if (this.subscription) {
145
126
  this.subscription.close();
146
127
  this.subscription = undefined;
@@ -149,20 +130,14 @@ class TableViewportUpdater extends PureComponent {
149
130
  } = this.props;
150
131
  onSubscription();
151
132
  }
152
-
153
133
  this.updateViewport.cancel();
154
134
  }
155
-
156
135
  render() {
157
136
  return null;
158
137
  }
159
-
160
138
  }
161
-
162
139
  _defineProperty(TableViewportUpdater, "ROW_BUFFER_PAGES", 3);
163
-
164
140
  _defineProperty(TableViewportUpdater, "COLUMN_BUFFER_PAGES", 1);
165
-
166
141
  _defineProperty(TableViewportUpdater, "defaultProps", {
167
142
  top: 0,
168
143
  bottom: 0,
@@ -175,6 +150,5 @@ _defineProperty(TableViewportUpdater, "defaultProps", {
175
150
  customColumns: [],
176
151
  movedColumns: []
177
152
  });
178
-
179
153
  export default TableViewportUpdater;
180
154
  //# sourceMappingURL=TableViewportUpdater.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableViewportUpdater.js","names":["PureComponent","memoize","throttle","GridUtils","Log","log","module","UPDATE_THROTTLE","TableViewportUpdater","table","top","bottom","viewHeight","viewportTop","Math","max","ROW_BUFFER_PAGES","viewportBottom","left","right","movedColumns","viewWidth","viewportLeft","COLUMN_BUFFER_PAGES","viewportRight","min","columns","length","i","modelIndex","getModelIndex","push","viewColumns","error","debug2","props","getViewportRowRange","getViewportColumns","subscription","setViewport","onSubscription","componentDidMount","filters","sorts","customColumns","applyFilter","applySort","applyCustomColumns","updateViewport","componentDidUpdate","prevProps","isFilterChanged","isSortChanged","isCustomColumnsChanged","isTableChanged","closeSubscription","debug","componentWillUnmount","close","undefined","cancel","render"],"sources":["../src/TableViewportUpdater.tsx"],"sourcesContent":["import { PureComponent } from 'react';\nimport memoize from 'memoize-one';\nimport throttle from 'lodash.throttle';\nimport { GridUtils, MoveOperation } from '@deephaven/grid';\nimport {\n Column,\n FilterCondition,\n Sort,\n Table,\n TableViewportSubscription,\n} from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport { ColumnName } from './CommonTypes';\n\nconst log = Log.module('TableViewportUpdater');\n\nconst UPDATE_THROTTLE = 150;\n\n/**\n * Updates the viewport for an Iris table, for use in a scroll pane.\n * Automatically throttles the viewport requests and buffers above and below.\n */\n\ninterface TableViewportUpdaterProps {\n table: Table;\n top: number;\n bottom: number;\n left: number;\n right: number;\n columns: Column[];\n filters: FilterCondition[];\n sorts: Sort[];\n customColumns: ColumnName[];\n movedColumns: MoveOperation[];\n onSubscription: (subscription?: TableViewportSubscription) => void;\n}\n\nclass TableViewportUpdater extends PureComponent<\n TableViewportUpdaterProps,\n Record<string, never>\n> {\n // Number of pages to buffer for rows/columns\n static ROW_BUFFER_PAGES = 3;\n\n static COLUMN_BUFFER_PAGES = 1;\n\n static defaultProps = {\n top: 0,\n bottom: 0,\n left: null,\n right: null,\n columns: null,\n onSubscription: (): void => undefined,\n filters: [],\n sorts: [],\n customColumns: [],\n movedColumns: [],\n };\n\n componentDidMount(): void {\n const {\n top,\n bottom,\n left,\n right,\n table,\n filters,\n sorts,\n columns,\n customColumns,\n } = this.props;\n table.applyFilter(filters);\n table.applySort(sorts);\n table.applyCustomColumns(customColumns);\n this.updateViewport(top, bottom, left, right, columns);\n }\n\n componentDidUpdate(prevProps: TableViewportUpdaterProps): void {\n const {\n top,\n bottom,\n left,\n right,\n table,\n filters,\n sorts,\n customColumns,\n columns,\n } = this.props;\n const isFilterChanged = filters !== prevProps.filters;\n const isSortChanged = sorts !== prevProps.sorts;\n const isCustomColumnsChanged = customColumns !== prevProps.customColumns;\n const isTableChanged = table !== prevProps.table;\n if (\n isFilterChanged ||\n isSortChanged ||\n isCustomColumnsChanged ||\n isTableChanged\n ) {\n this.closeSubscription();\n }\n\n if (isFilterChanged || isTableChanged) {\n log.debug('update table filter', filters);\n table.applyFilter(filters);\n }\n\n if (isSortChanged || isTableChanged) {\n log.debug('update table sort', sorts);\n table.applySort(sorts);\n }\n\n if (isCustomColumnsChanged || isTableChanged) {\n log.debug('update table custom columns', customColumns);\n table.applyCustomColumns(customColumns);\n }\n\n this.updateViewport(top, bottom, left, right, columns);\n }\n\n componentWillUnmount(): void {\n this.closeSubscription();\n }\n\n subscription?: TableViewportSubscription;\n\n // eslint-disable-next-line class-methods-use-this\n getViewportRowRange = memoize((table, top, bottom) => {\n const viewHeight = bottom - top;\n const viewportTop = Math.max(\n 0,\n top - viewHeight * TableViewportUpdater.ROW_BUFFER_PAGES\n );\n const viewportBottom =\n bottom + viewHeight * TableViewportUpdater.ROW_BUFFER_PAGES;\n return [viewportTop, viewportBottom];\n });\n\n // eslint-disable-next-line class-methods-use-this\n getViewportColumns = memoize(\n (table, left, right, movedColumns: MoveOperation[]) => {\n if (left == null || right == null) {\n return null;\n }\n\n const viewWidth = right - left;\n const viewportLeft = Math.max(\n 0,\n left - viewWidth * TableViewportUpdater.COLUMN_BUFFER_PAGES\n );\n const viewportRight = Math.min(\n right + viewWidth * TableViewportUpdater.COLUMN_BUFFER_PAGES,\n table.columns.length - 1\n );\n\n // Need to get all the columns from the table model now\n const columns = [];\n for (let i = viewportLeft; i <= viewportRight; i += 1) {\n const modelIndex = GridUtils.getModelIndex(i, movedColumns);\n columns.push(table.columns[modelIndex]);\n }\n\n return columns;\n }\n );\n\n closeSubscription(): void {\n log.debug2('closeSubscription', this.subscription);\n if (this.subscription) {\n this.subscription.close();\n this.subscription = undefined;\n\n const { onSubscription } = this.props;\n onSubscription();\n }\n\n this.updateViewport.cancel();\n }\n\n updateViewport = throttle(\n (\n top: number,\n bottom: number,\n left: number,\n right: number,\n viewColumns: Column[]\n ): void => {\n if (bottom < top) {\n log.error('Invalid viewport', top, bottom);\n return;\n }\n\n if (top === 0 && bottom === 0) {\n log.debug2('Ignoring 0-0 viewport');\n return;\n }\n\n const { movedColumns, table } = this.props;\n const [viewportTop, viewportBottom] = this.getViewportRowRange(\n table,\n top,\n bottom\n );\n const columns =\n viewColumns ??\n this.getViewportColumns(table, left, right, movedColumns);\n log.debug2(\n 'Setting Viewport Top:',\n viewportTop,\n 'Bottom:',\n viewportBottom,\n 'Columns:',\n columns\n );\n if (this.subscription == null) {\n log.debug2('updateViewport creating new subscription');\n this.subscription = table.setViewport(\n viewportTop,\n viewportBottom,\n columns\n );\n\n const { onSubscription } = this.props;\n onSubscription(this.subscription);\n } else {\n log.debug2('updateViewport using existing subscription');\n this.subscription.setViewport(viewportTop, viewportBottom, columns);\n }\n },\n UPDATE_THROTTLE\n );\n\n render(): null {\n return null;\n }\n}\n\nexport default TableViewportUpdater;\n"],"mappings":"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"}
1
+ {"version":3,"file":"TableViewportUpdater.js","names":["PureComponent","memoize","throttle","GridUtils","Log","log","module","UPDATE_THROTTLE","TableViewportUpdater","table","top","bottom","viewHeight","viewportTop","Math","max","ROW_BUFFER_PAGES","viewportBottom","left","right","movedColumns","viewWidth","viewportLeft","COLUMN_BUFFER_PAGES","viewportRight","min","columns","length","i","modelIndex","getModelIndex","push","viewColumns","error","debug2","props","getViewportRowRange","getViewportColumns","subscription","setViewport","onSubscription","componentDidMount","filters","sorts","customColumns","applyFilter","applySort","applyCustomColumns","updateViewport","componentDidUpdate","prevProps","isFilterChanged","isSortChanged","isCustomColumnsChanged","isTableChanged","closeSubscription","debug","componentWillUnmount","close","undefined","cancel","render"],"sources":["../src/TableViewportUpdater.tsx"],"sourcesContent":["import { PureComponent } from 'react';\nimport memoize from 'memoize-one';\nimport throttle from 'lodash.throttle';\nimport { GridUtils, MoveOperation } from '@deephaven/grid';\nimport {\n Column,\n FilterCondition,\n Sort,\n Table,\n TableViewportSubscription,\n} from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport { ColumnName } from './CommonTypes';\n\nconst log = Log.module('TableViewportUpdater');\n\nconst UPDATE_THROTTLE = 150;\n\n/**\n * Updates the viewport for an Iris table, for use in a scroll pane.\n * Automatically throttles the viewport requests and buffers above and below.\n */\n\ninterface TableViewportUpdaterProps {\n table: Table;\n top: number;\n bottom: number;\n left: number;\n right: number;\n columns: Column[];\n filters: FilterCondition[];\n sorts: Sort[];\n customColumns: ColumnName[];\n movedColumns: MoveOperation[];\n onSubscription: (subscription?: TableViewportSubscription) => void;\n}\n\nclass TableViewportUpdater extends PureComponent<\n TableViewportUpdaterProps,\n Record<string, never>\n> {\n // Number of pages to buffer for rows/columns\n static ROW_BUFFER_PAGES = 3;\n\n static COLUMN_BUFFER_PAGES = 1;\n\n static defaultProps = {\n top: 0,\n bottom: 0,\n left: null,\n right: null,\n columns: null,\n onSubscription: (): void => undefined,\n filters: [],\n sorts: [],\n customColumns: [],\n movedColumns: [],\n };\n\n componentDidMount(): void {\n const {\n top,\n bottom,\n left,\n right,\n table,\n filters,\n sorts,\n columns,\n customColumns,\n } = this.props;\n table.applyFilter(filters);\n table.applySort(sorts);\n table.applyCustomColumns(customColumns);\n this.updateViewport(top, bottom, left, right, columns);\n }\n\n componentDidUpdate(prevProps: TableViewportUpdaterProps): void {\n const {\n top,\n bottom,\n left,\n right,\n table,\n filters,\n sorts,\n customColumns,\n columns,\n } = this.props;\n const isFilterChanged = filters !== prevProps.filters;\n const isSortChanged = sorts !== prevProps.sorts;\n const isCustomColumnsChanged = customColumns !== prevProps.customColumns;\n const isTableChanged = table !== prevProps.table;\n if (\n isFilterChanged ||\n isSortChanged ||\n isCustomColumnsChanged ||\n isTableChanged\n ) {\n this.closeSubscription();\n }\n\n if (isFilterChanged || isTableChanged) {\n log.debug('update table filter', filters);\n table.applyFilter(filters);\n }\n\n if (isSortChanged || isTableChanged) {\n log.debug('update table sort', sorts);\n table.applySort(sorts);\n }\n\n if (isCustomColumnsChanged || isTableChanged) {\n log.debug('update table custom columns', customColumns);\n table.applyCustomColumns(customColumns);\n }\n\n this.updateViewport(top, bottom, left, right, columns);\n }\n\n componentWillUnmount(): void {\n this.closeSubscription();\n }\n\n subscription?: TableViewportSubscription;\n\n // eslint-disable-next-line class-methods-use-this\n getViewportRowRange = memoize((table: Table, top: number, bottom: number) => {\n const viewHeight = bottom - top;\n const viewportTop = Math.max(\n 0,\n top - viewHeight * TableViewportUpdater.ROW_BUFFER_PAGES\n );\n const viewportBottom =\n bottom + viewHeight * TableViewportUpdater.ROW_BUFFER_PAGES;\n return [viewportTop, viewportBottom];\n });\n\n // eslint-disable-next-line class-methods-use-this\n getViewportColumns = memoize(\n (\n table: Table,\n left: number,\n right: number,\n movedColumns: MoveOperation[]\n ) => {\n if (left == null || right == null) {\n return null;\n }\n\n const viewWidth = right - left;\n const viewportLeft = Math.max(\n 0,\n left - viewWidth * TableViewportUpdater.COLUMN_BUFFER_PAGES\n );\n const viewportRight = Math.min(\n right + viewWidth * TableViewportUpdater.COLUMN_BUFFER_PAGES,\n table.columns.length - 1\n );\n\n // Need to get all the columns from the table model now\n const columns = [];\n for (let i = viewportLeft; i <= viewportRight; i += 1) {\n const modelIndex = GridUtils.getModelIndex(i, movedColumns);\n columns.push(table.columns[modelIndex]);\n }\n\n return columns;\n }\n );\n\n closeSubscription(): void {\n log.debug2('closeSubscription', this.subscription);\n if (this.subscription) {\n this.subscription.close();\n this.subscription = undefined;\n\n const { onSubscription } = this.props;\n onSubscription();\n }\n\n this.updateViewport.cancel();\n }\n\n updateViewport = throttle(\n (\n top: number,\n bottom: number,\n left: number,\n right: number,\n viewColumns: Column[]\n ): void => {\n if (bottom < top) {\n log.error('Invalid viewport', top, bottom);\n return;\n }\n\n if (top === 0 && bottom === 0) {\n log.debug2('Ignoring 0-0 viewport');\n return;\n }\n\n const { movedColumns, table } = this.props;\n const [viewportTop, viewportBottom] = this.getViewportRowRange(\n table,\n top,\n bottom\n );\n const columns =\n viewColumns ??\n this.getViewportColumns(table, left, right, movedColumns);\n log.debug2(\n 'Setting Viewport Top:',\n viewportTop,\n 'Bottom:',\n viewportBottom,\n 'Columns:',\n columns\n );\n if (this.subscription == null) {\n log.debug2('updateViewport creating new subscription');\n this.subscription = table.setViewport(\n viewportTop,\n viewportBottom,\n columns\n );\n\n const { onSubscription } = this.props;\n onSubscription(this.subscription);\n } else {\n log.debug2('updateViewport using existing subscription');\n this.subscription.setViewport(viewportTop, viewportBottom, columns);\n }\n },\n UPDATE_THROTTLE\n );\n\n render(): null {\n return null;\n }\n}\n\nexport default TableViewportUpdater;\n"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import './PendingDataBottomBar.scss';
3
- export declare type ToastBottomBarProps = {
3
+ export type ToastBottomBarProps = {
4
4
  children?: React.ReactNode;
5
5
  onEntering?: () => void;
6
6
  onEntered?: () => void;
7
7
  onExiting?: () => void;
8
8
  onExited?: () => void;
9
9
  };
10
- export declare const ToastBottomBar: ({ children, onEntering, onEntered, onExiting, onExited, }: ToastBottomBarProps) => JSX.Element;
10
+ export declare function ToastBottomBar({ children, onEntering, onEntered, onExiting, onExited, }: ToastBottomBarProps): JSX.Element;
11
11
  export default ToastBottomBar;
12
12
  //# sourceMappingURL=ToastBottomBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToastBottomBar.d.ts","sourceRoot":"","sources":["../src/ToastBottomBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,OAAO,6BAA6B,CAAC;AAIrC,oBAAY,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,cAAc,8DAMxB,mBAAmB,KAAG,WAsCxB,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"ToastBottomBar.d.ts","sourceRoot":"","sources":["../src/ToastBottomBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,OAAO,6BAA6B,CAAC;AAIrC,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAC7B,QAAe,EACf,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAsCnC;AAED,eAAe,cAAc,CAAC"}
@@ -3,7 +3,7 @@ import { usePrevious } from '@deephaven/react-hooks';
3
3
  import IrisGridBottomBar from "./IrisGridBottomBar.js";
4
4
  import "./PendingDataBottomBar.css";
5
5
  var HIDE_TIMEOUT = 3000;
6
- export var ToastBottomBar = _ref => {
6
+ export function ToastBottomBar(_ref) {
7
7
  var {
8
8
  children = null,
9
9
  onEntering,
@@ -16,11 +16,9 @@ export var ToastBottomBar = _ref => {
16
16
  var prevChildren = usePrevious(children);
17
17
  var startTimer = useCallback(() => {
18
18
  setIsShown(true);
19
-
20
19
  if (timeout.current) {
21
20
  clearTimeout(timeout.current);
22
21
  }
23
-
24
22
  timeout.current = setTimeout(() => {
25
23
  setIsShown(false);
26
24
  }, HIDE_TIMEOUT);
@@ -39,6 +37,6 @@ export var ToastBottomBar = _ref => {
39
37
  onExiting: onExiting,
40
38
  onExited: onExited
41
39
  }, children);
42
- };
40
+ }
43
41
  export default ToastBottomBar;
44
42
  //# sourceMappingURL=ToastBottomBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToastBottomBar.js","names":["React","useCallback","useEffect","useRef","useState","usePrevious","IrisGridBottomBar","HIDE_TIMEOUT","ToastBottomBar","children","onEntering","onEntered","onExiting","onExited","isShown","setIsShown","timeout","prevChildren","startTimer","current","clearTimeout","setTimeout","undefined"],"sources":["../src/ToastBottomBar.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { usePrevious } from '@deephaven/react-hooks';\nimport IrisGridBottomBar from './IrisGridBottomBar';\nimport './PendingDataBottomBar.scss';\n\nconst HIDE_TIMEOUT = 3000;\n\nexport type ToastBottomBarProps = {\n children?: React.ReactNode;\n onEntering?: () => void;\n onEntered?: () => void;\n onExiting?: () => void;\n onExited?: () => void;\n};\n\nexport const ToastBottomBar = ({\n children = null,\n onEntering,\n onEntered,\n onExiting,\n onExited,\n}: ToastBottomBarProps): JSX.Element => {\n const [isShown, setIsShown] = useState(false);\n const timeout = useRef<ReturnType<typeof setTimeout>>();\n const prevChildren = usePrevious(children);\n\n const startTimer = useCallback(() => {\n setIsShown(true);\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = setTimeout(() => {\n setIsShown(false);\n }, HIDE_TIMEOUT);\n }, [setIsShown, timeout]);\n\n useEffect(() => {\n if (prevChildren !== children && children != null) {\n startTimer();\n }\n }, [children, prevChildren, setIsShown, startTimer]);\n\n useEffect(\n () => () => (timeout.current ? clearTimeout(timeout.current) : undefined),\n []\n );\n\n return (\n <IrisGridBottomBar\n className=\"toast-bottom-bar\"\n isShown={isShown}\n onEntering={onEntering}\n onEntered={onEntered}\n onExiting={onExiting}\n onExited={onExited}\n >\n {children}\n </IrisGridBottomBar>\n );\n};\n\nexport default ToastBottomBar;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,SAA7B,EAAwCC,MAAxC,EAAgDC,QAAhD,QAAgE,OAAhE;AACA,SAASC,WAAT,QAA4B,wBAA5B;OACOC,iB;;AAGP,IAAMC,YAAY,GAAG,IAArB;AAUA,OAAO,IAAMC,cAAc,GAAG,QAMU;EAAA,IANT;IAC7BC,QAAQ,GAAG,IADkB;IAE7BC,UAF6B;IAG7BC,SAH6B;IAI7BC,SAJ6B;IAK7BC;EAL6B,CAMS;EACtC,IAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBX,QAAQ,CAAC,KAAD,CAAtC;EACA,IAAMY,OAAO,GAAGb,MAAM,EAAtB;EACA,IAAMc,YAAY,GAAGZ,WAAW,CAACI,QAAD,CAAhC;EAEA,IAAMS,UAAU,GAAGjB,WAAW,CAAC,MAAM;IACnCc,UAAU,CAAC,IAAD,CAAV;;IACA,IAAIC,OAAO,CAACG,OAAZ,EAAqB;MACnBC,YAAY,CAACJ,OAAO,CAACG,OAAT,CAAZ;IACD;;IACDH,OAAO,CAACG,OAAR,GAAkBE,UAAU,CAAC,MAAM;MACjCN,UAAU,CAAC,KAAD,CAAV;IACD,CAF2B,EAEzBR,YAFyB,CAA5B;EAGD,CAR6B,EAQ3B,CAACQ,UAAD,EAAaC,OAAb,CAR2B,CAA9B;EAUAd,SAAS,CAAC,MAAM;IACd,IAAIe,YAAY,KAAKR,QAAjB,IAA6BA,QAAQ,IAAI,IAA7C,EAAmD;MACjDS,UAAU;IACX;EACF,CAJQ,EAIN,CAACT,QAAD,EAAWQ,YAAX,EAAyBF,UAAzB,EAAqCG,UAArC,CAJM,CAAT;EAMAhB,SAAS,CACP,MAAM,MAAOc,OAAO,CAACG,OAAR,GAAkBC,YAAY,CAACJ,OAAO,CAACG,OAAT,CAA9B,GAAkDG,SADxD,EAEP,EAFO,CAAT;EAKA,oBACE,oBAAC,iBAAD;IACE,SAAS,EAAC,kBADZ;IAEE,OAAO,EAAER,OAFX;IAGE,UAAU,EAAEJ,UAHd;IAIE,SAAS,EAAEC,SAJb;IAKE,SAAS,EAAEC,SALb;IAME,QAAQ,EAAEC;EANZ,GAQGJ,QARH,CADF;AAYD,CA5CM;AA8CP,eAAeD,cAAf"}
1
+ {"version":3,"file":"ToastBottomBar.js","names":["React","useCallback","useEffect","useRef","useState","usePrevious","IrisGridBottomBar","HIDE_TIMEOUT","ToastBottomBar","children","onEntering","onEntered","onExiting","onExited","isShown","setIsShown","timeout","prevChildren","startTimer","current","clearTimeout","setTimeout","undefined"],"sources":["../src/ToastBottomBar.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { usePrevious } from '@deephaven/react-hooks';\nimport IrisGridBottomBar from './IrisGridBottomBar';\nimport './PendingDataBottomBar.scss';\n\nconst HIDE_TIMEOUT = 3000;\n\nexport type ToastBottomBarProps = {\n children?: React.ReactNode;\n onEntering?: () => void;\n onEntered?: () => void;\n onExiting?: () => void;\n onExited?: () => void;\n};\n\nexport function ToastBottomBar({\n children = null,\n onEntering,\n onEntered,\n onExiting,\n onExited,\n}: ToastBottomBarProps): JSX.Element {\n const [isShown, setIsShown] = useState(false);\n const timeout = useRef<ReturnType<typeof setTimeout>>();\n const prevChildren = usePrevious(children);\n\n const startTimer = useCallback(() => {\n setIsShown(true);\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = setTimeout(() => {\n setIsShown(false);\n }, HIDE_TIMEOUT);\n }, [setIsShown, timeout]);\n\n useEffect(() => {\n if (prevChildren !== children && children != null) {\n startTimer();\n }\n }, [children, prevChildren, setIsShown, startTimer]);\n\n useEffect(\n () => () => (timeout.current ? clearTimeout(timeout.current) : undefined),\n []\n );\n\n return (\n <IrisGridBottomBar\n className=\"toast-bottom-bar\"\n isShown={isShown}\n onEntering={onEntering}\n onEntered={onEntered}\n onExiting={onExiting}\n onExited={onExited}\n >\n {children}\n </IrisGridBottomBar>\n );\n}\n\nexport default ToastBottomBar;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACvE,SAASC,WAAW,QAAQ,wBAAwB;AAAC,OAC9CC,iBAAiB;AAAA;AAGxB,IAAMC,YAAY,GAAG,IAAI;AAUzB,OAAO,SAASC,cAAc,OAMO;EAAA,IANN;IAC7BC,QAAQ,GAAG,IAAI;IACfC,UAAU;IACVC,SAAS;IACTC,SAAS;IACTC;EACmB,CAAC;EACpB,IAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGX,QAAQ,CAAC,KAAK,CAAC;EAC7C,IAAMY,OAAO,GAAGb,MAAM,EAAiC;EACvD,IAAMc,YAAY,GAAGZ,WAAW,CAACI,QAAQ,CAAC;EAE1C,IAAMS,UAAU,GAAGjB,WAAW,CAAC,MAAM;IACnCc,UAAU,CAAC,IAAI,CAAC;IAChB,IAAIC,OAAO,CAACG,OAAO,EAAE;MACnBC,YAAY,CAACJ,OAAO,CAACG,OAAO,CAAC;IAC/B;IACAH,OAAO,CAACG,OAAO,GAAGE,UAAU,CAAC,MAAM;MACjCN,UAAU,CAAC,KAAK,CAAC;IACnB,CAAC,EAAER,YAAY,CAAC;EAClB,CAAC,EAAE,CAACQ,UAAU,EAAEC,OAAO,CAAC,CAAC;EAEzBd,SAAS,CAAC,MAAM;IACd,IAAIe,YAAY,KAAKR,QAAQ,IAAIA,QAAQ,IAAI,IAAI,EAAE;MACjDS,UAAU,EAAE;IACd;EACF,CAAC,EAAE,CAACT,QAAQ,EAAEQ,YAAY,EAAEF,UAAU,EAAEG,UAAU,CAAC,CAAC;EAEpDhB,SAAS,CACP,MAAM,MAAOc,OAAO,CAACG,OAAO,GAAGC,YAAY,CAACJ,OAAO,CAACG,OAAO,CAAC,GAAGG,SAAU,EACzE,EAAE,CACH;EAED,oBACE,oBAAC,iBAAiB;IAChB,SAAS,EAAC,kBAAkB;IAC5B,OAAO,EAAER,OAAQ;IACjB,UAAU,EAAEJ,UAAW;IACvB,SAAS,EAAEC,SAAU;IACrB,SAAS,EAAEC,SAAU;IACrB,QAAQ,EAAEC;EAAS,GAElBJ,QAAQ,CACS;AAExB;AAEA,eAAeD,cAAc"}
@@ -1,12 +1,10 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  import { PureComponent } from 'react';
4
3
  import throttle from 'lodash.throttle';
5
4
  import dh from '@deephaven/jsapi-shim';
6
5
  import Log from '@deephaven/log';
7
6
  var log = Log.module('TreeTableViewportUpdater');
8
7
  var UPDATE_THROTTLE = 150;
9
-
10
8
  /**
11
9
  * Updates the viewport of a TreeTable for use in a scroll pane.
12
10
  * Automatically throttles the viewport requests and buffers above and below.
@@ -14,20 +12,16 @@ var UPDATE_THROTTLE = 150;
14
12
  class TreeTableViewportUpdater extends PureComponent {
15
13
  constructor(props) {
16
14
  super(props);
17
-
18
15
  _defineProperty(this, "listenerCleanup", void 0);
19
-
20
16
  _defineProperty(this, "updateViewport", throttle((top, bottom) => {
21
17
  if (bottom < top) {
22
18
  log.error('Invalid viewport', top, bottom);
23
19
  return;
24
20
  }
25
-
26
21
  if (top === 0 && bottom === 0) {
27
22
  log.debug2('Ignoring 0-0 viewport');
28
23
  return;
29
24
  }
30
-
31
25
  var {
32
26
  table,
33
27
  updateInterval
@@ -36,20 +30,16 @@ class TreeTableViewportUpdater extends PureComponent {
36
30
  var viewportTop = Math.max(0, top - viewSize * 3);
37
31
  var viewportBottom = bottom + viewSize * 3 + 1;
38
32
  log.debug2('Setting Viewport Top:', viewportTop, 'Bottom:', viewportBottom, table);
39
-
40
33
  if (!this.listenerCleanup) {
41
34
  var {
42
35
  onViewportUpdate
43
36
  } = this.props;
44
37
  this.listenerCleanup = table.addEventListener(dh.TreeTable.EVENT_UPDATED, onViewportUpdate);
45
38
  }
46
-
47
39
  table.setViewport(viewportTop, viewportBottom, undefined, updateInterval);
48
40
  }, UPDATE_THROTTLE));
49
-
50
41
  this.listenerCleanup = null;
51
42
  }
52
-
53
43
  componentDidMount() {
54
44
  var {
55
45
  top,
@@ -63,7 +53,6 @@ class TreeTableViewportUpdater extends PureComponent {
63
53
  table.applySort(sorts);
64
54
  this.updateViewport(top, bottom);
65
55
  }
66
-
67
56
  componentDidUpdate(prevProps) {
68
57
  var {
69
58
  top,
@@ -72,36 +61,27 @@ class TreeTableViewportUpdater extends PureComponent {
72
61
  filters,
73
62
  sorts
74
63
  } = this.props;
75
-
76
64
  if (filters !== prevProps.filters) {
77
65
  log.debug('update table filter', filters);
78
66
  table.applyFilter(filters);
79
67
  }
80
-
81
68
  if (sorts !== prevProps.sorts) {
82
69
  log.debug('update table sort', sorts);
83
70
  table.applySort(sorts);
84
71
  }
85
-
86
72
  this.updateViewport(top, bottom);
87
73
  }
88
-
89
74
  componentWillUnmount() {
90
75
  this.updateViewport.cancel();
91
-
92
76
  if (this.listenerCleanup) {
93
77
  this.listenerCleanup();
94
78
  }
95
79
  }
96
-
97
80
  render() {
98
81
  return null;
99
82
  }
100
-
101
83
  }
102
-
103
84
  _defineProperty(TreeTableViewportUpdater, "UPDATE_INTERVAL", 1000);
104
-
105
85
  _defineProperty(TreeTableViewportUpdater, "defaultProps", {
106
86
  top: 0,
107
87
  bottom: 0,
@@ -110,6 +90,5 @@ _defineProperty(TreeTableViewportUpdater, "defaultProps", {
110
90
  sorts: [],
111
91
  updateInterval: TreeTableViewportUpdater.UPDATE_INTERVAL
112
92
  });
113
-
114
93
  export default TreeTableViewportUpdater;
115
94
  //# sourceMappingURL=TreeTableViewportUpdater.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeTableViewportUpdater.js","names":["PureComponent","throttle","dh","Log","log","module","UPDATE_THROTTLE","TreeTableViewportUpdater","constructor","props","top","bottom","error","debug2","table","updateInterval","viewSize","viewportTop","Math","max","viewportBottom","listenerCleanup","onViewportUpdate","addEventListener","TreeTable","EVENT_UPDATED","setViewport","undefined","componentDidMount","filters","sorts","debug","applyFilter","applySort","updateViewport","componentDidUpdate","prevProps","componentWillUnmount","cancel","render","UPDATE_INTERVAL"],"sources":["../src/TreeTableViewportUpdater.tsx"],"sourcesContent":["import { PureComponent } from 'react';\nimport throttle from 'lodash.throttle';\nimport dh, {\n EventListener,\n FilterCondition,\n RemoverFn,\n Sort,\n Table,\n} from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\n\nconst log = Log.module('TreeTableViewportUpdater');\n\nconst UPDATE_THROTTLE = 150;\n\ninterface TreeTableViewportUpdaterProps {\n table: Table;\n top: number;\n bottom: number;\n filters: FilterCondition[];\n sorts: Sort[];\n updateInterval: number;\n onViewportUpdate: EventListener;\n}\n\n/**\n * Updates the viewport of a TreeTable for use in a scroll pane.\n * Automatically throttles the viewport requests and buffers above and below.\n */\nclass TreeTableViewportUpdater extends PureComponent<\n TreeTableViewportUpdaterProps,\n Record<string, never>\n> {\n static UPDATE_INTERVAL = 1000;\n\n static defaultProps = {\n top: 0,\n bottom: 0,\n onViewportUpdate: (): void => undefined,\n filters: [],\n sorts: [],\n updateInterval: TreeTableViewportUpdater.UPDATE_INTERVAL,\n };\n\n constructor(props: TreeTableViewportUpdaterProps) {\n super(props);\n\n this.listenerCleanup = null;\n }\n\n componentDidMount(): void {\n const { top, bottom, table, filters, sorts } = this.props;\n log.debug('componentDidMount', this.props);\n table.applyFilter(filters);\n table.applySort(sorts);\n this.updateViewport(top, bottom);\n }\n\n componentDidUpdate(prevProps: TreeTableViewportUpdaterProps): void {\n const { top, bottom, table, filters, sorts } = this.props;\n if (filters !== prevProps.filters) {\n log.debug('update table filter', filters);\n table.applyFilter(filters);\n }\n\n if (sorts !== prevProps.sorts) {\n log.debug('update table sort', sorts);\n table.applySort(sorts);\n }\n\n this.updateViewport(top, bottom);\n }\n\n componentWillUnmount(): void {\n this.updateViewport.cancel();\n if (this.listenerCleanup) {\n this.listenerCleanup();\n }\n }\n\n listenerCleanup: RemoverFn | null;\n\n updateViewport = throttle((top: number, bottom: number): void => {\n if (bottom < top) {\n log.error('Invalid viewport', top, bottom);\n return;\n }\n\n if (top === 0 && bottom === 0) {\n log.debug2('Ignoring 0-0 viewport');\n return;\n }\n\n const { table, updateInterval } = this.props;\n const viewSize = bottom - top;\n const viewportTop = Math.max(0, top - viewSize * 3);\n const viewportBottom = bottom + viewSize * 3 + 1;\n log.debug2(\n 'Setting Viewport Top:',\n viewportTop,\n 'Bottom:',\n viewportBottom,\n table\n );\n\n if (!this.listenerCleanup) {\n const { onViewportUpdate } = this.props;\n this.listenerCleanup = table.addEventListener(\n dh.TreeTable.EVENT_UPDATED,\n onViewportUpdate\n );\n }\n\n table.setViewport(viewportTop, viewportBottom, undefined, updateInterval);\n }, UPDATE_THROTTLE);\n\n render(): null {\n return null;\n }\n}\n\nexport default TreeTableViewportUpdater;\n"],"mappings":"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"}
1
+ {"version":3,"file":"TreeTableViewportUpdater.js","names":["PureComponent","throttle","dh","Log","log","module","UPDATE_THROTTLE","TreeTableViewportUpdater","constructor","props","top","bottom","error","debug2","table","updateInterval","viewSize","viewportTop","Math","max","viewportBottom","listenerCleanup","onViewportUpdate","addEventListener","TreeTable","EVENT_UPDATED","setViewport","undefined","componentDidMount","filters","sorts","debug","applyFilter","applySort","updateViewport","componentDidUpdate","prevProps","componentWillUnmount","cancel","render","UPDATE_INTERVAL"],"sources":["../src/TreeTableViewportUpdater.tsx"],"sourcesContent":["import { PureComponent } from 'react';\nimport throttle from 'lodash.throttle';\nimport dh, {\n EventListener,\n FilterCondition,\n RemoverFn,\n Sort,\n Table,\n} from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\n\nconst log = Log.module('TreeTableViewportUpdater');\n\nconst UPDATE_THROTTLE = 150;\n\ninterface TreeTableViewportUpdaterProps {\n table: Table;\n top: number;\n bottom: number;\n filters: FilterCondition[];\n sorts: Sort[];\n updateInterval: number;\n onViewportUpdate: EventListener;\n}\n\n/**\n * Updates the viewport of a TreeTable for use in a scroll pane.\n * Automatically throttles the viewport requests and buffers above and below.\n */\nclass TreeTableViewportUpdater extends PureComponent<\n TreeTableViewportUpdaterProps,\n Record<string, never>\n> {\n static UPDATE_INTERVAL = 1000;\n\n static defaultProps = {\n top: 0,\n bottom: 0,\n onViewportUpdate: (): void => undefined,\n filters: [],\n sorts: [],\n updateInterval: TreeTableViewportUpdater.UPDATE_INTERVAL,\n };\n\n constructor(props: TreeTableViewportUpdaterProps) {\n super(props);\n\n this.listenerCleanup = null;\n }\n\n componentDidMount(): void {\n const { top, bottom, table, filters, sorts } = this.props;\n log.debug('componentDidMount', this.props);\n table.applyFilter(filters);\n table.applySort(sorts);\n this.updateViewport(top, bottom);\n }\n\n componentDidUpdate(prevProps: TreeTableViewportUpdaterProps): void {\n const { top, bottom, table, filters, sorts } = this.props;\n if (filters !== prevProps.filters) {\n log.debug('update table filter', filters);\n table.applyFilter(filters);\n }\n\n if (sorts !== prevProps.sorts) {\n log.debug('update table sort', sorts);\n table.applySort(sorts);\n }\n\n this.updateViewport(top, bottom);\n }\n\n componentWillUnmount(): void {\n this.updateViewport.cancel();\n if (this.listenerCleanup) {\n this.listenerCleanup();\n }\n }\n\n listenerCleanup: RemoverFn | null;\n\n updateViewport = throttle((top: number, bottom: number): void => {\n if (bottom < top) {\n log.error('Invalid viewport', top, bottom);\n return;\n }\n\n if (top === 0 && bottom === 0) {\n log.debug2('Ignoring 0-0 viewport');\n return;\n }\n\n const { table, updateInterval } = this.props;\n const viewSize = bottom - top;\n const viewportTop = Math.max(0, top - viewSize * 3);\n const viewportBottom = bottom + viewSize * 3 + 1;\n log.debug2(\n 'Setting Viewport Top:',\n viewportTop,\n 'Bottom:',\n viewportBottom,\n table\n );\n\n if (!this.listenerCleanup) {\n const { onViewportUpdate } = this.props;\n this.listenerCleanup = table.addEventListener(\n dh.TreeTable.EVENT_UPDATED,\n onViewportUpdate\n );\n }\n\n table.setViewport(viewportTop, viewportBottom, undefined, updateInterval);\n }, UPDATE_THROTTLE);\n\n render(): null {\n return null;\n }\n}\n\nexport default TreeTableViewportUpdater;\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React, { Component } from 'react';
2
2
  import './CustomFormatAction.scss';
3
- declare type CustomFormatActionProps = typeof CustomFormatAction.defaultProps & {
3
+ type CustomFormatActionProps = typeof CustomFormatAction.defaultProps & {
4
4
  forwardedProps: {
5
5
  menuItem: {
6
6
  title?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"CustomFormatAction.d.ts","sourceRoot":"","sources":["../../src/format-context-menus/CustomFormatAction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,OAAO,2BAA2B,CAAC;AAEnC,aAAK,uBAAuB,GAAG,OAAO,kBAAkB,CAAC,YAAY,GAAG;IACtE,cAAc,EAAE;QACd,QAAQ,EAAE;YACR,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC;KACH,CAAC;CACH,CAAC;AAEF;;;;;;GAMG;AACH,cAAM,kBAAmB,SAAQ,SAAS,CAAC,uBAAuB,CAAC;IACjE,MAAM,CAAC,YAAY;;;;kCAIO,OAAO,GAAG,IAAI;;;;;wBAOtB,MAAM,GAAG,IAAI,GAAG,IAAI;MAGpC;gBAGA,KAAK,GAAE,uBAAyD;IAUlE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAE5C,iBAAiB,IAAI,IAAI;IAOzB,gBAAgB,IAAI,IAAI;IAMxB,eAAe,IAAI,IAAI;IAKvB,wBAAwB,IAAI,IAAI;IAUhC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAwBjE,MAAM,IAAI,GAAG,CAAC,OAAO;CAkCtB;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"CustomFormatAction.d.ts","sourceRoot":"","sources":["../../src/format-context-menus/CustomFormatAction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,OAAO,2BAA2B,CAAC;AAEnC,KAAK,uBAAuB,GAAG,OAAO,kBAAkB,CAAC,YAAY,GAAG;IACtE,cAAc,EAAE;QACd,QAAQ,EAAE;YACR,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC;KACH,CAAC;CACH,CAAC;AAEF;;;;;;GAMG;AACH,cAAM,kBAAmB,SAAQ,SAAS,CAAC,uBAAuB,CAAC;IACjE,MAAM,CAAC,YAAY;;;;kCAIO,OAAO,GAAG,IAAI;;;;;wBAOtB,MAAM,GAAG,IAAI,GAAG,IAAI;MAGpC;gBAGA,KAAK,GAAE,uBAAyD;IAUlE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAE5C,iBAAiB,IAAI,IAAI;IAOzB,gBAAgB,IAAI,IAAI;IAMxB,eAAe,IAAI,IAAI;IAKvB,wBAAwB,IAAI,IAAI;IAUhC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAwBjE,MAAM,IAAI,GAAG,CAAC,OAAO;CAkCtB;AAED,eAAe,kBAAkB,CAAC"}
@@ -1,10 +1,8 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  import React, { Component } from 'react';
4
3
  import { Tooltip } from '@deephaven/components';
5
4
  import { DOMUtils } from '@deephaven/utils';
6
5
  import "./CustomFormatAction.css";
7
-
8
6
  /**
9
7
  * Renders menuElement option with custom format input for use in formatting context menus
10
8
  *
@@ -16,24 +14,19 @@ class CustomFormatAction extends Component {
16
14
  constructor() {
17
15
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : CustomFormatAction.defaultProps;
18
16
  super(props);
19
-
20
17
  _defineProperty(this, "inputRef", void 0);
21
-
22
18
  this.handleInputChange = this.handleInputChange.bind(this);
23
19
  this.handleKeyDown = this.handleKeyDown.bind(this);
24
20
  this.inputRef = /*#__PURE__*/React.createRef();
25
21
  }
26
-
27
22
  handleInputChange() {
28
23
  var {
29
24
  onChange
30
25
  } = this.props;
31
-
32
26
  if (this.inputRef.current) {
33
27
  onChange(this.inputRef.current.value);
34
28
  }
35
29
  }
36
-
37
30
  closeContextMenu() {
38
31
  var {
39
32
  forwardedProps
@@ -43,50 +36,41 @@ class CustomFormatAction extends Component {
43
36
  } = forwardedProps;
44
37
  closeMenu(true);
45
38
  }
46
-
47
39
  revertToDefault() {
48
40
  var {
49
41
  onChange
50
42
  } = this.props;
51
43
  onChange(null);
52
44
  }
53
-
54
45
  returnFocusToContextMenu() {
55
46
  var parentContextMenu = DOMUtils.getClosestByClassName(this.inputRef.current, 'context-menu-container');
56
-
57
47
  if (parentContextMenu instanceof HTMLElement) {
58
48
  parentContextMenu.focus();
59
49
  }
60
50
  }
61
-
62
51
  handleKeyDown(event) {
63
52
  switch (event.key) {
64
53
  case 'Enter':
65
54
  event.stopPropagation();
66
55
  this.closeContextMenu();
67
56
  break;
68
-
69
57
  case 'Escape':
70
58
  event.stopPropagation();
71
59
  this.revertToDefault();
72
60
  this.closeContextMenu();
73
61
  break;
74
-
75
62
  case 'ArrowRight':
76
63
  case 'ArrowLeft':
77
64
  event.stopPropagation();
78
65
  break;
79
-
80
66
  case 'ArrowUp':
81
67
  case 'ArrowDown':
82
68
  this.returnFocusToContextMenu();
83
69
  break;
84
-
85
70
  default:
86
71
  event.stopPropagation();
87
72
  }
88
73
  }
89
-
90
74
  render() {
91
75
  var {
92
76
  formatString,
@@ -126,26 +110,21 @@ class CustomFormatAction extends Component {
126
110
  spellCheck: "false"
127
111
  })));
128
112
  }
129
-
130
113
  }
131
-
132
114
  _defineProperty(CustomFormatAction, "defaultProps", {
133
115
  formatString: '',
134
116
  forwardedProps: {
135
117
  menuItem: {},
136
-
137
- closeMenu(focusInput) {// no-op
118
+ closeMenu(focusInput) {
119
+ // no-op
138
120
  },
139
-
140
121
  iconElement: null
141
122
  },
142
123
  placeholder: '',
143
124
  title: '',
144
-
145
- onChange(value) {// no-op
125
+ onChange(value) {
126
+ // no-op
146
127
  }
147
-
148
128
  });
149
-
150
129
  export default CustomFormatAction;
151
130
  //# sourceMappingURL=CustomFormatAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomFormatAction.js","names":["React","Component","Tooltip","DOMUtils","CustomFormatAction","constructor","props","defaultProps","handleInputChange","bind","handleKeyDown","inputRef","createRef","onChange","current","value","closeContextMenu","forwardedProps","closeMenu","revertToDefault","returnFocusToContextMenu","parentContextMenu","getClosestByClassName","HTMLElement","focus","event","key","stopPropagation","render","formatString","placeholder","title","menuItem","description","iconElement","focusInput"],"sources":["../../src/format-context-menus/CustomFormatAction.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { Tooltip } from '@deephaven/components';\nimport { DOMUtils } from '@deephaven/utils';\n\nimport './CustomFormatAction.scss';\n\ntype CustomFormatActionProps = typeof CustomFormatAction.defaultProps & {\n forwardedProps: {\n menuItem: {\n title?: string;\n description?: string;\n };\n };\n};\n\n/**\n * Renders menuElement option with custom format input for use in formatting context menus\n *\n * TODO:\n * - capture focus when this menu action is selected via ArrowUp/ArrowDown keys\n * - dynamically update selected menu item when clicking on the input box\n */\nclass CustomFormatAction extends Component<CustomFormatActionProps> {\n static defaultProps = {\n formatString: '',\n forwardedProps: {\n menuItem: {},\n closeMenu(focusInput: boolean): void {\n // no-op\n },\n iconElement: null,\n },\n placeholder: '',\n title: '',\n onChange(value: string | null): void {\n // no-op\n },\n };\n\n constructor(\n props: CustomFormatActionProps = CustomFormatAction.defaultProps\n ) {\n super(props);\n\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n\n this.inputRef = React.createRef();\n }\n\n inputRef: React.RefObject<HTMLInputElement>;\n\n handleInputChange(): void {\n const { onChange } = this.props;\n if (this.inputRef.current) {\n onChange(this.inputRef.current.value);\n }\n }\n\n closeContextMenu(): void {\n const { forwardedProps } = this.props;\n const { closeMenu } = forwardedProps;\n closeMenu(true);\n }\n\n revertToDefault(): void {\n const { onChange } = this.props;\n onChange(null);\n }\n\n returnFocusToContextMenu(): void {\n const parentContextMenu = DOMUtils.getClosestByClassName(\n this.inputRef.current,\n 'context-menu-container'\n );\n if (parentContextMenu instanceof HTMLElement) {\n parentContextMenu.focus();\n }\n }\n\n handleKeyDown(event: React.KeyboardEvent<HTMLInputElement>): void {\n switch (event.key) {\n case 'Enter':\n event.stopPropagation();\n this.closeContextMenu();\n break;\n case 'Escape':\n event.stopPropagation();\n this.revertToDefault();\n this.closeContextMenu();\n break;\n case 'ArrowRight':\n case 'ArrowLeft':\n event.stopPropagation();\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n this.returnFocusToContextMenu();\n break;\n default:\n event.stopPropagation();\n }\n }\n\n render(): JSX.Element {\n const { formatString, forwardedProps, placeholder, title } = this.props;\n const {\n menuItem: { description },\n iconElement,\n } = forwardedProps;\n return (\n <div className=\"form-group flex-grow mb-0\">\n <div className=\"custom-format-title\">\n <span className=\"icon\">{iconElement}</span>\n <label className=\"title mb-0\" htmlFor=\"custom-format-input\">\n {title}\n {description != null && <Tooltip>{description}</Tooltip>}\n </label>\n </div>\n <div className=\"pl-2 pr-2 pb-2\">\n <input\n id=\"custom-format-input\"\n className=\"form-control text-right mb-0\"\n type=\"text\"\n defaultValue={formatString}\n ref={this.inputRef}\n placeholder={placeholder}\n onKeyDown={this.handleKeyDown}\n onChange={this.handleInputChange}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n />\n </div>\n </div>\n );\n }\n}\n\nexport default CustomFormatAction;\n"],"mappings":"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"}
1
+ {"version":3,"file":"CustomFormatAction.js","names":["React","Component","Tooltip","DOMUtils","CustomFormatAction","constructor","props","defaultProps","handleInputChange","bind","handleKeyDown","inputRef","createRef","onChange","current","value","closeContextMenu","forwardedProps","closeMenu","revertToDefault","returnFocusToContextMenu","parentContextMenu","getClosestByClassName","HTMLElement","focus","event","key","stopPropagation","render","formatString","placeholder","title","menuItem","description","iconElement","focusInput"],"sources":["../../src/format-context-menus/CustomFormatAction.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport { Tooltip } from '@deephaven/components';\nimport { DOMUtils } from '@deephaven/utils';\n\nimport './CustomFormatAction.scss';\n\ntype CustomFormatActionProps = typeof CustomFormatAction.defaultProps & {\n forwardedProps: {\n menuItem: {\n title?: string;\n description?: string;\n };\n };\n};\n\n/**\n * Renders menuElement option with custom format input for use in formatting context menus\n *\n * TODO:\n * - capture focus when this menu action is selected via ArrowUp/ArrowDown keys\n * - dynamically update selected menu item when clicking on the input box\n */\nclass CustomFormatAction extends Component<CustomFormatActionProps> {\n static defaultProps = {\n formatString: '',\n forwardedProps: {\n menuItem: {},\n closeMenu(focusInput: boolean): void {\n // no-op\n },\n iconElement: null,\n },\n placeholder: '',\n title: '',\n onChange(value: string | null): void {\n // no-op\n },\n };\n\n constructor(\n props: CustomFormatActionProps = CustomFormatAction.defaultProps\n ) {\n super(props);\n\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n\n this.inputRef = React.createRef();\n }\n\n inputRef: React.RefObject<HTMLInputElement>;\n\n handleInputChange(): void {\n const { onChange } = this.props;\n if (this.inputRef.current) {\n onChange(this.inputRef.current.value);\n }\n }\n\n closeContextMenu(): void {\n const { forwardedProps } = this.props;\n const { closeMenu } = forwardedProps;\n closeMenu(true);\n }\n\n revertToDefault(): void {\n const { onChange } = this.props;\n onChange(null);\n }\n\n returnFocusToContextMenu(): void {\n const parentContextMenu = DOMUtils.getClosestByClassName(\n this.inputRef.current,\n 'context-menu-container'\n );\n if (parentContextMenu instanceof HTMLElement) {\n parentContextMenu.focus();\n }\n }\n\n handleKeyDown(event: React.KeyboardEvent<HTMLInputElement>): void {\n switch (event.key) {\n case 'Enter':\n event.stopPropagation();\n this.closeContextMenu();\n break;\n case 'Escape':\n event.stopPropagation();\n this.revertToDefault();\n this.closeContextMenu();\n break;\n case 'ArrowRight':\n case 'ArrowLeft':\n event.stopPropagation();\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n this.returnFocusToContextMenu();\n break;\n default:\n event.stopPropagation();\n }\n }\n\n render(): JSX.Element {\n const { formatString, forwardedProps, placeholder, title } = this.props;\n const {\n menuItem: { description },\n iconElement,\n } = forwardedProps;\n return (\n <div className=\"form-group flex-grow mb-0\">\n <div className=\"custom-format-title\">\n <span className=\"icon\">{iconElement}</span>\n <label className=\"title mb-0\" htmlFor=\"custom-format-input\">\n {title}\n {description != null && <Tooltip>{description}</Tooltip>}\n </label>\n </div>\n <div className=\"pl-2 pr-2 pb-2\">\n <input\n id=\"custom-format-input\"\n className=\"form-control text-right mb-0\"\n type=\"text\"\n defaultValue={formatString}\n ref={this.inputRef}\n placeholder={placeholder}\n onKeyDown={this.handleKeyDown}\n onChange={this.handleInputChange}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n />\n </div>\n </div>\n );\n }\n}\n\nexport default CustomFormatAction;\n"],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  import { DateTimeColumnFormatter, TableUtils } from '@deephaven/jsapi-utils';
4
3
  import FormatContextMenuUtils from "./FormatContextMenuUtils.js";
5
-
6
4
  class DateTimeFormatContextMenu {
7
5
  /**
8
6
  * Creates list of formatting options for DateTime context menu
@@ -45,14 +43,9 @@ class DateTimeFormatContextMenu {
45
43
  var defaultOption = FormatContextMenuUtils.makeOption('Default', null, DateTimeFormatContextMenu.dateGroup, FormatContextMenuUtils.isDefaultSelected(selectedFormat));
46
44
  return [defaultOption, ...presetFormatOptions];
47
45
  }
48
-
49
46
  }
50
-
51
47
  _defineProperty(DateTimeFormatContextMenu, "dateGroup", 10);
52
-
53
48
  _defineProperty(DateTimeFormatContextMenu, "timeGroup", 20);
54
-
55
49
  _defineProperty(DateTimeFormatContextMenu, "dateTimeGroup", 30);
56
-
57
50
  export default DateTimeFormatContextMenu;
58
51
  //# sourceMappingURL=DateTimeFormatContextMenu.js.map