@deephaven/iris-grid 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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[], layoutHints?: Partial<DhType.LayoutHints>): DhType.TreeTable;
23
+ makeTreeTable(columns?: DhType.Column[], aggregatedColumns?: 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,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzE,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"}
1
+ {"version":3,"file":"IrisGridTestUtils.d.ts","sourceRoot":"","sources":["../src/IrisGridTestUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzE,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,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAO,EACvC,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;IAcnB,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"}
@@ -83,13 +83,15 @@ class IrisGridTestUtils {
83
83
  }
84
84
  makeTreeTable() {
85
85
  var columns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.makeColumns();
86
- var groupedColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
87
- var size = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1000000000;
88
- var sort = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
89
- var layoutHints = arguments.length > 4 ? arguments[4] : undefined;
86
+ var aggregatedColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
87
+ var groupedColumns = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
88
+ var size = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1000000000;
89
+ var sort = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
90
+ var layoutHints = arguments.length > 5 ? arguments[5] : undefined;
90
91
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
91
92
  var table = new this.dh.TreeTable({
92
93
  columns,
94
+ aggregatedColumns,
93
95
  groupedColumns,
94
96
  size,
95
97
  sort,
@@ -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 { type GridRangeIndex, type 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":"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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","aggregatedColumns","groupedColumns","TreeTable","makeInputTable","keyColumns","InputTable","makeSubscription","TableViewportSubscription","makeModel","formatter","inputTable"],"sources":["../src/IrisGridTestUtils.ts"],"sourcesContent":["import { type GridRangeIndex, type 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 aggregatedColumns: DhType.Column[] = [],\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 aggregatedColumns,\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":"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"}
@@ -4,11 +4,18 @@ import { Formatter } from '@deephaven/jsapi-utils';
4
4
  import { type UIRow, type ColumnName } from './CommonTypes';
5
5
  import IrisGridTableModelTemplate from './IrisGridTableModelTemplate';
6
6
  import IrisGridModel from './IrisGridModel';
7
+ import { type IrisGridThemeType } from './IrisGridTheme';
7
8
  export interface UITreeRow extends UIRow {
8
9
  isExpanded: boolean;
9
10
  hasChildren: boolean;
10
11
  depth: number;
11
12
  }
13
+ /**
14
+ * Check if a row is a UITreeRow
15
+ * @param row The row to check
16
+ * @returns True if the row is a UITreeRow and false otherwise
17
+ */
18
+ export declare function isUITreeRow(row: unknown): row is UITreeRow;
12
19
  export declare function isIrisGridTreeTableModel(tableModel: IrisGridModel): tableModel is IrisGridTreeTableModel;
13
20
  declare class IrisGridTreeTableModel extends IrisGridTableModelTemplate<DhType.TreeTable, UITreeRow> {
14
21
  /** We keep a virtual column at the front that tracks the "group" that is expanded */
@@ -20,15 +27,19 @@ declare class IrisGridTreeTableModel extends IrisGridTableModelTemplate<DhType.T
20
27
  updateVirtualColumns(): void;
21
28
  applyBufferedViewport(viewportTop: number, viewportBottom: number, columns: DhType.Column[]): void;
22
29
  textForCell(x: ModelIndex, y: ModelIndex): string;
30
+ colorForCell(x: ModelIndex, y: ModelIndex, theme: IrisGridThemeType): string;
31
+ textAlignForCell(x: ModelIndex, y: ModelIndex): CanvasTextAlign;
23
32
  extractViewportRow(row: DhType.TreeRow, columns: DhType.Column[]): UITreeRow;
24
33
  snapshot(ranges: GridRange[], includeHeaders?: boolean, formatValue?: (value: unknown, column: DhType.Column) => unknown): Promise<unknown[][]>;
25
34
  get columns(): DhType.Column[];
35
+ get aggregatedColumns(): readonly DhType.Column[];
26
36
  get groupedColumns(): readonly DhType.Column[];
27
37
  sourceForCell(column: ModelIndex, row: ModelIndex): GridCell;
28
38
  sourceColumn(column: ModelIndex, row: ModelIndex): DhType.Column;
29
39
  getClearFilterRange(column: ModelIndex): BoundedAxisRange | null;
30
40
  get layoutHints(): DhType.LayoutHints | null | undefined;
31
41
  get hasExpandableRows(): boolean;
42
+ get isAggregatedColumnsAvailable(): boolean;
32
43
  get isExpandAllAvailable(): boolean;
33
44
  get isChartBuilderAvailable(): boolean;
34
45
  get isOrganizeColumnsAvailable(): boolean;
@@ -44,7 +55,7 @@ declare class IrisGridTreeTableModel extends IrisGridTableModelTemplate<DhType.T
44
55
  depthForRow(y: ModelIndex): ModelIndex;
45
56
  getCachedColumns: (virtualColumns: readonly DhType.Column[], tableColumns: readonly DhType.Column[]) => DhType.Column[];
46
57
  getCachedGroupColumns: (virtualColumns: readonly DhType.Column[], tableGroupedColumns: readonly DhType.Column[]) => DhType.Column[];
47
- getCachedFilterableColumnSet: (columns: readonly DhType.Column[], groupedColumns: readonly DhType.Column[], virtualColumns: readonly DhType.Column[]) => Set<number>;
58
+ getCachedFilterableColumnSet: (columns: readonly DhType.Column[], isAggregatedColumnsAvailable: boolean, aggregatedColumns: readonly DhType.Column[], groupedColumns: readonly DhType.Column[], virtualColumns: readonly DhType.Column[]) => Set<number>;
48
59
  getCachedGroupedColumnSet: (groupedColumns: readonly DhType.Column[]) => Set<number>;
49
60
  updateFrozenColumns(columns: ColumnName[]): void;
50
61
  }
@@ -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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"}
@@ -10,9 +10,10 @@ import memoize from 'memoize-one';
10
10
  import { GridRange } from '@deephaven/grid';
11
11
  import Log from '@deephaven/log';
12
12
  import { Formatter, TableUtils } from '@deephaven/jsapi-utils';
13
- import { assertNotNull, EventShimCustomEvent } from '@deephaven/utils';
13
+ import { assertNotNull, EMPTY_ARRAY, EventShimCustomEvent } from '@deephaven/utils';
14
14
  import IrisGridTableModelTemplate from "./IrisGridTableModelTemplate.js";
15
15
  import IrisGridModel from "./IrisGridModel.js";
16
+ import IrisGridUtils from "./IrisGridUtils.js";
16
17
  var log = Log.module('IrisGridTreeTableModel');
17
18
  var VirtualGroupColumn = Object.freeze({
18
19
  name: '__DH_UI_GROUP__',
@@ -46,6 +47,14 @@ var VirtualGroupColumn = Object.freeze({
46
47
  throw new Error('formatDate not implemented for virtual column');
47
48
  }
48
49
  });
50
+ /**
51
+ * Check if a row is a UITreeRow
52
+ * @param row The row to check
53
+ * @returns True if the row is a UITreeRow and false otherwise
54
+ */
55
+ export function isUITreeRow(row) {
56
+ 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';
57
+ }
49
58
  function isLayoutTreeTable(table) {
50
59
  return table.layoutHints !== undefined;
51
60
  }
@@ -63,7 +72,17 @@ class IrisGridTreeTableModel extends IrisGridTableModelTemplate {
63
72
  _defineProperty(this, "showExtraGroupCol", true);
64
73
  _defineProperty(this, "getCachedColumns", memoize((virtualColumns, tableColumns) => [...virtualColumns, ...tableColumns]));
65
74
  _defineProperty(this, "getCachedGroupColumns", memoize((virtualColumns, tableGroupedColumns) => [...virtualColumns, ...tableGroupedColumns]));
66
- _defineProperty(this, "getCachedFilterableColumnSet", memoize((columns, groupedColumns, virtualColumns) => new Set(((groupedColumns === null || groupedColumns === void 0 ? void 0 : groupedColumns.length) > 0 ? groupedColumns : columns).filter(c => !virtualColumns.includes(c)).map(c1 => columns.findIndex(c2 => c1.name === c2.name)))));
75
+ _defineProperty(this, "getCachedFilterableColumnSet", memoize((columns, isAggregatedColumnsAvailable, aggregatedColumns, groupedColumns, virtualColumns) => {
76
+ if (isAggregatedColumnsAvailable) {
77
+ return new Set(
78
+ // Virtual and aggregated columns are not filterable
79
+ columns.filter(c => !virtualColumns.includes(c) && !aggregatedColumns.includes(c)).map(c1 => columns.findIndex(c2 => c1.name === c2.name)));
80
+ }
81
+ // For compatibility with the Enterprise JSAPI,
82
+ // only groupedColumns are filterable on rollup tables
83
+ // if aggregatedColumns API is not available.
84
+ return new Set(((groupedColumns === null || groupedColumns === void 0 ? void 0 : groupedColumns.length) > 0 ? groupedColumns : columns).filter(c => !virtualColumns.includes(c)).map(c1 => columns.findIndex(c2 => c1.name === c2.name)));
85
+ }));
67
86
  _defineProperty(this, "getCachedGroupedColumnSet", memoize(groupedColumns => new Set(groupedColumns.map(c1 => this.columns.findIndex(c2 => c1.name === c2.name)))));
68
87
  this.virtualColumns = this.showExtraGroupColumn && table.groupedColumns.length > 1 ? [VirtualGroupColumn] : [];
69
88
  }
@@ -95,9 +114,20 @@ class IrisGridTreeTableModel extends IrisGridTableModelTemplate {
95
114
  var row = this.row(y);
96
115
  if (row != null && column != null) {
97
116
  if (!row.hasChildren && column.constituentType != null) {
117
+ var _this$columns$x;
98
118
  var _value = this.valueForCell(x, y);
99
- return this.displayString(_value, column.constituentType, column.name);
119
+ var text = this.displayString(_value, column.constituentType, column.name);
120
+ if (TableUtils.isTextType((_this$columns$x = this.columns[x]) === null || _this$columns$x === void 0 ? void 0 : _this$columns$x.type)) {
121
+ if (_value === null) {
122
+ return this.formatter.showNullStrings ? 'null' : '';
123
+ }
124
+ if (text === '') {
125
+ return this.formatter.showEmptyStrings ? 'empty' : '';
126
+ }
127
+ }
128
+ return text;
100
129
  }
130
+
101
131
  // Show empty string instead of null in rollup grouping columns (issue #1483)
102
132
  if (row.hasChildren && row.depth <= x + 1 && this.valueForCell(x, y) === null && this.getCachedGroupedColumnSet(this.groupedColumns).has(x)) {
103
133
  return '';
@@ -105,6 +135,49 @@ class IrisGridTreeTableModel extends IrisGridTableModelTemplate {
105
135
  }
106
136
  return super.textForCell(x, y);
107
137
  }
138
+ colorForCell(x, y, theme) {
139
+ var data = this.dataForCell(x, y);
140
+ if (data) {
141
+ var {
142
+ format,
143
+ value: _value2
144
+ } = data;
145
+ if (_value2 == null || _value2 === '') {
146
+ assertNotNull(theme.nullStringColor);
147
+ return theme.nullStringColor;
148
+ }
149
+ if ((format === null || format === void 0 ? void 0 : format.color) != null && format.color !== '') {
150
+ return format.color;
151
+ }
152
+
153
+ // Fallback to formatting based on the value/type of the cell
154
+ if (_value2 != null) {
155
+ var _column = this.sourceColumn(x, y);
156
+ var row = this.row(y);
157
+ assertNotNull(row);
158
+ var columnTypeForFormatting = _column.type;
159
+
160
+ // For tree table leaf nodes, use the constituent type for formatting
161
+ if (isUITreeRow(row) && row.hasChildren === false && _column.constituentType != null) {
162
+ columnTypeForFormatting = _column.constituentType;
163
+ }
164
+ return IrisGridUtils.colorForValue(theme, columnTypeForFormatting, _column.name, _value2);
165
+ }
166
+ }
167
+ return theme.textColor;
168
+ }
169
+ textAlignForCell(x, y) {
170
+ var column = this.sourceColumn(x, y);
171
+ var row = this.row(y);
172
+ assertNotNull(row);
173
+ var typeForFormatting = column.type;
174
+
175
+ // For tree table leaf nodes, use the constituent type for formatting
176
+ if (isUITreeRow(row) && row.hasChildren === false && column.constituentType != null) {
177
+ typeForFormatting = column.constituentType;
178
+ }
179
+ return IrisGridUtils.textAlignForValue(typeForFormatting, column.name);
180
+ }
108
181
  extractViewportRow(row, columns) {
109
182
  var {
110
183
  isExpanded,
@@ -168,6 +241,9 @@ class IrisGridTreeTableModel extends IrisGridTableModelTemplate {
168
241
  get columns() {
169
242
  return this.getCachedColumns(this.virtualColumns, super.columns);
170
243
  }
244
+ get aggregatedColumns() {
245
+ return this.isAggregatedColumnsAvailable ? this.table.aggregatedColumns : EMPTY_ARRAY;
246
+ }
171
247
  get groupedColumns() {
172
248
  return this.getCachedGroupColumns(this.virtualColumns, this.table.groupedColumns);
173
249
  }
@@ -208,6 +284,13 @@ class IrisGridTreeTableModel extends IrisGridTableModelTemplate {
208
284
  get hasExpandableRows() {
209
285
  return true;
210
286
  }
287
+ get isAggregatedColumnsAvailable() {
288
+ return (
289
+ // aggregatedColumns are not available in the Legacy API
290
+ // and Core API before v0.39.4
291
+ this.table.aggregatedColumns !== undefined
292
+ );
293
+ }
211
294
  get isExpandAllAvailable() {
212
295
  return this.table.expandAll !== undefined;
213
296
  }
@@ -224,7 +307,7 @@ class IrisGridTreeTableModel extends IrisGridTableModelTemplate {
224
307
  return false;
225
308
  }
226
309
  isFilterable(columnIndex) {
227
- return this.getCachedFilterableColumnSet(this.columns, this.groupedColumns, this.virtualColumns).has(columnIndex);
310
+ return this.getCachedFilterableColumnSet(this.columns, this.isAggregatedColumnsAvailable, this.aggregatedColumns, this.groupedColumns, this.virtualColumns).has(columnIndex);
228
311
  }
229
312
  isColumnMovable(column) {
230
313
  return column >= this.groupedColumns.length;
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridTreeTableModel.js","names":["memoize","GridRange","Log","Formatter","TableUtils","assertNotNull","EventShimCustomEvent","IrisGridTableModelTemplate","IrisGridModel","log","module","VirtualGroupColumn","Object","freeze","name","displayName","type","dataType","STRING","constituentType","isPartitionColumn","isSortable","isProxy","description","index","filter","Error","sort","formatColor","get","getFormat","formatNumber","formatDate","isLayoutTreeTable","table","layoutHints","undefined","isIrisGridTreeTableModel","tableModel","showExtraGroupColumn","IrisGridTreeTableModel","constructor","dh","formatter","arguments","length","inputTable","_defineProperty","virtualColumns","tableColumns","tableGroupedColumns","columns","groupedColumns","Set","c","includes","map","c1","findIndex","c2","showExtraGroupCol","updateVirtualColumns","dispatchEvent","EVENT","COLUMNS_CHANGED","detail","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","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","isOrganizeColumnsAvailable","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 type BoundedAxisRange,\n type GridCell,\n GridRange,\n type 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, EventShimCustomEvent } from '@deephaven/utils';\nimport { type UIRow, type ColumnName } from './CommonTypes';\nimport IrisGridTableModelTemplate from './IrisGridTableModelTemplate';\nimport IrisGridModel, { type DisplayColumn } from './IrisGridModel';\n\nconst log = Log.module('IrisGridTreeTableModel');\n\nconst VirtualGroupColumn = Object.freeze({\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('formatNumber not implemented for virtual column');\n },\n formatDate: () => {\n throw new Error('formatDate not implemented for virtual column');\n },\n});\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\nexport function isIrisGridTreeTableModel(\n tableModel: IrisGridModel\n): tableModel is IrisGridTreeTableModel {\n return (tableModel as IrisGridTreeTableModel).showExtraGroupColumn != null;\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 private showExtraGroupCol = true;\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\n this.virtualColumns =\n this.showExtraGroupColumn && table.groupedColumns.length > 1\n ? [VirtualGroupColumn]\n : [];\n }\n\n get showExtraGroupColumn(): boolean {\n return this.showExtraGroupCol;\n }\n\n set showExtraGroupColumn(showExtraGroupCol: boolean) {\n if (this.showExtraGroupCol === showExtraGroupCol) {\n return;\n }\n this.showExtraGroupCol = showExtraGroupCol;\n this.updateVirtualColumns();\n }\n\n updateVirtualColumns(): void {\n this.virtualColumns =\n this.showExtraGroupColumn && this.table.groupedColumns.length > 1\n ? [VirtualGroupColumn]\n : [];\n this.dispatchEvent(\n new EventShimCustomEvent(IrisGridModel.EVENT.COLUMNS_CHANGED, {\n detail: this.columns,\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 - 1\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 isOrganizeColumnsAvailable(): boolean {\n return true;\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","EMPTY_ARRAY","EventShimCustomEvent","IrisGridTableModelTemplate","IrisGridModel","IrisGridUtils","log","module","VirtualGroupColumn","Object","freeze","name","displayName","type","dataType","STRING","constituentType","isPartitionColumn","isSortable","isProxy","description","index","filter","Error","sort","formatColor","get","getFormat","formatNumber","formatDate","isUITreeRow","row","hasChildren","isExpanded","depth","isLayoutTreeTable","table","layoutHints","undefined","isIrisGridTreeTableModel","tableModel","showExtraGroupColumn","IrisGridTreeTableModel","constructor","dh","formatter","arguments","length","inputTable","_defineProperty","virtualColumns","tableColumns","tableGroupedColumns","columns","isAggregatedColumnsAvailable","aggregatedColumns","groupedColumns","Set","c","includes","map","c1","findIndex","c2","showExtraGroupCol","updateVirtualColumns","dispatchEvent","EVENT","COLUMNS_CHANGED","detail","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","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","isOrganizeColumnsAvailable","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 type BoundedAxisRange,\n type GridCell,\n GridRange,\n type 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 {\n assertNotNull,\n EMPTY_ARRAY,\n EventShimCustomEvent,\n} from '@deephaven/utils';\nimport { type UIRow, type ColumnName } from './CommonTypes';\nimport IrisGridTableModelTemplate from './IrisGridTableModelTemplate';\nimport IrisGridModel, { type DisplayColumn } from './IrisGridModel';\nimport { type IrisGridThemeType } from './IrisGridTheme';\nimport IrisGridUtils from './IrisGridUtils';\n\nconst log = Log.module('IrisGridTreeTableModel');\n\nconst VirtualGroupColumn = Object.freeze({\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('formatNumber not implemented for virtual column');\n },\n formatDate: () => {\n throw new Error('formatDate not implemented for virtual column');\n },\n});\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\nexport function isIrisGridTreeTableModel(\n tableModel: IrisGridModel\n): tableModel is IrisGridTreeTableModel {\n return (tableModel as IrisGridTreeTableModel).showExtraGroupColumn != null;\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 private showExtraGroupCol = true;\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\n this.virtualColumns =\n this.showExtraGroupColumn && table.groupedColumns.length > 1\n ? [VirtualGroupColumn]\n : [];\n }\n\n get showExtraGroupColumn(): boolean {\n return this.showExtraGroupCol;\n }\n\n set showExtraGroupColumn(showExtraGroupCol: boolean) {\n if (this.showExtraGroupCol === showExtraGroupCol) {\n return;\n }\n this.showExtraGroupCol = showExtraGroupCol;\n this.updateVirtualColumns();\n }\n\n updateVirtualColumns(): void {\n this.virtualColumns =\n this.showExtraGroupColumn && this.table.groupedColumns.length > 1\n ? [VirtualGroupColumn]\n : [];\n this.dispatchEvent(\n new EventShimCustomEvent(IrisGridModel.EVENT.COLUMNS_CHANGED, {\n detail: this.columns,\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 - 1\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 isOrganizeColumnsAvailable(): boolean {\n return true;\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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"}
@@ -10,6 +10,7 @@ import type IrisGridModel from './IrisGridModel';
10
10
  import type AdvancedSettingsType from './sidebar/AdvancedSettingsType';
11
11
  import ColumnHeaderGroup from './ColumnHeaderGroup';
12
12
  import { type 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][];
@@ -256,7 +257,7 @@ declare class IrisGridUtils {
256
257
  * @param filterList The list of filters to be combined.
257
258
  * @returns The combination of the filters in filterList as text.
258
259
  */
259
- static combineFiltersFromList(columnType: string, filterList: FilterData[]): string;
260
+ static combineFiltersFromList(columnType: string | null, filterList: FilterData[]): string;
260
261
  /**
261
262
  * Parses the column header groups provided.
262
263
  * If undefined, should provide default groups such as from layoutHints
@@ -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":"AAAA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,SAAS,EAEd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAUhC,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,QAAQ,EAEb,KAAK,KAAK,EACV,KAAK,qBAAqB,EAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,KAAK,cAAc,IAAI,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AAC3H,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,oBAAoB,MAAM,gCAAgC,CAAC;AAEvE,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAIhC,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,aAAa,EACX,iBAAiB,GACjB,qBAAqB,GACrB,uBAAuB,GACvB,kBAAkB,GAClB,cAAc,GACd,eAAe,GACf,SAAS,GACT,cAAc,GACd,eAAe,GACf,aAAa,GACb,uBAAuB,GACvB,uBAAuB,GACvB,OAAO,GACP,qBAAqB,GACrB,gBAAgB,GAChB,eAAe,GACf,oBAAoB,GACpB,oBAAoB,GACpB,iBAAiB,GACjB,SAAS,CACZ,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAA;CAAE,CAAC,EAAE,CAAC;AAE9E,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM;IACN;QACE,OAAO,EAAE,qBAAqB,CAAC;KAChC;CACF,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM;IACN;QACE,IAAI,EAAE,MAAM,CAAC;KACd;CACF,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAEpE,MAAM,MAAM,yBAAyB,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAE7D,MAAM,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvD,MAAM,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAExD,+CAA+C;AAC/C,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAChD,eAAe,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACtD,YAAY,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACtC,KAAK,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAC3D,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC;IACvB,gBAAgB,CAAC,EAAE,UAAU,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACrD,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,qBAAqB,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAC/D,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC/C,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IACjC,gBAAgB,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACvD,cAAc,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACnD,aAAa,EAAE,SAAS,UAAU,EAAE,CAAC;IACrC,kBAAkB,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACrD,kFAAkF;IAClF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7C,qBAAqB,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,cAAc,EAAE,wBAAwB,CAAC,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC;IACnE,aAAa,EAAE,SAAS,UAAU,EAAE,CAAC;IACrC,kBAAkB,CAAC,EAAE,SAAS,MAAM,CAAC,WAAW,EAAE,CAAC;IACnD,eAAe,CAAC,EAAE,yBAAyB,CAAC;CAC7C;AAED,MAAM,WAAW,8BAA8B;IAC7C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,8BAA8B;IAC7C,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC9B,gBAAgB,EAAE,CAAC,oBAAoB,EAAE,OAAO,CAAC,EAAE,CAAC;CACrD;AAED,MAAM,MAAM,4BAA4B,GACpC,8BAA8B,GAC9B,8BAA8B,CAAC;AAEnC,wBAAgB,cAAc,CAC5B,KAAK,EAAE,4BAA4B,GAClC,KAAK,IAAI,8BAA8B,CAEzC;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,4BAA4B,GAClC,KAAK,IAAI,8BAA8B,CAEzC;AAgBD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,SAAS,EACT,iBAAiB,GAAG,gBAAgB,GAAG,cAAc,GAAG,WAAW,CACpE,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,SAAS;QACrB,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,UAAU,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACxE,EAAE,EAAE,MAAM,GAAG,UAAU,CAAC;KACzB,EAAE,CAAC;IACJ,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;CACrC,CAAC;AAEF,cAAM,aAAa;IACjB;;;;;;OAMG;IACH,MAAM,CAAC,kBAAkB,CACvB,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,iBAAiB,GAC3B,mBAAmB;IA4BtB;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CACrB,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,mBAAmB,EAC9B,aAAa,GAAE,SAAS,MAAM,EAAO,GACpC,iBAAiB;IAwCpB;;;;;OAKG;IACH,MAAM,CAAC,2BAA2B,CAChC,KAAK,EAAE,aAAa,EACpB,kBAAkB,EAAE;QAElB,oBAAoB,EAAE,OAAO,CAAC;QAC9B,UAAU,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QAC9B,gBAAgB,EAAE,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;KACtD,GACA,4BAA4B;IAY/B;;;;;OAKG;IACH,MAAM,CAAC,yBAAyB,CAC9B,KAAK,EAAE,aAAa,EACpB,kBAAkB,EAAE,4BAA4B,GAC/C;QACD,oBAAoB,EAAE,OAAO,CAAC;QAC9B,UAAU,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QAC9B,gBAAgB,EAAE,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;KACtD;IAoBD;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,CAC1B,YAAY,EAAE,sBAAsB,GACnC,qBAAqB,EAAE;IAO1B,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,IAAI;IAIhD;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,MAAM,CAAC,IAAI,EAAE,GAAG,cAAc,EAAE;IAWrE;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EACnC,UAAU,EAAE;QACV,aAAa,EAAE;YAAE,eAAe,EAAE,EAAE,CAAC;YAAC,YAAY,EAAE,EAAE,CAAC;YAAC,KAAK,EAAE,CAAC,CAAA;SAAE,CAAC;QACnE,kBAAkB,EAAE,4BAA4B,CAAC;KAClD,EACD,YAAY,GAAE,WAAW,EAAO,GAC/B;QACD,UAAU,EAAE,OAAO,EAAE,CAAC;QACtB,eAAe,EAAE,EAAE,CAAC;QACpB,YAAY,EAAE,WAAW,EAAE,CAAC;QAC5B,YAAY,EAAE,EAAE,CAAC;QACjB,KAAK,EAAE,CAAC,CAAC;KACV;IAgBD,MAAM,CAAC,yBAAyB,CAC9B,OAAO,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,EAClD,YAAY,GAAE,SAAS,WAAW,EAAO,GACxC,WAAW,EAAE;IAShB,MAAM,CAAC,uBAAuB,CAC5B,SAAS,EAAE,yBAAyB,GAAG,sBAAsB,GAC5D,MAAM,CAAC,eAAe,EAAE;IAe3B;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,YAAY,GAAG,UAAU,EAAE;IAMrE,MAAM,CAAC,sBAAsB,CAC3B,aAAa,EAAE,SAAS,UAAU,EAAE,GACnC,UAAU,EAAE;IAIf,MAAM,CAAC,2BAA2B,CAChC,gBAAgB,EAAE,SAAS,UAAU,EAAE,EACvC,aAAa,EAAE,SAAS,UAAU,EAAE,GACnC,UAAU,EAAE;IAUf,MAAM,CAAC,oBAAoB,CACzB,KAAK,EAAE,SAAS,MAAM,CAAC,IAAI,EAAE,EAC7B,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,MAAM,CAAC,IAAI,EAAE;IAIhB,MAAM,CAAC,sBAAsB,CAAC,CAAC,EAC7B,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACjC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,EAC/B,kBAAkB,EAAE,SAAS,UAAU,EAAE,GACxC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IASjB,MAAM,CAAC,4BAA4B,CACjC,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACjC,YAAY,EAAE,SAAS,aAAa,EAAE,EACtC,kBAAkB,EAAE,SAAS,UAAU,EAAE,GACxC,aAAa,EAAE;IAwDlB,MAAM,CAAC,sCAAsC,CAC3C,qBAAqB,EAAE,SAAS,UAAU,EAAE,EAC5C,kBAAkB,EAAE,SAAS,UAAU,EAAE,GACxC,UAAU,EAAE;IAMf,MAAM,CAAC,wBAAwB,CAC7B,YAAY,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACtC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,SAAS,aAAa,EAAE,EACtC,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,MAAM,CAAC,MAAM,EAAE;IAelB,MAAM,CAAC,qBAAqB,CAC1B,YAAY,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACtC,UAAU,EAAE,YAAY,EACxB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,SAAS,aAAa,EAAE,EACtC,aAAa,EAAE,SAAS,YAAY,EAAE,GACrC,MAAM,CAAC,MAAM,EAAE;IAiBlB,MAAM,CAAC,qBAAqB,CAC1B,YAAY,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACtC,UAAU,EAAE,YAAY,EACxB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,SAAS,aAAa,EAAE,EACtC,aAAa,EAAE,SAAS,YAAY,EAAE,GACrC,MAAM,CAAC,MAAM,EAAE;IAiBlB,MAAM,CAAC,iBAAiB,CACtB,YAAY,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACtC,eAAe,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACzC,sBAAsB,EAAE,SAAS,UAAU,EAAE,GAC5C,MAAM,CAAC,MAAM,EAAE;IAWlB,MAAM,CAAC,uBAAuB,CAC5B,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACjC,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,YAAY,EAAE,SAAS,aAAa,EAAE,EACtC,aAAa,GAAE,SAAS,YAAY,EAAO,EAC3C,sBAAsB,GAAE,SAAS,UAAU,EAAO,EAClD,WAAW,SAAI,GACd,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS;IAqC9B;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO;IA6BnE;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAU5C;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CACtB,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,UAAU,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,GACnC,MAAM,CAAC,MAAM,EAAE;IAyBlB;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,GAAG,OAAO,EAAE,EAAE;IAgBhE;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CACzB,eAAe,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACzC,MAAM,EAAE,cAAc,GAAG,SAAS,EAClC,mBAAmB,EAAE,mBAAmB,GACvC,MAAM,CAAC,YAAY,GAAG,IAAI;IA8D7B;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI;IAejE;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CACd,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACjC,WAAW,EAAE,UAAU,GACtB,MAAM,CAAC,MAAM,GAAG,IAAI;IAUvB;;;;OAIG;IACH,MAAM,CAAC,eAAe,CACpB,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACjC,UAAU,EAAE,UAAU,GACrB,MAAM,CAAC,MAAM,GAAG,SAAS;IAa5B;;;;;OAKG;IACH,MAAM,CAAC,gCAAgC,CAAC,CAAC,EACvC,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACjC,OAAO,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,MAAM,EAAE,CAAC,CAAA;KAAE,EAAE,GACzC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE;IAShB;;;;OAIG;IACH,MAAM,CAAC,sBAAsB,CAC3B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU,EAAE,GACvB,MAAM;IAiDT;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB,CAC5B,KAAK,EAAE,aAAa,EACpB,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,GAAG,iBAAiB,CAAC,EAAE,GAC/D;QACD,MAAM,EAAE,iBAAiB,EAAE,CAAC;QAC5B,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;QAC1C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;KAC1C;IAoGD;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAuBrE,OAAO,CAAC,EAAE,CAAgB;IAE1B,OAAO,CAAC,UAAU,CAAa;gBAEnB,EAAE,EAAE,OAAO,MAAM;IAM7B;;;;;OAKG;IACH,sBAAsB,CACpB,KAAK,EAAE,aAAa,EACpB,aAAa,EAAE,qBAAqB,GACnC,uBAAuB;IAuE1B;;;;OAIG;IACH,oBAAoB,CAClB,KAAK,EAAE,aAAa,EACpB,aAAa,EAAE,uBAAuB,GACrC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,GAAG;QAC1C,gBAAgB,EAAE,YAAY,CAAC;QAC/B,cAAc,EAAE,YAAY,CAAC;KAC9B;IA2FD;;;;;;OAMG;IACH,mBAAmB,CACjB,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACjC,iBAAiB,EAAE,SAAS,qBAAqB,EAAE,EACnD,QAAQ,CAAC,EAAE,MAAM,GAChB,sBAAsB;IAyBzB;;;;;OAKG;IACH,wBAAwB,CACtB,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACjC,eAAe,EAAE,yBAAyB,GACzC,wBAAwB,EAAE;IAY7B;;;;;;OAMG;IACH,sBAAsB,CACpB,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACjC,oBAAoB,EAAE,SAAS,wBAAwB,EAAE,EACzD,QAAQ,EAAE,MAAM,GACf,yBAAyB;IAqC5B,8BAA8B,CAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,OAAO,EAAE,qBAAqB,GAC7B,qBAAqB;IAUxB,4BAA4B,CAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,OAAO,EAAE,qBAAqB,GAC7B,qBAAqB;IAUxB,uBAAuB,CACrB,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACjC,cAAc,EAAE,WAAW,CACzB,UAAU,EACV;QACE,IAAI,EAAE,GAAG,CAAC,UAAU,GAAG,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC;KACvD,CACF,GACA,wBAAwB,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;IAcrD,qBAAqB,CACnB,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACjC,cAAc,EAAE,wBAAwB,CAAC,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC,GACjE,GAAG,CACJ,MAAM,EACN;QACE,IAAI,EAAE,GAAG,CACP,UAAU,GAAG,IAAI,EACjB,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI,CAC9C,CAAC;KACH,CACF;IAoCD,wBAAwB,CACtB,gBAAgB,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EAC1C,eAAe,EAAE,eAAe,GAAG,SAAS,GAC3C,eAAe,GAAG,SAAS;IAa9B,sBAAsB,CACpB,gBAAgB,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EAC1C,eAAe,EAAE,eAAe,GAAG,SAAS,GAC3C,eAAe,GAAG,SAAS;IAa9B;;;;OAIG;IACH,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,IAAI;IAclE;;;;OAIG;IACH,YAAY,CAAC,CAAC,EACZ,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI;IAYrD,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI;IAM3E,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI;IAMzD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI;IAIrD;;;;;OAKG;IACH,WAAW,CACT,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACjC,KAAK,EAAE,SAAS,CAAC,cAAc,GAAG,oBAAoB,CAAC,EAAE,GACxD,MAAM,CAAC,IAAI,EAAE;IAwChB;;;;;OAKG;IACH,kBAAkB,CAChB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,MAAM,GACf,IAAI;IA2DP,0BAA0B,CACxB,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,EACjC,YAAY,GAAE,SAAS,WAAW,EAAO,EACzC,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAAC,eAAe,EAAE;IAqB3B;;;;;;OAMG;IACH,kBAAkB,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,MAAM,CAAC,QAAQ;CAiBlE;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"IrisGridUtils.d.ts","sourceRoot":"","sources":["../src/IrisGridUtils.ts"],"names":[],"mappings":"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"}
@@ -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