@deephaven/iris-grid 0.13.3-treemap.2 → 0.14.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 (184) hide show
  1. package/dist/AdvancedFilterCreator.d.ts +69 -63
  2. package/dist/AdvancedFilterCreator.d.ts.map +1 -1
  3. package/dist/AdvancedFilterCreator.js +79 -73
  4. package/dist/AdvancedFilterCreator.js.map +1 -1
  5. package/dist/AdvancedFilterCreatorSelectValue.d.ts +45 -45
  6. package/dist/AdvancedFilterCreatorSelectValue.d.ts.map +1 -1
  7. package/dist/AdvancedFilterCreatorSelectValue.js +32 -36
  8. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  9. package/dist/AdvancedFilterCreatorSelectValueList.d.ts +47 -52
  10. package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
  11. package/dist/AdvancedFilterCreatorSelectValueList.js +24 -39
  12. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  13. package/dist/ColumnStatistics.d.ts +34 -22
  14. package/dist/ColumnStatistics.d.ts.map +1 -1
  15. package/dist/ColumnStatistics.js +8 -12
  16. package/dist/ColumnStatistics.js.map +1 -1
  17. package/dist/CommonTypes.d.ts +58 -0
  18. package/dist/CommonTypes.d.ts.map +1 -0
  19. package/dist/CommonTypes.js +2 -0
  20. package/dist/CommonTypes.js.map +1 -0
  21. package/dist/CrossColumnSearch.d.ts +26 -24
  22. package/dist/CrossColumnSearch.d.ts.map +1 -1
  23. package/dist/CrossColumnSearch.js +9 -13
  24. package/dist/CrossColumnSearch.js.map +1 -1
  25. package/dist/FilterInputField.d.ts +48 -51
  26. package/dist/FilterInputField.d.ts.map +1 -1
  27. package/dist/FilterInputField.js +30 -27
  28. package/dist/FilterInputField.js.map +1 -1
  29. package/dist/IrisGrid.d.ts +409 -453
  30. package/dist/IrisGrid.d.ts.map +1 -1
  31. package/dist/IrisGrid.js +514 -449
  32. package/dist/IrisGrid.js.map +1 -1
  33. package/dist/IrisGridCellOverflowModal.d.ts +1 -1
  34. package/dist/IrisGridCellOverflowModal.d.ts.map +1 -1
  35. package/dist/IrisGridCellOverflowModal.js.map +1 -1
  36. package/dist/IrisGridCopyHandler.d.ts +52 -46
  37. package/dist/IrisGridCopyHandler.d.ts.map +1 -1
  38. package/dist/IrisGridCopyHandler.js +22 -38
  39. package/dist/IrisGridCopyHandler.js.map +1 -1
  40. package/dist/IrisGridMetricCalculator.d.ts +5 -4
  41. package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
  42. package/dist/IrisGridMetricCalculator.js +5 -1
  43. package/dist/IrisGridMetricCalculator.js.map +1 -1
  44. package/dist/IrisGridModel.d.ts +37 -35
  45. package/dist/IrisGridModel.d.ts.map +1 -1
  46. package/dist/IrisGridModel.js +19 -3
  47. package/dist/IrisGridModel.js.map +1 -1
  48. package/dist/IrisGridModelFactory.d.ts +7 -5
  49. package/dist/IrisGridModelFactory.d.ts.map +1 -1
  50. package/dist/IrisGridModelFactory.js +5 -5
  51. package/dist/IrisGridModelFactory.js.map +1 -1
  52. package/dist/IrisGridModelUpdater.d.ts +13 -11
  53. package/dist/IrisGridModelUpdater.d.ts.map +1 -1
  54. package/dist/IrisGridModelUpdater.js.map +1 -1
  55. package/dist/IrisGridPartitionSelector.d.ts +38 -39
  56. package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
  57. package/dist/IrisGridPartitionSelector.js +18 -24
  58. package/dist/IrisGridPartitionSelector.js.map +1 -1
  59. package/dist/IrisGridProxyModel.d.ts +111 -32
  60. package/dist/IrisGridProxyModel.d.ts.map +1 -1
  61. package/dist/IrisGridProxyModel.js +212 -170
  62. package/dist/IrisGridProxyModel.js.map +1 -1
  63. package/dist/IrisGridRenderer.d.ts +59 -31
  64. package/dist/IrisGridRenderer.d.ts.map +1 -1
  65. package/dist/IrisGridRenderer.js +92 -46
  66. package/dist/IrisGridRenderer.js.map +1 -1
  67. package/dist/IrisGridTableModel.d.ts +48 -147
  68. package/dist/IrisGridTableModel.d.ts.map +1 -1
  69. package/dist/IrisGridTableModel.js +58 -1381
  70. package/dist/IrisGridTableModel.js.map +1 -1
  71. package/dist/IrisGridTableModelTemplate.d.ts +219 -0
  72. package/dist/IrisGridTableModelTemplate.d.ts.map +1 -0
  73. package/dist/IrisGridTableModelTemplate.js +1623 -0
  74. package/dist/IrisGridTableModelTemplate.js.map +1 -0
  75. package/dist/IrisGridTestUtils.d.ts +18 -14
  76. package/dist/IrisGridTestUtils.d.ts.map +1 -1
  77. package/dist/IrisGridTestUtils.js +29 -1
  78. package/dist/IrisGridTestUtils.js.map +1 -1
  79. package/dist/IrisGridTheme.d.ts +35 -3
  80. package/dist/IrisGridTheme.d.ts.map +1 -1
  81. package/dist/IrisGridTheme.js.map +1 -1
  82. package/dist/IrisGridTreeTableModel.d.ts +26 -7
  83. package/dist/IrisGridTreeTableModel.d.ts.map +1 -1
  84. package/dist/IrisGridTreeTableModel.js +24 -14
  85. package/dist/IrisGridTreeTableModel.js.map +1 -1
  86. package/dist/IrisGridUtils.d.ts +257 -162
  87. package/dist/IrisGridUtils.d.ts.map +1 -1
  88. package/dist/IrisGridUtils.js +132 -95
  89. package/dist/IrisGridUtils.js.map +1 -1
  90. package/dist/MissingKeyError.d.ts +5 -3
  91. package/dist/MissingKeyError.d.ts.map +1 -1
  92. package/dist/MissingKeyError.js.map +1 -1
  93. package/dist/PartitionSelectorSearch.d.ts +61 -40
  94. package/dist/PartitionSelectorSearch.d.ts.map +1 -1
  95. package/dist/PartitionSelectorSearch.js +25 -15
  96. package/dist/PartitionSelectorSearch.js.map +1 -1
  97. package/dist/PendingDataBottomBar.d.ts +3 -6
  98. package/dist/PendingDataBottomBar.d.ts.map +1 -1
  99. package/dist/PendingDataBottomBar.js.map +1 -1
  100. package/dist/TableViewportUpdater.d.ts +39 -55
  101. package/dist/TableViewportUpdater.d.ts.map +1 -1
  102. package/dist/TableViewportUpdater.js +42 -64
  103. package/dist/TableViewportUpdater.js.map +1 -1
  104. package/dist/TreeTableViewportUpdater.d.ts +29 -37
  105. package/dist/TreeTableViewportUpdater.d.ts.map +1 -1
  106. package/dist/TreeTableViewportUpdater.js +39 -50
  107. package/dist/TreeTableViewportUpdater.js.map +1 -1
  108. package/dist/index.d.ts +9 -0
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +9 -0
  111. package/dist/index.js.map +1 -1
  112. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.d.ts.map +1 -1
  113. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
  114. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts +1 -1
  115. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts.map +1 -1
  116. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +2 -0
  117. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
  118. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +1 -1
  119. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
  120. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +41 -130
  121. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
  122. package/dist/mousehandlers/IrisGridContextMenuHandler.js +426 -317
  123. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  124. package/dist/mousehandlers/IrisGridFilterMouseHandler.d.ts.map +1 -1
  125. package/dist/mousehandlers/IrisGridFilterMouseHandler.js +2 -2
  126. package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
  127. package/dist/mousehandlers/IrisGridSortMouseHandler.js +1 -1
  128. package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
  129. package/dist/mousehandlers/PendingMouseHandler.d.ts +8 -4
  130. package/dist/mousehandlers/PendingMouseHandler.d.ts.map +1 -1
  131. package/dist/mousehandlers/PendingMouseHandler.js +4 -5
  132. package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
  133. package/dist/sidebar/ChartBuilder.d.ts +48 -33
  134. package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
  135. package/dist/sidebar/ChartBuilder.js +28 -27
  136. package/dist/sidebar/ChartBuilder.js.map +1 -1
  137. package/dist/sidebar/CustomColumnBuilder.d.ts +51 -41
  138. package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
  139. package/dist/sidebar/CustomColumnBuilder.js +22 -18
  140. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  141. package/dist/sidebar/CustomColumnInput.d.ts +26 -36
  142. package/dist/sidebar/CustomColumnInput.d.ts.map +1 -1
  143. package/dist/sidebar/CustomColumnInput.js +11 -20
  144. package/dist/sidebar/CustomColumnInput.js.map +1 -1
  145. package/dist/sidebar/InputEditor.d.ts +34 -35
  146. package/dist/sidebar/InputEditor.d.ts.map +1 -1
  147. package/dist/sidebar/InputEditor.js +43 -24
  148. package/dist/sidebar/InputEditor.js.map +1 -1
  149. package/dist/sidebar/RollupRows.d.ts +67 -52
  150. package/dist/sidebar/RollupRows.d.ts.map +1 -1
  151. package/dist/sidebar/RollupRows.js +51 -53
  152. package/dist/sidebar/RollupRows.js.map +1 -1
  153. package/dist/sidebar/SelectDistinctBuilder.d.ts +27 -21
  154. package/dist/sidebar/SelectDistinctBuilder.d.ts.map +1 -1
  155. package/dist/sidebar/SelectDistinctBuilder.js +6 -10
  156. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  157. package/dist/sidebar/TableCsvExporter.d.ts +42 -39
  158. package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
  159. package/dist/sidebar/TableCsvExporter.js +12 -20
  160. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  161. package/dist/sidebar/TableSaver.d.ts +59 -60
  162. package/dist/sidebar/TableSaver.d.ts.map +1 -1
  163. package/dist/sidebar/TableSaver.js +154 -68
  164. package/dist/sidebar/TableSaver.js.map +1 -1
  165. package/dist/sidebar/VisibilityOrderingBuilder.d.ts +56 -45
  166. package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
  167. package/dist/sidebar/VisibilityOrderingBuilder.js +34 -29
  168. package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
  169. package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
  170. package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
  171. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts +2 -1
  172. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
  173. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
  174. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +6 -5
  175. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
  176. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +5 -0
  177. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
  178. package/dist/sidebar/icons/index.d.ts +7 -7
  179. package/dist/sidebar/icons/index.d.ts.map +1 -1
  180. package/dist/sidebar/icons/index.js.map +1 -1
  181. package/dist/sidebar/index.d.ts +12 -12
  182. package/dist/sidebar/index.d.ts.map +1 -1
  183. package/dist/sidebar/index.js.map +1 -1
  184. package/package.json +17 -16
