@deephaven/iris-grid 0.13.3-treemap.2 → 0.14.0

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 (184) hide show
  1. package/dist/AdvancedFilterCreator.d.ts +69 -63
  2. package/dist/AdvancedFilterCreator.d.ts.map +1 -1
  3. package/dist/AdvancedFilterCreator.js +79 -73
  4. package/dist/AdvancedFilterCreator.js.map +1 -1
  5. package/dist/AdvancedFilterCreatorSelectValue.d.ts +45 -45
  6. package/dist/AdvancedFilterCreatorSelectValue.d.ts.map +1 -1
  7. package/dist/AdvancedFilterCreatorSelectValue.js +32 -36
  8. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  9. package/dist/AdvancedFilterCreatorSelectValueList.d.ts +47 -52
  10. package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
  11. package/dist/AdvancedFilterCreatorSelectValueList.js +24 -39
  12. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  13. package/dist/ColumnStatistics.d.ts +34 -22
  14. package/dist/ColumnStatistics.d.ts.map +1 -1
  15. package/dist/ColumnStatistics.js +8 -12
  16. package/dist/ColumnStatistics.js.map +1 -1
  17. package/dist/CommonTypes.d.ts +58 -0
  18. package/dist/CommonTypes.d.ts.map +1 -0
  19. package/dist/CommonTypes.js +2 -0
  20. package/dist/CommonTypes.js.map +1 -0
  21. package/dist/CrossColumnSearch.d.ts +26 -24
  22. package/dist/CrossColumnSearch.d.ts.map +1 -1
  23. package/dist/CrossColumnSearch.js +9 -13
  24. package/dist/CrossColumnSearch.js.map +1 -1
  25. package/dist/FilterInputField.d.ts +48 -51
  26. package/dist/FilterInputField.d.ts.map +1 -1
  27. package/dist/FilterInputField.js +30 -27
  28. package/dist/FilterInputField.js.map +1 -1
  29. package/dist/IrisGrid.d.ts +409 -453
  30. package/dist/IrisGrid.d.ts.map +1 -1
  31. package/dist/IrisGrid.js +514 -449
  32. package/dist/IrisGrid.js.map +1 -1
  33. package/dist/IrisGridCellOverflowModal.d.ts +1 -1
  34. package/dist/IrisGridCellOverflowModal.d.ts.map +1 -1
  35. package/dist/IrisGridCellOverflowModal.js.map +1 -1
  36. package/dist/IrisGridCopyHandler.d.ts +52 -46
  37. package/dist/IrisGridCopyHandler.d.ts.map +1 -1
  38. package/dist/IrisGridCopyHandler.js +22 -38
  39. package/dist/IrisGridCopyHandler.js.map +1 -1
  40. package/dist/IrisGridMetricCalculator.d.ts +5 -4
  41. package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
  42. package/dist/IrisGridMetricCalculator.js +5 -1
  43. package/dist/IrisGridMetricCalculator.js.map +1 -1
  44. package/dist/IrisGridModel.d.ts +37 -35
  45. package/dist/IrisGridModel.d.ts.map +1 -1
  46. package/dist/IrisGridModel.js +19 -3
  47. package/dist/IrisGridModel.js.map +1 -1
  48. package/dist/IrisGridModelFactory.d.ts +7 -5
  49. package/dist/IrisGridModelFactory.d.ts.map +1 -1
  50. package/dist/IrisGridModelFactory.js +5 -5
  51. package/dist/IrisGridModelFactory.js.map +1 -1
  52. package/dist/IrisGridModelUpdater.d.ts +13 -11
  53. package/dist/IrisGridModelUpdater.d.ts.map +1 -1
  54. package/dist/IrisGridModelUpdater.js.map +1 -1
  55. package/dist/IrisGridPartitionSelector.d.ts +38 -39
  56. package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
  57. package/dist/IrisGridPartitionSelector.js +18 -24
  58. package/dist/IrisGridPartitionSelector.js.map +1 -1
  59. package/dist/IrisGridProxyModel.d.ts +111 -32
  60. package/dist/IrisGridProxyModel.d.ts.map +1 -1
  61. package/dist/IrisGridProxyModel.js +212 -170
  62. package/dist/IrisGridProxyModel.js.map +1 -1
  63. package/dist/IrisGridRenderer.d.ts +59 -31
  64. package/dist/IrisGridRenderer.d.ts.map +1 -1
  65. package/dist/IrisGridRenderer.js +92 -46
  66. package/dist/IrisGridRenderer.js.map +1 -1
  67. package/dist/IrisGridTableModel.d.ts +48 -147
  68. package/dist/IrisGridTableModel.d.ts.map +1 -1
  69. package/dist/IrisGridTableModel.js +58 -1381
  70. package/dist/IrisGridTableModel.js.map +1 -1
  71. package/dist/IrisGridTableModelTemplate.d.ts +219 -0
  72. package/dist/IrisGridTableModelTemplate.d.ts.map +1 -0
  73. package/dist/IrisGridTableModelTemplate.js +1623 -0
  74. package/dist/IrisGridTableModelTemplate.js.map +1 -0
  75. package/dist/IrisGridTestUtils.d.ts +18 -14
  76. package/dist/IrisGridTestUtils.d.ts.map +1 -1
  77. package/dist/IrisGridTestUtils.js +29 -1
  78. package/dist/IrisGridTestUtils.js.map +1 -1
  79. package/dist/IrisGridTheme.d.ts +35 -3
  80. package/dist/IrisGridTheme.d.ts.map +1 -1
  81. package/dist/IrisGridTheme.js.map +1 -1
  82. package/dist/IrisGridTreeTableModel.d.ts +26 -7
  83. package/dist/IrisGridTreeTableModel.d.ts.map +1 -1
  84. package/dist/IrisGridTreeTableModel.js +24 -14
  85. package/dist/IrisGridTreeTableModel.js.map +1 -1
  86. package/dist/IrisGridUtils.d.ts +257 -162
  87. package/dist/IrisGridUtils.d.ts.map +1 -1
  88. package/dist/IrisGridUtils.js +132 -95
  89. package/dist/IrisGridUtils.js.map +1 -1
  90. package/dist/MissingKeyError.d.ts +5 -3
  91. package/dist/MissingKeyError.d.ts.map +1 -1
  92. package/dist/MissingKeyError.js.map +1 -1
  93. package/dist/PartitionSelectorSearch.d.ts +61 -40
  94. package/dist/PartitionSelectorSearch.d.ts.map +1 -1
  95. package/dist/PartitionSelectorSearch.js +25 -15
  96. package/dist/PartitionSelectorSearch.js.map +1 -1
  97. package/dist/PendingDataBottomBar.d.ts +3 -6
  98. package/dist/PendingDataBottomBar.d.ts.map +1 -1
  99. package/dist/PendingDataBottomBar.js.map +1 -1
  100. package/dist/TableViewportUpdater.d.ts +39 -55
  101. package/dist/TableViewportUpdater.d.ts.map +1 -1
  102. package/dist/TableViewportUpdater.js +42 -64
  103. package/dist/TableViewportUpdater.js.map +1 -1
  104. package/dist/TreeTableViewportUpdater.d.ts +29 -37
  105. package/dist/TreeTableViewportUpdater.d.ts.map +1 -1
  106. package/dist/TreeTableViewportUpdater.js +39 -50
  107. package/dist/TreeTableViewportUpdater.js.map +1 -1
  108. package/dist/index.d.ts +9 -0
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +9 -0
  111. package/dist/index.js.map +1 -1
  112. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.d.ts.map +1 -1
  113. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
  114. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts +1 -1
  115. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts.map +1 -1
  116. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +2 -0
  117. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
  118. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +1 -1
  119. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
  120. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +41 -130
  121. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
  122. package/dist/mousehandlers/IrisGridContextMenuHandler.js +426 -317
  123. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  124. package/dist/mousehandlers/IrisGridFilterMouseHandler.d.ts.map +1 -1
  125. package/dist/mousehandlers/IrisGridFilterMouseHandler.js +2 -2
  126. package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
  127. package/dist/mousehandlers/IrisGridSortMouseHandler.js +1 -1
  128. package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
  129. package/dist/mousehandlers/PendingMouseHandler.d.ts +8 -4
  130. package/dist/mousehandlers/PendingMouseHandler.d.ts.map +1 -1
  131. package/dist/mousehandlers/PendingMouseHandler.js +4 -5
  132. package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
  133. package/dist/sidebar/ChartBuilder.d.ts +48 -33
  134. package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
  135. package/dist/sidebar/ChartBuilder.js +28 -27
  136. package/dist/sidebar/ChartBuilder.js.map +1 -1
  137. package/dist/sidebar/CustomColumnBuilder.d.ts +51 -41
  138. package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
  139. package/dist/sidebar/CustomColumnBuilder.js +22 -18
  140. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  141. package/dist/sidebar/CustomColumnInput.d.ts +26 -36
  142. package/dist/sidebar/CustomColumnInput.d.ts.map +1 -1
  143. package/dist/sidebar/CustomColumnInput.js +11 -20
  144. package/dist/sidebar/CustomColumnInput.js.map +1 -1
  145. package/dist/sidebar/InputEditor.d.ts +34 -35
  146. package/dist/sidebar/InputEditor.d.ts.map +1 -1
  147. package/dist/sidebar/InputEditor.js +43 -24
  148. package/dist/sidebar/InputEditor.js.map +1 -1
  149. package/dist/sidebar/RollupRows.d.ts +67 -52
  150. package/dist/sidebar/RollupRows.d.ts.map +1 -1
  151. package/dist/sidebar/RollupRows.js +51 -53
  152. package/dist/sidebar/RollupRows.js.map +1 -1
  153. package/dist/sidebar/SelectDistinctBuilder.d.ts +27 -21
  154. package/dist/sidebar/SelectDistinctBuilder.d.ts.map +1 -1
  155. package/dist/sidebar/SelectDistinctBuilder.js +6 -10
  156. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  157. package/dist/sidebar/TableCsvExporter.d.ts +42 -39
  158. package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
  159. package/dist/sidebar/TableCsvExporter.js +12 -20
  160. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  161. package/dist/sidebar/TableSaver.d.ts +59 -60
  162. package/dist/sidebar/TableSaver.d.ts.map +1 -1
  163. package/dist/sidebar/TableSaver.js +154 -68
  164. package/dist/sidebar/TableSaver.js.map +1 -1
  165. package/dist/sidebar/VisibilityOrderingBuilder.d.ts +56 -45
  166. package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
  167. package/dist/sidebar/VisibilityOrderingBuilder.js +34 -29
  168. package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
  169. package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
  170. package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
  171. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts +2 -1
  172. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
  173. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
  174. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +6 -5
  175. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
  176. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +5 -0
  177. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
  178. package/dist/sidebar/icons/index.d.ts +7 -7
  179. package/dist/sidebar/icons/index.d.ts.map +1 -1
  180. package/dist/sidebar/icons/index.js.map +1 -1
  181. package/dist/sidebar/index.d.ts +12 -12
  182. package/dist/sidebar/index.d.ts.map +1 -1
  183. package/dist/sidebar/index.js.map +1 -1
  184. package/package.json +17 -16
