@deephaven/iris-grid 0.22.3-embed-pandas.11 → 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 (243) 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.d.ts +0 -2
  18. package/dist/ColumnStatistics.d.ts.map +1 -1
  19. package/dist/ColumnStatistics.js +8 -40
  20. package/dist/ColumnStatistics.js.map +1 -1
  21. package/dist/CommonTypes.d.ts +14 -14
  22. package/dist/CommonTypes.d.ts.map +1 -1
  23. package/dist/CrossColumnSearch.js +2 -23
  24. package/dist/CrossColumnSearch.js.map +1 -1
  25. package/dist/FilterInputField.js +2 -36
  26. package/dist/FilterInputField.js.map +1 -1
  27. package/dist/GotoRow.d.ts +1 -1
  28. package/dist/GotoRow.d.ts.map +1 -1
  29. package/dist/GotoRow.js +2 -7
  30. package/dist/GotoRow.js.map +1 -1
  31. package/dist/IrisGrid.d.ts +46 -40
  32. package/dist/IrisGrid.d.ts.map +1 -1
  33. package/dist/IrisGrid.js +84 -526
  34. package/dist/IrisGrid.js.map +1 -1
  35. package/dist/IrisGridBottomBar.d.ts +2 -2
  36. package/dist/IrisGridBottomBar.d.ts.map +1 -1
  37. package/dist/IrisGridBottomBar.js +2 -2
  38. package/dist/IrisGridBottomBar.js.map +1 -1
  39. package/dist/IrisGridCellOverflowModal.d.ts.map +1 -1
  40. package/dist/IrisGridCellOverflowModal.js +13 -46
  41. package/dist/IrisGridCellOverflowModal.js.map +1 -1
  42. package/dist/IrisGridCopyHandler.d.ts +3 -3
  43. package/dist/IrisGridCopyHandler.d.ts.map +1 -1
  44. package/dist/IrisGridCopyHandler.js +6 -53
  45. package/dist/IrisGridCopyHandler.js.map +1 -1
  46. package/dist/IrisGridMetricCalculator.js +2 -12
  47. package/dist/IrisGridMetricCalculator.js.map +1 -1
  48. package/dist/IrisGridModel.d.ts +3 -3
  49. package/dist/IrisGridModel.d.ts.map +1 -1
  50. package/dist/IrisGridModel.js +32 -58
  51. package/dist/IrisGridModel.js.map +1 -1
  52. package/dist/IrisGridModelFactory.js +0 -7
  53. package/dist/IrisGridModelFactory.js.map +1 -1
  54. package/dist/IrisGridModelUpdater.js +0 -4
  55. package/dist/IrisGridModelUpdater.js.map +1 -1
  56. package/dist/IrisGridPartitionSelector.js +0 -23
  57. package/dist/IrisGridPartitionSelector.js.map +1 -1
  58. package/dist/IrisGridProxyModel.js +9 -153
  59. package/dist/IrisGridProxyModel.js.map +1 -1
  60. package/dist/IrisGridRenderer.d.ts +1 -1
  61. package/dist/IrisGridRenderer.d.ts.map +1 -1
  62. package/dist/IrisGridRenderer.js +41 -183
  63. package/dist/IrisGridRenderer.js.map +1 -1
  64. package/dist/IrisGridShortcuts.js.map +1 -1
  65. package/dist/IrisGridTableModel.d.ts +3 -3
  66. package/dist/IrisGridTableModel.d.ts.map +1 -1
  67. package/dist/IrisGridTableModel.js +10 -90
  68. package/dist/IrisGridTableModel.js.map +1 -1
  69. package/dist/IrisGridTableModelTemplate.d.ts +3 -3
  70. package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
  71. package/dist/IrisGridTableModelTemplate.js +70 -461
  72. package/dist/IrisGridTableModelTemplate.js.map +1 -1
  73. package/dist/IrisGridTestUtils.js +0 -23
  74. package/dist/IrisGridTestUtils.js.map +1 -1
  75. package/dist/IrisGridTheme.d.ts +1 -1
  76. package/dist/IrisGridTheme.d.ts.map +1 -1
  77. package/dist/IrisGridTheme.js.map +1 -1
  78. package/dist/IrisGridTreeTableModel.js +3 -42
  79. package/dist/IrisGridTreeTableModel.js.map +1 -1
  80. package/dist/IrisGridUtils.d.ts +13 -7
  81. package/dist/IrisGridUtils.d.ts.map +1 -1
  82. package/dist/IrisGridUtils.js +98 -196
  83. package/dist/IrisGridUtils.js.map +1 -1
  84. package/dist/MissingKeyError.js +0 -7
  85. package/dist/MissingKeyError.js.map +1 -1
  86. package/dist/PartitionSelectorSearch.d.ts +2 -2
  87. package/dist/PartitionSelectorSearch.js +2 -48
  88. package/dist/PartitionSelectorSearch.js.map +1 -1
  89. package/dist/PendingDataBottomBar.d.ts +2 -2
  90. package/dist/PendingDataBottomBar.d.ts.map +1 -1
  91. package/dist/PendingDataBottomBar.js +2 -7
  92. package/dist/PendingDataBottomBar.js.map +1 -1
  93. package/dist/TableViewportUpdater.d.ts +2 -2
  94. package/dist/TableViewportUpdater.d.ts.map +1 -1
  95. package/dist/TableViewportUpdater.js +3 -29
  96. package/dist/TableViewportUpdater.js.map +1 -1
  97. package/dist/ToastBottomBar.d.ts +2 -2
  98. package/dist/ToastBottomBar.d.ts.map +1 -1
  99. package/dist/ToastBottomBar.js +2 -4
  100. package/dist/ToastBottomBar.js.map +1 -1
  101. package/dist/TreeTableViewportUpdater.js +0 -21
  102. package/dist/TreeTableViewportUpdater.js.map +1 -1
  103. package/dist/format-context-menus/CustomFormatAction.d.ts +1 -1
  104. package/dist/format-context-menus/CustomFormatAction.d.ts.map +1 -1
  105. package/dist/format-context-menus/CustomFormatAction.js +4 -25
  106. package/dist/format-context-menus/CustomFormatAction.js.map +1 -1
  107. package/dist/format-context-menus/DateTimeFormatContextMenu.js +0 -7
  108. package/dist/format-context-menus/DateTimeFormatContextMenu.js.map +1 -1
  109. package/dist/format-context-menus/DecimalFormatContextMenu.js +0 -9
  110. package/dist/format-context-menus/DecimalFormatContextMenu.js.map +1 -1
  111. package/dist/format-context-menus/FormatContextMenuUtils.js +3 -9
  112. package/dist/format-context-menus/FormatContextMenuUtils.js.map +1 -1
  113. package/dist/format-context-menus/IntegerFormatContextMenu.js +0 -8
  114. package/dist/format-context-menus/IntegerFormatContextMenu.js.map +1 -1
  115. package/dist/format-context-menus/index.js.map +1 -1
  116. package/dist/index.d.ts +3 -3
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js +3 -3
  119. package/dist/index.js.map +1 -1
  120. package/dist/key-handlers/ClearFilterKeyHandler.js +0 -8
  121. package/dist/key-handlers/ClearFilterKeyHandler.js.map +1 -1
  122. package/dist/key-handlers/CopyKeyHandler.js +1 -10
  123. package/dist/key-handlers/CopyKeyHandler.js.map +1 -1
  124. package/dist/key-handlers/ReverseKeyHandler.js +0 -11
  125. package/dist/key-handlers/ReverseKeyHandler.js.map +1 -1
  126. package/dist/key-handlers/index.js.map +1 -1
  127. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js +2 -32
  128. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
  129. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +4 -34
  130. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
  131. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +0 -20
  132. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
  133. package/dist/mousehandlers/IrisGridContextMenuHandler.js +17 -107
  134. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  135. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js +0 -9
  136. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js.map +1 -1
  137. package/dist/mousehandlers/IrisGridFilterMouseHandler.js +0 -17
  138. package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
  139. package/dist/mousehandlers/IrisGridSortMouseHandler.js +2 -15
  140. package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
  141. package/dist/mousehandlers/PendingMouseHandler.js +0 -6
  142. package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
  143. package/dist/mousehandlers/index.js.map +1 -1
  144. package/dist/sidebar/AdvancedSettings.js.map +1 -1
  145. package/dist/sidebar/AdvancedSettingsMenu.d.ts +6 -6
  146. package/dist/sidebar/AdvancedSettingsMenu.d.ts.map +1 -1
  147. package/dist/sidebar/AdvancedSettingsMenu.js +2 -6
  148. package/dist/sidebar/AdvancedSettingsMenu.js.map +1 -1
  149. package/dist/sidebar/AdvancedSettingsType.js +0 -2
  150. package/dist/sidebar/AdvancedSettingsType.js.map +1 -1
  151. package/dist/sidebar/ChartBuilder.d.ts +2 -2
  152. package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
  153. package/dist/sidebar/ChartBuilder.js +2 -46
  154. package/dist/sidebar/ChartBuilder.js.map +1 -1
  155. package/dist/sidebar/CustomColumnBuilder.d.ts +2 -2
  156. package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
  157. package/dist/sidebar/CustomColumnBuilder.js +6 -58
  158. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  159. package/dist/sidebar/CustomColumnInput.js +4 -15
  160. package/dist/sidebar/CustomColumnInput.js.map +1 -1
  161. package/dist/sidebar/InputEditor.js +5 -36
  162. package/dist/sidebar/InputEditor.js.map +1 -1
  163. package/dist/sidebar/OptionType.js +0 -2
  164. package/dist/sidebar/OptionType.js.map +1 -1
  165. package/dist/sidebar/RollupRows.d.ts +3 -3
  166. package/dist/sidebar/RollupRows.d.ts.map +1 -1
  167. package/dist/sidebar/RollupRows.js +9 -65
  168. package/dist/sidebar/RollupRows.js.map +1 -1
  169. package/dist/sidebar/SelectDistinctBuilder.js +0 -13
  170. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  171. package/dist/sidebar/TableCsvExporter.css +3 -0
  172. package/dist/sidebar/TableCsvExporter.css.map +1 -1
  173. package/dist/sidebar/TableCsvExporter.d.ts +12 -6
  174. package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
  175. package/dist/sidebar/TableCsvExporter.js +88 -82
  176. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  177. package/dist/sidebar/TableSaver.d.ts +5 -3
  178. package/dist/sidebar/TableSaver.d.ts.map +1 -1
  179. package/dist/sidebar/TableSaver.js +52 -132
  180. package/dist/sidebar/TableSaver.js.map +1 -1
  181. package/dist/sidebar/VisibilityOrderingBuilder.d.ts +5 -4
  182. package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
  183. package/dist/sidebar/VisibilityOrderingBuilder.js +37 -116
  184. package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
  185. package/dist/sidebar/aggregations/AggregationEdit.d.ts +2 -2
  186. package/dist/sidebar/aggregations/AggregationEdit.d.ts.map +1 -1
  187. package/dist/sidebar/aggregations/AggregationEdit.js +2 -14
  188. package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
  189. package/dist/sidebar/aggregations/AggregationOperation.js +0 -2
  190. package/dist/sidebar/aggregations/AggregationOperation.js.map +1 -1
  191. package/dist/sidebar/aggregations/AggregationUtils.js +2 -5
  192. package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
  193. package/dist/sidebar/aggregations/Aggregations.d.ts +4 -4
  194. package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
  195. package/dist/sidebar/aggregations/Aggregations.js +2 -12
  196. package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
  197. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts +1 -1
  198. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts.map +1 -1
  199. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +2 -16
  200. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
  201. package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts +1 -1
  202. package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts.map +1 -1
  203. package/dist/sidebar/conditional-formatting/ConditionEditor.js +2 -35
  204. package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
  205. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts +4 -4
  206. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts.map +1 -1
  207. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +2 -12
  208. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
  209. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js +0 -3
  210. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js.map +1 -1
  211. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts +5 -5
  212. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
  213. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +16 -26
  214. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
  215. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +3 -3
  216. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
  217. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +9 -172
  218. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
  219. package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts +1 -1
  220. package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts.map +1 -1
  221. package/dist/sidebar/conditional-formatting/RowFormatEditor.js +2 -16
  222. package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
  223. package/dist/sidebar/conditional-formatting/StyleEditor.d.ts +1 -1
  224. package/dist/sidebar/conditional-formatting/StyleEditor.d.ts.map +1 -1
  225. package/dist/sidebar/conditional-formatting/StyleEditor.js +2 -12
  226. package/dist/sidebar/conditional-formatting/StyleEditor.js.map +1 -1
  227. package/dist/sidebar/icons/BarIcon.js +0 -3
  228. package/dist/sidebar/icons/BarIcon.js.map +1 -1
  229. package/dist/sidebar/icons/FormatColumnWhereIcon.js +2 -5
  230. package/dist/sidebar/icons/FormatColumnWhereIcon.js.map +1 -1
  231. package/dist/sidebar/icons/FormatRowWhereIcon.js +2 -5
  232. package/dist/sidebar/icons/FormatRowWhereIcon.js.map +1 -1
  233. package/dist/sidebar/icons/HistogramIcon.js +0 -3
  234. package/dist/sidebar/icons/HistogramIcon.js.map +1 -1
  235. package/dist/sidebar/icons/LineIcon.js +0 -3
  236. package/dist/sidebar/icons/LineIcon.js.map +1 -1
  237. package/dist/sidebar/icons/PieIcon.js +0 -3
  238. package/dist/sidebar/icons/PieIcon.js.map +1 -1
  239. package/dist/sidebar/icons/ScatterIcon.js +0 -3
  240. package/dist/sidebar/icons/ScatterIcon.js.map +1 -1
  241. package/dist/sidebar/icons/index.js.map +1 -1
  242. package/dist/sidebar/index.js.map +1 -1
  243. package/package.json +15 -15
