@deephaven/iris-grid 0.61.0 → 0.61.1-alpha-widget-types.1

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.
@@ -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,KAAK,EACV,MAAM,EACN,gBAAgB,EAChB,YAAY,EACZ,EAAE,IAAI,MAAM,EACZ,eAAe,EACf,UAAU,EACV,WAAW,EACX,KAAK,EACL,cAAc,EACf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAOnD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,0BAA0B,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAItE;;GAEG;AAEH,cAAM,kBACJ,SAAQ,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAC/C,YAAW,4BAA4B;IAEvC,iBAAiB,CAAC,EAAE,UAAU,EAAE,CAAC;IAEjC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,gBAAgB,EAAE,YAAY,EAAE,CAAC;IAEjC,cAAc,EAAE,eAAe,EAAE,CAAM;IAEvC;;;;;OAKG;gBAED,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,EACZ,SAAS,YAAoB,EAC7B,UAAU,GAAE,UAAU,GAAG,IAAW;IAQtC,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED,IAAI,2BAA2B,IAAI,OAAO,CAEzC;IAED,IAAI,sBAAsB,IAAI,OAAO,CAEpC;IAED,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED,IAAI,yBAAyB,IAAI,OAAO,CAEvC;IAED,IAAI,wBAAwB,IAAI,OAAO,CAEtC;IAED,IAAI,wBAAwB,IAAI,OAAO,CAEtC;IAED,uBAAuB,4BACK,UAAU,EAAE,GAAG,SAAS,cAElD;IAEF,IAAI,YAAY,IAAI,UAAU,EAAE,CAE/B;IAED,sBAAsB,2BACK,UAAU,EAAE,GAAG,SAAS,cAEjD;IAEF,IAAI,WAAW,IAAI,UAAU,EAAE,CAE9B;IAED,wBAAwB,8BAEO,UAAU,EAAE,sBACnB,UAAU,EAAE,KAC/B,UAAU,EAAE,CACf;IAEF,IAAI,aAAa,IAAI,UAAU,EAAE,CAKhC;IAED,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,IAAI,uBAAuB,IAAI,MAAM,CAEpC;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,aAAa,IAAI,UAAU,EAAE,CAEhC;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,UAAU,EAAE,EAoB5C;IAED,IAAI,aAAa,IAAI,YAAY,EAAE,CAElC;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,YAAY,EAAE,EAoB9C;IAED,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI;IAShD,IAAI,gBAAgB,IAAI,SAAS,MAAM,EAAE,CAExC;IAEK,kBAAkB,IAAI,OAAO,CAAC,KAAK,CAAC;IAIpC,oBAAoB,IAAI,OAAO,CAAC,KAAK,CAAC;IAMtC,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAoB3D,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,EAInC;IAED,IAAI,YAAY,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI,EA6CxD;IAED,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,YAAY,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO;IAIxC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC;IAI9B,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAI3D,4BAA4B,YAChB,MAAM,EAAE,iBAElB;IAEF,yBAAyB,YAAqB,SAAS,MAAM,EAAE,cAE7D;IAEF,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAYhD,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAIzC,MAAM,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwGnD,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,cAAc,EACzB,KAAK,EAAE,OAAO,EACd,WAAW,CAAC,EAAE,OAAO,EACrB,QAAQ,CAAC,EAAE,OAAO,EAClB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,MAAM,CAAC;IAYlB,IAAI,kBAAkB,IAAI,OAAO,CAEhC;CACF;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"IrisGridTableModel.d.ts","sourceRoot":"","sources":["../src/IrisGridTableModel.ts"],"names":[],"mappings":"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"}
@@ -203,7 +203,7 @@ class IrisGridTableModel extends IrisGridTableModelTemplate {
203
203
  return this.table.isUncoalesced;
204
204
  }
205
205
  get isPartitionRequired() {
206
- return this.table.isUncoalesced && this.isValuesTableAvailable;
206
+ return this.table.isUncoalesced && this.isValuesTableAvailable && this.partitionColumns.length > 0;
207
207
  }
