@deephaven/iris-grid 1.4.1-beta.0 → 1.4.1-react19.43
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/dist/AdvancedFilterCreator.js +5 -7
- package/dist/AdvancedFilterCreator.js.map +1 -1
- package/dist/AdvancedFilterCreatorFilterItem.js +6 -7
- package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValue.js +1 -2
- package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.js +2 -3
- package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
- package/dist/ColumnHeaderGroup.js.map +1 -1
- package/dist/ColumnStatistics.d.ts +2 -2
- package/dist/ColumnStatistics.d.ts.map +1 -1
- package/dist/ColumnStatistics.js +2 -5
- package/dist/ColumnStatistics.js.map +1 -1
- package/dist/CommonTypes.js.map +1 -1
- package/dist/CrossColumnSearch.js +2 -4
- package/dist/CrossColumnSearch.js.map +1 -1
- package/dist/EmptyIrisGridModel.d.ts +3 -0
- package/dist/EmptyIrisGridModel.d.ts.map +1 -1
- package/dist/EmptyIrisGridModel.js +8 -0
- package/dist/EmptyIrisGridModel.js.map +1 -1
- package/dist/FilterInputField.js +4 -5
- package/dist/FilterInputField.js.map +1 -1
- package/dist/GotoRow.js +4 -6
- package/dist/GotoRow.js.map +1 -1
- package/dist/IrisGrid.d.ts +38 -43
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +181 -168
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridBottomBar.d.ts.map +1 -1
- package/dist/IrisGridBottomBar.js +4 -1
- package/dist/IrisGridBottomBar.js.map +1 -1
- package/dist/IrisGridCacheUtils.d.ts.map +1 -1
- package/dist/IrisGridCacheUtils.js +1 -1
- package/dist/IrisGridCacheUtils.js.map +1 -1
- package/dist/IrisGridCellOverflowModal.js +1 -2
- package/dist/IrisGridCellOverflowModal.js.map +1 -1
- package/dist/IrisGridCellRendererUtils.js.map +1 -1
- package/dist/IrisGridCopyHandler.js +4 -6
- package/dist/IrisGridCopyHandler.js.map +1 -1
- package/dist/IrisGridDataBarCellRenderer.js.map +1 -1
- package/dist/IrisGridIcons.js.map +1 -1
- package/dist/IrisGridMetricCalculator.d.ts +1 -2
- package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
- package/dist/IrisGridMetricCalculator.js.map +1 -1
- package/dist/IrisGridModel.d.ts +8 -0
- package/dist/IrisGridModel.d.ts.map +1 -1
- package/dist/IrisGridModel.js +8 -0
- package/dist/IrisGridModel.js.map +1 -1
- package/dist/IrisGridModelFactory.js.map +1 -1
- package/dist/IrisGridModelUpdater.d.ts +2 -1
- package/dist/IrisGridModelUpdater.d.ts.map +1 -1
- package/dist/IrisGridModelUpdater.js +4 -0
- package/dist/IrisGridModelUpdater.js.map +1 -1
- package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
- package/dist/IrisGridPartitionSelector.js +6 -8
- package/dist/IrisGridPartitionSelector.js.map +1 -1
- package/dist/IrisGridPartitionedTableModel.js.map +1 -1
- package/dist/IrisGridProxyModel.d.ts +2 -0
- package/dist/IrisGridProxyModel.d.ts.map +1 -1
- package/dist/IrisGridProxyModel.js +12 -7
- package/dist/IrisGridProxyModel.js.map +1 -1
- package/dist/IrisGridRenderer.js +0 -1
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridShortcuts.js.map +1 -1
- package/dist/IrisGridTableModel.js +1 -2
- package/dist/IrisGridTableModel.js.map +1 -1
- package/dist/IrisGridTableModelTemplate.d.ts +6 -2
- package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
- package/dist/IrisGridTableModelTemplate.js +71 -61
- package/dist/IrisGridTableModelTemplate.js.map +1 -1
- package/dist/IrisGridTestUtils.js.map +1 -1
- package/dist/IrisGridTextCellRenderer.js.map +1 -1
- package/dist/IrisGridTheme.js.map +1 -1
- package/dist/IrisGridThemeProvider.d.ts.map +1 -1
- package/dist/IrisGridThemeProvider.js +1 -0
- package/dist/IrisGridThemeProvider.js.map +1 -1
- package/dist/IrisGridTreeTableModel.d.ts +1 -1
- package/dist/IrisGridTreeTableModel.d.ts.map +1 -1
- package/dist/IrisGridTreeTableModel.js +19 -14
- package/dist/IrisGridTreeTableModel.js.map +1 -1
- package/dist/IrisGridUtils.d.ts +3 -1
- package/dist/IrisGridUtils.d.ts.map +1 -1
- package/dist/IrisGridUtils.js +60 -56
- package/dist/IrisGridUtils.js.map +1 -1
- package/dist/LazyIrisGrid.d.ts +55 -77
- package/dist/LazyIrisGrid.d.ts.map +1 -1
- package/dist/LazyIrisGrid.js +3 -1
- package/dist/LazyIrisGrid.js.map +1 -1
- package/dist/MissingKeyError.js.map +1 -1
- package/dist/MissingPartitionError.js.map +1 -1
- package/dist/NoPastePermissionModal.js +1 -2
- package/dist/NoPastePermissionModal.js.map +1 -1
- package/dist/PartitionedGridModel.js.map +1 -1
- package/dist/PendingDataBottomBar.js +1 -2
- package/dist/PendingDataBottomBar.js.map +1 -1
- package/dist/ToastBottomBar.js.map +1 -1
- package/dist/declaration.d.js.map +1 -1
- package/dist/format-context-menus/CustomFormatAction.js +1 -2
- package/dist/format-context-menus/CustomFormatAction.js.map +1 -1
- package/dist/format-context-menus/DateTimeFormatContextMenu.js.map +1 -1
- package/dist/format-context-menus/DecimalFormatContextMenu.js.map +1 -1
- package/dist/format-context-menus/FormatContextMenuUtils.js.map +1 -1
- package/dist/format-context-menus/IntegerFormatContextMenu.js.map +1 -1
- package/dist/format-context-menus/TextAlignmentFormatContextMenu.d.ts +21 -0
- package/dist/format-context-menus/TextAlignmentFormatContextMenu.d.ts.map +1 -0
- package/dist/format-context-menus/TextAlignmentFormatContextMenu.js +42 -0
- package/dist/format-context-menus/TextAlignmentFormatContextMenu.js.map +1 -0
- package/dist/format-context-menus/index.d.ts +1 -0
- package/dist/format-context-menus/index.d.ts.map +1 -1
- package/dist/format-context-menus/index.js +1 -0
- package/dist/format-context-menus/index.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/key-handlers/ClearFilterKeyHandler.js.map +1 -1
- package/dist/key-handlers/CopyCellKeyHandler.js.map +1 -1
- package/dist/key-handlers/CopyKeyHandler.js.map +1 -1
- package/dist/key-handlers/ReverseKeyHandler.js.map +1 -1
- package/dist/key-handlers/index.js.map +1 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +5 -2
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +1 -0
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.js +27 -3
- package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridCopyCellMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridPartitionedTableMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridRowTreeMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridTokenMouseHandler.js +1 -3
- package/dist/mousehandlers/IrisGridTokenMouseHandler.js.map +1 -1
- package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
- package/dist/mousehandlers/index.js.map +1 -1
- package/dist/sidebar/AdvancedSettings.js.map +1 -1
- package/dist/sidebar/AdvancedSettingsMenu.d.ts +1 -1
- package/dist/sidebar/AdvancedSettingsMenu.d.ts.map +1 -1
- package/dist/sidebar/AdvancedSettingsMenu.js.map +1 -1
- package/dist/sidebar/AdvancedSettingsType.js +3 -3
- package/dist/sidebar/AdvancedSettingsType.js.map +1 -1
- package/dist/sidebar/ChartBuilder.d.ts +2 -2
- package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
- package/dist/sidebar/ChartBuilder.js +1 -2
- package/dist/sidebar/ChartBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.d.ts +1 -1
- package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.js +4 -6
- package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnInput.js +2 -3
- package/dist/sidebar/CustomColumnInput.js.map +1 -1
- package/dist/sidebar/DownloadServiceWorkerUtils.js +1 -1
- package/dist/sidebar/DownloadServiceWorkerUtils.js.map +1 -1
- package/dist/sidebar/InputEditor.js +8 -9
- package/dist/sidebar/InputEditor.js.map +1 -1
- package/dist/sidebar/OptionType.js +3 -3
- package/dist/sidebar/OptionType.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 +9 -11
- package/dist/sidebar/RollupRows.js.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.js +1 -2
- package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
- package/dist/sidebar/TableCsvExporter.js +5 -7
- package/dist/sidebar/TableCsvExporter.js.map +1 -1
- package/dist/sidebar/TableSaver.js +9 -10
- package/dist/sidebar/TableSaver.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationEdit.js +4 -5
- package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationOperation.js +3 -3
- package/dist/sidebar/aggregations/AggregationOperation.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationUtils.js +0 -1
- package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.js +3 -5
- package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
- package/dist/sidebar/aggregations/index.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +1 -3
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionEditor.js +2 -3
- package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +1 -2
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +2 -3
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +21 -21
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
- package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/RowFormatEditor.js +1 -3
- package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/StyleEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/StyleEditor.js +2 -3
- package/dist/sidebar/conditional-formatting/StyleEditor.js.map +1 -1
- package/dist/sidebar/icons/BarIcon.js +1 -2
- package/dist/sidebar/icons/BarIcon.js.map +1 -1
- package/dist/sidebar/icons/FormatColumnWhereIcon.js +1 -2
- package/dist/sidebar/icons/FormatColumnWhereIcon.js.map +1 -1
- package/dist/sidebar/icons/FormatRowWhereIcon.js +1 -2
- package/dist/sidebar/icons/FormatRowWhereIcon.js.map +1 -1
- package/dist/sidebar/icons/HistogramIcon.js +1 -2
- package/dist/sidebar/icons/HistogramIcon.js.map +1 -1
- package/dist/sidebar/icons/LineIcon.js +1 -2
- package/dist/sidebar/icons/LineIcon.js.map +1 -1
- package/dist/sidebar/icons/PieIcon.js +1 -2
- package/dist/sidebar/icons/PieIcon.js.map +1 -1
- package/dist/sidebar/icons/ScatterIcon.js +1 -2
- package/dist/sidebar/icons/ScatterIcon.js.map +1 -1
- package/dist/sidebar/icons/index.js.map +1 -1
- package/dist/sidebar/index.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.d.ts +2 -2
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.d.ts.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js +34 -36
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js +3 -3
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js +3 -5
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.d.ts.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js +2 -4
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/PointerSensorWithInteraction.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js +4 -4
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeInner.js +3 -6
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeInner.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeItem.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js +1 -2
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/keyboardCoordinates.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/types.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.d.ts +1 -2
- 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 +17 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridTableModel.js","names":["memoize","GridRange","Log","Formatter","EventShimCustomEvent","PromiseUtils","assertNotNull","EMPTY_ARRAY","IrisGridModel","IrisGridTableModelTemplate","log","module","IrisGridTableModel","constructor","dh","table","formatter","arguments","length","undefined","inputTable","_defineProperty","inputTableKeys","Set","layoutHintsFrontColumns","layoutHintsBackColumns","layoutHintsFrozenColumns","userFrozenColumns","_ref","columns","map","_","index","filter","column","isPartitionColumn","customColumnList","formatColumnList","initialFilters","wasUncoalesced","isPartitionRequired","isExportAvailable","freeze","isColumnStatisticsAvailable","getColumnStatistics","isRollupAvailable","rollup","isSelectDistinctAvailable","selectDistinct","isCustomColumnsAvailable","applyCustomColumns","isFormatColumnsAvailable","keyColumnSet","_this$inputTable","getMemoizedKeyColumnSet","keys","frontColumns","_this$layoutHints$fro","_this$layoutHints","getMemoizedFrontColumns","layoutHints","backColumns","_this$layoutHints$bac","_this$layoutHints2","getMemoizedBackColumns","frozenColumns","_this$layoutHints$fro2","_this$layoutHints3","getMemoizedFrozenColumns","floatingLeftColumnCount","description","_this$table$descripti","customColumns","debug2","debug","closeSubscription","formatColumns","applyViewport","updateFrozenColumns","dispatchEvent","EVENT","COLUMNS_CHANGED","detail","partitionColumns","getCachedPartitionColumns","partitionKeysTable","_this","_asyncToGenerator","valuesTable","partitionMergedTable","_this2","t","copy","applyFilter","partitionBaseTable","_this3","partitionTable","partitions","_this4","partitionFilters","i","partition","partitionColumn","partitionFilter","tableUtils","makeNullableEqFilter","push","totalsConfig","totals","formattedStringData","totalsTablePromise","cancel","setTotalsTable","UPDATED","makeCancelable","getTotalsTable","close","then","totalsTable","catch","err","isCanceled","error","REQUEST_FAILED","isFilterRequired","isUncoalesced","isValuesTableAvailable","isPartitionAwareSourceTable","isFilterable","columnIndex","getCachedFilterableColumnSet","has","export","_this5","columnStatistics","isColumnMovable","modelIndex","columnName","name","includes","isKeyColumn","isColumnFrozen","delete","ranges","_superprop_getPendingDataMap","pendingDataMap","_superprop_setPendingDataMap","_value","_this6","_this6$inputTable","isDeletableRanges","Error","concat","keyColumns","size","pendingAreaRange","getPendingAreaRange","pendingRanges","range","intersection","offset","floatingTopRowCount","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","reduce","agg","curr","_agg$and","and","_agg$or","or","seekRow","valueType","insensitive","contains","isBackwards","_this7","isSeekRowAvailable"],"sources":["../src/IrisGridTableModel.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport memoize from 'memoize-one';\nimport { GridRange, type ModelIndex } from '@deephaven/grid';\nimport type { dh as DhType } from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport { Formatter } from '@deephaven/jsapi-utils';\nimport {\n EventShimCustomEvent,\n PromiseUtils,\n assertNotNull,\n EMPTY_ARRAY,\n} from '@deephaven/utils';\nimport IrisGridModel from './IrisGridModel';\nimport {\n type ColumnName,\n type UIRow,\n type UITotalsTableConfig,\n} from './CommonTypes';\nimport IrisGridTableModelTemplate from './IrisGridTableModelTemplate';\nimport { type 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<DhType.Table, UIRow>\n implements PartitionedGridModelProvider\n{\n userFrozenColumns?: ColumnName[];\n\n customColumnList: string[];\n\n formatColumnList: DhType.CustomColumn[];\n\n initialFilters: DhType.FilterCondition[] = [];\n\n // The initial value for table.isUncoalesced on the source table before any transformations (e.g. filter, select)\n wasUncoalesced: boolean;\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: typeof DhType,\n table: DhType.Table,\n formatter = new Formatter(dh),\n inputTable: DhType.InputTable | null = null\n ) {\n super(dh, table, formatter, inputTable);\n this.customColumnList = [];\n this.formatColumnList = [];\n this.initialFilters = table.filter;\n this.wasUncoalesced = this.isPartitionRequired;\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 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 getMemoizedKeyColumnSet = memoize(\n (inputTableKeys?: readonly ColumnName[]) =>\n new Set(inputTableKeys ?? EMPTY_ARRAY)\n );\n\n get keyColumnSet(): Set<ColumnName> {\n return this.getMemoizedKeyColumnSet(this.inputTable?.keys);\n }\n\n getMemoizedFrontColumns = memoize(\n (layoutHintsFrontColumns: ColumnName[] | undefined) =>\n layoutHintsFrontColumns ?? EMPTY_ARRAY\n );\n\n get frontColumns(): readonly ColumnName[] {\n return this.getMemoizedFrontColumns(\n this.layoutHints?.frontColumns ?? undefined\n );\n }\n\n getMemoizedBackColumns = memoize(\n (layoutHintsBackColumns: ColumnName[] | undefined) =>\n layoutHintsBackColumns ?? EMPTY_ARRAY\n );\n\n get backColumns(): readonly ColumnName[] {\n return this.getMemoizedBackColumns(\n this.layoutHints?.backColumns ?? undefined\n );\n }\n\n getMemoizedFrozenColumns = memoize(\n (\n layoutHintsFrozenColumns?: ColumnName[],\n userFrozenColumns?: ColumnName[]\n ): readonly ColumnName[] =>\n userFrozenColumns ?? layoutHintsFrozenColumns ?? EMPTY_ARRAY\n );\n\n get frozenColumns(): readonly ColumnName[] {\n return this.getMemoizedFrozenColumns(\n this.layoutHints?.frozenColumns ?? undefined,\n this.userFrozenColumns\n );\n }\n\n get layoutHints(): DhType.LayoutHints | null | undefined {\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(): DhType.CustomColumn[] {\n return this.formatColumnList;\n }\n\n set formatColumns(formatColumns: DhType.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.COLUMNS_CHANGED, {\n detail: this.columns,\n })\n );\n }\n\n get partitionColumns(): readonly DhType.Column[] {\n return this.getCachedPartitionColumns(this.columns);\n }\n\n async partitionKeysTable(): Promise<DhType.Table> {\n return this.valuesTable(this.partitionColumns);\n }\n\n async partitionMergedTable(): Promise<DhType.Table> {\n const t = await this.table.copy();\n t.applyFilter([]);\n return t;\n }\n\n async partitionBaseTable(): Promise<DhType.Table> {\n return this.partitionKeysTable();\n }\n\n async partitionTable(partitions: unknown[]): Promise<DhType.Table> {\n log.debug('getting partition table for partitions', partitions);\n\n const partitionFilters: DhType.FilterCondition[] = [];\n for (let i = 0; i < this.partitionColumns.length; i += 1) {\n const partition = partitions[i];\n const partitionColumn = this.partitionColumns[i];\n const partitionFilter = this.tableUtils.makeNullableEqFilter(\n partitionColumn,\n partition\n );\n partitionFilters.push(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: DhType.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 get isPartitionAwareSourceTable(): boolean {\n return this.wasUncoalesced;\n }\n\n isFilterable(columnIndex: ModelIndex): boolean {\n return this.getCachedFilterableColumnSet(this.columns).has(columnIndex);\n }\n\n async export(): Promise<DhType.Table> {\n return this.table.freeze();\n }\n\n columnStatistics(column: DhType.Column): Promise<DhType.ColumnStatistics> {\n return this.table.getColumnStatistics(column);\n }\n\n getCachedFilterableColumnSet = memoize(\n (columns: DhType.Column[]) =>\n new Set(columns.map((_: DhType.Column, index: ModelIndex) => index))\n );\n\n getCachedPartitionColumns = memoize((columns: readonly DhType.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 (this.keyColumnSet.size === 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 filter = this.tableUtils.makeNullableEqFilter(column, value);\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: DhType.Column,\n valueType: DhType.ValueTypeType,\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":";;;;;AAAA;AACA,OAAOA,OAAO,MAAM,aAAa;AACjC,SAASC,SAAS,QAAyB,iBAAiB;AAE5D,OAAOC,GAAG,MAAM,gBAAgB;AAChC,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SACEC,oBAAoB,EACpBC,YAAY,EACZC,aAAa,EACbC,WAAW,QACN,kBAAkB;AAAC,OACnBC,aAAa;AAAA,OAMbC,0BAA0B;AAGjC,IAAMC,GAAG,GAAGR,GAAG,CAACS,MAAM,CAAC,oBAAoB,CAAC;;AAE5C;AACA;AACA;;AAEA,MAAMC,kBAAkB,SACdH,0BAA0B,CAEpC;EASE;;EAGA;AACF;AACA;AACA;AACA;AACA;EACEI,WAAWA,CACTC,EAAiB,EACjBC,KAAmB,EAGnB;IAAA,IAFAC,SAAS,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAId,SAAS,CAACW,EAAE,CAAC;IAAA,IAC7BM,UAAoC,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;IAE3C,KAAK,CAACH,EAAE,EAAEC,KAAK,EAAEC,SAAS,EAAEI,UAAU,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,yBAjBC,EAAE;IAAAA,eAAA;IAAAA,eAAA,kCAgDnBrB,OAAO,CAC9BsB,cAAsC,IACrC,IAAIC,GAAG,CAACD,cAAc,aAAdA,cAAc,cAAdA,cAAc,GAAIf,WAAW,CACzC,CAAC;IAAAc,eAAA,kCAMyBrB,OAAO,CAC9BwB,uBAAiD,IAChDA,uBAAuB,aAAvBA,uBAAuB,cAAvBA,uBAAuB,GAAIjB,WAC/B,CAAC;IAAAc,eAAA,iCAQwBrB,OAAO,CAC7ByB,sBAAgD,IAC/CA,sBAAsB,aAAtBA,sBAAsB,cAAtBA,sBAAsB,GAAIlB,WAC9B,CAAC;IAAAc,eAAA,mCAQ0BrB,OAAO,CAChC,CACE0B,wBAAuC,EACvCC,iBAAgC;MAAA,IAAAC,IAAA;MAAA,QAAAA,IAAA,GAEhCD,iBAAiB,aAAjBA,iBAAiB,cAAjBA,iBAAiB,GAAID,wBAAwB,cAAAE,IAAA,cAAAA,IAAA,GAAIrB,WAAW;IAAA,CAChE,CAAC;IAAAc,eAAA,uCAwM8BrB,OAAO,CACnC6B,OAAwB,IACvB,IAAIN,GAAG,CAACM,OAAO,CAACC,GAAG,CAAC,CAACC,CAAgB,EAAEC,KAAiB,KAAKA,KAAK,CAAC,CACvE,CAAC;IAAAX,eAAA,oCAE2BrB,OAAO,CAAE6B,OAAiC,IACpEA,OAAO,CAACI,MAAM,CAACC,MAAM,IAAIA,MAAM,CAACC,iBAAiB,CACnD,CAAC;IAlRC,IAAI,CAACC,gBAAgB,GAAG,EAAE;IAC1B,IAAI,CAACC,gBAAgB,GAAG,EAAE;IAC1B,IAAI,CAACC,cAAc,GAAGvB,KAAK,CAACkB,MAAM;IAClC,IAAI,CAACM,cAAc,GAAG,IAAI,CAACC,mBAAmB;EAChD;EAEA,IAAIC,iBAAiBA,CAAA,EAAY;IAC/B,OAAO,IAAI,CAAC1B,KAAK,CAAC2B,MAAM,IAAI,IAAI;EAClC;EAEA,IAAIC,2BAA2BA,CAAA,EAAY;IACzC,OAAO,IAAI,CAAC5B,KAAK,CAAC6B,mBAAmB,IAAI,IAAI;EAC/C;EAEA,IAAIC,iBAAiBA,CAAA,EAAY;IAC/B,OAAO,IAAI,CAAC9B,KAAK,CAAC+B,MAAM,IAAI,IAAI;EAClC;EAEA,IAAIC,yBAAyBA,CAAA,EAAY;IACvC,OAAO,IAAI,CAAChC,KAAK,CAACiC,cAAc,IAAI,IAAI;EAC1C;EAEA,IAAIC,wBAAwBA,CAAA,EAAY;IACtC,OAAO,IAAI,CAAClC,KAAK,CAACmC,kBAAkB,IAAI,IAAI;EAC9C;EAEA,IAAIC,wBAAwBA,CAAA,EAAY;IACtC,OAAO,IAAI,CAACpC,KAAK,CAACmC,kBAAkB,IAAI,IAAI;EAC9C;EAOA,IAAIE,YAAYA,CAAA,EAAoB;IAAA,IAAAC,gBAAA;IAClC,OAAO,IAAI,CAACC,uBAAuB,EAAAD,gBAAA,GAAC,IAAI,CAACjC,UAAU,cAAAiC,gBAAA,uBAAfA,gBAAA,CAAiBE,IAAI,CAAC;EAC5D;EAOA,IAAIC,YAAYA,CAAA,EAA0B;IAAA,IAAAC,qBAAA,EAAAC,iBAAA;IACxC,OAAO,IAAI,CAACC,uBAAuB,EAAAF,qBAAA,IAAAC,iBAAA,GACjC,IAAI,CAACE,WAAW,cAAAF,iBAAA,uBAAhBA,iBAAA,CAAkBF,YAAY,cAAAC,qBAAA,cAAAA,qBAAA,GAAItC,SACpC,CAAC;EACH;EAOA,IAAI0C,WAAWA,CAAA,EAA0B;IAAA,IAAAC,qBAAA,EAAAC,kBAAA;IACvC,OAAO,IAAI,CAACC,sBAAsB,EAAAF,qBAAA,IAAAC,kBAAA,GAChC,IAAI,CAACH,WAAW,cAAAG,kBAAA,uBAAhBA,kBAAA,CAAkBF,WAAW,cAAAC,qBAAA,cAAAA,qBAAA,GAAI3C,SACnC,CAAC;EACH;EAUA,IAAI8C,aAAaA,CAAA,EAA0B;IAAA,IAAAC,sBAAA,EAAAC,kBAAA;IACzC,OAAO,IAAI,CAACC,wBAAwB,EAAAF,sBAAA,IAAAC,kBAAA,GAClC,IAAI,CAACP,WAAW,cAAAO,kBAAA,uBAAhBA,kBAAA,CAAkBF,aAAa,cAAAC,sBAAA,cAAAA,sBAAA,GAAI/C,SAAS,EAC5C,IAAI,CAACQ,iBACP,CAAC;EACH;EAEA,IAAIiC,WAAWA,CAAA,EAA0C;IACvD,OAAO,IAAI,CAAC7C,KAAK,CAAC6C,WAAW;EAC/B;EAEA,IAAIS,uBAAuBA,CAAA,EAAW;IACpC,OAAO,IAAI,CAACJ,aAAa,CAAC/C,MAAM;EAClC;EAEA,IAAIoD,WAAWA,CAAA,EAAW;IAAA,IAAAC,qBAAA;IACxB,QAAAA,qBAAA,GAAO,IAAI,CAACxD,KAAK,CAACuD,WAAW,cAAAC,qBAAA,cAAAA,qBAAA,GAAI,EAAE;EACrC;EAEA,IAAIC,aAAaA,CAAA,EAAiB;IAChC,OAAO,IAAI,CAACpC,gBAAgB;EAC9B;EAEA,IAAIoC,aAAaA,CAACA,aAA2B,EAAE;IAC7C9D,GAAG,CAAC+D,MAAM,CACR,mBAAmB,EACnBD,aAAa,EACb,IAAI,CAACpC,gBAAgB,EACrBoC,aAAa,KAAK,IAAI,CAACpC,gBACzB,CAAC;IACD,IAAI,IAAI,CAACA,gBAAgB,CAAClB,MAAM,KAAK,CAAC,IAAIsD,aAAa,CAACtD,MAAM,KAAK,CAAC,EAAE;MACpER,GAAG,CAACgE,KAAK,CAAC,oCAAoC,CAAC;MAC/C,IAAI,CAACtC,gBAAgB,GAAGoC,aAAa;MACrC;IACF;IACA,IAAI,IAAI,CAACpC,gBAAgB,KAAKoC,aAAa,EAAE;MAC3C9D,GAAG,CAACgE,KAAK,CAAC,2BAA2B,CAAC;MACtC;IACF;IACA,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACxB,IAAI,CAACvC,gBAAgB,GAAGoC,aAAa;IACrC,IAAI,CAACzD,KAAK,CAACmC,kBAAkB,CAAC,CAAC,GAAGsB,aAAa,EAAE,GAAG,IAAI,CAACI,aAAa,CAAC,CAAC;IACxE,IAAI,CAACC,aAAa,CAAC,CAAC;EACtB;EAEA,IAAID,aAAaA,CAAA,EAA0B;IACzC,OAAO,IAAI,CAACvC,gBAAgB;EAC9B;EAEA,IAAIuC,aAAaA,CAACA,aAAoC,EAAE;IACtDlE,GAAG,CAAC+D,MAAM,CACR,mBAAmB,EACnBG,aAAa,EACb,IAAI,CAACvC,gBAAgB,EACrBuC,aAAa,KAAK,IAAI,CAACvC,gBACzB,CAAC;IACD,IAAI,IAAI,CAACA,gBAAgB,CAACnB,MAAM,KAAK,CAAC,IAAI0D,aAAa,CAAC1D,MAAM,KAAK,CAAC,EAAE;MACpER,GAAG,CAACgE,KAAK,CAAC,oCAAoC,CAAC;MAC/C,IAAI,CAACrC,gBAAgB,GAAGuC,aAAa;MACrC;IACF;IACA,IAAI,IAAI,CAACvC,gBAAgB,KAAKuC,aAAa,EAAE;MAC3ClE,GAAG,CAACgE,KAAK,CAAC,2BAA2B,CAAC;MACtC;IACF;IACA,IAAI,CAACC,iBAAiB,CAAC,CAAC;IACxB,IAAI,CAACtC,gBAAgB,GAAGuC,aAAa;IACrC,IAAI,CAAC7D,KAAK,CAACmC,kBAAkB,CAAC,CAAC,GAAG,IAAI,CAACsB,aAAa,EAAE,GAAGI,aAAa,CAAC,CAAC;IACxE,IAAI,CAACC,aAAa,CAAC,CAAC;EACtB;EAEAC,mBAAmBA,CAACjD,OAAqB,EAAQ;IAC/C,IAAI,CAACF,iBAAiB,GAAGE,OAAO;IAChC,IAAI,CAACkD,aAAa,CAChB,IAAI3E,oBAAoB,CAACI,aAAa,CAACwE,KAAK,CAACC,eAAe,EAAE;MAC5DC,MAAM,EAAE,IAAI,CAACrD;IACf,CAAC,CACH,CAAC;EACH;EAEA,IAAIsD,gBAAgBA,CAAA,EAA6B;IAC/C,OAAO,IAAI,CAACC,yBAAyB,CAAC,IAAI,CAACvD,OAAO,CAAC;EACrD;EAEMwD,kBAAkBA,CAAA,EAA0B;IAAA,IAAAC,KAAA;IAAA,OAAAC,iBAAA;MAChD,OAAOD,KAAI,CAACE,WAAW,CAACF,KAAI,CAACH,gBAAgB,CAAC;IAAC;EACjD;EAEMM,oBAAoBA,CAAA,EAA0B;IAAA,IAAAC,MAAA;IAAA,OAAAH,iBAAA;MAClD,IAAMI,CAAC,SAASD,MAAI,CAAC3E,KAAK,CAAC6E,IAAI,CAAC,CAAC;MACjCD,CAAC,CAACE,WAAW,CAAC,EAAE,CAAC;MACjB,OAAOF,CAAC;IAAC;EACX;EAEMG,kBAAkBA,CAAA,EAA0B;IAAA,IAAAC,MAAA;IAAA,OAAAR,iBAAA;MAChD,OAAOQ,MAAI,CAACV,kBAAkB,CAAC,CAAC;IAAC;EACnC;EAEMW,cAAcA,CAACC,UAAqB,EAAyB;IAAA,IAAAC,MAAA;IAAA,OAAAX,iBAAA;MACjE7E,GAAG,CAACgE,KAAK,CAAC,wCAAwC,EAAEuB,UAAU,CAAC;MAE/D,IAAME,gBAA0C,GAAG,EAAE;MACrD,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,MAAI,CAACf,gBAAgB,CAACjE,MAAM,EAAEkF,CAAC,IAAI,CAAC,EAAE;QACxD,IAAMC,SAAS,GAAGJ,UAAU,CAACG,CAAC,CAAC;QAC/B,IAAME,eAAe,GAAGJ,MAAI,CAACf,gBAAgB,CAACiB,CAAC,CAAC;QAChD,IAAMG,eAAe,GAAGL,MAAI,CAACM,UAAU,CAACC,oBAAoB,CAC1DH,eAAe,EACfD,SACF,CAAC;QACDF,gBAAgB,CAACO,IAAI,CAACH,eAAe,CAAC;MACxC;MAEA,IAAMZ,CAAC,SAASO,MAAI,CAACnF,KAAK,CAAC6E,IAAI,CAAC,CAAC;MACjCD,CAAC,CAACE,WAAW,CAAC,CAAC,GAAGK,MAAI,CAAC5D,cAAc,EAAE,GAAG6D,gBAAgB,CAAC,CAAC;MAC5D,OAAOR,CAAC;IAAC;EACX;EAEA,IAAI1D,MAAMA,CAACA,MAAgC,EAAE;IAC3C,IAAI,CAAC0C,iBAAiB,CAAC,CAAC;IACxB,IAAI,CAAC5D,KAAK,CAAC8E,WAAW,CAAC,CAAC,GAAG,IAAI,CAACvD,cAAc,EAAE,GAAGL,MAAM,CAAC,CAAC;IAC3D,IAAI,CAAC4C,aAAa,CAAC,CAAC;EACtB;EAEA,IAAI8B,YAAYA,CAACA,YAAwC,EAAE;IACzDjG,GAAG,CAACgE,KAAK,CAAC,kBAAkB,EAAEiC,YAAY,CAAC;IAE3C,IAAIA,YAAY,KAAK,IAAI,CAACC,MAAM,EAAE;MAChC;MACA;IACF;IAEA,IAAI,CAACA,MAAM,GAAGD,YAAY;IAC1B,IAAI,CAACE,mBAAmB,GAAG,EAAE;IAE7B,IAAI,IAAI,CAACC,kBAAkB,IAAI,IAAI,EAAE;MACnC,IAAI,CAACA,kBAAkB,CAACC,MAAM,CAAC,CAAC;IAClC;IAEA,IAAI,CAACC,cAAc,CAAC,IAAI,CAAC;IAEzB,IAAIL,YAAY,IAAI,IAAI,EAAE;MACxB,IAAI,CAAC5B,aAAa,CAAC,IAAI3E,oBAAoB,CAACI,aAAa,CAACwE,KAAK,CAACiC,OAAO,CAAC,CAAC;MACzE;IACF;IAEA,IAAI,CAACH,kBAAkB,GAAGzG,YAAY,CAAC6G,cAAc,CACnD,IAAI,CAACnG,KAAK,CAACoG,cAAc,CAACR,YAAY,CAAC,EACvC5F,KAAK,IAAIA,KAAK,CAACqG,KAAK,CAAC,CACvB,CAAC;IACD,IAAI,CAACN,kBAAkB,CACpBO,IAAI,CAACC,WAAW,IAAI;MACnB,IAAI,CAACR,kBAAkB,GAAG,IAAI;MAC9B,IAAI,CAACE,cAAc,CAACM,WAAW,CAAC;IAClC,CAAC,CAAC,CACDC,KAAK,CAACC,GAAG,IAAI;MACZ,IAAInH,YAAY,CAACoH,UAAU,CAACD,GAAG,CAAC,EAAE;QAChC;MACF;MAEA9G,GAAG,CAACgH,KAAK,CAAC,gCAAgC,EAAEF,GAAG,CAAC;MAChD,IAAI,CAACV,kBAAkB,GAAG,IAAI;MAE9B,IAAI,CAAC/B,aAAa,CAChB,IAAI3E,oBAAoB,CAACI,aAAa,CAACwE,KAAK,CAAC2C,cAAc,EAAE;QAC3DzC,MAAM,EAAEsC;MACV,CAAC,CACH,CAAC;IACH,CAAC,CAAC;EACN;EAEA,IAAII,gBAAgBA,CAAA,EAAY;IAC9B,OAAO,IAAI,CAAC7G,KAAK,CAAC8G,aAAa;EACjC;EAEA,IAAIrF,mBAAmBA,CAAA,EAAY;IACjC,OACE,IAAI,CAACzB,KAAK,CAAC8G,aAAa,IACxB,IAAI,CAACC,sBAAsB,IAC3B,IAAI,CAAC3C,gBAAgB,CAACjE,MAAM,GAAG,CAAC;EAEpC;EAEA,IAAI6G,2BAA2BA,CAAA,EAAY;IACzC,OAAO,IAAI,CAACxF,cAAc;EAC5B;EAEAyF,YAAYA,CAACC,WAAuB,EAAW;IAC7C,OAAO,IAAI,CAACC,4BAA4B,CAAC,IAAI,CAACrG,OAAO,CAAC,CAACsG,GAAG,CAACF,WAAW,CAAC;EACzE;EAEMG,MAAMA,CAAA,EAA0B;IAAA,IAAAC,MAAA;IAAA,OAAA9C,iBAAA;MACpC,OAAO8C,MAAI,CAACtH,KAAK,CAAC2B,MAAM,CAAC,CAAC;IAAC;EAC7B;EAEA4F,gBAAgBA,CAACpG,MAAqB,EAAoC;IACxE,OAAO,IAAI,CAACnB,KAAK,CAAC6B,mBAAmB,CAACV,MAAM,CAAC;EAC/C;EAWAqG,eAAeA,CAACC,UAAsB,EAAW;IAC/C,IAAMC,UAAU,GAAG,IAAI,CAAC5G,OAAO,CAAC2G,UAAU,CAAC,CAACE,IAAI;IAChD,IACE,IAAI,CAAClF,YAAY,CAACmF,QAAQ,CAACF,UAAU,CAAC,IACtC,IAAI,CAAC5E,WAAW,CAAC8E,QAAQ,CAACF,UAAU,CAAC,IACrC,IAAI,CAACxE,aAAa,CAAC0E,QAAQ,CAACF,UAAU,CAAC,EACvC;MACA,OAAO,KAAK;IACd;IACA,OAAO,CAAC,IAAI,CAACG,WAAW,CAACJ,UAAU,CAAC;EACtC;EAEAK,cAAcA,CAACL,UAAsB,EAAW;IAC9C,OAAO,IAAI,CAACvE,aAAa,CAAC0E,QAAQ,CAAC,IAAI,CAAC9G,OAAO,CAAC2G,UAAU,CAAC,CAACE,IAAI,CAAC;EACnE;EAEMI,MAAMA,CAACC,MAA4B,EAAiB;IAAA,IAAAC,4BAAA,GAAAA,CAAA,WAAAC,cAAA;MAAAC,4BAAA,GAAAC,MAAA,UAAAF,cAAA,GAAAE,MAAA;MAAAC,MAAA;IAAA,OAAA7D,iBAAA;MAAA,IAAA8D,iBAAA;MACxD,IAAI,CAACD,MAAI,CAACE,iBAAiB,CAACP,MAAM,CAAC,EAAE;QACnC,MAAM,IAAIQ,KAAK,uBAAAC,MAAA,CAAuBT,MAAM,CAAE,CAAC;MACjD;MAEAzI,aAAa,CAAC8I,MAAI,CAAChI,UAAU,CAAC;MAC9B,IAAM;QAAEqI;MAAW,CAAC,GAAGL,MAAI,CAAChI,UAAU;MACtC,IAAIgI,MAAI,CAAChG,YAAY,CAACsG,IAAI,KAAK,CAAC,EAAE;QAChC,MAAM,IAAIH,KAAK,CAAC,kCAAkC,CAAC;MACrD;MAEA,IAAMI,gBAAgB,GAAGP,MAAI,CAACQ,mBAAmB,CAAC,CAAC;MACnD,IAAMC,aAAa,GAAGd,MAAM,CACzBjH,GAAG,CAACgI,KAAK,IAAI7J,SAAS,CAAC8J,YAAY,CAACJ,gBAAgB,EAAEG,KAAK,CAAC,CAAC,CAC7D7H,MAAM,CAAC6H,KAAK,IAAIA,KAAK,IAAI,IAAI,CAAC,CAC9BhI,GAAG,CAACgI,KAAK,IAAI;QACZxJ,aAAa,CAACwJ,KAAK,CAAC;QAEpB,OAAO7J,SAAS,CAAC+J,MAAM,CACrBF,KAAK,EACL,CAAC,EACD,EAAEV,MAAI,CAACa,mBAAmB,GAAGb,MAAI,CAACrI,KAAK,CAAC2I,IAAI,CAC9C,CAAC;MACH,CAAC,CAAC;MAEJ,IAAIG,aAAa,CAAC3I,MAAM,GAAG,CAAC,EAAE;QAC5B,IAAMgJ,UAAU,GAAG,IAAIC,GAAG,CAAAnB,4BAAA,EAAqB,CAAC;QAChD,KAAK,IAAI5C,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGyD,aAAa,CAAC3I,MAAM,EAAEkF,CAAC,IAAI,CAAC,EAAE;UAChD,IAAMgE,YAAY,GAAGP,aAAa,CAACzD,CAAC,CAAC;UACrC9F,aAAa,CAAC8J,YAAY,CAACC,QAAQ,CAAC;UACpC/J,aAAa,CAAC8J,YAAY,CAACE,MAAM,CAAC;UAClC,KAAK,IAAIC,CAAC,GAAGH,YAAY,CAACC,QAAQ,EAAEE,CAAC,IAAIH,YAAY,CAACE,MAAM,EAAEC,CAAC,IAAI,CAAC,EAAE;YACpEL,UAAU,CAACpB,MAAM,CAACyB,CAAC,CAAC;UACtB;QACF;QACArB,4BAAA,CAAuBgB,UAAU;QAEjCd,MAAI,CAACvC,mBAAmB,GAAG,EAAE;QAE7BuC,MAAI,CAACrE,aAAa,CAChB,IAAI3E,oBAAoB,CAACI,aAAa,CAACwE,KAAK,CAACwF,oBAAoB,CACnE,CAAC;QAEDpB,MAAI,CAACrE,aAAa,CAAC,IAAI3E,oBAAoB,CAACI,aAAa,CAACwE,KAAK,CAACiC,OAAO,CAAC,CAAC;MAC3E;MAEA,IAAMwD,cAAc,GAAGrB,MAAI,CAACsB,iBAAiB,CAAC,CAAC;MAC/C,IAAMC,WAAW,GAAG5B,MAAM,CACvBjH,GAAG,CAACgI,KAAK,IAAI7J,SAAS,CAAC8J,YAAY,CAACU,cAAc,EAAEX,KAAK,CAAC,CAAC,CAC3D7H,MAAM,CAAC6H,KAAK,IAAIA,KAAK,IAAI,IAAI,CAAC;MACjC,IAAIa,WAAW,CAACzJ,MAAM,IAAI,CAAC,EAAE;QAC3B;MACF;MAEA,IAAM,CAAC0J,IAAI,EAAEC,WAAW,CAAC,SAASC,OAAO,CAACC,GAAG,CAAC;MAC5C;MACA3B,MAAI,CAAC4B,QAAQ,CACXL,WAAW,CACR7I,GAAG,CAACgI,KAAK,IAAI;QACZxJ,aAAa,CAACwJ,KAAK,CAAC;QACpB;QACA,OAAOL,UAAU,CAAC3H,GAAG,CAACmJ,SAAS,IAAI;UACjC,IAAMC,QAAQ,GAAG9B,MAAI,CAAC+B,oBAAoB,CAACF,SAAS,CAACvC,IAAI,CAAC;UAC1D,IAAIwC,QAAQ,IAAI,IAAI,EAAE;YACpB,MAAM,IAAI3B,KAAK,eAAAC,MAAA,CAAeyB,SAAS,CAACvC,IAAI,eAAY,CAAC;UAC3D;UAEA,OAAO,IAAIzI,SAAS,CAClBiL,QAAQ,EACRpB,KAAK,CAACO,QAAQ,EACda,QAAQ,EACRpB,KAAK,CAACQ,MACR,CAAC;QACH,CAAC,CAAC;MACJ,CAAC,CAAC,CACDc,IAAI,CAAC,CACV,CAAC,EACDhC,MAAI,CAACrI,KAAK,CAAC6E,IAAI,CAAC,CAAC,CAClB,CAAC;;MAEF;MACA,IAAMyF,OAAO,GAAGT,IAAI,CAAC9I,GAAG,CAACwJ,GAAG,IAAI;QAC9B,IAAMC,aAAa,GAAG,EAAE;QACxB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG/B,UAAU,CAACvI,MAAM,EAAEsK,CAAC,IAAI,CAAC,EAAE;UAC7C,IAAMtJ,MAAM,GAAGuH,UAAU,CAAC+B,CAAC,CAAC;UAC5B,IAAMC,KAAK,GAAGH,GAAG,CAACE,CAAC,CAAC;UACpB,IAAMvJ,OAAM,GAAGmH,MAAI,CAAC5C,UAAU,CAACC,oBAAoB,CAACvE,MAAM,EAAEuJ,KAAK,CAAC;UAClEF,aAAa,CAAC7E,IAAI,CAACzE,OAAM,CAAC;QAC5B;QACA,OAAOsJ,aAAa,CAACG,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI;UAAA,IAAAC,QAAA;UAAA,QAAAA,QAAA,GAAKF,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEG,GAAG,CAACF,IAAI,CAAC,cAAAC,QAAA,cAAAA,QAAA,GAAID,IAAI;QAAA,EAAC;MACpE,CAAC,CAAC;MAEF,IAAM3J,MAAM,GAAGoJ,OAAO,CAACK,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI;QAAA,IAAAG,OAAA;QAAA,QAAAA,OAAA,GAAKJ,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEK,EAAE,CAACJ,IAAI,CAAC,cAAAG,OAAA,cAAAA,OAAA,GAAIH,IAAI;MAAA,EAAC;MAEnEf,WAAW,CAAChF,WAAW,CAAC,CAAC5D,MAAM,CAAC,CAAC;MAEjC,OAAAoH,iBAAA,GAAMD,MAAI,CAAChI,UAAU,cAAAiI,iBAAA,uBAAfA,iBAAA,CAAiBwB,WAAW,CAACA,WAAW,CAAC;MAC/CA,WAAW,CAACzD,KAAK,CAAC,CAAC;IAAC;EACtB;EAEM6E,OAAOA,CACX5B,QAAgB,EAChBnI,MAAqB,EACrBgK,SAA+B,EAC/BT,KAAc,EACdU,WAAqB,EACrBC,QAAkB,EAClBC,WAAqB,EACJ;IAAA,IAAAC,MAAA;IAAA,OAAA/G,iBAAA;MACjB,OAAO+G,MAAI,CAACvL,KAAK,CAACkL,OAAO,CACvB5B,QAAQ,EACRnI,MAAM,EACNgK,SAAS,EACTT,KAAK,EACLU,WAAW,EACXC,QAAQ,EACRC,WACF,CAAC;IAAC;EACJ;EAEA,IAAIE,kBAAkBA,CAAA,EAAY;IAChC,OAAO,IAAI,CAACxL,KAAK,CAACkL,OAAO,IAAI,IAAI;EACnC;AACF;AAEA,eAAerL,kBAAkB"}
|
|
1
|
+
{"version":3,"file":"IrisGridTableModel.js","names":["memoize","GridRange","Log","Formatter","EventShimCustomEvent","PromiseUtils","assertNotNull","EMPTY_ARRAY","IrisGridModel","IrisGridTableModelTemplate","log","module","IrisGridTableModel","constructor","dh","table","formatter","arguments","length","undefined","inputTable","_defineProperty","inputTableKeys","Set","layoutHintsFrontColumns","layoutHintsBackColumns","layoutHintsFrozenColumns","userFrozenColumns","_ref","columns","map","_","index","filter","column","isPartitionColumn","customColumnList","formatColumnList","initialFilters","wasUncoalesced","isPartitionRequired","isExportAvailable","freeze","isColumnStatisticsAvailable","getColumnStatistics","isRollupAvailable","rollup","isSelectDistinctAvailable","selectDistinct","isCustomColumnsAvailable","applyCustomColumns","isFormatColumnsAvailable","keyColumnSet","_this$inputTable","getMemoizedKeyColumnSet","keys","frontColumns","_this$layoutHints$fro","_this$layoutHints","getMemoizedFrontColumns","layoutHints","backColumns","_this$layoutHints$bac","_this$layoutHints2","getMemoizedBackColumns","frozenColumns","_this$layoutHints$fro2","_this$layoutHints3","getMemoizedFrozenColumns","floatingLeftColumnCount","description","_this$table$descripti","customColumns","debug2","debug","closeSubscription","formatColumns","applyViewport","updateFrozenColumns","dispatchEvent","EVENT","COLUMNS_CHANGED","detail","partitionColumns","getCachedPartitionColumns","partitionKeysTable","_this","_asyncToGenerator","valuesTable","partitionMergedTable","_this2","t","copy","applyFilter","partitionBaseTable","_this3","partitionTable","partitions","_this4","partitionFilters","i","partition","partitionColumn","partitionFilter","tableUtils","makeNullableEqFilter","push","totalsConfig","totals","formattedStringData","totalsTablePromise","cancel","setTotalsTable","UPDATED","makeCancelable","getTotalsTable","close","then","totalsTable","catch","err","isCanceled","error","REQUEST_FAILED","isFilterRequired","isUncoalesced","isValuesTableAvailable","isPartitionAwareSourceTable","isFilterable","columnIndex","getCachedFilterableColumnSet","has","export","_this5","columnStatistics","isColumnMovable","modelIndex","columnName","name","includes","isKeyColumn","isColumnFrozen","delete","ranges","_superprop_getPendingDataMap","pendingDataMap","_superprop_setPendingDataMap","_value","_this6","_this6$inputTable","isDeletableRanges","Error","concat","keyColumns","size","pendingAreaRange","getPendingAreaRange","pendingRanges","range","intersection","offset","floatingTopRowCount","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","reduce","agg","curr","_agg$and","and","_agg$or","or","seekRow","valueType","insensitive","contains","isBackwards","_this7","isSeekRowAvailable"],"sources":["../src/IrisGridTableModel.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport memoize from 'memoize-one';\nimport { GridRange, type ModelIndex } from '@deephaven/grid';\nimport type { dh as DhType } from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport { Formatter } from '@deephaven/jsapi-utils';\nimport {\n EventShimCustomEvent,\n PromiseUtils,\n assertNotNull,\n EMPTY_ARRAY,\n} from '@deephaven/utils';\nimport IrisGridModel from './IrisGridModel';\nimport {\n type ColumnName,\n type UIRow,\n type UITotalsTableConfig,\n} from './CommonTypes';\nimport IrisGridTableModelTemplate from './IrisGridTableModelTemplate';\nimport { type 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<DhType.Table, UIRow>\n implements PartitionedGridModelProvider\n{\n userFrozenColumns?: ColumnName[];\n\n customColumnList: string[];\n\n formatColumnList: DhType.CustomColumn[];\n\n initialFilters: DhType.FilterCondition[] = [];\n\n // The initial value for table.isUncoalesced on the source table before any transformations (e.g. filter, select)\n wasUncoalesced: boolean;\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: typeof DhType,\n table: DhType.Table,\n formatter = new Formatter(dh),\n inputTable: DhType.InputTable | null = null\n ) {\n super(dh, table, formatter, inputTable);\n this.customColumnList = [];\n this.formatColumnList = [];\n this.initialFilters = table.filter;\n this.wasUncoalesced = this.isPartitionRequired;\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 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 getMemoizedKeyColumnSet = memoize(\n (inputTableKeys?: readonly ColumnName[]) =>\n new Set(inputTableKeys ?? EMPTY_ARRAY)\n );\n\n get keyColumnSet(): Set<ColumnName> {\n return this.getMemoizedKeyColumnSet(this.inputTable?.keys);\n }\n\n getMemoizedFrontColumns = memoize(\n (layoutHintsFrontColumns: ColumnName[] | undefined) =>\n layoutHintsFrontColumns ?? EMPTY_ARRAY\n );\n\n get frontColumns(): readonly ColumnName[] {\n return this.getMemoizedFrontColumns(\n this.layoutHints?.frontColumns ?? undefined\n );\n }\n\n getMemoizedBackColumns = memoize(\n (layoutHintsBackColumns: ColumnName[] | undefined) =>\n layoutHintsBackColumns ?? EMPTY_ARRAY\n );\n\n get backColumns(): readonly ColumnName[] {\n return this.getMemoizedBackColumns(\n this.layoutHints?.backColumns ?? undefined\n );\n }\n\n getMemoizedFrozenColumns = memoize(\n (\n layoutHintsFrozenColumns?: ColumnName[],\n userFrozenColumns?: ColumnName[]\n ): readonly ColumnName[] =>\n userFrozenColumns ?? layoutHintsFrozenColumns ?? EMPTY_ARRAY\n );\n\n get frozenColumns(): readonly ColumnName[] {\n return this.getMemoizedFrozenColumns(\n this.layoutHints?.frozenColumns ?? undefined,\n this.userFrozenColumns\n );\n }\n\n get layoutHints(): DhType.LayoutHints | null | undefined {\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(): DhType.CustomColumn[] {\n return this.formatColumnList;\n }\n\n set formatColumns(formatColumns: DhType.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.COLUMNS_CHANGED, {\n detail: this.columns,\n })\n );\n }\n\n get partitionColumns(): readonly DhType.Column[] {\n return this.getCachedPartitionColumns(this.columns);\n }\n\n async partitionKeysTable(): Promise<DhType.Table> {\n return this.valuesTable(this.partitionColumns);\n }\n\n async partitionMergedTable(): Promise<DhType.Table> {\n const t = await this.table.copy();\n t.applyFilter([]);\n return t;\n }\n\n async partitionBaseTable(): Promise<DhType.Table> {\n return this.partitionKeysTable();\n }\n\n async partitionTable(partitions: unknown[]): Promise<DhType.Table> {\n log.debug('getting partition table for partitions', partitions);\n\n const partitionFilters: DhType.FilterCondition[] = [];\n for (let i = 0; i < this.partitionColumns.length; i += 1) {\n const partition = partitions[i];\n const partitionColumn = this.partitionColumns[i];\n const partitionFilter = this.tableUtils.makeNullableEqFilter(\n partitionColumn,\n partition\n );\n partitionFilters.push(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: DhType.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 get isPartitionAwareSourceTable(): boolean {\n return this.wasUncoalesced;\n }\n\n isFilterable(columnIndex: ModelIndex): boolean {\n return this.getCachedFilterableColumnSet(this.columns).has(columnIndex);\n }\n\n async export(): Promise<DhType.Table> {\n return this.table.freeze();\n }\n\n columnStatistics(column: DhType.Column): Promise<DhType.ColumnStatistics> {\n return this.table.getColumnStatistics(column);\n }\n\n getCachedFilterableColumnSet = memoize(\n (columns: DhType.Column[]) =>\n new Set(columns.map((_: DhType.Column, index: ModelIndex) => index))\n );\n\n getCachedPartitionColumns = memoize((columns: readonly DhType.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 (this.keyColumnSet.size === 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 filter = this.tableUtils.makeNullableEqFilter(column, value);\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: DhType.Column,\n valueType: DhType.ValueTypeType,\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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","ignoreList":[]}
|
|
@@ -35,6 +35,7 @@ declare class IrisGridTableModelTemplate<T extends DhType.Table | DhType.TreeTab
|
|
|
35
35
|
irisGridUtils: IrisGridUtils;
|
|
36
36
|
tableUtils: TableUtils;
|
|
37
37
|
private irisFormatter;
|
|
38
|
+
private irisColumnAlignmentMap;
|
|
38
39
|
inputTable: DhType.InputTable | null;
|
|
39
40
|
private subscription;
|
|
40
41
|
table: T;
|
|
@@ -64,8 +65,9 @@ declare class IrisGridTableModelTemplate<T extends DhType.Table | DhType.TreeTab
|
|
|
64
65
|
* @param table Iris data table to be used in the model
|
|
65
66
|
* @param formatter The formatter to use when getting formats
|
|
66
67
|
* @param inputTable Iris input table associated with this table
|
|
68
|
+
* @param columnAlignmentMap Map of column alignments
|
|
67
69
|
*/
|
|
68
|
-
constructor(dh: typeof DhType, table: T, formatter?: Formatter, inputTable?: DhType.InputTable | null);
|
|
70
|
+
constructor(dh: typeof DhType, table: T, formatter?: Formatter, inputTable?: DhType.InputTable | null, columnAlignmentMap?: Map<string, CanvasTextAlign>);
|
|
69
71
|
close(): void;
|
|
70
72
|
startListening(): void;
|
|
71
73
|
stopListening(): void;
|
|
@@ -181,6 +183,8 @@ declare class IrisGridTableModelTemplate<T extends DhType.Table | DhType.TreeTab
|
|
|
181
183
|
set filter(filter: DhType.FilterCondition[]);
|
|
182
184
|
get formatter(): Formatter;
|
|
183
185
|
set formatter(formatter: Formatter);
|
|
186
|
+
get columnAlignmentMap(): ReadonlyMap<string, CanvasTextAlign>;
|
|
187
|
+
set columnAlignmentMap(columnAlignmentMap: Map<string, CanvasTextAlign>);
|
|
184
188
|
displayString(value: unknown, columnType: string, columnName?: string, formatOverride?: {
|
|
185
189
|
formatString?: string | null;
|
|
186
190
|
}): string;
|
|
@@ -188,7 +192,7 @@ declare class IrisGridTableModelTemplate<T extends DhType.Table | DhType.TreeTab
|
|
|
188
192
|
set sort(sort: DhType.Sort[]);
|
|
189
193
|
set totalsConfig(totalsConfig: UITotalsTableConfig | null);
|
|
190
194
|
setTotalsTable(totalsTable: DhType.TotalsTable | null): void;
|
|
191
|
-
setViewport: import("lodash").
|
|
195
|
+
setViewport: import("lodash").DebouncedFuncLeading<(top: VisibleIndex, bottom: VisibleIndex, columns?: DhType.Column[]) => void>;
|
|
192
196
|
/**
|
|
193
197
|
* Applies the current viewport to the underlying table.
|
|
194
198
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridTableModelTemplate.d.ts","sourceRoot":"","sources":["../src/IrisGridTableModelTemplate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"IrisGridTableModelTemplate.d.ts","sourceRoot":"","sources":["../src/IrisGridTableModelTemplate.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,24 +74,23 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
74
74
|
get columns() {
|
|
75
75
|
return this.table.columns;
|
|
76
76
|
}
|
|
77
|
-
|
|
78
|
-
// Map from new row index to their values. Only for input tables that can have new rows added.
|
|
79
|
-
// The index of these rows start at 0, and they are appended at the end of the regular table data.
|
|
80
|
-
// These rows can be sparse, so using a map instead of an array.
|
|
81
77
|
/**
|
|
82
78
|
* @param dh JSAPI instance
|
|
83
79
|
* @param table Iris data table to be used in the model
|
|
84
80
|
* @param formatter The formatter to use when getting formats
|
|
85
81
|
* @param inputTable Iris input table associated with this table
|
|
82
|
+
* @param columnAlignmentMap Map of column alignments
|
|
86
83
|
*/
|
|
87
84
|
constructor(dh, table) {
|
|
88
85
|
var _formatter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Formatter(dh);
|
|
89
86
|
var inputTable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
87
|
+
var columnAlignmentMap = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : new Map();
|
|
90
88
|
super(dh);
|
|
91
89
|
_defineProperty(this, "dh", void 0);
|
|
92
90
|
_defineProperty(this, "irisGridUtils", void 0);
|
|
93
91
|
_defineProperty(this, "tableUtils", void 0);
|
|
94
92
|
_defineProperty(this, "irisFormatter", void 0);
|
|
93
|
+
_defineProperty(this, "irisColumnAlignmentMap", void 0);
|
|
95
94
|
_defineProperty(this, "inputTable", void 0);
|
|
96
95
|
_defineProperty(this, "subscription", void 0);
|
|
97
96
|
_defineProperty(this, "table", void 0);
|
|
@@ -104,6 +103,9 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
104
103
|
_defineProperty(this, "totalsTablePromise", void 0);
|
|
105
104
|
_defineProperty(this, "totals", void 0);
|
|
106
105
|
_defineProperty(this, "totalsDataMap", void 0);
|
|
106
|
+
// Map from new row index to their values. Only for input tables that can have new rows added.
|
|
107
|
+
// The index of these rows start at 0, and they are appended at the end of the regular table data.
|
|
108
|
+
// These rows can be sparse, so using a map instead of an array.
|
|
107
109
|
_defineProperty(this, "pendingNewDataMap", void 0);
|
|
108
110
|
_defineProperty(this, "pendingNewRowCount", 0);
|
|
109
111
|
_defineProperty(this, "_columnHeaderGroupMap", new Map());
|
|
@@ -143,7 +145,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
143
145
|
if (frontColumns.length > 0 || backColumns.length > 0 || frozenColumns.length > 0) {
|
|
144
146
|
var usedColumns = new Set();
|
|
145
147
|
var frontIndex = 0;
|
|
146
|
-
frozenColumns === null || frozenColumns === void 0
|
|
148
|
+
frozenColumns === null || frozenColumns === void 0 || frozenColumns.forEach(name => {
|
|
147
149
|
if (usedColumns.has(name)) {
|
|
148
150
|
throw new Error("Column specified in multiple layout hints: ".concat(name));
|
|
149
151
|
}
|
|
@@ -158,7 +160,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
158
160
|
frontIndex += 1;
|
|
159
161
|
});
|
|
160
162
|
var backIndex = this.columns.length - 1;
|
|
161
|
-
backColumns === null || backColumns === void 0
|
|
163
|
+
backColumns === null || backColumns === void 0 || backColumns.forEach(name => {
|
|
162
164
|
if (usedColumns.has(name)) {
|
|
163
165
|
throw new Error("Column specified in multiple layout hints: ".concat(name));
|
|
164
166
|
}
|
|
@@ -242,6 +244,9 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
242
244
|
log.debug2('setViewport', this.viewport);
|
|
243
245
|
this.applyViewport();
|
|
244
246
|
}, SET_VIEWPORT_THROTTLE));
|
|
247
|
+
/**
|
|
248
|
+
* Applies the current viewport to the underlying table.
|
|
249
|
+
*/
|
|
245
250
|
_defineProperty(this, "applyViewport", throttle(() => {
|
|
246
251
|
if (!this.viewport) {
|
|
247
252
|
return;
|
|
@@ -281,7 +286,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
281
286
|
if (!map.has(rowIndex)) {
|
|
282
287
|
map.set(rowIndex, []);
|
|
283
288
|
}
|
|
284
|
-
(_map$get = map.get(rowIndex)) === null || _map$get === void 0
|
|
289
|
+
(_map$get = map.get(rowIndex)) === null || _map$get === void 0 || _map$get.push(new MissingKeyError(rowIndex, columns[i].name));
|
|
285
290
|
}
|
|
286
291
|
}
|
|
287
292
|
});
|
|
@@ -295,6 +300,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
295
300
|
this.handleCustomColumnsChanged = this.handleCustomColumnsChanged.bind(this);
|
|
296
301
|
this.dh = dh;
|
|
297
302
|
this.irisFormatter = _formatter;
|
|
303
|
+
this.irisColumnAlignmentMap = columnAlignmentMap;
|
|
298
304
|
this.irisGridUtils = new IrisGridUtils(dh);
|
|
299
305
|
this.inputTable = inputTable;
|
|
300
306
|
this.subscription = null;
|
|
@@ -393,10 +399,10 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
393
399
|
}));
|
|
394
400
|
}
|
|
395
401
|
get rowCount() {
|
|
396
|
-
var _this$totals$operatio, _this$totals
|
|
402
|
+
var _this$totals$operatio, _this$totals;
|
|
397
403
|
return (
|
|
398
404
|
// Table size can be negative if the table isn't ready yet
|
|
399
|
-
Math.max(this.table.size, 0) + this.pendingNewRowCount + ((_this$totals$operatio = (_this$totals = this.totals) === null || _this$totals === void 0
|
|
405
|
+
Math.max(this.table.size, 0) + this.pendingNewRowCount + ((_this$totals$operatio = (_this$totals = this.totals) === null || _this$totals === void 0 || (_this$totals = _this$totals.operationOrder) === null || _this$totals === void 0 ? void 0 : _this$totals.length) !== null && _this$totals$operatio !== void 0 ? _this$totals$operatio : 0)
|
|
400
406
|
);
|
|
401
407
|
}
|
|
402
408
|
get pendingDataErrors() {
|
|
@@ -445,12 +451,12 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
445
451
|
return this.columns.length;
|
|
446
452
|
}
|
|
447
453
|
get floatingBottomRowCount() {
|
|
448
|
-
var _this$totals$
|
|
449
|
-
return this.totals != null && this.totals.showOnTop ? 0 : (_this$totals$
|
|
454
|
+
var _this$totals$operatio2, _this$totals2;
|
|
455
|
+
return this.totals != null && this.totals.showOnTop ? 0 : (_this$totals$operatio2 = (_this$totals2 = this.totals) === null || _this$totals2 === void 0 || (_this$totals2 = _this$totals2.operationOrder) === null || _this$totals2 === void 0 ? void 0 : _this$totals2.length) !== null && _this$totals$operatio2 !== void 0 ? _this$totals$operatio2 : 0;
|
|
450
456
|
}
|
|
451
457
|
get floatingTopRowCount() {
|
|
452
|
-
var _this$totals$
|
|
453
|
-
return this.totals != null && this.totals.showOnTop ? (_this$totals$
|
|
458
|
+
var _this$totals$operatio3, _this$totals3;
|
|
459
|
+
return this.totals != null && this.totals.showOnTop ? (_this$totals$operatio3 = (_this$totals3 = this.totals) === null || _this$totals3 === void 0 || (_this$totals3 = _this$totals3.operationOrder) === null || _this$totals3 === void 0 ? void 0 : _this$totals3.length) !== null && _this$totals$operatio3 !== void 0 ? _this$totals$operatio3 : 0 : 0;
|
|
454
460
|
}
|
|
455
461
|
get isValuesTableAvailable() {
|
|
456
462
|
return this.table.selectDistinct != null && this.table.copy != null;
|
|
@@ -516,15 +522,15 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
516
522
|
|
|
517
523
|
// Use a separate cache from memoization just for the strings that are currently displayed
|
|
518
524
|
if (((_this$formattedString = this.formattedStringData[x]) === null || _this$formattedString === void 0 ? void 0 : _this$formattedString[y]) === undefined) {
|
|
519
|
-
var
|
|
520
|
-
if (
|
|
525
|
+
var value = this.valueForCell(x, y);
|
|
526
|
+
if (value === null) {
|
|
521
527
|
return null;
|
|
522
528
|
}
|
|
523
|
-
if (
|
|
529
|
+
if (value === undefined) {
|
|
524
530
|
return undefined;
|
|
525
531
|
}
|
|
526
|
-
var
|
|
527
|
-
var hasCustomColumnFormat = this.getCachedCustomColumnFormatFlag(this.formatter,
|
|
532
|
+
var column = this.sourceColumn(x, y);
|
|
533
|
+
var hasCustomColumnFormat = this.getCachedCustomColumnFormatFlag(this.formatter, column.name, column.type);
|
|
528
534
|
var formatOverride;
|
|
529
535
|
if (!hasCustomColumnFormat) {
|
|
530
536
|
var formatForCell = this.formatForCell(x, y);
|
|
@@ -532,7 +538,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
532
538
|
formatOverride = formatForCell;
|
|
533
539
|
}
|
|
534
540
|
}
|
|
535
|
-
var text = this.displayString(
|
|
541
|
+
var text = this.displayString(value, column.type, column.name, formatOverride);
|
|
536
542
|
this.cacheFormattedValue(x, y, text);
|
|
537
543
|
}
|
|
538
544
|
return this.formattedStringData[x][y];
|
|
@@ -572,9 +578,9 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
572
578
|
if (data) {
|
|
573
579
|
var {
|
|
574
580
|
format,
|
|
575
|
-
value
|
|
581
|
+
value
|
|
576
582
|
} = data;
|
|
577
|
-
if (
|
|
583
|
+
if (value == null || value === '') {
|
|
578
584
|
assertNotNull(theme.nullStringColor);
|
|
579
585
|
return theme.nullStringColor;
|
|
580
586
|
}
|
|
@@ -588,9 +594,9 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
588
594
|
}
|
|
589
595
|
|
|
590
596
|
// Fallback to formatting based on the value/type of the cell
|
|
591
|
-
if (
|
|
592
|
-
var
|
|
593
|
-
return IrisGridUtils.colorForValue(theme,
|
|
597
|
+
if (value != null) {
|
|
598
|
+
var column = this.sourceColumn(x, y);
|
|
599
|
+
return IrisGridUtils.colorForValue(theme, column.type, column.name, value);
|
|
594
600
|
}
|
|
595
601
|
} else if (this.isPendingRow(y) && this.isKeyColumn(x)) {
|
|
596
602
|
assertNotNull(theme.errorTextColor);
|
|
@@ -604,6 +610,10 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
604
610
|
}
|
|
605
611
|
textAlignForCell(x, y) {
|
|
606
612
|
var column = this.sourceColumn(x, y);
|
|
613
|
+
var userTextAlignment = this.columnAlignmentMap.get(column.name);
|
|
614
|
+
if (userTextAlignment != null) {
|
|
615
|
+
return userTextAlignment;
|
|
616
|
+
}
|
|
607
617
|
return IrisGridUtils.textAlignForValue(column.type, column.name);
|
|
608
618
|
}
|
|
609
619
|
textForColumnHeader(x) {
|
|
@@ -724,8 +734,8 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
724
734
|
}
|
|
725
735
|
}
|
|
726
736
|
row(y) {
|
|
727
|
-
var _this$totals$
|
|
728
|
-
var totalsRowCount = (_this$totals$
|
|
737
|
+
var _this$totals$operatio4, _this$totals4, _this$totals$showOnTo, _this$totals5, _this$viewportData$of, _this$viewportData, _this$viewportData$ro, _this$viewportData2;
|
|
738
|
+
var totalsRowCount = (_this$totals$operatio4 = (_this$totals4 = this.totals) === null || _this$totals4 === void 0 || (_this$totals4 = _this$totals4.operationOrder) === null || _this$totals4 === void 0 ? void 0 : _this$totals4.length) !== null && _this$totals$operatio4 !== void 0 ? _this$totals$operatio4 : 0;
|
|
729
739
|
var showOnTop = (_this$totals$showOnTo = (_this$totals5 = this.totals) === null || _this$totals5 === void 0 ? void 0 : _this$totals5.showOnTop) !== null && _this$totals$showOnTo !== void 0 ? _this$totals$showOnTo : false;
|
|
730
740
|
var totalsRow = this.totalsRow(y);
|
|
731
741
|
if (totalsRow != null) {
|
|
@@ -741,7 +751,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
741
751
|
}
|
|
742
752
|
var offset = (_this$viewportData$of = (_this$viewportData = this.viewportData) === null || _this$viewportData === void 0 ? void 0 : _this$viewportData.offset) !== null && _this$viewportData$of !== void 0 ? _this$viewportData$of : 0;
|
|
743
753
|
var viewportY = (showOnTop ? y - totalsRowCount : y) - offset;
|
|
744
|
-
return (_this$viewportData$ro = (_this$viewportData2 = this.viewportData) === null || _this$viewportData2 === void 0
|
|
754
|
+
return (_this$viewportData$ro = (_this$viewportData2 = this.viewportData) === null || _this$viewportData2 === void 0 || (_this$viewportData2 = _this$viewportData2.rows) === null || _this$viewportData2 === void 0 ? void 0 : _this$viewportData2[viewportY]) !== null && _this$viewportData$ro !== void 0 ? _this$viewportData$ro : null;
|
|
745
755
|
}
|
|
746
756
|
|
|
747
757
|
/**
|
|
@@ -764,15 +774,14 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
764
774
|
// When there are multiple aggregations for the column, the column name will be the original name of the column with the operation appended afterward
|
|
765
775
|
// When the the operation is the default operation OR there is only one operation for the column, then the totals column name is just the original column name
|
|
766
776
|
var totalsColumn = (_this$totalsTable = this.totalsTable) === null || _this$totalsTable === void 0 ? void 0 : _this$totalsTable.columns.find(col => {
|
|
767
|
-
var _this$totals9
|
|
768
|
-
return col.name === "".concat(tableColumn.name, "__").concat(operation) || (operation === defaultOperation || ((_this$totals9 = this.totals) === null || _this$totals9 === void 0
|
|
777
|
+
var _this$totals9;
|
|
778
|
+
return col.name === "".concat(tableColumn.name, "__").concat(operation) || (operation === defaultOperation || ((_this$totals9 = this.totals) === null || _this$totals9 === void 0 || (_this$totals9 = _this$totals9.operationMap[col.name]) === null || _this$totals9 === void 0 ? void 0 : _this$totals9.length) === 1) && col.name === tableColumn.name;
|
|
769
779
|
});
|
|
770
780
|
if (totalsColumn != null) {
|
|
771
781
|
return totalsColumn;
|
|
772
782
|
}
|
|
773
783
|
// There may be cases were the totals table doesn't have a column, such as when there's a virtual column
|
|
774
784
|
}
|
|
775
|
-
|
|
776
785
|
return this.columns[column];
|
|
777
786
|
}
|
|
778
787
|
|
|
@@ -783,9 +792,9 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
783
792
|
* @returns The row within the totals table if it's a totals row, null otherwise
|
|
784
793
|
*/
|
|
785
794
|
totalsRow(y) {
|
|
786
|
-
var _this$totals$
|
|
787
|
-
var totalsRowCount = (_this$totals$
|
|
788
|
-
var showOnTop = (_this$totals$showOnTo2 = (_this$
|
|
795
|
+
var _this$totals$operatio5, _this$totals0, _this$totals$showOnTo2, _this$totals1;
|
|
796
|
+
var totalsRowCount = (_this$totals$operatio5 = (_this$totals0 = this.totals) === null || _this$totals0 === void 0 || (_this$totals0 = _this$totals0.operationOrder) === null || _this$totals0 === void 0 ? void 0 : _this$totals0.length) !== null && _this$totals$operatio5 !== void 0 ? _this$totals$operatio5 : 0;
|
|
797
|
+
var showOnTop = (_this$totals$showOnTo2 = (_this$totals1 = this.totals) === null || _this$totals1 === void 0 ? void 0 : _this$totals1.showOnTop) !== null && _this$totals$showOnTo2 !== void 0 ? _this$totals$showOnTo2 : false;
|
|
789
798
|
var totalsRow = showOnTop ? y : y - this.table.size;
|
|
790
799
|
if (totalsRow >= 0 && totalsRow < totalsRowCount) {
|
|
791
800
|
return totalsRow;
|
|
@@ -858,8 +867,8 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
858
867
|
}
|
|
859
868
|
copyTotalsData(totalsData) {
|
|
860
869
|
var _this$totals$defaultO2,
|
|
861
|
-
_this$
|
|
862
|
-
_this$
|
|
870
|
+
_this$totals10,
|
|
871
|
+
_this$totals11,
|
|
863
872
|
_this = this;
|
|
864
873
|
if (totalsData == null) {
|
|
865
874
|
log.warn('invalid data!');
|
|
@@ -875,12 +884,12 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
875
884
|
}
|
|
876
885
|
var dataMap = new Map();
|
|
877
886
|
var row = rows[0];
|
|
878
|
-
var defaultOperation = (_this$totals$defaultO2 = (_this$
|
|
879
|
-
var operationMap = (_this$
|
|
887
|
+
var defaultOperation = (_this$totals$defaultO2 = (_this$totals10 = this.totals) === null || _this$totals10 === void 0 ? void 0 : _this$totals10.defaultOperation) !== null && _this$totals$defaultO2 !== void 0 ? _this$totals$defaultO2 : AggregationOperation.SUM;
|
|
888
|
+
var operationMap = (_this$totals11 = this.totals) === null || _this$totals11 === void 0 ? void 0 : _this$totals11.operationMap;
|
|
880
889
|
var _loop = function _loop() {
|
|
881
890
|
var _operationMap$name$, _operationMap$name;
|
|
882
891
|
var column = columns[c];
|
|
883
|
-
var [name, operation = (_operationMap$name$ = operationMap === null || operationMap === void 0
|
|
892
|
+
var [name, operation = (_operationMap$name$ = operationMap === null || operationMap === void 0 || (_operationMap$name = operationMap[name]) === null || _operationMap$name === void 0 ? void 0 : _operationMap$name[0]) !== null && _operationMap$name$ !== void 0 ? _operationMap$name$ : defaultOperation] = column.name.split('__');
|
|
884
893
|
if (!dataMap.has(operation)) {
|
|
885
894
|
dataMap.set(operation, {
|
|
886
895
|
data: new Map()
|
|
@@ -923,8 +932,8 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
923
932
|
columns
|
|
924
933
|
} = data;
|
|
925
934
|
for (var r = 0; r < data.rows.length; r += 1) {
|
|
926
|
-
var
|
|
927
|
-
var newRow = this.extractViewportRow(
|
|
935
|
+
var row = data.rows[r];
|
|
936
|
+
var newRow = this.extractViewportRow(row, columns);
|
|
928
937
|
newData.rows.push(newRow);
|
|
929
938
|
}
|
|
930
939
|
return newData;
|
|
@@ -932,11 +941,11 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
932
941
|
extractViewportRow(row, columns) {
|
|
933
942
|
var data = new Map();
|
|
934
943
|
for (var c = 0; c < columns.length; c += 1) {
|
|
935
|
-
var
|
|
936
|
-
var index = this.getColumnIndexByName(
|
|
937
|
-
data.set(index !== null && index !== void 0 ? index :
|
|
938
|
-
value: row.get(
|
|
939
|
-
format: row.getFormat(
|
|
944
|
+
var column = columns[c];
|
|
945
|
+
var index = this.getColumnIndexByName(column.name);
|
|
946
|
+
data.set(index !== null && index !== void 0 ? index : column.name, {
|
|
947
|
+
value: row.get(column),
|
|
948
|
+
format: row.getFormat(column)
|
|
940
949
|
});
|
|
941
950
|
}
|
|
942
951
|
return {
|
|
@@ -968,6 +977,12 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
968
977
|
this.formattedStringData = [];
|
|
969
978
|
this.dispatchEvent(new EventShimCustomEvent(IrisGridModel.EVENT.FORMATTER_UPDATED));
|
|
970
979
|
}
|
|
980
|
+
get columnAlignmentMap() {
|
|
981
|
+
return this.irisColumnAlignmentMap;
|
|
982
|
+
}
|
|
983
|
+
set columnAlignmentMap(columnAlignmentMap) {
|
|
984
|
+
this.irisColumnAlignmentMap = columnAlignmentMap;
|
|
985
|
+
}
|
|
971
986
|
displayString(value, columnType) {
|
|
972
987
|
var columnName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
973
988
|
var formatOverride = arguments.length > 3 ? arguments[3] : undefined;
|
|
@@ -1026,11 +1041,6 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
1026
1041
|
this.addTotalsListeners(this.totalsTable);
|
|
1027
1042
|
}
|
|
1028
1043
|
}
|
|
1029
|
-
|
|
1030
|
-
/**
|
|
1031
|
-
* Applies the current viewport to the underlying table.
|
|
1032
|
-
*/
|
|
1033
|
-
|
|
1034
1044
|
applyBufferedViewport(viewportTop, viewportBottom, columns) {
|
|
1035
1045
|
this.dispatchEvent(new EventShimCustomEvent(IrisGridModel.EVENT.VIEWPORT_UPDATED));
|
|
1036
1046
|
log.debug2('applyBufferedViewport', viewportTop, viewportBottom, columns);
|
|
@@ -1201,8 +1211,8 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
1201
1211
|
assertNotNull(range.startColumn);
|
|
1202
1212
|
// Check if any of the columns in grid range are key columns
|
|
1203
1213
|
var bound = (_range$endColumn = range.endColumn) !== null && _range$endColumn !== void 0 ? _range$endColumn : this.table.size;
|
|
1204
|
-
for (var
|
|
1205
|
-
if (this.isKeyColumn(
|
|
1214
|
+
for (var column = range.startColumn; column <= bound; column += 1) {
|
|
1215
|
+
if (this.isKeyColumn(column)) {
|
|
1206
1216
|
isKeyColumnInRange = true;
|
|
1207
1217
|
break;
|
|
1208
1218
|
}
|
|
@@ -1274,8 +1284,8 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
1274
1284
|
var column = _this6.columns[x];
|
|
1275
1285
|
columnSet.add(column);
|
|
1276
1286
|
if (formattedText[x] === undefined) {
|
|
1277
|
-
var
|
|
1278
|
-
formattedText[x] =
|
|
1287
|
+
var value = _this6.tableUtils.makeValue(column.type, text, _this6.formatter.timeZone);
|
|
1288
|
+
formattedText[x] = value != null ? _this6.displayString(value, column.type, column.name) : null;
|
|
1279
1289
|
}
|
|
1280
1290
|
_this6.cachePendingValue(x, y, formattedText[x]);
|
|
1281
1291
|
});
|
|
@@ -1396,11 +1406,11 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
1396
1406
|
data: new Map()
|
|
1397
1407
|
});
|
|
1398
1408
|
}
|
|
1399
|
-
var
|
|
1400
|
-
assertNotNull(
|
|
1409
|
+
var row = newDataMap.get(pendingRow);
|
|
1410
|
+
assertNotNull(row);
|
|
1401
1411
|
var {
|
|
1402
1412
|
data: rowData
|
|
1403
|
-
} =
|
|
1413
|
+
} = row;
|
|
1404
1414
|
var newRowData = new Map(rowData);
|
|
1405
1415
|
if (value != null) {
|
|
1406
1416
|
newRowData.set(x, {
|
|
@@ -1410,7 +1420,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
1410
1420
|
newRowData.delete(x);
|
|
1411
1421
|
}
|
|
1412
1422
|
if (newRowData.size > 0) {
|
|
1413
|
-
newDataMap.set(pendingRow, _objectSpread(_objectSpread({},
|
|
1423
|
+
newDataMap.set(pendingRow, _objectSpread(_objectSpread({}, row), {}, {
|
|
1414
1424
|
data: newRowData
|
|
1415
1425
|
}));
|
|
1416
1426
|
} else {
|
|
@@ -1430,7 +1440,7 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
1430
1440
|
if (!rowMap.has(y)) {
|
|
1431
1441
|
rowMap.set(y, []);
|
|
1432
1442
|
}
|
|
1433
|
-
(_rowMap$get = rowMap.get(y)) === null || _rowMap$get === void 0
|
|
1443
|
+
(_rowMap$get = rowMap.get(y)) === null || _rowMap$get === void 0 || _rowMap$get.push(edit);
|
|
1434
1444
|
return rowMap;
|
|
1435
1445
|
}, new Map());
|
|
1436
1446
|
var ranges = GridRange.consolidate(edits.map(edit => {
|
|
@@ -1546,8 +1556,8 @@ class IrisGridTableModelTemplate extends IrisGridModel {
|
|
|
1546
1556
|
}
|
|
1547
1557
|
isValidForCell(x, y, value) {
|
|
1548
1558
|
try {
|
|
1549
|
-
var
|
|
1550
|
-
this.tableUtils.makeValue(
|
|
1559
|
+
var column = this.columns[x];
|
|
1560
|
+
this.tableUtils.makeValue(column.type, value, this.formatter.timeZone);
|
|
1551
1561
|
return true;
|
|
1552
1562
|
} catch (e) {
|
|
1553
1563
|
return false;
|