@deephaven/iris-grid 0.72.1-beta.4 → 0.72.1-core-plugins.9

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 (105) hide show
  1. package/dist/AdvancedFilterCreator.css.map +1 -1
  2. package/dist/AdvancedFilterCreator.js +3 -3
  3. package/dist/AdvancedFilterCreator.js.map +1 -1
  4. package/dist/AdvancedFilterCreatorSelectValue.css.map +1 -1
  5. package/dist/ColumnStatistics.css.map +1 -1
  6. package/dist/ColumnStatistics.js +1 -4
  7. package/dist/ColumnStatistics.js.map +1 -1
  8. package/dist/CrossColumnSearch.css.map +1 -1
  9. package/dist/FilterInputField.css.map +1 -1
  10. package/dist/GotoRow.css.map +1 -1
  11. package/dist/GotoRow.d.ts.map +1 -1
  12. package/dist/GotoRow.js +4 -6
  13. package/dist/GotoRow.js.map +1 -1
  14. package/dist/IrisGrid.d.ts +3 -1
  15. package/dist/IrisGrid.d.ts.map +1 -1
  16. package/dist/IrisGrid.js +20 -5
  17. package/dist/IrisGrid.js.map +1 -1
  18. package/dist/IrisGridModel.d.ts +4 -6
  19. package/dist/IrisGridModel.d.ts.map +1 -1
  20. package/dist/IrisGridModel.js +8 -7
  21. package/dist/IrisGridModel.js.map +1 -1
  22. package/dist/IrisGridPartitionSelector.css.map +1 -1
  23. package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
  24. package/dist/IrisGridPartitionSelector.js +37 -29
  25. package/dist/IrisGridPartitionSelector.js.map +1 -1
  26. package/dist/IrisGridProxyModel.d.ts +10 -112
  27. package/dist/IrisGridProxyModel.d.ts.map +1 -1
  28. package/dist/IrisGridProxyModel.js +43 -349
  29. package/dist/IrisGridProxyModel.js.map +1 -1
  30. package/dist/IrisGridTableModel.d.ts +8 -6
  31. package/dist/IrisGridTableModel.d.ts.map +1 -1
  32. package/dist/IrisGridTableModel.js +13 -8
  33. package/dist/IrisGridTableModel.js.map +1 -1
  34. package/dist/IrisGridTableModelTemplate.d.ts +9 -6
  35. package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
  36. package/dist/IrisGridTableModelTemplate.js +32 -13
  37. package/dist/IrisGridTableModelTemplate.js.map +1 -1
  38. package/dist/IrisGridTestUtils.d.ts +1 -1
  39. package/dist/IrisGridTestUtils.d.ts.map +1 -1
  40. package/dist/IrisGridTestUtils.js +3 -1
  41. package/dist/IrisGridTestUtils.js.map +1 -1
  42. package/dist/IrisGridTreeTableModel.d.ts +1 -0
  43. package/dist/IrisGridTreeTableModel.d.ts.map +1 -1
  44. package/dist/IrisGridTreeTableModel.js +13 -3
  45. package/dist/IrisGridTreeTableModel.js.map +1 -1
  46. package/dist/LazyIrisGrid.d.ts +1 -1
  47. package/dist/index.d.ts +1 -2
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +1 -2
  50. package/dist/index.js.map +1 -1
  51. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js +1 -1
  52. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
  53. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +2 -2
  54. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
  55. package/dist/mousehandlers/IrisGridContextMenuHandler.js +3 -2
  56. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  57. package/dist/mousehandlers/IrisGridRowTreeMouseHandler.js +1 -1
  58. package/dist/mousehandlers/IrisGridRowTreeMouseHandler.js.map +1 -1
  59. package/dist/mousehandlers/IrisGridTokenMouseHandler.js +1 -1
  60. package/dist/mousehandlers/IrisGridTokenMouseHandler.js.map +1 -1
  61. package/dist/sidebar/ChartBuilder.css +0 -1
  62. package/dist/sidebar/ChartBuilder.css.map +1 -1
  63. package/dist/sidebar/ChartBuilder.d.ts +1 -1
  64. package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
  65. package/dist/sidebar/ChartBuilder.js +10 -8
  66. package/dist/sidebar/ChartBuilder.js.map +1 -1
  67. package/dist/sidebar/CustomColumnBuilder.css +1 -1
  68. package/dist/sidebar/CustomColumnBuilder.css.map +1 -1
  69. package/dist/sidebar/CustomColumnBuilder.js +3 -3
  70. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  71. package/dist/sidebar/RollupRows.css.map +1 -1
  72. package/dist/sidebar/SelectDistinctBuilder.js +1 -1
  73. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  74. package/dist/sidebar/TableCsvExporter.css.map +1 -1
  75. package/dist/sidebar/TableCsvExporter.d.ts +1 -1
  76. package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
  77. package/dist/sidebar/TableCsvExporter.js +11 -9
  78. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  79. package/dist/sidebar/aggregations/AggregationEdit.css.map +1 -1
  80. package/dist/sidebar/aggregations/Aggregations.css.map +1 -1
  81. package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
  82. package/dist/sidebar/aggregations/Aggregations.js +9 -6
  83. package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
  84. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts.map +1 -1
  85. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +7 -12
  86. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
  87. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.css +3 -0
  88. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.css.map +1 -1
  89. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.css.map +1 -1
  90. package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts.map +1 -1
  91. package/dist/sidebar/conditional-formatting/RowFormatEditor.js +7 -12
  92. package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
  93. package/dist/sidebar/conditional-formatting/StyleEditor.css.map +1 -1
  94. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.css.map +1 -1
  95. package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.css.map +1 -1
  96. package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.css.map +1 -1
  97. package/package.json +20 -19
  98. package/dist/TableViewportUpdater.d.ts +0 -49
  99. package/dist/TableViewportUpdater.d.ts.map +0 -1
  100. package/dist/TableViewportUpdater.js +0 -161
  101. package/dist/TableViewportUpdater.js.map +0 -1
  102. package/dist/TreeTableViewportUpdater.d.ts +0 -37
  103. package/dist/TreeTableViewportUpdater.d.ts.map +0 -1
  104. package/dist/TreeTableViewportUpdater.js +0 -96
  105. package/dist/TreeTableViewportUpdater.js.map +0 -1
@@ -20,7 +20,7 @@ declare class IrisGridTestUtils {
20
20
  sort?: readonly DhType.Sort[];
21
21
  layoutHints?: Partial<DhType.LayoutHints>;
22
22
  }): DhType.Table;
23
- makeTreeTable(columns?: DhType.Column[], groupedColumns?: DhType.Column[], size?: number, sort?: never[]): DhType.TreeTable;
23
+ makeTreeTable(columns?: DhType.Column[], groupedColumns?: DhType.Column[], size?: number, sort?: never[], layoutHints?: Partial<DhType.LayoutHints>): DhType.TreeTable;
24
24
  makeInputTable(keyColumns?: DhType.Column[]): DhType.InputTable;
25
25
  makeSubscription(table?: DhType.Table): DhType.TableViewportSubscription;
