@deephaven/iris-grid 1.4.1-beta.0 → 1.4.1-react19.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AdvancedFilterCreator.js +5 -7
- package/dist/AdvancedFilterCreator.js.map +1 -1
- package/dist/AdvancedFilterCreatorFilterItem.js +6 -7
- package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValue.js +1 -2
- package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.js +2 -3
- package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
- package/dist/ColumnHeaderGroup.js.map +1 -1
- package/dist/ColumnStatistics.d.ts +2 -2
- package/dist/ColumnStatistics.d.ts.map +1 -1
- package/dist/ColumnStatistics.js +2 -5
- package/dist/ColumnStatistics.js.map +1 -1
- package/dist/CommonTypes.js.map +1 -1
- package/dist/CrossColumnSearch.js +2 -4
- package/dist/CrossColumnSearch.js.map +1 -1
- package/dist/EmptyIrisGridModel.d.ts +3 -0
- package/dist/EmptyIrisGridModel.d.ts.map +1 -1
- package/dist/EmptyIrisGridModel.js +8 -0
- package/dist/EmptyIrisGridModel.js.map +1 -1
- package/dist/FilterInputField.js +4 -5
- package/dist/FilterInputField.js.map +1 -1
- package/dist/GotoRow.js +4 -6
- package/dist/GotoRow.js.map +1 -1
- package/dist/IrisGrid.d.ts +38 -43
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +181 -168
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridBottomBar.d.ts.map +1 -1
- package/dist/IrisGridBottomBar.js +4 -1
- package/dist/IrisGridBottomBar.js.map +1 -1
- package/dist/IrisGridCacheUtils.d.ts.map +1 -1
- package/dist/IrisGridCacheUtils.js +1 -1
- package/dist/IrisGridCacheUtils.js.map +1 -1
- package/dist/IrisGridCellOverflowModal.js +1 -2
- package/dist/IrisGridCellOverflowModal.js.map +1 -1
- package/dist/IrisGridCellRendererUtils.js.map +1 -1
- package/dist/IrisGridCopyHandler.js +4 -6
- package/dist/IrisGridCopyHandler.js.map +1 -1
- package/dist/IrisGridDataBarCellRenderer.js.map +1 -1
- package/dist/IrisGridIcons.js.map +1 -1
- package/dist/IrisGridMetricCalculator.d.ts +1 -2
- package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
- package/dist/IrisGridMetricCalculator.js.map +1 -1
- package/dist/IrisGridModel.d.ts +8 -0
- package/dist/IrisGridModel.d.ts.map +1 -1
- package/dist/IrisGridModel.js +8 -0
- package/dist/IrisGridModel.js.map +1 -1
- package/dist/IrisGridModelFactory.js.map +1 -1
- package/dist/IrisGridModelUpdater.d.ts +2 -1
- package/dist/IrisGridModelUpdater.d.ts.map +1 -1
- package/dist/IrisGridModelUpdater.js +4 -0
- package/dist/IrisGridModelUpdater.js.map +1 -1
- package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
- package/dist/IrisGridPartitionSelector.js +6 -8
- package/dist/IrisGridPartitionSelector.js.map +1 -1
- package/dist/IrisGridPartitionedTableModel.js.map +1 -1
- package/dist/IrisGridProxyModel.d.ts +2 -0
- package/dist/IrisGridProxyModel.d.ts.map +1 -1
- package/dist/IrisGridProxyModel.js +12 -7
- package/dist/IrisGridProxyModel.js.map +1 -1
- package/dist/IrisGridRenderer.js +0 -1
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridShortcuts.js.map +1 -1
- package/dist/IrisGridTableModel.js +1 -2
- package/dist/IrisGridTableModel.js.map +1 -1
- package/dist/IrisGridTableModelTemplate.d.ts +6 -2
- package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
- package/dist/IrisGridTableModelTemplate.js +71 -61
- package/dist/IrisGridTableModelTemplate.js.map +1 -1
- package/dist/IrisGridTestUtils.js.map +1 -1
- package/dist/IrisGridTextCellRenderer.js.map +1 -1
- package/dist/IrisGridTheme.js.map +1 -1
- package/dist/IrisGridThemeProvider.d.ts.map +1 -1
- package/dist/IrisGridThemeProvider.js +1 -0
- package/dist/IrisGridThemeProvider.js.map +1 -1
- package/dist/IrisGridTreeTableModel.d.ts +1 -1
- package/dist/IrisGridTreeTableModel.d.ts.map +1 -1
- package/dist/IrisGridTreeTableModel.js +19 -14
- package/dist/IrisGridTreeTableModel.js.map +1 -1
- package/dist/IrisGridUtils.d.ts +3 -1
- package/dist/IrisGridUtils.d.ts.map +1 -1
- package/dist/IrisGridUtils.js +60 -56
- package/dist/IrisGridUtils.js.map +1 -1
- package/dist/LazyIrisGrid.d.ts +55 -77
- package/dist/LazyIrisGrid.d.ts.map +1 -1
- package/dist/LazyIrisGrid.js +3 -1
- package/dist/LazyIrisGrid.js.map +1 -1
- package/dist/MissingKeyError.js.map +1 -1
- package/dist/MissingPartitionError.js.map +1 -1
- package/dist/NoPastePermissionModal.js +1 -2
- package/dist/NoPastePermissionModal.js.map +1 -1
- package/dist/PartitionedGridModel.js.map +1 -1
- package/dist/PendingDataBottomBar.js +1 -2
- package/dist/PendingDataBottomBar.js.map +1 -1
- package/dist/ToastBottomBar.js.map +1 -1
- package/dist/declaration.d.js.map +1 -1
- package/dist/format-context-menus/CustomFormatAction.js +1 -2
- package/dist/format-context-menus/CustomFormatAction.js.map +1 -1
- package/dist/format-context-menus/DateTimeFormatContextMenu.js.map +1 -1
- package/dist/format-context-menus/DecimalFormatContextMenu.js.map +1 -1
- package/dist/format-context-menus/FormatContextMenuUtils.js.map +1 -1
- package/dist/format-context-menus/IntegerFormatContextMenu.js.map +1 -1
- package/dist/format-context-menus/TextAlignmentFormatContextMenu.d.ts +21 -0
- package/dist/format-context-menus/TextAlignmentFormatContextMenu.d.ts.map +1 -0
- package/dist/format-context-menus/TextAlignmentFormatContextMenu.js +42 -0
- package/dist/format-context-menus/TextAlignmentFormatContextMenu.js.map +1 -0
- package/dist/format-context-menus/index.d.ts +1 -0
- package/dist/format-context-menus/index.d.ts.map +1 -1
- package/dist/format-context-menus/index.js +1 -0
- package/dist/format-context-menus/index.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/key-handlers/ClearFilterKeyHandler.js.map +1 -1
- package/dist/key-handlers/CopyCellKeyHandler.js.map +1 -1
- package/dist/key-handlers/CopyKeyHandler.js.map +1 -1
- package/dist/key-handlers/ReverseKeyHandler.js.map +1 -1
- package/dist/key-handlers/index.js.map +1 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +5 -2
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +1 -0
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.js +27 -3
- package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridCopyCellMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridPartitionedTableMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridRowTreeMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridTokenMouseHandler.js +1 -3
- package/dist/mousehandlers/IrisGridTokenMouseHandler.js.map +1 -1
- package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
- package/dist/mousehandlers/index.js.map +1 -1
- package/dist/sidebar/AdvancedSettings.js.map +1 -1
- package/dist/sidebar/AdvancedSettingsMenu.d.ts +1 -1
- package/dist/sidebar/AdvancedSettingsMenu.d.ts.map +1 -1
- package/dist/sidebar/AdvancedSettingsMenu.js.map +1 -1
- package/dist/sidebar/AdvancedSettingsType.js +3 -3
- package/dist/sidebar/AdvancedSettingsType.js.map +1 -1
- package/dist/sidebar/ChartBuilder.d.ts +2 -2
- package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
- package/dist/sidebar/ChartBuilder.js +1 -2
- package/dist/sidebar/ChartBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.d.ts +1 -1
- package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.js +4 -6
- package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnInput.js +2 -3
- package/dist/sidebar/CustomColumnInput.js.map +1 -1
- package/dist/sidebar/DownloadServiceWorkerUtils.js +1 -1
- package/dist/sidebar/DownloadServiceWorkerUtils.js.map +1 -1
- package/dist/sidebar/InputEditor.js +8 -9
- package/dist/sidebar/InputEditor.js.map +1 -1
- package/dist/sidebar/OptionType.js +3 -3
- package/dist/sidebar/OptionType.js.map +1 -1
- package/dist/sidebar/RollupRows.d.ts +1 -1
- package/dist/sidebar/RollupRows.d.ts.map +1 -1
- package/dist/sidebar/RollupRows.js +9 -11
- package/dist/sidebar/RollupRows.js.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.js +1 -2
- package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
- package/dist/sidebar/TableCsvExporter.js +5 -7
- package/dist/sidebar/TableCsvExporter.js.map +1 -1
- package/dist/sidebar/TableSaver.js +9 -10
- package/dist/sidebar/TableSaver.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationEdit.js +4 -5
- package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationOperation.js +3 -3
- package/dist/sidebar/aggregations/AggregationOperation.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationUtils.js +0 -1
- package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.js +3 -5
- package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
- package/dist/sidebar/aggregations/index.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +1 -3
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionEditor.js +2 -3
- package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +1 -2
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +2 -3
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +21 -21
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
- package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/RowFormatEditor.js +1 -3
- package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/StyleEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/StyleEditor.js +2 -3
- package/dist/sidebar/conditional-formatting/StyleEditor.js.map +1 -1
- package/dist/sidebar/icons/BarIcon.js +1 -2
- package/dist/sidebar/icons/BarIcon.js.map +1 -1
- package/dist/sidebar/icons/FormatColumnWhereIcon.js +1 -2
- package/dist/sidebar/icons/FormatColumnWhereIcon.js.map +1 -1
- package/dist/sidebar/icons/FormatRowWhereIcon.js +1 -2
- package/dist/sidebar/icons/FormatRowWhereIcon.js.map +1 -1
- package/dist/sidebar/icons/HistogramIcon.js +1 -2
- package/dist/sidebar/icons/HistogramIcon.js.map +1 -1
- package/dist/sidebar/icons/LineIcon.js +1 -2
- package/dist/sidebar/icons/LineIcon.js.map +1 -1
- package/dist/sidebar/icons/PieIcon.js +1 -2
- package/dist/sidebar/icons/PieIcon.js.map +1 -1
- package/dist/sidebar/icons/ScatterIcon.js +1 -2
- package/dist/sidebar/icons/ScatterIcon.js.map +1 -1
- package/dist/sidebar/icons/index.js.map +1 -1
- package/dist/sidebar/index.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.d.ts +2 -2
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.d.ts.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js +34 -36
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js +3 -3
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js +3 -5
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.d.ts.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js +2 -4
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/PointerSensorWithInteraction.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js +4 -4
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeInner.js +3 -6
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeInner.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeItem.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js +1 -2
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/keyboardCoordinates.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/types.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.d.ts +1 -2
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.d.ts.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.js.map +1 -1
- package/package.json +17 -18
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
|
|
@@ -563,6 +570,7 @@ class IrisGrid extends Component {
|
|
|
563
570
|
this.handleTooltipRef = this.handleTooltipRef.bind(this);
|
|
564
571
|
this.handleViewChanged = this.handleViewChanged.bind(this);
|
|
565
572
|
this.handleFormatSelection = this.handleFormatSelection.bind(this);
|
|
573
|
+
this.handleColumnAlignmentChange = this.handleColumnAlignmentChange.bind(this);
|
|
566
574
|
this.handleConditionalFormatCreate = this.handleConditionalFormatCreate.bind(this);
|
|
567
575
|
this.handleConditionalFormatEdit = this.handleConditionalFormatEdit.bind(this);
|
|
568
576
|
this.handleConditionalFormatsChange = this.handleConditionalFormatsChange.bind(this);
|
|
@@ -655,6 +663,7 @@ class IrisGrid extends Component {
|
|
|
655
663
|
aggregationSettings: _aggregationSettings,
|
|
656
664
|
conditionalFormats,
|
|
657
665
|
customColumnFormatMap,
|
|
666
|
+
columnAlignmentMap,
|
|
658
667
|
isFilterBarShown: _isFilterBarShown,
|
|
659
668
|
isSelectingPartition,
|
|
660
669
|
partitions,
|
|
@@ -692,7 +701,7 @@ class IrisGrid extends Component {
|
|
|
692
701
|
userColumnWidths: new Map(_userColumnWidths),
|
|
693
702
|
userRowHeights: new Map(userRowHeights),
|
|
694
703
|
movedColumns: _movedColumns,
|
|
695
|
-
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]))
|
|
696
705
|
});
|
|
697
706
|
var searchColumns = _selectedSearchColumns !== null && _selectedSearchColumns !== void 0 ? _selectedSearchColumns : [];
|
|
698
707
|
var _searchFilter = CrossColumnSearch.createSearchFilter(_dh, _searchValue, searchColumns, _model.columns, _invertSearchColumns);
|
|
@@ -735,6 +744,7 @@ class IrisGrid extends Component {
|
|
|
735
744
|
formatter: new Formatter(_dh),
|
|
736
745
|
isMenuShown: false,
|
|
737
746
|
customColumnFormatMap: new Map(customColumnFormatMap),
|
|
747
|
+
columnAlignmentMap: new Map(columnAlignmentMap),
|
|
738
748
|
conditionalFormats,
|
|
739
749
|
conditionalFormatEditIndex: null,
|
|
740
750
|
conditionalFormatPreview: undefined,
|
|
@@ -888,23 +898,10 @@ class IrisGrid extends Component {
|
|
|
888
898
|
}
|
|
889
899
|
this.showViewportLoading.cancel();
|
|
890
900
|
}
|
|
891
|
-
|
|
892
|
-
// When the loading scrim started/when it should extend to the end of the screen.
|
|
893
|
-
|
|
894
901
|
get gridWrapper() {
|
|
895
902
|
var _this$grid$canvasWrap, _this$grid;
|
|
896
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;
|
|
897
904
|
}
|
|
898
|
-
|
|
899
|
-
/**
|
|
900
|
-
* Builds formatColumns array based on the provided formatting rules with optional preview
|
|
901
|
-
* @param columns Array of columns
|
|
902
|
-
* @param rulesParam Array of formatting rules
|
|
903
|
-
* @param preview Optional temporary formatting rule for previewing live changes
|
|
904
|
-
* @param editIndex Index in the rulesParam array to replace with the preview, null if preview not applicable
|
|
905
|
-
* @returns Format columns array
|
|
906
|
-
*/
|
|
907
|
-
|
|
908
905
|
getKeyHandlers() {
|
|
909
906
|
var {
|
|
910
907
|
keyHandlers
|
|
@@ -934,15 +931,15 @@ class IrisGrid extends Component {
|
|
|
934
931
|
var modelColumn = this.getModelColumn(columnIndex);
|
|
935
932
|
var modelRow = this.getModelRow(rowIndex);
|
|
936
933
|
if (rawValue && modelColumn != null && modelRow != null) {
|
|
937
|
-
var
|
|
934
|
+
var value = model.valueForCell(modelColumn, modelRow);
|
|
938
935
|
if (TableUtils.isDateType(model.columns[modelColumn].type)) {
|
|
939
936
|
// The returned value is just a long value, we should return the value formatted as a full date string
|
|
940
937
|
var {
|
|
941
938
|
formatter
|
|
942
939
|
} = model;
|
|
943
|
-
return dh.i18n.DateTimeFormat.format(UNFORMATTED_DATE_PATTERN,
|
|
940
|
+
return dh.i18n.DateTimeFormat.format(UNFORMATTED_DATE_PATTERN, value, dh.i18n.TimeZone.getTimeZone(formatter.timeZone));
|
|
944
941
|
}
|
|
945
|
-
return
|
|
942
|
+
return value;
|
|
946
943
|
}
|
|
947
944
|
if (rawValue) {
|
|
948
945
|
return null;
|
|
@@ -1185,11 +1182,11 @@ class IrisGrid extends Component {
|
|
|
1185
1182
|
resetRanges: true
|
|
1186
1183
|
});
|
|
1187
1184
|
var clearRange = Array.isArray(modelRange) ? modelRange : [modelRange, modelRange];
|
|
1188
|
-
this.setState(
|
|
1185
|
+
this.setState(_ref0 => {
|
|
1189
1186
|
var {
|
|
1190
1187
|
advancedFilters,
|
|
1191
1188
|
quickFilters
|
|
1192
|
-
} =
|
|
1189
|
+
} = _ref0;
|
|
1193
1190
|
var newAdvancedFilters = advancedFilters ? new Map(advancedFilters) : new Map();
|
|
1194
1191
|
var newQuickFilters = quickFilters ? new Map(quickFilters) : new Map();
|
|
1195
1192
|
newAdvancedFilters.forEach((_, column) => {
|
|
@@ -1212,10 +1209,10 @@ class IrisGrid extends Component {
|
|
|
1212
1209
|
this.startLoading('Clearing Filter...', {
|
|
1213
1210
|
resetRanges: true
|
|
1214
1211
|
});
|
|
1215
|
-
this.setState(
|
|
1212
|
+
this.setState(_ref1 => {
|
|
1216
1213
|
var {
|
|
1217
1214
|
quickFilters
|
|
1218
|
-
} =
|
|
1215
|
+
} = _ref1;
|
|
1219
1216
|
var newQuickFilters = new Map(quickFilters);
|
|
1220
1217
|
newQuickFilters.delete(modelColumn);
|
|
1221
1218
|
return {
|
|
@@ -1312,11 +1309,11 @@ class IrisGrid extends Component {
|
|
|
1312
1309
|
advancedFilters: newAdvancedFilters
|
|
1313
1310
|
});
|
|
1314
1311
|
}
|
|
1315
|
-
setFilters(
|
|
1312
|
+
setFilters(_ref10) {
|
|
1316
1313
|
var {
|
|
1317
1314
|
quickFilters,
|
|
1318
1315
|
advancedFilters
|
|
1319
|
-
} =
|
|
1316
|
+
} = _ref10;
|
|
1320
1317
|
this.setState({
|
|
1321
1318
|
quickFilters,
|
|
1322
1319
|
advancedFilters
|
|
@@ -1473,14 +1470,14 @@ class IrisGrid extends Component {
|
|
|
1473
1470
|
keyTable.addEventListener(dh.Table.EVENT_UPDATED, event => {
|
|
1474
1471
|
try {
|
|
1475
1472
|
var {
|
|
1476
|
-
detail:
|
|
1473
|
+
detail: data
|
|
1477
1474
|
} = event;
|
|
1478
|
-
if (
|
|
1475
|
+
if (data.rows.length === 0) {
|
|
1479
1476
|
// We received an update and the table is still empty. Stop showing the loading spinner so we know
|
|
1480
1477
|
_this2.stopLoading();
|
|
1481
1478
|
return;
|
|
1482
1479
|
}
|
|
1483
|
-
var row =
|
|
1480
|
+
var row = data.rows[0];
|
|
1484
1481
|
var values = keyTable.columns.map(column => row.get(column));
|
|
1485
1482
|
var newPartition = {
|
|
1486
1483
|
partitions: values,
|
|
@@ -1511,13 +1508,13 @@ class IrisGrid extends Component {
|
|
|
1511
1508
|
} = this.props;
|
|
1512
1509
|
assertNotNull(rowIndex);
|
|
1513
1510
|
if (isPartitionedGridModel(model)) {
|
|
1514
|
-
var
|
|
1511
|
+
var data = this.getRowDataMap(rowIndex);
|
|
1515
1512
|
var partitionColumnSet = new Set(model.partitionColumns.map(column => column.name));
|
|
1516
|
-
var values = Object.entries(
|
|
1517
|
-
var [key, _] =
|
|
1513
|
+
var values = Object.entries(data).filter(_ref11 => {
|
|
1514
|
+
var [key, _] = _ref11;
|
|
1518
1515
|
return partitionColumnSet.has(key);
|
|
1519
|
-
}).map(
|
|
1520
|
-
var [key, columnData] =
|
|
1516
|
+
}).map(_ref12 => {
|
|
1517
|
+
var [key, columnData] = _ref12;
|
|
1521
1518
|
return columnData.value;
|
|
1522
1519
|
});
|
|
1523
1520
|
var newPartition = {
|
|
@@ -1536,8 +1533,8 @@ class IrisGrid extends Component {
|
|
|
1536
1533
|
canCopy
|
|
1537
1534
|
} = this.props;
|
|
1538
1535
|
if (canCopy) {
|
|
1539
|
-
var
|
|
1540
|
-
copyToClipboard(
|
|
1536
|
+
var value = String(this.getValueForCell(columnIndex, rowIndex, rawValue));
|
|
1537
|
+
copyToClipboard(value).catch(e => log.error('Unable to copy cell', e));
|
|
1541
1538
|
} else {
|
|
1542
1539
|
log.error('Attempted to copyCell for user without copy permission.');
|
|
1543
1540
|
}
|
|
@@ -1728,7 +1725,7 @@ class IrisGrid extends Component {
|
|
|
1728
1725
|
}
|
|
1729
1726
|
focus() {
|
|
1730
1727
|
var _this$grid2;
|
|
1731
|
-
(_this$grid2 = this.grid) === null || _this$grid2 === void 0
|
|
1728
|
+
(_this$grid2 = this.grid) === null || _this$grid2 === void 0 || _this$grid2.focus();
|
|
1732
1729
|
}
|
|
1733
1730
|
focusFilterBar(column) {
|
|
1734
1731
|
var {
|
|
@@ -1759,7 +1756,7 @@ class IrisGrid extends Component {
|
|
|
1759
1756
|
} = metrics;
|
|
1760
1757
|
if (column < left) {
|
|
1761
1758
|
var _this$grid3;
|
|
1762
|
-
(_this$grid3 = this.grid) === null || _this$grid3 === void 0
|
|
1759
|
+
(_this$grid3 = this.grid) === null || _this$grid3 === void 0 || _this$grid3.setViewState({
|
|
1763
1760
|
left: column
|
|
1764
1761
|
}, true);
|
|
1765
1762
|
} else if (rightVisible < column) {
|
|
@@ -1767,7 +1764,7 @@ class IrisGrid extends Component {
|
|
|
1767
1764
|
var metricState = (_this$grid4 = this.grid) === null || _this$grid4 === void 0 ? void 0 : _this$grid4.getMetricState();
|
|
1768
1765
|
assertNotNull(metricState);
|
|
1769
1766
|
var newLeft = metricCalculator.getLastLeft(metricState, column, metricCalculator.getVisibleWidth(metricState));
|
|
1770
|
-
(_this$grid5 = this.grid) === null || _this$grid5 === void 0
|
|
1767
|
+
(_this$grid5 = this.grid) === null || _this$grid5 === void 0 || _this$grid5.setViewState({
|
|
1771
1768
|
left: Math.min(newLeft, lastLeft),
|
|
1772
1769
|
leftOffset: 0
|
|
1773
1770
|
}, true);
|
|
@@ -1785,7 +1782,7 @@ class IrisGrid extends Component {
|
|
|
1785
1782
|
movedColumns
|
|
1786
1783
|
} = this.state;
|
|
1787
1784
|
metricCalculator.setColumnWidth(GridUtils.getModelIndex(columnVisibleIndex, movedColumns), 0);
|
|
1788
|
-
(_this$grid6 = this.grid) === null || _this$grid6 === void 0
|
|
1785
|
+
(_this$grid6 = this.grid) === null || _this$grid6 === void 0 || _this$grid6.forceUpdate();
|
|
1789
1786
|
}
|
|
1790
1787
|
freezeColumnByColumnName(columnName) {
|
|
1791
1788
|
var {
|
|
@@ -1851,7 +1848,7 @@ class IrisGrid extends Component {
|
|
|
1851
1848
|
metricCalculator.setColumnWidth(modelIndex, 0);
|
|
1852
1849
|
});
|
|
1853
1850
|
}
|
|
1854
|
-
(_this$grid7 = this.grid) === null || _this$grid7 === void 0
|
|
1851
|
+
(_this$grid7 = this.grid) === null || _this$grid7 === void 0 || _this$grid7.forceUpdate();
|
|
1855
1852
|
}
|
|
1856
1853
|
handleColumnVisibilityReset() {
|
|
1857
1854
|
var _model$layoutHints$fr, _model$layoutHints2;
|
|
@@ -1869,7 +1866,7 @@ class IrisGrid extends Component {
|
|
|
1869
1866
|
this.handleMovedColumnsChanged(model.initialMovedColumns);
|
|
1870
1867
|
this.handleHeaderGroupsChanged(model.initialColumnHeaderGroups);
|
|
1871
1868
|
this.setState({
|
|
1872
|
-
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
|
|
1873
1870
|
});
|
|
1874
1871
|
}
|
|
1875
1872
|
handleCrossColumnSearch(searchValue, selectedSearchColumns, invertSearchColumns) {
|
|
@@ -1886,7 +1883,7 @@ class IrisGrid extends Component {
|
|
|
1886
1883
|
}
|
|
1887
1884
|
handleAnimationLoop() {
|
|
1888
1885
|
var _this$grid8;
|
|
1889
|
-
(_this$grid8 = this.grid) === null || _this$grid8 === void 0
|
|
1886
|
+
(_this$grid8 = this.grid) === null || _this$grid8 === void 0 || _this$grid8.updateCanvas();
|
|
1890
1887
|
if (this.isAnimating) {
|
|
1891
1888
|
this.animationFrame = requestAnimationFrame(this.handleAnimationLoop);
|
|
1892
1889
|
}
|
|
@@ -1952,7 +1949,7 @@ class IrisGrid extends Component {
|
|
|
1952
1949
|
metricCalculator.resetColumnWidth(modelIndex);
|
|
1953
1950
|
}
|
|
1954
1951
|
}
|
|
1955
|
-
(_this$grid9 = this.grid) === null || _this$grid9 === void 0
|
|
1952
|
+
(_this$grid9 = this.grid) === null || _this$grid9 === void 0 || _this$grid9.forceUpdate();
|
|
1956
1953
|
}
|
|
1957
1954
|
toggleSort(columnIndex, addToExisting) {
|
|
1958
1955
|
log.info('Toggling sort for column', columnIndex);
|
|
@@ -1972,15 +1969,15 @@ class IrisGrid extends Component {
|
|
|
1972
1969
|
}
|
|
1973
1970
|
}
|
|
1974
1971
|
updateSorts(sorts) {
|
|
1975
|
-
var _this$
|
|
1972
|
+
var _this$grid0;
|
|
1976
1973
|
this.startLoading('Sorting...');
|
|
1977
1974
|
this.setState({
|
|
1978
1975
|
sorts
|
|
1979
1976
|
});
|
|
1980
|
-
(_this$
|
|
1977
|
+
(_this$grid0 = this.grid) === null || _this$grid0 === void 0 || _this$grid0.forceUpdate();
|
|
1981
1978
|
}
|
|
1982
1979
|
sortColumn(modelColumn) {
|
|
1983
|
-
var _this$
|
|
1980
|
+
var _this$grid1;
|
|
1984
1981
|
var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TableUtils.sortDirection.none;
|
|
1985
1982
|
var isAbs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
1986
1983
|
var addToExisting = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
@@ -1993,15 +1990,15 @@ class IrisGrid extends Component {
|
|
|
1993
1990
|
this.setState({
|
|
1994
1991
|
sorts
|
|
1995
1992
|
});
|
|
1996
|
-
(_this$
|
|
1993
|
+
(_this$grid1 = this.grid) === null || _this$grid1 === void 0 || _this$grid1.forceUpdate();
|
|
1997
1994
|
}
|
|
1998
1995
|
reverse(reverse) {
|
|
1999
|
-
var _this$
|
|
1996
|
+
var _this$grid10;
|
|
2000
1997
|
this.startLoading('Reversing...');
|
|
2001
1998
|
this.setState({
|
|
2002
1999
|
reverse
|
|
2003
2000
|
});
|
|
2004
|
-
(_this$
|
|
2001
|
+
(_this$grid10 = this.grid) === null || _this$grid10 === void 0 || _this$grid10.forceUpdate();
|
|
2005
2002
|
}
|
|
2006
2003
|
isReversible() {
|
|
2007
2004
|
var {
|
|
@@ -2024,16 +2021,16 @@ class IrisGrid extends Component {
|
|
|
2024
2021
|
} else {
|
|
2025
2022
|
var columnIndex = 0;
|
|
2026
2023
|
var {
|
|
2027
|
-
model
|
|
2024
|
+
model
|
|
2028
2025
|
} = this.props;
|
|
2029
2026
|
var {
|
|
2030
2027
|
columnCount
|
|
2031
|
-
} =
|
|
2028
|
+
} = model;
|
|
2032
2029
|
for (var i = 0; i < columnCount; i += 1) {
|
|
2033
2030
|
var modelColumn = this.getModelColumn(i);
|
|
2034
2031
|
if (modelColumn != null) {
|
|
2035
|
-
var
|
|
2036
|
-
if (
|
|
2032
|
+
var column = model.columns[modelColumn];
|
|
2033
|
+
if (column != null && TableUtils.isTextType(column.type)) {
|
|
2037
2034
|
columnIndex = i;
|
|
2038
2035
|
break;
|
|
2039
2036
|
}
|
|
@@ -2042,8 +2039,8 @@ class IrisGrid extends Component {
|
|
|
2042
2039
|
this.focusFilterBar(columnIndex);
|
|
2043
2040
|
}
|
|
2044
2041
|
} else {
|
|
2045
|
-
var _this$
|
|
2046
|
-
(_this$
|
|
2042
|
+
var _this$grid11;
|
|
2043
|
+
(_this$grid11 = this.grid) === null || _this$grid11 === void 0 || _this$grid11.focus();
|
|
2047
2044
|
}
|
|
2048
2045
|
}
|
|
2049
2046
|
isTableSearchAvailable() {
|
|
@@ -2055,7 +2052,7 @@ class IrisGrid extends Component {
|
|
|
2055
2052
|
var {
|
|
2056
2053
|
dh
|
|
2057
2054
|
} = model;
|
|
2058
|
-
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;
|
|
2059
2056
|
if (searchDisplayMode === ((_dh$SearchDisplayMode = dh.SearchDisplayMode) === null || _dh$SearchDisplayMode === void 0 ? void 0 : _dh$SearchDisplayMode.SEARCH_DISPLAY_HIDE)) {
|
|
2060
2057
|
return false;
|
|
2061
2058
|
}
|
|
@@ -2078,15 +2075,15 @@ class IrisGrid extends Component {
|
|
|
2078
2075
|
var _this$crossColumnRef;
|
|
2079
2076
|
if (update && (_this$crossColumnRef = this.crossColumnRef) !== null && _this$crossColumnRef !== void 0 && _this$crossColumnRef.current) {
|
|
2080
2077
|
var _this$crossColumnRef2;
|
|
2081
|
-
(_this$crossColumnRef2 = this.crossColumnRef) === null || _this$crossColumnRef2 === void 0
|
|
2078
|
+
(_this$crossColumnRef2 = this.crossColumnRef) === null || _this$crossColumnRef2 === void 0 || _this$crossColumnRef2.current.focus();
|
|
2082
2079
|
} else {
|
|
2083
|
-
var _this$
|
|
2084
|
-
(_this$
|
|
2080
|
+
var _this$grid12;
|
|
2081
|
+
(_this$grid12 = this.grid) === null || _this$grid12 === void 0 || _this$grid12.focus();
|
|
2085
2082
|
}
|
|
2086
2083
|
});
|
|
2087
2084
|
}
|
|
2088
2085
|
toggleGotoRow() {
|
|
2089
|
-
var _this$
|
|
2086
|
+
var _this$grid13, _this$grid14;
|
|
2090
2087
|
var row = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
2091
2088
|
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
2092
2089
|
var columnName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
@@ -2105,11 +2102,11 @@ class IrisGrid extends Component {
|
|
|
2105
2102
|
gotoValueManuallyChanged: false
|
|
2106
2103
|
});
|
|
2107
2104
|
this.focusRowInGrid(row);
|
|
2108
|
-
(_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();
|
|
2109
2106
|
return;
|
|
2110
2107
|
}
|
|
2111
|
-
var cursorRow = (_this$
|
|
2112
|
-
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;
|
|
2113
2110
|
if (cursorRow == null || cursorColumn == null) {
|
|
2114
2111
|
// if a cell is not selected / grid is not rendered
|
|
2115
2112
|
this.setState({
|
|
@@ -2145,7 +2142,7 @@ class IrisGrid extends Component {
|
|
|
2145
2142
|
commitPending() {
|
|
2146
2143
|
var _this3 = this;
|
|
2147
2144
|
return _asyncToGenerator(function* () {
|
|
2148
|
-
var _document
|
|
2145
|
+
var _document;
|
|
2149
2146
|
var {
|
|
2150
2147
|
model
|
|
2151
2148
|
} = _this3.props;
|
|
@@ -2158,7 +2155,7 @@ class IrisGrid extends Component {
|
|
|
2158
2155
|
if (pendingSavePromise != null) {
|
|
2159
2156
|
throw new Error('Save already in progress');
|
|
2160
2157
|
}
|
|
2161
|
-
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');
|
|
2162
2159
|
if (containsGridCellInputField != null && containsGridCellInputField) {
|
|
2163
2160
|
var _this3$grid;
|
|
2164
2161
|
if (document.activeElement != null && document.activeElement.classList.contains('error')) {
|
|
@@ -2166,7 +2163,7 @@ class IrisGrid extends Component {
|
|
|
2166
2163
|
}
|
|
2167
2164
|
|
|
2168
2165
|
// Focus the grid again to commit any pending input changes
|
|
2169
|
-
(_this3$grid = _this3.grid) === null || _this3$grid === void 0
|
|
2166
|
+
(_this3$grid = _this3.grid) === null || _this3$grid === void 0 || _this3$grid.focus();
|
|
2170
2167
|
}
|
|
2171
2168
|
var newPendingSavePromise = _this3.pending.add(model.commitPending()).then(() => {
|
|
2172
2169
|
_this3.setState({
|
|
@@ -2276,7 +2273,7 @@ class IrisGrid extends Component {
|
|
|
2276
2273
|
this.setAdvancedFilter(index, filter, options);
|
|
2277
2274
|
}
|
|
2278
2275
|
handleAdvancedFilterSortChange(column, direction) {
|
|
2279
|
-
var _this$
|
|
2276
|
+
var _this$grid15;
|
|
2280
2277
|
var addToExisting = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
2281
2278
|
var {
|
|
2282
2279
|
model
|
|
@@ -2299,11 +2296,11 @@ class IrisGrid extends Component {
|
|
|
2299
2296
|
this.setState({
|
|
2300
2297
|
sorts
|
|
2301
2298
|
});
|
|
2302
|
-
(_this$
|
|
2299
|
+
(_this$grid15 = this.grid) === null || _this$grid15 === void 0 || _this$grid15.forceUpdate();
|
|
2303
2300
|
}
|
|
2304
2301
|
handleAdvancedFilterDone() {
|
|
2305
|
-
var _this$
|
|
2306
|
-
(_this$
|
|
2302
|
+
var _this$grid16;
|
|
2303
|
+
(_this$grid16 = this.grid) === null || _this$grid16 === void 0 || _this$grid16.focus();
|
|
2307
2304
|
}
|
|
2308
2305
|
handleAdvancedMenuOpened(column) {
|
|
2309
2306
|
this.setState({
|
|
@@ -2330,7 +2327,7 @@ class IrisGrid extends Component {
|
|
|
2330
2327
|
} = this.state;
|
|
2331
2328
|
if (isFilterBarShown && focusedFilterBarColumn === columnIndex && ((_this$filterInputRef = this.filterInputRef) === null || _this$filterInputRef === void 0 ? void 0 : _this$filterInputRef.current) !== null) {
|
|
2332
2329
|
var _this$filterInputRef2;
|
|
2333
|
-
(_this$filterInputRef2 = this.filterInputRef) === null || _this$filterInputRef2 === void 0
|
|
2330
|
+
(_this$filterInputRef2 = this.filterInputRef) === null || _this$filterInputRef2 === void 0 || _this$filterInputRef2.current.focus();
|
|
2334
2331
|
this.setState({
|
|
2335
2332
|
shownAdvancedFilter: null
|
|
2336
2333
|
});
|
|
@@ -2369,11 +2366,11 @@ class IrisGrid extends Component {
|
|
|
2369
2366
|
this.startLoading('Filtering...', {
|
|
2370
2367
|
resetRanges: true
|
|
2371
2368
|
});
|
|
2372
|
-
this.setState(
|
|
2369
|
+
this.setState(_ref13 => {
|
|
2373
2370
|
var {
|
|
2374
2371
|
focusedFilterBarColumn,
|
|
2375
2372
|
quickFilters
|
|
2376
|
-
} =
|
|
2373
|
+
} = _ref13;
|
|
2377
2374
|
var newQuickFilters = new Map(quickFilters);
|
|
2378
2375
|
if (focusedFilterBarColumn != null) {
|
|
2379
2376
|
var modelIndex = this.getModelColumn(focusedFilterBarColumn);
|
|
@@ -2389,8 +2386,8 @@ class IrisGrid extends Component {
|
|
|
2389
2386
|
var setGridFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
2390
2387
|
var defocusInput = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
2391
2388
|
if (setGridFocus) {
|
|
2392
|
-
var _this$
|
|
2393
|
-
(_this$
|
|
2389
|
+
var _this$grid17;
|
|
2390
|
+
(_this$grid17 = this.grid) === null || _this$grid17 === void 0 || _this$grid17.focus();
|
|
2394
2391
|
}
|
|
2395
2392
|
if (defocusInput) {
|
|
2396
2393
|
this.setState({
|
|
@@ -2430,6 +2427,26 @@ class IrisGrid extends Component {
|
|
|
2430
2427
|
customColumnFormatMap
|
|
2431
2428
|
});
|
|
2432
2429
|
}
|
|
2430
|
+
handleColumnAlignmentChange(modelIndex, alignment) {
|
|
2431
|
+
var {
|
|
2432
|
+
model
|
|
2433
|
+
} = this.props;
|
|
2434
|
+
var column = model.columns[modelIndex];
|
|
2435
|
+
this.setState(_ref14 => {
|
|
2436
|
+
var {
|
|
2437
|
+
columnAlignmentMap = EMPTY_MAP
|
|
2438
|
+
} = _ref14;
|
|
2439
|
+
var newColumnAlignmentMap = new Map(columnAlignmentMap);
|
|
2440
|
+
if (alignment != null) {
|
|
2441
|
+
newColumnAlignmentMap.set(column.name, alignment);
|
|
2442
|
+
} else {
|
|
2443
|
+
newColumnAlignmentMap.delete(column.name);
|
|
2444
|
+
}
|
|
2445
|
+
return {
|
|
2446
|
+
columnAlignmentMap: newColumnAlignmentMap
|
|
2447
|
+
};
|
|
2448
|
+
});
|
|
2449
|
+
}
|
|
2433
2450
|
handleMenu(e) {
|
|
2434
2451
|
e.stopPropagation();
|
|
2435
2452
|
this.setState({
|
|
@@ -2443,10 +2460,10 @@ class IrisGrid extends Component {
|
|
|
2443
2460
|
});
|
|
2444
2461
|
}
|
|
2445
2462
|
handleMenuBack() {
|
|
2446
|
-
this.setState(
|
|
2463
|
+
this.setState(_ref15 => {
|
|
2447
2464
|
var {
|
|
2448
2465
|
openOptions
|
|
2449
|
-
} =
|
|
2466
|
+
} = _ref15;
|
|
2450
2467
|
var newOptions = [...openOptions];
|
|
2451
2468
|
newOptions.pop();
|
|
2452
2469
|
return {
|
|
@@ -2455,10 +2472,10 @@ class IrisGrid extends Component {
|
|
|
2455
2472
|
});
|
|
2456
2473
|
}
|
|
2457
2474
|
handleMenuSelect(option) {
|
|
2458
|
-
this.setState(
|
|
2475
|
+
this.setState(_ref16 => {
|
|
2459
2476
|
var {
|
|
2460
2477
|
openOptions
|
|
2461
|
-
} =
|
|
2478
|
+
} = _ref16;
|
|
2462
2479
|
return {
|
|
2463
2480
|
openOptions: [...openOptions, option]
|
|
2464
2481
|
};
|
|
@@ -2497,7 +2514,7 @@ class IrisGrid extends Component {
|
|
|
2497
2514
|
}
|
|
2498
2515
|
}
|
|
2499
2516
|
handleUpdate() {
|
|
2500
|
-
var _this$
|
|
2517
|
+
var _this$grid18;
|
|
2501
2518
|
log.debug2('Received model update');
|
|
2502
2519
|
var {
|
|
2503
2520
|
advancedFilters,
|
|
@@ -2526,7 +2543,7 @@ class IrisGrid extends Component {
|
|
|
2526
2543
|
} else {
|
|
2527
2544
|
this.lastLoadedConfig = null;
|
|
2528
2545
|
}
|
|
2529
|
-
(_this$
|
|
2546
|
+
(_this$grid18 = this.grid) === null || _this$grid18 === void 0 || _this$grid18.forceUpdate();
|
|
2530
2547
|
this.stopLoading();
|
|
2531
2548
|
}
|
|
2532
2549
|
handleTableChanged() {
|
|
@@ -2539,13 +2556,13 @@ class IrisGrid extends Component {
|
|
|
2539
2556
|
});
|
|
2540
2557
|
}
|
|
2541
2558
|
handleViewChanged(metrics) {
|
|
2542
|
-
var _this$grid$state, _this$
|
|
2559
|
+
var _this$grid$state, _this$grid19;
|
|
2543
2560
|
var {
|
|
2544
2561
|
model
|
|
2545
2562
|
} = this.props;
|
|
2546
2563
|
var {
|
|
2547
2564
|
selectionEndRow = 0
|
|
2548
|
-
} = (_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 : {};
|
|
2549
2566
|
var pendingRowCount = 0;
|
|
2550
2567
|
if (isEditableGridModel(model) && model.isEditable) {
|
|
2551
2568
|
assertNotNull(metrics);
|
|
@@ -2573,7 +2590,6 @@ class IrisGrid extends Component {
|
|
|
2573
2590
|
});
|
|
2574
2591
|
}
|
|
2575
2592
|
handleSelectionChanged(selectedRanges) {
|
|
2576
|
-
var _this$grid22;
|
|
2577
2593
|
assertNotNull(selectedRanges);
|
|
2578
2594
|
var {
|
|
2579
2595
|
onSelectionChanged
|
|
@@ -2589,9 +2605,14 @@ class IrisGrid extends Component {
|
|
|
2589
2605
|
copyOperation: null
|
|
2590
2606
|
});
|
|
2591
2607
|
}
|
|
2592
|
-
|
|
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) {
|
|
2593
2614
|
this.setState({
|
|
2594
|
-
gotoRow: "".concat(
|
|
2615
|
+
gotoRow: "".concat(selectedRanges[0].startRow + 1)
|
|
2595
2616
|
});
|
|
2596
2617
|
}
|
|
2597
2618
|
onSelectionChanged(selectedRanges);
|
|
@@ -2608,8 +2629,8 @@ class IrisGrid extends Component {
|
|
|
2608
2629
|
this.setState({
|
|
2609
2630
|
columnHeaderGroups: IrisGridUtils.parseColumnHeaderGroups(model, columnHeaderGroups).groups
|
|
2610
2631
|
}, () => {
|
|
2611
|
-
var _this$
|
|
2612
|
-
return (_this$
|
|
2632
|
+
var _this$grid20;
|
|
2633
|
+
return (_this$grid20 = this.grid) === null || _this$grid20 === void 0 ? void 0 : _this$grid20.forceUpdate();
|
|
2613
2634
|
});
|
|
2614
2635
|
}
|
|
2615
2636
|
handleTooltipRef(tooltip) {
|
|
@@ -2657,9 +2678,6 @@ class IrisGrid extends Component {
|
|
|
2657
2678
|
conditionalFormatPreview: _objectSpread({}, conditionalFormats[index])
|
|
2658
2679
|
});
|
|
2659
2680
|
}
|
|
2660
|
-
|
|
2661
|
-
// Apply live changes
|
|
2662
|
-
|
|
2663
2681
|
handleConditionalFormatEditorSave(config) {
|
|
2664
2682
|
log.debug('Save conditional format changes', config);
|
|
2665
2683
|
this.setState(state => {
|
|
@@ -2748,9 +2766,9 @@ class IrisGrid extends Component {
|
|
|
2748
2766
|
isReady
|
|
2749
2767
|
} = this.state;
|
|
2750
2768
|
if (isReady) {
|
|
2751
|
-
var _this$
|
|
2769
|
+
var _this$grid21;
|
|
2752
2770
|
this.stopLoading();
|
|
2753
|
-
(_this$
|
|
2771
|
+
(_this$grid21 = this.grid) === null || _this$grid21 === void 0 || _this$grid21.forceUpdate();
|
|
2754
2772
|
} else {
|
|
2755
2773
|
this.loadTableState();
|
|
2756
2774
|
}
|
|
@@ -2762,7 +2780,7 @@ class IrisGrid extends Component {
|
|
|
2762
2780
|
return this.discardPending();
|
|
2763
2781
|
}
|
|
2764
2782
|
handlePendingDataUpdated() {
|
|
2765
|
-
var _this$
|
|
2783
|
+
var _this$grid22;
|
|
2766
2784
|
log.debug('pending data updated');
|
|
2767
2785
|
var {
|
|
2768
2786
|
model
|
|
@@ -2776,10 +2794,10 @@ class IrisGrid extends Component {
|
|
|
2776
2794
|
pendingDataErrors,
|
|
2777
2795
|
pendingSaveError: null
|
|
2778
2796
|
});
|
|
2779
|
-
(_this$
|
|
2797
|
+
(_this$grid22 = this.grid) === null || _this$grid22 === void 0 || _this$grid22.forceUpdate();
|
|
2780
2798
|
}
|
|
2781
2799
|
handleResizeColumn(modelIndex) {
|
|
2782
|
-
var _this$
|
|
2800
|
+
var _this$grid23;
|
|
2783
2801
|
var {
|
|
2784
2802
|
metrics,
|
|
2785
2803
|
metricCalculator
|
|
@@ -2793,21 +2811,21 @@ class IrisGrid extends Component {
|
|
|
2793
2811
|
} else {
|
|
2794
2812
|
metricCalculator.setColumnWidth(modelIndex, contentWidth);
|
|
2795
2813
|
}
|
|
2796
|
-
(_this$
|
|
2814
|
+
(_this$grid23 = this.grid) === null || _this$grid23 === void 0 || _this$grid23.forceUpdate();
|
|
2797
2815
|
}
|
|
2798
2816
|
handleResizeAllColumns() {
|
|
2799
|
-
var _this$
|
|
2817
|
+
var _this$grid24;
|
|
2800
2818
|
var {
|
|
2801
2819
|
metrics,
|
|
2802
2820
|
metricCalculator
|
|
2803
2821
|
} = this.state;
|
|
2804
2822
|
if (!metrics) throw new Error('Metrics not set');
|
|
2805
2823
|
var allColumns = [...metrics.allColumnWidths.entries()];
|
|
2806
|
-
var visibleColumns = allColumns.filter(
|
|
2807
|
-
var [_, width] =
|
|
2824
|
+
var visibleColumns = allColumns.filter(_ref17 => {
|
|
2825
|
+
var [_, width] = _ref17;
|
|
2808
2826
|
return width !== 0;
|
|
2809
|
-
}).map(
|
|
2810
|
-
var [modelIndex] =
|
|
2827
|
+
}).map(_ref18 => {
|
|
2828
|
+
var [modelIndex] = _ref18;
|
|
2811
2829
|
return modelIndex;
|
|
2812
2830
|
});
|
|
2813
2831
|
var contentWidths = metrics.contentColumnWidths;
|
|
@@ -2829,7 +2847,7 @@ class IrisGrid extends Component {
|
|
|
2829
2847
|
metricCalculator.setColumnWidth(_modelIndex, _contentWidth);
|
|
2830
2848
|
}
|
|
2831
2849
|
}
|
|
2832
|
-
(_this$
|
|
2850
|
+
(_this$grid24 = this.grid) === null || _this$grid24 === void 0 || _this$grid24.forceUpdate();
|
|
2833
2851
|
}
|
|
2834
2852
|
|
|
2835
2853
|
/**
|
|
@@ -2846,7 +2864,7 @@ class IrisGrid extends Component {
|
|
|
2846
2864
|
var {
|
|
2847
2865
|
rollupConfig
|
|
2848
2866
|
} = this.state;
|
|
2849
|
-
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;
|
|
2850
2868
|
// Do not start loading if this is rollup and added / removed aggregations are prohibited for rollups
|
|
2851
2869
|
var changes = [...added, ...removed];
|
|
2852
2870
|
var shouldStartLoading = !(isRollup && changes.length > 0 && changes.every(op => AggregationUtils.isRollupProhibited(op)));
|
|
@@ -2868,16 +2886,16 @@ class IrisGrid extends Component {
|
|
|
2868
2886
|
var {
|
|
2869
2887
|
rollupConfig
|
|
2870
2888
|
} = this.state;
|
|
2871
|
-
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;
|
|
2872
2890
|
// Do not start loading if this is rollup and the aggregation is prohibited for rollups
|
|
2873
2891
|
var shouldStartLoading = !(isRollup && AggregationUtils.isRollupProhibited(aggregation.operation));
|
|
2874
2892
|
if (shouldStartLoading) {
|
|
2875
2893
|
this.startLoading("Aggregating ".concat(aggregation.operation, "..."));
|
|
2876
2894
|
}
|
|
2877
|
-
this.setState(
|
|
2895
|
+
this.setState(_ref19 => {
|
|
2878
2896
|
var {
|
|
2879
2897
|
aggregationSettings
|
|
2880
|
-
} =
|
|
2898
|
+
} = _ref19;
|
|
2881
2899
|
return {
|
|
2882
2900
|
selectedAggregation: aggregation,
|
|
2883
2901
|
aggregationSettings: _objectSpread(_objectSpread({}, aggregationSettings), {}, {
|
|
@@ -2910,18 +2928,18 @@ class IrisGrid extends Component {
|
|
|
2910
2928
|
this.resetGridViewState();
|
|
2911
2929
|
this.showAllColumns();
|
|
2912
2930
|
this.clearAllFilters();
|
|
2913
|
-
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 : '', "..."));
|
|
2914
2932
|
|
|
2915
2933
|
// Have to clear select distinct since rollup uses the original columns, not the current ones.
|
|
2916
2934
|
// IrisGridProxyModel has a check to prevent model update
|
|
2917
2935
|
// when selectDistinctModel is cleared and the rollupConfig is set on the model.
|
|
2918
2936
|
this.setState({
|
|
2919
2937
|
rollupConfig,
|
|
2920
|
-
movedColumns:
|
|
2921
|
-
frozenColumns:
|
|
2922
|
-
sorts:
|
|
2938
|
+
movedColumns: EMPTY_ARRAY,
|
|
2939
|
+
frozenColumns: EMPTY_ARRAY,
|
|
2940
|
+
sorts: EMPTY_ARRAY,
|
|
2923
2941
|
reverse: false,
|
|
2924
|
-
selectDistinctColumns:
|
|
2942
|
+
selectDistinctColumns: EMPTY_ARRAY
|
|
2925
2943
|
});
|
|
2926
2944
|
}
|
|
2927
2945
|
handleSelectDistinctChanged(columnNames) {
|
|
@@ -2977,10 +2995,10 @@ class IrisGrid extends Component {
|
|
|
2977
2995
|
*/
|
|
2978
2996
|
removeEmptyAggregations() {
|
|
2979
2997
|
log.debug('removeEmptyAggregations');
|
|
2980
|
-
this.setState(
|
|
2998
|
+
this.setState(_ref20 => {
|
|
2981
2999
|
var {
|
|
2982
3000
|
aggregationSettings
|
|
2983
|
-
} =
|
|
3001
|
+
} = _ref20;
|
|
2984
3002
|
var {
|
|
2985
3003
|
aggregations
|
|
2986
3004
|
} = aggregationSettings;
|
|
@@ -3072,7 +3090,7 @@ class IrisGrid extends Component {
|
|
|
3072
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);
|
|
3073
3091
|
}
|
|
3074
3092
|
}
|
|
3075
|
-
(_this6$grid2 = _this6.grid) === null || _this6$grid2 === void 0
|
|
3093
|
+
(_this6$grid2 = _this6.grid) === null || _this6$grid2 === void 0 || _this6$grid2.setFocusRow(rowIndex);
|
|
3076
3094
|
_this6.setState({
|
|
3077
3095
|
gotoValueError: ''
|
|
3078
3096
|
});
|
|
@@ -3085,7 +3103,7 @@ class IrisGrid extends Component {
|
|
|
3085
3103
|
}
|
|
3086
3104
|
handleCancelDownloadTable() {
|
|
3087
3105
|
var _this$tableSaver;
|
|
3088
|
-
(_this$tableSaver = this.tableSaver) === null || _this$tableSaver === void 0
|
|
3106
|
+
(_this$tableSaver = this.tableSaver) === null || _this$tableSaver === void 0 || _this$tableSaver.cancelDownload();
|
|
3089
3107
|
this.setState({
|
|
3090
3108
|
isTableDownloading: false
|
|
3091
3109
|
});
|
|
@@ -3255,22 +3273,22 @@ class IrisGrid extends Component {
|
|
|
3255
3273
|
gotoRowError: 'Invalid row index'
|
|
3256
3274
|
});
|
|
3257
3275
|
} else if (rowInt === 0) {
|
|
3258
|
-
var _this$
|
|
3276
|
+
var _this$grid25;
|
|
3259
3277
|
this.setState({
|
|
3260
3278
|
gotoRowError: '',
|
|
3261
3279
|
gotoValueError: ''
|
|
3262
3280
|
});
|
|
3263
|
-
(_this$
|
|
3281
|
+
(_this$grid25 = this.grid) === null || _this$grid25 === void 0 || _this$grid25.setFocusRow(0);
|
|
3264
3282
|
} else if (rowInt < 0) {
|
|
3265
|
-
var _this$
|
|
3283
|
+
var _this$grid26;
|
|
3266
3284
|
this.setState({
|
|
3267
3285
|
gotoRowError: '',
|
|
3268
3286
|
gotoValueError: ''
|
|
3269
3287
|
});
|
|
3270
|
-
(_this$
|
|
3288
|
+
(_this$grid26 = this.grid) === null || _this$grid26 === void 0 || _this$grid26.setFocusRow(rowInt + rowCount);
|
|
3271
3289
|
} else {
|
|
3272
|
-
var _this$
|
|
3273
|
-
(_this$
|
|
3290
|
+
var _this$grid27;
|
|
3291
|
+
(_this$grid27 = this.grid) === null || _this$grid27 === void 0 || _this$grid27.setFocusRow(rowInt - 1);
|
|
3274
3292
|
this.setState({
|
|
3275
3293
|
gotoRowError: '',
|
|
3276
3294
|
gotoValueError: ''
|
|
@@ -3363,34 +3381,34 @@ class IrisGrid extends Component {
|
|
|
3363
3381
|
column: column,
|
|
3364
3382
|
onStatistics: () => {
|
|
3365
3383
|
var _this$tooltip;
|
|
3366
|
-
(_this$tooltip = this.tooltip) === null || _this$tooltip === void 0
|
|
3384
|
+
(_this$tooltip = this.tooltip) === null || _this$tooltip === void 0 || _this$tooltip.update();
|
|
3367
3385
|
}
|
|
3368
3386
|
})
|
|
3369
3387
|
}, column.name)
|
|
3370
3388
|
});
|
|
3371
3389
|
}
|
|
3372
3390
|
handleGotoValueSelectedColumnNameChanged(columnName) {
|
|
3373
|
-
var _this$
|
|
3391
|
+
var _this$grid28;
|
|
3374
3392
|
var {
|
|
3375
3393
|
model
|
|
3376
3394
|
} = this.props;
|
|
3377
|
-
var cursorRow = (_this$
|
|
3395
|
+
var cursorRow = (_this$grid28 = this.grid) === null || _this$grid28 === void 0 ? void 0 : _this$grid28.state.cursorRow;
|
|
3378
3396
|
var {
|
|
3379
3397
|
gotoValueSelectedColumnName: prevColumnName,
|
|
3380
3398
|
gotoValueManuallyChanged
|
|
3381
3399
|
} = this.state;
|
|
3382
3400
|
if (cursorRow != null) {
|
|
3383
|
-
var
|
|
3384
|
-
var
|
|
3401
|
+
var index = model.getColumnIndexByName(columnName);
|
|
3402
|
+
var column = IrisGridUtils.getColumnByName(model.columns, columnName);
|
|
3385
3403
|
var prevColumn = IrisGridUtils.getColumnByName(model.columns, prevColumnName);
|
|
3386
|
-
if (
|
|
3404
|
+
if (index == null || column == null) {
|
|
3387
3405
|
return;
|
|
3388
3406
|
}
|
|
3389
|
-
var
|
|
3390
|
-
var text = IrisGridUtils.convertValueToText(
|
|
3407
|
+
var value = model.valueForCell(index, cursorRow);
|
|
3408
|
+
var text = IrisGridUtils.convertValueToText(value, column.type);
|
|
3391
3409
|
|
|
3392
3410
|
// do NOT update value if user manually changed value AND column type remains the same
|
|
3393
|
-
if (gotoValueManuallyChanged &&
|
|
3411
|
+
if (gotoValueManuallyChanged && column.type === (prevColumn === null || prevColumn === void 0 ? void 0 : prevColumn.type)) {
|
|
3394
3412
|
this.setState({
|
|
3395
3413
|
gotoValueSelectedColumnName: columnName,
|
|
3396
3414
|
gotoValueError: ''
|
|
@@ -3426,8 +3444,7 @@ class IrisGrid extends Component {
|
|
|
3426
3444
|
var _rollupConfig$columns7,
|
|
3427
3445
|
_rollupConfig$columns8,
|
|
3428
3446
|
_this7 = this,
|
|
3429
|
-
_this$
|
|
3430
|
-
_this$grid33$state$dr,
|
|
3447
|
+
_this$grid30,
|
|
3431
3448
|
_openOptions;
|
|
3432
3449
|
var {
|
|
3433
3450
|
children,
|
|
@@ -3473,6 +3490,7 @@ class IrisGrid extends Component {
|
|
|
3473
3490
|
conditionalFormats,
|
|
3474
3491
|
conditionalFormatPreview,
|
|
3475
3492
|
conditionalFormatEditIndex,
|
|
3493
|
+
columnAlignmentMap,
|
|
3476
3494
|
sorts,
|
|
3477
3495
|
reverse,
|
|
3478
3496
|
customColumns,
|
|
@@ -3532,7 +3550,7 @@ class IrisGrid extends Component {
|
|
|
3532
3550
|
right = metrics ? metrics.right : 0;
|
|
3533
3551
|
}
|
|
3534
3552
|
var isVisible = metrics != null && metrics.width > 0 && metrics.height > 0;
|
|
3535
|
-
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;
|
|
3536
3554
|
var focusField = null;
|
|
3537
3555
|
var debounceMs = metrics ? Math.min(Math.max(IrisGrid.minDebounce, Math.round(metrics.rowCount / 200)), IrisGrid.maxDebounce) : IrisGrid.maxDebounce;
|
|
3538
3556
|
if (isFilterBarShown && focusedFilterBarColumn != null && metrics != null) {
|
|
@@ -3546,7 +3564,7 @@ class IrisGrid extends Component {
|
|
|
3546
3564
|
var columnX = allColumnXs.get(focusedFilterBarColumn);
|
|
3547
3565
|
var columnWidth = allColumnWidths.get(focusedFilterBarColumn);
|
|
3548
3566
|
if (columnX != null && columnWidth != null) {
|
|
3549
|
-
var _theme$filterBarHeigh, _theme$filterBarHeigh2, _this$
|
|
3567
|
+
var _theme$filterBarHeigh, _theme$filterBarHeigh2, _this$grid29;
|
|
3550
3568
|
var x = gridX + columnX;
|
|
3551
3569
|
var y = gridY - ((_theme$filterBarHeigh = theme.filterBarHeight) !== null && _theme$filterBarHeigh !== void 0 ? _theme$filterBarHeigh : 0);
|
|
3552
3570
|
var fieldWidth = columnWidth + 1; // cover right border
|
|
@@ -3558,14 +3576,14 @@ class IrisGrid extends Component {
|
|
|
3558
3576
|
// Don't cause overflow
|
|
3559
3577
|
height: fieldHeight
|
|
3560
3578
|
};
|
|
3561
|
-
var
|
|
3579
|
+
var value = '';
|
|
3562
3580
|
var isValid = true;
|
|
3563
3581
|
var modelColumn = this.getModelColumn(focusedFilterBarColumn);
|
|
3564
3582
|
assertNotNull(modelColumn);
|
|
3565
3583
|
var quickFilter = quickFilters.get(modelColumn);
|
|
3566
3584
|
var advancedFilter = advancedFilters.get(modelColumn);
|
|
3567
3585
|
if (quickFilter != null) {
|
|
3568
|
-
|
|
3586
|
+
value = quickFilter.text;
|
|
3569
3587
|
isValid = quickFilter.filter != null;
|
|
3570
3588
|
}
|
|
3571
3589
|
var isBarFiltered = quickFilters.size !== 0 || advancedFilters.size !== 0;
|
|
@@ -3574,7 +3592,7 @@ class IrisGrid extends Component {
|
|
|
3574
3592
|
style: style,
|
|
3575
3593
|
className: classNames({
|
|
3576
3594
|
error: !isValid,
|
|
3577
|
-
active:
|
|
3595
|
+
active: value !== '' || advancedFilter != null,
|
|
3578
3596
|
'iris-grid-has-filter': isBarFiltered
|
|
3579
3597
|
}),
|
|
3580
3598
|
isAdvancedFilterSet: advancedFilter != null,
|
|
@@ -3586,9 +3604,9 @@ class IrisGrid extends Component {
|
|
|
3586
3604
|
onChange: this.handleFilterBarChange,
|
|
3587
3605
|
onDone: this.handleFilterBarDone,
|
|
3588
3606
|
onTab: this.handleFilterBarTab,
|
|
3589
|
-
onContextMenu: (_this$
|
|
3607
|
+
onContextMenu: (_this$grid29 = this.grid) === null || _this$grid29 === void 0 ? void 0 : _this$grid29.handleContextMenu,
|
|
3590
3608
|
debounceMs: debounceMs,
|
|
3591
|
-
value:
|
|
3609
|
+
value: value
|
|
3592
3610
|
}, focusedFilterBarColumn);
|
|
3593
3611
|
}
|
|
3594
3612
|
}
|
|
@@ -3627,7 +3645,7 @@ class IrisGrid extends Component {
|
|
|
3627
3645
|
var _this$tooltip2;
|
|
3628
3646
|
columnTooltip = this.getColumnTooltip(shownColumnTooltip, metrics, model);
|
|
3629
3647
|
// #510 We may need to update the position of the tooltip if it's already opened and columns are resized
|
|
3630
|
-
(_this$tooltip2 = this.tooltip) === null || _this$tooltip2 === void 0
|
|
3648
|
+
(_this$tooltip2 = this.tooltip) === null || _this$tooltip2 === void 0 || _this$tooltip2.update();
|
|
3631
3649
|
}
|
|
3632
3650
|
var filterBar = [];
|
|
3633
3651
|
if (metrics && isFilterBarShown) {
|
|
@@ -3676,7 +3694,7 @@ class IrisGrid extends Component {
|
|
|
3676
3694
|
},
|
|
3677
3695
|
onContextMenu: event => {
|
|
3678
3696
|
var _this7$grid;
|
|
3679
|
-
(_this7$grid = _this7.grid) === null || _this7$grid === void 0
|
|
3697
|
+
(_this7$grid = _this7.grid) === null || _this7$grid === void 0 || _this7$grid.handleContextMenu(event);
|
|
3680
3698
|
},
|
|
3681
3699
|
onMouseEnter: () => {
|
|
3682
3700
|
_this7.setState({
|
|
@@ -3739,18 +3757,18 @@ class IrisGrid extends Component {
|
|
|
3739
3757
|
};
|
|
3740
3758
|
var _modelColumn = _this7.getModelColumn(columnIndex);
|
|
3741
3759
|
if (_modelColumn != null) {
|
|
3742
|
-
var
|
|
3743
|
-
if (
|
|
3760
|
+
var column = model.columns[_modelColumn];
|
|
3761
|
+
if (column == null) {
|
|
3744
3762
|
// Grid metrics is likely out of sync with model
|
|
3745
3763
|
log.warn("Column does not exist at index ".concat(_modelColumn, " for column array of length ").concat(model.columns.length));
|
|
3746
3764
|
// eslint-disable-next-line no-continue
|
|
3747
|
-
return
|
|
3765
|
+
return 1; // continue
|
|
3748
3766
|
}
|
|
3749
3767
|
var _advancedFilter2 = advancedFilters.get(_modelColumn);
|
|
3750
3768
|
var {
|
|
3751
3769
|
options: advancedFilterOptions
|
|
3752
3770
|
} = _advancedFilter2 || {};
|
|
3753
|
-
var sort = TableUtils.getSortForColumn(model.sort,
|
|
3771
|
+
var sort = TableUtils.getSortForColumn(model.sort, column.name);
|
|
3754
3772
|
var sortDirection = sort ? sort.direction : null;
|
|
3755
3773
|
if (!isSortDirection(sortDirection)) {
|
|
3756
3774
|
throw new Error("Invalid sort direction: ".concat(sortDirection));
|
|
@@ -3770,7 +3788,7 @@ class IrisGrid extends Component {
|
|
|
3770
3788
|
options: {
|
|
3771
3789
|
positionFixed: true
|
|
3772
3790
|
},
|
|
3773
|
-
children: _this7.getCachedAdvancedFilterMenuActions(model,
|
|
3791
|
+
children: _this7.getCachedAdvancedFilterMenuActions(model, column, advancedFilterOptions, sortDirection, formatter)
|
|
3774
3792
|
})
|
|
3775
3793
|
}, columnIndex);
|
|
3776
3794
|
advancedFilterMenus.push(element);
|
|
@@ -3778,8 +3796,7 @@ class IrisGrid extends Component {
|
|
|
3778
3796
|
}
|
|
3779
3797
|
};
|
|
3780
3798
|
for (var _i4 = 0; _i4 < _visibleColumns.length; _i4 += 1) {
|
|
3781
|
-
|
|
3782
|
-
if (_ret === "continue") continue;
|
|
3799
|
+
if (_loop3()) continue;
|
|
3783
3800
|
}
|
|
3784
3801
|
}
|
|
3785
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);
|
|
@@ -3897,7 +3914,9 @@ class IrisGrid extends Component {
|
|
|
3897
3914
|
onExited: this.handleAnimationEnd,
|
|
3898
3915
|
mountOnEnter: true,
|
|
3899
3916
|
unmountOnExit: true,
|
|
3917
|
+
nodeRef: this.slideTransitionRef,
|
|
3900
3918
|
children: /*#__PURE__*/_jsx("div", {
|
|
3919
|
+
ref: this.slideTransitionRef,
|
|
3901
3920
|
className: "iris-grid-partition-selector-wrapper iris-grid-bar iris-grid-bar-primary",
|
|
3902
3921
|
children: isPartitionedGridModel(model) && model.isPartitionRequired && /*#__PURE__*/_jsx(IrisGridPartitionSelector, {
|
|
3903
3922
|
model: model,
|
|
@@ -3915,7 +3934,9 @@ class IrisGrid extends Component {
|
|
|
3915
3934
|
onExited: this.handleAnimationEnd,
|
|
3916
3935
|
mountOnEnter: true,
|
|
3917
3936
|
unmountOnExit: true,
|
|
3937
|
+
nodeRef: this.bottomTransitionRef,
|
|
3918
3938
|
children: /*#__PURE__*/_jsx("div", {
|
|
3939
|
+
ref: this.bottomTransitionRef,
|
|
3919
3940
|
className: "iris-grid-bar",
|
|
3920
3941
|
children: /*#__PURE__*/_jsx(CrossColumnSearch, {
|
|
3921
3942
|
value: searchValue,
|
|
@@ -3958,12 +3979,13 @@ class IrisGrid extends Component {
|
|
|
3958
3979
|
right: right,
|
|
3959
3980
|
filter: filter,
|
|
3960
3981
|
formatter: formatter,
|
|
3982
|
+
columnAlignmentMap: columnAlignmentMap,
|
|
3961
3983
|
sorts: sorts,
|
|
3962
3984
|
reverse: reverse,
|
|
3963
3985
|
movedColumns: movedColumns,
|
|
3964
3986
|
customColumns: customColumns,
|
|
3965
3987
|
hiddenColumns: hiddenColumns,
|
|
3966
|
-
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),
|
|
3967
3989
|
formatColumns: this.getCachedPreviewFormatColumns(model.dh, model.columns, conditionalFormats, conditionalFormatPreview,
|
|
3968
3990
|
// Disable the preview format when we press Back on the format edit page
|
|
3969
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),
|
|
@@ -4092,12 +4114,12 @@ _defineProperty(IrisGrid, "minDebounce", 150);
|
|
|
4092
4114
|
_defineProperty(IrisGrid, "maxDebounce", 500);
|
|
4093
4115
|
_defineProperty(IrisGrid, "loadingSpinnerDelay", 800);
|
|
4094
4116
|
_defineProperty(IrisGrid, "defaultProps", {
|
|
4095
|
-
children: null,
|
|
4096
4117
|
advancedFilters: EMPTY_MAP,
|
|
4097
4118
|
advancedSettings: EMPTY_MAP,
|
|
4098
4119
|
alwaysFetchColumns: EMPTY_ARRAY,
|
|
4099
4120
|
conditionalFormats: EMPTY_ARRAY,
|
|
4100
4121
|
customColumnFormatMap: EMPTY_MAP,
|
|
4122
|
+
columnAlignmentMap: EMPTY_MAP,
|
|
4101
4123
|
isFilterBarShown: false,
|
|
4102
4124
|
applyInputFiltersOnInit: false,
|
|
4103
4125
|
movedColumns: EMPTY_ARRAY,
|
|
@@ -4126,7 +4148,6 @@ _defineProperty(IrisGrid, "defaultProps", {
|
|
|
4126
4148
|
isSelectingPartition: false,
|
|
4127
4149
|
isStuckToBottom: false,
|
|
4128
4150
|
isStuckToRight: false,
|
|
4129
|
-
columnSelectionValidator: null,
|
|
4130
4151
|
columnAllowedCursor: 'linker',
|
|
4131
4152
|
columnNotAllowedCursor: 'linker-not-allowed',
|
|
4132
4153
|
copyCursor: 'copy',
|
|
@@ -4134,7 +4155,6 @@ _defineProperty(IrisGrid, "defaultProps", {
|
|
|
4134
4155
|
onlyFetchVisibleColumns: true,
|
|
4135
4156
|
showSearchBar: false,
|
|
4136
4157
|
searchValue: '',
|
|
4137
|
-
selectedSearchColumns: null,
|
|
4138
4158
|
invertSearchColumns: true,
|
|
4139
4159
|
onContextMenu: () => EMPTY_ARRAY,
|
|
4140
4160
|
pendingDataMap: EMPTY_MAP,
|
|
@@ -4148,18 +4168,11 @@ _defineProperty(IrisGrid, "defaultProps", {
|
|
|
4148
4168
|
showEmptyStrings: true,
|
|
4149
4169
|
showNullStrings: true,
|
|
4150
4170
|
showExtraGroupColumn: true,
|
|
4151
|
-
formatter: EMPTY_ARRAY
|
|
4152
|
-
decimalFormatOptions: PropTypes.shape({
|
|
4153
|
-
defaultFormatString: PropTypes.string
|
|
4154
|
-
}),
|
|
4155
|
-
integerFormatOptions: PropTypes.shape({
|
|
4156
|
-
defaultFormatString: PropTypes.string
|
|
4157
|
-
})
|
|
4171
|
+
formatter: EMPTY_ARRAY
|
|
4158
4172
|
},
|
|
4159
4173
|
canCopy: true,
|
|
4160
4174
|
canDownloadCsv: true,
|
|
4161
|
-
frozenColumns:
|
|
4162
|
-
theme: null,
|
|
4175
|
+
frozenColumns: EMPTY_ARRAY,
|
|
4163
4176
|
// Do not set a default density prop since we need to know if it overrides the global density setting
|
|
4164
4177
|
density: undefined,
|
|
4165
4178
|
canToggleSearch: true,
|