@deephaven/iris-grid 0.22.3-beta.18 → 0.22.3-beta.21

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 (199) hide show
  1. package/dist/AdvancedFilterCreator.js +7 -65
  2. package/dist/AdvancedFilterCreator.js.map +1 -1
  3. package/dist/AdvancedFilterCreatorFilterItem.js +0 -23
  4. package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
  5. package/dist/AdvancedFilterCreatorSelectValue.js +0 -52
  6. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  7. package/dist/AdvancedFilterCreatorSelectValueList.js +2 -42
  8. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  9. package/dist/ColumnHeaderGroup.js +0 -11
  10. package/dist/ColumnHeaderGroup.js.map +1 -1
  11. package/dist/ColumnStatistics.js +1 -20
  12. package/dist/ColumnStatistics.js.map +1 -1
  13. package/dist/CrossColumnSearch.js +2 -23
  14. package/dist/CrossColumnSearch.js.map +1 -1
  15. package/dist/FilterInputField.js +2 -36
  16. package/dist/FilterInputField.js.map +1 -1
  17. package/dist/GotoRow.d.ts +1 -1
  18. package/dist/GotoRow.d.ts.map +1 -1
  19. package/dist/GotoRow.js +2 -7
  20. package/dist/GotoRow.js.map +1 -1
  21. package/dist/IrisGrid.d.ts +11 -5
  22. package/dist/IrisGrid.d.ts.map +1 -1
  23. package/dist/IrisGrid.js +77 -519
  24. package/dist/IrisGrid.js.map +1 -1
  25. package/dist/IrisGridBottomBar.d.ts +1 -1
  26. package/dist/IrisGridBottomBar.d.ts.map +1 -1
  27. package/dist/IrisGridBottomBar.js +2 -2
  28. package/dist/IrisGridBottomBar.js.map +1 -1
  29. package/dist/IrisGridCellOverflowModal.js +6 -21
  30. package/dist/IrisGridCellOverflowModal.js.map +1 -1
  31. package/dist/IrisGridCopyHandler.js +3 -50
  32. package/dist/IrisGridCopyHandler.js.map +1 -1
  33. package/dist/IrisGridMetricCalculator.js +2 -12
  34. package/dist/IrisGridMetricCalculator.js.map +1 -1
  35. package/dist/IrisGridModel.js +32 -58
  36. package/dist/IrisGridModel.js.map +1 -1
  37. package/dist/IrisGridModelFactory.js +0 -7
  38. package/dist/IrisGridModelFactory.js.map +1 -1
  39. package/dist/IrisGridModelUpdater.js +0 -4
  40. package/dist/IrisGridModelUpdater.js.map +1 -1
  41. package/dist/IrisGridPartitionSelector.js +0 -23
  42. package/dist/IrisGridPartitionSelector.js.map +1 -1
  43. package/dist/IrisGridProxyModel.js +9 -153
  44. package/dist/IrisGridProxyModel.js.map +1 -1
  45. package/dist/IrisGridRenderer.js +41 -183
  46. package/dist/IrisGridRenderer.js.map +1 -1
  47. package/dist/IrisGridShortcuts.js.map +1 -1
  48. package/dist/IrisGridTableModel.js +7 -86
  49. package/dist/IrisGridTableModel.js.map +1 -1
  50. package/dist/IrisGridTableModelTemplate.js +70 -461
  51. package/dist/IrisGridTableModelTemplate.js.map +1 -1
  52. package/dist/IrisGridTestUtils.js +0 -23
  53. package/dist/IrisGridTestUtils.js.map +1 -1
  54. package/dist/IrisGridTheme.js.map +1 -1
  55. package/dist/IrisGridTreeTableModel.js +3 -42
  56. package/dist/IrisGridTreeTableModel.js.map +1 -1
  57. package/dist/IrisGridUtils.d.ts +8 -2
  58. package/dist/IrisGridUtils.d.ts.map +1 -1
  59. package/dist/IrisGridUtils.js +97 -195
  60. package/dist/IrisGridUtils.js.map +1 -1
  61. package/dist/MissingKeyError.js +0 -7
  62. package/dist/MissingKeyError.js.map +1 -1
  63. package/dist/PartitionSelectorSearch.js +2 -48
  64. package/dist/PartitionSelectorSearch.js.map +1 -1
  65. package/dist/PendingDataBottomBar.d.ts +1 -1
  66. package/dist/PendingDataBottomBar.d.ts.map +1 -1
  67. package/dist/PendingDataBottomBar.js +2 -7
  68. package/dist/PendingDataBottomBar.js.map +1 -1
  69. package/dist/TableViewportUpdater.js +3 -29
  70. package/dist/TableViewportUpdater.js.map +1 -1
  71. package/dist/ToastBottomBar.d.ts +1 -1
  72. package/dist/ToastBottomBar.d.ts.map +1 -1
  73. package/dist/ToastBottomBar.js +2 -4
  74. package/dist/ToastBottomBar.js.map +1 -1
  75. package/dist/TreeTableViewportUpdater.js +0 -21
  76. package/dist/TreeTableViewportUpdater.js.map +1 -1
  77. package/dist/format-context-menus/CustomFormatAction.js +4 -25
  78. package/dist/format-context-menus/CustomFormatAction.js.map +1 -1
  79. package/dist/format-context-menus/DateTimeFormatContextMenu.js +0 -7
  80. package/dist/format-context-menus/DateTimeFormatContextMenu.js.map +1 -1
  81. package/dist/format-context-menus/DecimalFormatContextMenu.js +0 -9
  82. package/dist/format-context-menus/DecimalFormatContextMenu.js.map +1 -1
  83. package/dist/format-context-menus/FormatContextMenuUtils.js +3 -9
  84. package/dist/format-context-menus/FormatContextMenuUtils.js.map +1 -1
  85. package/dist/format-context-menus/IntegerFormatContextMenu.js +0 -8
  86. package/dist/format-context-menus/IntegerFormatContextMenu.js.map +1 -1
  87. package/dist/format-context-menus/index.js.map +1 -1
  88. package/dist/index.d.ts +3 -3
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +3 -3
  91. package/dist/index.js.map +1 -1
  92. package/dist/key-handlers/ClearFilterKeyHandler.js +0 -8
  93. package/dist/key-handlers/ClearFilterKeyHandler.js.map +1 -1
  94. package/dist/key-handlers/CopyKeyHandler.js +1 -10
  95. package/dist/key-handlers/CopyKeyHandler.js.map +1 -1
  96. package/dist/key-handlers/ReverseKeyHandler.js +0 -11
  97. package/dist/key-handlers/ReverseKeyHandler.js.map +1 -1
  98. package/dist/key-handlers/index.js.map +1 -1
  99. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js +2 -32
  100. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
  101. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +4 -34
  102. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
  103. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +0 -20
  104. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
  105. package/dist/mousehandlers/IrisGridContextMenuHandler.js +15 -105
  106. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  107. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js +0 -9
  108. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js.map +1 -1
  109. package/dist/mousehandlers/IrisGridFilterMouseHandler.js +0 -17
  110. package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
  111. package/dist/mousehandlers/IrisGridSortMouseHandler.js +2 -15
  112. package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
  113. package/dist/mousehandlers/PendingMouseHandler.js +0 -6
  114. package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
  115. package/dist/mousehandlers/index.js.map +1 -1
  116. package/dist/sidebar/AdvancedSettings.js.map +1 -1
  117. package/dist/sidebar/AdvancedSettingsMenu.d.ts +4 -4
  118. package/dist/sidebar/AdvancedSettingsMenu.d.ts.map +1 -1
  119. package/dist/sidebar/AdvancedSettingsMenu.js +2 -6
  120. package/dist/sidebar/AdvancedSettingsMenu.js.map +1 -1
  121. package/dist/sidebar/AdvancedSettingsType.js +0 -2
  122. package/dist/sidebar/AdvancedSettingsType.js.map +1 -1
  123. package/dist/sidebar/ChartBuilder.js +2 -46
  124. package/dist/sidebar/ChartBuilder.js.map +1 -1
  125. package/dist/sidebar/CustomColumnBuilder.js +6 -58
  126. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  127. package/dist/sidebar/CustomColumnInput.js +4 -15
  128. package/dist/sidebar/CustomColumnInput.js.map +1 -1
  129. package/dist/sidebar/InputEditor.js +5 -36
  130. package/dist/sidebar/InputEditor.js.map +1 -1
  131. package/dist/sidebar/OptionType.js +0 -2
  132. package/dist/sidebar/OptionType.js.map +1 -1
  133. package/dist/sidebar/RollupRows.js +9 -65
  134. package/dist/sidebar/RollupRows.js.map +1 -1
  135. package/dist/sidebar/SelectDistinctBuilder.js +0 -13
  136. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  137. package/dist/sidebar/TableCsvExporter.js +0 -52
  138. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  139. package/dist/sidebar/TableSaver.js +10 -123
  140. package/dist/sidebar/TableSaver.js.map +1 -1
  141. package/dist/sidebar/VisibilityOrderingBuilder.js +37 -116
  142. package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
  143. package/dist/sidebar/aggregations/AggregationEdit.d.ts +1 -1
  144. package/dist/sidebar/aggregations/AggregationEdit.d.ts.map +1 -1
  145. package/dist/sidebar/aggregations/AggregationEdit.js +2 -14
  146. package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
  147. package/dist/sidebar/aggregations/AggregationOperation.js +0 -2
  148. package/dist/sidebar/aggregations/AggregationOperation.js.map +1 -1
  149. package/dist/sidebar/aggregations/AggregationUtils.js +2 -5
  150. package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
  151. package/dist/sidebar/aggregations/Aggregations.d.ts +1 -1
  152. package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
  153. package/dist/sidebar/aggregations/Aggregations.js +2 -12
  154. package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
  155. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts +1 -1
  156. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts.map +1 -1
  157. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +2 -16
  158. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
  159. package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts +1 -1
  160. package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts.map +1 -1
  161. package/dist/sidebar/conditional-formatting/ConditionEditor.js +2 -35
  162. package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
  163. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts +1 -1
  164. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts.map +1 -1
  165. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +2 -12
  166. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
  167. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js +0 -3
  168. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js.map +1 -1
  169. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts +1 -1
  170. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
  171. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +16 -26
  172. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
  173. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +9 -172
  174. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
  175. package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts +1 -1
  176. package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts.map +1 -1
  177. package/dist/sidebar/conditional-formatting/RowFormatEditor.js +2 -16
  178. package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
  179. package/dist/sidebar/conditional-formatting/StyleEditor.d.ts +1 -1
  180. package/dist/sidebar/conditional-formatting/StyleEditor.d.ts.map +1 -1
  181. package/dist/sidebar/conditional-formatting/StyleEditor.js +2 -12
  182. package/dist/sidebar/conditional-formatting/StyleEditor.js.map +1 -1
  183. package/dist/sidebar/icons/BarIcon.js +0 -3
  184. package/dist/sidebar/icons/BarIcon.js.map +1 -1
  185. package/dist/sidebar/icons/FormatColumnWhereIcon.js +2 -5
  186. package/dist/sidebar/icons/FormatColumnWhereIcon.js.map +1 -1
  187. package/dist/sidebar/icons/FormatRowWhereIcon.js +2 -5
  188. package/dist/sidebar/icons/FormatRowWhereIcon.js.map +1 -1
  189. package/dist/sidebar/icons/HistogramIcon.js +0 -3
  190. package/dist/sidebar/icons/HistogramIcon.js.map +1 -1
  191. package/dist/sidebar/icons/LineIcon.js +0 -3
  192. package/dist/sidebar/icons/LineIcon.js.map +1 -1
  193. package/dist/sidebar/icons/PieIcon.js +0 -3
  194. package/dist/sidebar/icons/PieIcon.js.map +1 -1
  195. package/dist/sidebar/icons/ScatterIcon.js +0 -3
  196. package/dist/sidebar/icons/ScatterIcon.js.map +1 -1
  197. package/dist/sidebar/icons/index.js.map +1 -1
  198. package/dist/sidebar/index.js.map +1 -1
  199. package/package.json +15 -15
@@ -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"}