26
26
  makeModel(table?: DhType.Table, formatter?: Formatter | null, inputTable?: DhType.InputTable | null): IrisGridProxyModel;
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridTestUtils.d.ts","sourceRoot":"","sources":["../src/IrisGridTestUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,cAAM,iBAAiB;IACrB,MAAM,CAAC,YAAY,SAAsB;IAEzC,MAAM,CAAC,YAAY,CACjB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,cAAc,EAC3B,WAAW,CAAC,EAAE,OAAO,GACpB,MAAM;IAQT,OAAO,CAAC,EAAE,CAAgB;gBAEd,EAAE,EAAE,OAAO,MAAM;IAI7B,UAAU,CACR,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,GAAE,MAAuC,EAC7C,KAAK,SAAI,GACR,MAAM,CAAC,MAAM;IAKhB,qBAAqB,IAAI,MAAM,CAAC,YAAY;IAK5C,WAAW,CAAC,KAAK,SAAI,EAAE,MAAM,SAAK,GAAG,MAAM,CAAC,MAAM,EAAE;IAUpD,MAAM,CAAC,oBAAoB,CAAC,KAAK,SAAI,GAAG,YAAY;IAQpD,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG;IAW9B,UAAU,IAAI,MAAM,CAAC,eAAe;IAKpC,QAAQ,IAAI,MAAM,CAAC,IAAI;IAKvB,SAAS,CAAC,EACR,OAA4B,EAC5B,IAAiB,EACjB,IAAS,EACT,WAAgB,GACjB,GAAE;QACD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KACtC,GAAG,MAAM,CAAC,KAAK;IASrB,aAAa,CACX,OAAO,kBAAqB,EAC5B,cAAc,GAAE,MAAM,CAAC,MAAM,EAAO,EACpC,IAAI,SAAa,EACjB,IAAI,UAAK,GACR,MAAM,CAAC,SAAS;IAYnB,cAAc,CAAC,UAAU,GAAE,MAAM,CAAC,MAAM,EAAO,GAAG,MAAM,CAAC,UAAU;IAKnE,gBAAgB,CAAC,KAAK,eAAmB,GAAG,MAAM,CAAC,yBAAyB;IAK5E,SAAS,CACP,KAAK,eAAmB,EACxB,SAAS,GAAE,SAAS,GAAG,IAAW,EAClC,UAAU,GAAE,MAAM,CAAC,UAAU,GAAG,IAAW,GAC1C,kBAAkB;CAStB;AAED,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"IrisGridTestUtils.d.ts","sourceRoot":"","sources":["../src/IrisGridTestUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,cAAM,iBAAiB;IACrB,MAAM,CAAC,YAAY,SAAsB;IAEzC,MAAM,CAAC,YAAY,CACjB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,cAAc,EAC3B,WAAW,CAAC,EAAE,OAAO,GACpB,MAAM;IAQT,OAAO,CAAC,EAAE,CAAgB;gBAEd,EAAE,EAAE,OAAO,MAAM;IAI7B,UAAU,CACR,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,GAAE,MAAuC,EAC7C,KAAK,SAAI,GACR,MAAM,CAAC,MAAM;IAKhB,qBAAqB,IAAI,MAAM,CAAC,YAAY;IAK5C,WAAW,CAAC,KAAK,SAAI,EAAE,MAAM,SAAK,GAAG,MAAM,CAAC,MAAM,EAAE;IAUpD,MAAM,CAAC,oBAAoB,CAAC,KAAK,SAAI,GAAG,YAAY;IAQpD,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG;IAW9B,UAAU,IAAI,MAAM,CAAC,eAAe;IAKpC,QAAQ,IAAI,MAAM,CAAC,IAAI;IAKvB,SAAS,CAAC,EACR,OAA4B,EAC5B,IAAiB,EACjB,IAAS,EACT,WAAgB,GACjB,GAAE;QACD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KACtC,GAAG,MAAM,CAAC,KAAK;IASrB,aAAa,CACX,OAAO,kBAAqB,EAC5B,cAAc,GAAE,MAAM,CAAC,MAAM,EAAO,EACpC,IAAI,SAAa,EACjB,IAAI,UAAK,EACT,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,GACxC,MAAM,CAAC,SAAS;IAanB,cAAc,CAAC,UAAU,GAAE,MAAM,CAAC,MAAM,EAAO,GAAG,MAAM,CAAC,UAAU;IAKnE,gBAAgB,CAAC,KAAK,eAAmB,GAAG,MAAM,CAAC,yBAAyB;IAK5E,SAAS,CACP,KAAK,eAAmB,EACxB,SAAS,GAAE,SAAS,GAAG,IAAW,EAClC,UAAU,GAAE,MAAM,CAAC,UAAU,GAAG,IAAW,GAC1C,kBAAkB;CAStB;AAED,eAAe,iBAAiB,CAAC"}
@@ -86,12 +86,14 @@ class IrisGridTestUtils {
86
86
  var groupedColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
87
87
  var size = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1000000000;
88
88
  var sort = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
89
+ var layoutHints = arguments.length > 4 ? arguments[4] : undefined;
89
90
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
90
91
  var table = new this.dh.TreeTable({
91
92
  columns,
92
93
  groupedColumns,
93
94
  size,
94
- sort
95
+ sort,
96
+ layoutHints
95
97
  });
96
98
  table.copy = jest.fn(() => Promise.resolve(table));
97
99
  return table;
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridTestUtils.js","names":["Formatter","IrisGridProxyModel","IrisGridTestUtils","valueForCell","rowIndex","columnIndex","formatValue","value","concat","undefined","constructor","dh","_defineProperty","makeColumn","name","type","arguments","length","DEFAULT_TYPE","index","Column","makeRollupTableConfig","RollupTableConfig","makeColumns","count","prefix","columns","i","push","makeUserColumnWidths","userColumnWidths","Map","set","toString","makeRow","row","Row","get","jest","fn","column","makeFilter","FilterCondition","makeSort","Sort","makeTable","size","sort","layoutHints","table","Table","copy","Promise","resolve","freeze","makeTreeTable","groupedColumns","TreeTable","makeInputTable","keyColumns","InputTable","makeSubscription","TableViewportSubscription","makeModel","formatter","inputTable"],"sources":["../src/IrisGridTestUtils.ts"],"sourcesContent":["import { GridRangeIndex, ModelSizeMap } from '@deephaven/grid';\nimport type { dh as DhType } from '@deephaven/jsapi-types';\nimport { Formatter } from '@deephaven/jsapi-utils';\nimport IrisGridProxyModel from './IrisGridProxyModel';\n\nclass IrisGridTestUtils {\n static DEFAULT_TYPE = 'java.lang.String';\n\n static valueForCell(\n rowIndex: GridRangeIndex,\n columnIndex: GridRangeIndex,\n formatValue?: boolean\n ): string {\n let value = `${rowIndex},${columnIndex}`;\n if (formatValue !== undefined && formatValue) {\n value = `(${value})`;\n }\n return value;\n }\n\n private dh: typeof DhType;\n\n constructor(dh: typeof DhType) {\n this.dh = dh;\n }\n\n makeColumn(\n name?: string,\n type: string = IrisGridTestUtils.DEFAULT_TYPE,\n index = 0\n ): DhType.Column {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new (this.dh as any).Column({ index, name, type });\n }\n\n makeRollupTableConfig(): DhType.RollupConfig {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new (this.dh as any).RollupTableConfig();\n }\n\n makeColumns(count = 5, prefix = ''): DhType.Column[] {\n const columns = [];\n for (let i = 0; i < count; i += 1) {\n columns.push(\n this.makeColumn(`${prefix}${i}`, IrisGridTestUtils.DEFAULT_TYPE, i)\n );\n }\n return columns;\n }\n\n static makeUserColumnWidths(count = 5): ModelSizeMap {\n const userColumnWidths = new Map();\n for (let i = 0; i < count; i += 1) {\n userColumnWidths.set(i.toString(), 100);\n }\n return userColumnWidths;\n }\n\n makeRow(i: number): DhType.Row {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const row = new (this.dh as any).Row({ index: i, name: `${i}` });\n\n row.get = jest.fn(column =>\n IrisGridTestUtils.valueForCell(i, column.index)\n );\n\n return row;\n }\n\n makeFilter(): DhType.FilterCondition {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new (this.dh as any).FilterCondition();\n }\n\n makeSort(): DhType.Sort {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new (this.dh as any).Sort();\n }\n\n makeTable({\n columns = this.makeColumns(),\n size = 1000000000,\n sort = [],\n layoutHints = {},\n }: {\n columns?: DhType.Column[];\n size?: number;\n sort?: readonly DhType.Sort[];\n layoutHints?: Partial<DhType.LayoutHints>;\n } = {}): DhType.Table {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const table = new (this.dh as any).Table({ columns, size, sort });\n table.copy = jest.fn(() => Promise.resolve(table));\n table.freeze = jest.fn(() => Promise.resolve(table));\n table.layoutHints = layoutHints;\n return table;\n }\n\n makeTreeTable(\n columns = this.makeColumns(),\n groupedColumns: DhType.Column[] = [],\n size = 1000000000,\n sort = []\n ): DhType.TreeTable {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const table = new (this.dh as any).TreeTable({\n columns,\n groupedColumns,\n size,\n sort,\n });\n table.copy = jest.fn(() => Promise.resolve(table));\n return table;\n }\n\n makeInputTable(keyColumns: DhType.Column[] = []): DhType.InputTable {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new (this.dh as any).InputTable(keyColumns);\n }\n\n makeSubscription(table = this.makeTable()): DhType.TableViewportSubscription {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new (this.dh as any).TableViewportSubscription({ table });\n }\n\n makeModel(\n table = this.makeTable(),\n formatter: Formatter | null = null,\n inputTable: DhType.InputTable | null = null\n ): IrisGridProxyModel {\n const { dh } = this;\n return new IrisGridProxyModel(\n dh,\n table,\n formatter ?? new Formatter(dh),\n inputTable\n );\n }\n}\n\nexport default IrisGridTestUtils;\n"],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridTestUtils.js","names":["Formatter","IrisGridProxyModel","IrisGridTestUtils","valueForCell","rowIndex","columnIndex","formatValue","value","concat","undefined","constructor","dh","_defineProperty","makeColumn","name","type","arguments","length","DEFAULT_TYPE","index","Column","makeRollupTableConfig","RollupTableConfig","makeColumns","count","prefix","columns","i","push","makeUserColumnWidths","userColumnWidths","Map","set","toString","makeRow","row","Row","get","jest","fn","column","makeFilter","FilterCondition","makeSort","Sort","makeTable","size","sort","layoutHints","table","Table","copy","Promise","resolve","freeze","makeTreeTable","groupedColumns","TreeTable","makeInputTable","keyColumns","InputTable","makeSubscription","TableViewportSubscription","makeModel","formatter","inputTable"],"sources":["../src/IrisGridTestUtils.ts"],"sourcesContent":["import { GridRangeIndex, ModelSizeMap } from '@deephaven/grid';\nimport type { dh as DhType } from '@deephaven/jsapi-types';\nimport { Formatter } from '@deephaven/jsapi-utils';\nimport IrisGridProxyModel from './IrisGridProxyModel';\n\nclass IrisGridTestUtils {\n static DEFAULT_TYPE = 'java.lang.String';\n\n static valueForCell(\n rowIndex: GridRangeIndex,\n columnIndex: GridRangeIndex,\n formatValue?: boolean\n ): string {\n let value = `${rowIndex},${columnIndex}`;\n if (formatValue !== undefined && formatValue) {\n value = `(${value})`;\n }\n return value;\n }\n\n private dh: typeof DhType;\n\n constructor(dh: typeof DhType) {\n this.dh = dh;\n }\n\n makeColumn(\n name?: string,\n type: string = IrisGridTestUtils.DEFAULT_TYPE,\n index = 0\n ): DhType.Column {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new (this.dh as any).Column({ index, name, type });\n }\n\n makeRollupTableConfig(): DhType.RollupConfig {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new (this.dh as any).RollupTableConfig();\n }\n\n makeColumns(count = 5, prefix = ''): DhType.Column[] {\n const columns = [];\n for (let i = 0; i < count; i += 1) {\n columns.push(\n this.makeColumn(`${prefix}${i}`, IrisGridTestUtils.DEFAULT_TYPE, i)\n );\n }\n return columns;\n }\n\n static makeUserColumnWidths(count = 5): ModelSizeMap {\n const userColumnWidths = new Map();\n for (let i = 0; i < count; i += 1) {\n userColumnWidths.set(i.toString(), 100);\n }\n return userColumnWidths;\n }\n\n makeRow(i: number): DhType.Row {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const row = new (this.dh as any).Row({ index: i, name: `${i}` });\n\n row.get = jest.fn(column =>\n IrisGridTestUtils.valueForCell(i, column.index)\n );\n\n return row;\n }\n\n makeFilter(): DhType.FilterCondition {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new (this.dh as any).FilterCondition();\n }\n\n makeSort(): DhType.Sort {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new (this.dh as any).Sort();\n }\n\n makeTable({\n columns = this.makeColumns(),\n size = 1000000000,\n sort = [],\n layoutHints = {},\n }: {\n columns?: DhType.Column[];\n size?: number;\n sort?: readonly DhType.Sort[];\n layoutHints?: Partial<DhType.LayoutHints>;\n } = {}): DhType.Table {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const table = new (this.dh as any).Table({ columns, size, sort });\n table.copy = jest.fn(() => Promise.resolve(table));\n table.freeze = jest.fn(() => Promise.resolve(table));\n table.layoutHints = layoutHints;\n return table;\n }\n\n makeTreeTable(\n columns = this.makeColumns(),\n groupedColumns: DhType.Column[] = [],\n size = 1000000000,\n sort = [],\n layoutHints?: Partial<DhType.LayoutHints>\n ): DhType.TreeTable {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const table = new (this.dh as any).TreeTable({\n columns,\n groupedColumns,\n size,\n sort,\n layoutHints,\n });\n table.copy = jest.fn(() => Promise.resolve(table));\n return table;\n }\n\n makeInputTable(keyColumns: DhType.Column[] = []): DhType.InputTable {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new (this.dh as any).InputTable(keyColumns);\n }\n\n makeSubscription(table = this.makeTable()): DhType.TableViewportSubscription {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return new (this.dh as any).TableViewportSubscription({ table });\n }\n\n makeModel(\n table = this.makeTable(),\n formatter: Formatter | null = null,\n inputTable: DhType.InputTable | null = null\n ): IrisGridProxyModel {\n const { dh } = this;\n return new IrisGridProxyModel(\n dh,\n table,\n formatter ?? new Formatter(dh),\n inputTable\n );\n }\n}\n\nexport default IrisGridTestUtils;\n"],"mappings":";;;AAEA,SAASA,SAAS,QAAQ,wBAAwB;AAAC,OAC5CC,kBAAkB;AAEzB,MAAMC,iBAAiB,CAAC;EAGtB,OAAOC,YAAYA,CACjBC,QAAwB,EACxBC,WAA2B,EAC3BC,WAAqB,EACb;IACR,IAAIC,KAAK,MAAAC,MAAA,CAAMJ,QAAQ,OAAAI,MAAA,CAAIH,WAAW,CAAE;IACxC,IAAIC,WAAW,KAAKG,SAAS,IAAIH,WAAW,EAAE;MAC5CC,KAAK,OAAAC,MAAA,CAAOD,KAAK,MAAG;IACtB;IACA,OAAOA,KAAK;EACd;EAIAG,WAAWA,CAACC,EAAiB,EAAE;IAAAC,eAAA;IAC7B,IAAI,CAACD,EAAE,GAAGA,EAAE;EACd;EAEAE,UAAUA,CACRC,IAAa,EAGE;IAAA,IAFfC,IAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAGd,iBAAiB,CAACgB,YAAY;IAAA,IAC7CC,KAAK,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAG,CAAC;IAET;IACA,OAAO,IAAK,IAAI,CAACL,EAAE,CAASS,MAAM,CAAC;MAAED,KAAK;MAAEL,IAAI;MAAEC;IAAK,CAAC,CAAC;EAC3D;EAEAM,qBAAqBA,CAAA,EAAwB;IAC3C;IACA,OAAO,IAAK,IAAI,CAACV,EAAE,CAASW,iBAAiB,CAAC,CAAC;EACjD;EAEAC,WAAWA,CAAA,EAA0C;IAAA,IAAzCC,KAAK,GAAAR,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAG,CAAC;IAAA,IAAES,MAAM,GAAAT,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAG,EAAE;IAChC,IAAMU,OAAO,GAAG,EAAE;IAClB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,EAAEG,CAAC,IAAI,CAAC,EAAE;MACjCD,OAAO,CAACE,IAAI,CACV,IAAI,CAACf,UAAU,IAAAL,MAAA,CAAIiB,MAAM,EAAAjB,MAAA,CAAGmB,CAAC,GAAIzB,iBAAiB,CAACgB,YAAY,EAAES,CAAC,CACpE,CAAC;IACH;IACA,OAAOD,OAAO;EAChB;EAEA,OAAOG,oBAAoBA,CAAA,EAA0B;IAAA,IAAzBL,KAAK,GAAAR,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAG,CAAC;IACnC,IAAMc,gBAAgB,GAAG,IAAIC,GAAG,CAAC,CAAC;IAClC,KAAK,IAAIJ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,KAAK,EAAEG,CAAC,IAAI,CAAC,EAAE;MACjCG,gBAAgB,CAACE,GAAG,CAACL,CAAC,CAACM,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IACzC;IACA,OAAOH,gBAAgB;EACzB;EAEAI,OAAOA,CAACP,CAAS,EAAc;IAC7B;IACA,IAAMQ,GAAG,GAAG,IAAK,IAAI,CAACxB,EAAE,CAASyB,GAAG,CAAC;MAAEjB,KAAK,EAAEQ,CAAC;MAAEb,IAAI,KAAAN,MAAA,CAAKmB,CAAC;IAAG,CAAC,CAAC;IAEhEQ,GAAG,CAACE,GAAG,GAAGC,IAAI,CAACC,EAAE,CAACC,MAAM,IACtBtC,iBAAiB,CAACC,YAAY,CAACwB,CAAC,EAAEa,MAAM,CAACrB,KAAK,CAChD,CAAC;IAED,OAAOgB,GAAG;EACZ;EAEAM,UAAUA,CAAA,EAA2B;IACnC;IACA,OAAO,IAAK,IAAI,CAAC9B,EAAE,CAAS+B,eAAe,CAAC,CAAC;EAC/C;EAEAC,QAAQA,CAAA,EAAgB;IACtB;IACA,OAAO,IAAK,IAAI,CAAChC,EAAE,CAASiC,IAAI,CAAC,CAAC;EACpC;EAEAC,SAASA,CAAA,EAUa;IAAA,IAVZ;MACRnB,OAAO,GAAG,IAAI,CAACH,WAAW,CAAC,CAAC;MAC5BuB,IAAI,GAAG,UAAU;MACjBC,IAAI,GAAG,EAAE;MACTC,WAAW,GAAG,CAAC;IAMjB,CAAC,GAAAhC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAG,CAAC,CAAC;IACJ;IACA,IAAMiC,KAAK,GAAG,IAAK,IAAI,CAACtC,EAAE,CAASuC,KAAK,CAAC;MAAExB,OAAO;MAAEoB,IAAI;MAAEC;IAAK,CAAC,CAAC;IACjEE,KAAK,CAACE,IAAI,GAAGb,IAAI,CAACC,EAAE,CAAC,MAAMa,OAAO,CAACC,OAAO,CAACJ,KAAK,CAAC,CAAC;IAClDA,KAAK,CAACK,MAAM,GAAGhB,IAAI,CAACC,EAAE,CAAC,MAAMa,OAAO,CAACC,OAAO,CAACJ,KAAK,CAAC,CAAC;IACpDA,KAAK,CAACD,WAAW,GAAGA,WAAW;IAC/B,OAAOC,KAAK;EACd;EAEAM,aAAaA,CAAA,EAMO;IAAA,IALlB7B,OAAO,GAAAV,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAG,IAAI,CAACO,WAAW,CAAC,CAAC;IAAA,IAC5BiC,cAA+B,GAAAxC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAG,EAAE;IAAA,IACpC8B,IAAI,GAAA9B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAG,UAAU;IAAA,IACjB+B,IAAI,GAAA/B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAG,EAAE;IAAA,IACTgC,WAAyC,GAAAhC,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAP,SAAA;IAEzC;IACA,IAAMwC,KAAK,GAAG,IAAK,IAAI,CAACtC,EAAE,CAAS8C,SAAS,CAAC;MAC3C/B,OAAO;MACP8B,cAAc;MACdV,IAAI;MACJC,IAAI;MACJC;IACF,CAAC,CAAC;IACFC,KAAK,CAACE,IAAI,GAAGb,IAAI,CAACC,EAAE,CAAC,MAAMa,OAAO,CAACC,OAAO,CAACJ,KAAK,CAAC,CAAC;IAClD,OAAOA,KAAK;EACd;EAEAS,cAAcA,CAAA,EAAsD;IAAA,IAArDC,UAA2B,GAAA3C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAG,EAAE;IAC7C;IACA,OAAO,IAAK,IAAI,CAACL,EAAE,CAASiD,UAAU,CAACD,UAAU,CAAC;EACpD;EAEAE,gBAAgBA,CAAA,EAA6D;IAAA,IAA5DZ,KAAK,GAAAjC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAG,IAAI,CAAC6B,SAAS,CAAC,CAAC;IACvC;IACA,OAAO,IAAK,IAAI,CAAClC,EAAE,CAASmD,yBAAyB,CAAC;MAAEb;IAAM,CAAC,CAAC;EAClE;EAEAc,SAASA,CAAA,EAIa;IAAA,IAHpBd,KAAK,GAAAjC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAG,IAAI,CAAC6B,SAAS,CAAC,CAAC;IAAA,IACxBmB,SAA2B,GAAAhD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAG,IAAI;IAAA,IAClCiD,UAAoC,GAAAjD,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAP,SAAA,GAAAO,SAAA,MAAG,IAAI;IAE3C,IAAM;MAAEL;IAAG,CAAC,GAAG,IAAI;IACnB,OAAO,IAAIV,kBAAkB,CAC3BU,EAAE,EACFsC,KAAK,EACLe,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,IAAIhE,SAAS,CAACW,EAAE,CAAC,EAC9BsD,UACF,CAAC;EACH;AACF;AAACrD,eAAA,CAvIKV,iBAAiB,kBACC,kBAAkB;AAwI1C,eAAeA,iBAAiB"}
@@ -21,6 +21,7 @@ declare class IrisGridTreeTableModel extends IrisGridTableModelTemplate<DhType.T
21
21
  sourceForCell(column: ModelIndex, row: ModelIndex): GridCell;