@@ -1,21 +1,53 @@
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
2
 
3
3
  import { PureComponent } from 'react';
4
- import PropTypes from 'prop-types';
5
4
  import throttle from 'lodash.throttle';
6
5
  import dh from '@deephaven/jsapi-shim';
7
6
  import Log from '@deephaven/log';
8
7
  var log = Log.module('TreeTableViewportUpdater');
9
8
  var UPDATE_THROTTLE = 150;
9
+
10
10
  /**
11
11
  * Updates the viewport of a TreeTable for use in a scroll pane.
12
12
  * Automatically throttles the viewport requests and buffers above and below.
13
13
  */
14
-
15
14
  class TreeTableViewportUpdater extends PureComponent {
16
15
  constructor(props) {
17
16
  super(props);
18
- this.updateViewport = throttle(this.updateViewport.bind(this), UPDATE_THROTTLE);
17
+
18
+ _defineProperty(this, "listenerCleanup", void 0);
19
+
20
+ _defineProperty(this, "updateViewport", throttle((top, bottom) => {
21
+ if (bottom < top) {
22
+ log.error('Invalid viewport', top, bottom);
23
+ return;
24
+ }
25
+
26
+ if (top === 0 && bottom === 0) {
27
+ log.debug2('Ignoring 0-0 viewport');
28
+ return;
29
+ }
30
+
31
+ var {
32
+ table,
33
+ updateInterval
34
+ } = this.props;
35
+ var viewSize = bottom - top;
36
+ var viewportTop = Math.max(0, top - viewSize * 3);
37
+ var viewportBottom = bottom + viewSize * 3 + 1;
38
+ log.debug2('Setting Viewport Top:', viewportTop, 'Bottom:', viewportBottom, table);
39
+
40
+ if (!this.listenerCleanup) {
41
+ var {
42
+ onViewportUpdate
43
+ } = this.props;
44
+ this.listenerCleanup = table.addEventListener(dh.TreeTable.EVENT_UPDATED, onViewportUpdate);
45
+ }
46
+
47
+ table.setViewport(viewportTop, viewportBottom, undefined, updateInterval);
48
+ }, UPDATE_THROTTLE));
49
+
50
+ this.updateViewport = this.updateViewport.bind(this);
19
51
  this.listenerCleanup = null;
20
52
  }
21
53
 
@@ -63,36 +95,6 @@ class TreeTableViewportUpdater extends PureComponent {
63
95
  }
64
96
  }
