@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.
Files changed (184) hide show
  1. package/dist/AdvancedFilterCreator.d.ts +69 -63
  2. package/dist/AdvancedFilterCreator.d.ts.map +1 -1
  3. package/dist/AdvancedFilterCreator.js +79 -73
  4. package/dist/AdvancedFilterCreator.js.map +1 -1
  5. package/dist/AdvancedFilterCreatorSelectValue.d.ts +45 -45
  6. package/dist/AdvancedFilterCreatorSelectValue.d.ts.map +1 -1
  7. package/dist/AdvancedFilterCreatorSelectValue.js +32 -36
  8. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  9. package/dist/AdvancedFilterCreatorSelectValueList.d.ts +47 -52
  10. package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
  11. package/dist/AdvancedFilterCreatorSelectValueList.js +24 -39
  12. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  13. package/dist/ColumnStatistics.d.ts +34 -22
  14. package/dist/ColumnStatistics.d.ts.map +1 -1
  15. package/dist/ColumnStatistics.js +8 -12
  16. package/dist/ColumnStatistics.js.map +1 -1
  17. package/dist/CommonTypes.d.ts +58 -0
  18. package/dist/CommonTypes.d.ts.map +1 -0
  19. package/dist/CommonTypes.js +2 -0
  20. package/dist/CommonTypes.js.map +1 -0
  21. package/dist/CrossColumnSearch.d.ts +26 -24
  22. package/dist/CrossColumnSearch.d.ts.map +1 -1
  23. package/dist/CrossColumnSearch.js +9 -13
  24. package/dist/CrossColumnSearch.js.map +1 -1
  25. package/dist/FilterInputField.d.ts +48 -51
  26. package/dist/FilterInputField.d.ts.map +1 -1
  27. package/dist/FilterInputField.js +30 -27
  28. package/dist/FilterInputField.js.map +1 -1
  29. package/dist/IrisGrid.d.ts +409 -453
  30. package/dist/IrisGrid.d.ts.map +1 -1
  31. package/dist/IrisGrid.js +514 -449
  32. package/dist/IrisGrid.js.map +1 -1
  33. package/dist/IrisGridCellOverflowModal.d.ts +1 -1
  34. package/dist/IrisGridCellOverflowModal.d.ts.map +1 -1
  35. package/dist/IrisGridCellOverflowModal.js.map +1 -1
  36. package/dist/IrisGridCopyHandler.d.ts +52 -46
  37. package/dist/IrisGridCopyHandler.d.ts.map +1 -1
  38. package/dist/IrisGridCopyHandler.js +22 -38
  39. package/dist/IrisGridCopyHandler.js.map +1 -1
  40. package/dist/IrisGridMetricCalculator.d.ts +5 -4
  41. package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
  42. package/dist/IrisGridMetricCalculator.js +5 -1
  43. package/dist/IrisGridMetricCalculator.js.map +1 -1
  44. package/dist/IrisGridModel.d.ts +37 -35
  45. package/dist/IrisGridModel.d.ts.map +1 -1
  46. package/dist/IrisGridModel.js +19 -3
  47. package/dist/IrisGridModel.js.map +1 -1
  48. package/dist/IrisGridModelFactory.d.ts +7 -5
  49. package/dist/IrisGridModelFactory.d.ts.map +1 -1
  50. package/dist/IrisGridModelFactory.js +5 -5
  51. package/dist/IrisGridModelFactory.js.map +1 -1
  52. package/dist/IrisGridModelUpdater.d.ts +13 -11
  53. package/dist/IrisGridModelUpdater.d.ts.map +1 -1
  54. package/dist/IrisGridModelUpdater.js.map +1 -1
  55. package/dist/IrisGridPartitionSelector.d.ts +38 -39
  56. package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
  57. package/dist/IrisGridPartitionSelector.js +18 -24
  58. package/dist/IrisGridPartitionSelector.js.map +1 -1
  59. package/dist/IrisGridProxyModel.d.ts +111 -32
  60. package/dist/IrisGridProxyModel.d.ts.map +1 -1
  61. package/dist/IrisGridProxyModel.js +212 -170
  62. package/dist/IrisGridProxyModel.js.map +1 -1
  63. package/dist/IrisGridRenderer.d.ts +59 -31
  64. package/dist/IrisGridRenderer.d.ts.map +1 -1
  65. package/dist/IrisGridRenderer.js +92 -46
  66. package/dist/IrisGridRenderer.js.map +1 -1
  67. package/dist/IrisGridTableModel.d.ts +48 -147
  68. package/dist/IrisGridTableModel.d.ts.map +1 -1
  69. package/dist/IrisGridTableModel.js +58 -1381
  70. package/dist/IrisGridTableModel.js.map +1 -1
  71. package/dist/IrisGridTableModelTemplate.d.ts +219 -0
  72. package/dist/IrisGridTableModelTemplate.d.ts.map +1 -0
  73. package/dist/IrisGridTableModelTemplate.js +1623 -0
  74. package/dist/IrisGridTableModelTemplate.js.map +1 -0
  75. package/dist/IrisGridTestUtils.d.ts +18 -14
  76. package/dist/IrisGridTestUtils.d.ts.map +1 -1
  77. package/dist/IrisGridTestUtils.js +29 -1
  78. package/dist/IrisGridTestUtils.js.map +1 -1
  79. package/dist/IrisGridTheme.d.ts +35 -3
  80. package/dist/IrisGridTheme.d.ts.map +1 -1
  81. package/dist/IrisGridTheme.js.map +1 -1
  82. package/dist/IrisGridTreeTableModel.d.ts +26 -7
  83. package/dist/IrisGridTreeTableModel.d.ts.map +1 -1
  84. package/dist/IrisGridTreeTableModel.js +24 -14
  85. package/dist/IrisGridTreeTableModel.js.map +1 -1
  86. package/dist/IrisGridUtils.d.ts +257 -162
  87. package/dist/IrisGridUtils.d.ts.map +1 -1
  88. package/dist/IrisGridUtils.js +132 -95
  89. package/dist/IrisGridUtils.js.map +1 -1
  90. package/dist/MissingKeyError.d.ts +5 -3
  91. package/dist/MissingKeyError.d.ts.map +1 -1
  92. package/dist/MissingKeyError.js.map +1 -1
  93. package/dist/PartitionSelectorSearch.d.ts +61 -40
  94. package/dist/PartitionSelectorSearch.d.ts.map +1 -1
  95. package/dist/PartitionSelectorSearch.js +25 -15
  96. package/dist/PartitionSelectorSearch.js.map +1 -1
  97. package/dist/PendingDataBottomBar.d.ts +3 -6
  98. package/dist/PendingDataBottomBar.d.ts.map +1 -1
  99. package/dist/PendingDataBottomBar.js.map +1 -1
  100. package/dist/TableViewportUpdater.d.ts +39 -55
  101. package/dist/TableViewportUpdater.d.ts.map +1 -1
  102. package/dist/TableViewportUpdater.js +42 -64
  103. package/dist/TableViewportUpdater.js.map +1 -1
  104. package/dist/TreeTableViewportUpdater.d.ts +29 -37
  105. package/dist/TreeTableViewportUpdater.d.ts.map +1 -1
  106. package/dist/TreeTableViewportUpdater.js +39 -50
  107. package/dist/TreeTableViewportUpdater.js.map +1 -1
  108. package/dist/index.d.ts +9 -0
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +9 -0
  111. package/dist/index.js.map +1 -1
  112. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.d.ts.map +1 -1
  113. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
  114. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts +1 -1
  115. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts.map +1 -1
  116. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +2 -0
  117. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
  118. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +1 -1
  119. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
  120. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +41 -130
  121. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
  122. package/dist/mousehandlers/IrisGridContextMenuHandler.js +426 -317
  123. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  124. package/dist/mousehandlers/IrisGridFilterMouseHandler.d.ts.map +1 -1
  125. package/dist/mousehandlers/IrisGridFilterMouseHandler.js +2 -2
  126. package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
  127. package/dist/mousehandlers/IrisGridSortMouseHandler.js +1 -1
  128. package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
  129. package/dist/mousehandlers/PendingMouseHandler.d.ts +8 -4
  130. package/dist/mousehandlers/PendingMouseHandler.d.ts.map +1 -1
  131. package/dist/mousehandlers/PendingMouseHandler.js +4 -5
  132. package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
  133. package/dist/sidebar/ChartBuilder.d.ts +48 -33
  134. package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
  135. package/dist/sidebar/ChartBuilder.js +28 -27
  136. package/dist/sidebar/ChartBuilder.js.map +1 -1
  137. package/dist/sidebar/CustomColumnBuilder.d.ts +51 -41
  138. package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
  139. package/dist/sidebar/CustomColumnBuilder.js +22 -18
  140. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  141. package/dist/sidebar/CustomColumnInput.d.ts +26 -36
  142. package/dist/sidebar/CustomColumnInput.d.ts.map +1 -1
  143. package/dist/sidebar/CustomColumnInput.js +11 -20
  144. package/dist/sidebar/CustomColumnInput.js.map +1 -1
  145. package/dist/sidebar/InputEditor.d.ts +34 -35
  146. package/dist/sidebar/InputEditor.d.ts.map +1 -1
  147. package/dist/sidebar/InputEditor.js +43 -24
  148. package/dist/sidebar/InputEditor.js.map +1 -1
  149. package/dist/sidebar/RollupRows.d.ts +67 -52
  150. package/dist/sidebar/RollupRows.d.ts.map +1 -1
  151. package/dist/sidebar/RollupRows.js +51 -53
  152. package/dist/sidebar/RollupRows.js.map +1 -1
  153. package/dist/sidebar/SelectDistinctBuilder.d.ts +27 -21
  154. package/dist/sidebar/SelectDistinctBuilder.d.ts.map +1 -1
  155. package/dist/sidebar/SelectDistinctBuilder.js +6 -10
  156. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  157. package/dist/sidebar/TableCsvExporter.d.ts +42 -39
  158. package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
  159. package/dist/sidebar/TableCsvExporter.js +12 -20
  160. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  161. package/dist/sidebar/TableSaver.d.ts +59 -60
  162. package/dist/sidebar/TableSaver.d.ts.map +1 -1
  163. package/dist/sidebar/TableSaver.js +154 -68
  164. package/dist/sidebar/TableSaver.js.map +1 -1
  165. package/dist/sidebar/VisibilityOrderingBuilder.d.ts +56 -45
  166. package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
  167. package/dist/sidebar/VisibilityOrderingBuilder.js +34 -29
  168. package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
  169. package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
  170. package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
  171. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts +2 -1
  172. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
  173. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
  174. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +6 -5
  175. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
  176. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +5 -0
  177. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
  178. package/dist/sidebar/icons/index.d.ts +7 -7
  179. package/dist/sidebar/icons/index.d.ts.map +1 -1
  180. package/dist/sidebar/icons/index.js.map +1 -1
  181. package/dist/sidebar/index.d.ts +12 -12
  182. package/dist/sidebar/index.d.ts.map +1 -1
  183. package/dist/sidebar/index.js.map +1 -1
  184. package/package.json +17 -16