22
22
  sourceColumn(column: ModelIndex, row: ModelIndex): DhType.Column;
23
23
  getClearFilterRange(column: ModelIndex): BoundedAxisRange | null;
24
+ get layoutHints(): DhType.LayoutHints | null | undefined;
24
25
  get hasExpandableRows(): boolean;
25
26
  get isExpandAllAvailable(): boolean;
26
27
  get isChartBuilderAvailable(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridTreeTableModel.d.ts","sourceRoot":"","sources":["../src/IrisGridTreeTableModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridTreeTableModel.d.ts","sourceRoot":"","sources":["../src/IrisGridTreeTableModel.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,9 @@ import { Formatter, TableUtils } from '@deephaven/jsapi-utils';
13
13
  import { assertNotNull } from '@deephaven/utils';
14
14
  import IrisGridTableModelTemplate from "./IrisGridTableModelTemplate.js";
15
15
  var log = Log.module('IrisGridTreeTableModel');
16
+ function isLayoutTreeTable(table) {
17
+ return table.layoutHints !== undefined;
18
+ }
16
19
  class IrisGridTreeTableModel extends IrisGridTableModelTemplate {
17
20
  /** We keep a virtual column at the front that tracks the "group" that is expanded */
18
21
 
@@ -106,10 +109,12 @@ class IrisGridTreeTableModel extends IrisGridTableModelTemplate {
106
109
  depth
107
110
  });
108
111
  }