65
97
 
66
- updateViewport(top, bottom) {
67
- if (bottom < top) {
68
- log.error('Invalid viewport', top, bottom);
69
- return;
70
- }
71
-
72
- if (top === 0 && bottom === 0) {
73
- log.debug2('Ignoring 0-0 viewport');
74
- return;
75
- }
76
-
77
- var {
78
- table,
79
- updateInterval
80
- } = this.props;
81
- var viewSize = bottom - top;
82
- var viewportTop = Math.max(0, top - viewSize * 3);
83
- var viewportBottom = bottom + viewSize * 3 + 1;
84
- log.debug2('Setting Viewport Top:', viewportTop, 'Bottom:', viewportBottom, table);
85
-
86
- if (!this.listenerCleanup) {
87
- var {
88
- onViewportUpdate
89
- } = this.props;
90
- this.listenerCleanup = table.addEventListener(dh.TreeTable.EVENT_UPDATED, onViewportUpdate);
91
- }
92
-
93
- table.setViewport(viewportTop, viewportBottom, null, updateInterval);
94
- }
95
-
96
98
  render() {
97
99
  return null;
98
100
  }
@@ -101,27 +103,14 @@ class TreeTableViewportUpdater extends PureComponent {
101
103
 
102
104
  _defineProperty(TreeTableViewportUpdater, "UPDATE_INTERVAL", 1000);
103
105
 
104
- TreeTableViewportUpdater.propTypes = {
105
- table: PropTypes.shape({
106
- addEventListener: PropTypes.func.isRequired,
107
- applyFilter: PropTypes.func.isRequired,
108
- applySort: PropTypes.func.isRequired,
109
- setViewport: PropTypes.func.isRequired
110
- }).isRequired,
111
- top: PropTypes.number,
112
- bottom: PropTypes.number,
113
- filters: PropTypes.arrayOf(PropTypes.shape({})),
114
- sorts: PropTypes.arrayOf(PropTypes.shape({})),
115
- updateInterval: PropTypes.number,
116
- onViewportUpdate: PropTypes.func
117
- };
118
- TreeTableViewportUpdater.defaultProps = {
106
+ _defineProperty(TreeTableViewportUpdater, "defaultProps", {
119
107
  top: 0,
120
108
  bottom: 0,
121
- onViewportUpdate: () => {},
109
+ onViewportUpdate: () => undefined,
122
110
  filters: [],
123
111
  sorts: [],
124
112
  updateInterval: TreeTableViewportUpdater.UPDATE_INTERVAL
125
- };
113
+ });
114
+
126
115
  export default TreeTableViewportUpdater;
127
116
  //# sourceMappingURL=TreeTableViewportUpdater.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/TreeTableViewportUpdater.jsx"],"names":["PureComponent","PropTypes","throttle","dh","Log","log","module","UPDATE_THROTTLE","TreeTableViewportUpdater","constructor","props","updateViewport","bind","listenerCleanup","componentDidMount","top","bottom","table","filters","sorts","debug","applyFilter","applySort","componentDidUpdate","prevProps","componentWillUnmount","cancel","error","debug2","updateInterval","viewSize","viewportTop","Math","max","viewportBottom","onViewportUpdate","addEventListener","TreeTable","EVENT_UPDATED","setViewport","render","propTypes","shape","func","isRequired","number","arrayOf","defaultProps","UPDATE_INTERVAL"],"mappings":"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","sourcesContent":["import { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport throttle from 'lodash.throttle';\nimport dh from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\n\nconst log = Log.module('TreeTableViewportUpdater');\n\nconst UPDATE_THROTTLE = 150;\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 static UPDATE_INTERVAL = 1000;\n\n constructor(props) {\n super(props);\n\n this.updateViewport = throttle(\n this.updateViewport.bind(this),\n UPDATE_THROTTLE\n );\n\n this.listenerCleanup = null;\n }\n\n componentDidMount() {\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) {\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() {\n this.updateViewport.cancel();\n if (this.listenerCleanup) {\n this.listenerCleanup();\n }\n }\n\n updateViewport(top, bottom) {\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, null, updateInterval);\n }\n\n render() {\n return null;\n }\n}\n\nTreeTableViewportUpdater.propTypes = {\n table: PropTypes.shape({\n addEventListener: PropTypes.func.isRequired,\n applyFilter: PropTypes.func.isRequired,\n applySort: PropTypes.func.isRequired,\n setViewport: PropTypes.func.isRequired,\n }).isRequired,\n top: PropTypes.number,\n bottom: PropTypes.number,\n filters: PropTypes.arrayOf(PropTypes.shape({})),\n sorts: PropTypes.arrayOf(PropTypes.shape({})),\n updateInterval: PropTypes.number,\n onViewportUpdate: PropTypes.func,\n};\n\nTreeTableViewportUpdater.defaultProps = {\n top: 0,\n bottom: 0,\n onViewportUpdate: () => {},\n filters: [],\n sorts: [],\n updateInterval: TreeTableViewportUpdater.UPDATE_INTERVAL,\n};\n\nexport default TreeTableViewportUpdater;\n"],"file":"TreeTableViewportUpdater.js"}
1
+ {"version":3,"sources":["../src/TreeTableViewportUpdater.tsx"],"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","updateViewport","bind","componentDidMount","filters","sorts","debug","applyFilter","applySort","componentDidUpdate","prevProps","componentWillUnmount","cancel","render","UPDATE_INTERVAL"],"mappings":"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","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 this.updateViewport = this.updateViewport.bind(this);\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"],"file":"TreeTableViewportUpdater.js"}
package/dist/index.d.ts CHANGED
@@ -1,12 +1,21 @@
1
1
  export * from './sidebar';
2
+ export * from './AdvancedFilterCreator';
3
+ export * from './CommonTypes';
2
4
  export { default as IrisGrid } from './IrisGrid';