@@ -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 { GridMouseHandler } from '@deephaven/grid';
4
3
  import deepEqual from 'deep-equal';
5
-
6
4
  /**
7
5
  * Handles cursor and click action for cell overflow button
8
6
  * The button is rendered via IrisGridRenderer
@@ -10,18 +8,14 @@ import deepEqual from 'deep-equal';
10
8
  class IrisGridCellOverflowMouseHandler extends GridMouseHandler {
11
9
  constructor(irisGrid) {
12
10
  super(850); // Needs to be before GridSelectionMouseHandler
13
-
14
11
  _defineProperty(this, "irisGrid", void 0);
15
-
16
12
  this.irisGrid = irisGrid;
17
13
  }
18
-
19
14
  destroyColumnTooltip() {
20
15
  this.irisGrid.setState({
21
16
  overflowButtonTooltipProps: null
22
17
  });
23
18
  }
24
-
25
19
  setCursor(point) {
26
20
  if (this.isHoveringOverflowButton(point)) {
27
21
  this.cursor = 'pointer';
@@ -30,11 +24,9 @@ class IrisGridCellOverflowMouseHandler extends GridMouseHandler {
30
24
  preventDefault: false
31
25
  };
32
26
  }
33
-
34
27
  this.cursor = null;
35
28
  return false;
36
29
  }
37
-
38
30
  getButtonPosition(_ref) {
39
31
  var {
40
32
  x,
@@ -42,22 +34,18 @@ class IrisGridCellOverflowMouseHandler extends GridMouseHandler {
42
34
  column,
43
35
  row
44
36
  } = _ref;
45
-
46
37
  if (column == null || row == null) {
47
38
  return null;
48
39
  }
49
-
50
40
  var {
51
41
  renderer,
52
42
  grid,
53
43
  state,
54
44
  props
55
45
  } = this.irisGrid;
56
-
57
46
  if (!grid) {
58
47
  return null;
59
48
  }
60
-
61
49
  var {
62
50
  metrics
63
51
  } = state;
@@ -82,11 +70,9 @@ class IrisGridCellOverflowMouseHandler extends GridMouseHandler {
82
70
  width,
83
71
  height
84
72
  } = renderer.getCellOverflowButtonPosition(rendererState);
85
-
86
73
  if (left == null || width == null || top == null || height == null) {
87
74
  return null;
88
75
  }
89
-
90
76
  return {
91
77
  left,
92
78
  top,
@@ -94,10 +80,8 @@ class IrisGridCellOverflowMouseHandler extends GridMouseHandler {
94
80
  height
95
81
  };
96
82
  }
97
-
98
83
  isHoveringOverflowButton(point) {
99
84
  var _this$getButtonPositi;
100
-
101
85
  var {
102
86
  x,
103
87
  y
@@ -108,22 +92,18 @@ class IrisGridCellOverflowMouseHandler extends GridMouseHandler {
108
92
  width,
109
93
  height
110
94
  } = (_this$getButtonPositi = this.getButtonPosition(point)) !== null && _this$getButtonPositi !== void 0 ? _this$getButtonPositi : {};
111
-
112
95
  if (left == null || width == null || top == null || height == null) {
113
96
  return false;
114
97
  }
115
-
116
98
  var {
117
99
  renderer,
118
100
  grid,
119
101
  state,
120
102
  props
121
103
  } = this.irisGrid;
122
-
123
104
  if (!grid) {
124
105
  return false;
125
106
  }
126
-
127
107
  var {
128
108
  metrics
129
109
  } = state;
@@ -144,14 +124,12 @@ class IrisGridCellOverflowMouseHandler extends GridMouseHandler {
144
124
  };
145
125
  return renderer.shouldRenderOverflowButton(rendererState) && x >= left && x <= left + width && y >= top && y <= top + height;
146
126
  }
147
-
148
127
  onMove(point) {
149
128
  if (this.isHoveringOverflowButton(point)) {
150
129
  var {
151
130
  overflowButtonTooltipProps
152
131
  } = this.irisGrid.state;
153
132
  var newProps = this.getButtonPosition(point);
154
-
155
133
  if (!deepEqual(overflowButtonTooltipProps, newProps)) {
156
134
  this.irisGrid.setState({
157
135
  overflowButtonTooltipProps: newProps
@@ -160,44 +138,36 @@ class IrisGridCellOverflowMouseHandler extends GridMouseHandler {
160
138
  } else {
161
139
  this.destroyColumnTooltip();
162
140
  }
163
-
164
141
  return this.setCursor(point);
165
142
  }
166
-
167
143
  onWheel(point) {
168
144
  this.destroyColumnTooltip();
169
145
  return this.onMove(point);
170
- } // Needs to be onDown and not onClick b/c of GridSelectionMouseHandler shifting cell onDown
171
-
146
+ }
172
147
 
148
+ // Needs to be onDown and not onClick b/c of GridSelectionMouseHandler shifting cell onDown
173
149
  onDown(point) {
174
150
  this.destroyColumnTooltip();
175
151
  var {
176
152
  column,
177
153
  row
178
154
  } = point;
179
-
180
155
  if (this.isHoveringOverflowButton(point)) {
181
156
  this.irisGrid.setState({
182
157
  showOverflowModal: true,
183
158
  overflowText: this.irisGrid.getValueForCell(column, row)
184
159
  });
185
160
  }
186
-
187
161
  return false;
188
162
  }
189
-
190
163
  onContextMenu() {
191
164
  this.destroyColumnTooltip();
192
165
  return false;
193
166
  }
194
-
195
167
  onLeave() {
196
168
  this.destroyColumnTooltip();
197
169
  return false;
198
170
  }
199
-
200
171
  }
201
-
202
172
  export default IrisGridCellOverflowMouseHandler;
203
173
  //# sourceMappingURL=IrisGridCellOverflowMouseHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridCellOverflowMouseHandler.js","names":["GridMouseHandler","deepEqual","IrisGridCellOverflowMouseHandler","constructor","irisGrid","destroyColumnTooltip","setState","overflowButtonTooltipProps","setCursor","point","isHoveringOverflowButton","cursor","stopPropagation","preventDefault","getButtonPosition","x","y","column","row","renderer","grid","state","props","metrics","model","canvasContext","context","theme","getTheme","rendererState","mouseX","mouseY","left","top","width","height","getCellOverflowButtonPosition","shouldRenderOverflowButton","onMove","newProps","onWheel","onDown","showOverflowModal","overflowText","getValueForCell","onContextMenu","onLeave"],"sources":["../../src/mousehandlers/IrisGridCellOverflowMouseHandler.ts"],"sourcesContent":["import {\n GridPoint,\n GridMouseHandler,\n EventHandlerResult,\n} from '@deephaven/grid';\nimport deepEqual from 'deep-equal';\nimport type IrisGrid from '../IrisGrid';\nimport { IrisGridRenderState } from '../IrisGridRenderer';\n\n/**\n * Handles cursor and click action for cell overflow button\n * The button is rendered via IrisGridRenderer\n */\nclass IrisGridCellOverflowMouseHandler extends GridMouseHandler {\n private irisGrid: IrisGrid;\n\n constructor(irisGrid: IrisGrid) {\n super(850); // Needs to be before GridSelectionMouseHandler\n\n this.irisGrid = irisGrid;\n }\n\n private destroyColumnTooltip(): void {\n this.irisGrid.setState({ overflowButtonTooltipProps: null });\n }\n\n private setCursor(point: GridPoint): EventHandlerResult {\n if (this.isHoveringOverflowButton(point)) {\n this.cursor = 'pointer';\n return { stopPropagation: false, preventDefault: false };\n }\n\n this.cursor = null;\n return false;\n }\n\n private getButtonPosition({\n x,\n y,\n column,\n row,\n }: GridPoint): {\n left: number;\n top: number;\n width: number;\n height: number;\n } | null {\n if (column == null || row == null) {\n return null;\n }\n const { renderer, grid, state, props } = this.irisGrid;\n if (!grid) {\n return null;\n }\n const { metrics } = state;\n const { model } = props;\n\n const { canvasContext: context } = grid;\n const theme = grid.getTheme();\n const rendererState = {\n context,\n mouseX: x,\n mouseY: y,\n metrics,\n model,\n theme,\n };\n\n const { left, top, width, height } = renderer.getCellOverflowButtonPosition(\n rendererState\n );\n if (left == null || width == null || top == null || height == null) {\n return null;\n }\n\n return { left, top, width, height };\n }\n\n private isHoveringOverflowButton(point: GridPoint): boolean {\n const { x, y } = point;\n const { left, top, width, height } = this.getButtonPosition(point) ?? {};\n if (left == null || width == null || top == null || height == null) {\n return false;\n }\n\n const { renderer, grid, state, props } = this.irisGrid;\n if (!grid) {\n return false;\n }\n const { metrics } = state;\n const { model } = props;\n const { canvasContext: context } = grid;\n const theme = grid.getTheme();\n const rendererState = {\n context,\n mouseX: x,\n mouseY: y,\n metrics,\n model,\n theme,\n } as IrisGridRenderState;\n\n return (\n renderer.shouldRenderOverflowButton(rendererState) &&\n x >= left &&\n x <= left + width &&\n y >= top &&\n y <= top + height\n );\n }\n\n onMove(point: GridPoint): EventHandlerResult {\n if (this.isHoveringOverflowButton(point)) {\n const { overflowButtonTooltipProps } = this.irisGrid.state;\n const newProps = this.getButtonPosition(point);\n if (!deepEqual(overflowButtonTooltipProps, newProps)) {\n this.irisGrid.setState({ overflowButtonTooltipProps: newProps });\n }\n } else {\n this.destroyColumnTooltip();\n }\n return this.setCursor(point);\n }\n\n onWheel(point: GridPoint): EventHandlerResult {\n this.destroyColumnTooltip();\n return this.onMove(point);\n }\n\n // Needs to be onDown and not onClick b/c of GridSelectionMouseHandler shifting cell onDown\n onDown(point: GridPoint): boolean {\n this.destroyColumnTooltip();\n const { column, row } = point;\n\n if (this.isHoveringOverflowButton(point)) {\n this.irisGrid.setState({\n showOverflowModal: true,\n overflowText: this.irisGrid.getValueForCell(column, row) as string,\n });\n }\n\n return false;\n }\n\n onContextMenu(): EventHandlerResult {\n this.destroyColumnTooltip();\n return false;\n }\n\n onLeave(): EventHandlerResult {\n this.destroyColumnTooltip();\n return false;\n }\n}\n\nexport default IrisGridCellOverflowMouseHandler;\n"],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridCellOverflowMouseHandler.js","names":["GridMouseHandler","deepEqual","IrisGridCellOverflowMouseHandler","constructor","irisGrid","destroyColumnTooltip","setState","overflowButtonTooltipProps","setCursor","point","isHoveringOverflowButton","cursor","stopPropagation","preventDefault","getButtonPosition","x","y","column","row","renderer","grid","state","props","metrics","model","canvasContext","context","theme","getTheme","rendererState","mouseX","mouseY","left","top","width","height","getCellOverflowButtonPosition","shouldRenderOverflowButton","onMove","newProps","onWheel","onDown","showOverflowModal","overflowText","getValueForCell","onContextMenu","onLeave"],"sources":["../../src/mousehandlers/IrisGridCellOverflowMouseHandler.ts"],"sourcesContent":["import {\n GridPoint,\n GridMouseHandler,\n EventHandlerResult,\n} from '@deephaven/grid';\nimport deepEqual from 'deep-equal';\nimport type IrisGrid from '../IrisGrid';\nimport { IrisGridRenderState } from '../IrisGridRenderer';\n\n/**\n * Handles cursor and click action for cell overflow button\n * The button is rendered via IrisGridRenderer\n */\nclass IrisGridCellOverflowMouseHandler extends GridMouseHandler {\n private irisGrid: IrisGrid;\n\n constructor(irisGrid: IrisGrid) {\n super(850); // Needs to be before GridSelectionMouseHandler\n\n this.irisGrid = irisGrid;\n }\n\n private destroyColumnTooltip(): void {\n this.irisGrid.setState({ overflowButtonTooltipProps: null });\n }\n\n private setCursor(point: GridPoint): EventHandlerResult {\n if (this.isHoveringOverflowButton(point)) {\n this.cursor = 'pointer';\n return { stopPropagation: false, preventDefault: false };\n }\n\n this.cursor = null;\n return false;\n }\n\n private getButtonPosition({\n x,\n y,\n column,\n row,\n }: GridPoint): {\n left: number;\n top: number;\n width: number;\n height: number;\n } | null {\n if (column == null || row == null) {\n return null;\n }\n const { renderer, grid, state, props } = this.irisGrid;\n if (!grid) {\n return null;\n }\n const { metrics } = state;\n const { model } = props;\n\n const { canvasContext: context } = grid;\n const theme = grid.getTheme();\n const rendererState = {\n context,\n mouseX: x,\n mouseY: y,\n metrics,\n model,\n theme,\n };\n\n const { left, top, width, height } = renderer.getCellOverflowButtonPosition(\n rendererState\n );\n if (left == null || width == null || top == null || height == null) {\n return null;\n }\n\n return { left, top, width, height };\n }\n\n private isHoveringOverflowButton(point: GridPoint): boolean {\n const { x, y } = point;\n const { left, top, width, height } = this.getButtonPosition(point) ?? {};\n if (left == null || width == null || top == null || height == null) {\n return false;\n }\n\n const { renderer, grid, state, props } = this.irisGrid;\n if (!grid) {\n return false;\n }\n const { metrics } = state;\n const { model } = props;\n const { canvasContext: context } = grid;\n const theme = grid.getTheme();\n const rendererState = {\n context,\n mouseX: x,\n mouseY: y,\n metrics,\n model,\n theme,\n } as IrisGridRenderState;\n\n return (\n renderer.shouldRenderOverflowButton(rendererState) &&\n x >= left &&\n x <= left + width &&\n y >= top &&\n y <= top + height\n );\n }\n\n onMove(point: GridPoint): EventHandlerResult {\n if (this.isHoveringOverflowButton(point)) {\n const { overflowButtonTooltipProps } = this.irisGrid.state;\n const newProps = this.getButtonPosition(point);\n if (!deepEqual(overflowButtonTooltipProps, newProps)) {\n this.irisGrid.setState({ overflowButtonTooltipProps: newProps });\n }\n } else {\n this.destroyColumnTooltip();\n }\n return this.setCursor(point);\n }\n\n onWheel(point: GridPoint): EventHandlerResult {\n this.destroyColumnTooltip();\n return this.onMove(point);\n }\n\n // Needs to be onDown and not onClick b/c of GridSelectionMouseHandler shifting cell onDown\n onDown(point: GridPoint): boolean {\n this.destroyColumnTooltip();\n const { column, row } = point;\n\n if (this.isHoveringOverflowButton(point)) {\n this.irisGrid.setState({\n showOverflowModal: true,\n overflowText: this.irisGrid.getValueForCell(column, row) as string,\n });\n }\n\n return false;\n }\n\n onContextMenu(): EventHandlerResult {\n this.destroyColumnTooltip();\n return false;\n }\n\n onLeave(): EventHandlerResult {\n this.destroyColumnTooltip();\n return false;\n }\n}\n\nexport default IrisGridCellOverflowMouseHandler;\n"],"mappings":"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"}
@@ -1,76 +1,59 @@
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
  /* eslint class-methods-use-this: "off" */
4
3
  import { GridMouseHandler } from '@deephaven/grid';
5
-
6
4
  /**
7
5
  * Handles interaction with tables when the Linker tool is active
8
6
  */
9
7
  class IrisGridColumnSelectMouseHandler extends GridMouseHandler {
10
8
  constructor(irisGrid) {
11
9
  super();
12
-
13
10
  _defineProperty(this, "irisGrid", void 0);
14
-
15
11
  this.irisGrid = irisGrid;
16
12
  this.cursor = null;
17
13
  }
18
-
19
14
  isActive() {
20
15
  var {
21
16
  isSelectingColumn
22
17
  } = this.irisGrid.props;
23
18
  return isSelectingColumn;
24
19
  }
25
-
26
20
  isValidColumn(tableColumn) {
27
21
  if (tableColumn == null) {
28
22
  return false;
29
23
  }
30
-
31
24
  var {
32
25
  columnSelectionValidator
33
26
  } = this.irisGrid.props;
34
-
35
27
  if (columnSelectionValidator != null) {
36
28
  return columnSelectionValidator(tableColumn);
37
29
  }
38
-
39
30
  return true;
40
31
  }
41
-
42
32
  updateColumnSelectionStatus() {
43
33
  var {
44
34
  columnSelectionValidator
45
35
  } = this.irisGrid.props;
46
-
47
36
  if (columnSelectionValidator != null) {
48
37
  columnSelectionValidator(null);
49
38
  }
50
39
  }
51
-
52
40
  getTableColumn(columnIndex) {
53
41
  if (columnIndex == null) {
54
42
  return null;
55
43
  }
56
-
57
44
  var {
58
45
  model
59
46
  } = this.irisGrid.props;
60
47
  var modelColumn = this.irisGrid.getModelColumn(columnIndex);
61
-
62
48
  if (modelColumn == null) {
63
49
  return null;
64
50
  }
65
-
66
51
  return model.columns[modelColumn];
67
52
  }
68
-
69
53
  onMove(gridPoint) {
70
54
  if (!this.isActive()) {
71
55
  return false;
72
56
  }
73
-
74
57
  var {
75
58
  columnAllowedCursor,
76
59
  columnNotAllowedCursor
@@ -79,7 +62,6 @@ class IrisGridColumnSelectMouseHandler extends GridMouseHandler {
79
62
  column
80
63
  } = gridPoint;
81
64
  var tableColumn = this.getTableColumn(column);
82
-
83
65
  if (this.isValidColumn(tableColumn)) {
84
66
  this.cursor = columnAllowedCursor;
85
67
  this.irisGrid.setState({
@@ -91,16 +73,14 @@ class IrisGridColumnSelectMouseHandler extends GridMouseHandler {
91
73
  hoverSelectColumn: null
92
74
  });
93
75
  }
94
-
95
76
  return true;
96
- } // keeps linker cursor state during wheel event
97
-
77
+ }
98
78
 
79
+ // keeps linker cursor state during wheel event
99
80
  onWheel(gridPoint) {
100
81
  if (!this.isActive()) {
101
82
  return false;
102
83
  }
103
-
104
84
  var {
105
85
  columnAllowedCursor,
106
86
  columnNotAllowedCursor
@@ -109,53 +89,43 @@ class IrisGridColumnSelectMouseHandler extends GridMouseHandler {
109
89
  column
110
90
  } = gridPoint;
111
91
  var tableColumn = this.getTableColumn(column);
112
-
113
92
  if (this.isValidColumn(tableColumn)) {
114
93
  this.cursor = columnAllowedCursor;
115
94
  } else {
116
95
  this.cursor = columnNotAllowedCursor;
117
- } // don't block wheel event from scrolling
118
-
96
+ }
119
97
 
98
+ // don't block wheel event from scrolling
120
99
  return {
121
100
  preventDefault: false,
122
101
  stopPropagation: false
123
102
  };
124
103
  }
125
-
126
104
  onLeave() {
127
105
  if (this.isActive()) {
128
106
  this.irisGrid.setState({
129
107
  hoverSelectColumn: null
130
108
  });
131
109
  }
132
-
133
110
  this.updateColumnSelectionStatus();
134
111
  return false;
135
112
  }
136
-
137
113
  onDown() {
138
114
  return this.isActive();
139
115
  }
140
-
141
116
  onClick(gridPoint) {
142
117
  if (!this.isActive()) {
143
118
  return false;
144
119
  }
145
-
146
120
  var {
147
121
  column
148
122
  } = gridPoint;
149
123
  var tableColumn = this.getTableColumn(column);
150
-
151
124
  if (tableColumn != null && this.isValidColumn(tableColumn)) {
152
125
  this.irisGrid.selectColumn(tableColumn);
153
126
  }
154
-
155
127
  return true;
156
128
  }
157
-
158
129
  }
159
-
160
130
  export default IrisGridColumnSelectMouseHandler;
161
131
  //# sourceMappingURL=IrisGridColumnSelectMouseHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridColumnSelectMouseHandler.js","names":["GridMouseHandler","IrisGridColumnSelectMouseHandler","constructor","irisGrid","cursor","isActive","isSelectingColumn","props","isValidColumn","tableColumn","columnSelectionValidator","updateColumnSelectionStatus","getTableColumn","columnIndex","model","modelColumn","getModelColumn","columns","onMove","gridPoint","columnAllowedCursor","columnNotAllowedCursor","column","setState","hoverSelectColumn","onWheel","preventDefault","stopPropagation","onLeave","onDown","onClick","selectColumn"],"sources":["../../src/mousehandlers/IrisGridColumnSelectMouseHandler.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport {\n GridMouseHandler,\n GridPoint,\n EventHandlerResult,\n} from '@deephaven/grid';\nimport type { Column } from '@deephaven/jsapi-shim';\nimport { IrisGrid } from '../IrisGrid';\n\n/**\n * Handles interaction with tables when the Linker tool is active\n */\nclass IrisGridColumnSelectMouseHandler extends GridMouseHandler {\n constructor(irisGrid: IrisGrid) {\n super();\n\n this.irisGrid = irisGrid;\n this.cursor = null;\n }\n\n private irisGrid: IrisGrid;\n\n private isActive(): boolean {\n const { isSelectingColumn } = this.irisGrid.props;\n return isSelectingColumn;\n }\n\n private isValidColumn(tableColumn: Column | null): boolean {\n if (tableColumn == null) {\n return false;\n }\n\n const { columnSelectionValidator } = this.irisGrid.props;\n if (columnSelectionValidator != null) {\n return columnSelectionValidator(tableColumn);\n }\n return true;\n }\n\n private updateColumnSelectionStatus(): void {\n const { columnSelectionValidator } = this.irisGrid.props;\n if (columnSelectionValidator != null) {\n columnSelectionValidator(null);\n }\n }\n\n private getTableColumn(columnIndex: number | null): Column | null {\n if (columnIndex == null) {\n return null;\n }\n\n const { model } = this.irisGrid.props;\n const modelColumn = this.irisGrid.getModelColumn(columnIndex);\n if (modelColumn == null) {\n return null;\n }\n\n return model.columns[modelColumn];\n }\n\n onMove(gridPoint: GridPoint): EventHandlerResult {\n if (!this.isActive()) {\n return false;\n }\n\n const { columnAllowedCursor, columnNotAllowedCursor } = this.irisGrid.props;\n const { column } = gridPoint;\n const tableColumn = this.getTableColumn(column);\n\n if (this.isValidColumn(tableColumn)) {\n this.cursor = columnAllowedCursor;\n this.irisGrid.setState({ hoverSelectColumn: column });\n } else {\n this.cursor = columnNotAllowedCursor;\n this.irisGrid.setState({ hoverSelectColumn: null });\n }\n\n return true;\n }\n\n // keeps linker cursor state during wheel event\n onWheel(gridPoint: GridPoint): EventHandlerResult {\n if (!this.isActive()) {\n return false;\n }\n\n const { columnAllowedCursor, columnNotAllowedCursor } = this.irisGrid.props;\n const { column } = gridPoint;\n const tableColumn = this.getTableColumn(column);\n\n if (this.isValidColumn(tableColumn)) {\n this.cursor = columnAllowedCursor;\n } else {\n this.cursor = columnNotAllowedCursor;\n }\n\n // don't block wheel event from scrolling\n return { preventDefault: false, stopPropagation: false };\n }\n\n onLeave(): EventHandlerResult {\n if (this.isActive()) {\n this.irisGrid.setState({ hoverSelectColumn: null });\n }\n\n this.updateColumnSelectionStatus();\n\n return false;\n }\n\n onDown(): EventHandlerResult {\n return this.isActive();\n }\n\n onClick(gridPoint: GridPoint): EventHandlerResult {\n if (!this.isActive()) {\n return false;\n }\n\n const { column } = gridPoint;\n const tableColumn = this.getTableColumn(column);\n if (tableColumn != null && this.isValidColumn(tableColumn)) {\n this.irisGrid.selectColumn(tableColumn);\n }\n\n return true;\n }\n}\n\nexport default IrisGridColumnSelectMouseHandler;\n"],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridColumnSelectMouseHandler.js","names":["GridMouseHandler","IrisGridColumnSelectMouseHandler","constructor","irisGrid","cursor","isActive","isSelectingColumn","props","isValidColumn","tableColumn","columnSelectionValidator","updateColumnSelectionStatus","getTableColumn","columnIndex","model","modelColumn","getModelColumn","columns","onMove","gridPoint","columnAllowedCursor","columnNotAllowedCursor","column","setState","hoverSelectColumn","onWheel","preventDefault","stopPropagation","onLeave","onDown","onClick","selectColumn"],"sources":["../../src/mousehandlers/IrisGridColumnSelectMouseHandler.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport {\n GridMouseHandler,\n GridPoint,\n EventHandlerResult,\n} from '@deephaven/grid';\nimport type { Column } from '@deephaven/jsapi-shim';\nimport { IrisGrid } from '../IrisGrid';\n\n/**\n * Handles interaction with tables when the Linker tool is active\n */\nclass IrisGridColumnSelectMouseHandler extends GridMouseHandler {\n constructor(irisGrid: IrisGrid) {\n super();\n\n this.irisGrid = irisGrid;\n this.cursor = null;\n }\n\n private irisGrid: IrisGrid;\n\n private isActive(): boolean {\n const { isSelectingColumn } = this.irisGrid.props;\n return isSelectingColumn;\n }\n\n private isValidColumn(tableColumn: Column | null): boolean {\n if (tableColumn == null) {\n return false;\n }\n\n const { columnSelectionValidator } = this.irisGrid.props;\n if (columnSelectionValidator != null) {\n return columnSelectionValidator(tableColumn);\n }\n return true;\n }\n\n private updateColumnSelectionStatus(): void {\n const { columnSelectionValidator } = this.irisGrid.props;\n if (columnSelectionValidator != null) {\n columnSelectionValidator(null);\n }\n }\n\n private getTableColumn(columnIndex: number | null): Column | null {\n if (columnIndex == null) {\n return null;\n }\n\n const { model } = this.irisGrid.props;\n const modelColumn = this.irisGrid.getModelColumn(columnIndex);\n if (modelColumn == null) {\n return null;\n }\n\n return model.columns[modelColumn];\n }\n\n onMove(gridPoint: GridPoint): EventHandlerResult {\n if (!this.isActive()) {\n return false;\n }\n\n const { columnAllowedCursor, columnNotAllowedCursor } = this.irisGrid.props;\n const { column } = gridPoint;\n const tableColumn = this.getTableColumn(column);\n\n if (this.isValidColumn(tableColumn)) {\n this.cursor = columnAllowedCursor;\n this.irisGrid.setState({ hoverSelectColumn: column });\n } else {\n this.cursor = columnNotAllowedCursor;\n this.irisGrid.setState({ hoverSelectColumn: null });\n }\n\n return true;\n }\n\n // keeps linker cursor state during wheel event\n onWheel(gridPoint: GridPoint): EventHandlerResult {\n if (!this.isActive()) {\n return false;\n }\n\n const { columnAllowedCursor, columnNotAllowedCursor } = this.irisGrid.props;\n const { column } = gridPoint;\n const tableColumn = this.getTableColumn(column);\n\n if (this.isValidColumn(tableColumn)) {\n this.cursor = columnAllowedCursor;\n } else {\n this.cursor = columnNotAllowedCursor;\n }\n\n // don't block wheel event from scrolling\n return { preventDefault: false, stopPropagation: false };\n }\n\n onLeave(): EventHandlerResult {\n if (this.isActive()) {\n this.irisGrid.setState({ hoverSelectColumn: null });\n }\n\n this.updateColumnSelectionStatus();\n\n return false;\n }\n\n onDown(): EventHandlerResult {\n return this.isActive();\n }\n\n onClick(gridPoint: GridPoint): EventHandlerResult {\n if (!this.isActive()) {\n return false;\n }\n\n const { column } = gridPoint;\n const tableColumn = this.getTableColumn(column);\n if (tableColumn != null && this.isValidColumn(tableColumn)) {\n this.irisGrid.selectColumn(tableColumn);\n }\n\n return true;\n }\n}\n\nexport default IrisGridColumnSelectMouseHandler;\n"],"mappings":"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"}
@@ -1,46 +1,36 @@
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
  /* eslint class-methods-use-this: "off" */
4
3
  import { GridMouseHandler } from '@deephaven/grid';
5
-
6
4
  /**
7
5
  * Detects mouse hover over column headers and displays the appropriate tooltip
8
6
  */
9
7
  class IrisGridColumnTooltipMouseHandler extends GridMouseHandler {
10
8
  constructor(irisGrid) {
11
9
  super();
12
-
13
10
  _defineProperty(this, "irisGrid", void 0);
14
-
15
11
  this.irisGrid = irisGrid;
16
12
  }
17
-
18
13
  hideColumnTooltip() {
19
14
  var {
20
15
  tooltip
21
16
  } = this.irisGrid;
22
-
23
17
  if (tooltip) {
24
18
  tooltip.stopTimer();
25
19
  tooltip.hide();
26
20
  }
27
21
  }
28
-
29
22
  onDown() {
30
23
  this.hideColumnTooltip();
31
24
  return false;
32
25
  }
33
-
34
26
  onContextMenu() {
35
27
  this.hideColumnTooltip();
36
28
  return false;
37
29
  }
38
-
39
30
  onWheel() {
40
31
  this.hideColumnTooltip();
41
32
  return false;
42
33
  }
43
-
44
34
  onLeave(gridPoint, grid, event) {
45
35
  /**
46
36
  * This should always be a react event
@@ -55,22 +45,17 @@ class IrisGridColumnTooltipMouseHandler extends GridMouseHandler {
55
45
  var {
56
46
  tooltip
57
47
  } = this.irisGrid;
58
-
59
48
  if (!tooltip) {
60
49
  return false;
61
50
  }
62
-
63
51
  var popper = tooltip.popper.current;
64
-
65
52
  if (popper && relatedTarget instanceof Element && popper.element.contains(relatedTarget)) {
66
53
  // Do not hide the popper if we moved the cursor from canvas to popper
67
54
  return false;
68
55
  }
69
-
70
56
  this.hideColumnTooltip();
71
57
  return false;
72
58
  }
73
-
74
59
  onMove(gridPoint) {
75
60
  var {
76
61
  column,
@@ -81,21 +66,16 @@ class IrisGridColumnTooltipMouseHandler extends GridMouseHandler {
81
66
  shownColumnTooltip
82
67
  } = this.irisGrid.state;
83
68
  var newTooltip = null;
84
-
85
69
  if (column !== null && row === null && columnHeaderDepth === 0) {
86
70
  newTooltip = column;
87
71
  }
88
-
89
72
  if (newTooltip !== shownColumnTooltip) {
90
73
  this.irisGrid.setState({
91
74
  shownColumnTooltip: newTooltip
92
75
  });
93
76
  }
94
-
95
77
  return false;
96
78
  }
97
-
98
79
  }
99
-
100
80
  export default IrisGridColumnTooltipMouseHandler;
101
81
  //# sourceMappingURL=IrisGridColumnTooltipMouseHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridColumnTooltipMouseHandler.js","names":["GridMouseHandler","IrisGridColumnTooltipMouseHandler","constructor","irisGrid","hideColumnTooltip","tooltip","stopTimer","hide","onDown","onContextMenu","onWheel","onLeave","gridPoint","grid","event","relatedTarget","MouseEvent","nativeEvent","popper","current","Element","element","contains","onMove","column","row","columnHeaderDepth","shownColumnTooltip","state","newTooltip","setState"],"sources":["../../src/mousehandlers/IrisGridColumnTooltipMouseHandler.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport {\n GridMouseHandler,\n GridPoint,\n EventHandlerResult,\n Grid,\n GridMouseEvent,\n} from '@deephaven/grid';\nimport type { IrisGrid } from '../IrisGrid';\n\n/**\n * Detects mouse hover over column headers and displays the appropriate tooltip\n */\nclass IrisGridColumnTooltipMouseHandler extends GridMouseHandler {\n constructor(irisGrid: IrisGrid) {\n super();\n\n this.irisGrid = irisGrid;\n }\n\n private irisGrid: IrisGrid;\n\n private hideColumnTooltip(): void {\n const { tooltip } = this.irisGrid;\n if (tooltip) {\n tooltip.stopTimer();\n tooltip.hide();\n }\n }\n\n onDown(): EventHandlerResult {\n this.hideColumnTooltip();\n return false;\n }\n\n onContextMenu(): EventHandlerResult {\n this.hideColumnTooltip();\n return false;\n }\n\n onWheel(): EventHandlerResult {\n this.hideColumnTooltip();\n return false;\n }\n\n onLeave(\n gridPoint: GridPoint,\n grid: Grid,\n event: GridMouseEvent\n ): EventHandlerResult {\n /**\n * This should always be a react event\n * React seems to be handling onMouseLeave incorrectly at times\n * When moving to the padding between the column and popper, React sets\n * event.relatedTarget to window, but event.nativeEvent.relatedTarget is the popper.\n * It's possibly related to popper being rendered in a portal\n */\n const { relatedTarget } =\n event instanceof MouseEvent ? event : event.nativeEvent;\n\n const { tooltip } = this.irisGrid;\n if (!tooltip) {\n return false;\n }\n\n const popper = tooltip.popper.current;\n\n if (\n popper &&\n relatedTarget instanceof Element &&\n popper.element.contains(relatedTarget)\n ) {\n // Do not hide the popper if we moved the cursor from canvas to popper\n return false;\n }\n this.hideColumnTooltip();\n return false;\n }\n\n onMove(gridPoint: GridPoint): EventHandlerResult {\n const { column, row, columnHeaderDepth } = gridPoint;\n const { shownColumnTooltip } = this.irisGrid.state;\n let newTooltip = null;\n if (column !== null && row === null && columnHeaderDepth === 0) {\n newTooltip = column;\n }\n\n if (newTooltip !== shownColumnTooltip) {\n this.irisGrid.setState({ shownColumnTooltip: newTooltip });\n }\n\n return false;\n }\n}\n\nexport default IrisGridColumnTooltipMouseHandler;\n"],"mappings":";;AAAA;AACA,SACEA,gBADF,QAMO,iBANP;;AASA;AACA;AACA;AACA,MAAMC,iCAAN,SAAgDD,gBAAhD,CAAiE;EAC/DE,WAAW,CAACC,QAAD,EAAqB;IAC9B;;IAD8B;;IAG9B,KAAKA,QAAL,GAAgBA,QAAhB;EACD;;EAIOC,iBAAiB,GAAS;IAChC,IAAM;MAAEC;IAAF,IAAc,KAAKF,QAAzB;;IACA,IAAIE,OAAJ,EAAa;MACXA,OAAO,CAACC,SAAR;MACAD,OAAO,CAACE,IAAR;IACD;EACF;;EAEDC,MAAM,GAAuB;IAC3B,KAAKJ,iBAAL;IACA,OAAO,KAAP;EACD;;EAEDK,aAAa,GAAuB;IAClC,KAAKL,iBAAL;IACA,OAAO,KAAP;EACD;;EAEDM,OAAO,GAAuB;IAC5B,KAAKN,iBAAL;IACA,OAAO,KAAP;EACD;;EAEDO,OAAO,CACLC,SADK,EAELC,IAFK,EAGLC,KAHK,EAIe;IACpB;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAM;MAAEC;IAAF,IACJD,KAAK,YAAYE,UAAjB,GAA8BF,KAA9B,GAAsCA,KAAK,CAACG,WAD9C;IAGA,IAAM;MAAEZ;IAAF,IAAc,KAAKF,QAAzB;;IACA,IAAI,CAACE,OAAL,EAAc;MACZ,OAAO,KAAP;IACD;;IAED,IAAMa,MAAM,GAAGb,OAAO,CAACa,MAAR,CAAeC,OAA9B;;IAEA,IACED,MAAM,IACNH,aAAa,YAAYK,OADzB,IAEAF,MAAM,CAACG,OAAP,CAAeC,QAAf,CAAwBP,aAAxB,CAHF,EAIE;MACA;MACA,OAAO,KAAP;IACD;;IACD,KAAKX,iBAAL;IACA,OAAO,KAAP;EACD;;EAEDmB,MAAM,CAACX,SAAD,EAA2C;IAC/C,IAAM;MAAEY,MAAF;MAAUC,GAAV;MAAeC;IAAf,IAAqCd,SAA3C;IACA,IAAM;MAAEe;IAAF,IAAyB,KAAKxB,QAAL,CAAcyB,KAA7C;IACA,IAAIC,UAAU,GAAG,IAAjB;;IACA,IAAIL,MAAM,KAAK,IAAX,IAAmBC,GAAG,KAAK,IAA3B,IAAmCC,iBAAiB,KAAK,CAA7D,EAAgE;MAC9DG,UAAU,GAAGL,MAAb;IACD;;IAED,IAAIK,UAAU,KAAKF,kBAAnB,EAAuC;MACrC,KAAKxB,QAAL,CAAc2B,QAAd,CAAuB;QAAEH,kBAAkB,EAAEE;MAAtB,CAAvB;IACD;;IAED,OAAO,KAAP;EACD;;AA/E8D;;AAkFjE,eAAe5B,iCAAf"}
1
+ {"version":3,"file":"IrisGridColumnTooltipMouseHandler.js","names":["GridMouseHandler","IrisGridColumnTooltipMouseHandler","constructor","irisGrid","hideColumnTooltip","tooltip","stopTimer","hide","onDown","onContextMenu","onWheel","onLeave","gridPoint","grid","event","relatedTarget","MouseEvent","nativeEvent","popper","current","Element","element","contains","onMove","column","row","columnHeaderDepth","shownColumnTooltip","state","newTooltip","setState"],"sources":["../../src/mousehandlers/IrisGridColumnTooltipMouseHandler.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport {\n GridMouseHandler,\n GridPoint,\n EventHandlerResult,\n Grid,\n GridMouseEvent,\n} from '@deephaven/grid';\nimport type { IrisGrid } from '../IrisGrid';\n\n/**\n * Detects mouse hover over column headers and displays the appropriate tooltip\n */\nclass IrisGridColumnTooltipMouseHandler extends GridMouseHandler {\n constructor(irisGrid: IrisGrid) {\n super();\n\n this.irisGrid = irisGrid;\n }\n\n private irisGrid: IrisGrid;\n\n private hideColumnTooltip(): void {\n const { tooltip } = this.irisGrid;\n if (tooltip) {\n tooltip.stopTimer();\n tooltip.hide();\n }\n }\n\n onDown(): EventHandlerResult {\n this.hideColumnTooltip();\n return false;\n }\n\n onContextMenu(): EventHandlerResult {\n this.hideColumnTooltip();\n return false;\n }\n\n onWheel(): EventHandlerResult {\n this.hideColumnTooltip();\n return false;\n }\n\n onLeave(\n gridPoint: GridPoint,\n grid: Grid,\n event: GridMouseEvent\n ): EventHandlerResult {\n /**\n * This should always be a react event\n * React seems to be handling onMouseLeave incorrectly at times\n * When moving to the padding between the column and popper, React sets\n * event.relatedTarget to window, but event.nativeEvent.relatedTarget is the popper.\n * It's possibly related to popper being rendered in a portal\n */\n const { relatedTarget } =\n event instanceof MouseEvent ? event : event.nativeEvent;\n\n const { tooltip } = this.irisGrid;\n if (!tooltip) {\n return false;\n }\n\n const popper = tooltip.popper.current;\n\n if (\n popper &&\n relatedTarget instanceof Element &&\n popper.element.contains(relatedTarget)\n ) {\n // Do not hide the popper if we moved the cursor from canvas to popper\n return false;\n }\n this.hideColumnTooltip();\n return false;\n }\n\n onMove(gridPoint: GridPoint): EventHandlerResult {\n const { column, row, columnHeaderDepth } = gridPoint;\n const { shownColumnTooltip } = this.irisGrid.state;\n let newTooltip = null;\n if (column !== null && row === null && columnHeaderDepth === 0) {\n newTooltip = column;\n }\n\n if (newTooltip !== shownColumnTooltip) {\n this.irisGrid.setState({ shownColumnTooltip: newTooltip });\n }\n\n return false;\n }\n}\n\nexport default IrisGridColumnTooltipMouseHandler;\n"],"mappings":";AAAA;AACA,SACEA,gBAAgB,QAKX,iBAAiB;AAGxB;AACA;AACA;AACA,MAAMC,iCAAiC,SAASD,gBAAgB,CAAC;EAC/DE,WAAW,CAACC,QAAkB,EAAE;IAC9B,KAAK,EAAE;IAAC;IAER,IAAI,CAACA,QAAQ,GAAGA,QAAQ;EAC1B;EAIQC,iBAAiB,GAAS;IAChC,IAAM;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAACF,QAAQ;IACjC,IAAIE,OAAO,EAAE;MACXA,OAAO,CAACC,SAAS,EAAE;MACnBD,OAAO,CAACE,IAAI,EAAE;IAChB;EACF;EAEAC,MAAM,GAAuB;IAC3B,IAAI,CAACJ,iBAAiB,EAAE;IACxB,OAAO,KAAK;EACd;EAEAK,aAAa,GAAuB;IAClC,IAAI,CAACL,iBAAiB,EAAE;IACxB,OAAO,KAAK;EACd;EAEAM,OAAO,GAAuB;IAC5B,IAAI,CAACN,iBAAiB,EAAE;IACxB,OAAO,KAAK;EACd;EAEAO,OAAO,CACLC,SAAoB,EACpBC,IAAU,EACVC,KAAqB,EACD;IACpB;AACJ;AACA;AACA;AACA;AACA;AACA;IACI,IAAM;MAAEC;IAAc,CAAC,GACrBD,KAAK,YAAYE,UAAU,GAAGF,KAAK,GAAGA,KAAK,CAACG,WAAW;IAEzD,IAAM;MAAEZ;IAAQ,CAAC,GAAG,IAAI,CAACF,QAAQ;IACjC,IAAI,CAACE,OAAO,EAAE;MACZ,OAAO,KAAK;IACd;IAEA,IAAMa,MAAM,GAAGb,OAAO,CAACa,MAAM,CAACC,OAAO;IAErC,IACED,MAAM,IACNH,aAAa,YAAYK,OAAO,IAChCF,MAAM,CAACG,OAAO,CAACC,QAAQ,CAACP,aAAa,CAAC,EACtC;MACA;MACA,OAAO,KAAK;IACd;IACA,IAAI,CAACX,iBAAiB,EAAE;IACxB,OAAO,KAAK;EACd;EAEAmB,MAAM,CAACX,SAAoB,EAAsB;IAC/C,IAAM;MAAEY,MAAM;MAAEC,GAAG;MAAEC;IAAkB,CAAC,GAAGd,SAAS;IACpD,IAAM;MAAEe;IAAmB,CAAC,GAAG,IAAI,CAACxB,QAAQ,CAACyB,KAAK;IAClD,IAAIC,UAAU,GAAG,IAAI;IACrB,IAAIL,MAAM,KAAK,IAAI,IAAIC,GAAG,KAAK,IAAI,IAAIC,iBAAiB,KAAK,CAAC,EAAE;MAC9DG,UAAU,GAAGL,MAAM;IACrB;IAEA,IAAIK,UAAU,KAAKF,kBAAkB,EAAE;MACrC,IAAI,CAACxB,QAAQ,CAAC2B,QAAQ,CAAC;QAAEH,kBAAkB,EAAEE;MAAW,CAAC,CAAC;IAC5D;IAEA,OAAO,KAAK;EACd;AACF;AAEA,eAAe5B,iCAAiC"}