@deephaven/iris-grid 0.38.1-beta.0 → 0.38.1-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/AdvancedFilterCreator.d.ts +4 -2
- package/dist/AdvancedFilterCreator.d.ts.map +1 -1
- package/dist/AdvancedFilterCreator.js +9 -4
- package/dist/AdvancedFilterCreator.js.map +1 -1
- package/dist/AdvancedFilterCreatorFilterItem.d.ts +4 -3
- package/dist/AdvancedFilterCreatorFilterItem.d.ts.map +1 -1
- package/dist/AdvancedFilterCreatorFilterItem.js +5 -4
- package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValue.d.ts +4 -2
- package/dist/AdvancedFilterCreatorSelectValue.d.ts.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValue.js +11 -3
- package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.d.ts +3 -1
- package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.js +7 -5
- package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
- package/dist/ColumnStatistics.css +1 -2
- package/dist/ColumnStatistics.css.map +1 -1
- package/dist/ColumnStatistics.d.ts +1 -1
- package/dist/ColumnStatistics.d.ts.map +1 -1
- package/dist/ColumnStatistics.js.map +1 -1
- package/dist/CommonTypes.d.ts +1 -1
- package/dist/CommonTypes.d.ts.map +1 -1
- package/dist/CommonTypes.js.map +1 -1
- package/dist/CrossColumnSearch.d.ts +2 -2
- package/dist/CrossColumnSearch.d.ts.map +1 -1
- package/dist/CrossColumnSearch.js +1 -2
- package/dist/CrossColumnSearch.js.map +1 -1
- package/dist/GotoRow.d.ts +3 -1
- package/dist/GotoRow.d.ts.map +1 -1
- package/dist/GotoRow.js +1 -0
- package/dist/GotoRow.js.map +1 -1
- package/dist/IrisGrid.css +3 -0
- package/dist/IrisGrid.css.map +1 -1
- package/dist/IrisGrid.d.ts +8 -6
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +74 -37
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridCellRendererUtils.d.ts +7 -0
- package/dist/IrisGridCellRendererUtils.d.ts.map +1 -0
- package/dist/IrisGridCellRendererUtils.js +20 -0
- package/dist/IrisGridCellRendererUtils.js.map +1 -0
- package/dist/IrisGridCopyHandler.js.map +1 -1
- package/dist/IrisGridDataBarCellRenderer.d.ts +7 -0
- package/dist/IrisGridDataBarCellRenderer.d.ts.map +1 -0
- package/dist/IrisGridDataBarCellRenderer.js +10 -0
- package/dist/IrisGridDataBarCellRenderer.js.map +1 -0
- package/dist/IrisGridIcons.d.ts +4 -0
- package/dist/IrisGridIcons.d.ts.map +1 -0
- package/dist/IrisGridIcons.js +25 -0
- package/dist/IrisGridIcons.js.map +1 -0
- package/dist/IrisGridMetricCalculator.d.ts +1 -1
- package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
- package/dist/IrisGridMetricCalculator.js.map +1 -1
- package/dist/IrisGridModel.d.ts +1 -1
- package/dist/IrisGridModel.d.ts.map +1 -1
- package/dist/IrisGridModel.js.map +1 -1
- package/dist/IrisGridModelFactory.d.ts +2 -2
- package/dist/IrisGridModelFactory.d.ts.map +1 -1
- package/dist/IrisGridModelFactory.js +3 -3
- package/dist/IrisGridModelFactory.js.map +1 -1
- package/dist/IrisGridModelUpdater.d.ts +3 -2
- package/dist/IrisGridModelUpdater.d.ts.map +1 -1
- package/dist/IrisGridModelUpdater.js +2 -2
- package/dist/IrisGridModelUpdater.js.map +1 -1
- package/dist/IrisGridPartitionSelector.d.ts +2 -1
- package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
- package/dist/IrisGridPartitionSelector.js +2 -0
- package/dist/IrisGridPartitionSelector.js.map +1 -1
- package/dist/IrisGridProxyModel.d.ts +3 -2
- package/dist/IrisGridProxyModel.d.ts.map +1 -1
- package/dist/IrisGridProxyModel.js +11 -9
- package/dist/IrisGridProxyModel.js.map +1 -1
- package/dist/IrisGridRenderer.d.ts +19 -27
- package/dist/IrisGridRenderer.d.ts.map +1 -1
- package/dist/IrisGridRenderer.js +64 -205
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridTableModel.d.ts +2 -2
- package/dist/IrisGridTableModel.d.ts.map +1 -1
- package/dist/IrisGridTableModel.js +6 -6
- package/dist/IrisGridTableModel.js.map +1 -1
- package/dist/IrisGridTableModelTemplate.d.ts +8 -3
- package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
- package/dist/IrisGridTableModelTemplate.js +42 -15
- package/dist/IrisGridTableModelTemplate.js.map +1 -1
- package/dist/IrisGridTestUtils.d.ts +14 -13
- package/dist/IrisGridTestUtils.d.ts.map +1 -1
- package/dist/IrisGridTestUtils.js +33 -27
- package/dist/IrisGridTestUtils.js.map +1 -1
- package/dist/IrisGridTextCellRenderer.d.ts +20 -0
- package/dist/IrisGridTextCellRenderer.d.ts.map +1 -0
- package/dist/IrisGridTextCellRenderer.js +139 -0
- package/dist/IrisGridTextCellRenderer.js.map +1 -0
- package/dist/IrisGridTheme.d.ts.map +1 -1
- package/dist/IrisGridTheme.js +4 -1
- package/dist/IrisGridTheme.js.map +1 -1
- package/dist/IrisGridTheme.module.css +3 -0
- package/dist/IrisGridTheme.module.css.map +1 -1
- package/dist/IrisGridTreeTableModel.d.ts +1 -1
- package/dist/IrisGridTreeTableModel.d.ts.map +1 -1
- package/dist/IrisGridTreeTableModel.js.map +1 -1
- package/dist/IrisGridUtils.d.ts +88 -85
- package/dist/IrisGridUtils.d.ts.map +1 -1
- package/dist/IrisGridUtils.js +567 -556
- package/dist/IrisGridUtils.js.map +1 -1
- package/dist/PartitionSelectorSearch.d.ts +2 -1
- package/dist/PartitionSelectorSearch.d.ts.map +1 -1
- package/dist/PartitionSelectorSearch.js +3 -1
- package/dist/PartitionSelectorSearch.js.map +1 -1
- package/dist/TableViewportUpdater.d.ts +1 -1
- package/dist/TableViewportUpdater.d.ts.map +1 -1
- package/dist/TableViewportUpdater.js.map +1 -1
- package/dist/TreeTableViewportUpdater.d.ts +2 -1
- package/dist/TreeTableViewportUpdater.d.ts.map +1 -1
- package/dist/TreeTableViewportUpdater.js +1 -1
- package/dist/TreeTableViewportUpdater.js.map +1 -1
- package/dist/format-context-menus/DecimalFormatContextMenu.d.ts +3 -1
- package/dist/format-context-menus/DecimalFormatContextMenu.d.ts.map +1 -1
- package/dist/format-context-menus/DecimalFormatContextMenu.js +3 -2
- package/dist/format-context-menus/DecimalFormatContextMenu.js.map +1 -1
- package/dist/format-context-menus/IntegerFormatContextMenu.d.ts +3 -1
- package/dist/format-context-menus/IntegerFormatContextMenu.d.ts.map +1 -1
- package/dist/format-context-menus/IntegerFormatContextMenu.js +3 -2
- package/dist/format-context-menus/IntegerFormatContextMenu.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +10 -9
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.js +49 -32
- package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridTokenMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridTokenMouseHandler.js +18 -3
- package/dist/mousehandlers/IrisGridTokenMouseHandler.js.map +1 -1
- package/dist/sidebar/ChartBuilder.d.ts +12 -11
- package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
- package/dist/sidebar/ChartBuilder.js +98 -81
- package/dist/sidebar/ChartBuilder.js.map +1 -1
- package/dist/sidebar/RollupRows.d.ts +1 -1
- package/dist/sidebar/RollupRows.d.ts.map +1 -1
- package/dist/sidebar/RollupRows.js.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.d.ts +1 -1
- package/dist/sidebar/SelectDistinctBuilder.d.ts.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
- package/dist/sidebar/TableCsvExporter.d.ts +3 -2
- package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
- package/dist/sidebar/TableCsvExporter.js +3 -3
- package/dist/sidebar/TableCsvExporter.js.map +1 -1
- package/dist/sidebar/TableSaver.d.ts +2 -1
- package/dist/sidebar/TableSaver.d.ts.map +1 -1
- package/dist/sidebar/TableSaver.js +4 -1
- package/dist/sidebar/TableSaver.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationEdit.d.ts +1 -1
- package/dist/sidebar/aggregations/AggregationEdit.d.ts.map +1 -1
- package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationUtils.d.ts +1 -1
- package/dist/sidebar/aggregations/AggregationUtils.d.ts.map +1 -1
- package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts +2 -0
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +2 -0
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts +2 -0
- package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionEditor.js +3 -2
- package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts +2 -0
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +3 -0
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.d.ts +2 -2
- package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +3 -3
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +3 -3
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
- package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts +2 -0
- package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/RowFormatEditor.js +2 -0
- package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.d.ts +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.d.ts.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.d.ts +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.d.ts.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.js.map +1 -1
- package/package.json +16 -15
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GridRange, ModelIndex } from '@deephaven/grid';
|
|
2
|
-
import { Column, ColumnStatistics, CustomColumn, InputTable, LayoutHints, Table, ValueTypeUnion } from '@deephaven/jsapi-
|
|
2
|
+
import type { Column, ColumnStatistics, CustomColumn, dh as DhType, InputTable, LayoutHints, Table, ValueTypeUnion } from '@deephaven/jsapi-types';
|
|
3
3
|
import { Formatter } from '@deephaven/jsapi-utils';
|
|
4
4
|
import { ColumnName, UITotalsTableConfig, UIRow } from './CommonTypes';
|
|
5
5
|
import IrisGridTableModelTemplate from './IrisGridTableModelTemplate';
|
|
@@ -15,7 +15,7 @@ declare class IrisGridTableModel extends IrisGridTableModelTemplate<Table, UIRow
|
|
|
15
15
|
* @param formatter The formatter to use when getting formats
|
|
16
16
|
* @param inputTable Iris input table associated with this table
|
|
17
17
|
*/
|
|
18
|
-
constructor(table: Table, formatter?: Formatter, inputTable?: InputTable | null);
|
|
18
|
+
constructor(dh: DhType, table: Table, formatter?: Formatter, inputTable?: InputTable | null);
|
|
19
19
|
get isExportAvailable(): boolean;
|
|
20
20
|
get isColumnStatisticsAvailable(): boolean;
|
|
21
21
|
get isValuesTableAvailable(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridTableModel.d.ts","sourceRoot":"","sources":["../src/IrisGridTableModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"IrisGridTableModel.d.ts","sourceRoot":"","sources":["../src/IrisGridTableModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
|
|
|
7
7
|
import memoize from 'memoize-one';
|
|
8
8
|
import { GridRange } from '@deephaven/grid';
|
|
9
9
|
import Log from '@deephaven/log';
|
|
10
|
-
import { Formatter
|
|
10
|
+
import { Formatter } from '@deephaven/jsapi-utils';
|
|
11
11
|
import { EventShimCustomEvent, PromiseUtils, assertNotNull } from '@deephaven/utils';
|
|
12
12
|
import IrisGridModel from "./IrisGridModel.js";
|
|
13
13
|
import IrisGridTableModelTemplate from "./IrisGridTableModelTemplate.js";
|
|
@@ -23,10 +23,10 @@ class IrisGridTableModel extends IrisGridTableModelTemplate {
|
|
|
23
23
|
* @param formatter The formatter to use when getting formats
|
|
24
24
|
* @param inputTable Iris input table associated with this table
|
|
25
25
|
*/
|
|
26
|
-
constructor(table) {
|
|
27
|
-
var formatter = arguments.length >
|
|
28
|
-
var inputTable = arguments.length >
|
|
29
|
-
super(table, formatter, inputTable);
|
|
26
|
+
constructor(dh, table) {
|
|
27
|
+
var formatter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Formatter(dh);
|
|
28
|
+
var inputTable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
29
|
+
super(dh, table, formatter, inputTable);
|
|
30
30
|
_defineProperty(this, "userFrozenColumns", void 0);
|
|
31
31
|
_defineProperty(this, "customColumnList", void 0);
|
|
32
32
|
_defineProperty(this, "formatColumnList", void 0);
|
|
@@ -236,7 +236,7 @@ class IrisGridTableModel extends IrisGridTableModelTemplate {
|
|
|
236
236
|
for (var c = 0; c < keyColumns.length; c += 1) {
|
|
237
237
|
var column = keyColumns[c];
|
|
238
238
|
var value = row[c];
|
|
239
|
-
var filterValue =
|
|
239
|
+
var filterValue = _this2.tableUtils.makeFilterRawValue(column.type, value);
|
|
240
240
|
var _filter = column.filter().eq(filterValue);
|
|
241
241
|
columnFilters.push(_filter);
|
|
242
242
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridTableModel.js","names":["memoize","GridRange","Log","Formatter","TableUtils","EventShimCustomEvent","PromiseUtils","assertNotNull","IrisGridModel","IrisGridTableModelTemplate","log","module","IrisGridTableModel","constructor","table","formatter","inputTable","layoutHintsFrontColumns","layoutHintsBackColumns","layoutHintsFrozenColumns","userFrozenColumns","columns","Set","map","_","index","customColumnList","formatColumnList","isExportAvailable","freeze","isColumnStatisticsAvailable","getColumnStatistics","isValuesTableAvailable","selectDistinct","copy","isRollupAvailable","rollup","isSelectDistinctAvailable","isCustomColumnsAvailable","applyCustomColumns","isFormatColumnsAvailable","frontColumns","getMemoizedFrontColumns","layoutHints","backColumns","getMemoizedBackColumns","frozenColumns","getMemoizedFrozenColumns","floatingLeftColumnCount","length","description","customColumns","debug2","debug","closeSubscription","formatColumns","applyViewport","updateFrozenColumns","dispatchEvent","EVENT","TABLE_CHANGED","detail","totalsConfig","totals","formattedStringData","totalsTablePromise","cancel","setTotalsTable","UPDATED","makeCancelable","getTotalsTable","close","then","totalsTable","catch","err","isCanceled","error","REQUEST_FAILED","isFilterRequired","isUncoalesced","isFilterable","columnIndex","getCachedFilterableColumnSet","has","export","columnStatistics","column","isColumnMovable","modelIndex","columnName","name","includes","isKeyColumn","isColumnFrozen","delete","ranges","isDeletableRanges","Error","keyColumns","pendingAreaRange","getPendingAreaRange","pendingRanges","range","intersection","filter","offset","floatingTopRowCount","size","newDataMap","Map","i","pendingRange","startRow","endRow","r","PENDING_DATA_UPDATED","tableAreaRange","getTableAreaRange","tableRanges","data","deleteTable","Promise","all","snapshot","filters","row","columnFilters","c","value","filterValue","makeFilterRawValue","type","eq","push","reduce","agg","curr","and","or","applyFilter","seekRow","valueType","insensitive","contains","isBackwards","isSeekRowAvailable"],"sources":["../src/IrisGridTableModel.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport memoize from 'memoize-one';\nimport { GridRange, ModelIndex } from '@deephaven/grid';\nimport {\n Column,\n ColumnStatistics,\n CustomColumn,\n InputTable,\n LayoutHints,\n Table,\n ValueTypeUnion,\n} from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport { Formatter, TableUtils } from '@deephaven/jsapi-utils';\nimport {\n EventShimCustomEvent,\n PromiseUtils,\n assertNotNull,\n} from '@deephaven/utils';\nimport IrisGridModel from './IrisGridModel';\nimport { ColumnName, UITotalsTableConfig, UIRow } from './CommonTypes';\nimport IrisGridTableModelTemplate from './IrisGridTableModelTemplate';\n\nconst log = Log.module('IrisGridTableModel');\n\n/**\n * Model for a grid showing an iris data table\n */\n\nclass IrisGridTableModel extends IrisGridTableModelTemplate<Table, UIRow> {\n userFrozenColumns?: ColumnName[];\n\n customColumnList: string[];\n\n formatColumnList: CustomColumn[];\n\n /**\n * @param table Iris data table to be used in the model\n * @param formatter The formatter to use when getting formats\n * @param inputTable Iris input table associated with this table\n */\n constructor(\n table: Table,\n formatter = new Formatter(),\n inputTable: InputTable | null = null\n ) {\n super(table, formatter, inputTable);\n this.customColumnList = [];\n this.formatColumnList = [];\n }\n\n get isExportAvailable(): boolean {\n return this.table.freeze != null;\n }\n\n get isColumnStatisticsAvailable(): boolean {\n return this.table.getColumnStatistics != null;\n }\n\n get isValuesTableAvailable(): boolean {\n return this.table.selectDistinct != null && this.table.copy != null;\n }\n\n get isRollupAvailable(): boolean {\n return this.table.rollup != null;\n }\n\n get isSelectDistinctAvailable(): boolean {\n return this.table.selectDistinct != null;\n }\n\n get isCustomColumnsAvailable(): boolean {\n return this.table.applyCustomColumns != null;\n }\n\n get isFormatColumnsAvailable(): boolean {\n return this.table.applyCustomColumns != null;\n }\n\n getMemoizedFrontColumns = memoize(\n (layoutHintsFrontColumns: ColumnName[] | undefined) =>\n layoutHintsFrontColumns ?? []\n );\n\n get frontColumns(): ColumnName[] {\n return this.getMemoizedFrontColumns(this.layoutHints?.frontColumns);\n }\n\n getMemoizedBackColumns = memoize(\n (layoutHintsBackColumns: ColumnName[] | undefined) =>\n layoutHintsBackColumns ?? []\n );\n\n get backColumns(): ColumnName[] {\n return this.getMemoizedBackColumns(this.layoutHints?.backColumns);\n }\n\n getMemoizedFrozenColumns = memoize(\n (\n layoutHintsFrozenColumns?: ColumnName[],\n userFrozenColumns?: ColumnName[]\n ): ColumnName[] => userFrozenColumns ?? layoutHintsFrozenColumns ?? []\n );\n\n get frozenColumns(): ColumnName[] {\n return this.getMemoizedFrozenColumns(\n this.layoutHints?.frozenColumns,\n this.userFrozenColumns\n );\n }\n\n get layoutHints(): LayoutHints {\n return this.table.layoutHints;\n }\n\n get floatingLeftColumnCount(): number {\n return this.frozenColumns.length;\n }\n\n get description(): string {\n return this.table.description;\n }\n\n get customColumns(): ColumnName[] {\n return this.customColumnList;\n }\n\n set customColumns(customColumns: ColumnName[]) {\n log.debug2(\n 'set customColumns',\n customColumns,\n this.customColumnList,\n customColumns === this.customColumnList\n );\n if (this.customColumnList.length === 0 && customColumns.length === 0) {\n log.debug('Ignore empty initial customColumns');\n this.customColumnList = customColumns;\n return;\n }\n if (this.customColumnList === customColumns) {\n log.debug('Ignore same customColumns');\n return;\n }\n this.closeSubscription();\n this.customColumnList = customColumns;\n this.table.applyCustomColumns([...customColumns, ...this.formatColumns]);\n this.applyViewport();\n }\n\n get formatColumns(): CustomColumn[] {\n return this.formatColumnList;\n }\n\n set formatColumns(formatColumns: CustomColumn[]) {\n log.debug2(\n 'set formatColumns',\n formatColumns,\n this.formatColumnList,\n formatColumns === this.formatColumnList\n );\n if (this.formatColumnList.length === 0 && formatColumns.length === 0) {\n log.debug('Ignore empty initial formatColumns');\n this.formatColumnList = formatColumns;\n return;\n }\n if (this.formatColumnList === formatColumns) {\n log.debug('Ignore same formatColumns');\n return;\n }\n this.closeSubscription();\n this.formatColumnList = formatColumns;\n this.table.applyCustomColumns([...this.customColumns, ...formatColumns]);\n this.applyViewport();\n }\n\n updateFrozenColumns(columns: ColumnName[]): void {\n this.userFrozenColumns = columns;\n this.dispatchEvent(\n new EventShimCustomEvent(IrisGridModel.EVENT.TABLE_CHANGED, {\n detail: this.table,\n })\n );\n }\n\n set totalsConfig(totalsConfig: UITotalsTableConfig | null) {\n log.debug('set totalsConfig', totalsConfig);\n\n if (totalsConfig === this.totals) {\n // Totals already set, or it will be set when the next model actually gets set\n return;\n }\n\n this.totals = totalsConfig;\n this.formattedStringData = [];\n\n if (this.totalsTablePromise != null) {\n this.totalsTablePromise.cancel();\n }\n\n this.setTotalsTable(null);\n\n if (totalsConfig == null) {\n this.dispatchEvent(new EventShimCustomEvent(IrisGridModel.EVENT.UPDATED));\n return;\n }\n\n this.totalsTablePromise = PromiseUtils.makeCancelable(\n this.table.getTotalsTable(totalsConfig),\n table => table.close()\n );\n this.totalsTablePromise\n .then(totalsTable => {\n this.totalsTablePromise = null;\n this.setTotalsTable(totalsTable);\n })\n .catch(err => {\n if (PromiseUtils.isCanceled(err)) {\n return;\n }\n\n log.error('Unable to set next totalsTable', err);\n this.totalsTablePromise = null;\n\n this.dispatchEvent(\n new EventShimCustomEvent(IrisGridModel.EVENT.REQUEST_FAILED, {\n detail: err,\n })\n );\n });\n }\n\n get isFilterRequired(): boolean {\n return this.table.isUncoalesced;\n }\n\n isFilterable(columnIndex: ModelIndex): boolean {\n return this.getCachedFilterableColumnSet(this.columns).has(columnIndex);\n }\n\n async export(): Promise<Table> {\n return this.table.freeze();\n }\n\n columnStatistics(column: Column): Promise<ColumnStatistics> {\n return this.table.getColumnStatistics(column);\n }\n\n getCachedFilterableColumnSet = memoize(\n (columns: Column[]) =>\n new Set(columns.map((_: Column, index: ModelIndex) => index))\n );\n\n isColumnMovable(modelIndex: ModelIndex): boolean {\n const columnName = this.columns[modelIndex].name;\n if (\n this.frontColumns.includes(columnName) ||\n this.backColumns.includes(columnName) ||\n this.frozenColumns.includes(columnName)\n ) {\n return false;\n }\n return !this.isKeyColumn(modelIndex);\n }\n\n isColumnFrozen(modelIndex: ModelIndex): boolean {\n return this.frozenColumns.includes(this.columns[modelIndex].name);\n }\n\n async delete(ranges: GridRange[]): Promise<void> {\n if (!this.isDeletableRanges(ranges)) {\n throw new Error(`Undeletable ranges ${ranges}`);\n }\n\n assertNotNull(this.inputTable);\n const { keyColumns } = this.inputTable;\n if (keyColumns.length === 0) {\n throw new Error('No key columns to allow deletion');\n }\n\n const pendingAreaRange = this.getPendingAreaRange();\n const pendingRanges = ranges\n .map(range => GridRange.intersection(pendingAreaRange, range))\n .filter(range => range != null)\n .map(range => {\n assertNotNull(range);\n\n return GridRange.offset(\n range,\n 0,\n -(this.floatingTopRowCount + this.table.size)\n );\n });\n\n if (pendingRanges.length > 0) {\n const newDataMap = new Map(super.pendingDataMap);\n for (let i = 0; i < pendingRanges.length; i += 1) {\n const pendingRange = pendingRanges[i];\n assertNotNull(pendingRange.startRow);\n assertNotNull(pendingRange.endRow);\n for (let r = pendingRange.startRow; r <= pendingRange.endRow; r += 1) {\n newDataMap.delete(r);\n }\n }\n super.pendingDataMap = newDataMap;\n\n this.formattedStringData = [];\n\n this.dispatchEvent(\n new EventShimCustomEvent(IrisGridModel.EVENT.PENDING_DATA_UPDATED)\n );\n\n this.dispatchEvent(new EventShimCustomEvent(IrisGridModel.EVENT.UPDATED));\n }\n\n const tableAreaRange = this.getTableAreaRange();\n const tableRanges = ranges\n .map(range => GridRange.intersection(tableAreaRange, range))\n .filter(range => range != null);\n if (tableRanges.length <= 0) {\n return;\n }\n const [data, deleteTable] = await Promise.all([\n // Need to get the key values of each row\n this.snapshot(\n tableRanges.map(range => {\n assertNotNull(range);\n return new GridRange(\n 0,\n range.startRow,\n keyColumns.length - 1,\n range.endRow\n );\n })\n ),\n this.table.copy(),\n ]);\n\n // Now copy the existing table and filter it on the values in the snapshot for the key columns in the input table\n const filters = data.map(row => {\n const columnFilters = [];\n for (let c = 0; c < keyColumns.length; c += 1) {\n const column = keyColumns[c];\n const value = row[c];\n const filterValue = TableUtils.makeFilterRawValue(column.type, value);\n const filter = column.filter().eq(filterValue);\n columnFilters.push(filter);\n }\n return columnFilters.reduce((agg, curr) => agg?.and(curr) ?? curr);\n });\n\n const filter = filters.reduce((agg, curr) => agg?.or(curr) ?? curr);\n\n deleteTable.applyFilter([filter]);\n\n await this.inputTable?.deleteTable(deleteTable);\n deleteTable.close();\n }\n\n async seekRow(\n startRow: number,\n column: Column,\n valueType: ValueTypeUnion,\n value: unknown,\n insensitive?: boolean,\n contains?: boolean,\n isBackwards?: boolean\n ): Promise<number> {\n return this.table.seekRow(\n startRow,\n column,\n valueType,\n value,\n insensitive,\n contains,\n isBackwards\n );\n }\n\n get isSeekRowAvailable(): boolean {\n return this.table.seekRow != null;\n }\n}\n\nexport default IrisGridTableModel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IrisGridTableModel.js","names":["memoize","GridRange","Log","Formatter","EventShimCustomEvent","PromiseUtils","assertNotNull","IrisGridModel","IrisGridTableModelTemplate","log","module","IrisGridTableModel","constructor","dh","table","formatter","inputTable","layoutHintsFrontColumns","layoutHintsBackColumns","layoutHintsFrozenColumns","userFrozenColumns","columns","Set","map","_","index","customColumnList","formatColumnList","isExportAvailable","freeze","isColumnStatisticsAvailable","getColumnStatistics","isValuesTableAvailable","selectDistinct","copy","isRollupAvailable","rollup","isSelectDistinctAvailable","isCustomColumnsAvailable","applyCustomColumns","isFormatColumnsAvailable","frontColumns","getMemoizedFrontColumns","layoutHints","backColumns","getMemoizedBackColumns","frozenColumns","getMemoizedFrozenColumns","floatingLeftColumnCount","length","description","customColumns","debug2","debug","closeSubscription","formatColumns","applyViewport","updateFrozenColumns","dispatchEvent","EVENT","TABLE_CHANGED","detail","totalsConfig","totals","formattedStringData","totalsTablePromise","cancel","setTotalsTable","UPDATED","makeCancelable","getTotalsTable","close","then","totalsTable","catch","err","isCanceled","error","REQUEST_FAILED","isFilterRequired","isUncoalesced","isFilterable","columnIndex","getCachedFilterableColumnSet","has","export","columnStatistics","column","isColumnMovable","modelIndex","columnName","name","includes","isKeyColumn","isColumnFrozen","delete","ranges","isDeletableRanges","Error","keyColumns","pendingAreaRange","getPendingAreaRange","pendingRanges","range","intersection","filter","offset","floatingTopRowCount","size","newDataMap","Map","i","pendingRange","startRow","endRow","r","PENDING_DATA_UPDATED","tableAreaRange","getTableAreaRange","tableRanges","data","deleteTable","Promise","all","snapshot","filters","row","columnFilters","c","value","filterValue","tableUtils","makeFilterRawValue","type","eq","push","reduce","agg","curr","and","or","applyFilter","seekRow","valueType","insensitive","contains","isBackwards","isSeekRowAvailable"],"sources":["../src/IrisGridTableModel.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport memoize from 'memoize-one';\nimport { GridRange, ModelIndex } from '@deephaven/grid';\nimport type {\n Column,\n ColumnStatistics,\n CustomColumn,\n dh as DhType,\n InputTable,\n LayoutHints,\n Table,\n ValueTypeUnion,\n} from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport { Formatter } from '@deephaven/jsapi-utils';\nimport {\n EventShimCustomEvent,\n PromiseUtils,\n assertNotNull,\n} from '@deephaven/utils';\nimport IrisGridModel from './IrisGridModel';\nimport { ColumnName, UITotalsTableConfig, UIRow } from './CommonTypes';\nimport IrisGridTableModelTemplate from './IrisGridTableModelTemplate';\n\nconst log = Log.module('IrisGridTableModel');\n\n/**\n * Model for a grid showing an iris data table\n */\n\nclass IrisGridTableModel extends IrisGridTableModelTemplate<Table, UIRow> {\n userFrozenColumns?: ColumnName[];\n\n customColumnList: string[];\n\n formatColumnList: CustomColumn[];\n\n /**\n * @param table Iris data table to be used in the model\n * @param formatter The formatter to use when getting formats\n * @param inputTable Iris input table associated with this table\n */\n constructor(\n dh: DhType,\n table: Table,\n formatter = new Formatter(dh),\n inputTable: InputTable | null = null\n ) {\n super(dh, table, formatter, inputTable);\n this.customColumnList = [];\n this.formatColumnList = [];\n }\n\n get isExportAvailable(): boolean {\n return this.table.freeze != null;\n }\n\n get isColumnStatisticsAvailable(): boolean {\n return this.table.getColumnStatistics != null;\n }\n\n get isValuesTableAvailable(): boolean {\n return this.table.selectDistinct != null && this.table.copy != null;\n }\n\n get isRollupAvailable(): boolean {\n return this.table.rollup != null;\n }\n\n get isSelectDistinctAvailable(): boolean {\n return this.table.selectDistinct != null;\n }\n\n get isCustomColumnsAvailable(): boolean {\n return this.table.applyCustomColumns != null;\n }\n\n get isFormatColumnsAvailable(): boolean {\n return this.table.applyCustomColumns != null;\n }\n\n getMemoizedFrontColumns = memoize(\n (layoutHintsFrontColumns: ColumnName[] | undefined) =>\n layoutHintsFrontColumns ?? []\n );\n\n get frontColumns(): ColumnName[] {\n return this.getMemoizedFrontColumns(this.layoutHints?.frontColumns);\n }\n\n getMemoizedBackColumns = memoize(\n (layoutHintsBackColumns: ColumnName[] | undefined) =>\n layoutHintsBackColumns ?? []\n );\n\n get backColumns(): ColumnName[] {\n return this.getMemoizedBackColumns(this.layoutHints?.backColumns);\n }\n\n getMemoizedFrozenColumns = memoize(\n (\n layoutHintsFrozenColumns?: ColumnName[],\n userFrozenColumns?: ColumnName[]\n ): ColumnName[] => userFrozenColumns ?? layoutHintsFrozenColumns ?? []\n );\n\n get frozenColumns(): ColumnName[] {\n return this.getMemoizedFrozenColumns(\n this.layoutHints?.frozenColumns,\n this.userFrozenColumns\n );\n }\n\n get layoutHints(): LayoutHints {\n return this.table.layoutHints;\n }\n\n get floatingLeftColumnCount(): number {\n return this.frozenColumns.length;\n }\n\n get description(): string {\n return this.table.description;\n }\n\n get customColumns(): ColumnName[] {\n return this.customColumnList;\n }\n\n set customColumns(customColumns: ColumnName[]) {\n log.debug2(\n 'set customColumns',\n customColumns,\n this.customColumnList,\n customColumns === this.customColumnList\n );\n if (this.customColumnList.length === 0 && customColumns.length === 0) {\n log.debug('Ignore empty initial customColumns');\n this.customColumnList = customColumns;\n return;\n }\n if (this.customColumnList === customColumns) {\n log.debug('Ignore same customColumns');\n return;\n }\n this.closeSubscription();\n this.customColumnList = customColumns;\n this.table.applyCustomColumns([...customColumns, ...this.formatColumns]);\n this.applyViewport();\n }\n\n get formatColumns(): CustomColumn[] {\n return this.formatColumnList;\n }\n\n set formatColumns(formatColumns: CustomColumn[]) {\n log.debug2(\n 'set formatColumns',\n formatColumns,\n this.formatColumnList,\n formatColumns === this.formatColumnList\n );\n if (this.formatColumnList.length === 0 && formatColumns.length === 0) {\n log.debug('Ignore empty initial formatColumns');\n this.formatColumnList = formatColumns;\n return;\n }\n if (this.formatColumnList === formatColumns) {\n log.debug('Ignore same formatColumns');\n return;\n }\n this.closeSubscription();\n this.formatColumnList = formatColumns;\n this.table.applyCustomColumns([...this.customColumns, ...formatColumns]);\n this.applyViewport();\n }\n\n updateFrozenColumns(columns: ColumnName[]): void {\n this.userFrozenColumns = columns;\n this.dispatchEvent(\n new EventShimCustomEvent(IrisGridModel.EVENT.TABLE_CHANGED, {\n detail: this.table,\n })\n );\n }\n\n set totalsConfig(totalsConfig: UITotalsTableConfig | null) {\n log.debug('set totalsConfig', totalsConfig);\n\n if (totalsConfig === this.totals) {\n // Totals already set, or it will be set when the next model actually gets set\n return;\n }\n\n this.totals = totalsConfig;\n this.formattedStringData = [];\n\n if (this.totalsTablePromise != null) {\n this.totalsTablePromise.cancel();\n }\n\n this.setTotalsTable(null);\n\n if (totalsConfig == null) {\n this.dispatchEvent(new EventShimCustomEvent(IrisGridModel.EVENT.UPDATED));\n return;\n }\n\n this.totalsTablePromise = PromiseUtils.makeCancelable(\n this.table.getTotalsTable(totalsConfig),\n table => table.close()\n );\n this.totalsTablePromise\n .then(totalsTable => {\n this.totalsTablePromise = null;\n this.setTotalsTable(totalsTable);\n })\n .catch(err => {\n if (PromiseUtils.isCanceled(err)) {\n return;\n }\n\n log.error('Unable to set next totalsTable', err);\n this.totalsTablePromise = null;\n\n this.dispatchEvent(\n new EventShimCustomEvent(IrisGridModel.EVENT.REQUEST_FAILED, {\n detail: err,\n })\n );\n });\n }\n\n get isFilterRequired(): boolean {\n return this.table.isUncoalesced;\n }\n\n isFilterable(columnIndex: ModelIndex): boolean {\n return this.getCachedFilterableColumnSet(this.columns).has(columnIndex);\n }\n\n async export(): Promise<Table> {\n return this.table.freeze();\n }\n\n columnStatistics(column: Column): Promise<ColumnStatistics> {\n return this.table.getColumnStatistics(column);\n }\n\n getCachedFilterableColumnSet = memoize(\n (columns: Column[]) =>\n new Set(columns.map((_: Column, index: ModelIndex) => index))\n );\n\n isColumnMovable(modelIndex: ModelIndex): boolean {\n const columnName = this.columns[modelIndex].name;\n if (\n this.frontColumns.includes(columnName) ||\n this.backColumns.includes(columnName) ||\n this.frozenColumns.includes(columnName)\n ) {\n return false;\n }\n return !this.isKeyColumn(modelIndex);\n }\n\n isColumnFrozen(modelIndex: ModelIndex): boolean {\n return this.frozenColumns.includes(this.columns[modelIndex].name);\n }\n\n async delete(ranges: GridRange[]): Promise<void> {\n if (!this.isDeletableRanges(ranges)) {\n throw new Error(`Undeletable ranges ${ranges}`);\n }\n\n assertNotNull(this.inputTable);\n const { keyColumns } = this.inputTable;\n if (keyColumns.length === 0) {\n throw new Error('No key columns to allow deletion');\n }\n\n const pendingAreaRange = this.getPendingAreaRange();\n const pendingRanges = ranges\n .map(range => GridRange.intersection(pendingAreaRange, range))\n .filter(range => range != null)\n .map(range => {\n assertNotNull(range);\n\n return GridRange.offset(\n range,\n 0,\n -(this.floatingTopRowCount + this.table.size)\n );\n });\n\n if (pendingRanges.length > 0) {\n const newDataMap = new Map(super.pendingDataMap);\n for (let i = 0; i < pendingRanges.length; i += 1) {\n const pendingRange = pendingRanges[i];\n assertNotNull(pendingRange.startRow);\n assertNotNull(pendingRange.endRow);\n for (let r = pendingRange.startRow; r <= pendingRange.endRow; r += 1) {\n newDataMap.delete(r);\n }\n }\n super.pendingDataMap = newDataMap;\n\n this.formattedStringData = [];\n\n this.dispatchEvent(\n new EventShimCustomEvent(IrisGridModel.EVENT.PENDING_DATA_UPDATED)\n );\n\n this.dispatchEvent(new EventShimCustomEvent(IrisGridModel.EVENT.UPDATED));\n }\n\n const tableAreaRange = this.getTableAreaRange();\n const tableRanges = ranges\n .map(range => GridRange.intersection(tableAreaRange, range))\n .filter(range => range != null);\n if (tableRanges.length <= 0) {\n return;\n }\n const [data, deleteTable] = await Promise.all([\n // Need to get the key values of each row\n this.snapshot(\n tableRanges.map(range => {\n assertNotNull(range);\n return new GridRange(\n 0,\n range.startRow,\n keyColumns.length - 1,\n range.endRow\n );\n })\n ),\n this.table.copy(),\n ]);\n\n // Now copy the existing table and filter it on the values in the snapshot for the key columns in the input table\n const filters = data.map(row => {\n const columnFilters = [];\n for (let c = 0; c < keyColumns.length; c += 1) {\n const column = keyColumns[c];\n const value = row[c];\n const filterValue = this.tableUtils.makeFilterRawValue(\n column.type,\n value\n );\n const filter = column.filter().eq(filterValue);\n columnFilters.push(filter);\n }\n return columnFilters.reduce((agg, curr) => agg?.and(curr) ?? curr);\n });\n\n const filter = filters.reduce((agg, curr) => agg?.or(curr) ?? curr);\n\n deleteTable.applyFilter([filter]);\n\n await this.inputTable?.deleteTable(deleteTable);\n deleteTable.close();\n }\n\n async seekRow(\n startRow: number,\n column: Column,\n valueType: ValueTypeUnion,\n value: unknown,\n insensitive?: boolean,\n contains?: boolean,\n isBackwards?: boolean\n ): Promise<number> {\n return this.table.seekRow(\n startRow,\n column,\n valueType,\n value,\n insensitive,\n contains,\n isBackwards\n );\n }\n\n get isSeekRowAvailable(): boolean {\n return this.table.seekRow != null;\n }\n}\n\nexport default IrisGridTableModel;\n"],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { EditOperation, GridRange, ModelIndex, MoveOperation, VisibleIndex } from '@deephaven/grid';
|
|
2
|
-
import { Column, ColumnStatistics, CustomColumn, FilterCondition, Format, InputTable, LayoutHints, RollupConfig, Row, Sort, Table, TableTemplate, TotalsTable, ValueTypeUnion, ViewportData } from '@deephaven/jsapi-
|
|
2
|
+
import type { Column, ColumnStatistics, CustomColumn, dh as DhType, FilterCondition, Format, InputTable, LayoutHints, RollupConfig, Row, Sort, Table, TableTemplate, TotalsTable, ValueTypeUnion, ViewportData } from '@deephaven/jsapi-types';
|
|
3
3
|
import { CancelablePromise } from '@deephaven/utils';
|
|
4
|
-
import { Formatter } from '@deephaven/jsapi-utils';
|
|
4
|
+
import { TableUtils, Formatter } from '@deephaven/jsapi-utils';
|
|
5
5
|
import IrisGridModel from './IrisGridModel';
|
|
6
|
+
import IrisGridUtils from './IrisGridUtils';
|
|
6
7
|
import MissingKeyError from './MissingKeyError';
|
|
7
8
|
import { ColumnName, UITotalsTableConfig, UIRow, PendingDataMap, CellData, UIViewportData, PendingDataErrorMap } from './CommonTypes';
|
|
8
9
|
import { IrisGridThemeType } from './IrisGridTheme';
|
|
@@ -30,6 +31,9 @@ declare class IrisGridTableModelTemplate<T extends TableTemplate<T> = Table, R e
|
|
|
30
31
|
* The order of model columns should never change once established
|
|
31
32
|
*/
|
|
32
33
|
get columns(): Column[];
|
|
34
|
+
dh: DhType;
|
|
35
|
+
irisGridUtils: IrisGridUtils;
|
|
36
|
+
tableUtils: TableUtils;
|
|
33
37
|
private irisFormatter;
|
|
34
38
|
inputTable: InputTable | null;
|
|
35
39
|
private subscription;
|
|
@@ -55,11 +59,12 @@ declare class IrisGridTableModelTemplate<T extends TableTemplate<T> = Table, R e
|
|
|
55
59
|
private _columnHeaderGroups;
|
|
56
60
|
private _movedColumns;
|
|
57
61
|
/**
|
|
62
|
+
* @param dh JSAPI instance
|
|
58
63
|
* @param table Iris data table to be used in the model
|
|
59
64
|
* @param formatter The formatter to use when getting formats
|
|
60
65
|
* @param inputTable Iris input table associated with this table
|
|
61
66
|
*/
|
|
62
|
-
constructor(table: T, formatter?: Formatter, inputTable?: InputTable | null);
|
|
67
|
+
constructor(dh: DhType, table: T, formatter?: Formatter, inputTable?: InputTable | null);
|
|
63
68
|
close(): void;
|
|
64
69
|
startListening(): void;
|
|
65
70
|
stopListening(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridTableModelTemplate.d.ts","sourceRoot":"","sources":["../src/IrisGridTableModelTemplate.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,aAAa,EACb,SAAS,EAGT,UAAU,EACV,aAAa,EACb,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,
|
|
1
|
+
{"version":3,"file":"IrisGridTableModelTemplate.d.ts","sourceRoot":"","sources":["../src/IrisGridTableModelTemplate.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
|
|
|
10
10
|
import memoize from 'memoize-one';
|
|
11
11
|
import throttle from 'lodash.throttle';
|
|
12
12
|
import { GridRange, GridUtils, memoizeClear } from '@deephaven/grid';
|
|
13
|
-
import dh from '@deephaven/jsapi-shim';
|
|
14
13
|
import Log from '@deephaven/log';
|
|
15
14
|
import { EventShimCustomEvent, PromiseUtils, assertNotNull } from '@deephaven/utils';
|
|
16
15
|
import { TableUtils, Formatter, FormatterUtils } from '@deephaven/jsapi-utils';
|
|
@@ -77,15 +76,19 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
77
76
|
return this.table.columns;
|
|
78
77
|
}
|
|
79
78
|
/**
|
|
79
|
+
* @param dh JSAPI instance
|
|
80
80
|
* @param table Iris data table to be used in the model
|
|
81
81
|
* @param formatter The formatter to use when getting formats
|
|
82
82
|
* @param inputTable Iris input table associated with this table
|
|
83
83
|
*/
|
|
84
|
-
constructor(table) {
|
|
84
|
+
constructor(dh, table) {
|
|
85
85
|
var _this$layoutHints$col, _this$layoutHints;
|
|
86
|
-
var _formatter = arguments.length >
|
|
87
|
-
var inputTable = arguments.length >
|
|
86
|
+
var _formatter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Formatter(dh);
|
|
87
|
+
var inputTable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
88
88
|
super();
|
|
89
|
+
_defineProperty(this, "dh", void 0);
|
|
90
|
+
_defineProperty(this, "irisGridUtils", void 0);
|
|
91
|
+
_defineProperty(this, "tableUtils", void 0);
|
|
89
92
|
_defineProperty(this, "irisFormatter", void 0);
|
|
90
93
|
_defineProperty(this, "inputTable", void 0);
|
|
91
94
|
_defineProperty(this, "subscription", void 0);
|
|
@@ -294,10 +297,13 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
294
297
|
this.handleTotalsUpdate = this.handleTotalsUpdate.bind(this);
|
|
295
298
|
this.handleRequestFailed = this.handleRequestFailed.bind(this);
|
|
296
299
|
this.handleCustomColumnsChanged = this.handleCustomColumnsChanged.bind(this);
|
|
300
|
+
this.dh = dh;
|
|
297
301
|
this.irisFormatter = _formatter;
|
|
302
|
+
this.irisGridUtils = new IrisGridUtils(dh);
|
|
298
303
|
this.inputTable = inputTable;
|
|
299
304
|
this.subscription = null;
|
|
300
305
|
this.table = table;
|
|
306
|
+
this.tableUtils = new TableUtils(dh);
|
|
301
307
|
this.viewport = null;
|
|
302
308
|
this.viewportData = null;
|
|
303
309
|
this.formattedStringData = [];
|
|
@@ -326,6 +332,9 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
326
332
|
}
|
|
327
333
|
startListening() {
|
|
328
334
|
super.startListening();
|
|
335
|
+
var {
|
|
336
|
+
dh
|
|
337
|
+
} = this;
|
|
329
338
|
this.table.addEventListener(dh.Table.EVENT_DISCONNECT, this.handleTableDisconnect);
|
|
330
339
|
this.table.addEventListener(dh.Table.EVENT_RECONNECT, this.handleTableReconnect);
|
|
331
340
|
this.table.addEventListener(dh.Table.EVENT_UPDATED, this.handleTableUpdate);
|
|
@@ -338,6 +347,9 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
338
347
|
}
|
|
339
348
|
stopListening() {
|
|
340
349
|
super.stopListening();
|
|
350
|
+
var {
|
|
351
|
+
dh
|
|
352
|
+
} = this;
|
|
341
353
|
this.table.removeEventListener(dh.Table.EVENT_DISCONNECT, this.handleTableDisconnect);
|
|
342
354
|
this.table.removeEventListener(dh.Table.EVENT_RECONNECT, this.handleTableReconnect);
|
|
343
355
|
this.table.removeEventListener(dh.Table.EVENT_UPDATED, this.handleTableUpdate);
|
|
@@ -349,12 +361,18 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
349
361
|
this.closeSubscription();
|
|
350
362
|
}
|
|
351
363
|
addTotalsListeners(totalsTable) {
|
|
364
|
+
var {
|
|
365
|
+
dh
|
|
366
|
+
} = this;
|
|
352
367
|
totalsTable.addEventListener(dh.Table.EVENT_UPDATED, this.handleTotalsUpdate);
|
|
353
368
|
|
|
354
369
|
// Totals table only has one row of data
|
|
355
370
|
totalsTable.setViewport(0, 0);
|
|
356
371
|
}
|
|
357
372
|
removeTotalsListeners(totalsTable) {
|
|
373
|
+
var {
|
|
374
|
+
dh
|
|
375
|
+
} = this;
|
|
358
376
|
totalsTable.removeEventListener(dh.Table.EVENT_UPDATED, this.handleTotalsUpdate);
|
|
359
377
|
}
|
|
360
378
|
handleTableDisconnect() {
|
|
@@ -492,6 +510,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
492
510
|
return this.formattedStringData[x][y];
|
|
493
511
|
}
|
|
494
512
|
textForCell(x, y) {
|
|
513
|
+
var _this$columns$x;
|
|
495
514
|
var text = this.textValueForCell(x, y);
|
|
496
515
|
if (text == null && this.isKeyColumn(x)) {
|
|
497
516
|
var pendingRow = this.pendingRow(y);
|
|
@@ -500,6 +519,14 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
500
519
|
return '*';
|
|
501
520
|
}
|
|
502
521
|
}
|
|
522
|
+
if (TableUtils.isTextType((_this$columns$x = this.columns[x]) === null || _this$columns$x === void 0 ? void 0 : _this$columns$x.type)) {
|
|
523
|
+
if (text === null) {
|
|
524
|
+
return 'null';
|
|
525
|
+
}
|
|
526
|
+
if (text === '') {
|
|
527
|
+
return 'empty';
|
|
528
|
+
}
|
|
529
|
+
}
|
|
503
530
|
return text !== null && text !== void 0 ? text : '';
|
|
504
531
|
}
|
|
505
532
|
truncationCharForCell(x) {
|
|
@@ -605,12 +632,12 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
605
632
|
return this.columnHeaderParentMap.get((_this$columnAtDepth$n = (_this$columnAtDepth = this.columnAtDepth(modelIndex, depth)) === null || _this$columnAtDepth === void 0 ? void 0 : _this$columnAtDepth.name) !== null && _this$columnAtDepth$n !== void 0 ? _this$columnAtDepth$n : '');
|
|
606
633
|
}
|
|
607
634
|
columnAtDepth(x) {
|
|
608
|
-
var _this$columns$
|
|
635
|
+
var _this$columns$x2;
|
|
609
636
|
var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
610
637
|
if (depth === 0) {
|
|
611
638
|
return this.columns[x];
|
|
612
639
|
}
|
|
613
|
-
var columnName = (_this$columns$
|
|
640
|
+
var columnName = (_this$columns$x2 = this.columns[x]) === null || _this$columns$x2 === void 0 ? void 0 : _this$columns$x2.name;
|
|
614
641
|
var group = this.columnHeaderParentMap.get(columnName);
|
|
615
642
|
if (!group) {
|
|
616
643
|
return undefined;
|
|
@@ -1047,7 +1074,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
1047
1074
|
yield* _loop2();
|
|
1048
1075
|
}
|
|
1049
1076
|
if (tableRanges.length > 0) {
|
|
1050
|
-
var rangeSet =
|
|
1077
|
+
var rangeSet = _this2.irisGridUtils.rangeSetFromRanges(tableRanges);
|
|
1051
1078
|
var snapshot = yield _this2.subscription.snapshot(rangeSet, columns);
|
|
1052
1079
|
result.push(...snapshot.rows.map(rowData => columns.map(column => formatValue(rowData.get(column), column))));
|
|
1053
1080
|
}
|
|
@@ -1210,7 +1237,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
1210
1237
|
var column = _this6.columns[x];
|
|
1211
1238
|
columnSet.add(column);
|
|
1212
1239
|
if (formattedText[x] === undefined) {
|
|
1213
|
-
var _value3 =
|
|
1240
|
+
var _value3 = _this6.tableUtils.makeValue(column.type, text, _this6.formatter.timeZone);
|
|
1214
1241
|
formattedText[x] = _value3 != null ? _this6.displayString(_value3, column.type, column.name) : null;
|
|
1215
1242
|
}
|
|
1216
1243
|
_this6.cachePendingValue(x, y, formattedText[x]);
|
|
@@ -1237,7 +1264,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
1237
1264
|
data: rowData
|
|
1238
1265
|
} = row;
|
|
1239
1266
|
var newRowData = new Map(rowData);
|
|
1240
|
-
var value =
|
|
1267
|
+
var value = _this6.tableUtils.makeValue(column.type, text, _this6.formatter.timeZone);
|
|
1241
1268
|
if (value != null) {
|
|
1242
1269
|
newRowData.set(columnIndex, {
|
|
1243
1270
|
value
|
|
@@ -1271,7 +1298,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
1271
1298
|
newRow[_this6.columns[c].name] = row[c];
|
|
1272
1299
|
}
|
|
1273
1300
|
columnSet.forEach(column => {
|
|
1274
|
-
newRow[column.name] =
|
|
1301
|
+
newRow[column.name] = _this6.tableUtils.makeValue(column.type, text, _this6.formatter.timeZone);
|
|
1275
1302
|
});
|
|
1276
1303
|
return newRow;
|
|
1277
1304
|
});
|
|
@@ -1320,7 +1347,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
1320
1347
|
var x = (_edit$column2 = edit.column) !== null && _edit$column2 !== void 0 ? _edit$column2 : edit.x;
|
|
1321
1348
|
var y = (_edit$row2 = edit.row) !== null && _edit$row2 !== void 0 ? _edit$row2 : edit.y;
|
|
1322
1349
|
var column = _this7.columns[x];
|
|
1323
|
-
var value =
|
|
1350
|
+
var value = _this7.tableUtils.makeValue(column.type, text, _this7.formatter.timeZone);
|
|
1324
1351
|
var formattedText = value != null ? _this7.displayString(value, column.type, column.name) : null;
|
|
1325
1352
|
_this7.cachePendingValue(x, y, formattedText);
|
|
1326
1353
|
|
|
@@ -1406,7 +1433,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
1406
1433
|
rowEdits.forEach(edit => {
|
|
1407
1434
|
var _edit$column4;
|
|
1408
1435
|
var column = _this7.columns[(_edit$column4 = edit.column) !== null && _edit$column4 !== void 0 ? _edit$column4 : edit.x];
|
|
1409
|
-
newRow[column.name] =
|
|
1436
|
+
newRow[column.name] = _this7.tableUtils.makeValue(column.type, edit.text, _this7.formatter.timeZone);
|
|
1410
1437
|
});
|
|
1411
1438
|
}
|
|
1412
1439
|
return newRow;
|
|
@@ -1428,7 +1455,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
1428
1455
|
var x = (_edit$column5 = edit.column) !== null && _edit$column5 !== void 0 ? _edit$column5 : edit.x;
|
|
1429
1456
|
var y = (_edit$row5 = edit.row) !== null && _edit$row5 !== void 0 ? _edit$row5 : edit.y;
|
|
1430
1457
|
var column = _this7.columns[x];
|
|
1431
|
-
var value =
|
|
1458
|
+
var value = _this7.tableUtils.makeValue(column.type, text, _this7.formatter.timeZone);
|
|
1432
1459
|
var formattedText = value != null ? _this7.displayString(value, column.type, column.name) : null;
|
|
1433
1460
|
_this7.cacheFormattedValue(x, y, formattedText);
|
|
1434
1461
|
});
|
|
@@ -1525,7 +1552,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
1525
1552
|
for (var c = 0; c < keyColumns.length; c += 1) {
|
|
1526
1553
|
var _column4 = keyColumns[c];
|
|
1527
1554
|
var _value4 = row[c];
|
|
1528
|
-
var filterValue =
|
|
1555
|
+
var filterValue = _this9.tableUtils.makeFilterRawValue(_column4.type, _value4);
|
|
1529
1556
|
var _filter = _column4.filter().eq(filterValue);
|
|
1530
1557
|
columnFilters.push(_filter);
|
|
1531
1558
|
}
|
|
@@ -1547,7 +1574,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
1547
1574
|
isValidForCell(x, y, value) {
|
|
1548
1575
|
try {
|
|
1549
1576
|
var _column5 = this.columns[x];
|
|
1550
|
-
|
|
1577
|
+
this.tableUtils.makeValue(_column5.type, value, this.formatter.timeZone);
|
|
1551
1578
|
return true;
|
|
1552
1579
|
} catch (e) {
|
|
1553
1580
|
return false;
|