109
- snapshot(ranges, includeHeaders, formatValue) {
110
- var _this = this;
112
+ snapshot(ranges, includeHeaders) {
113
+ var _arguments = arguments,
114
+ _this = this;
111
115
  return _asyncToGenerator(function* () {
112
116
  var _this$viewport$column, _this$viewportData;
117
+ var formatValue = _arguments.length > 2 && _arguments[2] !== undefined ? _arguments[2] : value => value;
113
118
  assertNotNull(_this.viewport);
114
119
  assertNotNull(_this.viewportData);
115
120
  var columns = (_this$viewport$column = _this.viewport.columns) !== null && _this$viewport$column !== void 0 ? _this$viewport$column : _this.columns;
@@ -130,7 +135,6 @@ class IrisGridTreeTableModel extends IrisGridTableModelTemplate {
130
135
  assertNotNull(intersection.endColumn);
131
136
  for (var c = intersection.startColumn; c <= intersection.endColumn; c += 1) {
132
137
  var _viewportRow$data$get;
133
- assertNotNull(formatValue);
134
138
  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]));
135
139
  }
136
140
  result.push(resultRow);
@@ -173,6 +177,12 @@ class IrisGridTreeTableModel extends IrisGridTableModelTemplate {
173
177
  // Return the range of columns matching the grouped columns.
174
178
  return [this.virtualColumns.length, this.groupedColumns.length];
175
179
  }
180
+ get layoutHints() {
181
+ if (isLayoutTreeTable(this.table)) {
182
+ return this.table.layoutHints;
183
+ }
184
+ return undefined;
185
+ }
176
186
  get hasExpandableRows() {
177
187
  return true;
178
188
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridTreeTableModel.js","names":["memoize","GridRange","Log","Formatter","TableUtils","assertNotNull","IrisGridTableModelTemplate","log","module","IrisGridTreeTableModel","constructor","dh","table","formatter","arguments","length","undefined","inputTable","_defineProperty","virtualColumns","tableColumns","tableGroupedColumns","columns","groupedColumns","Set","filter","c","includes","map","c1","findIndex","c2","name","displayName","type","dataType","STRING","constituentType","isPartitionColumn","isSortable","isProxy","description","index","Error","sort","formatColor","get","getFormat","formatNumber","formatDate","applyBufferedViewport","viewportTop","viewportBottom","viewportColumns","setViewport","textForCell","x","y","column","sourceColumn","row","hasChildren","value","valueForCell","displayString","depth","getCachedGroupedColumnSet","has","extractViewportRow","isExpanded","extractedRow","modifiedData","Map","data","i","key","cellData","warn","set","_objectSpread","snapshot","ranges","includeHeaders","formatValue","_this","_asyncToGenerator","_this$viewport$column","_this$viewportData","viewport","viewportData","result","push","viewportRange","offset","rows","intersection","startRow","endRow","r","resultRow","viewportRow","startColumn","endColumn","_viewportRow$data$get","getCachedColumns","getCachedGroupColumns","sourceForCell","depthForRow","getClearFilterRange","hasExpandableRows","isExpandAllAvailable","expandAll","isChartBuilderAvailable","isSelectDistinctAvailable","isReversible","isFilterable","columnIndex","getCachedFilterableColumnSet","isColumnMovable","isRowExpandable","_row$hasChildren","isRowExpanded","_row$isExpanded","setRowExpanded","expandDescendants","setExpanded","collapseAll","_row$depth","updateFrozenColumns"],"sources":["../src/IrisGridTreeTableModel.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport memoize from 'memoize-one';\nimport {\n BoundedAxisRange,\n GridCell,\n GridRange,\n ModelIndex,\n} from '@deephaven/grid';\nimport type { dh as DhType } from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport { Formatter, TableUtils } from '@deephaven/jsapi-utils';\nimport { assertNotNull } from '@deephaven/utils';\nimport { UIRow, ColumnName, CellData } from './CommonTypes';\nimport IrisGridTableModelTemplate from './IrisGridTableModelTemplate';\nimport { DisplayColumn } from './IrisGridModel';\n\nconst log = Log.module('IrisGridTreeTableModel');\n\nexport interface UITreeRow extends UIRow {\n isExpanded: boolean;\n hasChildren: boolean;\n depth: number;\n}\nclass IrisGridTreeTableModel extends IrisGridTableModelTemplate<\n DhType.TreeTable,\n UITreeRow\n> {\n /** We keep a virtual column at the front that tracks the \"group\" that is expanded */\n private virtualColumns: DisplayColumn[];\n\n constructor(\n dh: typeof DhType,\n table: DhType.TreeTable,\n formatter = new Formatter(dh),\n inputTable: DhType.InputTable | null = null\n ) {\n super(dh, table, formatter, inputTable);\n this.virtualColumns =\n table.groupedColumns.length > 1\n ? [\n {\n name: '__DH_UI_GROUP__',\n displayName: 'Group',\n type: TableUtils.dataType.STRING,\n constituentType: TableUtils.dataType.STRING,\n isPartitionColumn: false,\n isSortable: false,\n isProxy: true,\n description: 'Key column',\n index: -1,\n filter: () => {\n throw new Error('Filter not implemented for virtual column');\n },\n sort: () => {\n throw new Error('Sort not implemented virtual column');\n },\n formatColor: () => {\n throw new Error('Color not implemented for virtual column');\n },\n get: () => {\n throw new Error('get not implemented for virtual column');\n },\n getFormat: () => {\n throw new Error('getFormat not implemented for virtual column');\n },\n formatNumber: () => {\n throw new Error(\n 'formatNumber not implemented for virtual column'\n );\n },\n formatDate: () => {\n throw new Error(\n 'formatDate not implemented for virtual column'\n );\n },\n },\n ]\n : [];\n }\n\n applyBufferedViewport(\n viewportTop: number,\n viewportBottom: number,\n columns: DhType.Column[]\n ): void {\n const viewportColumns = [\n // Need to always fetch the grouped columns so we always have key data for the rows\n // Used to display our virtual key column\n ...this.table.groupedColumns,\n ...columns.filter(\n c =>\n !this.virtualColumns.includes(c) && !this.groupedColumns.includes(c)\n ),\n ];\n this.table.setViewport(viewportTop, viewportBottom, viewportColumns);\n }\n\n textForCell(x: ModelIndex, y: ModelIndex): string {\n const column = this.sourceColumn(x, y);\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 // Show empty string instead of null in rollup grouping columns (issue #1483)\n if (\n row.hasChildren &&\n row.depth <= x + 1 &&\n this.valueForCell(x, y) === null &&\n this.getCachedGroupedColumnSet(this.groupedColumns).has(x)\n ) {\n return '';\n }\n }\n\n return super.textForCell(x, y);\n }\n\n extractViewportRow(row: DhType.TreeRow, columns: DhType.Column[]): UITreeRow {\n const { isExpanded, hasChildren, depth } = row;\n const extractedRow = super.extractViewportRow(row, columns);\n const modifiedData = new Map<ModelIndex, CellData>(extractedRow.data);\n if (hasChildren) {\n for (let i = 0; i < this.virtualColumns.length; i += 1) {\n const key = i + (depth - 1) + (this.virtualColumns.length - 1);\n const cellData = modifiedData.get(key);\n if (cellData == null) {\n log.warn('Missing key data for virtual column', i, depth, key, row);\n } else {\n modifiedData.set(i, cellData);\n }\n }\n }\n\n return {\n ...extractedRow,\n data: modifiedData,\n isExpanded,\n hasChildren,\n depth,\n };\n }\n\n async snapshot(\n ranges: GridRange[],\n includeHeaders?: boolean,\n formatValue?: (value: unknown, column: DhType.Column) => unknown\n ): Promise<unknown[][]> {\n assertNotNull(this.viewport);\n assertNotNull(this.viewportData);\n const columns = this.viewport.columns ?? this.columns;\n const result = [];\n\n if (includeHeaders != null && 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 =\n this.viewportData.rows[r - this.viewportData.offset];\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 columns(): DhType.Column[] {\n return this.getCachedColumns(this.virtualColumns, super.columns);\n }\n\n get groupedColumns(): readonly DhType.Column[] {\n return this.getCachedGroupColumns(\n this.virtualColumns,\n this.table.groupedColumns\n );\n }\n\n sourceForCell(column: ModelIndex, row: ModelIndex): GridCell {\n if (column >= this.virtualColumns.length) {\n return { column, row };\n }\n const depth = this.depthForRow(row);\n return { column: column + depth, row };\n }\n\n sourceColumn(column: ModelIndex, row: ModelIndex): DhType.Column {\n if (column >= this.virtualColumns.length) {\n return super.sourceColumn(column, row);\n }\n\n const depth = this.depthForRow(row);\n return this.columns[column + depth];\n }\n\n getClearFilterRange(column: ModelIndex): BoundedAxisRange | null {\n if (column >= this.virtualColumns.length) {\n return super.getClearFilterRange(column);\n }\n // Source for the proxied column could be any of the grouped columns.\n // Return the range of columns matching the grouped columns.\n return [this.virtualColumns.length, this.groupedColumns.length];\n }\n\n get hasExpandableRows(): boolean {\n return true;\n }\n\n get isExpandAllAvailable(): boolean {\n return this.table.expandAll !== undefined;\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 this.virtualColumns\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(\n y: ModelIndex,\n isExpanded: boolean,\n expandDescendants = false\n ): void {\n if (this.isExpandAllAvailable) {\n this.table.setExpanded(y, isExpanded, expandDescendants);\n } else {\n this.table.setExpanded(y, isExpanded);\n }\n }\n\n expandAll(): void {\n if (this.table.expandAll != null) {\n this.table.expandAll();\n }\n }\n\n collapseAll(): void {\n if (this.table.collapseAll != null) {\n this.table.collapseAll();\n }\n }\n\n depthForRow(y: ModelIndex): ModelIndex {\n const row = this.row(y);\n return (row?.depth ?? 1) - 1;\n }\n\n getCachedColumns = memoize(\n (\n virtualColumns: readonly DhType.Column[],\n tableColumns: readonly DhType.Column[]\n ) => [...virtualColumns, ...tableColumns]\n );\n\n getCachedGroupColumns = memoize(\n (\n virtualColumns: readonly DhType.Column[],\n tableGroupedColumns: readonly DhType.Column[]\n ) => [...virtualColumns, ...tableGroupedColumns]\n );\n\n getCachedFilterableColumnSet = memoize(\n (\n columns: readonly DhType.Column[],\n groupedColumns: readonly DhType.Column[],\n virtualColumns: readonly DhType.Column[]\n ) =>\n new Set(\n (groupedColumns?.length > 0 ? groupedColumns : columns)\n .filter(c => !virtualColumns.includes(c))\n .map(c1 => columns.findIndex(c2 => c1.name === c2.name))\n )\n );\n\n getCachedGroupedColumnSet = memoize(\n (groupedColumns: readonly DhType.Column[]) =>\n new Set(\n groupedColumns.map(c1 =>\n this.columns.findIndex(c2 => c1.name === c2.name)\n )\n )\n );\n\n updateFrozenColumns(columns: ColumnName[]): void {\n if (columns.length > 0) {\n throw new Error('Cannot freeze columns on a tree table');\n }\n }\n}\n\nexport default IrisGridTreeTableModel;\n"],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridTreeTableModel.js","names":["memoize","GridRange","Log","Formatter","TableUtils","assertNotNull","IrisGridTableModelTemplate","log","module","isLayoutTreeTable","table","layoutHints","undefined","IrisGridTreeTableModel","constructor","dh","formatter","arguments","length","inputTable","_defineProperty","virtualColumns","tableColumns","tableGroupedColumns","columns","groupedColumns","Set","filter","c","includes","map","c1","findIndex","c2","name","displayName","type","dataType","STRING","constituentType","isPartitionColumn","isSortable","isProxy","description","index","Error","sort","formatColor","get","getFormat","formatNumber","formatDate","applyBufferedViewport","viewportTop","viewportBottom","viewportColumns","setViewport","textForCell","x","y","column","sourceColumn","row","hasChildren","value","valueForCell","displayString","depth","getCachedGroupedColumnSet","has","extractViewportRow","isExpanded","extractedRow","modifiedData","Map","data","i","key","cellData","warn","set","_objectSpread","snapshot","ranges","includeHeaders","_arguments","_this","_asyncToGenerator","_this$viewport$column","_this$viewportData","formatValue","viewport","viewportData","result","push","viewportRange","offset","rows","intersection","startRow","endRow","r","resultRow","viewportRow","startColumn","endColumn","_viewportRow$data$get","getCachedColumns","getCachedGroupColumns","sourceForCell","depthForRow","getClearFilterRange","hasExpandableRows","isExpandAllAvailable","expandAll","isChartBuilderAvailable","isSelectDistinctAvailable","isReversible","isFilterable","columnIndex","getCachedFilterableColumnSet","isColumnMovable","isRowExpandable","_row$hasChildren","isRowExpanded","_row$isExpanded","setRowExpanded","expandDescendants","setExpanded","collapseAll","_row$depth","updateFrozenColumns"],"sources":["../src/IrisGridTreeTableModel.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport memoize from 'memoize-one';\nimport {\n BoundedAxisRange,\n GridCell,\n GridRange,\n ModelIndex,\n} from '@deephaven/grid';\nimport type { dh as DhType } from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport { Formatter, TableUtils } from '@deephaven/jsapi-utils';\nimport { assertNotNull } from '@deephaven/utils';\nimport { UIRow, ColumnName, CellData } from './CommonTypes';\nimport IrisGridTableModelTemplate from './IrisGridTableModelTemplate';\nimport { DisplayColumn } from './IrisGridModel';\n\nconst log = Log.module('IrisGridTreeTableModel');\n\nexport interface UITreeRow extends UIRow {\n isExpanded: boolean;\n hasChildren: boolean;\n depth: number;\n}\n\ntype LayoutTreeTable = DhType.TreeTable & {\n layoutHints?: null | DhType.LayoutHints;\n};\n\nfunction isLayoutTreeTable(table: DhType.TreeTable): table is LayoutTreeTable {\n return (table as LayoutTreeTable).layoutHints !== undefined;\n}\n\nclass IrisGridTreeTableModel extends IrisGridTableModelTemplate<\n DhType.TreeTable,\n UITreeRow\n> {\n /** We keep a virtual column at the front that tracks the \"group\" that is expanded */\n private virtualColumns: DisplayColumn[];\n\n constructor(\n dh: typeof DhType,\n table: DhType.TreeTable,\n formatter = new Formatter(dh),\n inputTable: DhType.InputTable | null = null\n ) {\n super(dh, table, formatter, inputTable);\n this.virtualColumns =\n table.groupedColumns.length > 1\n ? [\n {\n name: '__DH_UI_GROUP__',\n displayName: 'Group',\n type: TableUtils.dataType.STRING,\n constituentType: TableUtils.dataType.STRING,\n isPartitionColumn: false,\n isSortable: false,\n isProxy: true,\n description: 'Key column',\n index: -1,\n filter: () => {\n throw new Error('Filter not implemented for virtual column');\n },\n sort: () => {\n throw new Error('Sort not implemented virtual column');\n },\n formatColor: () => {\n throw new Error('Color not implemented for virtual column');\n },\n get: () => {\n throw new Error('get not implemented for virtual column');\n },\n getFormat: () => {\n throw new Error('getFormat not implemented for virtual column');\n },\n formatNumber: () => {\n throw new Error(\n 'formatNumber not implemented for virtual column'\n );\n },\n formatDate: () => {\n throw new Error(\n 'formatDate not implemented for virtual column'\n );\n },\n },\n ]\n : [];\n }\n\n applyBufferedViewport(\n viewportTop: number,\n viewportBottom: number,\n columns: DhType.Column[]\n ): void {\n const viewportColumns = [\n // Need to always fetch the grouped columns so we always have key data for the rows\n // Used to display our virtual key column\n ...this.table.groupedColumns,\n ...columns.filter(\n c =>\n !this.virtualColumns.includes(c) && !this.groupedColumns.includes(c)\n ),\n ];\n this.table.setViewport(viewportTop, viewportBottom, viewportColumns);\n }\n\n textForCell(x: ModelIndex, y: ModelIndex): string {\n const column = this.sourceColumn(x, y);\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 // Show empty string instead of null in rollup grouping columns (issue #1483)\n if (\n row.hasChildren &&\n row.depth <= x + 1 &&\n this.valueForCell(x, y) === null &&\n this.getCachedGroupedColumnSet(this.groupedColumns).has(x)\n ) {\n return '';\n }\n }\n\n return super.textForCell(x, y);\n }\n\n extractViewportRow(row: DhType.TreeRow, columns: DhType.Column[]): UITreeRow {\n const { isExpanded, hasChildren, depth } = row;\n const extractedRow = super.extractViewportRow(row, columns);\n const modifiedData = new Map<ModelIndex, CellData>(extractedRow.data);\n if (hasChildren) {\n for (let i = 0; i < this.virtualColumns.length; i += 1) {\n const key = i + (depth - 1) + (this.virtualColumns.length - 1);\n const cellData = modifiedData.get(key);\n if (cellData == null) {\n log.warn('Missing key data for virtual column', i, depth, key, row);\n } else {\n modifiedData.set(i, cellData);\n }\n }\n }\n\n return {\n ...extractedRow,\n data: modifiedData,\n isExpanded,\n hasChildren,\n depth,\n };\n }\n\n async snapshot(\n ranges: GridRange[],\n includeHeaders?: boolean,\n formatValue: (value: unknown, column: DhType.Column) => unknown = value =>\n value\n ): Promise<unknown[][]> {\n assertNotNull(this.viewport);\n assertNotNull(this.viewportData);\n const columns = this.viewport.columns ?? this.columns;\n const result = [];\n\n if (includeHeaders != null && 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 =\n this.viewportData.rows[r - this.viewportData.offset];\n assertNotNull(intersection.startColumn);\n assertNotNull(intersection.endColumn);\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 columns(): DhType.Column[] {\n return this.getCachedColumns(this.virtualColumns, super.columns);\n }\n\n get groupedColumns(): readonly DhType.Column[] {\n return this.getCachedGroupColumns(\n this.virtualColumns,\n this.table.groupedColumns\n );\n }\n\n sourceForCell(column: ModelIndex, row: ModelIndex): GridCell {\n if (column >= this.virtualColumns.length) {\n return { column, row };\n }\n const depth = this.depthForRow(row);\n return { column: column + depth, row };\n }\n\n sourceColumn(column: ModelIndex, row: ModelIndex): DhType.Column {\n if (column >= this.virtualColumns.length) {\n return super.sourceColumn(column, row);\n }\n\n const depth = this.depthForRow(row);\n return this.columns[column + depth];\n }\n\n getClearFilterRange(column: ModelIndex): BoundedAxisRange | null {\n if (column >= this.virtualColumns.length) {\n return super.getClearFilterRange(column);\n }\n // Source for the proxied column could be any of the grouped columns.\n // Return the range of columns matching the grouped columns.\n return [this.virtualColumns.length, this.groupedColumns.length];\n }\n\n get layoutHints(): DhType.LayoutHints | null | undefined {\n if (isLayoutTreeTable(this.table)) {\n return this.table.layoutHints;\n }\n return undefined;\n }\n\n get hasExpandableRows(): boolean {\n return true;\n }\n\n get isExpandAllAvailable(): boolean {\n return this.table.expandAll !== undefined;\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 this.virtualColumns\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(\n y: ModelIndex,\n isExpanded: boolean,\n expandDescendants = false\n ): void {\n if (this.isExpandAllAvailable) {\n this.table.setExpanded(y, isExpanded, expandDescendants);\n } else {\n this.table.setExpanded(y, isExpanded);\n }\n }\n\n expandAll(): void {\n if (this.table.expandAll != null) {\n this.table.expandAll();\n }\n }\n\n collapseAll(): void {\n if (this.table.collapseAll != null) {\n this.table.collapseAll();\n }\n }\n\n depthForRow(y: ModelIndex): ModelIndex {\n const row = this.row(y);\n return (row?.depth ?? 1) - 1;\n }\n\n getCachedColumns = memoize(\n (\n virtualColumns: readonly DhType.Column[],\n tableColumns: readonly DhType.Column[]\n ) => [...virtualColumns, ...tableColumns]\n );\n\n getCachedGroupColumns = memoize(\n (\n virtualColumns: readonly DhType.Column[],\n tableGroupedColumns: readonly DhType.Column[]\n ) => [...virtualColumns, ...tableGroupedColumns]\n );\n\n getCachedFilterableColumnSet = memoize(\n (\n columns: readonly DhType.Column[],\n groupedColumns: readonly DhType.Column[],\n virtualColumns: readonly DhType.Column[]\n ) =>\n new Set(\n (groupedColumns?.length > 0 ? groupedColumns : columns)\n .filter(c => !virtualColumns.includes(c))\n .map(c1 => columns.findIndex(c2 => c1.name === c2.name))\n )\n );\n\n getCachedGroupedColumnSet = memoize(\n (groupedColumns: readonly DhType.Column[]) =>\n new Set(\n groupedColumns.map(c1 =>\n this.columns.findIndex(c2 => c1.name === c2.name)\n )\n )\n );\n\n updateFrozenColumns(columns: ColumnName[]): void {\n if (columns.length > 0) {\n throw new Error('Cannot freeze columns on a tree table');\n }\n }\n}\n\nexport default IrisGridTreeTableModel;\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import type IrisGridType from './IrisGrid';
3
3
  import type { IrisGridProps } from './IrisGrid';
4
- declare const LazyIrisGrid: import("react").ForwardRefExoticComponent<Pick<IrisGridProps, "model" | "columnHeaderGroups"> & Partial<Pick<IrisGridProps, "name" | "children" | "settings" | "onError" | "onContextMenu" | "isStuckToBottom" | "theme" | "customColumns" | "pendingDataMap" | "movedColumns" | "userColumnWidths" | "movedRows" | "isStuckToRight" | "advancedFilters" | "advancedSettings" | "alwaysFetchColumns" | "isFilterBarShown" | "applyInputFiltersOnInit" | "conditionalFormats" | "customColumnFormatMap" | "inputFilters" | "customFilters" | "onCreateChart" | "onColumnSelected" | "onDataSelected" | "onStateChange" | "onAdvancedSettingsChange" | "partitions" | "partitionConfig" | "sorts" | "reverseType" | "quickFilters" | "selectDistinctColumns" | "userRowHeights" | "onSelectionChanged" | "rollupConfig" | "aggregationSettings" | "isSelectingColumn" | "isSelectingPartition" | "columnSelectionValidator" | "columnAllowedCursor" | "columnNotAllowedCursor" | "copyCursor" | "onlyFetchVisibleColumns" | "showSearchBar" | "searchValue" | "selectedSearchColumns" | "invertSearchColumns" | "getDownloadWorker" | "canCopy" | "canDownloadCsv" | "frozenColumns" | "canToggleSearch" | "keyHandlers" | "mouseHandlers">> & Partial<Pick<{
4
+ declare const LazyIrisGrid: import("react").ForwardRefExoticComponent<Pick<IrisGridProps, "model" | "columnHeaderGroups" | "renderer"> & Partial<Pick<IrisGridProps, "name" | "children" | "settings" | "onError" | "onContextMenu" | "isStuckToBottom" | "theme" | "customColumns" | "pendingDataMap" | "movedColumns" | "userColumnWidths" | "movedRows" | "isStuckToRight" | "advancedFilters" | "advancedSettings" | "alwaysFetchColumns" | "isFilterBarShown" | "applyInputFiltersOnInit" | "conditionalFormats" | "customColumnFormatMap" | "inputFilters" | "customFilters" | "onCreateChart" | "onColumnSelected" | "onDataSelected" | "onStateChange" | "onAdvancedSettingsChange" | "partitions" | "partitionConfig" | "sorts" | "reverseType" | "quickFilters" | "selectDistinctColumns" | "userRowHeights" | "onSelectionChanged" | "rollupConfig" | "aggregationSettings" | "isSelectingColumn" | "isSelectingPartition" | "columnSelectionValidator" | "columnAllowedCursor" | "columnNotAllowedCursor" | "copyCursor" | "onlyFetchVisibleColumns" | "showSearchBar" | "searchValue" | "selectedSearchColumns" | "invertSearchColumns" | "getDownloadWorker" | "canCopy" | "canDownloadCsv" | "frozenColumns" | "canToggleSearch" | "keyHandlers" | "mouseHandlers">> & Partial<Pick<{
5
5
  children: null;
6
6
  advancedFilters: ReadonlyMap<never, never>;
7
7
  advancedSettings: ReadonlyMap<never, never>;
package/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export { IrisGrid };
4
4
  export * from './sidebar';
5
5
  export * from './AdvancedFilterCreator';
6
6
  export * from './CommonTypes';
7
+ export * from './mousehandlers';
7
8
  export { default as ColumnHeaderGroup } from './ColumnHeaderGroup';
8
9
  export * from './PartitionedGridModel';
9
10
  export * from './IrisGrid';
@@ -26,6 +27,4 @@ export { default as IrisGridUtils } from './IrisGridUtils';
26
27
  export * from './IrisGridUtils';
27
28
  export * from './IrisGridMetricCalculator';
28
29
  export * from './IrisGridRenderer';
29
- export { default as TableViewportUpdater } from './TableViewportUpdater';
30
- export { default as TreeTableViewportUpdater } from './TreeTableViewportUpdater';
31
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,eAAe,QAAQ,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AACrF,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,eAAe,QAAQ,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AACrF,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ export { IrisGrid };
4
4
  export * from "./sidebar/index.js";
5
5
  export * from "./AdvancedFilterCreator.js";
6
6
  export * from "./CommonTypes.js";
7
+ export * from "./mousehandlers/index.js";
7
8
  export { default as ColumnHeaderGroup } from "./ColumnHeaderGroup.js";
8
9
  export * from "./PartitionedGridModel.js";
9
10
  export * from "./IrisGrid.js";
@@ -24,6 +25,4 @@ export { default as IrisGridUtils } from "./IrisGridUtils.js";
24
25
  export * from "./IrisGridUtils.js";
25
26
  export * from "./IrisGridMetricCalculator.js";
26
27
  export * from "./IrisGridRenderer.js";
27
- export { default as TableViewportUpdater } from "./TableViewportUpdater.js";
28
- export { default as TreeTableViewportUpdater } from "./TreeTableViewportUpdater.js";
29
28
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["IrisGrid","default","ColumnHeaderGroup","SHORTCUTS","IrisGridModel","IrisGridTableModel","IrisGridPartitionedTableModel","IrisGridTreeTableModel","IrisGridTableModelTemplate","IrisGridModelFactory","createDefaultIrisGridTheme","IrisGridTestUtils","IrisGridUtils","TableViewportUpdater","TreeTableViewportUpdater"],"sources":["../src/index.ts"],"sourcesContent":["import IrisGrid from './LazyIrisGrid';\n\nexport default IrisGrid;\nexport { IrisGrid };\nexport * from './sidebar';\nexport * from './AdvancedFilterCreator';\nexport * from './CommonTypes';\nexport { default as ColumnHeaderGroup } from './ColumnHeaderGroup';\nexport * from './PartitionedGridModel';\nexport * from './IrisGrid';\nexport type { default as IrisGridType } from './IrisGrid';\nexport { default as SHORTCUTS } from './IrisGridShortcuts';\nexport { default as IrisGridModel } from './IrisGridModel';\nexport { default as IrisGridTableModel } from './IrisGridTableModel';\nexport * from './IrisGridTableModel';\nexport { default as IrisGridPartitionedTableModel } from './IrisGridPartitionedTableModel';\nexport { default as IrisGridTreeTableModel } from './IrisGridTreeTableModel';\nexport { default as IrisGridTableModelTemplate } from './IrisGridTableModelTemplate';\nexport * from './IrisGridTreeTableModel';\nexport * from './IrisGridTableModelTemplate';\nexport { default as IrisGridModelFactory } from './IrisGridModelFactory';\nexport { createDefaultIrisGridTheme } from './IrisGridTheme';\nexport type { IrisGridThemeType } from './IrisGridTheme';\nexport * from './IrisGridThemeProvider';\nexport { default as IrisGridTestUtils } from './IrisGridTestUtils';\nexport { default as IrisGridUtils } from './IrisGridUtils';\nexport * from './IrisGridUtils';\nexport * from './IrisGridMetricCalculator';\nexport * from './IrisGridRenderer';\nexport { default as TableViewportUpdater } from './TableViewportUpdater';\nexport { default as TreeTableViewportUpdater } from './TreeTableViewportUpdater';\n"],"mappings":"OAAOA,QAAQ;AAEf,eAAeA,QAAQ;AACvB,SAASA,QAAQ;AAAG;AAAA;AAAA;AAAA,SAIXC,OAAO,IAAIC,iBAAiB;AAAA;AAAA;AAAA,SAI5BD,OAAO,IAAIE,SAAS;AAAA,SACpBF,OAAO,IAAIG,aAAa;AAAA,SACxBH,OAAO,IAAII,kBAAkB;AAAA;AAAA,SAE7BJ,OAAO,IAAIK,6BAA6B;AAAA,SACxCL,OAAO,IAAIM,sBAAsB;AAAA,SACjCN,OAAO,IAAIO,0BAA0B;AAAA;AAAA;AAAA,SAGrCP,OAAO,IAAIQ,oBAAoB;AAAA,SAC/BC,0BAA0B;AAAA;AAAA,SAG1BT,OAAO,IAAIU,iBAAiB;AAAA,SAC5BV,OAAO,IAAIW,aAAa;AAAA;AAAA;AAAA;AAAA,SAIxBX,OAAO,IAAIY,oBAAoB;AAAA,SAC/BZ,OAAO,IAAIa,wBAAwB"}
1
+ {"version":3,"file":"index.js","names":["IrisGrid","default","ColumnHeaderGroup","SHORTCUTS","IrisGridModel","IrisGridTableModel","IrisGridPartitionedTableModel","IrisGridTreeTableModel","IrisGridTableModelTemplate","IrisGridModelFactory","createDefaultIrisGridTheme","IrisGridTestUtils","IrisGridUtils"],"sources":["../src/index.ts"],"sourcesContent":["import IrisGrid from './LazyIrisGrid';\n\nexport default IrisGrid;\nexport { IrisGrid };\nexport * from './sidebar';\nexport * from './AdvancedFilterCreator';\nexport * from './CommonTypes';\nexport * from './mousehandlers';\nexport { default as ColumnHeaderGroup } from './ColumnHeaderGroup';\nexport * from './PartitionedGridModel';\nexport * from './IrisGrid';\nexport type { default as IrisGridType } from './IrisGrid';\nexport { default as SHORTCUTS } from './IrisGridShortcuts';\nexport { default as IrisGridModel } from './IrisGridModel';\nexport { default as IrisGridTableModel } from './IrisGridTableModel';\nexport * from './IrisGridTableModel';\nexport { default as IrisGridPartitionedTableModel } from './IrisGridPartitionedTableModel';\nexport { default as IrisGridTreeTableModel } from './IrisGridTreeTableModel';\nexport { default as IrisGridTableModelTemplate } from './IrisGridTableModelTemplate';\nexport * from './IrisGridTreeTableModel';\nexport * from './IrisGridTableModelTemplate';\nexport { default as IrisGridModelFactory } from './IrisGridModelFactory';\nexport { createDefaultIrisGridTheme } from './IrisGridTheme';\nexport type { IrisGridThemeType } from './IrisGridTheme';\nexport * from './IrisGridThemeProvider';\nexport { default as IrisGridTestUtils } from './IrisGridTestUtils';\nexport { default as IrisGridUtils } from './IrisGridUtils';\nexport * from './IrisGridUtils';\nexport * from './IrisGridMetricCalculator';\nexport * from './IrisGridRenderer';\n"],"mappings":"OAAOA,QAAQ;AAEf,eAAeA,QAAQ;AACvB,SAASA,QAAQ;AAAG;AAAA;AAAA;AAAA;AAAA,SAKXC,OAAO,IAAIC,iBAAiB;AAAA;AAAA;AAAA,SAI5BD,OAAO,IAAIE,SAAS;AAAA,SACpBF,OAAO,IAAIG,aAAa;AAAA,SACxBH,OAAO,IAAII,kBAAkB;AAAA;AAAA,SAE7BJ,OAAO,IAAIK,6BAA6B;AAAA,SACxCL,OAAO,IAAIM,sBAAsB;AAAA,SACjCN,OAAO,IAAIO,0BAA0B;AAAA;AAAA;AAAA,SAGrCP,OAAO,IAAIQ,oBAAoB;AAAA,SAC/BC,0BAA0B;AAAA;AAAA,SAG1BT,OAAO,IAAIU,iBAAiB;AAAA,SAC5BV,OAAO,IAAIW,aAAa;AAAA;AAAA;AAAA"}
@@ -2,7 +2,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
2
2
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
3
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
4
  import { GridMouseHandler } from '@deephaven/grid';
5
- import deepEqual from 'deep-equal';
5
+ import deepEqual from 'fast-deep-equal';
6
6
  /**
7
7
  * Handles cursor and click action for cell overflow button
8
8
  * The button is rendered via IrisGridRenderer
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridCellOverflowMouseHandler.js","names":["GridMouseHandler","deepEqual","IrisGridCellOverflowMouseHandler","constructor","irisGrid","_defineProperty","destroyColumnTooltip","setState","overflowButtonTooltipProps","setCursor","point","isHoveringOverflowButton","cursor","stopPropagation","preventDefault","getButtonPosition","_ref","x","y","column","row","renderer","grid","state","props","metrics","model","canvasContext","context","theme","getTheme","rendererState","mouseX","mouseY","left","top","width","height","getCellOverflowButtonPosition","_this$getButtonPositi","shouldRenderOverflowButton","onMove","newProps","onWheel","onDown","showOverflowModal","overflowText","getValueForCell","onContextMenu","onLeave"],"sources":["../../src/mousehandlers/IrisGridCellOverflowMouseHandler.ts"],"sourcesContent":["import {\n GridPoint,\n GridMouseHandler,\n EventHandlerResult,\n} from '@deephaven/grid';\nimport deepEqual from 'deep-equal';\nimport type IrisGrid from '../IrisGrid';\nimport { IrisGridRenderState } from '../IrisGridRenderer';\n\n/**\n * Handles cursor and click action for cell overflow button\n * The button is rendered via IrisGridRenderer\n */\nclass IrisGridCellOverflowMouseHandler extends GridMouseHandler {\n private irisGrid: IrisGrid;\n\n constructor(irisGrid: IrisGrid) {\n super(850); // Needs to be before GridSelectionMouseHandler\n\n this.irisGrid = irisGrid;\n }\n\n private destroyColumnTooltip(): void {\n this.irisGrid.setState({ overflowButtonTooltipProps: null });\n }\n\n private setCursor(point: GridPoint): EventHandlerResult {\n if (this.isHoveringOverflowButton(point)) {\n this.cursor = 'pointer';\n return { stopPropagation: false, preventDefault: false };\n }\n\n this.cursor = null;\n return false;\n }\n\n private getButtonPosition({ x, y, column, row }: 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\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 } =\n renderer.getCellOverflowButtonPosition(rendererState);\n if (left == null || width == null || top == null || height == null) {\n return null;\n }\n\n return { left, top, width, height };\n }\n\n private isHoveringOverflowButton(point: GridPoint): boolean {\n const { x, y } = point;\n const { left, top, width, height } = this.getButtonPosition(point) ?? {};\n if (left == null || width == null || top == null || height == null) {\n return false;\n }\n\n const { renderer, grid, state, props } = this.irisGrid;\n if (!grid) {\n return false;\n }\n const { metrics } = state;\n const { model } = props;\n const { canvasContext: context } = grid;\n const theme = grid.getTheme();\n const rendererState = {\n context,\n mouseX: x,\n mouseY: y,\n metrics,\n model,\n theme,\n } as IrisGridRenderState;\n\n return (\n renderer.shouldRenderOverflowButton(rendererState) &&\n x >= left &&\n x <= left + width &&\n y >= top &&\n y <= top + height\n );\n }\n\n onMove(point: GridPoint): EventHandlerResult {\n if (this.isHoveringOverflowButton(point)) {\n const { overflowButtonTooltipProps } = this.irisGrid.state;\n const newProps = this.getButtonPosition(point);\n if (!deepEqual(overflowButtonTooltipProps, newProps)) {\n this.irisGrid.setState({ overflowButtonTooltipProps: newProps });\n }\n } else {\n this.destroyColumnTooltip();\n }\n return this.setCursor(point);\n }\n\n onWheel(point: GridPoint): EventHandlerResult {\n this.destroyColumnTooltip();\n return this.onMove(point);\n }\n\n // Needs to be onDown and not onClick b/c of GridSelectionMouseHandler shifting cell onDown\n onDown(point: GridPoint): boolean {\n this.destroyColumnTooltip();\n const { column, row } = point;\n\n if (this.isHoveringOverflowButton(point)) {\n this.irisGrid.setState({\n showOverflowModal: true,\n overflowText: this.irisGrid.getValueForCell(column, row) as string,\n });\n }\n\n return false;\n }\n\n onContextMenu(): EventHandlerResult {\n this.destroyColumnTooltip();\n return false;\n }\n\n onLeave(): EventHandlerResult {\n this.destroyColumnTooltip();\n return false;\n }\n}\n\nexport default IrisGridCellOverflowMouseHandler;\n"],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridCellOverflowMouseHandler.js","names":["GridMouseHandler","deepEqual","IrisGridCellOverflowMouseHandler","constructor","irisGrid","_defineProperty","destroyColumnTooltip","setState","overflowButtonTooltipProps","setCursor","point","isHoveringOverflowButton","cursor","stopPropagation","preventDefault","getButtonPosition","_ref","x","y","column","row","renderer","grid","state","props","metrics","model","canvasContext","context","theme","getTheme","rendererState","mouseX","mouseY","left","top","width","height","getCellOverflowButtonPosition","_this$getButtonPositi","shouldRenderOverflowButton","onMove","newProps","onWheel","onDown","showOverflowModal","overflowText","getValueForCell","onContextMenu","onLeave"],"sources":["../../src/mousehandlers/IrisGridCellOverflowMouseHandler.ts"],"sourcesContent":["import {\n GridPoint,\n GridMouseHandler,\n EventHandlerResult,\n} from '@deephaven/grid';\nimport deepEqual from 'fast-deep-equal';\nimport type IrisGrid from '../IrisGrid';\nimport { IrisGridRenderState } from '../IrisGridRenderer';\n\n/**\n * Handles cursor and click action for cell overflow button\n * The button is rendered via IrisGridRenderer\n */\nclass IrisGridCellOverflowMouseHandler extends GridMouseHandler {\n private irisGrid: IrisGrid;\n\n constructor(irisGrid: IrisGrid) {\n super(850); // Needs to be before GridSelectionMouseHandler\n\n this.irisGrid = irisGrid;\n }\n\n private destroyColumnTooltip(): void {\n this.irisGrid.setState({ overflowButtonTooltipProps: null });\n }\n\n private setCursor(point: GridPoint): EventHandlerResult {\n if (this.isHoveringOverflowButton(point)) {\n this.cursor = 'pointer';\n return { stopPropagation: false, preventDefault: false };\n }\n\n this.cursor = null;\n return false;\n }\n\n private getButtonPosition({ x, y, column, row }: 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\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 } =\n renderer.getCellOverflowButtonPosition(rendererState);\n if (left == null || width == null || top == null || height == null) {\n return null;\n }\n\n return { left, top, width, height };\n }\n\n private isHoveringOverflowButton(point: GridPoint): boolean {\n const { x, y } = point;\n const { left, top, width, height } = this.getButtonPosition(point) ?? {};\n if (left == null || width == null || top == null || height == null) {\n return false;\n }\n\n const { renderer, grid, state, props } = this.irisGrid;\n if (!grid) {\n return false;\n }\n const { metrics } = state;\n const { model } = props;\n const { canvasContext: context } = grid;\n const theme = grid.getTheme();\n const rendererState = {\n context,\n mouseX: x,\n mouseY: y,\n metrics,\n model,\n theme,\n } as IrisGridRenderState;\n\n return (\n renderer.shouldRenderOverflowButton(rendererState) &&\n x >= left &&\n x <= left + width &&\n y >= top &&\n y <= top + height\n );\n }\n\n onMove(point: GridPoint): EventHandlerResult {\n if (this.isHoveringOverflowButton(point)) {\n const { overflowButtonTooltipProps } = this.irisGrid.state;\n const newProps = this.getButtonPosition(point);\n if (!deepEqual(overflowButtonTooltipProps, newProps)) {\n this.irisGrid.setState({ overflowButtonTooltipProps: newProps });\n }\n } else {\n this.destroyColumnTooltip();\n }\n return this.setCursor(point);\n }\n\n onWheel(point: GridPoint): EventHandlerResult {\n this.destroyColumnTooltip();\n return this.onMove(point);\n }\n\n // Needs to be onDown and not onClick b/c of GridSelectionMouseHandler shifting cell onDown\n onDown(point: GridPoint): boolean {\n this.destroyColumnTooltip();\n const { column, row } = point;\n\n if (this.isHoveringOverflowButton(point)) {\n this.irisGrid.setState({\n showOverflowModal: true,\n overflowText: this.irisGrid.getValueForCell(column, row) as string,\n });\n }\n\n return false;\n }\n\n onContextMenu(): EventHandlerResult {\n this.destroyColumnTooltip();\n return false;\n }\n\n onLeave(): EventHandlerResult {\n this.destroyColumnTooltip();\n return false;\n }\n}\n\nexport default IrisGridCellOverflowMouseHandler;\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { ContextAction } from '@deephaven/components';
2
+ import { ContextAction, ResolvableContextAction } from '@deephaven/components';
3
3
  import { EventHandlerResult, Grid, GridMouseHandler, GridPoint, ModelIndex } from '@deephaven/grid';
4
4
  import type { dh as DhType } from '@deephaven/jsapi-types';
5
5
  import { DateTimeColumnFormatter, TableColumnFormat, SortDirection } from '@deephaven/jsapi-utils';
@@ -50,7 +50,7 @@ declare class IrisGridContextMenuHandler extends GridMouseHandler {
50
50
  constructor(irisGrid: IrisGrid, dh: typeof DhType);
51
51
  componentWillUnmount(): void;
52
52
  dh: typeof DhType;
53
- getHeaderActions(modelIndex: ModelIndex, gridPoint: GridPoint): ContextAction[];
53
+ getHeaderActions(modelIndex: ModelIndex, gridPoint: GridPoint): ResolvableContextAction[];
54
54
  getCellActions(modelColumn: ModelIndex, grid: Grid, gridPoint: GridPoint): ContextAction[];
55
55
  getCellFilterActions(modelColumn: ModelIndex, grid: Grid, gridPoint: GridPoint): Promise<ContextAction[]>;
56
56
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridContextMenuHandler.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/IrisGridContextMenuHandler.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridContextMenuHandler.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/IrisGridContextMenuHandler.tsx"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
11
11
  import { dhFilterFilled, vsRemove, vsCheck, vsFilter } from '@deephaven/icons';
12
12
  import debounce from 'lodash.debounce';
13
13
  import { ContextActions, ContextActionUtils, GLOBAL_SHORTCUTS } from '@deephaven/components';
14
- import { GridMouseHandler, GridRange, GridRenderer, isEditableGridModel, isExpandableGridModel } from '@deephaven/grid';
14
+ import { GridMouseHandler, GridRange, GridRenderer, isDeletableGridModel, isEditableGridModel, isExpandableGridModel } from '@deephaven/grid';
15
15
  import { TableColumnFormatter, DateTimeColumnFormatter, TableUtils } from '@deephaven/jsapi-utils';
16
16
  import Log from '@deephaven/log';
17
17
  import { TextUtils, assertNotEmpty, assertNotNaN, assertNotNull, copyToClipboard } from '@deephaven/utils';
@@ -700,10 +700,11 @@ class IrisGridContextMenuHandler extends GridMouseHandler {
700
700
  }
701
701
  });
702
702
  }
703
- if (isEditableGridModel(model) && model.isEditable && selectedRanges.length > 0) {
703
+ if (isEditableGridModel(model) && model.isEditable && selectedRanges.length > 0 && isDeletableGridModel(model) && model.isDeletable) {
704
704
  actions.push({
705
705
  title: 'Delete Selected Rows',
706
706
  group: IrisGridContextMenuHandler.GROUP_EDIT,
707
+ disabled: !model.isDeletableRanges(selectedRanges),
707
708
  order: 50,
708
709
  action: () => {
709
710
  this.irisGrid.deleteRanges(selectedRanges);