@deephaven/iris-grid 0.108.1-beta.12 → 0.108.1-beta.13

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.
@@ -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,6 +27,8 @@ 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[];
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridTreeTableModel.d.ts","sourceRoot":"","sources":["../src/IrisGridTreeTableModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridTreeTableModel.d.ts","sourceRoot":"","sources":["../src/IrisGridTreeTableModel.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { Formatter, TableUtils } from '@deephaven/jsapi-utils';
13
13
  import { assertNotNull, 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
  }
@@ -105,6 +114,49 @@ class IrisGridTreeTableModel extends IrisGridTableModelTemplate {
105
114
  }
106
115
  return super.textForCell(x, y);
107
116
  }
117
+ colorForCell(x, y, theme) {
118
+ var data = this.dataForCell(x, y);
119
+ if (data) {
120
+ var {
121
+ format,
122
+ value: _value2
123
+ } = data;
124
+ if (_value2 == null || _value2 === '') {
125
+ assertNotNull(theme.nullStringColor);
126
+ return theme.nullStringColor;
127
+ }
128
+ if ((format === null || format === void 0 ? void 0 : format.color) != null && format.color !== '') {
129
+ return format.color;
130
+ }
131
+
132
+ // Fallback to formatting based on the value/type of the cell
133
+ if (_value2 != null) {
134
+ var _column = this.sourceColumn(x, y);
135
+ var row = this.row(y);
136
+ assertNotNull(row);
137
+ var columnTypeForFormatting = _column.type;
138
+
139
+ // For tree table leaf nodes, use the constituent type for formatting
140
+ if (isUITreeRow(row) && row.hasChildren === false && _column.constituentType != null) {
141
+ columnTypeForFormatting = _column.constituentType;
142
+ }
143
+ return IrisGridUtils.colorForValue(theme, columnTypeForFormatting, _column.name, _value2);
144
+ }
145
+ }
146
+ return theme.textColor;
147
+ }
148
+ textAlignForCell(x, y) {
149
+ var column = this.sourceColumn(x, y);
150
+ var row = this.row(y);
151
+ assertNotNull(row);
152
+ var typeForFormatting = column.type;
153
+
154
+ // For tree table leaf nodes, use the constituent type for formatting
155
+ if (isUITreeRow(row) && row.hasChildren === false && column.constituentType != null) {
156
+ typeForFormatting = column.constituentType;
157
+ }
158
+ return IrisGridUtils.textAlignForValue(typeForFormatting, column.name);
159
+ }
108
160
  extractViewportRow(row, columns) {
109
161
  var {
110
162
  isExpanded,
@@ -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","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","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","value","valueForCell","displayString","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 { assertNotNull, EventShimCustomEvent } 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 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 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 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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"}
@@ -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][];
@@ -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