5
+ export * from './IrisGrid';
3
6
  export { default as SHORTCUTS } from './IrisGridShortcuts';
4
7
  export { default as IrisGridModel } from './IrisGridModel';
5
8
  export { default as IrisGridTableModel } from './IrisGridTableModel';
9
+ export * from './IrisGridTableModel';
10
+ export { default as IrisGridTreeTableModel } from './IrisGridTreeTableModel';
11
+ export { default as IrisGridTableModelTemplate } from './IrisGridTableModelTemplate';
12
+ export * from './IrisGridTableModelTemplate';
13
+ export * from './IrisGridTreeTableModel';
6
14
  export { default as IrisGridModelFactory } from './IrisGridModelFactory';
7
15
  export { default as IrisGridTheme } from './IrisGridTheme';
8
16
  export type { IrisGridThemeType } from './IrisGridTheme';
9
17
  export { default as IrisGridTestUtils } from './IrisGridTestUtils';
10
18
  export { default as IrisGridUtils } from './IrisGridUtils';
11
19
  export { default } from './IrisGrid';
20
+ export * from './IrisGrid';
12
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AACrF,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,cAAc,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,11 +1,20 @@
1
1
  export * from "./sidebar/index.js";
2
+ export * from "./AdvancedFilterCreator.js";
3
+ export * from "./CommonTypes.js";
2
4
  export { default as IrisGrid } from "./IrisGrid.js";
5
+ export * from "./IrisGrid.js";
3
6
  export { default as SHORTCUTS } from "./IrisGridShortcuts.js";
4
7
  export { default as IrisGridModel } from "./IrisGridModel.js";
5
8
  export { default as IrisGridTableModel } from "./IrisGridTableModel.js";
9
+ export * from "./IrisGridTableModel.js";
10
+ export { default as IrisGridTreeTableModel } from "./IrisGridTreeTableModel.js";
11
+ export { default as IrisGridTableModelTemplate } from "./IrisGridTableModelTemplate.js";
12
+ export * from "./IrisGridTableModelTemplate.js";
13
+ export * from "./IrisGridTreeTableModel.js";
6
14
  export { default as IrisGridModelFactory } from "./IrisGridModelFactory.js";
7
15
  export { default as IrisGridTheme } from "./IrisGridTheme.js";
8
16
  export { default as IrisGridTestUtils } from "./IrisGridTestUtils.js";
9
17
  export { default as IrisGridUtils } from "./IrisGridUtils.js";
10
18
  export { default } from "./IrisGrid.js";
19
+ export * from "./IrisGrid.js";
11
20
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":["default","IrisGrid","SHORTCUTS","IrisGridModel","IrisGridTableModel","IrisGridModelFactory","IrisGridTheme","IrisGridTestUtils","IrisGridUtils"],"mappings":";SACSA,OAAO,IAAIC,Q;SACXD,OAAO,IAAIE,S;SACXF,OAAO,IAAIG,a;SACXH,OAAO,IAAII,kB;SACXJ,OAAO,IAAIK,oB;SACXL,OAAO,IAAIM,a;SAEXN,OAAO,IAAIO,iB;SACXP,OAAO,IAAIQ,a;SAEXR,O","sourcesContent":["export * from './sidebar';\nexport { default as IrisGrid } from './IrisGrid';\nexport { default as SHORTCUTS } from './IrisGridShortcuts';\nexport { default as IrisGridModel } from './IrisGridModel';\nexport { default as IrisGridTableModel } from './IrisGridTableModel';\nexport { default as IrisGridModelFactory } from './IrisGridModelFactory';\nexport { default as IrisGridTheme } from './IrisGridTheme';\nexport type { IrisGridThemeType } from './IrisGridTheme';\nexport { default as IrisGridTestUtils } from './IrisGridTestUtils';\nexport { default as IrisGridUtils } from './IrisGridUtils';\n\nexport { default } from './IrisGrid';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["default","IrisGrid","SHORTCUTS","IrisGridModel","IrisGridTableModel","IrisGridTreeTableModel","IrisGridTableModelTemplate","IrisGridModelFactory","IrisGridTheme","IrisGridTestUtils","IrisGridUtils"],"mappings":";;;SAGSA,OAAO,IAAIC,Q;;SAEXD,OAAO,IAAIE,S;SACXF,OAAO,IAAIG,a;SACXH,OAAO,IAAII,kB;;SAEXJ,OAAO,IAAIK,sB;SACXL,OAAO,IAAIM,0B;;;SAGXN,OAAO,IAAIO,oB;SACXP,OAAO,IAAIQ,a;SAEXR,OAAO,IAAIS,iB;SACXT,OAAO,IAAIU,a;SACXV,O","sourcesContent":["export * from './sidebar';\nexport * from './AdvancedFilterCreator';\nexport * from './CommonTypes';\nexport { default as IrisGrid } from './IrisGrid';\nexport * from './IrisGrid';\nexport { default as SHORTCUTS } from './IrisGridShortcuts';\nexport { default as IrisGridModel } from './IrisGridModel';\nexport { default as IrisGridTableModel } from './IrisGridTableModel';\nexport * from './IrisGridTableModel';\nexport { default as IrisGridTreeTableModel } from './IrisGridTreeTableModel';\nexport { default as IrisGridTableModelTemplate } from './IrisGridTableModelTemplate';\nexport * from './IrisGridTableModelTemplate';\nexport * from './IrisGridTreeTableModel';\nexport { default as IrisGridModelFactory } from './IrisGridModelFactory';\nexport { default as IrisGridTheme } from './IrisGridTheme';\nexport type { IrisGridThemeType } from './IrisGridTheme';\nexport { default as IrisGridTestUtils } from './IrisGridTestUtils';\nexport { default as IrisGridUtils } from './IrisGridUtils';\nexport { default } from './IrisGrid';\nexport * from './IrisGrid';\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridCellOverflowMouseHandler.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/IrisGridCellOverflowMouseHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,cAAM,gCAAiC,SAAQ,gBAAgB;IAC7D,OAAO,CAAC,QAAQ,CAAW;gBAEf,QAAQ,EAAE,QAAQ;IAM9B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,iBAAiB;IAyCzB,OAAO,CAAC,wBAAwB;IAiChC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,kBAAkB;IAa5C,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,kBAAkB;IAM7C,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAcjC,aAAa,IAAI,kBAAkB;IAKnC,OAAO,IAAI,kBAAkB;CAI9B;AAED,eAAe,gCAAgC,CAAC"}
1
+ {"version":3,"file":"IrisGridCellOverflowMouseHandler.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/IrisGridCellOverflowMouseHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,QAAQ,MAAM,aAAa,CAAC;AAGxC;;;GAGG;AACH,cAAM,gCAAiC,SAAQ,gBAAgB;IAC7D,OAAO,CAAC,QAAQ,CAAW;gBAEf,QAAQ,EAAE,QAAQ;IAM9B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,iBAAiB;IAyCzB,OAAO,CAAC,wBAAwB;IAiChC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,kBAAkB;IAa5C,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,kBAAkB;IAM7C,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAcjC,aAAa,IAAI,kBAAkB;IAKnC,OAAO,IAAI,kBAAkB;CAI9B;AAED,eAAe,gCAAgC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mousehandlers/IrisGridCellOverflowMouseHandler.ts"],"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"],"mappings":"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","sourcesContent":["import {\n GridPoint,\n GridMouseHandler,\n EventHandlerResult,\n} from '@deephaven/grid';\nimport deepEqual from 'deep-equal';\nimport type IrisGrid from '../IrisGrid';\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 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 };\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),\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"],"file":"IrisGridCellOverflowMouseHandler.js"}
1
+ {"version":3,"sources":["../../src/mousehandlers/IrisGridCellOverflowMouseHandler.ts"],"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"],"mappings":"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","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 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"],"file":"IrisGridCellOverflowMouseHandler.js"}
@@ -1,5 +1,5 @@
1
1
  import { GridMouseHandler, GridPoint, EventHandlerResult } from '@deephaven/grid';