@@ -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 IrisGridTableModel from "./IrisGridTableModel.js";
14
+ import { assertNotNull } from '@deephaven/utils';
15
+ import IrisGridTableModelTemplate from "./IrisGridTableModelTemplate.js";
15
16
 
16
- class IrisGridTreeTableModel extends IrisGridTableModel {
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 value = this.valueForCell(x, y);
34
- return value != null ? this.displayString(value, column.constituentType, column.name) : null;
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 _arguments = arguments,
56
- _this = this;
57
+ snapshot(ranges, includeHeaders, formatValue) {
58
+ var _this = this;
57
59
 
58
60
  return _asyncToGenerator(function* () {
59
- var includeHeaders = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : false;
60
- var formatValue = _arguments.length > 2 && _arguments[2] !== undefined ? _arguments[2] : value => value;
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
- resultRow.push(formatValue(viewportRow.data.get(c).value, _this.columns[c]));
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
- var _this$table$groupedCo;
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.js"],"names":["memoize","GridRange","IrisGridTableModel","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","result","push","c","viewportRange","viewportData","offset","rows","i","intersection","r","startRow","endRow","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 } from '@deephaven/grid';\nimport IrisGridTableModel from './IrisGridTableModel';\n\nclass IrisGridTreeTableModel extends IrisGridTableModel {\n applyBufferedViewport(viewportTop, viewportBottom, columns) {\n this.table.setViewport(viewportTop, viewportBottom, columns);\n }\n\n textForCell(x, y) {\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 value != null\n ? this.displayString(value, column.constituentType, column.name)\n : null;\n }\n }\n\n return super.textForCell(x, y);\n }\n\n extractViewportRow(row, columns) {\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(ranges, includeHeaders = false, formatValue = value => value) {\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 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 for (\n let c = intersection.startColumn;\n c <= intersection.endColumn;\n c += 1\n ) {\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 this.table.groupedColumns ?? [];\n }\n\n get hasExpandableRows() {\n return true;\n }\n\n get isChartBuilderAvailable() {\n return false;\n }\n\n get isSelectDistinctAvailable() {\n return false;\n }\n\n get isReversible() {\n return false;\n }\n\n isFilterable(columnIndex) {\n return this.getCachedFilterableColumnSet(\n this.columns,\n this.groupedColumns\n ).has(columnIndex);\n }\n\n isColumnMovable(column) {\n return column >= this.groupedColumns.length;\n }\n\n isRowExpandable(y) {\n const row = this.row(y);\n return row?.hasChildren ?? false;\n }\n\n isRowExpanded(y) {\n const row = this.row(y);\n return row?.isExpanded ?? false;\n }\n\n setRowExpanded(y, isExpanded) {\n this.table.setExpanded(y, isExpanded);\n }\n\n depthForRow(y) {\n const row = this.row(y);\n return (row?.depth ?? 1) - 1;\n }\n\n getCachedFilterableColumnSet = memoize(\n (columns, groupedColumns) =>\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"}
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"}