@@ -1,191 +1,299 @@
1
- export class IrisGrid extends React.Component<any, any, any> {
1
+ /// <reference types="lodash" />
2
+ import React, { Component, CSSProperties, ReactElement, ReactNode } from 'react';
3
+ import memoize from 'memoizee';
4
+ import PropTypes from 'prop-types';
5
+ import { Tooltip, ContextAction } from '@deephaven/components';
6
+ import { Grid, GridMetrics, GridMouseHandler, GridRange, GridRangeIndex, GridThemeType, KeyHandler, ModelIndex, ModelSizeMap, MoveOperation, VisibleIndex, GridState } from '@deephaven/grid';
7
+ import { Column, CustomColumn, FilterCondition, Sort, Table, TableViewportSubscription } from '@deephaven/jsapi-shim';
8
+ import { Formatter, FormattingRule, ReverseType, SortDirection, DateTimeColumnFormatterOptions, TableColumnFormat } from '@deephaven/jsapi-utils';
9
+ import { Pending } from '@deephaven/utils';
10
+ import { FormattingRule as SidebarFormattingRule } from './sidebar/conditional-formatting/ConditionalFormattingUtils';
11
+ import { CopyOperation } from './IrisGridCopyHandler';
12
+ import FilterInputField from './FilterInputField';
13
+ import IrisGridMetricCalculator from './IrisGridMetricCalculator';
14
+ import IrisGridRenderer from './IrisGridRenderer';
15
+ import { IrisGridThemeType } from './IrisGridTheme';
16
+ import './IrisGrid.scss';
17
+ import { TableSaver } from './sidebar';
18
+ import CrossColumnSearch from './CrossColumnSearch';
19
+ import IrisGridModel from './IrisGridModel';
20
+ import AdvancedSettingsType from './sidebar/AdvancedSettingsType';
21
+ import { AdvancedSettingsMenuCallback } from './sidebar/AdvancedSettingsMenu';
22
+ import { Aggregation, AggregationSettings } from './sidebar/aggregations/Aggregations';
23
+ import { ChartBuilderSettings } from './sidebar/ChartBuilder';
24
+ import AggregationOperation from './sidebar/aggregations/AggregationOperation';
25
+ import { UIRollupConfig } from './sidebar/RollupRows';
26
+ import { VisibilityOptionType } from './sidebar/VisibilityOrderingBuilder';
27
+ import { AdvancedFilterMap, ColumnName, QuickFilterMap, AggregationMap, OperationMap, Action, OptionItem, UITotalsTableConfig, InputFilter, PendingDataMap, AdvancedFilterOptions } from './CommonTypes';
28
+ declare type Settings = {
29
+ defaultDateTimeFormat?: string;
30
+ defaultDecimalFormatOptions?: {
31
+ defaultFormatString?: string;
32
+ };
33
+ defaultIntegerFormatOptions?: {
34
+ defaultFormatString?: string;
35
+ };
36
+ formatter?: FormattingRule[];
37
+ timeZone?: string;
38
+ showTimeZone?: boolean;
39
+ showTSeparator?: boolean;
40
+ truncateNumbersWithPound?: boolean;
41
+ };
42
+ export interface IrisGridProps {
43
+ children: React.ReactNode;
44
+ advancedFilters: AdvancedFilterMap;
45
+ advancedSettings: Map<AdvancedSettingsType, boolean>;
46
+ alwaysFetchColumns: ColumnName[];
47
+ isFilterBarShown: boolean;
48
+ applyInputFiltersOnInit: boolean;
49
+ conditionalFormats: SidebarFormattingRule[];
50
+ customColumnFormatMap: Map<ColumnName, FormattingRule>;
51
+ movedColumns: MoveOperation[];
52
+ movedRows: MoveOperation[];
53
+ inputFilters: InputFilter[];
54
+ customFilters: unknown[];
55
+ model: IrisGridModel;
56
+ onCreateChart: (settings: ChartBuilderSettings, model: IrisGridModel) => void;
57
+ onColumnSelected: (column: Column) => void;
58
+ onError: (error: unknown) => void;
59
+ onDataSelected: (index: ModelIndex, map: Record<ColumnName, unknown>) => void;
60
+ onStateChange: (irisGridState: IrisGridState, gridState: GridState) => void;
61
+ onPartitionAppend: (partitionColumn: Column, value: string) => void;
62
+ onAdvancedSettingsChange: AdvancedSettingsMenuCallback;
63
+ partition: string;
64
+ partitionColumn: Column;
65
+ sorts: Sort[];
66
+ reverseType: ReverseType;
67
+ quickFilters: QuickFilterMap | null;
68
+ customColumns: ColumnName[];
69
+ selectDistinctColumns: ColumnName[];
70
+ settings?: Settings;
71
+ userColumnWidths: ModelSizeMap;
72
+ userRowHeights: ModelSizeMap;
73
+ onSelectionChanged: (gridRanges: GridRange[]) => void;
74
+ rollupConfig?: UIRollupConfig;
75
+ aggregationSettings: AggregationSettings;
76
+ isSelectingColumn: boolean;
77
+ isSelectingPartition: boolean;
78
+ isStuckToBottom: boolean;
79
+ isStuckToRight: boolean;
80
+ columnSelectionValidator: (value: Column | null) => false;
81
+ columnAllowedCursor: string;
82
+ columnNotAllowedCursor: string;
83
+ name: string;
84
+ onlyFetchVisibleColumns: boolean;
85
+ showSearchBar: boolean;
86
+ searchValue: string;
87
+ selectedSearchColumns: ColumnName[];
88
+ invertSearchColumns: boolean;
89
+ onContextMenu: (obj: {
90
+ model: IrisGridModel;
91
+ value: unknown;
92
+ valueText: string | null;
93
+ column: Column;
94
+ rowIndex: GridRangeIndex;
95
+ columnIndex: GridRangeIndex;
96
+ modelRow: GridRangeIndex;
97
+ modelColumn: GridRangeIndex;
98
+ }) => ContextAction;
99
+ pendingDataMap?: PendingDataMap;
100
+ getDownloadWorker: () => Promise<ServiceWorker>;
101
+ canCopy: boolean;
102
+ canDownloadCsv: boolean;
103
+ frozenColumns: ColumnName[];
104
+ theme: GridThemeType;
105
+ canToggleSearch: boolean;
106
+ }
107
+ export interface IrisGridState {
108
+ isFilterBarShown: boolean;
109
+ isSelectingPartition: boolean;
110
+ focusedFilterBarColumn: number | null;
111
+ metricCalculator: IrisGridMetricCalculator;
112
+ metrics?: GridMetrics;
113
+ keyHandlers: KeyHandler[];
114
+ mouseHandlers: GridMouseHandler[];
115
+ partition: string;
116
+ partitionColumn: Column;
117
+ partitionTable: Table | null;
118
+ partitionFilters: FilterCondition[];
119
+ quickFilters: QuickFilterMap;
120
+ advancedFilters: AdvancedFilterMap;
121
+ shownAdvancedFilter: number | null;
122
+ hoverAdvancedFilter: number | null;
123
+ sorts: Sort[];
124
+ reverseType: ReverseType;
125
+ customColumns: ColumnName[];
126
+ selectDistinctColumns: ColumnName[];
127
+ selectedRanges: GridRange[];
128
+ copyOperation: CopyOperation | null;
129
+ loadingText: string | null;
130
+ loadingScrimProgress: number | null;
131
+ loadingSpinnerShown: boolean;
132
+ movedColumns: MoveOperation[];
133
+ movedRows: MoveOperation[];
134
+ shownColumnTooltip: number | null;
135
+ formatter: Formatter;
136
+ isMenuShown: boolean;
137
+ customColumnFormatMap: Map<ColumnName, FormattingRule>;
138
+ conditionalFormats: SidebarFormattingRule[];
139
+ conditionalFormatEditIndex: number | null;
140
+ conditionalFormatPreview?: SidebarFormattingRule | null;
141
+ hoverSelectColumn: GridRangeIndex;
142
+ isTableDownloading: boolean;
143
+ isReady: boolean;
144
+ tableDownloadStatus: string;
145
+ tableDownloadProgress: number;
146
+ tableDownloadEstimatedTime: number | null;
147
+ showSearchBar: boolean;
148
+ searchFilter?: FilterCondition;
149
+ searchValue: string;
150
+ selectedSearchColumns: ColumnName[];
151
+ invertSearchColumns: boolean;
152
+ rollupConfig?: UIRollupConfig;
153
+ rollupSelectedColumns: [];
154
+ aggregationSettings: AggregationSettings;
155
+ selectedAggregation: Aggregation | null;
156
+ openOptions: OptionItem[];
157
+ pendingRowCount: number;
158
+ pendingDataMap: PendingDataMap;
159
+ pendingDataErrors: Map<number, Error[]>;
160
+ pendingSavePromise: Promise<void> | null;
161
+ pendingSaveError: string | null;
162
+ toastMessage: JSX.Element | null;
163
+ frozenColumns: ColumnName[];
164
+ showOverflowModal: boolean;
165
+ overflowText: string;
166
+ overflowButtonTooltipProps: CSSProperties | null;
167
+ }
168
+ export declare class IrisGrid extends Component<IrisGridProps, IrisGridState> {
2
169
  static minDebounce: number;
3
170
  static maxDebounce: number;
4
171
  static loadingSpinnerDelay: number;
5
- static makeQuickFilter(column: any, text: any, timeZone: any): import("@deephaven/jsapi-shim").FilterCondition | null;
6
- constructor(props: any);
7
- handleAdvancedFilterChange(column: any, filter: any, options: any): void;
8
- handleAdvancedFilterSortChange(column: any, direction: any, addToExisting?: boolean): void;
9
- handleAdvancedFilterDone(): void;
10
- handleAdvancedMenuOpened(column: any): void;
11
- handleAdvancedMenuClosed(columnIndex: any): void;
12
- /**
13
- * A specific aggregation has been modified
14
- * @param {Aggregation} aggregation The new aggregation
15
- */
16
- handleAggregationChange(aggregation: Aggregation): void;
17
- /**
18
- * User added, removed, or changed the order of aggregations, or position
19
- * @param {AggregationSettings} aggregationSettings The new aggregation settings
20
- */
21
- handleAggregationsChange(aggregationSettings: AggregationSettings): void;
22
- /**
23
- * An aggregations has been selected for editing
24
- * @param {Aggregation} aggregation The aggregation to edit
25
- */
26
- handleAggregationEdit(aggregation: Aggregation): void;
27
- handleAnimationLoop(): void;
28
- handleAnimationStart(): void;
29
- handleAnimationEnd(): void;
30
- handleChartChange(): void;
31
- handleChartCreate(settings: any): void;
32
- handleGridError(error: any): void;
33
- handleFilterBarChange(value: any): void;
34
- handleFilterBarDone(setGridFocus?: boolean, defocusInput?: boolean): void;
35
- handleFilterBarTab(backward: any): void;
36
- handleCancel(): void;
37
- handleMenu(): void;
38
- handleMenuClose(): void;
39
- handleMenuSelect(option: any): void;
40
- handleMenuBack(): void;
41
- handleRequestFailed(event: any): void;
42
- handleSelectionChanged(selectedRanges: any): void;
43
- handleMovedColumnsChanged(movedColumns: any, onChangeApplied?: () => void): void;
44
- handleUpdate(): void;
45
- handleTooltipRef(tooltip: any): void;
46
- handleViewChanged(metrics: any): void;
47
- handleFormatSelection(modelIndex: any, selectedFormat: any): void;
48
- handleConditionalFormatCreate(): void;
49
- handleConditionalFormatEdit(index: any): void;
50
- handleConditionalFormatsChange(conditionalFormats: any): void;
51
- handleConditionalFormatEditorSave(config: any): void;
52
- handleConditionalFormatEditorUpdate(conditionalFormatPreview: any): void;
53
- handleConditionalFormatEditorCancel(): void;
54
- handleUpdateCustomColumns(customColumns: any): void;
55
- handleCustomColumnsChanged(): void;
56
- handleSelectDistinctChanged(columnNames: any): void;
57
- handlePendingDataUpdated(): void;
58
- handlePendingCommitClicked(): Promise<void>;
59
- handlePendingDiscardClicked(): Promise<void>;
60
- handleDownloadTable(...args: any[]): void;
61
- handleDownloadTableStart(): void;
62
- handleCancelDownloadTable(): void;
63
- handleDownloadCanceled(): void;
64
- handleDownloadProgressUpdate(tableDownloadProgress: any, tableDownloadEstimatedTime: any): void;
65
- handleDownloadCompleted(): void;
66
- handlePartitionAppend(value: any): void;
67
- handlePartitionChange(partition: any): void;
68
- handlePartitionFetchAll(): void;
69
- handlePartitionDone(): void;
70
- handleColumnVisibilityChanged(modelIndexes: any, visibilityOption: any): void;
71
- handleCrossColumnSearch(searchValue: any, selectedSearchColumns: any, invertSearchColumns: any): void;
72
- handleRollupChange(rollupConfig: any): void;
73
- handleOverflowClose(): void;
74
- getColumnBoundingRect(): {
75
- top: number;
76
- left: number;
77
- bottom: any;
78
- right: number;
79
- width: number;
80
- height: any;
81
- };
82
- updateSearchFilter(searchValue: any, selectedSearchColumns: any, columns: any, invertSearchColumns: any): void;
83
- grid: Grid | null;
84
- gridWrapper: HTMLDivElement | null;
85
- lastFocusedFilterBarColumn: any;
86
- lastLoadedConfig: {
172
+ static defaultProps: {
173
+ children: null;
87
174
  advancedFilters: Map<any, any>;
88
- aggregationSettings: any;
89
- customColumns: never[];
175
+ advancedSettings: Map<any, any>;
176
+ alwaysFetchColumns: never[];
177
+ conditionalFormats: never[];
178
+ customColumnFormatMap: Map<any, any>;
179
+ isFilterBarShown: boolean;
180
+ applyInputFiltersOnInit: boolean;
181
+ movedColumns: never[];
182
+ movedRows: never[];
183
+ inputFilters: never[];
184
+ customFilters: never[];
185
+ onCreateChart: undefined;
186
+ onColumnSelected: () => void;
187
+ onDataSelected: () => void;
188
+ onError: () => void;
189
+ onStateChange: () => void;
190
+ onPartitionAppend: () => void;
191
+ onAdvancedSettingsChange: () => void;
192
+ partition: null;
193
+ partitionColumn: null;
90
194
  quickFilters: Map<any, any>;
91
- reverseType: "none";
92
- rollupConfig: any;
93
- searchFilter: import("@deephaven/jsapi-shim").FilterCondition | null;
94
- selectDistinctColumns: any;
195
+ selectDistinctColumns: never[];
95
196
  sorts: never[];
96
- } | null;
97
- tooltip: any;
197
+ reverseType: "none";
198
+ customColumns: never[];
199
+ aggregationSettings: Readonly<{
200
+ aggregations: never[];
201
+ showOnTop: boolean;
202
+ }>;
203
+ rollupConfig: undefined;
204
+ userColumnWidths: Map<any, any>;
205
+ userRowHeights: Map<any, any>;
206
+ onSelectionChanged: () => void;
207
+ isSelectingColumn: boolean;
208
+ isSelectingPartition: boolean;
209
+ isStuckToBottom: boolean;
210
+ isStuckToRight: boolean;
211
+ columnSelectionValidator: null;
212
+ columnAllowedCursor: null;
213
+ columnNotAllowedCursor: null;
214
+ name: string;
215
+ onlyFetchVisibleColumns: boolean;
216
+ showSearchBar: boolean;
217
+ searchValue: string;
218
+ selectedSearchColumns: null;
219
+ invertSearchColumns: boolean;
220
+ onContextMenu: () => void;
221
+ pendingDataMap: Map<any, any>;
222
+ getDownloadWorker: undefined;
223
+ settings: {
224
+ timeZone: string;
225
+ defaultDateTimeFormat: string;
226
+ showTimeZone: boolean;
227
+ showTSeparator: boolean;
228
+ truncateNumbersWithPound: boolean;
229
+ formatter: never[];
230
+ decimalFormatOptions: PropTypes.Requireable<PropTypes.InferProps<{
231
+ defaultFormatString: PropTypes.Requireable<string>;
232
+ }>>;
233
+ integerFormatOptions: PropTypes.Requireable<PropTypes.InferProps<{
234
+ defaultFormatString: PropTypes.Requireable<string>;
235
+ }>>;
236
+ };
237
+ canCopy: boolean;
238
+ canDownloadCsv: boolean;
239
+ frozenColumns: null;
240
+ theme: {};
241
+ canToggleSearch: boolean;
242
+ };
243
+ static makeQuickFilter(column: Column, text: string, timeZone: string): FilterCondition | null;
244
+ constructor(props: IrisGridProps);
245
+ componentDidMount(): void;
246
+ componentDidUpdate(prevProps: IrisGridProps): void;
247
+ componentWillUnmount(): void;
248
+ grid: Grid | null;
249
+ gridWrapper: HTMLDivElement | null;
250
+ lastFocusedFilterBarColumn?: number;
251
+ lastLoadedConfig: Pick<IrisGridState, 'advancedFilters' | 'aggregationSettings' | 'customColumns' | 'quickFilters' | 'reverseType' | 'rollupConfig' | 'searchFilter' | 'selectDistinctColumns' | 'sorts'> | null;
252
+ tooltip?: Tooltip;
98
253
  pending: Pending;
99
- globalColumnFormats: any[];
100
- dateTimeFormatterOptions: {};
101
- decimalFormatOptions: {};
102
- integerFormatOptions: {};
254
+ globalColumnFormats?: FormattingRule[];
255
+ dateTimeFormatterOptions?: DateTimeColumnFormatterOptions;
256
+ decimalFormatOptions: {
257
+ defaultFormatString?: string;
258
+ };
259
+ integerFormatOptions: {
260
+ defaultFormatString?: string;
261
+ };
103
262
  truncateNumbersWithPound: boolean;
104
- loadingScrimStartTime: number | null;
105
- loadingScrimFinishTime: number | null;
106
- loadingTimer: NodeJS.Timeout | null;
263
+ loadingScrimStartTime?: number;
264
+ loadingScrimFinishTime?: number;
265
+ animationFrame?: number;
266
+ loadingTimer?: ReturnType<typeof setTimeout>;
107
267
  renderer: IrisGridRenderer;
108
268
  tableSaver: TableSaver | null;
109
- crossColumnRef: React.RefObject<any>;
269
+ crossColumnRef: React.RefObject<CrossColumnSearch>;
110
270
  isAnimating: boolean;
111
- animationFrame: number | null;
112
- filterInputRef: React.RefObject<any>;
113
- toggleFilterBarAction: {
114
- action: () => void;
115
- shortcut: import("@deephaven/components").Shortcut;
116
- };
117
- toggleSearchBarAction: {
118
- action: () => void;
119
- shortcut: import("@deephaven/components").Shortcut;
120
- };
121
- discardAction: {
122
- action: () => void;
123
- shortcut: import("@deephaven/components").Shortcut;
124
- };
125
- commitAction: {
126
- action: () => void;
127
- shortcut: import("@deephaven/components").Shortcut;
128
- };
129
- contextActions: {
130
- action: () => void;
131
- shortcut: import("@deephaven/components").Shortcut;
132
- }[];
271
+ filterInputRef: React.RefObject<FilterInputField>;
272
+ toggleFilterBarAction: Action;
273
+ toggleSearchBarAction: Action;
274
+ discardAction: Action;
275
+ commitAction: Action;
276
+ contextActions: ContextAction[];
133
277
  getAdvancedMenuOpenedHandler: ((column: any) => () => void) & memoize.Memoized<(column: any) => () => void>;
134
- getCachedAdvancedFilterMenuActions: ((model: any, column: any, advancedFilterOptions: any, sortDirection: any, formatter: any) => JSX.Element) & memoize.Memoized<(model: any, column: any, advancedFilterOptions: any, sortDirection: any, formatter: any) => JSX.Element>;
135
- getCachedOptionItems: ((isChartBuilderAvailable: any, isCustomColumnsAvailable: any, isFormatColumnsAvailable: any, isRollupAvailable: any, isTotalsAvailable: any, isSelectDistinctAvailable: any, isExportAvailable: any, toggleFilterBarAction: any, toggleSearchBarAction: any, isFilterBarShown: any, showSearchBar: any, canDownloadCsv: any, canToggleSearch: any) => ({
136
- type: OptionType;
137
- title: string;
138
- icon: import("@fortawesome/fontawesome-common-types").IconDefinition;
139
- subtitle?: undefined;
140
- isOn?: undefined;
141
- onChange?: undefined;
142
- } | {
143
- type: OptionType;
144
- title: string;
145
- subtitle: any;
146
- icon: import("@fortawesome/fontawesome-common-types").IconDefinition;
147
- isOn: any;
148
- onChange: any;
149
- })[]) & memoize.Memoized<(isChartBuilderAvailable: any, isCustomColumnsAvailable: any, isFormatColumnsAvailable: any, isRollupAvailable: any, isTotalsAvailable: any, isSelectDistinctAvailable: any, isExportAvailable: any, toggleFilterBarAction: any, toggleSearchBarAction: any, isFilterBarShown: any, showSearchBar: any, canDownloadCsv: any, canToggleSearch: any) => ({
150
- type: OptionType;
151
- title: string;
152
- icon: import("@fortawesome/fontawesome-common-types").IconDefinition;
153
- subtitle?: undefined;
154
- isOn?: undefined;
155
- onChange?: undefined;
156
- } | {
157
- type: OptionType;
158
- title: string;
159
- subtitle: any;
160
- icon: import("@fortawesome/fontawesome-common-types").IconDefinition;
161
- isOn: any;
162
- onChange: any;
163
- })[]>;
278
+ getCachedAdvancedFilterMenuActions: ((model: any, column: any, advancedFilterOptions: any, sortDirection?: SortDirection | undefined, formatter?: any) => JSX.Element) & memoize.Memoized<(model: any, column: any, advancedFilterOptions: any, sortDirection?: SortDirection | undefined, formatter?: any) => JSX.Element>;
279
+ getCachedOptionItems: ((isChartBuilderAvailable: any, isCustomColumnsAvailable: any, isFormatColumnsAvailable: any, isRollupAvailable: any, isTotalsAvailable: any, isSelectDistinctAvailable: any, isExportAvailable: any, toggleFilterBarAction: any, toggleSearchBarAction: any, isFilterBarShown: any, showSearchBar: any, canDownloadCsv: any, canToggleSearch: any) => OptionItem[]) & memoize.Memoized<(isChartBuilderAvailable: any, isCustomColumnsAvailable: any, isFormatColumnsAvailable: any, isRollupAvailable: any, isTotalsAvailable: any, isSelectDistinctAvailable: any, isExportAvailable: any, toggleFilterBarAction: any, toggleSearchBarAction: any, isFilterBarShown: any, showSearchBar: any, canDownloadCsv: any, canToggleSearch: any) => OptionItem[]>;
164
280
  getCachedHiddenColumns: ((hiddenColumns: any) => any) & memoize.Memoized<(hiddenColumns: any) => any>;
165
- getAggregationMap: ((columns: any, aggregations: any) => {}) & memoize.Memoized<(columns: any, aggregations: any) => {}>;
166
- getOperationMap: ((columns: any, aggregations: any) => {}) & memoize.Memoized<(columns: any, aggregations: any) => {}>;
167
- getOperationOrder: ((aggregations: any) => any) & memoize.Memoized<(aggregations: any) => any>;
168
- getCachedFormatColumns: ((columns: any, rules: any) => import("@deephaven/jsapi-shim").CustomColumn[]) & memoize.Memoized<(columns: any, rules: any) => import("@deephaven/jsapi-shim").CustomColumn[]>;
281
+ getAggregationMap: ((columns: Column[], aggregations: Aggregation[]) => AggregationMap) & memoize.Memoized<(columns: Column[], aggregations: Aggregation[]) => AggregationMap>;
282
+ getOperationMap: ((columns: Column[], aggregations: Aggregation[]) => OperationMap) & memoize.Memoized<(columns: Column[], aggregations: Aggregation[]) => OperationMap>;
283
+ getOperationOrder: ((aggregations: Aggregation[]) => AggregationOperation[]) & memoize.Memoized<(aggregations: Aggregation[]) => AggregationOperation[]>;
284
+ getCachedFormatColumns: ((columns: any, rules: any) => CustomColumn[]) & memoize.Memoized<(columns: any, rules: any) => CustomColumn[]>;
169
285
  getCachedModelColumns: ((model: any, customColumns: any) => any) & memoize.Memoized<(model: any, customColumns: any) => any>;
170
286
  /**
171
287
  * Builds formatColumns array based on the provided formatting rules with optional preview
172
- * @param {Column[]} columns Array of columns
173
- * @param {FormattingRule[]} rulesParam Array of formatting rules
174
- * @param {FormattingRule?} preview Optional temporary formatting rule for previewing live changes
175
- * @param {Number|null} editIndex Index in the rulesParam array to replace with the preview, null if preview not applicable
176
- * @returns {CustomColumn[]} Format columns array
288
+ * @param columns Array of columns
289
+ * @param rulesParam Array of formatting rules
290
+ * @param preview Optional temporary formatting rule for previewing live changes
291
+ * @param editIndex Index in the rulesParam array to replace with the preview, null if preview not applicable
292
+ * @returns Format columns array
177
293
  */
178
- getCachedPreviewFormatColumns: ((columns: any, rulesParam: any, preview: any, editIndex: any) => import("@deephaven/jsapi-shim").CustomColumn[]) & memoize.Memoized<(columns: any, rulesParam: any, preview: any, editIndex: any) => import("@deephaven/jsapi-shim").CustomColumn[]>;
179
- getModelRollupConfig: ((originalColumns: any, config: any, aggregationSettings: any) => Object) & memoize.Memoized<(originalColumns: any, config: any, aggregationSettings: any) => Object>;
180
- getModelTotalsConfig: ((columns: any, config: any, aggregationSettings: any) => {
181
- operationMap: {};
182
- operationOrder: any;
183
- showOnTop: any;
184
- } | null) & memoize.Memoized<(columns: any, config: any, aggregationSettings: any) => {
185
- operationMap: {};
186
- operationOrder: any;
187
- showOnTop: any;
188
- } | null>;
294
+ getCachedPreviewFormatColumns: ((columns: Column[], rulesParam: SidebarFormattingRule[], preview?: SidebarFormattingRule | undefined, editIndex?: number | undefined) => CustomColumn[]) & memoize.Memoized<(columns: Column[], rulesParam: SidebarFormattingRule[], preview?: SidebarFormattingRule | undefined, editIndex?: number | undefined) => CustomColumn[]>;
295
+ getModelRollupConfig: ((originalColumns: any, config: any, aggregationSettings: any) => import("@deephaven/jsapi-shim").RollupConfig | null) & memoize.Memoized<(originalColumns: any, config: any, aggregationSettings: any) => import("@deephaven/jsapi-shim").RollupConfig | null>;
296
+ getModelTotalsConfig: ((columns: any, config: any, aggregationSettings: any) => UITotalsTableConfig | null) & memoize.Memoized<(columns: any, config: any, aggregationSettings: any) => UITotalsTableConfig | null>;
189
297
  getCachedStateOverride: ((hoverSelectColumn: any, isFilterBarShown: any, isSelectingColumn: any, loadingScrimProgress: any, quickFilters: any, advancedFilters: any, sorts: any, reverseType: any, rollupConfig: any) => {
190
298
  hoverSelectColumn: any;
191
299
  isFilterBarShown: any;
@@ -208,41 +316,45 @@ export class IrisGrid extends React.Component<any, any, any> {
208
316
  rollupConfig: any;
209
317
  }>;
210
318
  getCachedFilter: ((customFilters: any, quickFilters: any, advancedFilters: any, partitionFilters: any, searchFilter: any) => any[]) & memoize.Memoized<(customFilters: any, quickFilters: any, advancedFilters: any, partitionFilters: any, searchFilter: any) => any[]>;
211
- getCachedTheme: ((theme: any, isEditable: any) => any) & memoize.Memoized<(theme: any, isEditable: any) => any>;
212
- getValueForCell(columnIndex: any, rowIndex: any, rawValue?: boolean): any;
213
- getModelColumn(columnIndex: any): any;
214
- getModelRow(rowIndex: any): any;
215
- getTheme(): any;
216
- getVisibleColumn(modelIndex: any): number;
319
+ getCachedTheme: ((theme: GridThemeType, isEditable: boolean) => Partial<IrisGridThemeType>) & memoize.Memoized<(theme: GridThemeType, isEditable: boolean) => Partial<IrisGridThemeType>>;
320
+ getValueForCell(columnIndex: GridRangeIndex, rowIndex: GridRangeIndex, rawValue?: boolean): string | unknown;
321
+ getModelColumn(columnIndex: GridRangeIndex): ModelIndex | null | undefined;
322
+ getModelRow(rowIndex: GridRangeIndex): ModelIndex | null | undefined;
323
+ getTheme(): Partial<IrisGridThemeType>;
324
+ getVisibleColumn(modelIndex: ModelIndex): VisibleIndex;
217
325
  /**
218
326
  * Applies the provided input filters as quick filters,
219
327
  * and clears any existing quickFilters or advancedFilters on that column
220
- * @param {inputFilter[]} inputFilters Array of input filters to apply
221
- * @param {boolean} replaceExisting If true, new filters will replace the existing ones, instead of merging
328
+ * @param inputFilters Array of input filters to apply
329
+ * @param replaceExisting If true, new filters will replace the existing ones, instead of merging
222
330
  */
223
- applyInputFilters(inputFilters: inputFilter[], replaceExisting?: boolean): void;
331
+ applyInputFilters(inputFilters: InputFilter[], replaceExisting?: boolean): void;
224
332
  /**
225
333
  * Applies a quick filter
226
- * @param {number} modelIndex The index in the model of the column to set
227
- * @param {string} value The string value to set to the quick filter
228
- * @param {Map} quickFilters The quick filters map
229
- * @returns {boolean} True if the filters have changed because this quick filter was applied
334
+ * @param modelIndex The index in the model of the column to set
335
+ * @param value The string value to set to the quick filter
336
+ * @param quickFilters The quick filters map
337
+ * @returns True if the filters have changed because this quick filter was applied
230
338
  */
231
- applyQuickFilter(modelIndex: number, value: string, quickFilters: Map<any, any>): boolean;
232
- setAdvancedFilter(modelIndex: any, filter: any, options: any): void;
339
+ applyQuickFilter(modelIndex: ModelIndex, value: string | null, quickFilters: QuickFilterMap): boolean;
340
+ setAdvancedFilter(modelIndex: ModelIndex, filter: FilterCondition, options: AdvancedFilterOptions): void;
233
341
  /**
234
342
  * Sets a quick filter against the provided column
235
- * @param {Number} modelIndex The index in the model for the column this filter is applied to
236
- * @param {dh.FilterCondition} filter A filter to apply to the column, or null if there was an error
237
- * @param {String} text The original text the filter was created with
343
+ * @param modelIndex The index in the model for the column this filter is applied to
344
+ * @param filter A filter to apply to the column, or null if there was an error
345
+ * @param text The original text the filter was created with
238
346
  */
239
- setQuickFilter(modelIndex: number, filter: dh.FilterCondition, text: string): void;
347
+ setQuickFilter(modelIndex: ModelIndex, filter: FilterCondition, text: string): void;
240
348
  /**
241
349
  * Set grid filters based on the filter map
242
- * @param {Map<string, Object>} filterMap Filter map
350
+ * @param filterMap Filter map
243
351
  */
244
- setFilterMap(filterMap: Map<string, Object>): void;
245
- removeColumnFilter(modelColumn: any): void;
352
+ setFilterMap(filterMap: Map<ColumnName, {
353
+ columnType: string;
354
+ text: string;
355
+ value: unknown;
356
+ }>): void;
357
+ removeColumnFilter(modelColumn: ModelIndex): void;
246
358
  clearAllFilters(): void;
247
359
  clearCrossColumSearch(): void;
248
360
  clearGridInputField(): void;
@@ -250,27 +362,26 @@ export class IrisGrid extends React.Component<any, any, any> {
250
362
  * Rebuilds all the current filters. Necessary if something like the time zone has changed.
251
363
  */
252
364
  rebuildFilters(): void;
253
- setFilters({ quickFilters, advancedFilters }: {
254
- quickFilters: any;
255
- advancedFilters: any;
256
- }): void;
257
- updateFormatterSettings(settings: any, forceUpdate?: boolean): void;
258
- getAlwaysFetchColumns: ((alwaysFetchColumns: any, columns: any, movedColumns: any, floatingLeftColumnCount: any, floatingRightColumnCount: any) => any[]) & memoize.Memoized<(alwaysFetchColumns: any, columns: any, movedColumns: any, floatingLeftColumnCount: any, floatingRightColumnCount: any) => any[]>;
259
- updateFormatter(updatedFormats: any, forceUpdate?: boolean): void;
365
+ setFilters({ quickFilters, advancedFilters, }: Pick<IrisGridState, 'quickFilters' | 'advancedFilters'>): void;
366
+ updateFormatterSettings(settings?: Settings, forceUpdate?: boolean): void;
367
+ getAlwaysFetchColumns: ((alwaysFetchColumns: ColumnName[], columns: Column[], movedColumns: MoveOperation[], floatingLeftColumnCount: number, floatingRightColumnCount: number) => string[]) & memoize.Memoized<(alwaysFetchColumns: ColumnName[], columns: Column[], movedColumns: MoveOperation[], floatingLeftColumnCount: number, floatingRightColumnCount: number) => string[]>;
368
+ updateFormatter(updatedFormats: {
369
+ customColumnFormatMap?: Map<ColumnName, FormattingRule>;
370
+ }, forceUpdate?: boolean): void;
260
371
  initFormatter(): void;
261
372
  initState(): void;
262
- loadPartitionsTable(partitionColumn: any): Promise<void>;
263
- updatePartition(partition: any, partitionColumn: any): void;
264
- copyCell(columnIndex: any, rowIndex: any, rawValue?: boolean): void;
373
+ loadPartitionsTable(partitionColumn: Column): Promise<void>;
374
+ updatePartition(partition: string, partitionColumn: Column): void;
375
+ copyCell(columnIndex: GridRangeIndex, rowIndex: GridRangeIndex, rawValue?: boolean): void;
265
376
  /**
266
377
  * Copy the provided ranges to the clipboard
267
- * @param {GridRange[]} ranges The ranges to copy
268
- * @param {boolean} includeHeaders Include the headers or not
269
- * @param {boolean} formatValues Whether to format values or not
270
- * @param {string|null} error Error message if one occurred
378
+ * @paramranges The ranges to copy
379
+ * @param includeHeaders Include the headers or not
380
+ * @param formatValues Whether to format values or not
381
+ * @param error Error message if one occurred
271
382
  */
272
- copyRanges(ranges: GridRange[], includeHeaders?: boolean, formatValues?: boolean, error?: string | null): void;
273
- startLoading(loadingText: any, resetRanges?: boolean): void;
383
+ copyRanges(ranges: GridRange[], includeHeaders?: boolean, formatValues?: boolean, error?: string): void;
384
+ startLoading(loadingText: string, resetRanges?: boolean): void;
274
385
  stopLoading(): void;
275
386
  /**
276
387
  * Rolls back the table state to the last known safe state, or if that's not available then clears all sorts/filters/custom columns.
@@ -281,268 +392,113 @@ export class IrisGrid extends React.Component<any, any, any> {
281
392
  * @returns {boolean} true if there's a previously known safe state or if some of the current state isn't empty.
282
393
  */
283
394
  canRollback(): boolean;
284
- startListening(model: any): void;
285
- stopListening(model: any): void;
395
+ startListening(model: IrisGridModel): void;
396
+ stopListening(model: IrisGridModel): void;
286
397
  focus(): void;
287
- focusFilterBar(column: any): void;
288
- hideColumnByVisibleIndex(columnVisibleIndex: any): void;
289
- freezeColumnByColumnName(columnName: any): void;
290
- unFreezeColumnByColumnName(columnName: any): void;
291
- handleTableLoadError(error: any): void;
398
+ focusFilterBar(column: VisibleIndex): void;
399
+ hideColumnByVisibleIndex(columnVisibleIndex: VisibleIndex): void;
400
+ freezeColumnByColumnName(columnName: ColumnName): void;
401
+ unFreezeColumnByColumnName(columnName: ColumnName): void;
402
+ handleColumnVisibilityChanged(modelIndexes: ModelIndex[], visibilityOption?: VisibilityOptionType): void;
403
+ handleCrossColumnSearch(searchValue: string, selectedSearchColumns: ColumnName[], invertSearchColumns: boolean): void;
404
+ updateSearchFilter: import("lodash").DebouncedFunc<(searchValue: string, selectedSearchColumns: ColumnName[], columns: Column[], invertSearchColumns: boolean) => void>;
405
+ handleAnimationLoop(): void;
406
+ handleAnimationStart(): void;
407
+ handleAnimationEnd(): void;
408
+ handlePartitionAppend(value: string): void;
409
+ handlePartitionChange(partition: string): void;
410
+ handlePartitionFetchAll(): void;
411
+ handlePartitionDone(): void;
412
+ handleTableLoadError(error: unknown): void;
292
413
  showAllColumns(): void;
293
- toggleSort(columnIndex: any, addToExisting: any): void;
294
- updateSorts(sorts: any): void;
295
- sortColumn(modelColumn: any, direction: any, isAbs?: boolean, addToExisting?: boolean): void;
296
- reverse(reverseType: any): void;
297
- isReversible(): any;
298
- toggleFilterBar(focusIndex?: any): void;
299
- isTableSearchAvailable(): any;
414
+ toggleSort(columnIndex: VisibleIndex, addToExisting: boolean): void;
415
+ updateSorts(sorts: Sort[]): void;
416
+ sortColumn(modelColumn: ModelIndex, direction?: SortDirection, isAbs?: boolean, addToExisting?: boolean): void;
417
+ reverse(reverseType: ReverseType): void;
418
+ isReversible(): boolean;
419
+ toggleFilterBar(focusIndex?: number | undefined): void;
420
+ isTableSearchAvailable(): boolean;
300
421
  toggleSearchBar(): void;
301
422
  commitPending(): Promise<void>;
302
423
  discardPending(): Promise<void>;
303
424
  /**
304
425
  * Select the passed in column and notify listener
305
- * @param {dh.Column} column The column in this table to link
426
+ * @param column The column in this table to link
306
427
  */
307
- selectColumn(column: dh.Column): void;
428
+ selectColumn(column: Column): void;
308
429
  /**
309
430
  * Select all the data for a given row and notify listener
310
431
  */
311
- selectData(columnIndex: any, rowIndex: any): void;
432
+ selectData(columnIndex: ModelIndex, rowIndex: ModelIndex): void;
433
+ handleAdvancedFilterChange(column: Column, filter: FilterCondition, options: AdvancedFilterOptions): void;
434
+ handleAdvancedFilterSortChange(column: Column, direction: SortDirection, addToExisting?: boolean): void;
435
+ handleAdvancedFilterDone(): void;
436
+ handleAdvancedMenuOpened(column: GridRangeIndex): void;
437
+ handleAdvancedMenuClosed(columnIndex: number): void;
438
+ handleCancel(): void;
439
+ handleChartChange(): void;
440
+ handleChartCreate(settings: ChartBuilderSettings): void;
441
+ handleGridError(error?: Error): void;
442
+ handleFilterBarChange(value: string): void;
443
+ handleFilterBarDone(setGridFocus?: boolean, defocusInput?: boolean): void;
444
+ handleFilterBarTab(backward: boolean): void;
445
+ handleFormatSelection(modelIndex: ModelIndex, selectedFormat: TableColumnFormat | null): void;
446
+ handleMenu(): void;
447
+ handleMenuClose(): void;
448
+ handleMenuBack(): void;
449
+ handleMenuSelect(option: OptionItem): void;
450
+ handleRequestFailed(event: Event): void;
451
+ handleUpdate(): void;
452
+ handleViewChanged(metrics?: GridMetrics): void;
453
+ handleSelectionChanged(selectedRanges?: GridRange[]): void;
454
+ handleMovedColumnsChanged(movedColumns: MoveOperation[], onChangeApplied?: (() => void) | undefined): void;
455
+ handleTooltipRef(tooltip: Tooltip): void;
456
+ handleConditionalFormatsChange(conditionalFormats: SidebarFormattingRule[]): void;
457
+ handleConditionalFormatCreate(): void;
458
+ handleConditionalFormatEdit(index: number): void;
459
+ handleConditionalFormatEditorUpdate: import("lodash").DebouncedFunc<(conditionalFormatPreview?: SidebarFormattingRule | undefined) => void>;
460
+ handleConditionalFormatEditorSave(config: SidebarFormattingRule): void;
461
+ handleConditionalFormatEditorCancel(): void;
462
+ handleUpdateCustomColumns(customColumns: string[]): void;
463
+ handleCustomColumnsChanged(): void;
464
+ handlePendingCommitClicked(): Promise<void>;
465
+ handlePendingDiscardClicked(): Promise<void>;
466
+ handlePendingDataUpdated(): void;
467
+ /**
468
+ * User added, removed, or changed the order of aggregations, or position
469
+ * @param aggregationSettings The new aggregation settings
470
+ */
471
+ handleAggregationsChange(aggregationSettings: AggregationSettings): void;
472
+ /**
473
+ * A specific aggregation has been modified
474
+ * @param aggregation The new aggregation
475
+ */
476
+ handleAggregationChange(aggregation: Aggregation): void;
477
+ /**
478
+ * An aggregations has been selected for editing
479
+ * @param aggregation The aggregation to edit
480
+ */
481
+ handleAggregationEdit(aggregation: Aggregation): void;
482
+ handleRollupChange(rollupConfig: UIRollupConfig): void;
483
+ handleSelectDistinctChanged(columnNames: ColumnName[]): void;
484
+ handleDownloadTableStart(): void;
485
+ handleDownloadTable(fileName: string, frozenTable: Table, tableSubscription: TableViewportSubscription, gridRanges: GridRange[]): void;
486
+ handleCancelDownloadTable(): void;
487
+ handleDownloadProgressUpdate: import("lodash").DebouncedFunc<(tableDownloadProgress: number, tableDownloadEstimatedTime: number | null) => void>;
488
+ handleDownloadCompleted(): void;
489
+ handleDownloadCanceled(): void;
312
490
  /**
313
491
  * Delete the specified ranges from the table.
314
- * @param {GridRange[]} ranges The ranges to delete
492
+ * @param ranges The ranges to delete
315
493
  */
316
494
  deleteRanges(ranges: GridRange[]): void;
317
495
  resetColumnSelection(): void;
318
496
  resetGridViewState(forceUpdate?: boolean): void;
319
497
  sendStateChange(): void;
320
- getOverflowButtonTooltip: ((overflowButtonTooltipProps: any) => JSX.Element | null) & memoize.Memoized<(overflowButtonTooltipProps: any) => JSX.Element | null>;
321
- }
322
- export namespace IrisGrid {
323
- namespace propTypes {
324
- const children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
325
- const advancedFilters: PropTypes.Requireable<Map<unknown, unknown>>;
326
- const advancedSettings: PropTypes.Requireable<Map<unknown, unknown>>;
327
- const alwaysFetchColumns: PropTypes.Requireable<(string | null | undefined)[]>;
328
- const isFilterBarShown: PropTypes.Requireable<boolean>;
329
- const applyInputFiltersOnInit: PropTypes.Requireable<boolean>;
330
- const conditionalFormats: PropTypes.Requireable<(PropTypes.InferProps<{}> | null | undefined)[]>;
331
- const customColumnFormatMap: PropTypes.Requireable<Map<unknown, unknown>>;
332
- const movedColumns: PropTypes.Requireable<(PropTypes.InferProps<{
333
- from: PropTypes.Validator<number>;
334
- to: PropTypes.Validator<number>;
335
- }> | null | undefined)[]>;
336
- const movedRows: PropTypes.Requireable<(PropTypes.InferProps<{
337
- from: PropTypes.Validator<number>;
338
- to: PropTypes.Validator<number>;
339
- }> | null | undefined)[]>;
340
- const inputFilters: PropTypes.Requireable<(PropTypes.InferProps<{
341
- name: PropTypes.Validator<string>;
342
- type: PropTypes.Validator<string>;
343
- value: PropTypes.Validator<string>;
344
- }> | null | undefined)[]>;
345
- const customFilters: PropTypes.Requireable<(PropTypes.InferProps<{}> | null | undefined)[]>;
346
- const model: PropTypes.Validator<any>;
347
- const onCreateChart: PropTypes.Requireable<(...args: any[]) => any>;
348
- const onColumnSelected: PropTypes.Requireable<(...args: any[]) => any>;
349
- const onError: PropTypes.Requireable<(...args: any[]) => any>;
350
- const onDataSelected: PropTypes.Requireable<(...args: any[]) => any>;
351
- const onStateChange: PropTypes.Requireable<(...args: any[]) => any>;
352
- const onPartitionAppend: PropTypes.Requireable<(...args: any[]) => any>;
353
- const onAdvancedSettingsChange: PropTypes.Requireable<(...args: any[]) => any>;
354
- const partition: PropTypes.Requireable<string>;
355
- const partitionColumn: PropTypes.Requireable<PropTypes.InferProps<{
356
- name: PropTypes.Validator<string>;
357
- type: PropTypes.Validator<string>;
358
- description: PropTypes.Requireable<string>;
359
- constituentType: PropTypes.Requireable<string>;
360
- }>>;
361
- const sorts: PropTypes.Requireable<(PropTypes.InferProps<{}> | null | undefined)[]>;
362
- const reverseType: PropTypes.Requireable<string>;
363
- const quickFilters: PropTypes.Requireable<Map<unknown, unknown>>;
364
- const customColumns: PropTypes.Requireable<(string | null | undefined)[]>;
365
- const selectDistinctColumns: PropTypes.Requireable<(string | null | undefined)[]>;
366
- const settings: PropTypes.Requireable<PropTypes.InferProps<{
367
- timeZone: PropTypes.Validator<string>;
368
- defaultDateTimeFormat: PropTypes.Validator<string>;
369
- showTimeZone: PropTypes.Validator<boolean>;
370
- showTSeparator: PropTypes.Validator<boolean>;
371
- truncateNumbersWithPound: PropTypes.Validator<boolean>;
372
- formatter: PropTypes.Validator<(PropTypes.InferProps<{}> | null | undefined)[]>;
373
- }>>;
374
- const userColumnWidths: PropTypes.Requireable<Map<unknown, unknown>>;
375
- const userRowHeights: PropTypes.Requireable<Map<unknown, unknown>>;
376
- const onSelectionChanged: PropTypes.Requireable<(...args: any[]) => any>;
377
- const rollupConfig: PropTypes.Requireable<PropTypes.InferProps<{
378
- columns: PropTypes.Requireable<(string | null | undefined)[]>;
379
- showConstituents: PropTypes.Requireable<boolean>;
380
- showNonAggregatedColumns: PropTypes.Requireable<boolean>;
381
- includeDescriptions: PropTypes.Requireable<boolean>;
382
- }>>;
383
- const aggregationSettings: PropTypes.Requireable<PropTypes.InferProps<{
384
- aggregations: PropTypes.Requireable<(PropTypes.InferProps<{
385
- operation: PropTypes.Validator<string>;
386
- selected: PropTypes.Validator<(string | null | undefined)[]>;
387
- invert: PropTypes.Validator<boolean>;
388
- }> | null | undefined)[]>;
389
- showOnTop: PropTypes.Requireable<boolean>;
390
- }>>;
391
- const isSelectingColumn: PropTypes.Requireable<boolean>;
392
- const isSelectingPartition: PropTypes.Requireable<boolean>;
393
- const isStuckToBottom: PropTypes.Requireable<boolean>;
394
- const isStuckToRight: PropTypes.Requireable<boolean>;
395
- const columnSelectionValidator: PropTypes.Requireable<(...args: any[]) => any>;
396
- const columnAllowedCursor: PropTypes.Requireable<string>;
397
- const columnNotAllowedCursor: PropTypes.Requireable<string>;
398
- const name: PropTypes.Requireable<string>;
399
- const onlyFetchVisibleColumns: PropTypes.Requireable<boolean>;
400
- const showSearchBar: PropTypes.Requireable<boolean>;
401
- const searchValue: PropTypes.Requireable<string>;
402
- const selectedSearchColumns: PropTypes.Requireable<(string | null | undefined)[]>;
403
- const invertSearchColumns: PropTypes.Requireable<boolean>;
404
- const onContextMenu: PropTypes.Requireable<(...args: any[]) => any>;
405
- const pendingDataMap: PropTypes.Requireable<Map<unknown, unknown>>;
406
- const getDownloadWorker: PropTypes.Requireable<(...args: any[]) => any>;
407
- const canCopy: PropTypes.Requireable<boolean>;
408
- const canDownloadCsv: PropTypes.Requireable<boolean>;
409
- const frozenColumns: PropTypes.Requireable<(string | null | undefined)[]>;
410
- const theme: PropTypes.Requireable<PropTypes.InferProps<{}>>;
411
- const canToggleSearch: PropTypes.Requireable<boolean>;
412
- }
413
- namespace defaultProps {
414
- const children_1: null;
415
- export { children_1 as children };
416
- const advancedFilters_1: Map<any, any>;
417
- export { advancedFilters_1 as advancedFilters };
418
- const advancedSettings_1: Map<any, any>;
419
- export { advancedSettings_1 as advancedSettings };
420
- const alwaysFetchColumns_1: never[];
421
- export { alwaysFetchColumns_1 as alwaysFetchColumns };
422
- const conditionalFormats_1: never[];
423
- export { conditionalFormats_1 as conditionalFormats };
424
- const customColumnFormatMap_1: Map<any, any>;
425
- export { customColumnFormatMap_1 as customColumnFormatMap };
426
- const isFilterBarShown_1: boolean;
427
- export { isFilterBarShown_1 as isFilterBarShown };
428
- const applyInputFiltersOnInit_1: boolean;
429
- export { applyInputFiltersOnInit_1 as applyInputFiltersOnInit };
430
- const movedColumns_1: never[];
431
- export { movedColumns_1 as movedColumns };
432
- const movedRows_1: never[];
433
- export { movedRows_1 as movedRows };
434
- const inputFilters_1: never[];
435
- export { inputFilters_1 as inputFilters };
436
- const customFilters_1: never[];
437
- export { customFilters_1 as customFilters };
438
- const onCreateChart_1: undefined;
439
- export { onCreateChart_1 as onCreateChart };
440
- export function onColumnSelected_1(): void;
441
- export { onColumnSelected_1 as onColumnSelected };
442
- export function onDataSelected_1(): void;
443
- export { onDataSelected_1 as onDataSelected };
444
- export function onError_1(): void;
445
- export { onError_1 as onError };
446
- export function onStateChange_1(): void;
447
- export { onStateChange_1 as onStateChange };
448
- export function onPartitionAppend_1(): void;
449
- export { onPartitionAppend_1 as onPartitionAppend };
450
- export function onAdvancedSettingsChange_1(): void;
451
- export { onAdvancedSettingsChange_1 as onAdvancedSettingsChange };
452
- const partition_1: null;
453
- export { partition_1 as partition };
454
- const partitionColumn_1: null;
455
- export { partitionColumn_1 as partitionColumn };
456
- const quickFilters_1: Map<any, any>;
457
- export { quickFilters_1 as quickFilters };
458
- const selectDistinctColumns_1: never[];
459
- export { selectDistinctColumns_1 as selectDistinctColumns };
460
- const sorts_1: never[];
461
- export { sorts_1 as sorts };
462
- const reverseType_1: "none";
463
- export { reverseType_1 as reverseType };
464
- const customColumns_1: never[];
465
- export { customColumns_1 as customColumns };
466
- export { DEFAULT_AGGREGATION_SETTINGS as aggregationSettings };
467
- const rollupConfig_1: null;
468
- export { rollupConfig_1 as rollupConfig };
469
- const userColumnWidths_1: Map<any, any>;
470
- export { userColumnWidths_1 as userColumnWidths };
471
- const userRowHeights_1: Map<any, any>;
472
- export { userRowHeights_1 as userRowHeights };
473
- export function onSelectionChanged_1(): void;
474
- export { onSelectionChanged_1 as onSelectionChanged };
475
- const isSelectingColumn_1: boolean;
476
- export { isSelectingColumn_1 as isSelectingColumn };
477
- const isSelectingPartition_1: boolean;
478
- export { isSelectingPartition_1 as isSelectingPartition };
479
- const isStuckToBottom_1: boolean;
480
- export { isStuckToBottom_1 as isStuckToBottom };
481
- const isStuckToRight_1: boolean;
482
- export { isStuckToRight_1 as isStuckToRight };
483
- const columnSelectionValidator_1: null;
484
- export { columnSelectionValidator_1 as columnSelectionValidator };
485
- const columnAllowedCursor_1: null;
486
- export { columnAllowedCursor_1 as columnAllowedCursor };
487
- const columnNotAllowedCursor_1: null;
488
- export { columnNotAllowedCursor_1 as columnNotAllowedCursor };
489
- const name_1: string;
490
- export { name_1 as name };
491
- const onlyFetchVisibleColumns_1: boolean;
492
- export { onlyFetchVisibleColumns_1 as onlyFetchVisibleColumns };
493
- const showSearchBar_1: boolean;
494
- export { showSearchBar_1 as showSearchBar };
495
- const searchValue_1: string;
496
- export { searchValue_1 as searchValue };
497
- const selectedSearchColumns_1: null;
498
- export { selectedSearchColumns_1 as selectedSearchColumns };
499
- const invertSearchColumns_1: boolean;
500
- export { invertSearchColumns_1 as invertSearchColumns };
501
- export function onContextMenu_1(): never[];
502
- export { onContextMenu_1 as onContextMenu };
503
- const pendingDataMap_1: Map<any, any>;
504
- export { pendingDataMap_1 as pendingDataMap };
505
- const getDownloadWorker_1: undefined;
506
- export { getDownloadWorker_1 as getDownloadWorker };
507
- export namespace settings_1 {
508
- const timeZone: string;
509
- const defaultDateTimeFormat: string;
510
- const showTimeZone: boolean;
511
- const showTSeparator: boolean;
512
- const truncateNumbersWithPound: boolean;
513
- const formatter: never[];
514
- const decimalFormatOptions: PropTypes.Requireable<PropTypes.InferProps<{
515
- defaultFormatString: PropTypes.Requireable<string>;
516
- }>>;
517
- const integerFormatOptions: PropTypes.Requireable<PropTypes.InferProps<{
518
- defaultFormatString: PropTypes.Requireable<string>;
519
- }>>;
520
- }
521
- export { settings_1 as settings };
522
- const canCopy_1: boolean;
523
- export { canCopy_1 as canCopy };
524
- const canDownloadCsv_1: boolean;
525
- export { canDownloadCsv_1 as canDownloadCsv };
526
- const frozenColumns_1: null;
527
- export { frozenColumns_1 as frozenColumns };
528
- const theme_1: {};
529
- export { theme_1 as theme };
530
- const canToggleSearch_1: boolean;
531
- export { canToggleSearch_1 as canToggleSearch };
532
- }
498
+ handleOverflowClose(): void;
499
+ getColumnBoundingRect(): DOMRect;
500
+ getOverflowButtonTooltip: ((overflowButtonTooltipProps: CSSProperties) => ReactNode) & memoize.Memoized<(overflowButtonTooltipProps: CSSProperties) => ReactNode>;
501
+ render(): ReactElement | null;
533
502
  }
534
503
  export default IrisGrid;
535
- import React from "react";
536
- import { Grid } from "@deephaven/grid";
537
- import { Pending } from "@deephaven/utils";
538
- import IrisGridRenderer from "./IrisGridRenderer";
539
- import { TableSaver } from "./sidebar";
540
- import memoize from "memoizee";
541
- import { OptionType } from "./sidebar";
542
- import { GridRange } from "packages/grid/src/GridRange";
543
- import PropTypes from "prop-types";
544
- declare const DEFAULT_AGGREGATION_SETTINGS: Readonly<{
545
- aggregations: never[];
546
- showOnTop: boolean;
547
- }>;
548
504
  //# sourceMappingURL=IrisGrid.d.ts.map