2
- import type { IrisGrid } from '../IrisGrid';
2
+ import { IrisGrid } from '../IrisGrid';
3
3
  /**
4
4
  * Handles interaction with tables when the Linker tool is active
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridColumnSelectMouseHandler.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/IrisGridColumnSelectMouseHandler.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C;;GAEG;AACH,cAAM,gCAAiC,SAAQ,gBAAgB;gBACjD,QAAQ,EAAE,QAAQ;IAO9B,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,2BAA2B;IAOnC,OAAO,CAAC,cAAc;IActB,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,kBAAkB;IAqBhD,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,kBAAkB;IAmBjD,OAAO,IAAI,kBAAkB;IAU7B,MAAM,IAAI,kBAAkB;IAI5B,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,kBAAkB;CAalD;AAED,eAAe,gCAAgC,CAAC"}
1
+ {"version":3,"file":"IrisGridColumnSelectMouseHandler.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/IrisGridColumnSelectMouseHandler.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,SAAS,EACT,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;;GAEG;AACH,cAAM,gCAAiC,SAAQ,gBAAgB;gBACjD,QAAQ,EAAE,QAAQ;IAO9B,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,2BAA2B;IAOnC,OAAO,CAAC,cAAc;IActB,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,kBAAkB;IAqBhD,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,kBAAkB;IAmBjD,OAAO,IAAI,kBAAkB;IAU7B,MAAM,IAAI,kBAAkB;IAI5B,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,kBAAkB;CAclD;AAED,eAAe,gCAAgC,CAAC"}
@@ -2,6 +2,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
2
2
 
3
3
  /* eslint class-methods-use-this: "off" */
4
4
  import { GridMouseHandler } from '@deephaven/grid';
5
+ import { assertNotNull } from '@deephaven/utils';
5
6
 
6
7
  /**
7
8
  * Handles interaction with tables when the Linker tool is active
@@ -147,6 +148,7 @@ class IrisGridColumnSelectMouseHandler extends GridMouseHandler {
147
148
  column
148
149
  } = gridPoint;
149
150
  var tableColumn = this.getTableColumn(column);
151
+ assertNotNull(tableColumn);
150
152
 
151
153
  if (this.isValidColumn(tableColumn)) {
152
154
  this.irisGrid.selectColumn(tableColumn);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mousehandlers/IrisGridColumnSelectMouseHandler.ts"],"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"],"mappings":"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","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 type { 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) {\n return columnSelectionValidator(tableColumn);\n }\n return true;\n }\n\n private updateColumnSelectionStatus(): void {\n const { columnSelectionValidator } = this.irisGrid.props;\n if (columnSelectionValidator) {\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 (this.isValidColumn(tableColumn)) {\n this.irisGrid.selectColumn(tableColumn);\n }\n\n return true;\n }\n}\n\nexport default IrisGridColumnSelectMouseHandler;\n"],"file":"IrisGridColumnSelectMouseHandler.js"}
1
+ {"version":3,"sources":["../../src/mousehandlers/IrisGridColumnSelectMouseHandler.ts"],"names":["GridMouseHandler","assertNotNull","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"],"mappings":"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","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 { assertNotNull } from '@deephaven/utils';\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) {\n return columnSelectionValidator(tableColumn);\n }\n return true;\n }\n\n private updateColumnSelectionStatus(): void {\n const { columnSelectionValidator } = this.irisGrid.props;\n if (columnSelectionValidator) {\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 assertNotNull(tableColumn);\n if (this.isValidColumn(tableColumn)) {\n this.irisGrid.selectColumn(tableColumn);\n }\n\n return true;\n }\n}\n\nexport default IrisGridColumnSelectMouseHandler;\n"],"file":"IrisGridColumnSelectMouseHandler.js"}
@@ -71,7 +71,7 @@ class IrisGridColumnTooltipMouseHandler extends GridMouseHandler {
71
71
  * however, gridY also == theme.columnHeaderHeight, so row still has a value
72
72
  * so this tooltip won't actually show until row is null at columnHeaderHeight - 1
73
73
  */
