@deephaven/iris-grid 1.7.1 → 1.7.2-beta.3
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 +39 -49
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +158 -175
- package/dist/IrisGrid.js.map +1 -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 +3 -2
- 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.js.map +1 -1
- package/dist/IrisGridTreeTableModel.js +12 -13
- package/dist/IrisGridTreeTableModel.js.map +1 -1
- package/dist/IrisGridUtils.js +56 -56
- 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.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.js +3 -5
- package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnInput.js +1 -2
- 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.js +7 -9
- 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 +2 -4
- 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 +1 -2
- 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);
|
|
@@ -272,6 +268,14 @@ class IrisGrid extends Component {
|
|
|
272
268
|
_defineProperty(this, "getCachedFormatColumns", memoize((dh, columns, rules) => getFormatColumns(dh, columns, rules), {
|
|
273
269
|
max: 1000
|
|
274
270
|
}));
|
|
271
|
+
/**
|
|
272
|
+
* Builds formatColumns array based on the provided formatting rules with optional preview
|
|
273
|
+
* @param columns Array of columns
|
|
274
|
+
* @param rulesParam Array of formatting rules
|
|
275
|
+
* @param preview Optional temporary formatting rule for previewing live changes
|
|
276
|
+
* @param editIndex Index in the rulesParam array to replace with the preview, null if preview not applicable
|
|
277
|
+
* @returns Format columns array
|
|
278
|
+
*/
|
|
275
279
|
_defineProperty(this, "getCachedPreviewFormatColumns", memoize((dh, columns, rulesParam, preview, editIndex) => {
|
|
276
280
|
log.debug('getCachedPreviewFormatColumns', rulesParam, preview, editIndex);
|
|
277
281
|
if (preview !== undefined && editIndex !== undefined) {
|
|
@@ -288,7 +292,7 @@ class IrisGrid extends Component {
|
|
|
288
292
|
}));
|
|
289
293
|
_defineProperty(this, "getModelTotalsConfig", memoize((columns, config, aggregationSettings) => {
|
|
290
294
|
var _config$columns$lengt, _config$columns;
|
|
291
|
-
if (((_config$columns$lengt = config === null || config === void 0
|
|
295
|
+
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
296
|
// If we've got rollups, then aggregations are applied as part of that...
|
|
293
297
|
return null;
|
|
294
298
|
}
|
|
@@ -360,7 +364,7 @@ class IrisGrid extends Component {
|
|
|
360
364
|
_defineProperty(this, "getCachedKeyHandlers", memoize(keyHandlers => [...keyHandlers, ...this.keyHandlers].sort((a, b) => a.order - b.order), {
|
|
361
365
|
max: 1
|
|
362
366
|
}));
|
|
363
|
-
_defineProperty(this, "getCachedMouseHandlers", memoize(mouseHandlers => [...mouseHandlers, ...this.mouseHandlers], {
|
|
367
|
+
_defineProperty(this, "getCachedMouseHandlers", memoize(mouseHandlers => [...mouseHandlers, ...this.mouseHandlers].map(handler => typeof handler === 'function' ? handler(this) : handler), {
|
|
364
368
|
max: 1
|
|
365
369
|
}));
|
|
366
370
|
_defineProperty(this, "getCachedRenderer", memoize(rendererProp => rendererProp !== null && rendererProp !== void 0 ? rendererProp : new IrisGridRenderer(), {
|
|
@@ -412,6 +416,7 @@ class IrisGrid extends Component {
|
|
|
412
416
|
leading: false,
|
|
413
417
|
trailing: true
|
|
414
418
|
}));
|
|
419
|
+
// Apply live changes
|
|
415
420
|
_defineProperty(this, "handleConditionalFormatEditorUpdate", debounce(conditionalFormatPreview => {
|
|
416
421
|
this.setState({
|
|
417
422
|
conditionalFormatPreview
|
|
@@ -681,14 +686,16 @@ class IrisGrid extends Component {
|
|
|
681
686
|
frozenColumns,
|
|
682
687
|
columnHeaderGroups
|
|
683
688
|
} = props;
|
|
689
|
+
var {
|
|
690
|
+
mouseHandlers: mouseHandlersProp
|
|
691
|
+
} = props;
|
|
684
692
|
var {
|
|
685
693
|
dh: _dh
|
|
686
694
|
} = _model;
|
|
687
695
|
var _keyHandlers = [new CopyCellKeyHandler(this), new ReverseKeyHandler(this), new ClearFilterKeyHandler(this)];
|
|
688
|
-
var _mouseHandlers = [new IrisGridCellOverflowMouseHandler(this), new IrisGridRowTreeMouseHandler(this), new IrisGridTokenMouseHandler(this), new IrisGridColumnSelectMouseHandler(this), new IrisGridColumnTooltipMouseHandler(this), new IrisGridSortMouseHandler(this), new IrisGridFilterMouseHandler(this), new IrisGridContextMenuHandler(this, _dh), new IrisGridDataSelectMouseHandler(this), new PendingMouseHandler(this), new IrisGridPartitionedTableMouseHandler(this)];
|
|
696
|
+
var _mouseHandlers = [new IrisGridCellOverflowMouseHandler(this), new IrisGridRowTreeMouseHandler(this), new IrisGridTokenMouseHandler(this), new IrisGridColumnSelectMouseHandler(this), new IrisGridColumnTooltipMouseHandler(this), new IrisGridSortMouseHandler(this), new IrisGridFilterMouseHandler(this), new IrisGridContextMenuHandler(this, _dh), new IrisGridDataSelectMouseHandler(this), new PendingMouseHandler(this), new IrisGridPartitionedTableMouseHandler(this), ...mouseHandlersProp, ...(canCopy ? [new IrisGridCopyCellMouseHandler(this)] : [])];
|
|
689
697
|
if (canCopy) {
|
|
690
698
|
_keyHandlers.push(new CopyKeyHandler(this));
|
|
691
|
-
_mouseHandlers.push(new IrisGridCopyCellMouseHandler(this));
|
|
692
699
|
}
|
|
693
700
|
var _movedColumns = movedColumnsProp.length > 0 ? movedColumnsProp : _model.initialMovedColumns;
|
|
694
701
|
var movedRows = movedRowsProp.length > 0 ? movedRowsProp : _model.initialMovedRows;
|
|
@@ -696,7 +703,7 @@ class IrisGrid extends Component {
|
|
|
696
703
|
userColumnWidths: new Map(_userColumnWidths),
|
|
697
704
|
userRowHeights: new Map(userRowHeights),
|
|
698
705
|
movedColumns: _movedColumns,
|
|
699
|
-
initialColumnWidths: new Map(_model === null || _model === void 0
|
|
706
|
+
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]))
|
|
700
707
|
});
|
|
701
708
|
var searchColumns = _selectedSearchColumns !== null && _selectedSearchColumns !== void 0 ? _selectedSearchColumns : [];
|
|
702
709
|
var _searchFilter = CrossColumnSearch.createSearchFilter(_dh, _searchValue, searchColumns, _model.columns, _invertSearchColumns);
|
|
@@ -893,23 +900,10 @@ class IrisGrid extends Component {
|
|
|
893
900
|
}
|
|
894
901
|
this.showViewportLoading.cancel();
|
|
895
902
|
}
|
|
896
|
-
|
|
897
|
-
// When the loading scrim started/when it should extend to the end of the screen.
|
|
898
|
-
|
|
899
903
|
get gridWrapper() {
|
|
900
904
|
var _this$grid$canvasWrap, _this$grid;
|
|
901
905
|
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;
|
|
902
906
|
}
|
|
903
|
-
|
|
904
|
-
/**
|
|
905
|
-
* Builds formatColumns array based on the provided formatting rules with optional preview
|
|
906
|
-
* @param columns Array of columns
|
|
907
|
-
* @param rulesParam Array of formatting rules
|
|
908
|
-
* @param preview Optional temporary formatting rule for previewing live changes
|
|
909
|
-
* @param editIndex Index in the rulesParam array to replace with the preview, null if preview not applicable
|
|
910
|
-
* @returns Format columns array
|
|
911
|
-
*/
|
|
912
|
-
|
|
913
907
|
getKeyHandlers() {
|
|
914
908
|
var {
|
|
915
909
|
keyHandlers
|
|
@@ -962,15 +956,15 @@ class IrisGrid extends Component {
|
|
|
962
956
|
var modelColumn = this.getModelColumn(columnIndex);
|
|
963
957
|
var modelRow = this.getModelRow(rowIndex);
|
|
964
958
|
if (rawValue && modelColumn != null && modelRow != null) {
|
|
965
|
-
var
|
|
959
|
+
var value = model.valueForCell(modelColumn, modelRow);
|
|
966
960
|
if (TableUtils.isDateType(model.columns[modelColumn].type)) {
|
|
967
961
|
// The returned value is just a long value, we should return the value formatted as a full date string
|
|
968
962
|
var {
|
|
969
963
|
formatter
|
|
970
964
|
} = model;
|
|
971
|
-
return dh.i18n.DateTimeFormat.format(UNFORMATTED_DATE_PATTERN,
|
|
965
|
+
return dh.i18n.DateTimeFormat.format(UNFORMATTED_DATE_PATTERN, value, dh.i18n.TimeZone.getTimeZone(formatter.timeZone));
|
|
972
966
|
}
|
|
973
|
-
return
|
|
967
|
+
return value;
|
|
974
968
|
}
|
|
975
969
|
if (rawValue) {
|
|
976
970
|
return null;
|
|
@@ -1213,11 +1207,11 @@ class IrisGrid extends Component {
|
|
|
1213
1207
|
resetRanges: true
|
|
1214
1208
|
});
|
|
1215
1209
|
var clearRange = Array.isArray(modelRange) ? modelRange : [modelRange, modelRange];
|
|
1216
|
-
this.setState(
|
|
1210
|
+
this.setState(_ref0 => {
|
|
1217
1211
|
var {
|
|
1218
1212
|
advancedFilters,
|
|
1219
1213
|
quickFilters
|
|
1220
|
-
} =
|
|
1214
|
+
} = _ref0;
|
|
1221
1215
|
var newAdvancedFilters = advancedFilters ? new Map(advancedFilters) : new Map();
|
|
1222
1216
|
var newQuickFilters = quickFilters ? new Map(quickFilters) : new Map();
|
|
1223
1217
|
newAdvancedFilters.forEach((_, column) => {
|
|
@@ -1240,10 +1234,10 @@ class IrisGrid extends Component {
|
|
|
1240
1234
|
this.startLoading('Clearing Filter...', {
|
|
1241
1235
|
resetRanges: true
|
|
1242
1236
|
});
|
|
1243
|
-
this.setState(
|
|
1237
|
+
this.setState(_ref1 => {
|
|
1244
1238
|
var {
|
|
1245
1239
|
quickFilters
|
|
1246
|
-
} =
|
|
1240
|
+
} = _ref1;
|
|
1247
1241
|
var newQuickFilters = new Map(quickFilters);
|
|
1248
1242
|
newQuickFilters.delete(modelColumn);
|
|
1249
1243
|
return {
|
|
@@ -1344,11 +1338,11 @@ class IrisGrid extends Component {
|
|
|
1344
1338
|
advancedFilters: newAdvancedFilters
|
|
1345
1339
|
});
|
|
1346
1340
|
}
|
|
1347
|
-
setFilters(
|
|
1341
|
+
setFilters(_ref10) {
|
|
1348
1342
|
var {
|
|
1349
1343
|
quickFilters,
|
|
1350
1344
|
advancedFilters
|
|
1351
|
-
} =
|
|
1345
|
+
} = _ref10;
|
|
1352
1346
|
this.setState({
|
|
1353
1347
|
quickFilters,
|
|
1354
1348
|
advancedFilters
|
|
@@ -1505,14 +1499,14 @@ class IrisGrid extends Component {
|
|
|
1505
1499
|
keyTable.addEventListener(dh.Table.EVENT_UPDATED, event => {
|
|
1506
1500
|
try {
|
|
1507
1501
|
var {
|
|
1508
|
-
detail:
|
|
1502
|
+
detail: data
|
|
1509
1503
|
} = event;
|
|
1510
|
-
if (
|
|
1504
|
+
if (data.rows.length === 0) {
|
|
1511
1505
|
// We received an update and the table is still empty. Stop showing the loading spinner so we know
|
|
1512
1506
|
_this2.stopLoading();
|
|
1513
1507
|
return;
|
|
1514
1508
|
}
|
|
1515
|
-
var row =
|
|
1509
|
+
var row = data.rows[0];
|
|
1516
1510
|
var values = keyTable.columns.map(column => row.get(column));
|
|
1517
1511
|
var newPartition = {
|
|
1518
1512
|
partitions: values,
|
|
@@ -1543,13 +1537,13 @@ class IrisGrid extends Component {
|
|
|
1543
1537
|
} = this.props;
|
|
1544
1538
|
assertNotNull(rowIndex);
|
|
1545
1539
|
if (isPartitionedGridModel(model)) {
|
|
1546
|
-
var
|
|
1540
|
+
var data = this.getRowDataMap(rowIndex);
|
|
1547
1541
|
var partitionColumnSet = new Set(model.partitionColumns.map(column => column.name));
|
|
1548
|
-
var values = Object.entries(
|
|
1549
|
-
var [key, _] =
|
|
1542
|
+
var values = Object.entries(data).filter(_ref11 => {
|
|
1543
|
+
var [key, _] = _ref11;
|
|
1550
1544
|
return partitionColumnSet.has(key);
|
|
1551
|
-
}).map(
|
|
1552
|
-
var [key, columnData] =
|
|
1545
|
+
}).map(_ref12 => {
|
|
1546
|
+
var [key, columnData] = _ref12;
|
|
1553
1547
|
return columnData.value;
|
|
1554
1548
|
});
|
|
1555
1549
|
var newPartition = {
|
|
@@ -1568,8 +1562,8 @@ class IrisGrid extends Component {
|
|
|
1568
1562
|
canCopy
|
|
1569
1563
|
} = this.props;
|
|
1570
1564
|
if (canCopy) {
|
|
1571
|
-
var
|
|
1572
|
-
copyToClipboard(
|
|
1565
|
+
var value = String(this.getValueForCell(columnIndex, rowIndex, rawValue));
|
|
1566
|
+
copyToClipboard(value).catch(e => log.error('Unable to copy cell', e));
|
|
1573
1567
|
} else {
|
|
1574
1568
|
log.error('Attempted to copyCell for user without copy permission.');
|
|
1575
1569
|
}
|
|
@@ -1760,7 +1754,7 @@ class IrisGrid extends Component {
|
|
|
1760
1754
|
}
|
|
1761
1755
|
focus() {
|
|
1762
1756
|
var _this$grid3;
|
|
1763
|
-
(_this$grid3 = this.grid) === null || _this$grid3 === void 0
|
|
1757
|
+
(_this$grid3 = this.grid) === null || _this$grid3 === void 0 || _this$grid3.focus();
|
|
1764
1758
|
}
|
|
1765
1759
|
focusFilterBar(column) {
|
|
1766
1760
|
var {
|
|
@@ -1791,7 +1785,7 @@ class IrisGrid extends Component {
|
|
|
1791
1785
|
} = metrics;
|
|
1792
1786
|
if (column < left) {
|
|
1793
1787
|
var _this$grid4;
|
|
1794
|
-
(_this$grid4 = this.grid) === null || _this$grid4 === void 0
|
|
1788
|
+
(_this$grid4 = this.grid) === null || _this$grid4 === void 0 || _this$grid4.setViewState({
|
|
1795
1789
|
left: column
|
|
1796
1790
|
}, true);
|
|
1797
1791
|
} else if (rightVisible < column) {
|
|
@@ -1799,7 +1793,7 @@ class IrisGrid extends Component {
|
|
|
1799
1793
|
var metricState = this.getMetricState();
|
|
1800
1794
|
assertNotNull(metricState);
|
|
1801
1795
|
var newLeft = metricCalculator.getLastLeft(metricState, column, metricCalculator.getVisibleWidth(metricState));
|
|
1802
|
-
(_this$grid5 = this.grid) === null || _this$grid5 === void 0
|
|
1796
|
+
(_this$grid5 = this.grid) === null || _this$grid5 === void 0 || _this$grid5.setViewState({
|
|
1803
1797
|
left: Math.min(newLeft, lastLeft),
|
|
1804
1798
|
leftOffset: 0
|
|
1805
1799
|
}, true);
|
|
@@ -1817,7 +1811,7 @@ class IrisGrid extends Component {
|
|
|
1817
1811
|
movedColumns
|
|
1818
1812
|
} = this.state;
|
|
1819
1813
|
metricCalculator.setColumnWidth(GridUtils.getModelIndex(columnVisibleIndex, movedColumns), 0);
|
|
1820
|
-
(_this$grid6 = this.grid) === null || _this$grid6 === void 0
|
|
1814
|
+
(_this$grid6 = this.grid) === null || _this$grid6 === void 0 || _this$grid6.forceUpdate();
|
|
1821
1815
|
}
|
|
1822
1816
|
freezeColumnByColumnName(columnName) {
|
|
1823
1817
|
var {
|
|
@@ -1861,13 +1855,13 @@ class IrisGrid extends Component {
|
|
|
1861
1855
|
movedColumns: newMovedColumns
|
|
1862
1856
|
});
|
|
1863
1857
|
}
|
|
1864
|
-
toggleExpandColumn(modelIndex) {
|
|
1858
|
+
toggleExpandColumn(modelIndex, expandDescendants) {
|
|
1865
1859
|
log.debug2('Toggle expand column', modelIndex);
|
|
1866
1860
|
var {
|
|
1867
1861
|
model
|
|
1868
1862
|
} = this.props;
|
|
1869
1863
|
if (isExpandableColumnGridModel(model) && model.hasExpandableColumns) {
|
|
1870
|
-
model.setColumnExpanded(modelIndex, !model.isColumnExpanded(modelIndex));
|
|
1864
|
+
model.setColumnExpanded(modelIndex, !model.isColumnExpanded(modelIndex), expandDescendants);
|
|
1871
1865
|
}
|
|
1872
1866
|
}
|
|
1873
1867
|
expandAllColumns() {
|
|
@@ -1910,7 +1904,7 @@ class IrisGrid extends Component {
|
|
|
1910
1904
|
metricCalculator.setColumnWidth(modelIndex, 0);
|
|
1911
1905
|
});
|
|
1912
1906
|
}
|
|
1913
|
-
(_this$grid7 = this.grid) === null || _this$grid7 === void 0
|
|
1907
|
+
(_this$grid7 = this.grid) === null || _this$grid7 === void 0 || _this$grid7.forceUpdate();
|
|
1914
1908
|
}
|
|
1915
1909
|
handleColumnVisibilityReset() {
|
|
1916
1910
|
var _model$layoutHints$fr, _model$layoutHints2;
|
|
@@ -1924,7 +1918,7 @@ class IrisGrid extends Component {
|
|
|
1924
1918
|
this.handleMovedColumnsChanged(model.initialMovedColumns);
|
|
1925
1919
|
this.handleHeaderGroupsChanged(model.initialColumnHeaderGroups);
|
|
1926
1920
|
this.setState({
|
|
1927
|
-
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 :
|
|
1921
|
+
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
|
|
1928
1922
|
});
|
|
1929
1923
|
}
|
|
1930
1924
|
handleCrossColumnSearch(searchValue, selectedSearchColumns, invertSearchColumns) {
|
|
@@ -1941,7 +1935,7 @@ class IrisGrid extends Component {
|
|
|
1941
1935
|
}
|
|
1942
1936
|
handleAnimationLoop() {
|
|
1943
1937
|
var _this$grid8;
|
|
1944
|
-
(_this$grid8 = this.grid) === null || _this$grid8 === void 0
|
|
1938
|
+
(_this$grid8 = this.grid) === null || _this$grid8 === void 0 || _this$grid8.updateCanvas();
|
|
1945
1939
|
if (this.isAnimating) {
|
|
1946
1940
|
this.animationFrame = requestAnimationFrame(this.handleAnimationLoop);
|
|
1947
1941
|
}
|
|
@@ -2007,7 +2001,7 @@ class IrisGrid extends Component {
|
|
|
2007
2001
|
metricCalculator.resetColumnWidth(modelIndex);
|
|
2008
2002
|
}
|
|
2009
2003
|
}
|
|
2010
|
-
(_this$grid9 = this.grid) === null || _this$grid9 === void 0
|
|
2004
|
+
(_this$grid9 = this.grid) === null || _this$grid9 === void 0 || _this$grid9.forceUpdate();
|
|
2011
2005
|
}
|
|
2012
2006
|
|
|
2013
2007
|
/**
|
|
@@ -2015,9 +2009,9 @@ class IrisGrid extends Component {
|
|
|
2015
2009
|
* to keep Grid and IrisGrid metrics in sync since metrics are stored in both places.
|
|
2016
2010
|
*/
|
|
2017
2011
|
updateMetrics() {
|
|
2018
|
-
var _this$
|
|
2012
|
+
var _this$grid0;
|
|
2019
2013
|
this.setState({
|
|
2020
|
-
metrics: (_this$
|
|
2014
|
+
metrics: (_this$grid0 = this.grid) === null || _this$grid0 === void 0 ? void 0 : _this$grid0.updateMetrics()
|
|
2021
2015
|
});
|
|
2022
2016
|
}
|
|
2023
2017
|
toggleSort(columnIndex, addToExisting) {
|
|
@@ -2038,15 +2032,15 @@ class IrisGrid extends Component {
|
|
|
2038
2032
|
}
|
|
2039
2033
|
}
|
|
2040
2034
|
updateSorts(sorts) {
|
|
2041
|
-
var _this$
|
|
2035
|
+
var _this$grid1;
|
|
2042
2036
|
this.startLoading('Sorting...');
|
|
2043
2037
|
this.setState({
|
|
2044
2038
|
sorts
|
|
2045
2039
|
});
|
|
2046
|
-
(_this$
|
|
2040
|
+
(_this$grid1 = this.grid) === null || _this$grid1 === void 0 || _this$grid1.forceUpdate();
|
|
2047
2041
|
}
|
|
2048
2042
|
sortColumn(modelColumn) {
|
|
2049
|
-
var _this$
|
|
2043
|
+
var _this$grid10;
|
|
2050
2044
|
var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TableUtils.sortDirection.none;
|
|
2051
2045
|
var isAbs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
2052
2046
|
var addToExisting = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
@@ -2059,15 +2053,15 @@ class IrisGrid extends Component {
|
|
|
2059
2053
|
this.setState({
|
|
2060
2054
|
sorts
|
|
2061
2055
|
});
|
|
2062
|
-
(_this$
|
|
2056
|
+
(_this$grid10 = this.grid) === null || _this$grid10 === void 0 || _this$grid10.forceUpdate();
|
|
2063
2057
|
}
|
|
2064
2058
|
reverse(reverse) {
|
|
2065
|
-
var _this$
|
|
2059
|
+
var _this$grid11;
|
|
2066
2060
|
this.startLoading('Reversing...');
|
|
2067
2061
|
this.setState({
|
|
2068
2062
|
reverse
|
|
2069
2063
|
});
|
|
2070
|
-
(_this$
|
|
2064
|
+
(_this$grid11 = this.grid) === null || _this$grid11 === void 0 || _this$grid11.forceUpdate();
|
|
2071
2065
|
}
|
|
2072
2066
|
isReversible() {
|
|
2073
2067
|
var {
|
|
@@ -2090,16 +2084,16 @@ class IrisGrid extends Component {
|
|
|
2090
2084
|
} else {
|
|
2091
2085
|
var columnIndex = 0;
|
|
2092
2086
|
var {
|
|
2093
|
-
model
|
|
2087
|
+
model
|
|
2094
2088
|
} = this.props;
|
|
2095
2089
|
var {
|
|
2096
2090
|
columnCount
|
|
2097
|
-
} =
|
|
2091
|
+
} = model;
|
|
2098
2092
|
for (var i = 0; i < columnCount; i += 1) {
|
|
2099
2093
|
var modelColumn = this.getModelColumn(i);
|
|
2100
2094
|
if (modelColumn != null) {
|
|
2101
|
-
var
|
|
2102
|
-
if (
|
|
2095
|
+
var column = model.columns[modelColumn];
|
|
2096
|
+
if (column != null && TableUtils.isTextType(column.type)) {
|
|
2103
2097
|
columnIndex = i;
|
|
2104
2098
|
break;
|
|
2105
2099
|
}
|
|
@@ -2108,8 +2102,8 @@ class IrisGrid extends Component {
|
|
|
2108
2102
|
this.focusFilterBar(columnIndex);
|
|
2109
2103
|
}
|
|
2110
2104
|
} else {
|
|
2111
|
-
var _this$
|
|
2112
|
-
(_this$
|
|
2105
|
+
var _this$grid12;
|
|
2106
|
+
(_this$grid12 = this.grid) === null || _this$grid12 === void 0 || _this$grid12.focus();
|
|
2113
2107
|
}
|
|
2114
2108
|
}
|
|
2115
2109
|
isTableSearchAvailable() {
|
|
@@ -2121,7 +2115,7 @@ class IrisGrid extends Component {
|
|
|
2121
2115
|
var {
|
|
2122
2116
|
dh
|
|
2123
2117
|
} = model;
|
|
2124
|
-
var searchDisplayMode = model === null || model === void 0
|
|
2118
|
+
var searchDisplayMode = model === null || model === void 0 || (_model$layoutHints3 = model.layoutHints) === null || _model$layoutHints3 === void 0 ? void 0 : _model$layoutHints3.searchDisplayMode;
|
|
2125
2119
|
if (searchDisplayMode === ((_dh$SearchDisplayMode = dh.SearchDisplayMode) === null || _dh$SearchDisplayMode === void 0 ? void 0 : _dh$SearchDisplayMode.SEARCH_DISPLAY_HIDE)) {
|
|
2126
2120
|
return false;
|
|
2127
2121
|
}
|
|
@@ -2144,15 +2138,15 @@ class IrisGrid extends Component {
|
|
|
2144
2138
|
var _this$crossColumnRef;
|
|
2145
2139
|
if (update && (_this$crossColumnRef = this.crossColumnRef) !== null && _this$crossColumnRef !== void 0 && _this$crossColumnRef.current) {
|
|
2146
2140
|
var _this$crossColumnRef2;
|
|
2147
|
-
(_this$crossColumnRef2 = this.crossColumnRef) === null || _this$crossColumnRef2 === void 0
|
|
2141
|
+
(_this$crossColumnRef2 = this.crossColumnRef) === null || _this$crossColumnRef2 === void 0 || _this$crossColumnRef2.current.focus();
|
|
2148
2142
|
} else {
|
|
2149
|
-
var _this$
|
|
2150
|
-
(_this$
|
|
2143
|
+
var _this$grid13;
|
|
2144
|
+
(_this$grid13 = this.grid) === null || _this$grid13 === void 0 || _this$grid13.focus();
|
|
2151
2145
|
}
|
|
2152
2146
|
});
|
|
2153
2147
|
}
|
|
2154
2148
|
toggleGotoRow() {
|
|
2155
|
-
var _this$
|
|
2149
|
+
var _this$grid14, _this$grid15;
|
|
2156
2150
|
var row = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
2157
2151
|
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
2158
2152
|
var columnName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
@@ -2171,11 +2165,11 @@ class IrisGrid extends Component {
|
|
|
2171
2165
|
gotoValueManuallyChanged: false
|
|
2172
2166
|
});
|
|
2173
2167
|
this.focusRowInGrid(row);
|
|
2174
|
-
(_this$gotoRowRef$curr = this.gotoRowRef.current) === null || _this$gotoRowRef$curr === void 0
|
|
2168
|
+
(_this$gotoRowRef$curr = this.gotoRowRef.current) === null || _this$gotoRowRef$curr === void 0 || _this$gotoRowRef$curr.focus();
|
|
2175
2169
|
return;
|
|
2176
2170
|
}
|
|
2177
|
-
var cursorRow = (_this$
|
|
2178
|
-
var cursorColumn = (_this$
|
|
2171
|
+
var cursorRow = (_this$grid14 = this.grid) === null || _this$grid14 === void 0 ? void 0 : _this$grid14.state.cursorRow;
|
|
2172
|
+
var cursorColumn = (_this$grid15 = this.grid) === null || _this$grid15 === void 0 ? void 0 : _this$grid15.state.cursorColumn;
|
|
2179
2173
|
if (cursorRow == null || cursorColumn == null) {
|
|
2180
2174
|
// if a cell is not selected / grid is not rendered
|
|
2181
2175
|
this.setState({
|
|
@@ -2211,7 +2205,7 @@ class IrisGrid extends Component {
|
|
|
2211
2205
|
commitPending() {
|
|
2212
2206
|
var _this3 = this;
|
|
2213
2207
|
return _asyncToGenerator(function* () {
|
|
2214
|
-
var _document
|
|
2208
|
+
var _document;
|
|
2215
2209
|
var {
|
|
2216
2210
|
model
|
|
2217
2211
|
} = _this3.props;
|
|
@@ -2224,7 +2218,7 @@ class IrisGrid extends Component {
|
|
|
2224
2218
|
if (pendingSavePromise != null) {
|
|
2225
2219
|
throw new Error('Save already in progress');
|
|
2226
2220
|
}
|
|
2227
|
-
var containsGridCellInputField = (_document = document) === null || _document === void 0
|
|
2221
|
+
var containsGridCellInputField = (_document = document) === null || _document === void 0 || (_document = _document.activeElement) === null || _document === void 0 ? void 0 : _document.classList.contains('grid-cell-input-field');
|
|
2228
2222
|
if (containsGridCellInputField != null && containsGridCellInputField) {
|
|
2229
2223
|
var _this3$grid;
|
|
2230
2224
|
if (document.activeElement != null && document.activeElement.classList.contains('error')) {
|
|
@@ -2232,7 +2226,7 @@ class IrisGrid extends Component {
|
|
|
2232
2226
|
}
|
|
2233
2227
|
|
|
2234
2228
|
// Focus the grid again to commit any pending input changes
|
|
2235
|
-
(_this3$grid = _this3.grid) === null || _this3$grid === void 0
|
|
2229
|
+
(_this3$grid = _this3.grid) === null || _this3$grid === void 0 || _this3$grid.focus();
|
|
2236
2230
|
}
|
|
2237
2231
|
var newPendingSavePromise = _this3.pending.add(model.commitPending()).then(() => {
|
|
2238
2232
|
_this3.setState({
|
|
@@ -2342,7 +2336,7 @@ class IrisGrid extends Component {
|
|
|
2342
2336
|
this.setAdvancedFilter(index, filter, options);
|
|
2343
2337
|
}
|
|
2344
2338
|
handleAdvancedFilterSortChange(column, direction) {
|
|
2345
|
-
var _this$
|
|
2339
|
+
var _this$grid16;
|
|
2346
2340
|
var addToExisting = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
2347
2341
|
var {
|
|
2348
2342
|
model
|
|
@@ -2365,11 +2359,11 @@ class IrisGrid extends Component {
|
|
|
2365
2359
|
this.setState({
|
|
2366
2360
|
sorts
|
|
2367
2361
|
});
|
|
2368
|
-
(_this$
|
|
2362
|
+
(_this$grid16 = this.grid) === null || _this$grid16 === void 0 || _this$grid16.forceUpdate();
|
|
2369
2363
|
}
|
|
2370
2364
|
handleAdvancedFilterDone() {
|
|
2371
|
-
var _this$
|
|
2372
|
-
(_this$
|
|
2365
|
+
var _this$grid17;
|
|
2366
|
+
(_this$grid17 = this.grid) === null || _this$grid17 === void 0 || _this$grid17.focus();
|
|
2373
2367
|
}
|
|
2374
2368
|
handleAdvancedMenuOpened(column) {
|
|
2375
2369
|
this.setState({
|
|
@@ -2396,7 +2390,7 @@ class IrisGrid extends Component {
|
|
|
2396
2390
|
} = this.state;
|
|
2397
2391
|
if (isFilterBarShown && focusedFilterBarColumn === columnIndex && ((_this$filterInputRef = this.filterInputRef) === null || _this$filterInputRef === void 0 ? void 0 : _this$filterInputRef.current) !== null) {
|
|
2398
2392
|
var _this$filterInputRef2;
|
|
2399
|
-
(_this$filterInputRef2 = this.filterInputRef) === null || _this$filterInputRef2 === void 0
|
|
2393
|
+
(_this$filterInputRef2 = this.filterInputRef) === null || _this$filterInputRef2 === void 0 || _this$filterInputRef2.current.focus();
|
|
2400
2394
|
this.setState({
|
|
2401
2395
|
shownAdvancedFilter: null
|
|
2402
2396
|
});
|
|
@@ -2435,11 +2429,11 @@ class IrisGrid extends Component {
|
|
|
2435
2429
|
this.startLoading('Filtering...', {
|
|
2436
2430
|
resetRanges: true
|
|
2437
2431
|
});
|
|
2438
|
-
this.setState(
|
|
2432
|
+
this.setState(_ref13 => {
|
|
2439
2433
|
var {
|
|
2440
2434
|
focusedFilterBarColumn,
|
|
2441
2435
|
quickFilters
|
|
2442
|
-
} =
|
|
2436
|
+
} = _ref13;
|
|
2443
2437
|
var newQuickFilters = new Map(quickFilters);
|
|
2444
2438
|
if (focusedFilterBarColumn != null) {
|
|
2445
2439
|
var modelIndex = this.getModelColumn(focusedFilterBarColumn);
|
|
@@ -2455,8 +2449,8 @@ class IrisGrid extends Component {
|
|
|
2455
2449
|
var setGridFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
2456
2450
|
var defocusInput = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
2457
2451
|
if (setGridFocus) {
|
|
2458
|
-
var _this$
|
|
2459
|
-
(_this$
|
|
2452
|
+
var _this$grid18;
|
|
2453
|
+
(_this$grid18 = this.grid) === null || _this$grid18 === void 0 || _this$grid18.focus();
|
|
2460
2454
|
}
|
|
2461
2455
|
if (defocusInput) {
|
|
2462
2456
|
this.setState({
|
|
@@ -2501,10 +2495,10 @@ class IrisGrid extends Component {
|
|
|
2501
2495
|
model
|
|
2502
2496
|
} = this.props;
|
|
2503
2497
|
var column = model.columns[modelIndex];
|
|
2504
|
-
this.setState(
|
|
2498
|
+
this.setState(_ref14 => {
|
|
2505
2499
|
var {
|
|
2506
2500
|
columnAlignmentMap = EMPTY_MAP
|
|
2507
|
-
} =
|
|
2501
|
+
} = _ref14;
|
|
2508
2502
|
var newColumnAlignmentMap = new Map(columnAlignmentMap);
|
|
2509
2503
|
if (alignment != null) {
|
|
2510
2504
|
newColumnAlignmentMap.set(column.name, alignment);
|
|
@@ -2529,10 +2523,10 @@ class IrisGrid extends Component {
|
|
|
2529
2523
|
});
|
|
2530
2524
|
}
|
|
2531
2525
|
handleMenuBack() {
|
|
2532
|
-
this.setState(
|
|
2526
|
+
this.setState(_ref15 => {
|
|
2533
2527
|
var {
|
|
2534
2528
|
openOptions
|
|
2535
|
-
} =
|
|
2529
|
+
} = _ref15;
|
|
2536
2530
|
var newOptions = [...openOptions];
|
|
2537
2531
|
newOptions.pop();
|
|
2538
2532
|
return {
|
|
@@ -2541,10 +2535,10 @@ class IrisGrid extends Component {
|
|
|
2541
2535
|
});
|
|
2542
2536
|
}
|
|
2543
2537
|
handleMenuSelect(option) {
|
|
2544
|
-
this.setState(
|
|
2538
|
+
this.setState(_ref16 => {
|
|
2545
2539
|
var {
|
|
2546
2540
|
openOptions
|
|
2547
|
-
} =
|
|
2541
|
+
} = _ref16;
|
|
2548
2542
|
return {
|
|
2549
2543
|
openOptions: [...openOptions, option]
|
|
2550
2544
|
};
|
|
@@ -2583,7 +2577,7 @@ class IrisGrid extends Component {
|
|
|
2583
2577
|
}
|
|
2584
2578
|
}
|
|
2585
2579
|
handleUpdate() {
|
|
2586
|
-
var _this$
|
|
2580
|
+
var _this$grid19;
|
|
2587
2581
|
log.debug2('Received model update');
|
|
2588
2582
|
var {
|
|
2589
2583
|
advancedFilters,
|
|
@@ -2612,7 +2606,7 @@ class IrisGrid extends Component {
|
|
|
2612
2606
|
} else {
|
|
2613
2607
|
this.lastLoadedConfig = null;
|
|
2614
2608
|
}
|
|
2615
|
-
(_this$
|
|
2609
|
+
(_this$grid19 = this.grid) === null || _this$grid19 === void 0 || _this$grid19.forceUpdate();
|
|
2616
2610
|
this.stopLoading();
|
|
2617
2611
|
}
|
|
2618
2612
|
handleTableChanged() {
|
|
@@ -2625,13 +2619,13 @@ class IrisGrid extends Component {
|
|
|
2625
2619
|
});
|
|
2626
2620
|
}
|
|
2627
2621
|
handleViewChanged(metrics) {
|
|
2628
|
-
var _this$grid$state, _this$
|
|
2622
|
+
var _this$grid$state, _this$grid20;
|
|
2629
2623
|
var {
|
|
2630
2624
|
model
|
|
2631
2625
|
} = this.props;
|
|
2632
2626
|
var {
|
|
2633
2627
|
selectionEndRow = 0
|
|
2634
|
-
} = (_this$grid$state = (_this$
|
|
2628
|
+
} = (_this$grid$state = (_this$grid20 = this.grid) === null || _this$grid20 === void 0 ? void 0 : _this$grid20.state) !== null && _this$grid$state !== void 0 ? _this$grid$state : {};
|
|
2635
2629
|
var pendingRowCount = 0;
|
|
2636
2630
|
if (isEditableGridModel(model) && model.isEditable) {
|
|
2637
2631
|
assertNotNull(metrics);
|
|
@@ -2659,7 +2653,6 @@ class IrisGrid extends Component {
|
|
|
2659
2653
|
});
|
|
2660
2654
|
}
|
|
2661
2655
|
handleSelectionChanged(selectedRanges) {
|
|
2662
|
-
var _this$grid23;
|
|
2663
2656
|
assertNotNull(selectedRanges);
|
|
2664
2657
|
var {
|
|
2665
2658
|
onSelectionChanged
|
|
@@ -2675,9 +2668,14 @@ class IrisGrid extends Component {
|
|
|
2675
2668
|
copyOperation: null
|
|
2676
2669
|
});
|
|
2677
2670
|
}
|
|
2678
|
-
|
|
2671
|
+
|
|
2672
|
+
// We get 2 identical ranges here,
|
|
2673
|
+
// but consolidating in `Grid#moveSelection` causes
|
|
2674
|
+
// deselection to break, so just consolidate here.
|
|
2675
|
+
// This will only update the goto row input for row index
|
|
2676
|
+
if (GridRange.rowCount(GridRange.consolidate(selectedRanges)) === 1 && selectedRanges[0].startRow != null) {
|
|
2679
2677
|
this.setState({
|
|
2680
|
-
gotoRow: "".concat(
|
|
2678
|
+
gotoRow: "".concat(selectedRanges[0].startRow + 1)
|
|
2681
2679
|
});
|
|
2682
2680
|
}
|
|
2683
2681
|
onSelectionChanged(selectedRanges);
|
|
@@ -2694,8 +2692,8 @@ class IrisGrid extends Component {
|
|
|
2694
2692
|
this.setState({
|
|
2695
2693
|
columnHeaderGroups: IrisGridUtils.parseColumnHeaderGroups(model, columnHeaderGroups).groups
|
|
2696
2694
|
}, () => {
|
|
2697
|
-
var _this$
|
|
2698
|
-
return (_this$
|
|
2695
|
+
var _this$grid21;
|
|
2696
|
+
return (_this$grid21 = this.grid) === null || _this$grid21 === void 0 ? void 0 : _this$grid21.forceUpdate();
|
|
2699
2697
|
});
|
|
2700
2698
|
}
|
|
2701
2699
|
handleTooltipRef(tooltip) {
|
|
@@ -2743,9 +2741,6 @@ class IrisGrid extends Component {
|
|
|
2743
2741
|
conditionalFormatPreview: _objectSpread({}, conditionalFormats[index])
|
|
2744
2742
|
});
|
|
2745
2743
|
}
|
|
2746
|
-
|
|
2747
|
-
// Apply live changes
|
|
2748
|
-
|
|
2749
2744
|
handleConditionalFormatEditorSave(config) {
|
|
2750
2745
|
log.debug('Save conditional format changes', config);
|
|
2751
2746
|
this.setState(state => {
|
|
@@ -2850,7 +2845,7 @@ class IrisGrid extends Component {
|
|
|
2850
2845
|
return this.discardPending();
|
|
2851
2846
|
}
|
|
2852
2847
|
handlePendingDataUpdated() {
|
|
2853
|
-
var _this$
|
|
2848
|
+
var _this$grid22;
|
|
2854
2849
|
log.debug('pending data updated');
|
|
2855
2850
|
var {
|
|
2856
2851
|
model
|
|
@@ -2864,10 +2859,10 @@ class IrisGrid extends Component {
|
|
|
2864
2859
|
pendingDataErrors,
|
|
2865
2860
|
pendingSaveError: null
|
|
2866
2861
|
});
|
|
2867
|
-
(_this$
|
|
2862
|
+
(_this$grid22 = this.grid) === null || _this$grid22 === void 0 || _this$grid22.forceUpdate();
|
|
2868
2863
|
}
|
|
2869
2864
|
handleResizeColumn(modelIndex) {
|
|
2870
|
-
var _this$
|
|
2865
|
+
var _this$grid23;
|
|
2871
2866
|
var {
|
|
2872
2867
|
metrics,
|
|
2873
2868
|
metricCalculator
|
|
@@ -2881,21 +2876,21 @@ class IrisGrid extends Component {
|
|
|
2881
2876
|
} else {
|
|
2882
2877
|
metricCalculator.setColumnWidth(modelIndex, contentWidth);
|
|
2883
2878
|
}
|
|
2884
|
-
(_this$
|
|
2879
|
+
(_this$grid23 = this.grid) === null || _this$grid23 === void 0 || _this$grid23.forceUpdate();
|
|
2885
2880
|
}
|
|
2886
2881
|
handleResizeAllColumns() {
|
|
2887
|
-
var _this$
|
|
2882
|
+
var _this$grid24;
|
|
2888
2883
|
var {
|
|
2889
2884
|
metrics,
|
|
2890
2885
|
metricCalculator
|
|
2891
2886
|
} = this.state;
|
|
2892
2887
|
if (!metrics) throw new Error('Metrics not set');
|
|
2893
2888
|
var allColumns = [...metrics.allColumnWidths.entries()];
|
|
2894
|
-
var visibleColumns = allColumns.filter(
|
|
2895
|
-
var [_, width] =
|
|
2889
|
+
var visibleColumns = allColumns.filter(_ref17 => {
|
|
2890
|
+
var [_, width] = _ref17;
|
|
2896
2891
|
return width !== 0;
|
|
2897
|
-
}).map(
|
|
2898
|
-
var [modelIndex] =
|
|
2892
|
+
}).map(_ref18 => {
|
|
2893
|
+
var [modelIndex] = _ref18;
|
|
2899
2894
|
return modelIndex;
|
|
2900
2895
|
});
|
|
2901
2896
|
var contentWidths = metrics.contentColumnWidths;
|
|
@@ -2917,7 +2912,7 @@ class IrisGrid extends Component {
|
|
|
2917
2912
|
metricCalculator.setColumnWidth(_modelIndex, _contentWidth);
|
|
2918
2913
|
}
|
|
2919
2914
|
}
|
|
2920
|
-
(_this$
|
|
2915
|
+
(_this$grid24 = this.grid) === null || _this$grid24 === void 0 || _this$grid24.forceUpdate();
|
|
2921
2916
|
}
|
|
2922
2917
|
|
|
2923
2918
|
/**
|
|
@@ -2934,7 +2929,7 @@ class IrisGrid extends Component {
|
|
|
2934
2929
|
var {
|
|
2935
2930
|
rollupConfig
|
|
2936
2931
|
} = this.state;
|
|
2937
|
-
var isRollup = ((_rollupConfig$columns = rollupConfig === null || rollupConfig === void 0
|
|
2932
|
+
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;
|
|
2938
2933
|
// Do not start loading if this is rollup and added / removed aggregations are prohibited for rollups
|
|
2939
2934
|
var changes = [...added, ...removed];
|
|
2940
2935
|
var shouldStartLoading = !(isRollup && changes.length > 0 && changes.every(op => AggregationUtils.isRollupProhibited(op)));
|
|
@@ -2956,16 +2951,16 @@ class IrisGrid extends Component {
|
|
|
2956
2951
|
var {
|
|
2957
2952
|
rollupConfig
|
|
2958
2953
|
} = this.state;
|
|
2959
|
-
var isRollup = ((_rollupConfig$columns3 = rollupConfig === null || rollupConfig === void 0
|
|
2954
|
+
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;
|
|
2960
2955
|
// Do not start loading if this is rollup and the aggregation is prohibited for rollups
|
|
2961
2956
|
var shouldStartLoading = !(isRollup && AggregationUtils.isRollupProhibited(aggregation.operation));
|
|
2962
2957
|
if (shouldStartLoading) {
|
|
2963
2958
|
this.startLoading("Aggregating ".concat(aggregation.operation, "..."));
|
|
2964
2959
|
}
|
|
2965
|
-
this.setState(
|
|
2960
|
+
this.setState(_ref19 => {
|
|
2966
2961
|
var {
|
|
2967
2962
|
aggregationSettings
|
|
2968
|
-
} =
|
|
2963
|
+
} = _ref19;
|
|
2969
2964
|
return {
|
|
2970
2965
|
selectedAggregation: aggregation,
|
|
2971
2966
|
aggregationSettings: _objectSpread(_objectSpread({}, aggregationSettings), {}, {
|
|
@@ -2998,18 +2993,18 @@ class IrisGrid extends Component {
|
|
|
2998
2993
|
this.resetGridViewState();
|
|
2999
2994
|
this.showAllColumns();
|
|
3000
2995
|
this.clearAllFilters();
|
|
3001
|
-
this.startLoading("Grouping by columns ".concat((_rollupConfig$columns5 = rollupConfig === null || rollupConfig === void 0
|
|
2996
|
+
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 : '', "..."));
|
|
3002
2997
|
|
|
3003
2998
|
// Have to clear select distinct since rollup uses the original columns, not the current ones.
|
|
3004
2999
|
// IrisGridProxyModel has a check to prevent model update
|
|
3005
3000
|
// when selectDistinctModel is cleared and the rollupConfig is set on the model.
|
|
3006
3001
|
this.setState({
|
|
3007
3002
|
rollupConfig,
|
|
3008
|
-
movedColumns:
|
|
3009
|
-
frozenColumns:
|
|
3010
|
-
sorts:
|
|
3003
|
+
movedColumns: EMPTY_ARRAY,
|
|
3004
|
+
frozenColumns: EMPTY_ARRAY,
|
|
3005
|
+
sorts: EMPTY_ARRAY,
|
|
3011
3006
|
reverse: false,
|
|
3012
|
-
selectDistinctColumns:
|
|
3007
|
+
selectDistinctColumns: EMPTY_ARRAY
|
|
3013
3008
|
});
|
|
3014
3009
|
}
|
|
3015
3010
|
handleSelectDistinctChanged(columnNames) {
|
|
@@ -3065,10 +3060,10 @@ class IrisGrid extends Component {
|
|
|
3065
3060
|
*/
|
|
3066
3061
|
removeEmptyAggregations() {
|
|
3067
3062
|
log.debug('removeEmptyAggregations');
|
|
3068
|
-
this.setState(
|
|
3063
|
+
this.setState(_ref20 => {
|
|
3069
3064
|
var {
|
|
3070
3065
|
aggregationSettings
|
|
3071
|
-
} =
|
|
3066
|
+
} = _ref20;
|
|
3072
3067
|
var {
|
|
3073
3068
|
aggregations
|
|
3074
3069
|
} = aggregationSettings;
|
|
@@ -3160,7 +3155,7 @@ class IrisGrid extends Component {
|
|
|
3160
3155
|
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);
|
|
3161
3156
|
}
|
|
3162
3157
|
}
|
|
3163
|
-
(_this6$grid2 = _this6.grid) === null || _this6$grid2 === void 0
|
|
3158
|
+
(_this6$grid2 = _this6.grid) === null || _this6$grid2 === void 0 || _this6$grid2.setFocusRow(rowIndex);
|
|
3164
3159
|
_this6.setState({
|
|
3165
3160
|
gotoValueError: ''
|
|
3166
3161
|
});
|
|
@@ -3173,7 +3168,7 @@ class IrisGrid extends Component {
|
|
|
3173
3168
|
}
|
|
3174
3169
|
handleCancelDownloadTable() {
|
|
3175
3170
|
var _this$tableSaver;
|
|
3176
|
-
(_this$tableSaver = this.tableSaver) === null || _this$tableSaver === void 0
|
|
3171
|
+
(_this$tableSaver = this.tableSaver) === null || _this$tableSaver === void 0 || _this$tableSaver.cancelDownload();
|
|
3177
3172
|
this.setState({
|
|
3178
3173
|
isTableDownloading: false
|
|
3179
3174
|
});
|
|
@@ -3343,22 +3338,22 @@ class IrisGrid extends Component {
|
|
|
3343
3338
|
gotoRowError: 'Invalid row index'
|
|
3344
3339
|
});
|
|
3345
3340
|
} else if (rowInt === 0) {
|
|
3346
|
-
var _this$
|
|
3341
|
+
var _this$grid25;
|
|
3347
3342
|
this.setState({
|
|
3348
3343
|
gotoRowError: '',
|
|
3349
3344
|
gotoValueError: ''
|
|
3350
3345
|
});
|
|
3351
|
-
(_this$
|
|
3346
|
+
(_this$grid25 = this.grid) === null || _this$grid25 === void 0 || _this$grid25.setFocusRow(0);
|
|
3352
3347
|
} else if (rowInt < 0) {
|
|
3353
|
-
var _this$
|
|
3348
|
+
var _this$grid26;
|
|
3354
3349
|
this.setState({
|
|
3355
3350
|
gotoRowError: '',
|
|
3356
3351
|
gotoValueError: ''
|
|
3357
3352
|
});
|
|
3358
|
-
(_this$
|
|
3353
|
+
(_this$grid26 = this.grid) === null || _this$grid26 === void 0 || _this$grid26.setFocusRow(rowInt + rowCount);
|
|
3359
3354
|
} else {
|
|
3360
|
-
var _this$
|
|
3361
|
-
(_this$
|
|
3355
|
+
var _this$grid27;
|
|
3356
|
+
(_this$grid27 = this.grid) === null || _this$grid27 === void 0 || _this$grid27.setFocusRow(rowInt - 1);
|
|
3362
3357
|
this.setState({
|
|
3363
3358
|
gotoRowError: '',
|
|
3364
3359
|
gotoValueError: ''
|
|
@@ -3451,34 +3446,34 @@ class IrisGrid extends Component {
|
|
|
3451
3446
|
column: column,
|
|
3452
3447
|
onStatistics: () => {
|
|
3453
3448
|
var _this$tooltip;
|
|
3454
|
-
(_this$tooltip = this.tooltip) === null || _this$tooltip === void 0
|
|
3449
|
+
(_this$tooltip = this.tooltip) === null || _this$tooltip === void 0 || _this$tooltip.update();
|
|
3455
3450
|
}
|
|
3456
3451
|
})
|
|
3457
3452
|
}, column.name)
|
|
3458
3453
|
});
|
|
3459
3454
|
}
|
|
3460
3455
|
handleGotoValueSelectedColumnNameChanged(columnName) {
|
|
3461
|
-
var _this$
|
|
3456
|
+
var _this$grid28;
|
|
3462
3457
|
var {
|
|
3463
3458
|
model
|
|
3464
3459
|
} = this.props;
|
|
3465
|
-
var cursorRow = (_this$
|
|
3460
|
+
var cursorRow = (_this$grid28 = this.grid) === null || _this$grid28 === void 0 ? void 0 : _this$grid28.state.cursorRow;
|
|
3466
3461
|
var {
|
|
3467
3462
|
gotoValueSelectedColumnName: prevColumnName,
|
|
3468
3463
|
gotoValueManuallyChanged
|
|
3469
3464
|
} = this.state;
|
|
3470
3465
|
if (cursorRow != null) {
|
|
3471
|
-
var
|
|
3472
|
-
var
|
|
3466
|
+
var index = model.getColumnIndexByName(columnName);
|
|
3467
|
+
var column = IrisGridUtils.getColumnByName(model.columns, columnName);
|
|
3473
3468
|
var prevColumn = IrisGridUtils.getColumnByName(model.columns, prevColumnName);
|
|
3474
|
-
if (
|
|
3469
|
+
if (index == null || column == null) {
|
|
3475
3470
|
return;
|
|
3476
3471
|
}
|
|
3477
|
-
var
|
|
3478
|
-
var text = IrisGridUtils.convertValueToText(
|
|
3472
|
+
var value = model.valueForCell(index, cursorRow);
|
|
3473
|
+
var text = IrisGridUtils.convertValueToText(value, column.type);
|
|
3479
3474
|
|
|
3480
3475
|
// do NOT update value if user manually changed value AND column type remains the same
|
|
3481
|
-
if (gotoValueManuallyChanged &&
|
|
3476
|
+
if (gotoValueManuallyChanged && column.type === (prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.type)) {
|
|
3482
3477
|
this.setState({
|
|
3483
3478
|
gotoValueSelectedColumnName: columnName,
|
|
3484
3479
|
gotoValueError: ''
|
|
@@ -3514,8 +3509,7 @@ class IrisGrid extends Component {
|
|
|
3514
3509
|
var _rollupConfig$columns7,
|
|
3515
3510
|
_rollupConfig$columns8,
|
|
3516
3511
|
_this7 = this,
|
|
3517
|
-
_this$
|
|
3518
|
-
_this$grid33$state$dr,
|
|
3512
|
+
_this$grid30,
|
|
3519
3513
|
_openOptions;
|
|
3520
3514
|
var {
|
|
3521
3515
|
children,
|
|
@@ -3621,7 +3615,7 @@ class IrisGrid extends Component {
|
|
|
3621
3615
|
right = metrics ? metrics.right : 0;
|
|
3622
3616
|
}
|
|
3623
3617
|
var isVisible = metrics != null && metrics.width > 0 && metrics.height > 0;
|
|
3624
|
-
var isRollup = ((_rollupConfig$columns7 = rollupConfig === null || rollupConfig === void 0
|
|
3618
|
+
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;
|
|
3625
3619
|
var focusField = null;
|
|
3626
3620
|
var debounceMs = metrics ? Math.min(Math.max(IrisGrid.minDebounce, Math.round(metrics.rowCount / 200)), IrisGrid.maxDebounce) : IrisGrid.maxDebounce;
|
|
3627
3621
|
if (isFilterBarShown && focusedFilterBarColumn != null && metrics != null) {
|
|
@@ -3635,7 +3629,7 @@ class IrisGrid extends Component {
|
|
|
3635
3629
|
var columnX = allColumnXs.get(focusedFilterBarColumn);
|
|
3636
3630
|
var columnWidth = allColumnWidths.get(focusedFilterBarColumn);
|
|
3637
3631
|
if (columnX != null && columnWidth != null) {
|
|
3638
|
-
var _theme$filterBarHeigh, _theme$filterBarHeigh2, _this$
|
|
3632
|
+
var _theme$filterBarHeigh, _theme$filterBarHeigh2, _this$grid29;
|
|
3639
3633
|
var x = gridX + columnX;
|
|
3640
3634
|
var y = gridY - ((_theme$filterBarHeigh = theme.filterBarHeight) !== null && _theme$filterBarHeigh !== void 0 ? _theme$filterBarHeigh : 0);
|
|
3641
3635
|
var fieldWidth = columnWidth + 1; // cover right border
|
|
@@ -3647,14 +3641,14 @@ class IrisGrid extends Component {
|
|
|
3647
3641
|
// Don't cause overflow
|
|
3648
3642
|
height: fieldHeight
|
|
3649
3643
|
};
|
|
3650
|
-
var
|
|
3644
|
+
var value = '';
|
|
3651
3645
|
var isValid = true;
|
|
3652
3646
|
var modelColumn = this.getModelColumn(focusedFilterBarColumn);
|
|
3653
3647
|
assertNotNull(modelColumn);
|
|
3654
3648
|
var quickFilter = quickFilters.get(modelColumn);
|
|
3655
3649
|
var advancedFilter = advancedFilters.get(modelColumn);
|
|
3656
3650
|
if (quickFilter != null) {
|
|
3657
|
-
|
|
3651
|
+
value = quickFilter.text;
|
|
3658
3652
|
isValid = quickFilter.filter != null;
|
|
3659
3653
|
}
|
|
3660
3654
|
var isBarFiltered = quickFilters.size !== 0 || advancedFilters.size !== 0;
|
|
@@ -3663,7 +3657,7 @@ class IrisGrid extends Component {
|
|
|
3663
3657
|
style: style,
|
|
3664
3658
|
className: classNames({
|
|
3665
3659
|
error: !isValid,
|
|
3666
|
-
active:
|
|
3660
|
+
active: value !== '' || advancedFilter != null,
|
|
3667
3661
|
'iris-grid-has-filter': isBarFiltered
|
|
3668
3662
|
}),
|
|
3669
3663
|
isAdvancedFilterSet: advancedFilter != null,
|
|
@@ -3675,9 +3669,9 @@ class IrisGrid extends Component {
|
|
|
3675
3669
|
onChange: this.handleFilterBarChange,
|
|
3676
3670
|
onDone: this.handleFilterBarDone,
|
|
3677
3671
|
onTab: this.handleFilterBarTab,
|
|
3678
|
-
onContextMenu: (_this$
|
|
3672
|
+
onContextMenu: (_this$grid29 = this.grid) === null || _this$grid29 === void 0 ? void 0 : _this$grid29.handleContextMenu,
|
|
3679
3673
|
debounceMs: debounceMs,
|
|
3680
|
-
value:
|
|
3674
|
+
value: value
|
|
3681
3675
|
}, focusedFilterBarColumn);
|
|
3682
3676
|
}
|
|
3683
3677
|
}
|
|
@@ -3716,7 +3710,7 @@ class IrisGrid extends Component {
|
|
|
3716
3710
|
var _this$tooltip2;
|
|
3717
3711
|
columnTooltip = this.getColumnTooltip(shownColumnTooltip, metrics, model);
|
|
3718
3712
|
// #510 We may need to update the position of the tooltip if it's already opened and columns are resized
|
|
3719
|
-
(_this$tooltip2 = this.tooltip) === null || _this$tooltip2 === void 0
|
|
3713
|
+
(_this$tooltip2 = this.tooltip) === null || _this$tooltip2 === void 0 || _this$tooltip2.update();
|
|
3720
3714
|
}
|
|
3721
3715
|
var filterBar = [];
|
|
3722
3716
|
if (metrics && isFilterBarShown) {
|
|
@@ -3765,7 +3759,7 @@ class IrisGrid extends Component {
|
|
|
3765
3759
|
},
|
|
3766
3760
|
onContextMenu: event => {
|
|
3767
3761
|
var _this7$grid;
|
|
3768
|
-
(_this7$grid = _this7.grid) === null || _this7$grid === void 0
|
|
3762
|
+
(_this7$grid = _this7.grid) === null || _this7$grid === void 0 || _this7$grid.handleContextMenu(event);
|
|
3769
3763
|
},
|
|
3770
3764
|
onMouseEnter: () => {
|
|
3771
3765
|
_this7.setState({
|
|
@@ -3828,18 +3822,18 @@ class IrisGrid extends Component {
|
|
|
3828
3822
|
};
|
|
3829
3823
|
var _modelColumn = _this7.getModelColumn(columnIndex);
|
|
3830
3824
|
if (_modelColumn != null) {
|
|
3831
|
-
var
|
|
3832
|
-
if (
|
|
3825
|
+
var column = model.columns[_modelColumn];
|
|
3826
|
+
if (column == null) {
|
|
3833
3827
|
// Grid metrics is likely out of sync with model
|
|
3834
3828
|
log.warn("Column does not exist at index ".concat(_modelColumn, " for column array of length ").concat(model.columns.length));
|
|
3835
3829
|
// eslint-disable-next-line no-continue
|
|
3836
|
-
return
|
|
3830
|
+
return 1; // continue
|
|
3837
3831
|
}
|
|
3838
3832
|
var _advancedFilter2 = advancedFilters.get(_modelColumn);
|
|
3839
3833
|
var {
|
|
3840
3834
|
options: advancedFilterOptions
|
|
3841
3835
|
} = _advancedFilter2 || {};
|
|
3842
|
-
var sort = TableUtils.getSortForColumn(model.sort,
|
|
3836
|
+
var sort = TableUtils.getSortForColumn(model.sort, column.name);
|
|
3843
3837
|
var sortDirection = sort ? sort.direction : null;
|
|
3844
3838
|
if (!isSortDirection(sortDirection)) {
|
|
3845
3839
|
throw new Error("Invalid sort direction: ".concat(sortDirection));
|
|
@@ -3859,7 +3853,7 @@ class IrisGrid extends Component {
|
|
|
3859
3853
|
options: {
|
|
3860
3854
|
positionFixed: true
|
|
3861
3855
|
},
|
|
3862
|
-
children: _this7.getCachedAdvancedFilterMenuActions(model,
|
|
3856
|
+
children: _this7.getCachedAdvancedFilterMenuActions(model, column, advancedFilterOptions, sortDirection, formatter)
|
|
3863
3857
|
})
|
|
3864
3858
|
}, columnIndex);
|
|
3865
3859
|
advancedFilterMenus.push(element);
|
|
@@ -3867,8 +3861,7 @@ class IrisGrid extends Component {
|
|
|
3867
3861
|
}
|
|
3868
3862
|
};
|
|
3869
3863
|
for (var _i4 = 0; _i4 < _visibleColumns.length; _i4 += 1) {
|
|
3870
|
-
|
|
3871
|
-
if (_ret === "continue") continue;
|
|
3864
|
+
if (_loop3()) continue;
|
|
3872
3865
|
}
|
|
3873
3866
|
}
|
|
3874
3867
|
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);
|
|
@@ -4053,7 +4046,7 @@ class IrisGrid extends Component {
|
|
|
4053
4046
|
movedColumns: movedColumns,
|
|
4054
4047
|
customColumns: customColumns,
|
|
4055
4048
|
hiddenColumns: hiddenColumns,
|
|
4056
|
-
alwaysFetchColumns: this.getAlwaysFetchColumns(alwaysFetchColumns, model.columns, movedColumns, model.floatingLeftColumnCount, model.floatingRightColumnCount, (_this$
|
|
4049
|
+
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),
|
|
4057
4050
|
formatColumns: this.getCachedPreviewFormatColumns(model.dh, model.columns, conditionalFormats, conditionalFormatPreview,
|
|
4058
4051
|
// Disable the preview format when we press Back on the format edit page
|
|
4059
4052
|
((_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),
|
|
@@ -4182,7 +4175,6 @@ _defineProperty(IrisGrid, "minDebounce", 150);
|
|
|
4182
4175
|
_defineProperty(IrisGrid, "maxDebounce", 500);
|
|
4183
4176
|
_defineProperty(IrisGrid, "loadingSpinnerDelay", 800);
|
|
4184
4177
|
_defineProperty(IrisGrid, "defaultProps", {
|
|
4185
|
-
children: null,
|
|
4186
4178
|
advancedFilters: EMPTY_MAP,
|
|
4187
4179
|
advancedSettings: EMPTY_MAP,
|
|
4188
4180
|
alwaysFetchColumns: EMPTY_ARRAY,
|
|
@@ -4217,7 +4209,6 @@ _defineProperty(IrisGrid, "defaultProps", {
|
|
|
4217
4209
|
isSelectingPartition: false,
|
|
4218
4210
|
isStuckToBottom: false,
|
|
4219
4211
|
isStuckToRight: false,
|
|
4220
|
-
columnSelectionValidator: null,
|
|
4221
4212
|
columnAllowedCursor: 'linker',
|
|
4222
4213
|
columnNotAllowedCursor: 'linker-not-allowed',
|
|
4223
4214
|
copyCursor: 'copy',
|
|
@@ -4225,7 +4216,6 @@ _defineProperty(IrisGrid, "defaultProps", {
|
|
|
4225
4216
|
onlyFetchVisibleColumns: true,
|
|
4226
4217
|
showSearchBar: false,
|
|
4227
4218
|
searchValue: '',
|
|
4228
|
-
selectedSearchColumns: null,
|
|
4229
4219
|
invertSearchColumns: true,
|
|
4230
4220
|
onContextMenu: () => EMPTY_ARRAY,
|
|
4231
4221
|
pendingDataMap: EMPTY_MAP,
|
|
@@ -4239,18 +4229,11 @@ _defineProperty(IrisGrid, "defaultProps", {
|
|
|
4239
4229
|
showEmptyStrings: true,
|
|
4240
4230
|
showNullStrings: true,
|
|
4241
4231
|
showExtraGroupColumn: true,
|
|
4242
|
-
formatter: EMPTY_ARRAY
|
|
4243
|
-
decimalFormatOptions: PropTypes.shape({
|
|
4244
|
-
defaultFormatString: PropTypes.string
|
|
4245
|
-
}),
|
|
4246
|
-
integerFormatOptions: PropTypes.shape({
|
|
4247
|
-
defaultFormatString: PropTypes.string
|
|
4248
|
-
})
|
|
4232
|
+
formatter: EMPTY_ARRAY
|
|
4249
4233
|
},
|
|
4250
4234
|
canCopy: true,
|
|
4251
4235
|
canDownloadCsv: true,
|
|
4252
|
-
frozenColumns:
|
|
4253
|
-
theme: null,
|
|
4236
|
+
frozenColumns: EMPTY_ARRAY,
|
|
4254
4237
|
// Do not set a default density prop since we need to know if it overrides the global density setting
|
|
4255
4238
|
density: undefined,
|
|
4256
4239
|
canToggleSearch: true,
|