@deephaven/iris-grid 0.16.1-beta.0 → 0.16.1-vite.18

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.
Files changed (103) hide show
  1. package/dist/AdvancedFilterCreator.js.map +1 -1
  2. package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
  3. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  4. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  5. package/dist/ColumnHeaderGroup.js.map +1 -1
  6. package/dist/ColumnStatistics.js.map +1 -1
  7. package/dist/CommonTypes.js.map +1 -1
  8. package/dist/CrossColumnSearch.js.map +1 -1
  9. package/dist/FilterInputField.js.map +1 -1
  10. package/dist/GotoRow.js.map +1 -1
  11. package/dist/IrisGrid.js.map +1 -1
  12. package/dist/IrisGridBottomBar.js.map +1 -1
  13. package/dist/IrisGridCellOverflowModal.js.map +1 -1
  14. package/dist/IrisGridCopyHandler.js.map +1 -1
  15. package/dist/IrisGridMetricCalculator.js.map +1 -1
  16. package/dist/IrisGridModel.js.map +1 -1
  17. package/dist/IrisGridModelFactory.js.map +1 -1
  18. package/dist/IrisGridModelUpdater.js.map +1 -1
  19. package/dist/IrisGridPartitionSelector.js.map +1 -1
  20. package/dist/IrisGridProxyModel.js.map +1 -1
  21. package/dist/IrisGridRenderer.js.map +1 -1
  22. package/dist/IrisGridShortcuts.js.map +1 -1
  23. package/dist/IrisGridTableModel.js.map +1 -1
  24. package/dist/IrisGridTableModelTemplate.js.map +1 -1
  25. package/dist/IrisGridTestUtils.js.map +1 -1
  26. package/dist/IrisGridTheme.js.map +1 -1
  27. package/dist/IrisGridTreeTableModel.js.map +1 -1
  28. package/dist/IrisGridUtils.js.map +1 -1
  29. package/dist/MissingKeyError.js.map +1 -1
  30. package/dist/PartitionSelectorSearch.js.map +1 -1
  31. package/dist/PendingDataBottomBar.js.map +1 -1
  32. package/dist/TableViewportUpdater.js.map +1 -1
  33. package/dist/ToastBottomBar.js.map +1 -1
  34. package/dist/TreeTableViewportUpdater.js.map +1 -1
  35. package/dist/declaration.d.js.map +1 -1
  36. package/dist/format-context-menus/CustomFormatAction.js.map +1 -1
  37. package/dist/format-context-menus/DateTimeFormatContextMenu.js.map +1 -1
  38. package/dist/format-context-menus/DecimalFormatContextMenu.js.map +1 -1
  39. package/dist/format-context-menus/FormatContextMenuUtils.js.map +1 -1
  40. package/dist/format-context-menus/IntegerFormatContextMenu.js.map +1 -1
  41. package/dist/format-context-menus/index.js.map +1 -1
  42. package/dist/index.js.map +1 -1
  43. package/dist/key-handlers/ClearFilterKeyHandler.js.map +1 -1
  44. package/dist/key-handlers/CopyKeyHandler.js.map +1 -1
  45. package/dist/key-handlers/ReverseKeyHandler.js.map +1 -1
  46. package/dist/key-handlers/index.js.map +1 -1
  47. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
  48. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
  49. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
  50. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  51. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js.map +1 -1
  52. package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
  53. package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
  54. package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
  55. package/dist/mousehandlers/index.js.map +1 -1
  56. package/dist/sidebar/AdvancedSettings.js.map +1 -1
  57. package/dist/sidebar/AdvancedSettingsMenu.js.map +1 -1
  58. package/dist/sidebar/AdvancedSettingsType.js.map +1 -1
  59. package/dist/sidebar/ChartBuilder.js.map +1 -1
  60. package/dist/sidebar/CustomColumnBuilder.js +1 -1
  61. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  62. package/dist/sidebar/CustomColumnInput.js +1 -1
  63. package/dist/sidebar/CustomColumnInput.js.map +1 -1
  64. package/dist/sidebar/InputEditor.js.map +1 -1
  65. package/dist/sidebar/OptionType.js.map +1 -1
  66. package/dist/sidebar/RollupRows.js +1 -1
  67. package/dist/sidebar/RollupRows.js.map +1 -1
  68. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  69. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  70. package/dist/sidebar/TableSaver.js.map +1 -1
  71. package/dist/sidebar/VisibilityOrderingBuilder.js +1 -1
  72. package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
  73. package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
  74. package/dist/sidebar/aggregations/AggregationOperation.js.map +1 -1
  75. package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
  76. package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
  77. package/dist/sidebar/aggregations/index.js.map +1 -1
  78. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
  79. package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
  80. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
  81. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js.map +1 -1
  82. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +1 -1
  83. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
  84. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
  85. package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
  86. package/dist/sidebar/conditional-formatting/StyleEditor.js.map +1 -1
  87. package/dist/sidebar/icons/BarIcon.js +1 -1
  88. package/dist/sidebar/icons/BarIcon.js.map +1 -1
  89. package/dist/sidebar/icons/FormatColumnWhereIcon.js +1 -1
  90. package/dist/sidebar/icons/FormatColumnWhereIcon.js.map +1 -1
  91. package/dist/sidebar/icons/FormatRowWhereIcon.js +1 -1
  92. package/dist/sidebar/icons/FormatRowWhereIcon.js.map +1 -1
  93. package/dist/sidebar/icons/HistogramIcon.js +1 -1
  94. package/dist/sidebar/icons/HistogramIcon.js.map +1 -1
  95. package/dist/sidebar/icons/LineIcon.js +1 -1
  96. package/dist/sidebar/icons/LineIcon.js.map +1 -1
  97. package/dist/sidebar/icons/PieIcon.js +1 -1
  98. package/dist/sidebar/icons/PieIcon.js.map +1 -1
  99. package/dist/sidebar/icons/ScatterIcon.js +1 -1
  100. package/dist/sidebar/icons/ScatterIcon.js.map +1 -1
  101. package/dist/sidebar/icons/index.js.map +1 -1
  102. package/dist/sidebar/index.js.map +1 -1
  103. package/package.json +16 -16
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/IrisGridTableModel.ts"],"names":["memoize","GridRange","Log","Formatter","TableUtils","EventShimCustomEvent","PromiseUtils","assertNotNull","IrisGridModel","IrisGridTableModelTemplate","log","module","EMPTY_ARRAY","Object","freeze","IrisGridTableModel","constructor","table","formatter","inputTable","layoutHintsFrontColumns","layoutHintsBackColumns","layoutHintsFrozenColumns","userFrozenColumns","columns","Set","map","_","index","customColumnList","formatColumnList","isExportAvailable","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"],"mappings":"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","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} 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\nconst EMPTY_ARRAY = Object.freeze([]);\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\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 => layoutHintsFrontColumns ?? EMPTY_ARRAY\n );\n\n get frontColumns(): ColumnName[] {\n return this.getMemoizedFrontColumns(this.layoutHints?.frontColumns);\n }\n\n getMemoizedBackColumns = memoize(\n layoutHintsBackColumns => layoutHintsBackColumns ?? EMPTY_ARRAY\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[] =>\n userFrozenColumns ?? layoutHintsFrozenColumns ?? EMPTY_ARRAY\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 ? agg.and(curr) : curr));\n });\n\n const filter = filters.reduce((agg, curr) => (agg ? agg.or(curr) : curr));\n deleteTable.applyFilter([filter]);\n\n await this.inputTable?.deleteTable(deleteTable);\n deleteTable.close();\n }\n}\n\nexport default IrisGridTableModel;\n"],"file":"IrisGridTableModel.js"}
1
+ {"version":3,"file":"IrisGridTableModel.js","names":["memoize","GridRange","Log","Formatter","TableUtils","EventShimCustomEvent","PromiseUtils","assertNotNull","IrisGridModel","IrisGridTableModelTemplate","log","module","EMPTY_ARRAY","Object","freeze","IrisGridTableModel","constructor","table","formatter","inputTable","layoutHintsFrontColumns","layoutHintsBackColumns","layoutHintsFrozenColumns","userFrozenColumns","columns","Set","map","_","index","customColumnList","formatColumnList","isExportAvailable","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"],"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} 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\nconst EMPTY_ARRAY = Object.freeze([]);\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\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 => layoutHintsFrontColumns ?? EMPTY_ARRAY\n );\n\n get frontColumns(): ColumnName[] {\n return this.getMemoizedFrontColumns(this.layoutHints?.frontColumns);\n }\n\n getMemoizedBackColumns = memoize(\n layoutHintsBackColumns => layoutHintsBackColumns ?? EMPTY_ARRAY\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[] =>\n userFrozenColumns ?? layoutHintsFrozenColumns ?? EMPTY_ARRAY\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 ? agg.and(curr) : curr));\n });\n\n const filter = filters.reduce((agg, curr) => (agg ? agg.or(curr) : curr));\n deleteTable.applyFilter([filter]);\n\n await this.inputTable?.deleteTable(deleteTable);\n deleteTable.close();\n }\n}\n\nexport default IrisGridTableModel;\n"],"mappings":"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"}