74
- if (y >= 0 && y <= theme.columnHeaderHeight) {
74
+ if (theme.columnHeaderHeight && y >= 0 && y <= theme.columnHeaderHeight) {
75
75
  newTooltip = column;
76
76
  }
77
77
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/mousehandlers/IrisGridColumnTooltipMouseHandler.ts"],"names":["GridMouseHandler","IrisGridColumnTooltipMouseHandler","constructor","irisGrid","destroyColumnTooltip","shownColumnTooltip","state","setState","hideColumnTooltip","tooltip","stopTimer","hide","onDown","onContextMenu","onWheel","onMove","gridPoint","y","column","row","theme","getTheme","newTooltip","columnHeaderHeight"],"mappings":";;AAAA;AACA,SACEA,gBADF,QAIO,iBAJP;;AAOA;AACA;AACA;AACA,MAAMC,iCAAN,SAAgDD,gBAAhD,CAAiE;AAC/DE,EAAAA,WAAW,CAACC,QAAD,EAAqB;AAC9B;;AAD8B;;AAG9B,SAAKA,QAAL,GAAgBA,QAAhB;AACD;;AAIOC,EAAAA,oBAAoB,GAAS;AACnC,QAAM;AAAEC,MAAAA;AAAF,QAAyB,KAAKF,QAAL,CAAcG,KAA7C;;AACA,QAAID,kBAAkB,IAAI,IAA1B,EAAgC;AAC9B,WAAKF,QAAL,CAAcI,QAAd,CAAuB;AAAEF,QAAAA,kBAAkB,EAAE;AAAtB,OAAvB;AACD;AACF;;AAEOG,EAAAA,iBAAiB,GAAS;AAChC,QAAM;AAAEC,MAAAA;AAAF,QAAc,KAAKN,QAAzB;;AACA,QAAIM,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAACC,SAAR;AACAD,MAAAA,OAAO,CAACE,IAAR;AACD;AACF;;AAEDC,EAAAA,MAAM,GAAuB;AAC3B,SAAKJ,iBAAL;AACA,WAAO,KAAP;AACD;;AAEDK,EAAAA,aAAa,GAAuB;AAClC,SAAKL,iBAAL;AACA,WAAO,KAAP;AACD;;AAEDM,EAAAA,OAAO,GAAuB;AAC5B,SAAKV,oBAAL;AACA,WAAO,KAAP;AACD;;AAEDW,EAAAA,MAAM,CAACC,SAAD,EAA2C;AAC/C,QAAM;AAAEC,MAAAA,CAAF;AAAKC,MAAAA,MAAL;AAAaC,MAAAA;AAAb,QAAqBH,SAA3B;AACA,QAAM;AAAEX,MAAAA;AAAF,QAAyB,KAAKF,QAAL,CAAcG,KAA7C;AACA,QAAMc,KAAK,GAAG,KAAKjB,QAAL,CAAckB,QAAd,EAAd;AACA,QAAIC,UAAU,GAAG,IAAjB;;AACA,QAAIJ,MAAM,KAAK,IAAX,IAAmBC,GAAG,KAAK,IAA/B,EAAqC;AACnC;AACN;AACA;AACA;AACA;AACM,UAAIF,CAAC,IAAI,CAAL,IAAUA,CAAC,IAAIG,KAAK,CAACG,kBAAzB,EAA6C;AAC3CD,QAAAA,UAAU,GAAGJ,MAAb;AACD;AACF;;AAED,QAAII,UAAU,KAAKjB,kBAAnB,EAAuC;AACrC,WAAKF,QAAL,CAAcI,QAAd,CAAuB;AAAEF,QAAAA,kBAAkB,EAAEiB;AAAtB,OAAvB;AACD;;AAED,WAAO,KAAP;AACD;;AA5D8D;;AA+DjE,eAAerB,iCAAf","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport {\n GridMouseHandler,\n GridPoint,\n EventHandlerResult,\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 destroyColumnTooltip(): void {\n const { shownColumnTooltip } = this.irisGrid.state;\n if (shownColumnTooltip != null) {\n this.irisGrid.setState({ shownColumnTooltip: null });\n }\n }\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.destroyColumnTooltip();\n return false;\n }\n\n onMove(gridPoint: GridPoint): EventHandlerResult {\n const { y, column, row } = gridPoint;\n const { shownColumnTooltip } = this.irisGrid.state;\n const theme = this.irisGrid.getTheme();\n let newTooltip = null;\n if (column !== null && row === null) {\n /**\n * one would expect at y == theme.columnHeaderHeight, row == null\n * however, gridY also == theme.columnHeaderHeight, so row still has a value\n * so this tooltip won't actually show until row is null at columnHeaderHeight - 1\n */\n if (y >= 0 && y <= theme.columnHeaderHeight) {\n newTooltip = column;\n }\n }\n\n if (newTooltip !== shownColumnTooltip) {\n this.irisGrid.setState({ shownColumnTooltip: newTooltip });\n }\n\n return false;\n }\n}\n\nexport default IrisGridColumnTooltipMouseHandler;\n"],"file":"IrisGridColumnTooltipMouseHandler.js"}
1
+ {"version":3,"sources":["../../src/mousehandlers/IrisGridColumnTooltipMouseHandler.ts"],"names":["GridMouseHandler","IrisGridColumnTooltipMouseHandler","constructor","irisGrid","destroyColumnTooltip","shownColumnTooltip","state","setState","hideColumnTooltip","tooltip","stopTimer","hide","onDown","onContextMenu","onWheel","onMove","gridPoint","y","column","row","theme","getTheme","newTooltip","columnHeaderHeight"],"mappings":";;AAAA;AACA,SACEA,gBADF,QAIO,iBAJP;;AAOA;AACA;AACA;AACA,MAAMC,iCAAN,SAAgDD,gBAAhD,CAAiE;AAC/DE,EAAAA,WAAW,CAACC,QAAD,EAAqB;AAC9B;;AAD8B;;AAG9B,SAAKA,QAAL,GAAgBA,QAAhB;AACD;;AAIOC,EAAAA,oBAAoB,GAAS;AACnC,QAAM;AAAEC,MAAAA;AAAF,QAAyB,KAAKF,QAAL,CAAcG,KAA7C;;AACA,QAAID,kBAAkB,IAAI,IAA1B,EAAgC;AAC9B,WAAKF,QAAL,CAAcI,QAAd,CAAuB;AAAEF,QAAAA,kBAAkB,EAAE;AAAtB,OAAvB;AACD;AACF;;AAEOG,EAAAA,iBAAiB,GAAS;AAChC,QAAM;AAAEC,MAAAA;AAAF,QAAc,KAAKN,QAAzB;;AACA,QAAIM,OAAJ,EAAa;AACXA,MAAAA,OAAO,CAACC,SAAR;AACAD,MAAAA,OAAO,CAACE,IAAR;AACD;AACF;;AAEDC,EAAAA,MAAM,GAAuB;AAC3B,SAAKJ,iBAAL;AACA,WAAO,KAAP;AACD;;AAEDK,EAAAA,aAAa,GAAuB;AAClC,SAAKL,iBAAL;AACA,WAAO,KAAP;AACD;;AAEDM,EAAAA,OAAO,GAAuB;AAC5B,SAAKV,oBAAL;AACA,WAAO,KAAP;AACD;;AAEDW,EAAAA,MAAM,CAACC,SAAD,EAA2C;AAC/C,QAAM;AAAEC,MAAAA,CAAF;AAAKC,MAAAA,MAAL;AAAaC,MAAAA;AAAb,QAAqBH,SAA3B;AACA,QAAM;AAAEX,MAAAA;AAAF,QAAyB,KAAKF,QAAL,CAAcG,KAA7C;AACA,QAAMc,KAAK,GAAG,KAAKjB,QAAL,CAAckB,QAAd,EAAd;AACA,QAAIC,UAAU,GAAG,IAAjB;;AACA,QAAIJ,MAAM,KAAK,IAAX,IAAmBC,GAAG,KAAK,IAA/B,EAAqC;AACnC;AACN;AACA;AACA;AACA;AACM,UAAIC,KAAK,CAACG,kBAAN,IAA4BN,CAAC,IAAI,CAAjC,IAAsCA,CAAC,IAAIG,KAAK,CAACG,kBAArD,EAAyE;AACvED,QAAAA,UAAU,GAAGJ,MAAb;AACD;AACF;;AAED,QAAII,UAAU,KAAKjB,kBAAnB,EAAuC;AACrC,WAAKF,QAAL,CAAcI,QAAd,CAAuB;AAAEF,QAAAA,kBAAkB,EAAEiB;AAAtB,OAAvB;AACD;;AAED,WAAO,KAAP;AACD;;AA5D8D;;AA+DjE,eAAerB,iCAAf","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport {\n GridMouseHandler,\n GridPoint,\n EventHandlerResult,\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 destroyColumnTooltip(): void {\n const { shownColumnTooltip } = this.irisGrid.state;\n if (shownColumnTooltip != null) {\n this.irisGrid.setState({ shownColumnTooltip: null });\n }\n }\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.destroyColumnTooltip();\n return false;\n }\n\n onMove(gridPoint: GridPoint): EventHandlerResult {\n const { y, column, row } = gridPoint;\n const { shownColumnTooltip } = this.irisGrid.state;\n const theme = this.irisGrid.getTheme();\n let newTooltip = null;\n if (column !== null && row === null) {\n /**\n * one would expect at y == theme.columnHeaderHeight, row == null\n * however, gridY also == theme.columnHeaderHeight, so row still has a value\n * so this tooltip won't actually show until row is null at columnHeaderHeight - 1\n */\n if (theme.columnHeaderHeight && y >= 0 && y <= theme.columnHeaderHeight) {\n newTooltip = column;\n }\n }\n\n if (newTooltip !== shownColumnTooltip) {\n this.irisGrid.setState({ shownColumnTooltip: newTooltip });\n }\n\n return false;\n }\n}\n\nexport default IrisGridColumnTooltipMouseHandler;\n"],"file":"IrisGridColumnTooltipMouseHandler.js"}
@@ -1,4 +1,12 @@
1
- export default IrisGridContextMenuHandler;
1
+ import React from 'react';
2
+ import { ContextAction } from '@deephaven/components';
3
+ import { EventHandlerResult, Grid, GridMouseHandler, GridPoint, ModelIndex } from '@deephaven/grid';
4
+ import { Column, FilterCondition, FilterValue, Sort } from '@deephaven/jsapi-shim';
5
+ import { TableColumnFormat, SortDirection } from '@deephaven/jsapi-utils';
6
+ import type { DebouncedFunc } from 'lodash';
7
+ import './IrisGridContextMenuHandler.scss';
8
+ import IrisGrid from '../IrisGrid';
9
+ import { QuickFilter } from '../CommonTypes';
2
10
  /**
3
11
  * Used to eat the mouse event in the bottom right corner of the scroll bar
4
12
  */
