@deephaven/iris-grid 0.13.3-beta.2 → 0.13.5
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 +63 -69
- package/dist/AdvancedFilterCreator.d.ts.map +1 -1
- package/dist/AdvancedFilterCreator.js +73 -79
- 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 +36 -32
- package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.d.ts +52 -47
- package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.js +39 -24
- package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
- package/dist/ColumnStatistics.d.ts +22 -34
- package/dist/ColumnStatistics.d.ts.map +1 -1
- package/dist/ColumnStatistics.js +12 -8
- package/dist/ColumnStatistics.js.map +1 -1
- package/dist/CrossColumnSearch.d.ts +24 -26
- package/dist/CrossColumnSearch.d.ts.map +1 -1
- package/dist/CrossColumnSearch.js +13 -9
- package/dist/CrossColumnSearch.js.map +1 -1
- package/dist/FilterInputField.d.ts +51 -48
- package/dist/FilterInputField.d.ts.map +1 -1
- package/dist/FilterInputField.js +27 -30
- package/dist/FilterInputField.js.map +1 -1
- package/dist/IrisGrid.d.ts +453 -409
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +449 -514
- 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 +46 -52
- package/dist/IrisGridCopyHandler.d.ts.map +1 -1
- package/dist/IrisGridCopyHandler.js +38 -22
- package/dist/IrisGridCopyHandler.js.map +1 -1
- package/dist/IrisGridMetricCalculator.d.ts +4 -5
- package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
- package/dist/IrisGridMetricCalculator.js +1 -5
- package/dist/IrisGridMetricCalculator.js.map +1 -1
- package/dist/IrisGridModel.d.ts +35 -37
- package/dist/IrisGridModel.d.ts.map +1 -1
- package/dist/IrisGridModel.js +3 -19
- package/dist/IrisGridModel.js.map +1 -1
- package/dist/IrisGridModelFactory.d.ts +5 -7
- 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 +11 -13
- package/dist/IrisGridModelUpdater.d.ts.map +1 -1
- package/dist/IrisGridModelUpdater.js.map +1 -1
- package/dist/IrisGridPartitionSelector.d.ts +39 -38
- package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
- package/dist/IrisGridPartitionSelector.js +24 -18
- package/dist/IrisGridPartitionSelector.js.map +1 -1
- package/dist/IrisGridProxyModel.d.ts +32 -111
- package/dist/IrisGridProxyModel.d.ts.map +1 -1
- package/dist/IrisGridProxyModel.js +170 -212
- package/dist/IrisGridProxyModel.js.map +1 -1
- package/dist/IrisGridRenderer.d.ts +31 -59
- package/dist/IrisGridRenderer.d.ts.map +1 -1
- package/dist/IrisGridRenderer.js +46 -92
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridTableModel.d.ts +147 -48
- package/dist/IrisGridTableModel.d.ts.map +1 -1
- package/dist/IrisGridTableModel.js +1381 -58
- package/dist/IrisGridTableModel.js.map +1 -1
- package/dist/IrisGridTestUtils.d.ts +14 -18
- package/dist/IrisGridTestUtils.d.ts.map +1 -1
- package/dist/IrisGridTestUtils.js +1 -29
- package/dist/IrisGridTestUtils.js.map +1 -1
- package/dist/IrisGridTheme.d.ts +3 -35
- package/dist/IrisGridTheme.d.ts.map +1 -1
- package/dist/IrisGridTheme.js.map +1 -1
- package/dist/IrisGridTreeTableModel.d.ts +7 -26
- package/dist/IrisGridTreeTableModel.d.ts.map +1 -1
- package/dist/IrisGridTreeTableModel.js +14 -24
- package/dist/IrisGridTreeTableModel.js.map +1 -1
- package/dist/IrisGridUtils.d.ts +162 -257
- package/dist/IrisGridUtils.d.ts.map +1 -1
- package/dist/IrisGridUtils.js +95 -132
- package/dist/IrisGridUtils.js.map +1 -1
- package/dist/MissingKeyError.d.ts +3 -5
- package/dist/MissingKeyError.d.ts.map +1 -1
- package/dist/MissingKeyError.js.map +1 -1
- package/dist/PartitionSelectorSearch.d.ts +40 -61
- package/dist/PartitionSelectorSearch.d.ts.map +1 -1
- package/dist/PartitionSelectorSearch.js +15 -25
- package/dist/PartitionSelectorSearch.js.map +1 -1
- package/dist/PendingDataBottomBar.d.ts +6 -3
- package/dist/PendingDataBottomBar.d.ts.map +1 -1
- package/dist/PendingDataBottomBar.js.map +1 -1
- package/dist/TableViewportUpdater.d.ts +55 -39
- package/dist/TableViewportUpdater.d.ts.map +1 -1
- package/dist/TableViewportUpdater.js +64 -42
- package/dist/TableViewportUpdater.js.map +1 -1
- package/dist/TreeTableViewportUpdater.d.ts +37 -29
- package/dist/TreeTableViewportUpdater.d.ts.map +1 -1
- package/dist/TreeTableViewportUpdater.js +50 -39
- package/dist/TreeTableViewportUpdater.js.map +1 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -9
- 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 +0 -2
- 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 +130 -41
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.js +317 -426
- 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 +4 -8
- package/dist/mousehandlers/PendingMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/PendingMouseHandler.js +5 -4
- package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
- package/dist/sidebar/ChartBuilder.d.ts +33 -48
- package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
- package/dist/sidebar/ChartBuilder.js +27 -28
- package/dist/sidebar/ChartBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.d.ts +41 -51
- package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.js +18 -22
- package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnInput.d.ts +36 -26
- package/dist/sidebar/CustomColumnInput.d.ts.map +1 -1
- package/dist/sidebar/CustomColumnInput.js +20 -11
- package/dist/sidebar/CustomColumnInput.js.map +1 -1
- package/dist/sidebar/InputEditor.d.ts +35 -34
- package/dist/sidebar/InputEditor.d.ts.map +1 -1
- package/dist/sidebar/InputEditor.js +24 -43
- package/dist/sidebar/InputEditor.js.map +1 -1
- package/dist/sidebar/RollupRows.d.ts +52 -67
- package/dist/sidebar/RollupRows.d.ts.map +1 -1
- package/dist/sidebar/RollupRows.js +53 -51
- package/dist/sidebar/RollupRows.js.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.d.ts +21 -27
- package/dist/sidebar/SelectDistinctBuilder.d.ts.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.js +10 -6
- package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
- package/dist/sidebar/TableCsvExporter.d.ts +39 -42
- package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
- package/dist/sidebar/TableCsvExporter.js +20 -12
- package/dist/sidebar/TableCsvExporter.js.map +1 -1
- package/dist/sidebar/TableSaver.d.ts +60 -59
- package/dist/sidebar/TableSaver.d.ts.map +1 -1
- package/dist/sidebar/TableSaver.js +68 -154
- package/dist/sidebar/TableSaver.js.map +1 -1
- package/dist/sidebar/VisibilityOrderingBuilder.d.ts +45 -56
- package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
- package/dist/sidebar/VisibilityOrderingBuilder.js +29 -34
- 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 +1 -2
- 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 +5 -6
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +0 -5
- 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 +16 -17
- package/dist/CommonTypes.d.ts +0 -58
- package/dist/CommonTypes.d.ts.map +0 -1
- package/dist/CommonTypes.js +0 -2
- package/dist/CommonTypes.js.map +0 -1
- package/dist/IrisGridTableModelTemplate.d.ts +0 -219
- package/dist/IrisGridTableModelTemplate.d.ts.map +0 -1
- package/dist/IrisGridTableModelTemplate.js +0 -1623
- package/dist/IrisGridTableModelTemplate.js.map +0 -1
|
@@ -1,53 +1,21 @@
|
|
|
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';
|
|
4
5
|
import throttle from 'lodash.throttle';
|
|
5
6
|
import dh from '@deephaven/jsapi-shim';
|
|
6
7
|
import Log from '@deephaven/log';
|
|
7
8
|
var log = Log.module('TreeTableViewportUpdater');
|
|
8
9
|
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
|
+
|
|
14
15
|
class TreeTableViewportUpdater extends PureComponent {
|
|
15
16
|
constructor(props) {
|
|
16
17
|
super(props);
|
|
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);
|
|
18
|
+
this.updateViewport = throttle(this.updateViewport.bind(this), UPDATE_THROTTLE);
|
|
51
19
|
this.listenerCleanup = null;
|
|
52
20
|
}
|
|
53
21
|
|
|
@@ -95,6 +63,36 @@ class TreeTableViewportUpdater extends PureComponent {
|
|
|
95
63
|
}
|
|
96
64
|
}
|
|
97
65
|
|
|
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
|
+
|
|
98
96
|
render() {
|
|
99
97
|
return null;
|
|
100
98
|
}
|
|
@@ -103,14 +101,27 @@ class TreeTableViewportUpdater extends PureComponent {
|
|
|
103
101
|
|
|
104
102
|
_defineProperty(TreeTableViewportUpdater, "UPDATE_INTERVAL", 1000);
|
|
105
103
|
|
|
106
|
-
|
|
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 = {
|
|
107
119
|
top: 0,
|
|
108
120
|
bottom: 0,
|
|
109
|
-
onViewportUpdate: () =>
|
|
121
|
+
onViewportUpdate: () => {},
|
|
110
122
|
filters: [],
|
|
111
123
|
sorts: [],
|
|
112
124
|
updateInterval: TreeTableViewportUpdater.UPDATE_INTERVAL
|
|
113
|
-
}
|
|
114
|
-
|
|
125
|
+
};
|
|
115
126
|
export default TreeTableViewportUpdater;
|
|
116
127
|
//# sourceMappingURL=TreeTableViewportUpdater.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/TreeTableViewportUpdater.
|
|
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":";;AAAA,SAASA,aAAT,QAA8B,OAA9B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,QAAP,MAAqB,iBAArB;AACA,OAAOC,EAAP,MAAe,uBAAf;AACA,OAAOC,GAAP,MAAgB,gBAAhB;AAEA,IAAMC,GAAG,GAAGD,GAAG,CAACE,MAAJ,CAAW,0BAAX,CAAZ;AAEA,IAAMC,eAAe,GAAG,GAAxB;AAEA;AACA;AACA;AACA;;AACA,MAAMC,wBAAN,SAAuCR,aAAvC,CAAqD;AAGnDS,EAAAA,WAAW,CAACC,KAAD,EAAQ;AACjB,UAAMA,KAAN;AAEA,SAAKC,cAAL,GAAsBT,QAAQ,CAC5B,KAAKS,cAAL,CAAoBC,IAApB,CAAyB,IAAzB,CAD4B,EAE5BL,eAF4B,CAA9B;AAKA,SAAKM,eAAL,GAAuB,IAAvB;AACD;;AAEDC,EAAAA,iBAAiB,GAAG;AAClB,QAAM;AAAEC,MAAAA,GAAF;AAAOC,MAAAA,MAAP;AAAeC,MAAAA,KAAf;AAAsBC,MAAAA,OAAtB;AAA+BC,MAAAA;AAA/B,QAAyC,KAAKT,KAApD;AACAL,IAAAA,GAAG,CAACe,KAAJ,CAAU,mBAAV,EAA+B,KAAKV,KAApC;AACAO,IAAAA,KAAK,CAACI,WAAN,CAAkBH,OAAlB;AACAD,IAAAA,KAAK,CAACK,SAAN,CAAgBH,KAAhB;AACA,SAAKR,cAAL,CAAoBI,GAApB,EAAyBC,MAAzB;AACD;;AAEDO,EAAAA,kBAAkB,CAACC,SAAD,EAAY;AAC5B,QAAM;AAAET,MAAAA,GAAF;AAAOC,MAAAA,MAAP;AAAeC,MAAAA,KAAf;AAAsBC,MAAAA,OAAtB;AAA+BC,MAAAA;AAA/B,QAAyC,KAAKT,KAApD;;AACA,QAAIQ,OAAO,KAAKM,SAAS,CAACN,OAA1B,EAAmC;AACjCb,MAAAA,GAAG,CAACe,KAAJ,CAAU,qBAAV,EAAiCF,OAAjC;AACAD,MAAAA,KAAK,CAACI,WAAN,CAAkBH,OAAlB;AACD;;AAED,QAAIC,KAAK,KAAKK,SAAS,CAACL,KAAxB,EAA+B;AAC7Bd,MAAAA,GAAG,CAACe,KAAJ,CAAU,mBAAV,EAA+BD,KAA/B;AACAF,MAAAA,KAAK,CAACK,SAAN,CAAgBH,KAAhB;AACD;;AAED,SAAKR,cAAL,CAAoBI,GAApB,EAAyBC,MAAzB;AACD;;AAEDS,EAAAA,oBAAoB,GAAG;AACrB,SAAKd,cAAL,CAAoBe,MAApB;;AACA,QAAI,KAAKb,eAAT,EAA0B;AACxB,WAAKA,eAAL;AACD;AACF;;AAEDF,EAAAA,cAAc,CAACI,GAAD,EAAMC,MAAN,EAAc;AAC1B,QAAIA,MAAM,GAAGD,GAAb,EAAkB;AAChBV,MAAAA,GAAG,CAACsB,KAAJ,CAAU,kBAAV,EAA8BZ,GAA9B,EAAmCC,MAAnC;AACA;AACD;;AAED,QAAID,GAAG,KAAK,CAAR,IAAaC,MAAM,KAAK,CAA5B,EAA+B;AAC7BX,MAAAA,GAAG,CAACuB,MAAJ,CAAW,uBAAX;AACA;AACD;;AAED,QAAM;AAAEX,MAAAA,KAAF;AAASY,MAAAA;AAAT,QAA4B,KAAKnB,KAAvC;AACA,QAAMoB,QAAQ,GAAGd,MAAM,GAAGD,GAA1B;AACA,QAAMgB,WAAW,GAAGC,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYlB,GAAG,GAAGe,QAAQ,GAAG,CAA7B,CAApB;AACA,QAAMI,cAAc,GAAGlB,MAAM,GAAGc,QAAQ,GAAG,CAApB,GAAwB,CAA/C;AACAzB,IAAAA,GAAG,CAACuB,MAAJ,CACE,uBADF,EAEEG,WAFF,EAGE,SAHF,EAIEG,cAJF,EAKEjB,KALF;;AAQA,QAAI,CAAC,KAAKJ,eAAV,EAA2B;AACzB,UAAM;AAAEsB,QAAAA;AAAF,UAAuB,KAAKzB,KAAlC;AACA,WAAKG,eAAL,GAAuBI,KAAK,CAACmB,gBAAN,CACrBjC,EAAE,CAACkC,SAAH,CAAaC,aADQ,EAErBH,gBAFqB,CAAvB;AAID;;AAEDlB,IAAAA,KAAK,CAACsB,WAAN,CAAkBR,WAAlB,EAA+BG,cAA/B,EAA+C,IAA/C,EAAqDL,cAArD;AACD;;AAEDW,EAAAA,MAAM,GAAG;AACP,WAAO,IAAP;AACD;;AAhFkD;;gBAA/ChC,wB,qBACqB,I;;AAkF3BA,wBAAwB,CAACiC,SAAzB,GAAqC;AACnCxB,EAAAA,KAAK,EAAEhB,SAAS,CAACyC,KAAV,CAAgB;AACrBN,IAAAA,gBAAgB,EAAEnC,SAAS,CAAC0C,IAAV,CAAeC,UADZ;AAErBvB,IAAAA,WAAW,EAAEpB,SAAS,CAAC0C,IAAV,CAAeC,UAFP;AAGrBtB,IAAAA,SAAS,EAAErB,SAAS,CAAC0C,IAAV,CAAeC,UAHL;AAIrBL,IAAAA,WAAW,EAAEtC,SAAS,CAAC0C,IAAV,CAAeC;AAJP,GAAhB,EAKJA,UANgC;AAOnC7B,EAAAA,GAAG,EAAEd,SAAS,CAAC4C,MAPoB;AAQnC7B,EAAAA,MAAM,EAAEf,SAAS,CAAC4C,MARiB;AASnC3B,EAAAA,OAAO,EAAEjB,SAAS,CAAC6C,OAAV,CAAkB7C,SAAS,CAACyC,KAAV,CAAgB,EAAhB,CAAlB,CAT0B;AAUnCvB,EAAAA,KAAK,EAAElB,SAAS,CAAC6C,OAAV,CAAkB7C,SAAS,CAACyC,KAAV,CAAgB,EAAhB,CAAlB,CAV4B;AAWnCb,EAAAA,cAAc,EAAE5B,SAAS,CAAC4C,MAXS;AAYnCV,EAAAA,gBAAgB,EAAElC,SAAS,CAAC0C;AAZO,CAArC;AAeAnC,wBAAwB,CAACuC,YAAzB,GAAwC;AACtChC,EAAAA,GAAG,EAAE,CADiC;AAEtCC,EAAAA,MAAM,EAAE,CAF8B;AAGtCmB,EAAAA,gBAAgB,EAAE,MAAM,CAAE,CAHY;AAItCjB,EAAAA,OAAO,EAAE,EAJ6B;AAKtCC,EAAAA,KAAK,EAAE,EAL+B;AAMtCU,EAAAA,cAAc,EAAErB,wBAAwB,CAACwC;AANH,CAAxC;AASA,eAAexC,wBAAf","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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,21 +1,12 @@
|
|
|
1
1
|
export * from './sidebar';
|
|
2
|
-
export * from './AdvancedFilterCreator';
|
|
3
|
-
export * from './CommonTypes';
|
|
4
2
|
export { default as IrisGrid } from './IrisGrid';
|
|
5
|
-
export * from './IrisGrid';
|
|
6
3
|
export { default as SHORTCUTS } from './IrisGridShortcuts';
|
|
7
4
|
export { default as IrisGridModel } from './IrisGridModel';
|
|
8
5
|
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';
|
|
14
6
|
export { default as IrisGridModelFactory } from './IrisGridModelFactory';
|
|
15
7
|
export { default as IrisGridTheme } from './IrisGridTheme';
|
|
16
8
|
export type { IrisGridThemeType } from './IrisGridTheme';
|
|
17
9
|
export { default as IrisGridTestUtils } from './IrisGridTestUtils';
|
|
18
10
|
export { default as IrisGridUtils } from './IrisGridUtils';
|
|
19
11
|
export { default } from './IrisGrid';
|
|
20
|
-
export * from './IrisGrid';
|
|
21
12
|
//# 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,
|
|
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"}
|
package/dist/index.js
CHANGED
|
@@ -1,20 +1,11 @@
|
|
|
1
1
|
export * from "./sidebar/index.js";
|
|
2
|
-
export * from "./AdvancedFilterCreator.js";
|
|
3
|
-
export * from "./CommonTypes.js";
|
|
4
2
|
export { default as IrisGrid } from "./IrisGrid.js";
|
|
5
|
-
export * from "./IrisGrid.js";
|
|
6
3
|
export { default as SHORTCUTS } from "./IrisGridShortcuts.js";
|
|
7
4
|
export { default as IrisGridModel } from "./IrisGridModel.js";
|
|
8
5
|
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";
|
|
14
6
|
export { default as IrisGridModelFactory } from "./IrisGridModelFactory.js";
|
|
15
7
|
export { default as IrisGridTheme } from "./IrisGridTheme.js";
|
|
16
8
|
export { default as IrisGridTestUtils } from "./IrisGridTestUtils.js";
|
|
17
9
|
export { default as IrisGridUtils } from "./IrisGridUtils.js";
|
|
18
10
|
export { default } from "./IrisGrid.js";
|
|
19
|
-
export * from "./IrisGrid.js";
|
|
20
11
|
//# 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","
|
|
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 +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;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 +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';\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 +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;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"}
|
|
@@ -2,7 +2,6 @@ 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';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* Handles interaction with tables when the Linker tool is active
|
|
@@ -148,7 +147,6 @@ class IrisGridColumnSelectMouseHandler extends GridMouseHandler {
|
|
|
148
147
|
column
|
|
149
148
|
} = gridPoint;
|
|
150
149
|
var tableColumn = this.getTableColumn(column);
|
|
151
|
-
assertNotNull(tableColumn);
|
|
152
150
|
|
|
153
151
|
if (this.isValidColumn(tableColumn)) {
|
|
154
152
|
this.irisGrid.selectColumn(tableColumn);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/mousehandlers/IrisGridColumnSelectMouseHandler.ts"],"names":["GridMouseHandler","
|
|
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"}
|
|
@@ -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 (
|
|
74
|
+
if (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,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,12 +1,4 @@
|
|
|
1
|
-
|
|
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';
|
|
1
|
+
export default IrisGridContextMenuHandler;
|
|
10
2
|
/**
|
|
11
3
|
* Used to eat the mouse event in the bottom right corner of the scroll bar
|
|
12
4
|
*/
|
|
@@ -18,50 +10,147 @@ declare class IrisGridContextMenuHandler extends GridMouseHandler {
|
|
|
18
10
|
static GROUP_COPY: number;
|
|
19
11
|
static GROUP_FORMAT: number;
|
|
20
12
|
static COLUMN_SORT_DIRECTION: {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
13
|
+
ascending: string;
|
|
14
|
+
descending: string;
|
|
15
|
+
none: null;
|
|
24
16
|
};
|
|
25
17
|
/**
|
|
26
18
|
* Get filter condition for quick filter with existed column filter and the new filter to be applied,
|
|
27
19
|
* returns new filter if filters are not additive.
|
|
28
20
|
* if filters are additive, returns filter conditions combined with 'and'.
|
|
29
|
-
* @param columnFilter
|
|
30
|
-
* @param newColumnFilter
|
|
31
|
-
* @param additive
|
|
21
|
+
* @param {FilterCondition} columnFilter
|
|
22
|
+
* @param {FilterCondition} newColumnFilter
|
|
23
|
+
* @param {boolean} additive
|
|
32
24
|
*/
|
|
33
|
-
static getQuickFilterCondition(columnFilter: FilterCondition
|
|
25
|
+
static getQuickFilterCondition(columnFilter: FilterCondition, newColumnFilter: FilterCondition, additive?: boolean): any;
|
|
34
26
|
/**
|
|
35
27
|
* combines filter text with '&&' if filters are additive
|
|
36
|
-
* @param filterText
|
|
37
|
-
* @param newFilterText
|
|
38
|
-
* @param additive
|
|
28
|
+
* @param {String} filterText
|
|
29
|
+
* @param {String} newFilterText
|
|
30
|
+
* @param {boolean} additive
|
|
39
31
|
*/
|
|
40
|
-
static getQuickFilterText(filterText: string
|
|
32
|
+
static getQuickFilterText(filterText: string, newFilterText: string, additive?: boolean): string;
|
|
41
33
|
/**
|
|
42
34
|
* Gets an equality filter for the provided numeric value
|
|
43
|
-
* @param column The column to make the filter for
|
|
44
|
-
* @param value The value to get the equality filter for
|
|
35
|
+
* @param {dh.Column} column The column to make the filter for
|
|
36
|
+
* @param {Number} value The value to get the equality filter for
|
|
45
37
|
*/
|
|
46
|
-
static getNumberValueEqualsFilter(column: Column, value: number):
|
|
47
|
-
static getFilterValueForNumberOrChar(columnType:
|
|
48
|
-
irisGrid:
|
|
49
|
-
debouncedUpdateCustomFormat: DebouncedFunc<
|
|
50
|
-
|
|
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;
|
|
51
43
|
componentWillUnmount(): void;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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;
|
|
65
154
|
}
|
|
66
|
-
|
|
155
|
+
import { GridMouseHandler } from "packages/grid/src/GridMouseHandler";
|
|
67
156
|
//# 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.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"}
|