@deephaven/iris-grid 0.85.33 → 0.85.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/IrisGridRenderer.d.ts +1 -1
- package/dist/IrisGridRenderer.d.ts.map +1 -1
- package/dist/IrisGridRenderer.js +10 -21
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridTableModelTemplate.d.ts +1 -1
- package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
- package/dist/IrisGridTableModelTemplate.js +7 -28
- package/dist/IrisGridTableModelTemplate.js.map +1 -1
- package/dist/IrisGridTextCellRenderer.d.ts +1 -1
- package/dist/IrisGridTextCellRenderer.d.ts.map +1 -1
- package/dist/IrisGridTextCellRenderer.js +5 -4
- package/dist/IrisGridTextCellRenderer.js.map +1 -1
- package/dist/IrisGridTreeTableModel.d.ts +9 -0
- package/dist/IrisGridTreeTableModel.d.ts.map +1 -1
- package/dist/IrisGridTreeTableModel.js +64 -1
- package/dist/IrisGridTreeTableModel.js.map +1 -1
- package/dist/IrisGridUtils.d.ts +17 -0
- package/dist/IrisGridUtils.d.ts.map +1 -1
- package/dist/IrisGridUtils.js +44 -0
- package/dist/IrisGridUtils.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BoxCoordinates, Coordinate, GridMetrics, TextCellRenderer, VisibleIndex } from '@deephaven/grid';
|
|
1
|
+
import { type BoxCoordinates, type Coordinate, GridMetrics, TextCellRenderer, VisibleIndex } from '@deephaven/grid';
|
|
2
2
|
import { IrisGridRenderState } from './IrisGridRenderer';
|
|
3
3
|
import type { IrisGridThemeType } from './IrisGridTheme';
|
|
4
4
|
declare class IrisGridTextCellRenderer extends TextCellRenderer {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridTextCellRenderer.d.ts","sourceRoot":"","sources":["../src/IrisGridTextCellRenderer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,
|
|
1
|
+
{"version":3,"file":"IrisGridTextCellRenderer.d.ts","sourceRoot":"","sources":["../src/IrisGridTextCellRenderer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,UAAU,EAEf,WAAW,EAEX,gBAAgB,EAChB,YAAY,EACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,cAAM,wBAAyB,SAAQ,gBAAgB;IACrD,eAAe,CACb,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,YAAY,GAChB,IAAI;IAuBP,oBAAoB,CAClB,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,YAAY,GAChB;QACD,KAAK,EAAE,MAAM,CAAC;QACd,CAAC,EAAE,UAAU,CAAC;QACd,CAAC,EAAE,UAAU,CAAC;KACf;IA6BD,6BAA6B,CAC3B,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,KAAK,EAAE,iBAAiB,GACvB;QACD,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;QACxB,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;QACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB;IA+BD,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO;IA+C/D,cAAc,CACZ,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,GAClB,IAAI;CAWR;AAED,eAAe,wBAAwB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable class-methods-use-this */
|
|
2
|
-
import {
|
|
2
|
+
import { getOrThrow, GridUtils, TextCellRenderer } from '@deephaven/grid';
|
|
3
3
|
import { TableUtils } from '@deephaven/jsapi-utils';
|
|
4
4
|
import IrisGridCellRendererUtils from "./IrisGridCellRendererUtils.js";
|
|
5
5
|
class IrisGridTextCellRenderer extends TextCellRenderer {
|
|
@@ -99,7 +99,7 @@ class IrisGridTextCellRenderer extends TextCellRenderer {
|
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
101
|
shouldRenderOverflowButton(state) {
|
|
102
|
-
var _model$textForCell
|
|
102
|
+
var _model$textForCell;
|
|
103
103
|
var {
|
|
104
104
|
context,
|
|
105
105
|
mouseX,
|
|
@@ -124,10 +124,11 @@ class IrisGridTextCellRenderer extends TextCellRenderer {
|
|
|
124
124
|
var {
|
|
125
125
|
width: textWidth
|
|
126
126
|
} = GridUtils.getTextRenderMetrics(state, column, row);
|
|
127
|
-
var
|
|
127
|
+
var fontWidthLower = metrics.fontWidthsLower.get(theme.font);
|
|
128
|
+
var fontWidthUpper = metrics.fontWidthsUpper.get(theme.font);
|
|
128
129
|
context.save();
|
|
129
130
|
context.font = theme.font;
|
|
130
|
-
var truncatedText = this.getCachedTruncatedString(context, text, textWidth,
|
|
131
|
+
var truncatedText = this.getCachedTruncatedString(context, text, textWidth, fontWidthLower, fontWidthUpper, model.truncationCharForCell(modelColumn, modelRow));
|
|
131
132
|
context.restore();
|
|
132
133
|
return text !== '' && truncatedText !== text;
|
|
133
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridTextCellRenderer.js","names":["DEFAULT_FONT_WIDTH","getOrThrow","GridUtils","TextCellRenderer","TableUtils","IrisGridCellRendererUtils","IrisGridTextCellRenderer","drawCellContent","context","state","column","row","_model$columns$modelC","metrics","model","modelColumns","modelRows","modelRow","modelColumn","get","undefined","value","valueForCell","isTextType","columns","type","originalFont","font","concat","getTextRenderMetrics","textMetrics","mouseX","mouseY","theme","mouseColumn","mouseRow","getGridPointFromXY","left","getCellOverflowButtonPosition","shouldRenderOverflowButton","width","gridX","x","NULL_POSITION","top","height","rowHeight","columnWidth","getCellInfoFromXY","gridWidth","verticalBarWidth","cellHorizontalPadding","iconSize","right","Math","min","buttonLeft","buttonTop","gridY","_model$textForCell","_metrics$fontWidths$g","isStringType","text","textForCell","textWidth","fontWidth","fontWidths","save","truncatedText","getCachedTruncatedString","truncationCharForCell","restore","drawTreeMarker","columnX","rowY","treeBox","color","isExpanded"],"sources":["../src/IrisGridTextCellRenderer.ts"],"sourcesContent":["/* eslint-disable class-methods-use-this */\nimport {\n BoxCoordinates,\n Coordinate,\n DEFAULT_FONT_WIDTH,\n getOrThrow,\n GridMetrics,\n GridUtils,\n TextCellRenderer,\n VisibleIndex,\n} from '@deephaven/grid';\nimport { TableUtils } from '@deephaven/jsapi-utils';\nimport { IrisGridRenderState } from './IrisGridRenderer';\nimport IrisGridCellRendererUtils from './IrisGridCellRendererUtils';\nimport type { IrisGridThemeType } from './IrisGridTheme';\n\nclass IrisGridTextCellRenderer extends TextCellRenderer {\n drawCellContent(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n column: VisibleIndex,\n row: VisibleIndex\n ): void {\n const { metrics, model } = state;\n const { modelColumns, modelRows } = metrics;\n const modelRow = getOrThrow(modelRows, row);\n const modelColumn = modelColumns.get(column);\n if (modelColumn === undefined) {\n return;\n }\n const value = model.valueForCell(modelColumn, modelRow);\n if (TableUtils.isTextType(model.columns[modelColumn]?.type)) {\n if (value === null || value === '') {\n const originalFont = context.font;\n context.font = `italic ${originalFont}`;\n super.drawCellContent(context, state, column, row);\n context.font = originalFont;\n return;\n }\n }\n super.drawCellContent(context, state, column, row);\n }\n\n // This will shrink the size the text may take when the overflow button is rendered\n // The text will truncate to a smaller width and won't overlap the button\n getTextRenderMetrics(\n state: IrisGridRenderState,\n column: VisibleIndex,\n row: VisibleIndex\n ): {\n width: number;\n x: Coordinate;\n y: Coordinate;\n } {\n const textMetrics = GridUtils.getTextRenderMetrics(state, column, row);\n\n const { mouseX, mouseY, metrics, theme } = state;\n\n if (mouseX == null || mouseY == null) {\n return textMetrics;\n }\n\n const { column: mouseColumn, row: mouseRow } = GridUtils.getGridPointFromXY(\n mouseX,\n mouseY,\n metrics\n );\n\n if (column === mouseColumn && row === mouseRow) {\n const { left } = this.getCellOverflowButtonPosition(\n mouseX,\n mouseY,\n metrics,\n theme\n );\n if (this.shouldRenderOverflowButton(state) && left != null) {\n textMetrics.width = left - metrics.gridX - textMetrics.x;\n }\n }\n return textMetrics;\n }\n\n getCellOverflowButtonPosition(\n mouseX: Coordinate | null,\n mouseY: Coordinate | null,\n metrics: GridMetrics | undefined,\n theme: IrisGridThemeType\n ): {\n left: Coordinate | null;\n top: Coordinate | null;\n width: number | null;\n height: number | null;\n } {\n const NULL_POSITION = { left: null, top: null, width: null, height: null };\n if (mouseX == null || mouseY == null || metrics == null) {\n return NULL_POSITION;\n }\n const { rowHeight, columnWidth, left, top } = GridUtils.getCellInfoFromXY(\n mouseX,\n mouseY,\n metrics\n );\n\n if (left == null || columnWidth == null || top == null) {\n return NULL_POSITION;\n }\n\n const { width: gridWidth, verticalBarWidth } = metrics;\n const { cellHorizontalPadding, iconSize } = theme;\n\n const width = iconSize + 2 * cellHorizontalPadding;\n const height = rowHeight;\n // Right edge of column or of visible grid, whichever is smaller\n const right = Math.min(\n metrics.gridX + left + columnWidth,\n gridWidth - verticalBarWidth\n );\n const buttonLeft = right - width;\n const buttonTop = metrics.gridY + top;\n\n return { left: buttonLeft, top: buttonTop, width, height };\n }\n\n shouldRenderOverflowButton(state: IrisGridRenderState): boolean {\n const { context, mouseX, mouseY, metrics, model, theme } = state;\n if (mouseX == null || mouseY == null) {\n return false;\n }\n\n const { row, column, modelRow, modelColumn } = GridUtils.getCellInfoFromXY(\n mouseX,\n mouseY,\n metrics\n );\n\n if (\n row == null ||\n column == null ||\n modelRow == null ||\n modelColumn == null ||\n !TableUtils.isStringType(model.columns[modelColumn].type)\n ) {\n return false;\n }\n\n const text = model.textForCell(modelColumn, modelRow) ?? '';\n const { width: textWidth } = GridUtils.getTextRenderMetrics(\n state,\n column,\n row\n );\n const fontWidth = metrics.fontWidths.get(theme.font) ?? DEFAULT_FONT_WIDTH;\n\n context.save();\n context.font = theme.font;\n\n const truncatedText = this.getCachedTruncatedString(\n context,\n text,\n textWidth,\n fontWidth,\n model.truncationCharForCell(modelColumn, modelRow)\n );\n context.restore();\n\n return text !== '' && truncatedText !== text;\n }\n\n drawTreeMarker(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n columnX: Coordinate,\n rowY: Coordinate,\n treeBox: BoxCoordinates,\n color: string,\n isExpanded: boolean\n ): void {\n IrisGridCellRendererUtils.drawTreeMarker(\n context,\n state,\n columnX,\n rowY,\n treeBox,\n color,\n isExpanded\n );\n }\n}\n\nexport default IrisGridTextCellRenderer;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IrisGridTextCellRenderer.js","names":["getOrThrow","GridUtils","TextCellRenderer","TableUtils","IrisGridCellRendererUtils","IrisGridTextCellRenderer","drawCellContent","context","state","column","row","_model$columns$modelC","metrics","model","modelColumns","modelRows","modelRow","modelColumn","get","undefined","value","valueForCell","isTextType","columns","type","originalFont","font","concat","getTextRenderMetrics","textMetrics","mouseX","mouseY","theme","mouseColumn","mouseRow","getGridPointFromXY","left","getCellOverflowButtonPosition","shouldRenderOverflowButton","width","gridX","x","NULL_POSITION","top","height","rowHeight","columnWidth","getCellInfoFromXY","gridWidth","verticalBarWidth","cellHorizontalPadding","iconSize","right","Math","min","buttonLeft","buttonTop","gridY","_model$textForCell","isStringType","text","textForCell","textWidth","fontWidthLower","fontWidthsLower","fontWidthUpper","fontWidthsUpper","save","truncatedText","getCachedTruncatedString","truncationCharForCell","restore","drawTreeMarker","columnX","rowY","treeBox","color","isExpanded"],"sources":["../src/IrisGridTextCellRenderer.ts"],"sourcesContent":["/* eslint-disable class-methods-use-this */\nimport {\n type BoxCoordinates,\n type Coordinate,\n getOrThrow,\n GridMetrics,\n GridUtils,\n TextCellRenderer,\n VisibleIndex,\n} from '@deephaven/grid';\nimport { TableUtils } from '@deephaven/jsapi-utils';\nimport { IrisGridRenderState } from './IrisGridRenderer';\nimport IrisGridCellRendererUtils from './IrisGridCellRendererUtils';\nimport type { IrisGridThemeType } from './IrisGridTheme';\n\nclass IrisGridTextCellRenderer extends TextCellRenderer {\n drawCellContent(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n column: VisibleIndex,\n row: VisibleIndex\n ): void {\n const { metrics, model } = state;\n const { modelColumns, modelRows } = metrics;\n const modelRow = getOrThrow(modelRows, row);\n const modelColumn = modelColumns.get(column);\n if (modelColumn === undefined) {\n return;\n }\n const value = model.valueForCell(modelColumn, modelRow);\n if (TableUtils.isTextType(model.columns[modelColumn]?.type)) {\n if (value === null || value === '') {\n const originalFont = context.font;\n context.font = `italic ${originalFont}`;\n super.drawCellContent(context, state, column, row);\n context.font = originalFont;\n return;\n }\n }\n super.drawCellContent(context, state, column, row);\n }\n\n // This will shrink the size the text may take when the overflow button is rendered\n // The text will truncate to a smaller width and won't overlap the button\n getTextRenderMetrics(\n state: IrisGridRenderState,\n column: VisibleIndex,\n row: VisibleIndex\n ): {\n width: number;\n x: Coordinate;\n y: Coordinate;\n } {\n const textMetrics = GridUtils.getTextRenderMetrics(state, column, row);\n\n const { mouseX, mouseY, metrics, theme } = state;\n\n if (mouseX == null || mouseY == null) {\n return textMetrics;\n }\n\n const { column: mouseColumn, row: mouseRow } = GridUtils.getGridPointFromXY(\n mouseX,\n mouseY,\n metrics\n );\n\n if (column === mouseColumn && row === mouseRow) {\n const { left } = this.getCellOverflowButtonPosition(\n mouseX,\n mouseY,\n metrics,\n theme\n );\n if (this.shouldRenderOverflowButton(state) && left != null) {\n textMetrics.width = left - metrics.gridX - textMetrics.x;\n }\n }\n return textMetrics;\n }\n\n getCellOverflowButtonPosition(\n mouseX: Coordinate | null,\n mouseY: Coordinate | null,\n metrics: GridMetrics | undefined,\n theme: IrisGridThemeType\n ): {\n left: Coordinate | null;\n top: Coordinate | null;\n width: number | null;\n height: number | null;\n } {\n const NULL_POSITION = { left: null, top: null, width: null, height: null };\n if (mouseX == null || mouseY == null || metrics == null) {\n return NULL_POSITION;\n }\n const { rowHeight, columnWidth, left, top } = GridUtils.getCellInfoFromXY(\n mouseX,\n mouseY,\n metrics\n );\n\n if (left == null || columnWidth == null || top == null) {\n return NULL_POSITION;\n }\n\n const { width: gridWidth, verticalBarWidth } = metrics;\n const { cellHorizontalPadding, iconSize } = theme;\n\n const width = iconSize + 2 * cellHorizontalPadding;\n const height = rowHeight;\n // Right edge of column or of visible grid, whichever is smaller\n const right = Math.min(\n metrics.gridX + left + columnWidth,\n gridWidth - verticalBarWidth\n );\n const buttonLeft = right - width;\n const buttonTop = metrics.gridY + top;\n\n return { left: buttonLeft, top: buttonTop, width, height };\n }\n\n shouldRenderOverflowButton(state: IrisGridRenderState): boolean {\n const { context, mouseX, mouseY, metrics, model, theme } = state;\n if (mouseX == null || mouseY == null) {\n return false;\n }\n\n const { row, column, modelRow, modelColumn } = GridUtils.getCellInfoFromXY(\n mouseX,\n mouseY,\n metrics\n );\n\n if (\n row == null ||\n column == null ||\n modelRow == null ||\n modelColumn == null ||\n !TableUtils.isStringType(model.columns[modelColumn].type)\n ) {\n return false;\n }\n\n const text = model.textForCell(modelColumn, modelRow) ?? '';\n const { width: textWidth } = GridUtils.getTextRenderMetrics(\n state,\n column,\n row\n );\n const fontWidthLower = metrics.fontWidthsLower.get(theme.font);\n const fontWidthUpper = metrics.fontWidthsUpper.get(theme.font);\n\n context.save();\n context.font = theme.font;\n\n const truncatedText = this.getCachedTruncatedString(\n context,\n text,\n textWidth,\n fontWidthLower,\n fontWidthUpper,\n model.truncationCharForCell(modelColumn, modelRow)\n );\n context.restore();\n\n return text !== '' && truncatedText !== text;\n }\n\n drawTreeMarker(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n columnX: Coordinate,\n rowY: Coordinate,\n treeBox: BoxCoordinates,\n color: string,\n isExpanded: boolean\n ): void {\n IrisGridCellRendererUtils.drawTreeMarker(\n context,\n state,\n columnX,\n rowY,\n treeBox,\n color,\n isExpanded\n );\n }\n}\n\nexport default IrisGridTextCellRenderer;\n"],"mappings":"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"}
|
|
@@ -3,17 +3,26 @@ import type { dh as DhType } from '@deephaven/jsapi-types';
|
|
|
3
3
|
import { Formatter } from '@deephaven/jsapi-utils';
|
|
4
4
|
import { type UIRow, type ColumnName } from './CommonTypes';
|
|
5
5
|
import IrisGridTableModelTemplate from './IrisGridTableModelTemplate';
|
|
6
|
+
import { type IrisGridThemeType } from './IrisGridTheme';
|
|
6
7
|
export interface UITreeRow extends UIRow {
|
|
7
8
|
isExpanded: boolean;
|
|
8
9
|
hasChildren: boolean;
|
|
9
10
|
depth: number;
|
|
10
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Check if a row is a UITreeRow
|
|
14
|
+
* @param row The row to check
|
|
15
|
+
* @returns True if the row is a UITreeRow and false otherwise
|
|
16
|
+
*/
|
|
17
|
+
export declare function isUITreeRow(row: unknown): row is UITreeRow;
|
|
11
18
|
declare class IrisGridTreeTableModel extends IrisGridTableModelTemplate<DhType.TreeTable, UITreeRow> {
|
|
12
19
|
/** We keep a virtual column at the front that tracks the "group" that is expanded */
|
|
13
20
|
private virtualColumns;
|
|
14
21
|
constructor(dh: typeof DhType, table: DhType.TreeTable, formatter?: Formatter, inputTable?: DhType.InputTable | null);
|
|
15
22
|
applyBufferedViewport(viewportTop: number, viewportBottom: number, columns: DhType.Column[]): void;
|
|
16
23
|
textForCell(x: ModelIndex, y: ModelIndex): string;
|
|
24
|
+
colorForCell(x: ModelIndex, y: ModelIndex, theme: IrisGridThemeType): string;
|
|
25
|
+
textAlignForCell(x: ModelIndex, y: ModelIndex): CanvasTextAlign;
|
|
17
26
|
extractViewportRow(row: DhType.TreeRow, columns: DhType.Column[]): UITreeRow;
|
|
18
27
|
snapshot(ranges: GridRange[], includeHeaders?: boolean, formatValue?: (value: unknown, column: DhType.Column) => unknown): Promise<unknown[][]>;
|
|
19
28
|
get columns(): DhType.Column[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridTreeTableModel.d.ts","sourceRoot":"","sources":["../src/IrisGridTreeTableModel.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,UAAU,EACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAc,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,0BAA0B,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"IrisGridTreeTableModel.d.ts","sourceRoot":"","sources":["../src/IrisGridTreeTableModel.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,UAAU,EACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAc,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,0BAA0B,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAKzD,MAAM,WAAW,SAAU,SAAQ,KAAK;IACtC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,SAAS,CAW1D;AAUD,cAAM,sBAAuB,SAAQ,0BAA0B,CAC7D,MAAM,CAAC,SAAS,EAChB,SAAS,CACV;IACC,qFAAqF;IACrF,OAAO,CAAC,cAAc,CAAkB;gBAGtC,EAAE,EAAE,OAAO,MAAM,EACjB,KAAK,EAAE,MAAM,CAAC,SAAS,EACvB,SAAS,YAAoB,EAC7B,UAAU,GAAE,MAAM,CAAC,UAAU,GAAG,IAAW;IA8C7C,qBAAqB,CACnB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GACvB,IAAI;IAaP,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM;IAuCjD,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,GAAG,MAAM;IAyC5E,gBAAgB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,eAAe;IAmB/D,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS;IAyBtE,QAAQ,CACZ,MAAM,EAAE,SAAS,EAAE,EACnB,cAAc,CAAC,EAAE,OAAO,EACxB,WAAW,GAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,OACjD,GACN,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IA8CvB,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAE7B;IAED,IAAI,iBAAiB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,CAIhD;IAED,IAAI,cAAc,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,CAK7C;IAED,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,QAAQ;IAQ5D,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM;IAShE,mBAAmB,CAAC,MAAM,EAAE,UAAU,GAAG,gBAAgB,GAAG,IAAI;IAShE,IAAI,WAAW,IAAI,MAAM,CAAC,WAAW,GAAG,IAAI,GAAG,SAAS,CAKvD;IAED,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED,IAAI,4BAA4B,IAAI,OAAO,CAM1C;IAED,IAAI,oBAAoB,IAAI,OAAO,CAElC;IAED,IAAI,uBAAuB,IAAI,OAAO,CAErC;IAED,IAAI,yBAAyB,IAAI,OAAO,CAEvC;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,YAAY,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO;IAU9C,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAI5C,eAAe,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAKvC,aAAa,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAKrC,cAAc,CACZ,CAAC,EAAE,UAAU,EACb,UAAU,EAAE,OAAO,EACnB,iBAAiB,UAAQ,GACxB,IAAI;IAQP,SAAS,IAAI,IAAI;IAMjB,WAAW,IAAI,IAAI;IAMnB,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU;IAKtC,gBAAgB,mBAEI,SAAS,OAAO,MAAM,EAAE,gBAC1B,SAAS,OAAO,MAAM,EAAE,qBAExC;IAEF,qBAAqB,mBAED,SAAS,OAAO,MAAM,EAAE,uBACnB,SAAS,OAAO,MAAM,EAAE,qBAE/C;IAEF,4BAA4B,YAEf,SAAS,OAAO,MAAM,EAAE,gCACH,OAAO,qBAClB,SAAS,OAAO,MAAM,EAAE,kBAC3B,SAAS,OAAO,MAAM,EAAE,kBACxB,SAAS,OAAO,MAAM,EAAE,iBAqB1C;IAEF,yBAAyB,mBACN,SAAS,OAAO,MAAM,EAAE,iBAMzC;IAEF,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI;CAKjD;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -12,7 +12,16 @@ import Log from '@deephaven/log';
|
|
|
12
12
|
import { Formatter, TableUtils } from '@deephaven/jsapi-utils';
|
|
13
13
|
import { assertNotNull, EMPTY_ARRAY } from '@deephaven/utils';
|
|
14
14
|
import IrisGridTableModelTemplate from "./IrisGridTableModelTemplate.js";
|
|
15
|
+
import IrisGridUtils from "./IrisGridUtils.js";
|
|
15
16
|
var log = Log.module('IrisGridTreeTableModel');
|
|
17
|
+
/**
|
|
18
|
+
* Check if a row is a UITreeRow
|
|
19
|
+
* @param row The row to check
|
|
20
|
+
* @returns True if the row is a UITreeRow and false otherwise
|
|
21
|
+
*/
|
|
22
|
+
export function isUITreeRow(row) {
|
|
23
|
+
return row != null && typeof row === 'object' && 'hasChildren' in row && 'isExpanded' in row && 'depth' in row && typeof row.hasChildren === 'boolean' && typeof row.isExpanded === 'boolean' && typeof row.depth === 'number';
|
|
24
|
+
}
|
|
16
25
|
function isLayoutTreeTable(table) {
|
|
17
26
|
return table.layoutHints !== undefined;
|
|
18
27
|
}
|
|
@@ -83,9 +92,20 @@ class IrisGridTreeTableModel extends IrisGridTableModelTemplate {
|
|
|
83
92
|
var row = this.row(y);
|
|
84
93
|
if (row != null && column != null) {
|
|
85
94
|
if (!row.hasChildren && column.constituentType != null) {
|
|
95
|
+
var _this$columns$x;
|
|
86
96
|
var _value = this.valueForCell(x, y);
|
|
87
|
-
|
|
97
|
+
var text = this.displayString(_value, column.constituentType, column.name);
|
|
98
|
+
if (TableUtils.isTextType((_this$columns$x = this.columns[x]) === null || _this$columns$x === void 0 ? void 0 : _this$columns$x.type)) {
|
|
99
|
+
if (_value === null) {
|
|
100
|
+
return this.formatter.showNullStrings ? 'null' : '';
|
|
101
|
+
}
|
|
102
|
+
if (text === '') {
|
|
103
|
+
return this.formatter.showEmptyStrings ? 'empty' : '';
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return text;
|
|
88
107
|
}
|
|
108
|
+
|
|
89
109
|
// Show empty string instead of null in rollup grouping columns (issue #1483)
|
|
90
110
|
if (row.hasChildren && row.depth <= x + 1 && this.valueForCell(x, y) === null && this.getCachedGroupedColumnSet(this.groupedColumns).has(x)) {
|
|
91
111
|
return '';
|
|
@@ -93,6 +113,49 @@ class IrisGridTreeTableModel extends IrisGridTableModelTemplate {
|
|
|
93
113
|
}
|
|
94
114
|
return super.textForCell(x, y);
|
|
95
115
|
}
|
|
116
|
+
colorForCell(x, y, theme) {
|
|
117
|
+
var data = this.dataForCell(x, y);
|
|
118
|
+
if (data) {
|
|
119
|
+
var {
|
|
120
|
+
format,
|
|
121
|
+
value: _value2
|
|
122
|
+
} = data;
|
|
123
|
+
if (_value2 == null || _value2 === '') {
|
|
124
|
+
assertNotNull(theme.nullStringColor);
|
|
125
|
+
return theme.nullStringColor;
|
|
126
|
+
}
|
|
127
|
+
if ((format === null || format === void 0 ? void 0 : format.color) != null && format.color !== '') {
|
|
128
|
+
return format.color;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
// Fallback to formatting based on the value/type of the cell
|
|
132
|
+
if (_value2 != null) {
|
|
133
|
+
var _column = this.sourceColumn(x, y);
|
|
134
|
+
var row = this.row(y);
|
|
135
|
+
assertNotNull(row);
|
|
136
|
+
var columnTypeForFormatting = _column.type;
|
|
137
|
+
|
|
138
|
+
// For tree table leaf nodes, use the constituent type for formatting
|
|
139
|
+
if (isUITreeRow(row) && row.hasChildren === false && _column.constituentType != null) {
|
|
140
|
+
columnTypeForFormatting = _column.constituentType;
|
|
141
|
+
}
|
|
142
|
+
return IrisGridUtils.colorForValue(theme, columnTypeForFormatting, _column.name, _value2);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return theme.textColor;
|
|
146
|
+
}
|
|
147
|
+
textAlignForCell(x, y) {
|
|
148
|
+
var column = this.sourceColumn(x, y);
|
|
149
|
+
var row = this.row(y);
|
|
150
|
+
assertNotNull(row);
|
|
151
|
+
var typeForFormatting = column.type;
|
|
152
|
+
|
|
153
|
+
// For tree table leaf nodes, use the constituent type for formatting
|
|
154
|
+
if (isUITreeRow(row) && row.hasChildren === false && column.constituentType != null) {
|
|
155
|
+
typeForFormatting = column.constituentType;
|
|
156
|
+
}
|
|
157
|
+
return IrisGridUtils.textAlignForValue(typeForFormatting, column.name);
|
|
158
|
+
}
|
|
96
159
|
extractViewportRow(row, columns) {
|
|
97
160
|
var {
|
|
98
161
|
isExpanded,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridTreeTableModel.js","names":["memoize","GridRange","Log","Formatter","TableUtils","assertNotNull","EMPTY_ARRAY","IrisGridTableModelTemplate","log","module","isLayoutTreeTable","table","layoutHints","undefined","IrisGridTreeTableModel","constructor","dh","formatter","arguments","length","inputTable","_defineProperty","virtualColumns","tableColumns","tableGroupedColumns","columns","isAggregatedColumnsAvailable","aggregatedColumns","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, EMPTY_ARRAY } from '@deephaven/utils';\nimport { type UIRow, type ColumnName } 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 for 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(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 aggregatedColumns(): readonly DhType.Column[] {\n return this.isAggregatedColumnsAvailable\n ? this.table.aggregatedColumns\n : EMPTY_ARRAY;\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 isAggregatedColumnsAvailable(): boolean {\n return (\n // aggregatedColumns are not available in the Legacy API\n // and Core API before v0.39.4\n this.table.aggregatedColumns !== undefined\n );\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.isAggregatedColumnsAvailable,\n this.aggregatedColumns,\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 isAggregatedColumnsAvailable: boolean,\n aggregatedColumns: readonly DhType.Column[],\n groupedColumns: readonly DhType.Column[],\n virtualColumns: readonly DhType.Column[]\n ) => {\n if (isAggregatedColumnsAvailable) {\n return new Set(\n // Virtual and aggregated columns are not filterable\n columns\n .filter(\n c => !virtualColumns.includes(c) && !aggregatedColumns.includes(c)\n )\n .map(c1 => columns.findIndex(c2 => c1.name === c2.name))\n );\n }\n // For compatibility with the Enterprise JSAPI,\n // only groupedColumns are filterable on rollup tables\n // if aggregatedColumns API is not available.\n return 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\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","EMPTY_ARRAY","IrisGridTableModelTemplate","IrisGridUtils","log","module","isUITreeRow","row","hasChildren","isExpanded","depth","isLayoutTreeTable","table","layoutHints","undefined","IrisGridTreeTableModel","constructor","dh","formatter","arguments","length","inputTable","_defineProperty","virtualColumns","tableColumns","tableGroupedColumns","columns","isAggregatedColumnsAvailable","aggregatedColumns","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","_this$columns$x","value","valueForCell","text","displayString","isTextType","showNullStrings","showEmptyStrings","getCachedGroupedColumnSet","has","colorForCell","theme","data","dataForCell","format","nullStringColor","color","columnTypeForFormatting","colorForValue","textColor","textAlignForCell","typeForFormatting","textAlignForValue","extractViewportRow","extractedRow","modifiedData","Map","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, EMPTY_ARRAY } from '@deephaven/utils';\nimport { type UIRow, type ColumnName } from './CommonTypes';\nimport IrisGridTableModelTemplate from './IrisGridTableModelTemplate';\nimport { type DisplayColumn } from './IrisGridModel';\nimport { type IrisGridThemeType } from './IrisGridTheme';\nimport IrisGridUtils from './IrisGridUtils';\n\nconst log = Log.module('IrisGridTreeTableModel');\n\nexport interface UITreeRow extends UIRow {\n isExpanded: boolean;\n hasChildren: boolean;\n depth: number;\n}\n\n/**\n * Check if a row is a UITreeRow\n * @param row The row to check\n * @returns True if the row is a UITreeRow and false otherwise\n */\nexport function isUITreeRow(row: unknown): row is UITreeRow {\n return (\n row != null &&\n typeof row === 'object' &&\n 'hasChildren' in row &&\n 'isExpanded' in row &&\n 'depth' in row &&\n typeof row.hasChildren === 'boolean' &&\n typeof row.isExpanded === 'boolean' &&\n typeof row.depth === 'number'\n );\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 for 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 const text = this.displayString(\n value,\n column.constituentType,\n column.name\n );\n\n if (TableUtils.isTextType(this.columns[x]?.type)) {\n if (value === null) {\n return this.formatter.showNullStrings ? 'null' : '';\n }\n\n if (text === '') {\n return this.formatter.showEmptyStrings ? 'empty' : '';\n }\n }\n\n return text;\n }\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 colorForCell(x: ModelIndex, y: ModelIndex, theme: IrisGridThemeType): string {\n const data = this.dataForCell(x, y);\n if (data) {\n const { format, value } = data;\n if (value == null || value === '') {\n assertNotNull(theme.nullStringColor);\n return theme.nullStringColor;\n }\n if (format?.color != null && format.color !== '') {\n return format.color;\n }\n\n // Fallback to formatting based on the value/type of the cell\n if (value != null) {\n const column = this.sourceColumn(x, y);\n const row = this.row(y);\n assertNotNull(row);\n\n let columnTypeForFormatting = column.type;\n\n // For tree table leaf nodes, use the constituent type for formatting\n if (\n isUITreeRow(row) &&\n row.hasChildren === false &&\n column.constituentType != null\n ) {\n columnTypeForFormatting = column.constituentType;\n }\n\n return IrisGridUtils.colorForValue(\n theme,\n columnTypeForFormatting,\n column.name,\n value\n );\n }\n }\n\n return theme.textColor;\n }\n\n textAlignForCell(x: ModelIndex, y: ModelIndex): CanvasTextAlign {\n const column = this.sourceColumn(x, y);\n const row = this.row(y);\n assertNotNull(row);\n\n let typeForFormatting = column.type;\n\n // For tree table leaf nodes, use the constituent type for formatting\n if (\n isUITreeRow(row) &&\n row.hasChildren === false &&\n column.constituentType != null\n ) {\n typeForFormatting = column.constituentType;\n }\n\n return IrisGridUtils.textAlignForValue(typeForFormatting, column.name);\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(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 aggregatedColumns(): readonly DhType.Column[] {\n return this.isAggregatedColumnsAvailable\n ? this.table.aggregatedColumns\n : EMPTY_ARRAY;\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 isAggregatedColumnsAvailable(): boolean {\n return (\n // aggregatedColumns are not available in the Legacy API\n // and Core API before v0.39.4\n this.table.aggregatedColumns !== undefined\n );\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.isAggregatedColumnsAvailable,\n this.aggregatedColumns,\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 isAggregatedColumnsAvailable: boolean,\n aggregatedColumns: readonly DhType.Column[],\n groupedColumns: readonly DhType.Column[],\n virtualColumns: readonly DhType.Column[]\n ) => {\n if (isAggregatedColumnsAvailable) {\n return new Set(\n // Virtual and aggregated columns are not filterable\n columns\n .filter(\n c => !virtualColumns.includes(c) && !aggregatedColumns.includes(c)\n )\n .map(c1 => columns.findIndex(c2 => c1.name === c2.name))\n );\n }\n // For compatibility with the Enterprise JSAPI,\n // only groupedColumns are filterable on rollup tables\n // if aggregatedColumns API is not available.\n return 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\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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"}
|
package/dist/IrisGridUtils.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import IrisGridModel from './IrisGridModel';
|
|
|
10
10
|
import type AdvancedSettingsType from './sidebar/AdvancedSettingsType';
|
|
11
11
|
import ColumnHeaderGroup from './ColumnHeaderGroup';
|
|
12
12
|
import { PartitionConfig } from './PartitionedGridModel';
|
|
13
|
+
import { type IrisGridThemeType } from './IrisGridTheme';
|
|
13
14
|
export type HydratedIrisGridState = Pick<IrisGridState, 'advancedFilters' | 'aggregationSettings' | 'customColumnFormatMap' | 'isFilterBarShown' | 'quickFilters' | 'customColumns' | 'reverse' | 'rollupConfig' | 'showSearchBar' | 'searchValue' | 'selectDistinctColumns' | 'selectedSearchColumns' | 'sorts' | 'invertSearchColumns' | 'pendingDataMap' | 'frozenColumns' | 'conditionalFormats' | 'columnHeaderGroups' | 'partitionConfig' | 'metrics'>;
|
|
14
15
|
export type DehydratedPendingDataMap<T> = [number, {
|
|
15
16
|
data: [string, T][];
|
|
@@ -365,6 +366,22 @@ declare class IrisGridUtils {
|
|
|
365
366
|
* @returns The rangeset for the provided ranges
|
|
366
367
|
*/
|
|
367
368
|
rangeSetFromRanges(ranges: readonly GridRange[]): DhType.RangeSet;
|
|
369
|
+
/**
|
|
370
|
+
* Get the color for a cell value
|
|
371
|
+
* @param theme The IrisGrid theme
|
|
372
|
+
* @param columnType The type of the column
|
|
373
|
+
* @param columnName The name of the column
|
|
374
|
+
* @param value The value of the cell
|
|
375
|
+
* @returns The color for the cell value
|
|
376
|
+
*/
|
|
377
|
+
static colorForValue(theme: IrisGridThemeType, columnType: string, columnName: string, value: unknown): string;
|
|
378
|
+
/**
|
|
379
|
+
* Determines the text alignment for a cell value
|
|
380
|
+
* @param columnType The type of the column
|
|
381
|
+
* @param columnName The name of the column
|
|
382
|
+
* @returns The text alignment for the cell value
|
|
383
|
+
*/
|
|
384
|
+
static textAlignForValue(columnType: string, columnName: string): CanvasTextAlign;
|
|
368
385
|
}
|
|
369
386
|
export default IrisGridUtils;
|
|
370
387
|
//# sourceMappingURL=IrisGridUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridUtils.d.ts","sourceRoot":"","sources":["../src/IrisGridUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IrisGridUtils.d.ts","sourceRoot":"","sources":["../src/IrisGridUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/IrisGridUtils.js
CHANGED
|
@@ -1328,6 +1328,50 @@ class IrisGridUtils {
|
|
|
1328
1328
|
});
|
|
1329
1329
|
return dh.RangeSet.ofRanges(rangeSets);
|
|
1330
1330
|
}
|
|
1331
|
+
|
|
1332
|
+
/**
|
|
1333
|
+
* Get the color for a cell value
|
|
1334
|
+
* @param theme The IrisGrid theme
|
|
1335
|
+
* @param columnType The type of the column
|
|
1336
|
+
* @param columnName The name of the column
|
|
1337
|
+
* @param value The value of the cell
|
|
1338
|
+
* @returns The color for the cell value
|
|
1339
|
+
*/
|
|
1340
|
+
static colorForValue(theme, columnType, columnName, value) {
|
|
1341
|
+
if (TableUtils.isDateType(columnType) || columnName === 'Date') {
|
|
1342
|
+
assertNotNull(theme.dateColor);
|
|
1343
|
+
return theme.dateColor;
|
|
1344
|
+
}
|
|
1345
|
+
if (TableUtils.isNumberType(columnType)) {
|
|
1346
|
+
if (value > 0) {
|
|
1347
|
+
assertNotNull(theme.positiveNumberColor);
|
|
1348
|
+
return theme.positiveNumberColor;
|
|
1349
|
+
}
|
|
1350
|
+
if (value < 0) {
|
|
1351
|
+
assertNotNull(theme.negativeNumberColor);
|
|
1352
|
+
return theme.negativeNumberColor;
|
|
1353
|
+
}
|
|
1354
|
+
assertNotNull(theme.zeroNumberColor);
|
|
1355
|
+
return theme.zeroNumberColor;
|
|
1356
|
+
}
|
|
1357
|
+
return theme.textColor;
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1360
|
+
/**
|
|
1361
|
+
* Determines the text alignment for a cell value
|
|
1362
|
+
* @param columnType The type of the column
|
|
1363
|
+
* @param columnName The name of the column
|
|
1364
|
+
* @returns The text alignment for the cell value
|
|
1365
|
+
*/
|
|
1366
|
+
static textAlignForValue(columnType, columnName) {
|
|
1367
|
+
if (TableUtils.isDateType(columnType) || columnName === 'Date') {
|
|
1368
|
+
return 'center';
|
|
1369
|
+
}
|
|
1370
|
+
if (TableUtils.isNumberType(columnType)) {
|
|
1371
|
+
return 'right';
|
|
1372
|
+
}
|
|
1373
|
+
return 'left';
|
|
1374
|
+
}
|
|
1331
1375
|
}
|
|
1332
1376
|
export default IrisGridUtils;
|
|
1333
1377
|
//# sourceMappingURL=IrisGridUtils.js.map
|