@@ -10,147 +18,50 @@ declare class IrisGridContextMenuHandler extends GridMouseHandler {
10
18
  static GROUP_COPY: number;
11
19
  static GROUP_FORMAT: number;
12
20
  static COLUMN_SORT_DIRECTION: {
13
- ascending: string;
14
- descending: string;
15
- none: null;
21
+ readonly ascending: "ASC";
22
+ readonly descending: "DESC";
23
+ readonly none: null;
16
24
  };
17
25
  /**
18
26
  * Get filter condition for quick filter with existed column filter and the new filter to be applied,
19
27
  * returns new filter if filters are not additive.
20
28
  * if filters are additive, returns filter conditions combined with 'and'.
21
- * @param {FilterCondition} columnFilter
22
- * @param {FilterCondition} newColumnFilter
23
- * @param {boolean} additive
29
+ * @param columnFilter
30
+ * @param newColumnFilter
31
+ * @param additive
24
32
  */
25
- static getQuickFilterCondition(columnFilter: FilterCondition, newColumnFilter: FilterCondition, additive?: boolean): any;
33
+ static getQuickFilterCondition(columnFilter: FilterCondition | null | undefined, newColumnFilter: FilterCondition, additive?: boolean): FilterCondition;
26
34
  /**
27
35
  * combines filter text with '&&' if filters are additive
28
- * @param {String} filterText
29
- * @param {String} newFilterText
30
- * @param {boolean} additive
36
+ * @param filterText
37
+ * @param newFilterText
38
+ * @param additive
31
39
  */
32
- static getQuickFilterText(filterText: string, newFilterText: string, additive?: boolean): string;
40
+ static getQuickFilterText(filterText: string | null | undefined, newFilterText: string, additive?: boolean): string;
33
41
  /**
34
42
  * Gets an equality filter for the provided numeric value
35
- * @param {dh.Column} column The column to make the filter for
36
- * @param {Number} value The value to get the equality filter for
43
+ * @param column The column to make the filter for
44
+ * @param value The value to get the equality filter for
37
45
  */
38
- static getNumberValueEqualsFilter(column: dh.Column, value: number): any;
39
- static getFilterValueForNumberOrChar(columnType: any, value: any): import("@deephaven/jsapi-shim").FilterValue;
40
- constructor(irisGrid: any);
41
- debouncedUpdateCustomFormat: import("lodash").DebouncedFunc<any>;
42
- irisGrid: any;
46
+ static getNumberValueEqualsFilter(column: Column, value: number): FilterCondition;
47
+ static getFilterValueForNumberOrChar(columnType: string, value: unknown): FilterValue;
48
+ irisGrid: IrisGrid;
49
+ debouncedUpdateCustomFormat: DebouncedFunc<(modelIndex: number, selectedFormat: TableColumnFormat | null) => void>;
50
+ constructor(irisGrid: IrisGrid);
43
51
  componentWillUnmount(): void;
44
- dateFormatActions(column: any): {
45
- title: string;
46
- description: string;
47
- icon: import("@fortawesome/fontawesome-common-types").IconDefinition | null;
48
- group: number;
49
- order: number;
50
- action: () => void;
51
- }[];
52
- numberFormatActions(column: any): {
53
- icon: import("@fortawesome/fontawesome-common-types").IconDefinition | null;
54
- order: number;
55
- action: () => void;
56
- title: string;
57
- description: string;
58
- group: number;
59
- format: import("@deephaven/jsapi-utils").TableColumnFormat | null;
60
- isSelected: boolean;
61
- }[] | null;
62
- stringFilterActions(column: any, valueText: any, value: any, quickFilter?: {}, additive?: boolean): ({
63
- menuElement: JSX.Element;
64
- order: number;
65
- title?: undefined;
66
- description?: undefined;
67
- action?: undefined;
68
- } | {
69
- title: string;
70
- description: string;
71
- action: () => void;
72
- order: number;
73
- menuElement?: undefined;
74
- })[];
75
- numberFilterActions(column: any, valueText: any, value: any, quickFilter?: {}, additive?: boolean): ({
76
- menuElement: JSX.Element;
77
- order: number;
78
- title?: undefined;
79
- description?: undefined;
80
- action?: undefined;
81
- } | {
82
- title: string;
83
- description: string;
84
- action: () => void;
85
- order: number;
86
- menuElement?: undefined;
87
- })[];
88
- booleanFilterActions(column: any, valueText: any, quickFilter?: {}, additive?: boolean): ({
89
- menuElement: JSX.Element;
90
- order: number;
91
- title?: undefined;
92
- description?: undefined;
93
- action?: undefined;
94
- } | {
95
- title: string;
96
- description: string;
97
- action: () => void;
98
- order: number;
99
- menuElement?: undefined;
100
- })[];
101
- dateFilterActions(column: any, valueText: any, previewValue: any, value: any, quickFilter?: {}, additive?: boolean): ({
102
- menuElement: JSX.Element;
103
- order: number;
104
- title?: undefined;
105
- description?: undefined;
106
- action?: undefined;
107
- } | {
108
- title: string;
109
- description: string;
110
- action: () => void;
111
- order: number;
112
- menuElement?: undefined;
113
- })[];
114
- nullFilterActions(column: any, quickFilter?: {}, additive?: boolean): ({
115
- menuElement: JSX.Element;
116
- order: number;
117
- title?: undefined;
118
- description?: undefined;
119
- action?: undefined;
120
- } | {
121
- title: string;
122
- description: string;
123
- action: () => void;
124
- order: number;
125
- menuElement?: undefined;
126
- })[];
127
- sortByActions(column: any, modelColumn: any, columnSort: any): ({
128
- title: string;
129
- order: number;
130
- action: () => void;
131
- icon: import("@fortawesome/fontawesome-common-types").IconDefinition | null;
132
- iconColor: any;
133
- disabled?: undefined;
134
- } | {
135
- title: string;
136
- order: number;
137
- action: () => void;
138
- disabled: boolean;
139
- icon?: undefined;
140
- iconColor?: undefined;
141
- })[];
142
- additionalSortActions(column: any, columnIndex: any): ({
143
- title: string;
144
- menuElement: JSX.Element;
145
- order: number;
146
- action?: undefined;
147
- } | {
148
- title: string;
149
- order: number;
150
- action: () => void;
151
- menuElement?: undefined;
152
- })[];
153
- checkColumnSort(columnSort: any, direction?: null, isAbs?: boolean): boolean;
52
+ getHeaderActions(modelColumn: number, gridPoint: GridPoint): ContextAction[];
53
+ getCellActions(modelColumn: number | undefined | null, grid: Grid, gridPoint: GridPoint): ContextAction[];
54
+ onContextMenu(gridPoint: GridPoint, grid: Grid, event: React.MouseEvent<Element, MouseEvent>): EventHandlerResult;
55
+ dateFormatActions(column: Column): ContextAction[];
56
+ numberFormatActions(column: Column): ContextAction[] | null;
57
+ stringFilterActions(column: Column, valueText: string | null, value?: unknown, quickFilter?: QuickFilter, additive?: boolean): ContextAction[];
58
+ numberFilterActions(column: Column, valueText: string, value: unknown, quickFilter?: QuickFilter | null, additive?: boolean): ContextAction[];
59
+ booleanFilterActions(column: Column, valueText: string | null, quickFilter?: QuickFilter | null, additive?: boolean): ContextAction[];
60
+ dateFilterActions(column: Column, valueText: string, previewValue: unknown, value: unknown, quickFilter?: QuickFilter | null, additive?: boolean): ContextAction[];
61
+ nullFilterActions(column: Column, quickFilter?: QuickFilter, additive?: boolean): ContextAction[];
62
+ sortByActions(column: Column, modelColumn: ModelIndex, columnSort: Sort | null): ContextAction[];
63
+ additionalSortActions(column: Column, columnIndex: ModelIndex): ContextAction[];
64
+ checkColumnSort(columnSort?: Sort | null, direction?: SortDirection, isAbs?: boolean): boolean;
154
65
  }