208
208
  isFilterable(columnIndex) {
209
209
  return this.getCachedFilterableColumnSet(this.columns).has(columnIndex);
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridTableModel.js","names":["memoize","GridRange","Log","Formatter","EventShimCustomEvent","PromiseUtils","assertNotNull","IrisGridModel","IrisGridTableModelTemplate","log","module","IrisGridTableModel","constructor","dh","table","formatter","arguments","length","undefined","inputTable","_defineProperty","layoutHintsFrontColumns","layoutHintsBackColumns","layoutHintsFrozenColumns","userFrozenColumns","_ref","columns","Set","map","_","index","filter","column","isPartitionColumn","customColumnList","formatColumnList","initialFilters","isExportAvailable","freeze","isColumnStatisticsAvailable","getColumnStatistics","isValuesTableAvailable","selectDistinct","copy","isRollupAvailable","rollup","isSelectDistinctAvailable","isCustomColumnsAvailable","applyCustomColumns","isFormatColumnsAvailable","frontColumns","_this$layoutHints","getMemoizedFrontColumns","layoutHints","backColumns","_this$layoutHints2","getMemoizedBackColumns","frozenColumns","_this$layoutHints3","getMemoizedFrozenColumns","floatingLeftColumnCount","description","customColumns","debug2","debug","closeSubscription","formatColumns","applyViewport","updateFrozenColumns","dispatchEvent","EVENT","TABLE_CHANGED","detail","partitionColumns","getCachedPartitionColumns","partitionKeysTable","_this","_asyncToGenerator","valuesTable","partitionMergedTable","_this2","t","applyFilter","partitionTable","partitions","_this3","partitionFilters","i","partition","partitionColumn","partitionFilter","tableUtils","makeFilterRawValue","type","push","eq","totalsConfig","totals","formattedStringData","totalsTablePromise","cancel","setTotalsTable","UPDATED","makeCancelable","getTotalsTable","close","then","totalsTable","catch","err","isCanceled","error","REQUEST_FAILED","isFilterRequired","isUncoalesced","isPartitionRequired","isFilterable","columnIndex","getCachedFilterableColumnSet","has","export","_this4","columnStatistics","isColumnMovable","modelIndex","columnName","name","includes","isKeyColumn","isColumnFrozen","delete","ranges","_superprop_getPendingDataMap","pendingDataMap","_superprop_setPendingDataMap","_value","_this5","_this5$inputTable","isDeletableRanges","Error","concat","keyColumns","pendingAreaRange","getPendingAreaRange","pendingRanges","range","intersection","offset","floatingTopRowCount","size","newDataMap","Map","pendingRange","startRow","endRow","r","PENDING_DATA_UPDATED","tableAreaRange","getTableAreaRange","tableRanges","data","deleteTable","Promise","all","snapshot","keyColumn","keyIndex","getColumnIndexByName","flat","filters","row","columnFilters","c","value","filterValue","reduce","agg","curr","_agg$and","and","_agg$or","or","seekRow","valueType","insensitive","contains","isBackwards","_this6","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 FilterCondition,\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, UIRow, UITotalsTableConfig } from './CommonTypes';\nimport IrisGridTableModelTemplate from './IrisGridTableModelTemplate';\nimport { PartitionedGridModelProvider } from './PartitionedGridModel';\n\nconst log = Log.module('IrisGridTableModel');\n\n/**\n * Model for a grid showing an iris data table\n */\n\nclass IrisGridTableModel\n extends IrisGridTableModelTemplate<Table, UIRow>\n implements PartitionedGridModelProvider\n{\n userFrozenColumns?: ColumnName[];\n\n customColumnList: string[];\n\n formatColumnList: CustomColumn[];\n\n initialFilters: FilterCondition[] = [];\n\n /**\n * @param dh JSAPI instance\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 this.initialFilters = table.filter;\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 get partitionColumns(): readonly Column[] {\n return this.getCachedPartitionColumns(this.columns);\n }\n\n async partitionKeysTable(): Promise<Table> {\n return this.valuesTable(this.partitionColumns);\n }\n\n async partitionMergedTable(): Promise<Table> {\n const t = await this.table.copy();\n t.applyFilter([]);\n return t;\n }\n\n async partitionTable(partitions: unknown[]): Promise<Table> {\n log.debug('getting partition table for partitions', partitions);\n\n const partitionFilters: FilterCondition[] = [];\n for (let i = 0; i < this.partitionColumns.length; i += 1) {\n const partition = partitions[i];\n const partitionColumn = this.partitionColumns[i];\n\n const partitionFilter = this.tableUtils.makeFilterRawValue(\n partitionColumn.type,\n partition\n );\n partitionFilters.push(partitionColumn.filter().eq(partitionFilter));\n }\n\n const t = await this.table.copy();\n t.applyFilter([...this.initialFilters, ...partitionFilters]);\n return t;\n }\n\n set filter(filter: FilterCondition[]) {\n this.closeSubscription();\n this.table.applyFilter([...this.initialFilters, ...filter]);\n this.applyViewport();\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 get isPartitionRequired(): boolean {\n return this.table.isUncoalesced && this.isValuesTableAvailable;\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 getCachedPartitionColumns = memoize((columns: readonly Column[]) =>\n columns.filter(column => column.isPartitionColumn)\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: readonly 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\n const [data, deleteTable] = await Promise.all([\n // Need to get the key values of each row\n this.snapshot(\n tableRanges\n .map(range => {\n assertNotNull(range);\n // Need to map each key column to it's range so we can pass that into the snapshot function\n return keyColumns.map(keyColumn => {\n const keyIndex = this.getColumnIndexByName(keyColumn.name);\n if (keyIndex == null) {\n throw new Error(`Key column ${keyColumn.name} not found`);\n }\n\n return new GridRange(\n keyIndex,\n range.startRow,\n keyIndex,\n range.endRow\n );\n });\n })\n .flat()\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
+ {"version":3,"file":"IrisGridTableModel.js","names":["memoize","GridRange","Log","Formatter","EventShimCustomEvent","PromiseUtils","assertNotNull","IrisGridModel","IrisGridTableModelTemplate","log","module","IrisGridTableModel","constructor","dh","table","formatter","arguments","length","undefined","inputTable","_defineProperty","layoutHintsFrontColumns","layoutHintsBackColumns","layoutHintsFrozenColumns","userFrozenColumns","_ref","columns","Set","map","_","index","filter","column","isPartitionColumn","customColumnList","formatColumnList","initialFilters","isExportAvailable","freeze","isColumnStatisticsAvailable","getColumnStatistics","isValuesTableAvailable","selectDistinct","copy","isRollupAvailable","rollup","isSelectDistinctAvailable","isCustomColumnsAvailable","applyCustomColumns","isFormatColumnsAvailable","frontColumns","_this$layoutHints","getMemoizedFrontColumns","layoutHints","backColumns","_this$layoutHints2","getMemoizedBackColumns","frozenColumns","_this$layoutHints3","getMemoizedFrozenColumns","floatingLeftColumnCount","description","customColumns","debug2","debug","closeSubscription","formatColumns","applyViewport","updateFrozenColumns","dispatchEvent","EVENT","TABLE_CHANGED","detail","partitionColumns","getCachedPartitionColumns","partitionKeysTable","_this","_asyncToGenerator","valuesTable","partitionMergedTable","_this2","t","applyFilter","partitionTable","partitions","_this3","partitionFilters","i","partition","partitionColumn","partitionFilter","tableUtils","makeFilterRawValue","type","push","eq","totalsConfig","totals","formattedStringData","totalsTablePromise","cancel","setTotalsTable","UPDATED","makeCancelable","getTotalsTable","close","then","totalsTable","catch","err","isCanceled","error","REQUEST_FAILED","isFilterRequired","isUncoalesced","isPartitionRequired","isFilterable","columnIndex","getCachedFilterableColumnSet","has","export","_this4","columnStatistics","isColumnMovable","modelIndex","columnName","name","includes","isKeyColumn","isColumnFrozen","delete","ranges","_superprop_getPendingDataMap","pendingDataMap","_superprop_setPendingDataMap","_value","_this5","_this5$inputTable","isDeletableRanges","Error","concat","keyColumns","pendingAreaRange","getPendingAreaRange","pendingRanges","range","intersection","offset","floatingTopRowCount","size","newDataMap","Map","pendingRange","startRow","endRow","r","PENDING_DATA_UPDATED","tableAreaRange","getTableAreaRange","tableRanges","data","deleteTable","Promise","all","snapshot","keyColumn","keyIndex","getColumnIndexByName","flat","filters","row","columnFilters","c","value","filterValue","reduce","agg","curr","_agg$and","and","_agg$or","or","seekRow","valueType","insensitive","contains","isBackwards","_this6","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 FilterCondition,\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, UIRow, UITotalsTableConfig } from './CommonTypes';\nimport IrisGridTableModelTemplate from './IrisGridTableModelTemplate';\nimport { PartitionedGridModelProvider } from './PartitionedGridModel';\n\nconst log = Log.module('IrisGridTableModel');\n\n/**\n * Model for a grid showing an iris data table\n */\n\nclass IrisGridTableModel\n extends IrisGridTableModelTemplate<Table, UIRow>\n implements PartitionedGridModelProvider\n{\n userFrozenColumns?: ColumnName[];\n\n customColumnList: string[];\n\n formatColumnList: CustomColumn[];\n\n initialFilters: FilterCondition[] = [];\n\n /**\n * @param dh JSAPI instance\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 this.initialFilters = table.filter;\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 get partitionColumns(): readonly Column[] {\n return this.getCachedPartitionColumns(this.columns);\n }\n\n async partitionKeysTable(): Promise<Table> {\n return this.valuesTable(this.partitionColumns);\n }\n\n async partitionMergedTable(): Promise<Table> {\n const t = await this.table.copy();\n t.applyFilter([]);\n return t;\n }\n\n async partitionTable(partitions: unknown[]): Promise<Table> {\n log.debug('getting partition table for partitions', partitions);\n\n const partitionFilters: FilterCondition[] = [];\n for (let i = 0; i < this.partitionColumns.length; i += 1) {\n const partition = partitions[i];\n const partitionColumn = this.partitionColumns[i];\n\n const partitionFilter = this.tableUtils.makeFilterRawValue(\n partitionColumn.type,\n partition\n );\n partitionFilters.push(partitionColumn.filter().eq(partitionFilter));\n }\n\n const t = await this.table.copy();\n t.applyFilter([...this.initialFilters, ...partitionFilters]);\n return t;\n }\n\n set filter(filter: FilterCondition[]) {\n this.closeSubscription();\n this.table.applyFilter([...this.initialFilters, ...filter]);\n this.applyViewport();\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 get isPartitionRequired(): boolean {\n return (\n this.table.isUncoalesced &&\n this.isValuesTableAvailable &&\n this.partitionColumns.length > 0\n );\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 getCachedPartitionColumns = memoize((columns: readonly Column[]) =>\n columns.filter(column => column.isPartitionColumn)\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: readonly 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\n const [data, deleteTable] = await Promise.all([\n // Need to get the key values of each row\n this.snapshot(\n tableRanges\n .map(range => {\n assertNotNull(range);\n // Need to map each key column to it's range so we can pass that into the snapshot function\n return keyColumns.map(keyColumn => {\n const keyIndex = this.getColumnIndexByName(keyColumn.name);\n if (keyIndex == null) {\n throw new Error(`Key column ${keyColumn.name} not found`);\n }\n\n return new GridRange(\n keyIndex,\n range.startRow,\n keyIndex,\n range.endRow\n );\n });\n })\n .flat()\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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/iris-grid",
3
- "version": "0.61.0",
3
+ "version": "0.61.1-alpha-widget-types.1+e0474e61",
4
4
  "description": "Deephaven Iris Grid",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -31,18 +31,18 @@
31
31
  "build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
32
32
  },
33
33
  "dependencies": {
34
- "@deephaven/components": "^0.61.0",
35
- "@deephaven/console": "^0.61.0",
36
- "@deephaven/filters": "^0.61.0",
37
- "@deephaven/grid": "^0.61.0",
38
- "@deephaven/icons": "^0.61.0",
39
- "@deephaven/jsapi-components": "^0.61.0",
40
- "@deephaven/jsapi-types": "^0.61.0",
41
- "@deephaven/jsapi-utils": "^0.61.0",
42
- "@deephaven/log": "^0.61.0",
43
- "@deephaven/react-hooks": "^0.61.0",
44
- "@deephaven/storage": "^0.61.0",
45
- "@deephaven/utils": "^0.61.0",
34
+ "@deephaven/components": "^0.61.1-alpha-widget-types.1+e0474e61",
35
+ "@deephaven/console": "^0.61.1-alpha-widget-types.1+e0474e61",
36
+ "@deephaven/filters": "^0.61.1-alpha-widget-types.1+e0474e61",
37
+ "@deephaven/grid": "^0.61.1-alpha-widget-types.1+e0474e61",
38
+ "@deephaven/icons": "^0.61.1-alpha-widget-types.1+e0474e61",
39
+ "@deephaven/jsapi-components": "^0.61.1-alpha-widget-types.1+e0474e61",
40
+ "@deephaven/jsapi-types": "^0.61.1-alpha-widget-types.1+e0474e61",
41
+ "@deephaven/jsapi-utils": "^0.61.1-alpha-widget-types.1+e0474e61",
42
+ "@deephaven/log": "^0.61.1-alpha-widget-types.1+e0474e61",
43
+ "@deephaven/react-hooks": "^0.61.1-alpha-widget-types.1+e0474e61",
44
+ "@deephaven/storage": "^0.61.1-alpha-widget-types.1+e0474e61",
45
+ "@deephaven/utils": "^0.61.1-alpha-widget-types.1+e0474e61",
46
46
  "@dnd-kit/core": "^6.0.5",
47
47
  "@dnd-kit/sortable": "^7.0.0",
48
48
  "@dnd-kit/utilities": "^3.2.0",
@@ -65,8 +65,8 @@
65
65
  "react-dom": "^17.x"
66
66
  },
67
67
  "devDependencies": {
68
- "@deephaven/jsapi-shim": "^0.61.0",
69
- "@deephaven/mocks": "^0.61.0"
68
+ "@deephaven/jsapi-shim": "^0.61.1-alpha-widget-types.1+e0474e61",
69
+ "@deephaven/mocks": "^0.61.1-alpha-widget-types.1+e0474e61"
70
70
  },
71
71
  "files": [
72
72
  "dist"
@@ -77,5 +77,5 @@
77
77
  "publishConfig": {
78
78
  "access": "public"
79
79
  },
80
- "gitHead": "1f47a8d21cb9daaf83361e130950c20155cfeffb"
80
+ "gitHead": "e0474e61faee8d68ce337da7e61e1d2770bd5e38"
81
81
  }