@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
|
@@ -11,15 +11,17 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
11
11
|
/* eslint class-methods-use-this: "off" */
|
|
12
12
|
import memoize from 'memoize-one';
|
|
13
13
|
import { GridRange } from '@deephaven/grid';
|
|
14
|
-
import
|
|
14
|
+
import { assertNotNull } from '@deephaven/utils';
|
|
15
|
+
import IrisGridTableModelTemplate from "./IrisGridTableModelTemplate.js";
|
|
15
16
|
|
|
16
|
-
class IrisGridTreeTableModel extends
|
|
17
|
+
class IrisGridTreeTableModel extends IrisGridTableModelTemplate {
|
|
17
18
|
constructor() {
|
|
18
19
|
super(...arguments);
|
|
19
20
|
|
|
20
21
|
_defineProperty(this, "getCachedFilterableColumnSet", memoize((columns, groupedColumns) => new Set(((groupedColumns === null || groupedColumns === void 0 ? void 0 : groupedColumns.length) > 0 ? groupedColumns : columns).map(c1 => columns.findIndex(c2 => c1.name === c2.name)))));
|
|
21
22
|
}
|
|
22
23
|
|
|
24
|
+
// table: TreeTable
|
|
23
25
|
applyBufferedViewport(viewportTop, viewportBottom, columns) {
|
|
24
26
|
this.table.setViewport(viewportTop, viewportBottom, columns);
|
|
25
27
|
}
|
|
@@ -30,8 +32,9 @@ class IrisGridTreeTableModel extends IrisGridTableModel {
|
|
|
30
32
|
|
|
31
33
|
if (row != null && column != null) {
|
|
32
34
|
if (!row.hasChildren && column.constituentType != null) {
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
+
var _value = this.valueForCell(x, y);
|
|
36
|
+
|
|
37
|
+
return this.displayString(_value, column.constituentType, column.name);
|
|
35
38
|
}
|
|
36
39
|
}
|
|
37
40
|
|
|
@@ -51,13 +54,14 @@ class IrisGridTreeTableModel extends IrisGridTableModel {
|
|
|
51
54
|
});
|
|
52
55
|
}
|
|
53
56
|
|
|
54
|
-
snapshot(ranges) {
|
|
55
|
-
var
|
|
56
|
-
_this = this;
|
|
57
|
+
snapshot(ranges, includeHeaders, formatValue) {
|
|
58
|
+
var _this = this;
|
|
57
59
|
|
|
58
60
|
return _asyncToGenerator(function* () {
|
|
59
|
-
var
|
|
60
|
-
|
|
61
|
+
var _this$viewportData, _this$viewportData2, _this$viewportData3;
|
|
62
|
+
|
|
63
|
+
assertNotNull(_this.viewport);
|
|
64
|
+
assertNotNull(_this.viewportData);
|
|
61
65
|
var {
|
|
62
66
|
columns
|
|
63
67
|
} = _this.viewport;
|
|
@@ -67,17 +71,25 @@ class IrisGridTreeTableModel extends IrisGridTableModel {
|
|
|
67
71
|
result.push(columns.map(c => c.name));
|
|
68
72
|
}
|
|
69
73
|
|
|
70
|
-
var viewportRange = new GridRange(0, _this.viewportData.offset, columns.length, _this.viewportData.offset + _this.viewportData.rows.length);
|
|
74
|
+
var viewportRange = new GridRange(0, (_this$viewportData = _this.viewportData) === null || _this$viewportData === void 0 ? void 0 : _this$viewportData.offset, columns.length, ((_this$viewportData2 = _this.viewportData) === null || _this$viewportData2 === void 0 ? void 0 : _this$viewportData2.offset) + ((_this$viewportData3 = _this.viewportData) === null || _this$viewportData3 === void 0 ? void 0 : _this$viewportData3.rows.length));
|
|
71
75
|
|
|
72
76
|
for (var i = 0; i < ranges.length; i += 1) {
|
|
73
77
|
var intersection = GridRange.intersection(viewportRange, ranges[i]);
|
|
78
|
+
assertNotNull(intersection);
|
|
79
|
+
assertNotNull(intersection.startRow);
|
|
80
|
+
assertNotNull(intersection.endRow);
|
|
74
81
|
|
|
75
82
|
for (var r = intersection.startRow; r <= intersection.endRow; r += 1) {
|
|
76
83
|
var resultRow = [];
|
|
77
84
|
var viewportRow = _this.viewportData.rows[r - _this.viewportData.offset];
|
|
85
|
+
assertNotNull(intersection.startColumn);
|
|
86
|
+
assertNotNull(intersection.endColumn);
|
|
78
87
|
|
|
79
88
|
for (var c = intersection.startColumn; c <= intersection.endColumn; c += 1) {
|
|
80
|
-
|
|
89
|
+
var _viewportRow$data$get;
|
|
90
|
+
|
|
91
|
+
assertNotNull(formatValue);
|
|
92
|
+
resultRow.push(formatValue((_viewportRow$data$get = viewportRow.data.get(c)) === null || _viewportRow$data$get === void 0 ? void 0 : _viewportRow$data$get.value, _this.columns[c]));
|
|
81
93
|
}
|
|
82
94
|
|
|
83
95
|
result.push(resultRow);
|
|
@@ -89,9 +101,7 @@ class IrisGridTreeTableModel extends IrisGridTableModel {
|
|
|
89
101
|
}
|
|
90
102
|
|
|
91
103
|
get groupedColumns() {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
return (_this$table$groupedCo = this.table.groupedColumns) !== null && _this$table$groupedCo !== void 0 ? _this$table$groupedCo : [];
|
|
104
|
+
return [];
|
|
95
105
|
}
|
|
96
106
|
|
|
97
107
|
get hasExpandableRows() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/IrisGridTreeTableModel.
|
|
1
|
+
{"version":3,"sources":["../src/IrisGridTreeTableModel.ts"],"names":["memoize","GridRange","assertNotNull","IrisGridTableModelTemplate","IrisGridTreeTableModel","columns","groupedColumns","Set","length","map","c1","findIndex","c2","name","applyBufferedViewport","viewportTop","viewportBottom","table","setViewport","textForCell","x","y","column","row","hasChildren","constituentType","value","valueForCell","displayString","extractViewportRow","isExpanded","depth","snapshot","ranges","includeHeaders","formatValue","viewport","viewportData","result","push","c","viewportRange","offset","rows","i","intersection","startRow","endRow","r","resultRow","viewportRow","startColumn","endColumn","data","get","hasExpandableRows","isChartBuilderAvailable","isSelectDistinctAvailable","isReversible","isFilterable","columnIndex","getCachedFilterableColumnSet","has","isColumnMovable","isRowExpandable","isRowExpanded","setRowExpanded","setExpanded","depthForRow"],"mappings":"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","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport memoize from 'memoize-one';\nimport { GridRange, ModelIndex } from '@deephaven/grid';\nimport { Column, TreeRow, TreeTable } from '@deephaven/jsapi-shim';\nimport { assertNotNull } from '@deephaven/utils';\nimport { UIRow } from './CommonTypes';\nimport IrisGridTableModelTemplate from './IrisGridTableModelTemplate';\n\nexport interface UITreeRow extends UIRow {\n isExpanded: boolean;\n hasChildren: boolean;\n depth: number;\n}\nclass IrisGridTreeTableModel extends IrisGridTableModelTemplate<\n TreeTable,\n UITreeRow\n> {\n // table: TreeTable\n\n applyBufferedViewport(\n viewportTop: number,\n viewportBottom: number,\n columns: Column[]\n ): void {\n this.table.setViewport(viewportTop, viewportBottom, columns);\n }\n\n textForCell(x: ModelIndex, y: ModelIndex): string {\n const column = this.columns[x];\n const row = this.row(y);\n if (row != null && column != null) {\n if (!row.hasChildren && column.constituentType != null) {\n const value = this.valueForCell(x, y);\n return this.displayString(value, column.constituentType, column.name);\n }\n }\n\n return super.textForCell(x, y);\n }\n\n extractViewportRow(row: TreeRow, columns: Column[]): UITreeRow {\n const { isExpanded, hasChildren, depth } = row;\n return {\n ...super.extractViewportRow(row, columns),\n isExpanded,\n hasChildren,\n depth,\n };\n }\n\n async snapshot(\n ranges: GridRange[],\n includeHeaders?: boolean,\n formatValue?: (value: unknown, column: Column) => unknown\n ): Promise<unknown[][]> {\n assertNotNull(this.viewport);\n assertNotNull(this.viewportData);\n const { columns } = this.viewport;\n const result = [];\n\n if (includeHeaders) {\n result.push(columns.map(c => c.name));\n }\n\n const viewportRange = new GridRange(\n 0,\n this.viewportData?.offset,\n columns.length,\n this.viewportData?.offset + this.viewportData?.rows.length\n );\n\n for (let i = 0; i < ranges.length; i += 1) {\n const intersection = GridRange.intersection(viewportRange, ranges[i]);\n\n assertNotNull(intersection);\n assertNotNull(intersection.startRow);\n assertNotNull(intersection.endRow);\n\n for (let r = intersection.startRow; r <= intersection.endRow; r += 1) {\n const resultRow = [];\n const viewportRow = this.viewportData.rows[\n r - this.viewportData.offset\n ];\n assertNotNull(intersection.startColumn);\n assertNotNull(intersection.endColumn);\n for (\n let c = intersection.startColumn;\n c <= intersection.endColumn;\n c += 1\n ) {\n assertNotNull(formatValue);\n resultRow.push(\n formatValue(viewportRow.data.get(c)?.value, this.columns[c])\n );\n }\n result.push(resultRow);\n }\n }\n\n return result;\n }\n\n get groupedColumns(): [] {\n return [];\n }\n\n get hasExpandableRows(): boolean {\n return true;\n }\n\n get isChartBuilderAvailable(): boolean {\n return false;\n }\n\n get isSelectDistinctAvailable(): boolean {\n return false;\n }\n\n get isReversible(): boolean {\n return false;\n }\n\n isFilterable(columnIndex: ModelIndex): boolean {\n return this.getCachedFilterableColumnSet(\n this.columns,\n this.groupedColumns\n ).has(columnIndex);\n }\n\n isColumnMovable(column: ModelIndex): boolean {\n return column >= this.groupedColumns.length;\n }\n\n isRowExpandable(y: ModelIndex): boolean {\n const row = this.row(y);\n return row?.hasChildren ?? false;\n }\n\n isRowExpanded(y: ModelIndex): boolean {\n const row = this.row(y);\n return row?.isExpanded ?? false;\n }\n\n setRowExpanded(y: ModelIndex, isExpanded: boolean): void {\n this.table.setExpanded(y, isExpanded);\n }\n\n depthForRow(y: ModelIndex): ModelIndex {\n const row = this.row(y);\n return (row?.depth ?? 1) - 1;\n }\n\n getCachedFilterableColumnSet = memoize(\n (columns: Column[], groupedColumns: Column[]) =>\n new Set(\n (groupedColumns?.length > 0 ? groupedColumns : columns).map(c1 =>\n columns.findIndex(c2 => c1.name === c2.name)\n )\n )\n );\n}\n\nexport default IrisGridTreeTableModel;\n"],"file":"IrisGridTreeTableModel.js"}
|