155
- import { GridMouseHandler } from "packages/grid/src/GridMouseHandler";
66
+ export default IrisGridContextMenuHandler;
156
67
  //# sourceMappingURL=IrisGridContextMenuHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridContextMenuHandler.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/IrisGridContextMenuHandler.jsx"],"names":[],"mappings":";AA+BA;;GAEG;AACH;IACE,0BAAoD;IAEpD,kCAA4D;IAE5D,4BAAsD;IAEtD,0BAAoD;IAEpD,0BAAqD;IAErD,4BAAuD;IAEvD;;;;MAIE;IAEF;;;;;;;OAOG;IACH,2GAFW,OAAO,OAWjB;IAED;;;;;OAKG;IACH,gFAFW,OAAO,UAMjB;IAED;;;;OAIG;IACH,yEAqBC;IAED,+GAIC;IAED,2BASC;IANC,iEAGC;IAED,cAAwB;IAG1B,6BAEC;IA8ZD;;;;;;;QA8BC;IAED;;;;;;;;;eA8CC;IAED;;;;;;;;;;;;SA+IC;IAED;;;;;;;;;;;;SAmKC;IAED;;;;;;;;;;;;SA4EC;IAED;;;;;;;;;;;;SAgJC;IAED;;;;;;;;;;;;SAwDC;IAED;;;;;;;;;;;;;;SA6FC;IAED;;;;;;;;;;SA0EC;IAED,6EAKC;CACF"}
1
+ {"version":3,"file":"IrisGridContextMenuHandler.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/IrisGridContextMenuHandler.tsx"],"names":[],"mappings":"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"}