@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.
- package/dist/AdvancedFilterCreator.d.ts +69 -63
- package/dist/AdvancedFilterCreator.d.ts.map +1 -1
- package/dist/AdvancedFilterCreator.js +79 -73
- package/dist/AdvancedFilterCreator.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValue.d.ts +45 -45
- package/dist/AdvancedFilterCreatorSelectValue.d.ts.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValue.js +32 -36
- package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.d.ts +47 -52
- package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.js +24 -39
- package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
- package/dist/ColumnStatistics.d.ts +34 -22
- package/dist/ColumnStatistics.d.ts.map +1 -1
- package/dist/ColumnStatistics.js +8 -12
- package/dist/ColumnStatistics.js.map +1 -1
- package/dist/CommonTypes.d.ts +58 -0
- package/dist/CommonTypes.d.ts.map +1 -0
- package/dist/CommonTypes.js +2 -0
- package/dist/CommonTypes.js.map +1 -0
- package/dist/CrossColumnSearch.d.ts +26 -24
- package/dist/CrossColumnSearch.d.ts.map +1 -1
- package/dist/CrossColumnSearch.js +9 -13
- package/dist/CrossColumnSearch.js.map +1 -1
- package/dist/FilterInputField.d.ts +48 -51
- package/dist/FilterInputField.d.ts.map +1 -1
- package/dist/FilterInputField.js +30 -27
- package/dist/FilterInputField.js.map +1 -1
- package/dist/IrisGrid.d.ts +409 -453
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +514 -449
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridCellOverflowModal.d.ts +1 -1
- package/dist/IrisGridCellOverflowModal.d.ts.map +1 -1
- package/dist/IrisGridCellOverflowModal.js.map +1 -1
- package/dist/IrisGridCopyHandler.d.ts +52 -46
- package/dist/IrisGridCopyHandler.d.ts.map +1 -1
- package/dist/IrisGridCopyHandler.js +22 -38
- package/dist/IrisGridCopyHandler.js.map +1 -1
- package/dist/IrisGridMetricCalculator.d.ts +5 -4
- package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
- package/dist/IrisGridMetricCalculator.js +5 -1
- package/dist/IrisGridMetricCalculator.js.map +1 -1
- package/dist/IrisGridModel.d.ts +37 -35
- package/dist/IrisGridModel.d.ts.map +1 -1
- package/dist/IrisGridModel.js +19 -3
- package/dist/IrisGridModel.js.map +1 -1
- package/dist/IrisGridModelFactory.d.ts +7 -5
- package/dist/IrisGridModelFactory.d.ts.map +1 -1
- package/dist/IrisGridModelFactory.js +5 -5
- package/dist/IrisGridModelFactory.js.map +1 -1
- package/dist/IrisGridModelUpdater.d.ts +13 -11
- package/dist/IrisGridModelUpdater.d.ts.map +1 -1
- package/dist/IrisGridModelUpdater.js.map +1 -1
- package/dist/IrisGridPartitionSelector.d.ts +38 -39
- package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
- package/dist/IrisGridPartitionSelector.js +18 -24
- package/dist/IrisGridPartitionSelector.js.map +1 -1
- package/dist/IrisGridProxyModel.d.ts +111 -32
- package/dist/IrisGridProxyModel.d.ts.map +1 -1
- package/dist/IrisGridProxyModel.js +212 -170
- package/dist/IrisGridProxyModel.js.map +1 -1
- package/dist/IrisGridRenderer.d.ts +59 -31
- package/dist/IrisGridRenderer.d.ts.map +1 -1
- package/dist/IrisGridRenderer.js +92 -46
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridTableModel.d.ts +48 -147
- package/dist/IrisGridTableModel.d.ts.map +1 -1
- package/dist/IrisGridTableModel.js +58 -1381
- package/dist/IrisGridTableModel.js.map +1 -1
- package/dist/IrisGridTableModelTemplate.d.ts +219 -0
- package/dist/IrisGridTableModelTemplate.d.ts.map +1 -0
- package/dist/IrisGridTableModelTemplate.js +1623 -0
- package/dist/IrisGridTableModelTemplate.js.map +1 -0
- package/dist/IrisGridTestUtils.d.ts +18 -14
- package/dist/IrisGridTestUtils.d.ts.map +1 -1
- package/dist/IrisGridTestUtils.js +29 -1
- package/dist/IrisGridTestUtils.js.map +1 -1
- package/dist/IrisGridTheme.d.ts +35 -3
- package/dist/IrisGridTheme.d.ts.map +1 -1
- package/dist/IrisGridTheme.js.map +1 -1
- package/dist/IrisGridTreeTableModel.d.ts +26 -7
- package/dist/IrisGridTreeTableModel.d.ts.map +1 -1
- package/dist/IrisGridTreeTableModel.js +24 -14
- package/dist/IrisGridTreeTableModel.js.map +1 -1
- package/dist/IrisGridUtils.d.ts +257 -162
- package/dist/IrisGridUtils.d.ts.map +1 -1
- package/dist/IrisGridUtils.js +132 -95
- package/dist/IrisGridUtils.js.map +1 -1
- package/dist/MissingKeyError.d.ts +5 -3
- package/dist/MissingKeyError.d.ts.map +1 -1
- package/dist/MissingKeyError.js.map +1 -1
- package/dist/PartitionSelectorSearch.d.ts +61 -40
- package/dist/PartitionSelectorSearch.d.ts.map +1 -1
- package/dist/PartitionSelectorSearch.js +25 -15
- package/dist/PartitionSelectorSearch.js.map +1 -1
- package/dist/PendingDataBottomBar.d.ts +3 -6
- package/dist/PendingDataBottomBar.d.ts.map +1 -1
- package/dist/PendingDataBottomBar.js.map +1 -1
- package/dist/TableViewportUpdater.d.ts +39 -55
- package/dist/TableViewportUpdater.d.ts.map +1 -1
- package/dist/TableViewportUpdater.js +42 -64
- package/dist/TableViewportUpdater.js.map +1 -1
- package/dist/TreeTableViewportUpdater.d.ts +29 -37
- package/dist/TreeTableViewportUpdater.d.ts.map +1 -1
- package/dist/TreeTableViewportUpdater.js +39 -50
- package/dist/TreeTableViewportUpdater.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +2 -0
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +41 -130
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.js +426 -317
- package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridFilterMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js +2 -2
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridSortMouseHandler.js +1 -1
- package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
- package/dist/mousehandlers/PendingMouseHandler.d.ts +8 -4
- package/dist/mousehandlers/PendingMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/PendingMouseHandler.js +4 -5
- package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
- package/dist/sidebar/ChartBuilder.d.ts +48 -33
- package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
- package/dist/sidebar/ChartBuilder.js +28 -27
- package/dist/sidebar/ChartBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.d.ts +51 -41
- package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.js +22 -18
- package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnInput.d.ts +26 -36
- package/dist/sidebar/CustomColumnInput.d.ts.map +1 -1
- package/dist/sidebar/CustomColumnInput.js +11 -20
- package/dist/sidebar/CustomColumnInput.js.map +1 -1
- package/dist/sidebar/InputEditor.d.ts +34 -35
- package/dist/sidebar/InputEditor.d.ts.map +1 -1
- package/dist/sidebar/InputEditor.js +43 -24
- package/dist/sidebar/InputEditor.js.map +1 -1
- package/dist/sidebar/RollupRows.d.ts +67 -52
- package/dist/sidebar/RollupRows.d.ts.map +1 -1
- package/dist/sidebar/RollupRows.js +51 -53
- package/dist/sidebar/RollupRows.js.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.d.ts +27 -21
- package/dist/sidebar/SelectDistinctBuilder.d.ts.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.js +6 -10
- package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
- package/dist/sidebar/TableCsvExporter.d.ts +42 -39
- package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
- package/dist/sidebar/TableCsvExporter.js +12 -20
- package/dist/sidebar/TableCsvExporter.js.map +1 -1
- package/dist/sidebar/TableSaver.d.ts +59 -60
- package/dist/sidebar/TableSaver.d.ts.map +1 -1
- package/dist/sidebar/TableSaver.js +154 -68
- package/dist/sidebar/TableSaver.js.map +1 -1
- package/dist/sidebar/VisibilityOrderingBuilder.d.ts +56 -45
- package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
- package/dist/sidebar/VisibilityOrderingBuilder.js +34 -29
- package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts +2 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +6 -5
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +5 -0
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
- package/dist/sidebar/icons/index.d.ts +7 -7
- package/dist/sidebar/icons/index.d.ts.map +1 -1
- package/dist/sidebar/icons/index.js.map +1 -1
- package/dist/sidebar/index.d.ts +12 -12
- package/dist/sidebar/index.d.ts.map +1 -1
- package/dist/sidebar/index.js.map +1 -1
- 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
|
-
|
|
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
|
|
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.
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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":"
|
|
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;
|
|
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":";;AAAA,SAEEA,gBAFF,QAIO,iBAJP;AAKA,OAAOC,SAAP,MAAsB,YAAtB;;
|
|
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 +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;
|
|
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":";;AAAA;AACA,SACEA,gBADF,QAIO,iBAJP;;
|
|
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,
|
|
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
|
-
|
|
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:
|
|
14
|
-
descending:
|
|
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
|
|
22
|
-
* @param
|
|
23
|
-
* @param
|
|
29
|
+
* @param columnFilter
|
|
30
|
+
* @param newColumnFilter
|
|
31
|
+
* @param additive
|
|
24
32
|
*/
|
|
25
|
-
static getQuickFilterCondition(columnFilter: FilterCondition, newColumnFilter: FilterCondition, additive?: boolean):
|
|
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
|
|
29
|
-
* @param
|
|
30
|
-
* @param
|
|
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
|
|
36
|
-
* @param
|
|
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:
|
|
39
|
-
static getFilterValueForNumberOrChar(columnType:
|
|
40
|
-
|
|
41
|
-
debouncedUpdateCustomFormat:
|
|
42
|
-
irisGrid:
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
|
|
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.
|
|
1
|
+
{"version":3,"file":"IrisGridContextMenuHandler.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/IrisGridContextMenuHandler.tsx"],"names":[],"mappings":"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"}
|