@deephaven/iris-grid 1.4.1-beta.2 → 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.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 +35 -44
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +157 -170
- 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.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.js.map +1 -1
- package/dist/IrisGridModelFactory.js.map +1 -1
- 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.js +6 -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 +1 -1
- package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
- package/dist/IrisGridTableModelTemplate.js +57 -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.js +12 -13
- package/dist/IrisGridTreeTableModel.js.map +1 -1
- package/dist/IrisGridUtils.js +58 -58
- package/dist/IrisGridUtils.js.map +1 -1
- package/dist/LazyIrisGrid.d.ts +55 -78
- 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.js +6 -4
- package/dist/format-context-menus/TextAlignmentFormatContextMenu.js.map +1 -1
- 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.js +1 -2
- 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
package/dist/IrisGrid.js
CHANGED
|
@@ -9,7 +9,6 @@ import React, { Component } from 'react';
|
|
|
9
9
|
import memoize from 'memoizee';
|
|
10
10
|
import classNames from 'classnames';
|
|
11
11
|
import { CSSTransition } from 'react-transition-group';
|
|
12
|
-
import PropTypes from 'prop-types';
|
|
13
12
|
import deepEqual from 'fast-deep-equal';
|
|
14
13
|
import Log from '@deephaven/log';
|
|
15
14
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
@@ -54,9 +53,7 @@ import AggregationOperation from "./sidebar/aggregations/AggregationOperation.js
|
|
|
54
53
|
import { IrisGridThemeContext } from "./IrisGridThemeProvider.js";
|
|
55
54
|
import { isMissingPartitionError } from "./MissingPartitionError.js";
|
|
56
55
|
import { NoPastePermissionModal } from "./NoPastePermissionModal.js";
|
|
57
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
58
|
-
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
59
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
56
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
60
57
|
var log = Log.module('IrisGrid');
|
|
61
58
|
var VIEWPORT_LOADING_DELAY = 500;
|
|
62
59
|
var UPDATE_DOWNLOAD_THROTTLE = 500;
|
|
@@ -83,10 +80,8 @@ function isEmptyConfig(_ref) {
|
|
|
83
80
|
return advancedFilters.size === 0 && aggregationSettings.aggregations.length === 0 && customColumns.length === 0 && quickFilters.size === 0 && !reverse && rollupConfig == null && searchFilter == null && selectDistinctColumns.length === 0 && sorts.length === 0;
|
|
84
81
|
}
|
|
85
82
|
class IrisGrid extends Component {
|
|
86
|
-
// eslint-disable-next-line react/static-property-placement, react/sort-comp
|
|
87
|
-
|
|
88
83
|
constructor(props) {
|
|
89
|
-
var _model$layoutHints, _model$
|
|
84
|
+
var _model$layoutHints, _model$columns$0$name, _model$columns$;
|
|
90
85
|
super(props);
|
|
91
86
|
_defineProperty(this, "grid", void 0);
|
|
92
87
|
_defineProperty(this, "lastFocusedFilterBarColumn", void 0);
|
|
@@ -101,6 +96,7 @@ class IrisGrid extends Component {
|
|
|
101
96
|
_defineProperty(this, "showEmptyStrings", void 0);
|
|
102
97
|
_defineProperty(this, "showNullStrings", void 0);
|
|
103
98
|
_defineProperty(this, "showExtraGroupColumn", void 0);
|
|
99
|
+
// When the loading scrim started/when it should extend to the end of the screen.
|
|
104
100
|
_defineProperty(this, "loadingScrimStartTime", void 0);
|
|
105
101
|
_defineProperty(this, "loadingScrimFinishTime", void 0);
|
|
106
102
|
_defineProperty(this, "animationFrame", void 0);
|
|
@@ -120,6 +116,8 @@ class IrisGrid extends Component {
|
|
|
120
116
|
_defineProperty(this, "tableUtils", void 0);
|
|
121
117
|
_defineProperty(this, "keyHandlers", void 0);
|
|
122
118
|
_defineProperty(this, "mouseHandlers", void 0);
|
|
119
|
+
_defineProperty(this, "slideTransitionRef", /*#__PURE__*/React.createRef());
|
|
120
|
+
_defineProperty(this, "bottomTransitionRef", /*#__PURE__*/React.createRef());
|
|
123
121
|
_defineProperty(this, "getAdvancedMenuOpenedHandler", memoize(column => this.handleAdvancedMenuOpened.bind(this, column), {
|
|
124
122
|
max: 100
|
|
125
123
|
}));
|
|
@@ -272,6 +270,14 @@ class IrisGrid extends Component {
|
|
|
272
270
|
_defineProperty(this, "getCachedFormatColumns", memoize((dh, columns, rules) => getFormatColumns(dh, columns, rules), {
|
|
273
271
|
max: 1000
|
|
274
272
|
}));
|
|
273
|
+
/**
|
|
274
|
+
* Builds formatColumns array based on the provided formatting rules with optional preview
|
|
275
|
+
* @param columns Array of columns
|
|
276
|
+
* @param rulesParam Array of formatting rules
|
|
277
|
+
* @param preview Optional temporary formatting rule for previewing live changes
|
|
278
|
+
* @param editIndex Index in the rulesParam array to replace with the preview, null if preview not applicable
|
|
279
|
+
* @returns Format columns array
|
|
280
|
+
*/
|
|
275
281
|
_defineProperty(this, "getCachedPreviewFormatColumns", memoize((dh, columns, rulesParam, preview, editIndex) => {
|
|
276
282
|
log.debug('getCachedPreviewFormatColumns', rulesParam, preview, editIndex);
|
|
277
283
|
if (preview !== undefined && editIndex !== undefined) {
|
|
@@ -288,7 +294,7 @@ class IrisGrid extends Component {
|
|
|
288
294
|
}));
|
|
289
295
|
_defineProperty(this, "getModelTotalsConfig", memoize((columns, config, aggregationSettings) => {
|
|
290
296
|
var _config$columns$lengt, _config$columns;
|
|
291
|
-
if (((_config$columns$lengt = config === null || config === void 0
|
|
297
|
+
if (((_config$columns$lengt = config === null || config === void 0 || (_config$columns = config.columns) === null || _config$columns === void 0 ? void 0 : _config$columns.length) !== null && _config$columns$lengt !== void 0 ? _config$columns$lengt : 0) > 0) {
|
|
292
298
|
// If we've got rollups, then aggregations are applied as part of that...
|
|
293
299
|
return null;
|
|
294
300
|
}
|
|
@@ -410,6 +416,7 @@ class IrisGrid extends Component {
|
|
|
410
416
|
leading: false,
|
|
411
417
|
trailing: true
|
|
412
418
|
}));
|
|
419
|
+
// Apply live changes
|
|
413
420
|
_defineProperty(this, "handleConditionalFormatEditorUpdate", debounce(conditionalFormatPreview => {
|
|
414
421
|
this.setState({
|
|
415
422
|
conditionalFormatPreview
|
|
@@ -694,7 +701,7 @@ class IrisGrid extends Component {
|
|
|
694
701
|
userColumnWidths: new Map(_userColumnWidths),
|
|
695
702
|
userRowHeights: new Map(userRowHeights),
|
|
696
703
|
movedColumns: _movedColumns,
|
|
697
|
-
initialColumnWidths: new Map(_model === null || _model === void 0
|
|
704
|
+
initialColumnWidths: new Map(_model === null || _model === void 0 || (_model$layoutHints = _model.layoutHints) === null || _model$layoutHints === void 0 || (_model$layoutHints = _model$layoutHints.hiddenColumns) === null || _model$layoutHints === void 0 ? void 0 : _model$layoutHints.map(name => [_model.getColumnIndexByName(name), 0]))
|
|
698
705
|
});
|
|
699
706
|
var searchColumns = _selectedSearchColumns !== null && _selectedSearchColumns !== void 0 ? _selectedSearchColumns : [];
|
|
700
707
|
var _searchFilter = CrossColumnSearch.createSearchFilter(_dh, _searchValue, searchColumns, _model.columns, _invertSearchColumns);
|
|
@@ -891,23 +898,10 @@ class IrisGrid extends Component {
|
|
|
891
898
|
}
|
|
892
899
|
this.showViewportLoading.cancel();
|
|
893
900
|
}
|
|
894
|
-
|
|
895
|
-
// When the loading scrim started/when it should extend to the end of the screen.
|
|
896
|
-
|
|
897
901
|
get gridWrapper() {
|
|
898
902
|
var _this$grid$canvasWrap, _this$grid;
|
|
899
903
|
return (_this$grid$canvasWrap = (_this$grid = this.grid) === null || _this$grid === void 0 ? void 0 : _this$grid.canvasWrapper.current) !== null && _this$grid$canvasWrap !== void 0 ? _this$grid$canvasWrap : null;
|
|
900
904
|
}
|
|
901
|
-
|
|
902
|
-
/**
|
|
903
|
-
* Builds formatColumns array based on the provided formatting rules with optional preview
|
|
904
|
-
* @param columns Array of columns
|
|
905
|
-
* @param rulesParam Array of formatting rules
|
|
906
|
-
* @param preview Optional temporary formatting rule for previewing live changes
|
|
907
|
-
* @param editIndex Index in the rulesParam array to replace with the preview, null if preview not applicable
|
|
908
|
-
* @returns Format columns array
|
|
909
|
-
*/
|
|
910
|
-
|
|
911
905
|
getKeyHandlers() {
|
|
912
906
|
var {
|
|
913
907
|
keyHandlers
|
|
@@ -937,15 +931,15 @@ class IrisGrid extends Component {
|
|
|
937
931
|
var modelColumn = this.getModelColumn(columnIndex);
|
|
938
932
|
var modelRow = this.getModelRow(rowIndex);
|
|
939
933
|
if (rawValue && modelColumn != null && modelRow != null) {
|
|
940
|
-
var
|
|
934
|
+
var value = model.valueForCell(modelColumn, modelRow);
|
|
941
935
|
if (TableUtils.isDateType(model.columns[modelColumn].type)) {
|
|
942
936
|
// The returned value is just a long value, we should return the value formatted as a full date string
|
|
943
937
|
var {
|
|
944
938
|
formatter
|
|
945
939
|
} = model;
|
|
946
|
-
return dh.i18n.DateTimeFormat.format(UNFORMATTED_DATE_PATTERN,
|
|
940
|
+
return dh.i18n.DateTimeFormat.format(UNFORMATTED_DATE_PATTERN, value, dh.i18n.TimeZone.getTimeZone(formatter.timeZone));
|
|
947
941
|
}
|
|
948
|
-
return
|
|
942
|
+
return value;
|
|
949
943
|
}
|
|
950
944
|
if (rawValue) {
|
|
951
945
|
return null;
|
|
@@ -1188,11 +1182,11 @@ class IrisGrid extends Component {
|
|
|
1188
1182
|
resetRanges: true
|
|
1189
1183
|
});
|
|
1190
1184
|
var clearRange = Array.isArray(modelRange) ? modelRange : [modelRange, modelRange];
|
|
1191
|
-
this.setState(
|
|
1185
|
+
this.setState(_ref0 => {
|
|
1192
1186
|
var {
|
|
1193
1187
|
advancedFilters,
|
|
1194
1188
|
quickFilters
|
|
1195
|
-
} =
|
|
1189
|
+
} = _ref0;
|
|
1196
1190
|
var newAdvancedFilters = advancedFilters ? new Map(advancedFilters) : new Map();
|
|
1197
1191
|
var newQuickFilters = quickFilters ? new Map(quickFilters) : new Map();
|
|
1198
1192
|
newAdvancedFilters.forEach((_, column) => {
|
|
@@ -1215,10 +1209,10 @@ class IrisGrid extends Component {
|
|
|
1215
1209
|
this.startLoading('Clearing Filter...', {
|
|
1216
1210
|
resetRanges: true
|
|
1217
1211
|
});
|
|
1218
|
-
this.setState(
|
|
1212
|
+
this.setState(_ref1 => {
|
|
1219
1213
|
var {
|
|
1220
1214
|
quickFilters
|
|
1221
|
-
} =
|
|
1215
|
+
} = _ref1;
|
|
1222
1216
|
var newQuickFilters = new Map(quickFilters);
|
|
1223
1217
|
newQuickFilters.delete(modelColumn);
|
|
1224
1218
|
return {
|
|
@@ -1315,11 +1309,11 @@ class IrisGrid extends Component {
|
|
|
1315
1309
|
advancedFilters: newAdvancedFilters
|
|
1316
1310
|
});
|
|
1317
1311
|
}
|
|
1318
|
-
setFilters(
|
|
1312
|
+
setFilters(_ref10) {
|
|
1319
1313
|
var {
|
|
1320
1314
|
quickFilters,
|
|
1321
1315
|
advancedFilters
|
|
1322
|
-
} =
|
|
1316
|
+
} = _ref10;
|
|
1323
1317
|
this.setState({
|
|
1324
1318
|
quickFilters,
|
|
1325
1319
|
advancedFilters
|
|
@@ -1476,14 +1470,14 @@ class IrisGrid extends Component {
|
|
|
1476
1470
|
keyTable.addEventListener(dh.Table.EVENT_UPDATED, event => {
|
|
1477
1471
|
try {
|
|
1478
1472
|
var {
|
|
1479
|
-
detail:
|
|
1473
|
+
detail: data
|
|
1480
1474
|
} = event;
|
|
1481
|
-
if (
|
|
1475
|
+
if (data.rows.length === 0) {
|
|
1482
1476
|
// We received an update and the table is still empty. Stop showing the loading spinner so we know
|
|
1483
1477
|
_this2.stopLoading();
|
|
1484
1478
|
return;
|
|
1485
1479
|
}
|
|
1486
|
-
var row =
|
|
1480
|
+
var row = data.rows[0];
|
|
1487
1481
|
var values = keyTable.columns.map(column => row.get(column));
|
|
1488
1482
|
var newPartition = {
|
|
1489
1483
|
partitions: values,
|
|
@@ -1514,13 +1508,13 @@ class IrisGrid extends Component {
|
|
|
1514
1508
|
} = this.props;
|
|
1515
1509
|
assertNotNull(rowIndex);
|
|
1516
1510
|
if (isPartitionedGridModel(model)) {
|
|
1517
|
-
var
|
|
1511
|
+
var data = this.getRowDataMap(rowIndex);
|
|
1518
1512
|
var partitionColumnSet = new Set(model.partitionColumns.map(column => column.name));
|
|
1519
|
-
var values = Object.entries(
|
|
1520
|
-
var [key, _] =
|
|
1513
|
+
var values = Object.entries(data).filter(_ref11 => {
|
|
1514
|
+
var [key, _] = _ref11;
|
|
1521
1515
|
return partitionColumnSet.has(key);
|
|
1522
|
-
}).map(
|
|
1523
|
-
var [key, columnData] =
|
|
1516
|
+
}).map(_ref12 => {
|
|
1517
|
+
var [key, columnData] = _ref12;
|
|
1524
1518
|
return columnData.value;
|
|
1525
1519
|
});
|
|
1526
1520
|
var newPartition = {
|
|
@@ -1539,8 +1533,8 @@ class IrisGrid extends Component {
|
|
|
1539
1533
|
canCopy
|
|
1540
1534
|
} = this.props;
|
|
1541
1535
|
if (canCopy) {
|
|
1542
|
-
var
|
|
1543
|
-
copyToClipboard(
|
|
1536
|
+
var value = String(this.getValueForCell(columnIndex, rowIndex, rawValue));
|
|
1537
|
+
copyToClipboard(value).catch(e => log.error('Unable to copy cell', e));
|
|
1544
1538
|
} else {
|
|
1545
1539
|
log.error('Attempted to copyCell for user without copy permission.');
|
|
1546
1540
|
}
|
|
@@ -1731,7 +1725,7 @@ class IrisGrid extends Component {
|
|
|
1731
1725
|
}
|
|
1732
1726
|
focus() {
|
|
1733
1727
|
var _this$grid2;
|
|
1734
|
-
(_this$grid2 = this.grid) === null || _this$grid2 === void 0
|
|
1728
|
+
(_this$grid2 = this.grid) === null || _this$grid2 === void 0 || _this$grid2.focus();
|
|
1735
1729
|
}
|
|
1736
1730
|
focusFilterBar(column) {
|
|
1737
1731
|
var {
|
|
@@ -1762,7 +1756,7 @@ class IrisGrid extends Component {
|
|
|
1762
1756
|
} = metrics;
|
|
1763
1757
|
if (column < left) {
|
|
1764
1758
|
var _this$grid3;
|
|
1765
|
-
(_this$grid3 = this.grid) === null || _this$grid3 === void 0
|
|
1759
|
+
(_this$grid3 = this.grid) === null || _this$grid3 === void 0 || _this$grid3.setViewState({
|
|
1766
1760
|
left: column
|
|
1767
1761
|
}, true);
|
|
1768
1762
|
} else if (rightVisible < column) {
|
|
@@ -1770,7 +1764,7 @@ class IrisGrid extends Component {
|
|
|
1770
1764
|
var metricState = (_this$grid4 = this.grid) === null || _this$grid4 === void 0 ? void 0 : _this$grid4.getMetricState();
|
|
1771
1765
|
assertNotNull(metricState);
|
|
1772
1766
|
var newLeft = metricCalculator.getLastLeft(metricState, column, metricCalculator.getVisibleWidth(metricState));
|
|
1773
|
-
(_this$grid5 = this.grid) === null || _this$grid5 === void 0
|
|
1767
|
+
(_this$grid5 = this.grid) === null || _this$grid5 === void 0 || _this$grid5.setViewState({
|
|
1774
1768
|
left: Math.min(newLeft, lastLeft),
|
|
1775
1769
|
leftOffset: 0
|
|
1776
1770
|
}, true);
|
|
@@ -1788,7 +1782,7 @@ class IrisGrid extends Component {
|
|
|
1788
1782
|
movedColumns
|
|
1789
1783
|
} = this.state;
|
|
1790
1784
|
metricCalculator.setColumnWidth(GridUtils.getModelIndex(columnVisibleIndex, movedColumns), 0);
|
|
1791
|
-
(_this$grid6 = this.grid) === null || _this$grid6 === void 0
|
|
1785
|
+
(_this$grid6 = this.grid) === null || _this$grid6 === void 0 || _this$grid6.forceUpdate();
|
|
1792
1786
|
}
|
|
1793
1787
|
freezeColumnByColumnName(columnName) {
|
|
1794
1788
|
var {
|
|
@@ -1854,7 +1848,7 @@ class IrisGrid extends Component {
|
|
|
1854
1848
|
metricCalculator.setColumnWidth(modelIndex, 0);
|
|
1855
1849
|
});
|
|
1856
1850
|
}
|
|
1857
|
-
(_this$grid7 = this.grid) === null || _this$grid7 === void 0
|
|
1851
|
+
(_this$grid7 = this.grid) === null || _this$grid7 === void 0 || _this$grid7.forceUpdate();
|
|
1858
1852
|
}
|
|
1859
1853
|
handleColumnVisibilityReset() {
|
|
1860
1854
|
var _model$layoutHints$fr, _model$layoutHints2;
|
|
@@ -1872,7 +1866,7 @@ class IrisGrid extends Component {
|
|
|
1872
1866
|
this.handleMovedColumnsChanged(model.initialMovedColumns);
|
|
1873
1867
|
this.handleHeaderGroupsChanged(model.initialColumnHeaderGroups);
|
|
1874
1868
|
this.setState({
|
|
1875
|
-
frozenColumns: (_model$layoutHints$fr = (_model$layoutHints2 = model.layoutHints) === null || _model$layoutHints2 === void 0 ? void 0 : _model$layoutHints2.frozenColumns) !== null && _model$layoutHints$fr !== void 0 ? _model$layoutHints$fr :
|
|
1869
|
+
frozenColumns: (_model$layoutHints$fr = (_model$layoutHints2 = model.layoutHints) === null || _model$layoutHints2 === void 0 ? void 0 : _model$layoutHints2.frozenColumns) !== null && _model$layoutHints$fr !== void 0 ? _model$layoutHints$fr : EMPTY_ARRAY
|
|
1876
1870
|
});
|
|
1877
1871
|
}
|
|
1878
1872
|
handleCrossColumnSearch(searchValue, selectedSearchColumns, invertSearchColumns) {
|
|
@@ -1889,7 +1883,7 @@ class IrisGrid extends Component {
|
|
|
1889
1883
|
}
|
|
1890
1884
|
handleAnimationLoop() {
|
|
1891
1885
|
var _this$grid8;
|
|
1892
|
-
(_this$grid8 = this.grid) === null || _this$grid8 === void 0
|
|
1886
|
+
(_this$grid8 = this.grid) === null || _this$grid8 === void 0 || _this$grid8.updateCanvas();
|
|
1893
1887
|
if (this.isAnimating) {
|
|
1894
1888
|
this.animationFrame = requestAnimationFrame(this.handleAnimationLoop);
|
|
1895
1889
|
}
|
|
@@ -1955,7 +1949,7 @@ class IrisGrid extends Component {
|
|
|
1955
1949
|
metricCalculator.resetColumnWidth(modelIndex);
|
|
1956
1950
|
}
|
|
1957
1951
|
}
|
|
1958
|
-
(_this$grid9 = this.grid) === null || _this$grid9 === void 0
|
|
1952
|
+
(_this$grid9 = this.grid) === null || _this$grid9 === void 0 || _this$grid9.forceUpdate();
|
|
1959
1953
|
}
|
|
1960
1954
|
toggleSort(columnIndex, addToExisting) {
|
|
1961
1955
|
log.info('Toggling sort for column', columnIndex);
|
|
@@ -1975,15 +1969,15 @@ class IrisGrid extends Component {
|
|
|
1975
1969
|
}
|
|
1976
1970
|
}
|
|
1977
1971
|
updateSorts(sorts) {
|
|
1978
|
-
var _this$
|
|
1972
|
+
var _this$grid0;
|
|
1979
1973
|
this.startLoading('Sorting...');
|
|
1980
1974
|
this.setState({
|
|
1981
1975
|
sorts
|
|
1982
1976
|
});
|
|
1983
|
-
(_this$
|
|
1977
|
+
(_this$grid0 = this.grid) === null || _this$grid0 === void 0 || _this$grid0.forceUpdate();
|
|
1984
1978
|
}
|
|
1985
1979
|
sortColumn(modelColumn) {
|
|
1986
|
-
var _this$
|
|
1980
|
+
var _this$grid1;
|
|
1987
1981
|
var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TableUtils.sortDirection.none;
|
|
1988
1982
|
var isAbs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
1989
1983
|
var addToExisting = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
@@ -1996,15 +1990,15 @@ class IrisGrid extends Component {
|
|
|
1996
1990
|
this.setState({
|
|
1997
1991
|
sorts
|
|
1998
1992
|
});
|
|
1999
|
-
(_this$
|
|
1993
|
+
(_this$grid1 = this.grid) === null || _this$grid1 === void 0 || _this$grid1.forceUpdate();
|
|
2000
1994
|
}
|
|
2001
1995
|
reverse(reverse) {
|
|
2002
|
-
var _this$
|
|
1996
|
+
var _this$grid10;
|
|
2003
1997
|
this.startLoading('Reversing...');
|
|
2004
1998
|
this.setState({
|
|
2005
1999
|
reverse
|
|
2006
2000
|
});
|
|
2007
|
-
(_this$
|
|
2001
|
+
(_this$grid10 = this.grid) === null || _this$grid10 === void 0 || _this$grid10.forceUpdate();
|
|
2008
2002
|
}
|
|
2009
2003
|
isReversible() {
|
|
2010
2004
|
var {
|
|
@@ -2027,16 +2021,16 @@ class IrisGrid extends Component {
|
|
|
2027
2021
|
} else {
|
|
2028
2022
|
var columnIndex = 0;
|
|
2029
2023
|
var {
|
|
2030
|
-
model
|
|
2024
|
+
model
|
|
2031
2025
|
} = this.props;
|
|
2032
2026
|
var {
|
|
2033
2027
|
columnCount
|
|
2034
|
-
} =
|
|
2028
|
+
} = model;
|
|
2035
2029
|
for (var i = 0; i < columnCount; i += 1) {
|
|
2036
2030
|
var modelColumn = this.getModelColumn(i);
|
|
2037
2031
|
if (modelColumn != null) {
|
|
2038
|
-
var
|
|
2039
|
-
if (
|
|
2032
|
+
var column = model.columns[modelColumn];
|
|
2033
|
+
if (column != null && TableUtils.isTextType(column.type)) {
|
|
2040
2034
|
columnIndex = i;
|
|
2041
2035
|
break;
|
|
2042
2036
|
}
|
|
@@ -2045,8 +2039,8 @@ class IrisGrid extends Component {
|
|
|
2045
2039
|
this.focusFilterBar(columnIndex);
|
|
2046
2040
|
}
|
|
2047
2041
|
} else {
|
|
2048
|
-
var _this$
|
|
2049
|
-
(_this$
|
|
2042
|
+
var _this$grid11;
|
|
2043
|
+
(_this$grid11 = this.grid) === null || _this$grid11 === void 0 || _this$grid11.focus();
|
|
2050
2044
|
}
|
|
2051
2045
|
}
|
|
2052
2046
|
isTableSearchAvailable() {
|
|
@@ -2058,7 +2052,7 @@ class IrisGrid extends Component {
|
|
|
2058
2052
|
var {
|
|
2059
2053
|
dh
|
|
2060
2054
|
} = model;
|
|
2061
|
-
var searchDisplayMode = model === null || model === void 0
|
|
2055
|
+
var searchDisplayMode = model === null || model === void 0 || (_model$layoutHints3 = model.layoutHints) === null || _model$layoutHints3 === void 0 ? void 0 : _model$layoutHints3.searchDisplayMode;
|
|
2062
2056
|
if (searchDisplayMode === ((_dh$SearchDisplayMode = dh.SearchDisplayMode) === null || _dh$SearchDisplayMode === void 0 ? void 0 : _dh$SearchDisplayMode.SEARCH_DISPLAY_HIDE)) {
|
|
2063
2057
|
return false;
|
|
2064
2058
|
}
|
|
@@ -2081,15 +2075,15 @@ class IrisGrid extends Component {
|
|
|
2081
2075
|
var _this$crossColumnRef;
|
|
2082
2076
|
if (update && (_this$crossColumnRef = this.crossColumnRef) !== null && _this$crossColumnRef !== void 0 && _this$crossColumnRef.current) {
|
|
2083
2077
|
var _this$crossColumnRef2;
|
|
2084
|
-
(_this$crossColumnRef2 = this.crossColumnRef) === null || _this$crossColumnRef2 === void 0
|
|
2078
|
+
(_this$crossColumnRef2 = this.crossColumnRef) === null || _this$crossColumnRef2 === void 0 || _this$crossColumnRef2.current.focus();
|
|
2085
2079
|
} else {
|
|
2086
|
-
var _this$
|
|
2087
|
-
(_this$
|
|
2080
|
+
var _this$grid12;
|
|
2081
|
+
(_this$grid12 = this.grid) === null || _this$grid12 === void 0 || _this$grid12.focus();
|
|
2088
2082
|
}
|
|
2089
2083
|
});
|
|
2090
2084
|
}
|
|
2091
2085
|
toggleGotoRow() {
|
|
2092
|
-
var _this$
|
|
2086
|
+
var _this$grid13, _this$grid14;
|
|
2093
2087
|
var row = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
2094
2088
|
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
2095
2089
|
var columnName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
@@ -2108,11 +2102,11 @@ class IrisGrid extends Component {
|
|
|
2108
2102
|
gotoValueManuallyChanged: false
|
|
2109
2103
|
});
|
|
2110
2104
|
this.focusRowInGrid(row);
|
|
2111
|
-
(_this$gotoRowRef$curr = this.gotoRowRef.current) === null || _this$gotoRowRef$curr === void 0
|
|
2105
|
+
(_this$gotoRowRef$curr = this.gotoRowRef.current) === null || _this$gotoRowRef$curr === void 0 || _this$gotoRowRef$curr.focus();
|
|
2112
2106
|
return;
|
|
2113
2107
|
}
|
|
2114
|
-
var cursorRow = (_this$
|
|
2115
|
-
var cursorColumn = (_this$
|
|
2108
|
+
var cursorRow = (_this$grid13 = this.grid) === null || _this$grid13 === void 0 ? void 0 : _this$grid13.state.cursorRow;
|
|
2109
|
+
var cursorColumn = (_this$grid14 = this.grid) === null || _this$grid14 === void 0 ? void 0 : _this$grid14.state.cursorColumn;
|
|
2116
2110
|
if (cursorRow == null || cursorColumn == null) {
|
|
2117
2111
|
// if a cell is not selected / grid is not rendered
|
|
2118
2112
|
this.setState({
|
|
@@ -2148,7 +2142,7 @@ class IrisGrid extends Component {
|
|
|
2148
2142
|
commitPending() {
|
|
2149
2143
|
var _this3 = this;
|
|
2150
2144
|
return _asyncToGenerator(function* () {
|
|
2151
|
-
var _document
|
|
2145
|
+
var _document;
|
|
2152
2146
|
var {
|
|
2153
2147
|
model
|
|
2154
2148
|
} = _this3.props;
|
|
@@ -2161,7 +2155,7 @@ class IrisGrid extends Component {
|
|
|
2161
2155
|
if (pendingSavePromise != null) {
|
|
2162
2156
|
throw new Error('Save already in progress');
|
|
2163
2157
|
}
|
|
2164
|
-
var containsGridCellInputField = (_document = document) === null || _document === void 0
|
|
2158
|
+
var containsGridCellInputField = (_document = document) === null || _document === void 0 || (_document = _document.activeElement) === null || _document === void 0 ? void 0 : _document.classList.contains('grid-cell-input-field');
|
|
2165
2159
|
if (containsGridCellInputField != null && containsGridCellInputField) {
|
|
2166
2160
|
var _this3$grid;
|
|
2167
2161
|
if (document.activeElement != null && document.activeElement.classList.contains('error')) {
|
|
@@ -2169,7 +2163,7 @@ class IrisGrid extends Component {
|
|
|
2169
2163
|
}
|
|
2170
2164
|
|
|
2171
2165
|
// Focus the grid again to commit any pending input changes
|
|
2172
|
-
(_this3$grid = _this3.grid) === null || _this3$grid === void 0
|
|
2166
|
+
(_this3$grid = _this3.grid) === null || _this3$grid === void 0 || _this3$grid.focus();
|
|
2173
2167
|
}
|
|
2174
2168
|
var newPendingSavePromise = _this3.pending.add(model.commitPending()).then(() => {
|
|
2175
2169
|
_this3.setState({
|
|
@@ -2279,7 +2273,7 @@ class IrisGrid extends Component {
|
|
|
2279
2273
|
this.setAdvancedFilter(index, filter, options);
|
|
2280
2274
|
}
|
|
2281
2275
|
handleAdvancedFilterSortChange(column, direction) {
|
|
2282
|
-
var _this$
|
|
2276
|
+
var _this$grid15;
|
|
2283
2277
|
var addToExisting = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
2284
2278
|
var {
|
|
2285
2279
|
model
|
|
@@ -2302,11 +2296,11 @@ class IrisGrid extends Component {
|
|
|
2302
2296
|
this.setState({
|
|
2303
2297
|
sorts
|
|
2304
2298
|
});
|
|
2305
|
-
(_this$
|
|
2299
|
+
(_this$grid15 = this.grid) === null || _this$grid15 === void 0 || _this$grid15.forceUpdate();
|
|
2306
2300
|
}
|
|
2307
2301
|
handleAdvancedFilterDone() {
|
|
2308
|
-
var _this$
|
|
2309
|
-
(_this$
|
|
2302
|
+
var _this$grid16;
|
|
2303
|
+
(_this$grid16 = this.grid) === null || _this$grid16 === void 0 || _this$grid16.focus();
|
|
2310
2304
|
}
|
|
2311
2305
|
handleAdvancedMenuOpened(column) {
|
|
2312
2306
|
this.setState({
|
|
@@ -2333,7 +2327,7 @@ class IrisGrid extends Component {
|
|
|
2333
2327
|
} = this.state;
|
|
2334
2328
|
if (isFilterBarShown && focusedFilterBarColumn === columnIndex && ((_this$filterInputRef = this.filterInputRef) === null || _this$filterInputRef === void 0 ? void 0 : _this$filterInputRef.current) !== null) {
|
|
2335
2329
|
var _this$filterInputRef2;
|
|
2336
|
-
(_this$filterInputRef2 = this.filterInputRef) === null || _this$filterInputRef2 === void 0
|
|
2330
|
+
(_this$filterInputRef2 = this.filterInputRef) === null || _this$filterInputRef2 === void 0 || _this$filterInputRef2.current.focus();
|
|
2337
2331
|
this.setState({
|
|
2338
2332
|
shownAdvancedFilter: null
|
|
2339
2333
|
});
|
|
@@ -2372,11 +2366,11 @@ class IrisGrid extends Component {
|
|
|
2372
2366
|
this.startLoading('Filtering...', {
|
|
2373
2367
|
resetRanges: true
|
|
2374
2368
|
});
|
|
2375
|
-
this.setState(
|
|
2369
|
+
this.setState(_ref13 => {
|
|
2376
2370
|
var {
|
|
2377
2371
|
focusedFilterBarColumn,
|
|
2378
2372
|
quickFilters
|
|
2379
|
-
} =
|
|
2373
|
+
} = _ref13;
|
|
2380
2374
|
var newQuickFilters = new Map(quickFilters);
|
|
2381
2375
|
if (focusedFilterBarColumn != null) {
|
|
2382
2376
|
var modelIndex = this.getModelColumn(focusedFilterBarColumn);
|
|
@@ -2392,8 +2386,8 @@ class IrisGrid extends Component {
|
|
|
2392
2386
|
var setGridFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
2393
2387
|
var defocusInput = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
2394
2388
|
if (setGridFocus) {
|
|
2395
|
-
var _this$
|
|
2396
|
-
(_this$
|
|
2389
|
+
var _this$grid17;
|
|
2390
|
+
(_this$grid17 = this.grid) === null || _this$grid17 === void 0 || _this$grid17.focus();
|
|
2397
2391
|
}
|
|
2398
2392
|
if (defocusInput) {
|
|
2399
2393
|
this.setState({
|
|
@@ -2438,10 +2432,10 @@ class IrisGrid extends Component {
|
|
|
2438
2432
|
model
|
|
2439
2433
|
} = this.props;
|
|
2440
2434
|
var column = model.columns[modelIndex];
|
|
2441
|
-
this.setState(
|
|
2435
|
+
this.setState(_ref14 => {
|
|
2442
2436
|
var {
|
|
2443
2437
|
columnAlignmentMap = EMPTY_MAP
|
|
2444
|
-
} =
|
|
2438
|
+
} = _ref14;
|
|
2445
2439
|
var newColumnAlignmentMap = new Map(columnAlignmentMap);
|
|
2446
2440
|
if (alignment != null) {
|
|
2447
2441
|
newColumnAlignmentMap.set(column.name, alignment);
|
|
@@ -2466,10 +2460,10 @@ class IrisGrid extends Component {
|
|
|
2466
2460
|
});
|
|
2467
2461
|
}
|
|
2468
2462
|
handleMenuBack() {
|
|
2469
|
-
this.setState(
|
|
2463
|
+
this.setState(_ref15 => {
|
|
2470
2464
|
var {
|
|
2471
2465
|
openOptions
|
|
2472
|
-
} =
|
|
2466
|
+
} = _ref15;
|
|
2473
2467
|
var newOptions = [...openOptions];
|
|
2474
2468
|
newOptions.pop();
|
|
2475
2469
|
return {
|
|
@@ -2478,10 +2472,10 @@ class IrisGrid extends Component {
|
|
|
2478
2472
|
});
|
|
2479
2473
|
}
|
|
2480
2474
|
handleMenuSelect(option) {
|
|
2481
|
-
this.setState(
|
|
2475
|
+
this.setState(_ref16 => {
|
|
2482
2476
|
var {
|
|
2483
2477
|
openOptions
|
|
2484
|
-
} =
|
|
2478
|
+
} = _ref16;
|
|
2485
2479
|
return {
|
|
2486
2480
|
openOptions: [...openOptions, option]
|
|
2487
2481
|
};
|
|
@@ -2520,7 +2514,7 @@ class IrisGrid extends Component {
|
|
|
2520
2514
|
}
|
|
2521
2515
|
}
|
|
2522
2516
|
handleUpdate() {
|
|
2523
|
-
var _this$
|
|
2517
|
+
var _this$grid18;
|
|
2524
2518
|
log.debug2('Received model update');
|
|
2525
2519
|
var {
|
|
2526
2520
|
advancedFilters,
|
|
@@ -2549,7 +2543,7 @@ class IrisGrid extends Component {
|
|
|
2549
2543
|
} else {
|
|
2550
2544
|
this.lastLoadedConfig = null;
|
|
2551
2545
|
}
|
|
2552
|
-
(_this$
|
|
2546
|
+
(_this$grid18 = this.grid) === null || _this$grid18 === void 0 || _this$grid18.forceUpdate();
|
|
2553
2547
|
this.stopLoading();
|
|
2554
2548
|
}
|
|
2555
2549
|
handleTableChanged() {
|
|
@@ -2562,13 +2556,13 @@ class IrisGrid extends Component {
|
|
|
2562
2556
|
});
|
|
2563
2557
|
}
|
|
2564
2558
|
handleViewChanged(metrics) {
|
|
2565
|
-
var _this$grid$state, _this$
|
|
2559
|
+
var _this$grid$state, _this$grid19;
|
|
2566
2560
|
var {
|
|
2567
2561
|
model
|
|
2568
2562
|
} = this.props;
|
|
2569
2563
|
var {
|
|
2570
2564
|
selectionEndRow = 0
|
|
2571
|
-
} = (_this$grid$state = (_this$
|
|
2565
|
+
} = (_this$grid$state = (_this$grid19 = this.grid) === null || _this$grid19 === void 0 ? void 0 : _this$grid19.state) !== null && _this$grid$state !== void 0 ? _this$grid$state : {};
|
|
2572
2566
|
var pendingRowCount = 0;
|
|
2573
2567
|
if (isEditableGridModel(model) && model.isEditable) {
|
|
2574
2568
|
assertNotNull(metrics);
|
|
@@ -2596,7 +2590,6 @@ class IrisGrid extends Component {
|
|
|
2596
2590
|
});
|
|
2597
2591
|
}
|
|
2598
2592
|
handleSelectionChanged(selectedRanges) {
|
|
2599
|
-
var _this$grid22;
|
|
2600
2593
|
assertNotNull(selectedRanges);
|
|
2601
2594
|
var {
|
|
2602
2595
|
onSelectionChanged
|
|
@@ -2612,9 +2605,14 @@ class IrisGrid extends Component {
|
|
|
2612
2605
|
copyOperation: null
|
|
2613
2606
|
});
|
|
2614
2607
|
}
|
|
2615
|
-
|
|
2608
|
+
|
|
2609
|
+
// We get 2 identical ranges here,
|
|
2610
|
+
// but consolidating in `Grid#moveSelection` causes
|
|
2611
|
+
// deselection to break, so just consolidate here.
|
|
2612
|
+
// This will only update the goto row input for row index
|
|
2613
|
+
if (GridRange.rowCount(GridRange.consolidate(selectedRanges)) === 1 && selectedRanges[0].startRow != null) {
|
|
2616
2614
|
this.setState({
|
|
2617
|
-
gotoRow: "".concat(
|
|
2615
|
+
gotoRow: "".concat(selectedRanges[0].startRow + 1)
|
|
2618
2616
|
});
|
|
2619
2617
|
}
|
|
2620
2618
|
onSelectionChanged(selectedRanges);
|
|
@@ -2631,8 +2629,8 @@ class IrisGrid extends Component {
|
|
|
2631
2629
|
this.setState({
|
|
2632
2630
|
columnHeaderGroups: IrisGridUtils.parseColumnHeaderGroups(model, columnHeaderGroups).groups
|
|
2633
2631
|
}, () => {
|
|
2634
|
-
var _this$
|
|
2635
|
-
return (_this$
|
|
2632
|
+
var _this$grid20;
|
|
2633
|
+
return (_this$grid20 = this.grid) === null || _this$grid20 === void 0 ? void 0 : _this$grid20.forceUpdate();
|
|
2636
2634
|
});
|
|
2637
2635
|
}
|
|
2638
2636
|
handleTooltipRef(tooltip) {
|
|
@@ -2680,9 +2678,6 @@ class IrisGrid extends Component {
|
|
|
2680
2678
|
conditionalFormatPreview: _objectSpread({}, conditionalFormats[index])
|
|
2681
2679
|
});
|
|
2682
2680
|
}
|
|
2683
|
-
|
|
2684
|
-
// Apply live changes
|
|
2685
|
-
|
|
2686
2681
|
handleConditionalFormatEditorSave(config) {
|
|
2687
2682
|
log.debug('Save conditional format changes', config);
|
|
2688
2683
|
this.setState(state => {
|
|
@@ -2771,9 +2766,9 @@ class IrisGrid extends Component {
|
|
|
2771
2766
|
isReady
|
|
2772
2767
|
} = this.state;
|
|
2773
2768
|
if (isReady) {
|
|
2774
|
-
var _this$
|
|
2769
|
+
var _this$grid21;
|
|
2775
2770
|
this.stopLoading();
|
|
2776
|
-
(_this$
|
|
2771
|
+
(_this$grid21 = this.grid) === null || _this$grid21 === void 0 || _this$grid21.forceUpdate();
|
|
2777
2772
|
} else {
|
|
2778
2773
|
this.loadTableState();
|
|
2779
2774
|
}
|
|
@@ -2785,7 +2780,7 @@ class IrisGrid extends Component {
|
|
|
2785
2780
|
return this.discardPending();
|
|
2786
2781
|
}
|
|
2787
2782
|
handlePendingDataUpdated() {
|
|
2788
|
-
var _this$
|
|
2783
|
+
var _this$grid22;
|
|
2789
2784
|
log.debug('pending data updated');
|
|
2790
2785
|
var {
|
|
2791
2786
|
model
|
|
@@ -2799,10 +2794,10 @@ class IrisGrid extends Component {
|
|
|
2799
2794
|
pendingDataErrors,
|
|
2800
2795
|
pendingSaveError: null
|
|
2801
2796
|
});
|
|
2802
|
-
(_this$
|
|
2797
|
+
(_this$grid22 = this.grid) === null || _this$grid22 === void 0 || _this$grid22.forceUpdate();
|
|
2803
2798
|
}
|
|
2804
2799
|
handleResizeColumn(modelIndex) {
|
|
2805
|
-
var _this$
|
|
2800
|
+
var _this$grid23;
|
|
2806
2801
|
var {
|
|
2807
2802
|
metrics,
|
|
2808
2803
|
metricCalculator
|
|
@@ -2816,21 +2811,21 @@ class IrisGrid extends Component {
|
|
|
2816
2811
|
} else {
|
|
2817
2812
|
metricCalculator.setColumnWidth(modelIndex, contentWidth);
|
|
2818
2813
|
}
|
|
2819
|
-
(_this$
|
|
2814
|
+
(_this$grid23 = this.grid) === null || _this$grid23 === void 0 || _this$grid23.forceUpdate();
|
|
2820
2815
|
}
|
|
2821
2816
|
handleResizeAllColumns() {
|
|
2822
|
-
var _this$
|
|
2817
|
+
var _this$grid24;
|
|
2823
2818
|
var {
|
|
2824
2819
|
metrics,
|
|
2825
2820
|
metricCalculator
|
|
2826
2821
|
} = this.state;
|
|
2827
2822
|
if (!metrics) throw new Error('Metrics not set');
|
|
2828
2823
|
var allColumns = [...metrics.allColumnWidths.entries()];
|
|
2829
|
-
var visibleColumns = allColumns.filter(
|
|
2830
|
-
var [_, width] =
|
|
2824
|
+
var visibleColumns = allColumns.filter(_ref17 => {
|
|
2825
|
+
var [_, width] = _ref17;
|
|
2831
2826
|
return width !== 0;
|
|
2832
|
-
}).map(
|
|
2833
|
-
var [modelIndex] =
|
|
2827
|
+
}).map(_ref18 => {
|
|
2828
|
+
var [modelIndex] = _ref18;
|
|
2834
2829
|
return modelIndex;
|
|
2835
2830
|
});
|
|
2836
2831
|
var contentWidths = metrics.contentColumnWidths;
|
|
@@ -2852,7 +2847,7 @@ class IrisGrid extends Component {
|
|
|
2852
2847
|
metricCalculator.setColumnWidth(_modelIndex, _contentWidth);
|
|
2853
2848
|
}
|
|
2854
2849
|
}
|
|
2855
|
-
(_this$
|
|
2850
|
+
(_this$grid24 = this.grid) === null || _this$grid24 === void 0 || _this$grid24.forceUpdate();
|
|
2856
2851
|
}
|
|
2857
2852
|
|
|
2858
2853
|
/**
|
|
@@ -2869,7 +2864,7 @@ class IrisGrid extends Component {
|
|
|
2869
2864
|
var {
|
|
2870
2865
|
rollupConfig
|
|
2871
2866
|
} = this.state;
|
|
2872
|
-
var isRollup = ((_rollupConfig$columns = rollupConfig === null || rollupConfig === void 0
|
|
2867
|
+
var isRollup = ((_rollupConfig$columns = rollupConfig === null || rollupConfig === void 0 || (_rollupConfig$columns2 = rollupConfig.columns) === null || _rollupConfig$columns2 === void 0 ? void 0 : _rollupConfig$columns2.length) !== null && _rollupConfig$columns !== void 0 ? _rollupConfig$columns : 0) > 0;
|
|
2873
2868
|
// Do not start loading if this is rollup and added / removed aggregations are prohibited for rollups
|
|
2874
2869
|
var changes = [...added, ...removed];
|
|
2875
2870
|
var shouldStartLoading = !(isRollup && changes.length > 0 && changes.every(op => AggregationUtils.isRollupProhibited(op)));
|
|
@@ -2891,16 +2886,16 @@ class IrisGrid extends Component {
|
|
|
2891
2886
|
var {
|
|
2892
2887
|
rollupConfig
|
|
2893
2888
|
} = this.state;
|
|
2894
|
-
var isRollup = ((_rollupConfig$columns3 = rollupConfig === null || rollupConfig === void 0
|
|
2889
|
+
var isRollup = ((_rollupConfig$columns3 = rollupConfig === null || rollupConfig === void 0 || (_rollupConfig$columns4 = rollupConfig.columns) === null || _rollupConfig$columns4 === void 0 ? void 0 : _rollupConfig$columns4.length) !== null && _rollupConfig$columns3 !== void 0 ? _rollupConfig$columns3 : 0) > 0;
|
|
2895
2890
|
// Do not start loading if this is rollup and the aggregation is prohibited for rollups
|
|
2896
2891
|
var shouldStartLoading = !(isRollup && AggregationUtils.isRollupProhibited(aggregation.operation));
|
|
2897
2892
|
if (shouldStartLoading) {
|
|
2898
2893
|
this.startLoading("Aggregating ".concat(aggregation.operation, "..."));
|
|
2899
2894
|
}
|
|
2900
|
-
this.setState(
|
|
2895
|
+
this.setState(_ref19 => {
|
|
2901
2896
|
var {
|
|
2902
2897
|
aggregationSettings
|
|
2903
|
-
} =
|
|
2898
|
+
} = _ref19;
|
|
2904
2899
|
return {
|
|
2905
2900
|
selectedAggregation: aggregation,
|
|
2906
2901
|
aggregationSettings: _objectSpread(_objectSpread({}, aggregationSettings), {}, {
|
|
@@ -2933,18 +2928,18 @@ class IrisGrid extends Component {
|
|
|
2933
2928
|
this.resetGridViewState();
|
|
2934
2929
|
this.showAllColumns();
|
|
2935
2930
|
this.clearAllFilters();
|
|
2936
|
-
this.startLoading("Grouping by columns ".concat((_rollupConfig$columns5 = rollupConfig === null || rollupConfig === void 0
|
|
2931
|
+
this.startLoading("Grouping by columns ".concat((_rollupConfig$columns5 = rollupConfig === null || rollupConfig === void 0 || (_rollupConfig$columns6 = rollupConfig.columns) === null || _rollupConfig$columns6 === void 0 ? void 0 : _rollupConfig$columns6.join(', ')) !== null && _rollupConfig$columns5 !== void 0 ? _rollupConfig$columns5 : '', "..."));
|
|
2937
2932
|
|
|
2938
2933
|
// Have to clear select distinct since rollup uses the original columns, not the current ones.
|
|
2939
2934
|
// IrisGridProxyModel has a check to prevent model update
|
|
2940
2935
|
// when selectDistinctModel is cleared and the rollupConfig is set on the model.
|
|
2941
2936
|
this.setState({
|
|
2942
2937
|
rollupConfig,
|
|
2943
|
-
movedColumns:
|
|
2944
|
-
frozenColumns:
|
|
2945
|
-
sorts:
|
|
2938
|
+
movedColumns: EMPTY_ARRAY,
|
|
2939
|
+
frozenColumns: EMPTY_ARRAY,
|
|
2940
|
+
sorts: EMPTY_ARRAY,
|
|
2946
2941
|
reverse: false,
|
|
2947
|
-
selectDistinctColumns:
|
|
2942
|
+
selectDistinctColumns: EMPTY_ARRAY
|
|
2948
2943
|
});
|
|
2949
2944
|
}
|
|
2950
2945
|
handleSelectDistinctChanged(columnNames) {
|
|
@@ -3000,10 +2995,10 @@ class IrisGrid extends Component {
|
|
|
3000
2995
|
*/
|
|
3001
2996
|
removeEmptyAggregations() {
|
|
3002
2997
|
log.debug('removeEmptyAggregations');
|
|
3003
|
-
this.setState(
|
|
2998
|
+
this.setState(_ref20 => {
|
|
3004
2999
|
var {
|
|
3005
3000
|
aggregationSettings
|
|
3006
|
-
} =
|
|
3001
|
+
} = _ref20;
|
|
3007
3002
|
var {
|
|
3008
3003
|
aggregations
|
|
3009
3004
|
} = aggregationSettings;
|
|
@@ -3095,7 +3090,7 @@ class IrisGrid extends Component {
|
|
|
3095
3090
|
rowIndex = yield model.seekRow(searchFromRow, selectedColumn, dh.ValueType.STRING, _this6.tableUtils.makeValue(selectedColumn.type, inputString, formatter.timeZone), undefined, undefined, isBackwards !== null && isBackwards !== void 0 ? isBackwards : false);
|
|
3096
3091
|
}
|
|
3097
3092
|
}
|
|
3098
|
-
(_this6$grid2 = _this6.grid) === null || _this6$grid2 === void 0
|
|
3093
|
+
(_this6$grid2 = _this6.grid) === null || _this6$grid2 === void 0 || _this6$grid2.setFocusRow(rowIndex);
|
|
3099
3094
|
_this6.setState({
|
|
3100
3095
|
gotoValueError: ''
|
|
3101
3096
|
});
|
|
@@ -3108,7 +3103,7 @@ class IrisGrid extends Component {
|
|
|
3108
3103
|
}
|
|
3109
3104
|
handleCancelDownloadTable() {
|
|
3110
3105
|
var _this$tableSaver;
|
|
3111
|
-
(_this$tableSaver = this.tableSaver) === null || _this$tableSaver === void 0
|
|
3106
|
+
(_this$tableSaver = this.tableSaver) === null || _this$tableSaver === void 0 || _this$tableSaver.cancelDownload();
|
|
3112
3107
|
this.setState({
|
|
3113
3108
|
isTableDownloading: false
|
|
3114
3109
|
});
|
|
@@ -3278,22 +3273,22 @@ class IrisGrid extends Component {
|
|
|
3278
3273
|
gotoRowError: 'Invalid row index'
|
|
3279
3274
|
});
|
|
3280
3275
|
} else if (rowInt === 0) {
|
|
3281
|
-
var _this$
|
|
3276
|
+
var _this$grid25;
|
|
3282
3277
|
this.setState({
|
|
3283
3278
|
gotoRowError: '',
|
|
3284
3279
|
gotoValueError: ''
|
|
3285
3280
|
});
|
|
3286
|
-
(_this$
|
|
3281
|
+
(_this$grid25 = this.grid) === null || _this$grid25 === void 0 || _this$grid25.setFocusRow(0);
|
|
3287
3282
|
} else if (rowInt < 0) {
|
|
3288
|
-
var _this$
|
|
3283
|
+
var _this$grid26;
|
|
3289
3284
|
this.setState({
|
|
3290
3285
|
gotoRowError: '',
|
|
3291
3286
|
gotoValueError: ''
|
|
3292
3287
|
});
|
|
3293
|
-
(_this$
|
|
3288
|
+
(_this$grid26 = this.grid) === null || _this$grid26 === void 0 || _this$grid26.setFocusRow(rowInt + rowCount);
|
|
3294
3289
|
} else {
|
|
3295
|
-
var _this$
|
|
3296
|
-
(_this$
|
|
3290
|
+
var _this$grid27;
|
|
3291
|
+
(_this$grid27 = this.grid) === null || _this$grid27 === void 0 || _this$grid27.setFocusRow(rowInt - 1);
|
|
3297
3292
|
this.setState({
|
|
3298
3293
|
gotoRowError: '',
|
|
3299
3294
|
gotoValueError: ''
|
|
@@ -3386,34 +3381,34 @@ class IrisGrid extends Component {
|
|
|
3386
3381
|
column: column,
|
|
3387
3382
|
onStatistics: () => {
|
|
3388
3383
|
var _this$tooltip;
|
|
3389
|
-
(_this$tooltip = this.tooltip) === null || _this$tooltip === void 0
|
|
3384
|
+
(_this$tooltip = this.tooltip) === null || _this$tooltip === void 0 || _this$tooltip.update();
|
|
3390
3385
|
}
|
|
3391
3386
|
})
|
|
3392
3387
|
}, column.name)
|
|
3393
3388
|
});
|
|
3394
3389
|
}
|
|
3395
3390
|
handleGotoValueSelectedColumnNameChanged(columnName) {
|
|
3396
|
-
var _this$
|
|
3391
|
+
var _this$grid28;
|
|
3397
3392
|
var {
|
|
3398
3393
|
model
|
|
3399
3394
|
} = this.props;
|
|
3400
|
-
var cursorRow = (_this$
|
|
3395
|
+
var cursorRow = (_this$grid28 = this.grid) === null || _this$grid28 === void 0 ? void 0 : _this$grid28.state.cursorRow;
|
|
3401
3396
|
var {
|
|
3402
3397
|
gotoValueSelectedColumnName: prevColumnName,
|
|
3403
3398
|
gotoValueManuallyChanged
|
|
3404
3399
|
} = this.state;
|
|
3405
3400
|
if (cursorRow != null) {
|
|
3406
|
-
var
|
|
3407
|
-
var
|
|
3401
|
+
var index = model.getColumnIndexByName(columnName);
|
|
3402
|
+
var column = IrisGridUtils.getColumnByName(model.columns, columnName);
|
|
3408
3403
|
var prevColumn = IrisGridUtils.getColumnByName(model.columns, prevColumnName);
|
|
3409
|
-
if (
|
|
3404
|
+
if (index == null || column == null) {
|
|
3410
3405
|
return;
|
|
3411
3406
|
}
|
|
3412
|
-
var
|
|
3413
|
-
var text = IrisGridUtils.convertValueToText(
|
|
3407
|
+
var value = model.valueForCell(index, cursorRow);
|
|
3408
|
+
var text = IrisGridUtils.convertValueToText(value, column.type);
|
|
3414
3409
|
|
|
3415
3410
|
// do NOT update value if user manually changed value AND column type remains the same
|
|
3416
|
-
if (gotoValueManuallyChanged &&
|
|
3411
|
+
if (gotoValueManuallyChanged && column.type === (prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.type)) {
|
|
3417
3412
|
this.setState({
|
|
3418
3413
|
gotoValueSelectedColumnName: columnName,
|
|
3419
3414
|
gotoValueError: ''
|
|
@@ -3449,8 +3444,7 @@ class IrisGrid extends Component {
|
|
|
3449
3444
|
var _rollupConfig$columns7,
|
|
3450
3445
|
_rollupConfig$columns8,
|
|
3451
3446
|
_this7 = this,
|
|
3452
|
-
_this$
|
|
3453
|
-
_this$grid33$state$dr,
|
|
3447
|
+
_this$grid30,
|
|
3454
3448
|
_openOptions;
|
|
3455
3449
|
var {
|
|
3456
3450
|
children,
|
|
@@ -3556,7 +3550,7 @@ class IrisGrid extends Component {
|
|
|
3556
3550
|
right = metrics ? metrics.right : 0;
|
|
3557
3551
|
}
|
|
3558
3552
|
var isVisible = metrics != null && metrics.width > 0 && metrics.height > 0;
|
|
3559
|
-
var isRollup = ((_rollupConfig$columns7 = rollupConfig === null || rollupConfig === void 0
|
|
3553
|
+
var isRollup = ((_rollupConfig$columns7 = rollupConfig === null || rollupConfig === void 0 || (_rollupConfig$columns8 = rollupConfig.columns) === null || _rollupConfig$columns8 === void 0 ? void 0 : _rollupConfig$columns8.length) !== null && _rollupConfig$columns7 !== void 0 ? _rollupConfig$columns7 : 0) > 0;
|
|
3560
3554
|
var focusField = null;
|
|
3561
3555
|
var debounceMs = metrics ? Math.min(Math.max(IrisGrid.minDebounce, Math.round(metrics.rowCount / 200)), IrisGrid.maxDebounce) : IrisGrid.maxDebounce;
|
|
3562
3556
|
if (isFilterBarShown && focusedFilterBarColumn != null && metrics != null) {
|
|
@@ -3570,7 +3564,7 @@ class IrisGrid extends Component {
|
|
|
3570
3564
|
var columnX = allColumnXs.get(focusedFilterBarColumn);
|
|
3571
3565
|
var columnWidth = allColumnWidths.get(focusedFilterBarColumn);
|
|
3572
3566
|
if (columnX != null && columnWidth != null) {
|
|
3573
|
-
var _theme$filterBarHeigh, _theme$filterBarHeigh2, _this$
|
|
3567
|
+
var _theme$filterBarHeigh, _theme$filterBarHeigh2, _this$grid29;
|
|
3574
3568
|
var x = gridX + columnX;
|
|
3575
3569
|
var y = gridY - ((_theme$filterBarHeigh = theme.filterBarHeight) !== null && _theme$filterBarHeigh !== void 0 ? _theme$filterBarHeigh : 0);
|
|
3576
3570
|
var fieldWidth = columnWidth + 1; // cover right border
|
|
@@ -3582,14 +3576,14 @@ class IrisGrid extends Component {
|
|
|
3582
3576
|
// Don't cause overflow
|
|
3583
3577
|
height: fieldHeight
|
|
3584
3578
|
};
|
|
3585
|
-
var
|
|
3579
|
+
var value = '';
|
|
3586
3580
|
var isValid = true;
|
|
3587
3581
|
var modelColumn = this.getModelColumn(focusedFilterBarColumn);
|
|
3588
3582
|
assertNotNull(modelColumn);
|
|
3589
3583
|
var quickFilter = quickFilters.get(modelColumn);
|
|
3590
3584
|
var advancedFilter = advancedFilters.get(modelColumn);
|
|
3591
3585
|
if (quickFilter != null) {
|
|
3592
|
-
|
|
3586
|
+
value = quickFilter.text;
|
|
3593
3587
|
isValid = quickFilter.filter != null;
|
|
3594
3588
|
}
|
|
3595
3589
|
var isBarFiltered = quickFilters.size !== 0 || advancedFilters.size !== 0;
|
|
@@ -3598,7 +3592,7 @@ class IrisGrid extends Component {
|
|
|
3598
3592
|
style: style,
|
|
3599
3593
|
className: classNames({
|
|
3600
3594
|
error: !isValid,
|
|
3601
|
-
active:
|
|
3595
|
+
active: value !== '' || advancedFilter != null,
|
|
3602
3596
|
'iris-grid-has-filter': isBarFiltered
|
|
3603
3597
|
}),
|
|
3604
3598
|
isAdvancedFilterSet: advancedFilter != null,
|
|
@@ -3610,9 +3604,9 @@ class IrisGrid extends Component {
|
|
|
3610
3604
|
onChange: this.handleFilterBarChange,
|
|
3611
3605
|
onDone: this.handleFilterBarDone,
|
|
3612
3606
|
onTab: this.handleFilterBarTab,
|
|
3613
|
-
onContextMenu: (_this$
|
|
3607
|
+
onContextMenu: (_this$grid29 = this.grid) === null || _this$grid29 === void 0 ? void 0 : _this$grid29.handleContextMenu,
|
|
3614
3608
|
debounceMs: debounceMs,
|
|
3615
|
-
value:
|
|
3609
|
+
value: value
|
|
3616
3610
|
}, focusedFilterBarColumn);
|
|
3617
3611
|
}
|
|
3618
3612
|
}
|
|
@@ -3651,7 +3645,7 @@ class IrisGrid extends Component {
|
|
|
3651
3645
|
var _this$tooltip2;
|
|
3652
3646
|
columnTooltip = this.getColumnTooltip(shownColumnTooltip, metrics, model);
|
|
3653
3647
|
// #510 We may need to update the position of the tooltip if it's already opened and columns are resized
|
|
3654
|
-
(_this$tooltip2 = this.tooltip) === null || _this$tooltip2 === void 0
|
|
3648
|
+
(_this$tooltip2 = this.tooltip) === null || _this$tooltip2 === void 0 || _this$tooltip2.update();
|
|
3655
3649
|
}
|
|
3656
3650
|
var filterBar = [];
|
|
3657
3651
|
if (metrics && isFilterBarShown) {
|
|
@@ -3700,7 +3694,7 @@ class IrisGrid extends Component {
|
|
|
3700
3694
|
},
|
|
3701
3695
|
onContextMenu: event => {
|
|
3702
3696
|
var _this7$grid;
|
|
3703
|
-
(_this7$grid = _this7.grid) === null || _this7$grid === void 0
|
|
3697
|
+
(_this7$grid = _this7.grid) === null || _this7$grid === void 0 || _this7$grid.handleContextMenu(event);
|
|
3704
3698
|
},
|
|
3705
3699
|
onMouseEnter: () => {
|
|
3706
3700
|
_this7.setState({
|
|
@@ -3763,18 +3757,18 @@ class IrisGrid extends Component {
|
|
|
3763
3757
|
};
|
|
3764
3758
|
var _modelColumn = _this7.getModelColumn(columnIndex);
|
|
3765
3759
|
if (_modelColumn != null) {
|
|
3766
|
-
var
|
|
3767
|
-
if (
|
|
3760
|
+
var column = model.columns[_modelColumn];
|
|
3761
|
+
if (column == null) {
|
|
3768
3762
|
// Grid metrics is likely out of sync with model
|
|
3769
3763
|
log.warn("Column does not exist at index ".concat(_modelColumn, " for column array of length ").concat(model.columns.length));
|
|
3770
3764
|
// eslint-disable-next-line no-continue
|
|
3771
|
-
return
|
|
3765
|
+
return 1; // continue
|
|
3772
3766
|
}
|
|
3773
3767
|
var _advancedFilter2 = advancedFilters.get(_modelColumn);
|
|
3774
3768
|
var {
|
|
3775
3769
|
options: advancedFilterOptions
|
|
3776
3770
|
} = _advancedFilter2 || {};
|
|
3777
|
-
var sort = TableUtils.getSortForColumn(model.sort,
|
|
3771
|
+
var sort = TableUtils.getSortForColumn(model.sort, column.name);
|
|
3778
3772
|
var sortDirection = sort ? sort.direction : null;
|
|
3779
3773
|
if (!isSortDirection(sortDirection)) {
|
|
3780
3774
|
throw new Error("Invalid sort direction: ".concat(sortDirection));
|
|
@@ -3794,7 +3788,7 @@ class IrisGrid extends Component {
|
|
|
3794
3788
|
options: {
|
|
3795
3789
|
positionFixed: true
|
|
3796
3790
|
},
|
|
3797
|
-
children: _this7.getCachedAdvancedFilterMenuActions(model,
|
|
3791
|
+
children: _this7.getCachedAdvancedFilterMenuActions(model, column, advancedFilterOptions, sortDirection, formatter)
|
|
3798
3792
|
})
|
|
3799
3793
|
}, columnIndex);
|
|
3800
3794
|
advancedFilterMenus.push(element);
|
|
@@ -3802,8 +3796,7 @@ class IrisGrid extends Component {
|
|
|
3802
3796
|
}
|
|
3803
3797
|
};
|
|
3804
3798
|
for (var _i4 = 0; _i4 < _visibleColumns.length; _i4 += 1) {
|
|
3805
|
-
|
|
3806
|
-
if (_ret === "continue") continue;
|
|
3799
|
+
if (_loop3()) continue;
|
|
3807
3800
|
}
|
|
3808
3801
|
}
|
|
3809
3802
|
var optionItems = this.getCachedOptionItems(onCreateChart !== undefined && model.isChartBuilderAvailable, model.isCustomColumnsAvailable, model.isFormatColumnsAvailable, model.isOrganizeColumnsAvailable, model.isRollupAvailable, model.isTotalsAvailable || isRollup, model.isSelectDistinctAvailable, model.isExportAvailable, this.toggleFilterBarAction, this.toggleSearchBarAction, this.toggleGotoRowAction, isFilterBarShown, showSearchBar, canDownloadCsv, this.isTableSearchAvailable(), isGotoShown, advancedSettings.size > 0);
|
|
@@ -3921,7 +3914,9 @@ class IrisGrid extends Component {
|
|
|
3921
3914
|
onExited: this.handleAnimationEnd,
|
|
3922
3915
|
mountOnEnter: true,
|
|
3923
3916
|
unmountOnExit: true,
|
|
3917
|
+
nodeRef: this.slideTransitionRef,
|
|
3924
3918
|
children: /*#__PURE__*/_jsx("div", {
|
|
3919
|
+
ref: this.slideTransitionRef,
|
|
3925
3920
|
className: "iris-grid-partition-selector-wrapper iris-grid-bar iris-grid-bar-primary",
|
|
3926
3921
|
children: isPartitionedGridModel(model) && model.isPartitionRequired && /*#__PURE__*/_jsx(IrisGridPartitionSelector, {
|
|
3927
3922
|
model: model,
|
|
@@ -3939,7 +3934,9 @@ class IrisGrid extends Component {
|
|
|
3939
3934
|
onExited: this.handleAnimationEnd,
|
|
3940
3935
|
mountOnEnter: true,
|
|
3941
3936
|
unmountOnExit: true,
|
|
3937
|
+
nodeRef: this.bottomTransitionRef,
|
|
3942
3938
|
children: /*#__PURE__*/_jsx("div", {
|
|
3939
|
+
ref: this.bottomTransitionRef,
|
|
3943
3940
|
className: "iris-grid-bar",
|
|
3944
3941
|
children: /*#__PURE__*/_jsx(CrossColumnSearch, {
|
|
3945
3942
|
value: searchValue,
|
|
@@ -3988,7 +3985,7 @@ class IrisGrid extends Component {
|
|
|
3988
3985
|
movedColumns: movedColumns,
|
|
3989
3986
|
customColumns: customColumns,
|
|
3990
3987
|
hiddenColumns: hiddenColumns,
|
|
3991
|
-
alwaysFetchColumns: this.getAlwaysFetchColumns(alwaysFetchColumns, model.columns, movedColumns, model.floatingLeftColumnCount, model.floatingRightColumnCount, (_this$
|
|
3988
|
+
alwaysFetchColumns: this.getAlwaysFetchColumns(alwaysFetchColumns, model.columns, movedColumns, model.floatingLeftColumnCount, model.floatingRightColumnCount, (_this$grid30 = this.grid) === null || _this$grid30 === void 0 || (_this$grid30 = _this$grid30.state.draggingColumn) === null || _this$grid30 === void 0 ? void 0 : _this$grid30.range),
|
|
3992
3989
|
formatColumns: this.getCachedPreviewFormatColumns(model.dh, model.columns, conditionalFormats, conditionalFormatPreview,
|
|
3993
3990
|
// Disable the preview format when we press Back on the format edit page
|
|
3994
3991
|
((_openOptions = openOptions[openOptions.length - 1]) === null || _openOptions === void 0 ? void 0 : _openOptions.type) === OptionType.CONDITIONAL_FORMATTING_EDIT ? conditionalFormatEditIndex !== null && conditionalFormatEditIndex !== void 0 ? conditionalFormatEditIndex : undefined : undefined),
|
|
@@ -4117,7 +4114,6 @@ _defineProperty(IrisGrid, "minDebounce", 150);
|
|
|
4117
4114
|
_defineProperty(IrisGrid, "maxDebounce", 500);
|
|
4118
4115
|
_defineProperty(IrisGrid, "loadingSpinnerDelay", 800);
|
|
4119
4116
|
_defineProperty(IrisGrid, "defaultProps", {
|
|
4120
|
-
children: null,
|
|
4121
4117
|
advancedFilters: EMPTY_MAP,
|
|
4122
4118
|
advancedSettings: EMPTY_MAP,
|
|
4123
4119
|
alwaysFetchColumns: EMPTY_ARRAY,
|
|
@@ -4152,7 +4148,6 @@ _defineProperty(IrisGrid, "defaultProps", {
|
|
|
4152
4148
|
isSelectingPartition: false,
|
|
4153
4149
|
isStuckToBottom: false,
|
|
4154
4150
|
isStuckToRight: false,
|
|
4155
|
-
columnSelectionValidator: null,
|
|
4156
4151
|
columnAllowedCursor: 'linker',
|
|
4157
4152
|
columnNotAllowedCursor: 'linker-not-allowed',
|
|
4158
4153
|
copyCursor: 'copy',
|
|
@@ -4160,7 +4155,6 @@ _defineProperty(IrisGrid, "defaultProps", {
|
|
|
4160
4155
|
onlyFetchVisibleColumns: true,
|
|
4161
4156
|
showSearchBar: false,
|
|
4162
4157
|
searchValue: '',
|
|
4163
|
-
selectedSearchColumns: null,
|
|
4164
4158
|
invertSearchColumns: true,
|
|
4165
4159
|
onContextMenu: () => EMPTY_ARRAY,
|
|
4166
4160
|
pendingDataMap: EMPTY_MAP,
|
|
@@ -4174,18 +4168,11 @@ _defineProperty(IrisGrid, "defaultProps", {
|
|
|
4174
4168
|
showEmptyStrings: true,
|
|
4175
4169
|
showNullStrings: true,
|
|
4176
4170
|
showExtraGroupColumn: true,
|
|
4177
|
-
formatter: EMPTY_ARRAY
|
|
4178
|
-
decimalFormatOptions: PropTypes.shape({
|
|
4179
|
-
defaultFormatString: PropTypes.string
|
|
4180
|
-
}),
|
|
4181
|
-
integerFormatOptions: PropTypes.shape({
|
|
4182
|
-
defaultFormatString: PropTypes.string
|
|
4183
|
-
})
|
|
4171
|
+
formatter: EMPTY_ARRAY
|
|
4184
4172
|
},
|
|
4185
4173
|
canCopy: true,
|
|
4186
4174
|
canDownloadCsv: true,
|
|
4187
|
-
frozenColumns:
|
|
4188
|
-
theme: null,
|
|
4175
|
+
frozenColumns: EMPTY_ARRAY,
|
|
4189
4176
|
// Do not set a default density prop since we need to know if it overrides the global density setting
|
|
4190
4177
|
density: undefined,
|
|
4191
4178
|
canToggleSearch: true,
|