@deephaven/iris-grid 0.13.3-beta.0 → 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,5 +1,6 @@
|
|
|
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
|
+
|
|
1
3
|
import React, { Component } from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
4
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
4
5
|
import { DropdownMenu, Tooltip } from '@deephaven/components';
|
|
5
6
|
import { vsTriangleDown, vsClose } from '@deephaven/icons';
|
|
@@ -13,7 +14,15 @@ var PARTITION_CHANGE_DEBOUNCE_MS = 250;
|
|
|
13
14
|
class IrisGridPartitionSelector extends Component {
|
|
14
15
|
constructor(props) {
|
|
15
16
|
super(props);
|
|
16
|
-
|
|
17
|
+
|
|
18
|
+
_defineProperty(this, "searchMenu", void 0);
|
|
19
|
+
|
|
20
|
+
_defineProperty(this, "selectorSearch", void 0);
|
|
21
|
+
|
|
22
|
+
_defineProperty(this, "debounceUpdate", debounce(() => {
|
|
23
|
+
this.sendUpdate();
|
|
24
|
+
}, PARTITION_CHANGE_DEBOUNCE_MS));
|
|
25
|
+
|
|
17
26
|
this.handleAppendClick = this.handleAppendClick.bind(this);
|
|
18
27
|
this.handleCloseClick = this.handleCloseClick.bind(this);
|
|
19
28
|
this.handleIgnoreClick = this.handleIgnoreClick.bind(this);
|
|
@@ -100,10 +109,6 @@ class IrisGridPartitionSelector extends Component {
|
|
|
100
109
|
}
|
|
101
110
|
}
|
|
102
111
|
|
|
103
|
-
debounceUpdate() {
|
|
104
|
-
this.sendUpdate();
|
|
105
|
-
}
|
|
106
|
-
|
|
107
112
|
sendDone() {
|
|
108
113
|
this.debounceUpdate.flush();
|
|
109
114
|
var {
|
|
@@ -200,24 +205,13 @@ class IrisGridPartitionSelector extends Component {
|
|
|
200
205
|
|
|
201
206
|
}
|
|
202
207
|
|
|
203
|
-
IrisGridPartitionSelector
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
columnName: PropTypes.string.isRequired,
|
|
209
|
-
partition: PropTypes.string,
|
|
210
|
-
onAppend: PropTypes.func,
|
|
211
|
-
onChange: PropTypes.func,
|
|
212
|
-
onFetchAll: PropTypes.func,
|
|
213
|
-
onDone: PropTypes.func
|
|
214
|
-
};
|
|
215
|
-
IrisGridPartitionSelector.defaultProps = {
|
|
216
|
-
onAppend: () => {},
|
|
217
|
-
onChange: () => {},
|
|
218
|
-
onFetchAll: () => {},
|
|
219
|
-
onDone: () => {},
|
|
208
|
+
_defineProperty(IrisGridPartitionSelector, "defaultProps", {
|
|
209
|
+
onAppend: () => undefined,
|
|
210
|
+
onChange: () => undefined,
|
|
211
|
+
onFetchAll: () => undefined,
|
|
212
|
+
onDone: () => undefined,
|
|
220
213
|
partition: ''
|
|
221
|
-
};
|
|
214
|
+
});
|
|
215
|
+
|
|
222
216
|
export default IrisGridPartitionSelector;
|
|
223
217
|
//# sourceMappingURL=IrisGridPartitionSelector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/IrisGridPartitionSelector.jsx"],"names":["React","Component","PropTypes","FontAwesomeIcon","DropdownMenu","Tooltip","vsTriangleDown","vsClose","Log","debounce","PartitionSelectorSearch","log","module","PARTITION_CHANGE_DEBOUNCE_MS","IrisGridPartitionSelector","constructor","props","debounceUpdate","bind","handleAppendClick","handleCloseClick","handleIgnoreClick","handlePartitionChange","handlePartitionSelect","handlePartitionListResized","handleSearchOpened","handleSearchClosed","searchMenu","selectorSearch","partition","state","componentWillUnmount","cancel","debug2","onAppend","sendDone","sendFetchAll","event","value","target","setState","closeMenu","sendUpdate","scheduleUpdate","table","applyFilter","focus","flush","onDone","onChange","onFetchAll","render","columnName","getFormattedString","partitionSelectorSearch","menuElement","propTypes","func","isRequired","shape","string","defaultProps"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { DropdownMenu, Tooltip } from '@deephaven/components';\nimport { vsTriangleDown, vsClose } from '@deephaven/icons';\nimport Log from '@deephaven/log';\nimport debounce from 'lodash.debounce';\nimport PartitionSelectorSearch from './PartitionSelectorSearch';\nimport './IrisGridPartitionSelector.scss';\n\nconst log = Log.module('IrisGridPartitionSelector');\n\nconst PARTITION_CHANGE_DEBOUNCE_MS = 250;\n\nclass IrisGridPartitionSelector extends Component {\n constructor(props) {\n super(props);\n\n this.debounceUpdate = debounce(\n this.debounceUpdate.bind(this),\n PARTITION_CHANGE_DEBOUNCE_MS\n );\n this.handleAppendClick = this.handleAppendClick.bind(this);\n this.handleCloseClick = this.handleCloseClick.bind(this);\n this.handleIgnoreClick = this.handleIgnoreClick.bind(this);\n this.handlePartitionChange = this.handlePartitionChange.bind(this);\n this.handlePartitionSelect = this.handlePartitionSelect.bind(this);\n this.handlePartitionListResized = this.handlePartitionListResized.bind(\n this\n );\n this.handleSearchOpened = this.handleSearchOpened.bind(this);\n this.handleSearchClosed = this.handleSearchClosed.bind(this);\n\n this.searchMenu = null;\n this.selectorSearch = null;\n\n const { partition } = props;\n this.state = {\n partition,\n };\n }\n\n componentWillUnmount() {\n this.debounceUpdate.cancel();\n }\n\n handleAppendClick() {\n log.debug2('handleAppendClick');\n\n const { onAppend } = this.props;\n const { partition } = this.state;\n onAppend(partition);\n }\n\n handleCloseClick() {\n log.debug2('handleCloseClick');\n\n this.sendDone();\n }\n\n handleIgnoreClick() {\n log.debug2('handleIgnoreClick');\n\n this.sendFetchAll();\n }\n\n handlePartitionChange(event) {\n log.debug2('handlePartitionChange');\n\n const { value: partition } = event.target;\n\n this.setState({ partition });\n\n this.debounceUpdate();\n }\n\n handlePartitionSelect(partition) {\n if (this.searchMenu) {\n this.searchMenu.closeMenu();\n }\n\n this.setState({ partition }, () => {\n this.sendUpdate();\n });\n }\n\n handlePartitionListResized() {\n if (this.searchMenu) {\n this.searchMenu.scheduleUpdate();\n }\n }\n\n handleSearchClosed() {\n // Reset the table filter so it's ready next time user opens search\n const { table } = this.props;\n table.applyFilter([]);\n }\n\n handleSearchOpened() {\n if (this.selectorSearch) {\n this.selectorSearch.focus();\n }\n }\n\n debounceUpdate() {\n this.sendUpdate();\n }\n\n sendDone() {\n this.debounceUpdate.flush();\n\n const { onDone } = this.props;\n onDone();\n }\n\n sendUpdate() {\n log.debug2('sendUpdate');\n\n const { onChange } = this.props;\n const { partition } = this.state;\n onChange(partition);\n }\n\n sendFetchAll() {\n log.debug2('sendFetchAll');\n\n this.debounceUpdate.cancel();\n\n const { onFetchAll } = this.props;\n onFetchAll();\n }\n\n render() {\n const { columnName, getFormattedString, onDone, table } = this.props;\n const { partition } = this.state;\n const partitionSelectorSearch = (\n <PartitionSelectorSearch\n key=\"search\"\n getFormattedString={getFormattedString}\n table={table}\n onSelect={this.handlePartitionSelect}\n onListResized={this.handlePartitionListResized}\n ref={selectorSearch => {\n this.selectorSearch = selectorSearch;\n }}\n />\n );\n return (\n <div className=\"iris-grid-partition-selector\">\n <div className=\"status-message\">\n <span>Filtering "{columnName}" partition to</span>\n </div>\n <div className=\"input-group\">\n <input\n type=\"text\"\n value={partition}\n onChange={this.handlePartitionChange}\n className=\"form-control input-partition\"\n />\n <div className=\"input-group-append\">\n <button type=\"button\" className=\"btn btn-outline-primary\">\n <FontAwesomeIcon icon={vsTriangleDown} />\n <Tooltip>Partitions</Tooltip>\n <DropdownMenu\n ref={searchMenu => {\n this.searchMenu = searchMenu;\n }}\n actions={[{ menuElement: partitionSelectorSearch }]}\n onMenuOpened={this.handleSearchOpened}\n onMenuClosed={this.handleSearchClosed}\n />\n </button>\n </div>\n </div>\n <div className=\"iris-grid-partition-selector-spacer\" />\n <button\n type=\"button\"\n className=\"btn btn-outline-primary btn-ignore\"\n onClick={this.handleIgnoreClick}\n >\n Ignore & Fetch All\n </button>\n <button\n type=\"button\"\n className=\"btn btn-outline-primary btn-append\"\n onClick={this.handleAppendClick}\n >\n Append Command\n </button>\n <button\n type=\"button\"\n className=\"btn btn-link btn-link-icon btn-close\"\n onClick={onDone}\n >\n <FontAwesomeIcon icon={vsClose} />\n </button>\n </div>\n );\n }\n}\n\nIrisGridPartitionSelector.propTypes = {\n getFormattedString: PropTypes.func.isRequired,\n table: PropTypes.shape({ applyFilter: PropTypes.func }).isRequired,\n columnName: PropTypes.string.isRequired,\n partition: PropTypes.string,\n onAppend: PropTypes.func,\n onChange: PropTypes.func,\n onFetchAll: PropTypes.func,\n onDone: PropTypes.func,\n};\n\nIrisGridPartitionSelector.defaultProps = {\n onAppend: () => {},\n onChange: () => {},\n onFetchAll: () => {},\n onDone: () => {},\n partition: '',\n};\n\nexport default IrisGridPartitionSelector;\n"],"file":"IrisGridPartitionSelector.js"}
|
|
1
|
+
{"version":3,"sources":["../src/IrisGridPartitionSelector.tsx"],"names":["React","Component","FontAwesomeIcon","DropdownMenu","Tooltip","vsTriangleDown","vsClose","Log","debounce","PartitionSelectorSearch","log","module","PARTITION_CHANGE_DEBOUNCE_MS","IrisGridPartitionSelector","constructor","props","sendUpdate","handleAppendClick","bind","handleCloseClick","handleIgnoreClick","handlePartitionChange","handlePartitionSelect","handlePartitionListResized","handleSearchOpened","handleSearchClosed","searchMenu","selectorSearch","partition","state","componentWillUnmount","debounceUpdate","cancel","debug2","onAppend","sendDone","sendFetchAll","event","value","target","setState","closeMenu","scheduleUpdate","table","applyFilter","focus","flush","onDone","onChange","onFetchAll","render","columnName","getFormattedString","partitionSelectorSearch","menuElement","undefined"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { DropdownMenu, Tooltip } from '@deephaven/components';\nimport { vsTriangleDown, vsClose } from '@deephaven/icons';\nimport Log from '@deephaven/log';\nimport debounce from 'lodash.debounce';\nimport { Table } from '@deephaven/jsapi-shim';\nimport PartitionSelectorSearch from './PartitionSelectorSearch';\nimport './IrisGridPartitionSelector.scss';\nimport { ColumnName } from './CommonTypes';\n\nconst log = Log.module('IrisGridPartitionSelector');\n\nconst PARTITION_CHANGE_DEBOUNCE_MS = 250;\ninterface IrisGridPartitionSelectorProps<T> {\n getFormattedString: (value: T, type: string, name: string) => string;\n table: Table;\n columnName: ColumnName;\n partition: string;\n onAppend: (partition: string) => void;\n onFetchAll: () => void;\n onDone: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n onChange: (partition: string) => void;\n}\ninterface IrisGridPartitionSelectorState {\n partition: string;\n}\nclass IrisGridPartitionSelector<T> extends Component<\n IrisGridPartitionSelectorProps<T>,\n IrisGridPartitionSelectorState\n> {\n static defaultProps = {\n onAppend: (): void => undefined,\n onChange: (): void => undefined,\n onFetchAll: (): void => undefined,\n onDone: (): void => undefined,\n partition: '',\n };\n\n constructor(props: IrisGridPartitionSelectorProps<T>) {\n super(props);\n\n this.handleAppendClick = this.handleAppendClick.bind(this);\n this.handleCloseClick = this.handleCloseClick.bind(this);\n this.handleIgnoreClick = this.handleIgnoreClick.bind(this);\n this.handlePartitionChange = this.handlePartitionChange.bind(this);\n this.handlePartitionSelect = this.handlePartitionSelect.bind(this);\n this.handlePartitionListResized = this.handlePartitionListResized.bind(\n this\n );\n this.handleSearchOpened = this.handleSearchOpened.bind(this);\n this.handleSearchClosed = this.handleSearchClosed.bind(this);\n\n this.searchMenu = null;\n this.selectorSearch = null;\n\n const { partition } = props;\n this.state = {\n partition,\n };\n }\n\n componentWillUnmount(): void {\n this.debounceUpdate.cancel();\n }\n\n searchMenu: DropdownMenu | null;\n\n selectorSearch: PartitionSelectorSearch<T> | null;\n\n handleAppendClick(): void {\n log.debug2('handleAppendClick');\n\n const { onAppend } = this.props;\n const { partition } = this.state;\n onAppend(partition);\n }\n\n handleCloseClick(): void {\n log.debug2('handleCloseClick');\n\n this.sendDone();\n }\n\n handleIgnoreClick(): void {\n log.debug2('handleIgnoreClick');\n\n this.sendFetchAll();\n }\n\n handlePartitionChange(event: React.ChangeEvent<HTMLInputElement>): void {\n log.debug2('handlePartitionChange');\n\n const { value: partition } = event.target;\n\n this.setState({ partition });\n\n this.debounceUpdate();\n }\n\n handlePartitionSelect(partition: string): void {\n if (this.searchMenu) {\n this.searchMenu.closeMenu();\n }\n\n this.setState({ partition }, () => {\n this.sendUpdate();\n });\n }\n\n handlePartitionListResized(): void {\n if (this.searchMenu) {\n this.searchMenu.scheduleUpdate();\n }\n }\n\n handleSearchClosed(): void {\n // Reset the table filter so it's ready next time user opens search\n const { table } = this.props;\n table.applyFilter([]);\n }\n\n handleSearchOpened(): void {\n if (this.selectorSearch) {\n this.selectorSearch.focus();\n }\n }\n\n debounceUpdate = debounce((): void => {\n this.sendUpdate();\n }, PARTITION_CHANGE_DEBOUNCE_MS);\n\n sendDone(): void {\n this.debounceUpdate.flush();\n\n const { onDone } = this.props;\n onDone();\n }\n\n sendUpdate(): void {\n log.debug2('sendUpdate');\n\n const { onChange } = this.props;\n const { partition } = this.state;\n onChange(partition);\n }\n\n sendFetchAll(): void {\n log.debug2('sendFetchAll');\n\n this.debounceUpdate.cancel();\n\n const { onFetchAll } = this.props;\n onFetchAll();\n }\n\n render(): JSX.Element {\n const { columnName, getFormattedString, onDone, table } = this.props;\n const { partition } = this.state;\n const partitionSelectorSearch = (\n <PartitionSelectorSearch\n key=\"search\"\n getFormattedString={getFormattedString}\n table={table}\n onSelect={this.handlePartitionSelect}\n onListResized={this.handlePartitionListResized}\n ref={selectorSearch => {\n this.selectorSearch = selectorSearch;\n }}\n />\n );\n return (\n <div className=\"iris-grid-partition-selector\">\n <div className=\"status-message\">\n <span>Filtering "{columnName}" partition to</span>\n </div>\n <div className=\"input-group\">\n <input\n type=\"text\"\n value={partition}\n onChange={this.handlePartitionChange}\n className=\"form-control input-partition\"\n />\n <div className=\"input-group-append\">\n <button type=\"button\" className=\"btn btn-outline-primary\">\n <FontAwesomeIcon icon={vsTriangleDown} />\n <Tooltip>Partitions</Tooltip>\n <DropdownMenu\n ref={searchMenu => {\n this.searchMenu = searchMenu;\n }}\n actions={[{ menuElement: partitionSelectorSearch }]}\n onMenuOpened={this.handleSearchOpened}\n onMenuClosed={this.handleSearchClosed}\n />\n </button>\n </div>\n </div>\n <div className=\"iris-grid-partition-selector-spacer\" />\n <button\n type=\"button\"\n className=\"btn btn-outline-primary btn-ignore\"\n onClick={this.handleIgnoreClick}\n >\n Ignore & Fetch All\n </button>\n <button\n type=\"button\"\n className=\"btn btn-outline-primary btn-append\"\n onClick={this.handleAppendClick}\n >\n Append Command\n </button>\n <button\n type=\"button\"\n className=\"btn btn-link btn-link-icon btn-close\"\n onClick={onDone}\n >\n <FontAwesomeIcon icon={vsClose} />\n </button>\n </div>\n );\n }\n}\n\nexport default IrisGridPartitionSelector;\n"],"file":"IrisGridPartitionSelector.js"}
|
|
@@ -1,41 +1,120 @@
|
|
|
1
|
-
|
|
1
|
+
import { Formatter } from '@deephaven/jsapi-utils';
|
|
2
|
+
import { CancelablePromise } from '@deephaven/utils';
|
|
3
|
+
import { Column, ColumnStatistics, CustomColumn, FilterCondition, InputTable, LayoutHints, RollupConfig, Sort, Table, TreeTable } from '@deephaven/jsapi-shim';
|
|
4
|
+
import { EditableGridModel, ModelIndex, MoveOperation } from '@deephaven/grid';
|
|
5
|
+
import IrisGridTableModel from './IrisGridTableModel';
|
|
6
|
+
import IrisGridTreeTableModel from './IrisGridTreeTableModel';
|
|
7
|
+
import IrisGridModel from './IrisGridModel';
|
|
8
|
+
import { ColumnName, UITotalsTableConfig, PendingDataMap, UIRow } from './CommonTypes';
|
|
2
9
|
/**
|
|
3
10
|
* Model which proxies calls to other IrisGridModels.
|
|
4
11
|
* This allows for operations that generate new tables, like rollups.
|
|
5
12
|
*/
|
|
6
|
-
declare class IrisGridProxyModel extends IrisGridModel
|
|
13
|
+
declare class IrisGridProxyModel extends IrisGridModel {
|
|
7
14
|
/**
|
|
8
|
-
* @param
|
|
9
|
-
* @param
|
|
10
|
-
* @param
|
|
15
|
+
* @param table Iris data table to be used in the model
|
|
16
|
+
* @param formatter The formatter to use when getting formats
|
|
17
|
+
* @param inputTable Iris input table associated with this table
|
|
11
18
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
get
|
|
19
|
+
originalModel: IrisGridModel;
|
|
20
|
+
model: IrisGridModel;
|
|
21
|
+
modelPromise: CancelablePromise<IrisGridModel> | null;
|
|
22
|
+
rollup: RollupConfig | null;
|
|
23
|
+
selectDistinct: ColumnName[];
|
|
24
|
+
constructor(table: Table | TreeTable, formatter?: Formatter, inputTable?: InputTable | null);
|
|
25
|
+
close(): void;
|
|
26
|
+
handleModelEvent(event: CustomEvent): void;
|
|
27
|
+
setModel(model: IrisGridModel): void;
|
|
28
|
+
setNextModel(modelPromise: Promise<IrisGridModel>): void;
|
|
29
|
+
startListening(): void;
|
|
30
|
+
stopListening(): void;
|
|
31
|
+
addListeners(model: IrisGridModel): void;
|
|
32
|
+
removeListeners(model: IrisGridModel): void;
|
|
33
|
+
get rowCount(): number;
|
|
34
|
+
get columnCount(): number;
|
|
35
|
+
get floatingTopRowCount(): number;
|
|
36
|
+
get floatingBottomRowCount(): number;
|
|
37
|
+
get floatingLeftColumnCount(): number;
|
|
38
|
+
get floatingRightColumnCount(): number;
|
|
39
|
+
textForCell: IrisGridModel['textForCell'];
|
|
40
|
+
truncationCharForCell: IrisGridModel['truncationCharForCell'];
|
|
41
|
+
textAlignForCell: IrisGridModel['textAlignForCell'];
|
|
42
|
+
colorForCell: IrisGridModel['colorForCell'];
|
|
43
|
+
backgroundColorForCell: IrisGridModel['backgroundColorForCell'];
|
|
44
|
+
textForColumnHeader: IrisGridModel['textForColumnHeader'];
|
|
45
|
+
textForRowHeader: IrisGridModel['textForRowHeader'];
|
|
46
|
+
textForRowFooter: IrisGridModel['textForRowFooter'];
|
|
47
|
+
isRowMovable: IrisGridModel['isRowMovable'];
|
|
48
|
+
isColumnMovable: IrisGridModel['isColumnMovable'];
|
|
49
|
+
isColumnFrozen(x: ModelIndex): boolean;
|
|
50
|
+
get hasExpandableRows(): boolean;
|
|
51
|
+
isRowExpandable: IrisGridTreeTableModel['isRowExpandable'];
|
|
52
|
+
isRowExpanded: IrisGridTreeTableModel['isRowExpanded'];
|
|
53
|
+
setRowExpanded: IrisGridTreeTableModel['setRowExpanded'];
|
|
54
|
+
depthForRow: IrisGridTreeTableModel['depthForRow'];
|
|
55
|
+
get isExportAvailable(): boolean;
|
|
56
|
+
get isColumnStatisticsAvailable(): boolean;
|
|
57
|
+
get isValuesTableAvailable(): boolean;
|
|
58
|
+
get isCustomColumnsAvailable(): boolean;
|
|
59
|
+
get isFormatColumnsAvailable(): boolean;
|
|
60
|
+
get isChartBuilderAvailable(): boolean;
|
|
61
|
+
get isRollupAvailable(): boolean;
|
|
62
|
+
get isSelectDistinctAvailable(): boolean;
|
|
63
|
+
get isTotalsAvailable(): boolean;
|
|
64
|
+
get isReversible(): boolean;
|
|
65
|
+
get columns(): Column[];
|
|
66
|
+
get movedColumns(): MoveOperation[];
|
|
67
|
+
get movedRows(): MoveOperation[];
|
|
68
|
+
get layoutHints(): LayoutHints | null;
|
|
69
|
+
get frontColumns(): ColumnName[];
|
|
70
|
+
get backColumns(): ColumnName[];
|
|
71
|
+
get frozenColumns(): ColumnName[];
|
|
72
|
+
updateFrozenColumns(columns: ColumnName[]): void;
|
|
73
|
+
get originalColumns(): Column[];
|
|
74
|
+
get groupedColumns(): Column[];
|
|
75
|
+
get description(): string;
|
|
76
|
+
formatForCell: IrisGridModel['formatForCell'];
|
|
77
|
+
valueForCell: IrisGridModel['valueForCell'];
|
|
78
|
+
get filter(): FilterCondition[];
|
|
79
|
+
set filter(filter: FilterCondition[]);
|
|
80
|
+
get formatter(): Formatter;
|
|
81
|
+
set formatter(formatter: Formatter);
|
|
82
|
+
displayString: IrisGridModel['displayString'];
|
|
83
|
+
get sort(): Sort[];
|
|
84
|
+
set sort(sort: Sort[]);
|
|
85
|
+
get customColumns(): ColumnName[];
|
|
86
|
+
set customColumns(customColumns: ColumnName[]);
|
|
87
|
+
get formatColumns(): CustomColumn[];
|
|
88
|
+
set formatColumns(formatColumns: CustomColumn[]);
|
|
89
|
+
get rollupConfig(): RollupConfig | null;
|
|
90
|
+
set rollupConfig(rollupConfig: RollupConfig | null);
|
|
91
|
+
get selectDistinctColumns(): ColumnName[];
|
|
92
|
+
set selectDistinctColumns(columnNames: string[]);
|
|
93
|
+
get totalsConfig(): UITotalsTableConfig | null;
|
|
94
|
+
set totalsConfig(totalsConfig: UITotalsTableConfig | null);
|
|
95
|
+
get isFilterRequired(): boolean;
|
|
29
96
|
get isEditable(): boolean;
|
|
30
|
-
isEditableRange
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
97
|
+
isEditableRange: IrisGridTableModel['isEditableRange'];
|
|
98
|
+
isFilterable: IrisGridTableModel['isFilterable'];
|
|
99
|
+
setViewport: (top: number, bottom: number, columns: Column[]) => void;
|
|
100
|
+
snapshot: IrisGridModel['snapshot'];
|
|
101
|
+
textSnapshot: IrisGridTableModel['textSnapshot'];
|
|
102
|
+
export(): Promise<Table>;
|
|
103
|
+
valuesTable: IrisGridTableModel['valuesTable'];
|
|
104
|
+
columnStatistics(column: Column): Promise<ColumnStatistics>;
|
|
105
|
+
editValueForCell: IrisGridTableModel['editValueForCell'];
|
|
106
|
+
setValueForCell: IrisGridTableModel['setValueForCell'];
|
|
107
|
+
setValueForRanges: IrisGridTableModel['setValueForRanges'];
|
|
108
|
+
setValues: EditableGridModel['setValues'];
|
|
109
|
+
isValidForCell: IrisGridTableModel['isValidForCell'];
|
|
110
|
+
delete: IrisGridTableModel['delete'];
|
|
111
|
+
get pendingDataMap(): PendingDataMap<UIRow>;
|
|
112
|
+
set pendingDataMap(map: PendingDataMap<UIRow>);
|
|
113
|
+
get pendingRowCount(): number;
|
|
114
|
+
set pendingRowCount(count: number);
|
|
115
|
+
get pendingDataErrors(): Map<number, Error[]>;
|
|
116
|
+
commitPending: IrisGridTableModel['commitPending'];
|
|
117
|
+
getColumnIndexByName(name: ColumnName): number | undefined;
|
|
36
118
|
}
|
|
37
|
-
|
|
38
|
-
import IrisGridTableModel from "./IrisGridTableModel";
|
|
39
|
-
import IrisGridTreeTableModel from "./IrisGridTreeTableModel";
|
|
40
|
-
import { Formatter } from "packages/jsapi-utils/src/Formatter";
|
|
119
|
+
export default IrisGridProxyModel;
|
|
41
120
|
//# sourceMappingURL=IrisGridProxyModel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridProxyModel.d.ts","sourceRoot":"","sources":["../src/IrisGridProxyModel.
|
|
1
|
+
{"version":3,"file":"IrisGridProxyModel.d.ts","sourceRoot":"","sources":["../src/IrisGridProxyModel.ts"],"names":[],"mappings":"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"}
|