@deephaven/iris-grid 0.22.3-embed-pandas.11 → 0.23.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AdvancedFilterCreator.d.ts +1 -1
- package/dist/AdvancedFilterCreator.d.ts.map +1 -1
- package/dist/AdvancedFilterCreator.js +7 -65
- package/dist/AdvancedFilterCreator.js.map +1 -1
- package/dist/AdvancedFilterCreatorFilterItem.d.ts +1 -1
- package/dist/AdvancedFilterCreatorFilterItem.d.ts.map +1 -1
- package/dist/AdvancedFilterCreatorFilterItem.js +0 -23
- package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValue.js +0 -52
- package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.d.ts +1 -5
- package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.js +2 -42
- package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
- package/dist/ColumnHeaderGroup.js +0 -11
- package/dist/ColumnHeaderGroup.js.map +1 -1
- package/dist/ColumnStatistics.d.ts +0 -2
- package/dist/ColumnStatistics.d.ts.map +1 -1
- package/dist/ColumnStatistics.js +8 -40
- package/dist/ColumnStatistics.js.map +1 -1
- package/dist/CommonTypes.d.ts +14 -14
- package/dist/CommonTypes.d.ts.map +1 -1
- package/dist/CrossColumnSearch.js +2 -23
- package/dist/CrossColumnSearch.js.map +1 -1
- package/dist/FilterInputField.js +2 -36
- package/dist/FilterInputField.js.map +1 -1
- package/dist/GotoRow.d.ts +1 -1
- package/dist/GotoRow.d.ts.map +1 -1
- package/dist/GotoRow.js +2 -7
- package/dist/GotoRow.js.map +1 -1
- package/dist/IrisGrid.d.ts +46 -40
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +84 -526
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridBottomBar.d.ts +2 -2
- package/dist/IrisGridBottomBar.d.ts.map +1 -1
- package/dist/IrisGridBottomBar.js +2 -2
- package/dist/IrisGridBottomBar.js.map +1 -1
- package/dist/IrisGridCellOverflowModal.d.ts.map +1 -1
- package/dist/IrisGridCellOverflowModal.js +13 -46
- package/dist/IrisGridCellOverflowModal.js.map +1 -1
- package/dist/IrisGridCopyHandler.d.ts +3 -3
- package/dist/IrisGridCopyHandler.d.ts.map +1 -1
- package/dist/IrisGridCopyHandler.js +6 -53
- package/dist/IrisGridCopyHandler.js.map +1 -1
- package/dist/IrisGridMetricCalculator.js +2 -12
- package/dist/IrisGridMetricCalculator.js.map +1 -1
- package/dist/IrisGridModel.d.ts +3 -3
- package/dist/IrisGridModel.d.ts.map +1 -1
- package/dist/IrisGridModel.js +32 -58
- package/dist/IrisGridModel.js.map +1 -1
- package/dist/IrisGridModelFactory.js +0 -7
- package/dist/IrisGridModelFactory.js.map +1 -1
- package/dist/IrisGridModelUpdater.js +0 -4
- package/dist/IrisGridModelUpdater.js.map +1 -1
- package/dist/IrisGridPartitionSelector.js +0 -23
- package/dist/IrisGridPartitionSelector.js.map +1 -1
- package/dist/IrisGridProxyModel.js +9 -153
- package/dist/IrisGridProxyModel.js.map +1 -1
- package/dist/IrisGridRenderer.d.ts +1 -1
- package/dist/IrisGridRenderer.d.ts.map +1 -1
- package/dist/IrisGridRenderer.js +41 -183
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridShortcuts.js.map +1 -1
- package/dist/IrisGridTableModel.d.ts +3 -3
- package/dist/IrisGridTableModel.d.ts.map +1 -1
- package/dist/IrisGridTableModel.js +10 -90
- package/dist/IrisGridTableModel.js.map +1 -1
- package/dist/IrisGridTableModelTemplate.d.ts +3 -3
- package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
- package/dist/IrisGridTableModelTemplate.js +70 -461
- package/dist/IrisGridTableModelTemplate.js.map +1 -1
- package/dist/IrisGridTestUtils.js +0 -23
- package/dist/IrisGridTestUtils.js.map +1 -1
- package/dist/IrisGridTheme.d.ts +1 -1
- package/dist/IrisGridTheme.d.ts.map +1 -1
- package/dist/IrisGridTheme.js.map +1 -1
- package/dist/IrisGridTreeTableModel.js +3 -42
- package/dist/IrisGridTreeTableModel.js.map +1 -1
- package/dist/IrisGridUtils.d.ts +13 -7
- package/dist/IrisGridUtils.d.ts.map +1 -1
- package/dist/IrisGridUtils.js +98 -196
- package/dist/IrisGridUtils.js.map +1 -1
- package/dist/MissingKeyError.js +0 -7
- package/dist/MissingKeyError.js.map +1 -1
- package/dist/PartitionSelectorSearch.d.ts +2 -2
- package/dist/PartitionSelectorSearch.js +2 -48
- package/dist/PartitionSelectorSearch.js.map +1 -1
- package/dist/PendingDataBottomBar.d.ts +2 -2
- package/dist/PendingDataBottomBar.d.ts.map +1 -1
- package/dist/PendingDataBottomBar.js +2 -7
- package/dist/PendingDataBottomBar.js.map +1 -1
- package/dist/TableViewportUpdater.d.ts +2 -2
- package/dist/TableViewportUpdater.d.ts.map +1 -1
- package/dist/TableViewportUpdater.js +3 -29
- package/dist/TableViewportUpdater.js.map +1 -1
- package/dist/ToastBottomBar.d.ts +2 -2
- package/dist/ToastBottomBar.d.ts.map +1 -1
- package/dist/ToastBottomBar.js +2 -4
- package/dist/ToastBottomBar.js.map +1 -1
- package/dist/TreeTableViewportUpdater.js +0 -21
- package/dist/TreeTableViewportUpdater.js.map +1 -1
- package/dist/format-context-menus/CustomFormatAction.d.ts +1 -1
- package/dist/format-context-menus/CustomFormatAction.d.ts.map +1 -1
- package/dist/format-context-menus/CustomFormatAction.js +4 -25
- package/dist/format-context-menus/CustomFormatAction.js.map +1 -1
- package/dist/format-context-menus/DateTimeFormatContextMenu.js +0 -7
- package/dist/format-context-menus/DateTimeFormatContextMenu.js.map +1 -1
- package/dist/format-context-menus/DecimalFormatContextMenu.js +0 -9
- package/dist/format-context-menus/DecimalFormatContextMenu.js.map +1 -1
- package/dist/format-context-menus/FormatContextMenuUtils.js +3 -9
- package/dist/format-context-menus/FormatContextMenuUtils.js.map +1 -1
- package/dist/format-context-menus/IntegerFormatContextMenu.js +0 -8
- package/dist/format-context-menus/IntegerFormatContextMenu.js.map +1 -1
- package/dist/format-context-menus/index.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/key-handlers/ClearFilterKeyHandler.js +0 -8
- package/dist/key-handlers/ClearFilterKeyHandler.js.map +1 -1
- package/dist/key-handlers/CopyKeyHandler.js +1 -10
- package/dist/key-handlers/CopyKeyHandler.js.map +1 -1
- package/dist/key-handlers/ReverseKeyHandler.js +0 -11
- package/dist/key-handlers/ReverseKeyHandler.js.map +1 -1
- package/dist/key-handlers/index.js.map +1 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js +2 -32
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +4 -34
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +0 -20
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.js +17 -107
- package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js +0 -9
- package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js +0 -17
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridSortMouseHandler.js +2 -15
- package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
- package/dist/mousehandlers/PendingMouseHandler.js +0 -6
- 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 +6 -6
- package/dist/sidebar/AdvancedSettingsMenu.d.ts.map +1 -1
- package/dist/sidebar/AdvancedSettingsMenu.js +2 -6
- package/dist/sidebar/AdvancedSettingsMenu.js.map +1 -1
- package/dist/sidebar/AdvancedSettingsType.js +0 -2
- 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 +2 -46
- package/dist/sidebar/ChartBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.d.ts +2 -2
- package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.js +6 -58
- package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnInput.js +4 -15
- package/dist/sidebar/CustomColumnInput.js.map +1 -1
- package/dist/sidebar/InputEditor.js +5 -36
- package/dist/sidebar/InputEditor.js.map +1 -1
- package/dist/sidebar/OptionType.js +0 -2
- package/dist/sidebar/OptionType.js.map +1 -1
- package/dist/sidebar/RollupRows.d.ts +3 -3
- package/dist/sidebar/RollupRows.d.ts.map +1 -1
- package/dist/sidebar/RollupRows.js +9 -65
- package/dist/sidebar/RollupRows.js.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.js +0 -13
- package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
- package/dist/sidebar/TableCsvExporter.css +3 -0
- package/dist/sidebar/TableCsvExporter.css.map +1 -1
- package/dist/sidebar/TableCsvExporter.d.ts +12 -6
- package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
- package/dist/sidebar/TableCsvExporter.js +88 -82
- package/dist/sidebar/TableCsvExporter.js.map +1 -1
- package/dist/sidebar/TableSaver.d.ts +5 -3
- package/dist/sidebar/TableSaver.d.ts.map +1 -1
- package/dist/sidebar/TableSaver.js +52 -132
- package/dist/sidebar/TableSaver.js.map +1 -1
- package/dist/sidebar/VisibilityOrderingBuilder.d.ts +5 -4
- package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
- package/dist/sidebar/VisibilityOrderingBuilder.js +37 -116
- package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationEdit.d.ts +2 -2
- package/dist/sidebar/aggregations/AggregationEdit.d.ts.map +1 -1
- package/dist/sidebar/aggregations/AggregationEdit.js +2 -14
- package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationOperation.js +0 -2
- package/dist/sidebar/aggregations/AggregationOperation.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationUtils.js +2 -5
- package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.d.ts +4 -4
- package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.js +2 -12
- package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts +1 -1
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +2 -16
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts +1 -1
- package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionEditor.js +2 -35
- package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts +4 -4
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +2 -12
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js +0 -3
- package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts +5 -5
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +16 -26
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +3 -3
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +9 -172
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
- package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts +1 -1
- package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/RowFormatEditor.js +2 -16
- package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/StyleEditor.d.ts +1 -1
- package/dist/sidebar/conditional-formatting/StyleEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/StyleEditor.js +2 -12
- package/dist/sidebar/conditional-formatting/StyleEditor.js.map +1 -1
- package/dist/sidebar/icons/BarIcon.js +0 -3
- package/dist/sidebar/icons/BarIcon.js.map +1 -1
- package/dist/sidebar/icons/FormatColumnWhereIcon.js +2 -5
- package/dist/sidebar/icons/FormatColumnWhereIcon.js.map +1 -1
- package/dist/sidebar/icons/FormatRowWhereIcon.js +2 -5
- package/dist/sidebar/icons/FormatRowWhereIcon.js.map +1 -1
- package/dist/sidebar/icons/HistogramIcon.js +0 -3
- package/dist/sidebar/icons/HistogramIcon.js.map +1 -1
- package/dist/sidebar/icons/LineIcon.js +0 -3
- package/dist/sidebar/icons/LineIcon.js.map +1 -1
- package/dist/sidebar/icons/PieIcon.js +0 -3
- package/dist/sidebar/icons/PieIcon.js.map +1 -1
- package/dist/sidebar/icons/ScatterIcon.js +0 -3
- 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/package.json +15 -15
package/dist/IrisGrid.js
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
2
|
-
|
|
3
2
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
4
|
-
|
|
5
3
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
6
|
-
|
|
7
4
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
8
|
-
|
|
9
5
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
10
|
-
|
|
11
6
|
import React, { Component } from 'react';
|
|
12
7
|
import memoize from 'memoizee';
|
|
13
8
|
import classNames from 'classnames';
|
|
@@ -16,12 +11,12 @@ import PropTypes from 'prop-types';
|
|
|
16
11
|
import deepEqual from 'deep-equal';
|
|
17
12
|
import Log from '@deephaven/log';
|
|
18
13
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
19
|
-
import {
|
|
14
|
+
import { ContextActions, Stack, Menu, Page, Popper, ThemeExport, Tooltip, Button } from '@deephaven/components';
|
|
20
15
|
import { Grid, GridRange, GridUtils, isEditableGridModel, isExpandableGridModel } from '@deephaven/grid';
|
|
21
16
|
import { dhEye, dhFilterFilled, dhGraphLineUp, dhTriangleDownSquare, vsClose, vsCloudDownload, vsEdit, vsFilter, vsMenu, vsReply, vsRuby, vsSearch, vsSplitHorizontal, vsSymbolOperator, vsTools } from '@deephaven/icons';
|
|
22
17
|
import dh from '@deephaven/jsapi-shim';
|
|
23
18
|
import { DateUtils, Formatter, FormatterUtils, TableUtils } from '@deephaven/jsapi-utils';
|
|
24
|
-
import { assertNotNull, Pending, PromiseUtils, ValidationError } from '@deephaven/utils';
|
|
19
|
+
import { assertNotNull, copyToClipboard, Pending, PromiseUtils, ValidationError } from '@deephaven/utils';
|
|
25
20
|
import throttle from 'lodash.throttle';
|
|
26
21
|
import debounce from 'lodash.debounce';
|
|
27
22
|
import clamp from 'lodash.clamp';
|
|
@@ -61,7 +56,6 @@ var DEFAULT_AGGREGATION_SETTINGS = Object.freeze({
|
|
|
61
56
|
showOnTop: false
|
|
62
57
|
});
|
|
63
58
|
var UNFORMATTED_DATE_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS z";
|
|
64
|
-
|
|
65
59
|
function isEmptyConfig(_ref) {
|
|
66
60
|
var {
|
|
67
61
|
advancedFilters,
|
|
@@ -76,7 +70,6 @@ function isEmptyConfig(_ref) {
|
|
|
76
70
|
} = _ref;
|
|
77
71
|
return advancedFilters.size === 0 && aggregationSettings.aggregations.length === 0 && customColumns.length === 0 && quickFilters.size === 0 && reverseType === TableUtils.REVERSE_TYPE.NONE && rollupConfig == null && searchFilter == null && selectDistinctColumns.length === 0 && sorts.length === 0;
|
|
78
72
|
}
|
|
79
|
-
|
|
80
73
|
export class IrisGrid extends Component {
|
|
81
74
|
static makeQuickFilter(column, text, timeZone) {
|
|
82
75
|
try {
|
|
@@ -84,69 +77,39 @@ export class IrisGrid extends Component {
|
|
|
84
77
|
} catch (err) {
|
|
85
78
|
log.error('Error creating quick filter', err);
|
|
86
79
|
}
|
|
87
|
-
|
|
88
80
|
return null;
|
|
89
81
|
}
|
|
90
|
-
|
|
91
82
|
constructor(props) {
|
|
92
83
|
super(props);
|
|
93
|
-
|
|
94
84
|
_defineProperty(this, "grid", void 0);
|
|
95
|
-
|
|
96
85
|
_defineProperty(this, "gridWrapper", void 0);
|
|
97
|
-
|
|
98
86
|
_defineProperty(this, "lastFocusedFilterBarColumn", void 0);
|
|
99
|
-
|
|
100
87
|
_defineProperty(this, "lastLoadedConfig", void 0);
|
|
101
|
-
|
|
102
88
|
_defineProperty(this, "tooltip", void 0);
|
|
103
|
-
|
|
104
89
|
_defineProperty(this, "pending", void 0);
|
|
105
|
-
|
|
106
90
|
_defineProperty(this, "globalColumnFormats", void 0);
|
|
107
|
-
|
|
108
91
|
_defineProperty(this, "dateTimeFormatterOptions", void 0);
|
|
109
|
-
|
|
110
92
|
_defineProperty(this, "decimalFormatOptions", void 0);
|
|
111
|
-
|
|
112
93
|
_defineProperty(this, "integerFormatOptions", void 0);
|
|
113
|
-
|
|
114
94
|
_defineProperty(this, "truncateNumbersWithPound", void 0);
|
|
115
|
-
|
|
116
95
|
_defineProperty(this, "loadingScrimStartTime", void 0);
|
|
117
|
-
|
|
118
96
|
_defineProperty(this, "loadingScrimFinishTime", void 0);
|
|
119
|
-
|
|
120
97
|
_defineProperty(this, "animationFrame", void 0);
|
|
121
|
-
|
|
122
98
|
_defineProperty(this, "loadingTimer", void 0);
|
|
123
|
-
|
|
124
99
|
_defineProperty(this, "renderer", void 0);
|
|
125
|
-
|
|
126
100
|
_defineProperty(this, "tableSaver", void 0);
|
|
127
|
-
|
|
128
101
|
_defineProperty(this, "crossColumnRef", void 0);
|
|
129
|
-
|
|
130
102
|
_defineProperty(this, "isAnimating", void 0);
|
|
131
|
-
|
|
132
103
|
_defineProperty(this, "filterInputRef", void 0);
|
|
133
|
-
|
|
134
104
|
_defineProperty(this, "toggleFilterBarAction", void 0);
|
|
135
|
-
|
|
136
105
|
_defineProperty(this, "toggleSearchBarAction", void 0);
|
|
137
|
-
|
|
138
106
|
_defineProperty(this, "toggleGotoRowAction", void 0);
|
|
139
|
-
|
|
140
107
|
_defineProperty(this, "discardAction", void 0);
|
|
141
|
-
|
|
142
108
|
_defineProperty(this, "commitAction", void 0);
|
|
143
|
-
|
|
144
109
|
_defineProperty(this, "contextActions", void 0);
|
|
145
|
-
|
|
146
110
|
_defineProperty(this, "getAdvancedMenuOpenedHandler", memoize(column => this.handleAdvancedMenuOpened.bind(this, column), {
|
|
147
111
|
max: 100
|
|
148
112
|
}));
|
|
149
|
-
|
|
150
113
|
_defineProperty(this, "getCachedAdvancedFilterMenuActions", memoize((model, column, advancedFilterOptions, sortDirection, formatter) => /*#__PURE__*/React.createElement(AdvancedFilterCreator, {
|
|
151
114
|
model: model,
|
|
152
115
|
column: column,
|
|
@@ -159,10 +122,8 @@ export class IrisGrid extends Component {
|
|
|
159
122
|
}), {
|
|
160
123
|
max: 50
|
|
161
124
|
}));
|
|
162
|
-
|
|
163
125
|
_defineProperty(this, "getCachedOptionItems", memoize((isChartBuilderAvailable, isCustomColumnsAvailable, isFormatColumnsAvailable, isRollupAvailable, isTotalsAvailable, isSelectDistinctAvailable, isExportAvailable, toggleFilterBarAction, toggleSearchBarAction, toggleGotoRowAction, isFilterBarShown, showSearchBar, canDownloadCsv, canToggleSearch, showGotoRow, hasAdvancedSettings) => {
|
|
164
126
|
var optionItems = [];
|
|
165
|
-
|
|
166
127
|
if (isChartBuilderAvailable) {
|
|
167
128
|
optionItems.push({
|
|
168
129
|
type: OptionType.CHART_BUILDER,
|
|
@@ -170,13 +131,11 @@ export class IrisGrid extends Component {
|
|
|
170
131
|
icon: dhGraphLineUp
|
|
171
132
|
});
|
|
172
133
|
}
|
|
173
|
-
|
|
174
134
|
optionItems.push({
|
|
175
135
|
type: OptionType.VISIBILITY_ORDERING_BUILDER,
|
|
176
136
|
title: 'Column Visibility & Ordering',
|
|
177
137
|
icon: dhEye
|
|
178
138
|
});
|
|
179
|
-
|
|
180
139
|
if (isFormatColumnsAvailable) {
|
|
181
140
|
optionItems.push({
|
|
182
141
|
type: OptionType.CONDITIONAL_FORMATTING,
|
|
@@ -184,7 +143,6 @@ export class IrisGrid extends Component {
|
|
|
184
143
|
icon: vsEdit
|
|
185
144
|
});
|
|
186
145
|
}
|
|
187
|
-
|
|
188
146
|
if (isCustomColumnsAvailable) {
|
|
189
147
|
optionItems.push({
|
|
190
148
|
type: OptionType.CUSTOM_COLUMN_BUILDER,
|
|
@@ -192,7 +150,6 @@ export class IrisGrid extends Component {
|
|
|
192
150
|
icon: vsSplitHorizontal
|
|
193
151
|
});
|
|
194
152
|
}
|
|
195
|
-
|
|
196
153
|
if (isRollupAvailable) {
|
|
197
154
|
optionItems.push({
|
|
198
155
|
type: OptionType.ROLLUP_ROWS,
|
|
@@ -200,7 +157,6 @@ export class IrisGrid extends Component {
|
|
|
200
157
|
icon: dhTriangleDownSquare
|
|
201
158
|
});
|
|
202
159
|
}
|
|
203
|
-
|
|
204
160
|
if (isTotalsAvailable) {
|
|
205
161
|
optionItems.push({
|
|
206
162
|
type: OptionType.AGGREGATIONS,
|
|
@@ -208,7 +164,6 @@ export class IrisGrid extends Component {
|
|
|
208
164
|
icon: vsSymbolOperator
|
|
209
165
|
});
|
|
210
166
|
}
|
|
211
|
-
|
|
212
167
|
if (isSelectDistinctAvailable) {
|
|
213
168
|
optionItems.push({
|
|
214
169
|
type: OptionType.SELECT_DISTINCT,
|
|
@@ -216,7 +171,6 @@ export class IrisGrid extends Component {
|
|
|
216
171
|
icon: vsRuby
|
|
217
172
|
});
|
|
218
173
|
}
|
|
219
|
-
|
|
220
174
|
if (isExportAvailable && canDownloadCsv) {
|
|
221
175
|
optionItems.push({
|
|
222
176
|
type: OptionType.TABLE_EXPORTER,
|
|
@@ -224,7 +178,6 @@ export class IrisGrid extends Component {
|
|
|
224
178
|
icon: vsCloudDownload
|
|
225
179
|
});
|
|
226
180
|
}
|
|
227
|
-
|
|
228
181
|
if (hasAdvancedSettings) {
|
|
229
182
|
optionItems.push({
|
|
230
183
|
type: OptionType.ADVANCED_SETTINGS,
|
|
@@ -232,7 +185,6 @@ export class IrisGrid extends Component {
|
|
|
232
185
|
icon: vsTools
|
|
233
186
|
});
|
|
234
187
|
}
|
|
235
|
-
|
|
236
188
|
optionItems.push({
|
|
237
189
|
type: OptionType.QUICK_FILTERS,
|
|
238
190
|
title: 'Quick Filters',
|
|
@@ -241,7 +193,6 @@ export class IrisGrid extends Component {
|
|
|
241
193
|
isOn: isFilterBarShown,
|
|
242
194
|
onChange: toggleFilterBarAction.action
|
|
243
195
|
});
|
|
244
|
-
|
|
245
196
|
if (canToggleSearch) {
|
|
246
197
|
optionItems.push({
|
|
247
198
|
type: OptionType.SEARCH_BAR,
|
|
@@ -252,7 +203,6 @@ export class IrisGrid extends Component {
|
|
|
252
203
|
onChange: toggleSearchBarAction.action
|
|
253
204
|
});
|
|
254
205
|
}
|
|
255
|
-
|
|
256
206
|
optionItems.push({
|
|
257
207
|
type: OptionType.GOTO,
|
|
258
208
|
title: 'Go to',
|
|
@@ -265,7 +215,6 @@ export class IrisGrid extends Component {
|
|
|
265
215
|
}, {
|
|
266
216
|
max: 1
|
|
267
217
|
}));
|
|
268
|
-
|
|
269
218
|
_defineProperty(this, "getCachedHiddenColumns", memoize(hiddenColumns => hiddenColumns, {
|
|
270
219
|
max: 1,
|
|
271
220
|
normalizer: _ref2 => {
|
|
@@ -273,7 +222,6 @@ export class IrisGrid extends Component {
|
|
|
273
222
|
return hiddenColumns.join();
|
|
274
223
|
}
|
|
275
224
|
}));
|
|
276
|
-
|
|
277
225
|
_defineProperty(this, "getAggregationMap", memoize((columns, aggregations) => {
|
|
278
226
|
var aggregationMap = {};
|
|
279
227
|
aggregations.forEach(_ref3 => {
|
|
@@ -286,7 +234,6 @@ export class IrisGrid extends Component {
|
|
|
286
234
|
});
|
|
287
235
|
return aggregationMap;
|
|
288
236
|
}));
|
|
289
|
-
|
|
290
237
|
_defineProperty(this, "getOperationMap", memoize((columns, aggregations) => {
|
|
291
238
|
var operationMap = {};
|
|
292
239
|
aggregations.filter(a => !AggregationUtils.isRollupOperation(a.operation)).forEach(_ref4 => {
|
|
@@ -297,46 +244,35 @@ export class IrisGrid extends Component {
|
|
|
297
244
|
} = _ref4;
|
|
298
245
|
AggregationUtils.getOperationColumnNames(columns, operation, selected, invert).forEach(name => {
|
|
299
246
|
var _operationMap$name;
|
|
300
|
-
|
|
301
247
|
var newOperations = [...((_operationMap$name = operationMap[name]) !== null && _operationMap$name !== void 0 ? _operationMap$name : []), operation];
|
|
302
248
|
operationMap[name] = newOperations;
|
|
303
249
|
});
|
|
304
250
|
});
|
|
305
251
|
return operationMap;
|
|
306
252
|
}));
|
|
307
|
-
|
|
308
253
|
_defineProperty(this, "getOperationOrder", memoize(aggregations => aggregations.map(a => a.operation).filter(o => !AggregationUtils.isRollupOperation(o))));
|
|
309
|
-
|
|
310
254
|
_defineProperty(this, "getCachedFormatColumns", memoize((columns, rules) => getFormatColumns(columns, rules)));
|
|
311
|
-
|
|
312
255
|
_defineProperty(this, "getCachedModelColumns", memoize((model, customColumns) => model.columns));
|
|
313
|
-
|
|
314
256
|
_defineProperty(this, "getCachedPreviewFormatColumns", memoize((columns, rulesParam, preview, editIndex) => {
|
|
315
257
|
log.debug('getCachedPreviewFormatColumns', rulesParam, preview, editIndex);
|
|
316
|
-
|
|
317
258
|
if (preview !== undefined && editIndex !== undefined) {
|
|
318
259
|
var rules = [...rulesParam];
|
|
319
260
|
rules[editIndex] = preview;
|
|
320
261
|
return this.getCachedFormatColumns(columns, rules);
|
|
321
262
|
}
|
|
322
|
-
|
|
323
263
|
return this.getCachedFormatColumns(columns, rulesParam);
|
|
324
264
|
}));
|
|
325
|
-
|
|
326
265
|
_defineProperty(this, "getModelRollupConfig", memoize((originalColumns, config, aggregationSettings) => IrisGridUtils.getModelRollupConfig(originalColumns, config, aggregationSettings)));
|
|
327
|
-
|
|
328
266
|
_defineProperty(this, "getModelTotalsConfig", memoize((columns, config, aggregationSettings) => {
|
|
329
267
|
var _config$columns$lengt, _config$columns, _aggregations$length;
|
|
330
|
-
|
|
331
268
|
var {
|
|
332
269
|
aggregations,
|
|
333
270
|
showOnTop
|
|
334
|
-
} = aggregationSettings;
|
|
335
|
-
|
|
271
|
+
} = aggregationSettings;
|
|
272
|
+
// If we've got rollups, then aggregations are applied as part of that...
|
|
336
273
|
if (((_config$columns$lengt = config === null || config === void 0 ? 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 || ((_aggregations$length = aggregations === null || aggregations === void 0 ? void 0 : aggregations.length) !== null && _aggregations$length !== void 0 ? _aggregations$length : 0) === 0) {
|
|
337
274
|
return null;
|
|
338
275
|
}
|
|
339
|
-
|
|
340
276
|
var operationMap = this.getOperationMap(columns, aggregations);
|
|
341
277
|
var operationOrder = this.getOperationOrder(aggregations);
|
|
342
278
|
return {
|
|
@@ -345,7 +281,6 @@ export class IrisGrid extends Component {
|
|
|
345
281
|
showOnTop
|
|
346
282
|
};
|
|
347
283
|
}));
|
|
348
|
-
|
|
349
284
|
_defineProperty(this, "getCachedStateOverride", memoize((hoverSelectColumn, isFilterBarShown, isSelectingColumn, loadingScrimProgress, quickFilters, advancedFilters, sorts, reverseType, rollupConfig, isMenuShown) => ({
|
|
350
285
|
hoverSelectColumn,
|
|
351
286
|
isFilterBarShown,
|
|
@@ -360,11 +295,9 @@ export class IrisGrid extends Component {
|
|
|
360
295
|
}), {
|
|
361
296
|
max: 1
|
|
362
297
|
}));
|
|
363
|
-
|
|
364
298
|
_defineProperty(this, "getCachedFilter", memoize((customFilters, quickFilters, advancedFilters, partitionFilters, searchFilter) => [...(customFilters !== null && customFilters !== void 0 ? customFilters : []), ...(partitionFilters !== null && partitionFilters !== void 0 ? partitionFilters : []), ...IrisGridUtils.getFiltersFromFilterMap(quickFilters), ...IrisGridUtils.getFiltersFromFilterMap(advancedFilters), ...(searchFilter !== undefined ? [searchFilter] : [])], {
|
|
365
299
|
max: 1
|
|
366
300
|
}));
|
|
367
|
-
|
|
368
301
|
_defineProperty(this, "getCachedTheme", memoize((theme, isEditable, floatingRowCount) => _objectSpread(_objectSpread(_objectSpread({}, IrisGridTheme), theme), {}, {
|
|
369
302
|
autoSelectRow: !isEditable,
|
|
370
303
|
// We only show the row footers when we have floating rows for aggregations
|
|
@@ -372,46 +305,37 @@ export class IrisGrid extends Component {
|
|
|
372
305
|
}), {
|
|
373
306
|
max: 1
|
|
374
307
|
}));
|
|
375
|
-
|
|
376
308
|
_defineProperty(this, "getAlwaysFetchColumns", memoize((alwaysFetchColumns, columns, movedColumns, floatingLeftColumnCount, floatingRightColumnCount, draggingRange) => {
|
|
377
309
|
var floatingColumns = [];
|
|
378
|
-
|
|
379
310
|
for (var i = 0; i < floatingLeftColumnCount; i += 1) {
|
|
380
311
|
floatingColumns.push(columns[GridUtils.getModelIndex(i, movedColumns)].name);
|
|
381
312
|
}
|
|
382
|
-
|
|
383
313
|
for (var _i = 0; _i < floatingRightColumnCount; _i += 1) {
|
|
384
314
|
floatingColumns.push(columns[GridUtils.getModelIndex(columns.length - 1 - _i, movedColumns)].name);
|
|
385
315
|
}
|
|
386
|
-
|
|
387
316
|
if (draggingRange) {
|
|
388
317
|
for (var _i2 = draggingRange[0]; _i2 <= draggingRange[1]; _i2 += 1) {
|
|
389
318
|
floatingColumns.push(columns[GridUtils.getModelIndex(_i2, movedColumns)].name);
|
|
390
319
|
}
|
|
391
320
|
}
|
|
392
|
-
|
|
393
321
|
var columnSet = new Set([...alwaysFetchColumns, ...floatingColumns]);
|
|
394
322
|
return [...columnSet];
|
|
395
323
|
}));
|
|
396
|
-
|
|
397
324
|
_defineProperty(this, "updateSearchFilter", debounce((searchValue, selectedSearchColumns, columns, invertSearchColumns) => {
|
|
398
325
|
var searchFilter = CrossColumnSearch.createSearchFilter(searchValue, selectedSearchColumns, columns, invertSearchColumns);
|
|
399
326
|
this.setState({
|
|
400
327
|
searchFilter
|
|
401
328
|
});
|
|
402
329
|
}, SET_FILTER_DEBOUNCE));
|
|
403
|
-
|
|
404
330
|
_defineProperty(this, "handleConditionalFormatEditorUpdate", debounce(conditionalFormatPreview => {
|
|
405
331
|
this.setState({
|
|
406
332
|
conditionalFormatPreview
|
|
407
333
|
});
|
|
408
334
|
}, SET_CONDITIONAL_FORMAT_DEBOUNCE));
|
|
409
|
-
|
|
410
335
|
_defineProperty(this, "handleDownloadProgressUpdate", throttle((tableDownloadProgress, tableDownloadEstimatedTime) => {
|
|
411
336
|
var {
|
|
412
337
|
tableDownloadStatus
|
|
413
338
|
} = this.state;
|
|
414
|
-
|
|
415
339
|
if (tableDownloadStatus === TableCsvExporter.DOWNLOAD_STATUS.DOWNLOADING) {
|
|
416
340
|
this.setState({
|
|
417
341
|
tableDownloadProgress,
|
|
@@ -419,18 +343,15 @@ export class IrisGrid extends Component {
|
|
|
419
343
|
});
|
|
420
344
|
}
|
|
421
345
|
}, UPDATE_DOWNLOAD_THROTTLE));
|
|
422
|
-
|
|
423
346
|
_defineProperty(this, "getOverflowButtonTooltip", memoize(overflowButtonTooltipProps => {
|
|
424
347
|
if (overflowButtonTooltipProps == null) {
|
|
425
348
|
return null;
|
|
426
349
|
}
|
|
427
|
-
|
|
428
350
|
var wrapperStyle = _objectSpread(_objectSpread({
|
|
429
351
|
position: 'absolute'
|
|
430
352
|
}, overflowButtonTooltipProps), {}, {
|
|
431
353
|
pointerEvents: 'none'
|
|
432
354
|
});
|
|
433
|
-
|
|
434
355
|
var popperOptions = {
|
|
435
356
|
placement: 'left',
|
|
436
357
|
modifiers: {
|
|
@@ -447,7 +368,6 @@ export class IrisGrid extends Component {
|
|
|
447
368
|
ref: this.handleTooltipRef
|
|
448
369
|
}, "View full contents"));
|
|
449
370
|
}));
|
|
450
|
-
|
|
451
371
|
this.handleAdvancedFilterChange = this.handleAdvancedFilterChange.bind(this);
|
|
452
372
|
this.handleAdvancedFilterSortChange = this.handleAdvancedFilterSortChange.bind(this);
|
|
453
373
|
this.handleAdvancedFilterDone = this.handleAdvancedFilterDone.bind(this);
|
|
@@ -514,8 +434,9 @@ export class IrisGrid extends Component {
|
|
|
514
434
|
this.globalColumnFormats = [];
|
|
515
435
|
this.decimalFormatOptions = {};
|
|
516
436
|
this.integerFormatOptions = {};
|
|
517
|
-
this.truncateNumbersWithPound = false;
|
|
437
|
+
this.truncateNumbersWithPound = false;
|
|
518
438
|
|
|
439
|
+
// When the loading scrim started/when it should extend to the end of the screen.
|
|
519
440
|
this.renderer = new IrisGridRenderer();
|
|
520
441
|
this.tableSaver = null;
|
|
521
442
|
this.crossColumnRef = /*#__PURE__*/React.createRef();
|
|
@@ -538,7 +459,6 @@ export class IrisGrid extends Component {
|
|
|
538
459
|
var {
|
|
539
460
|
model
|
|
540
461
|
} = this.props;
|
|
541
|
-
|
|
542
462
|
if (isEditableGridModel(model) && model.isEditable && model.pendingDataMap.size > 0) {
|
|
543
463
|
this.discardPending().catch(log.error);
|
|
544
464
|
}
|
|
@@ -550,7 +470,6 @@ export class IrisGrid extends Component {
|
|
|
550
470
|
var {
|
|
551
471
|
model
|
|
552
472
|
} = this.props;
|
|
553
|
-
|
|
554
473
|
if (isEditableGridModel(model) && model.isEditable && model.pendingDataMap.size > 0 && model.pendingDataErrors.size === 0) {
|
|
555
474
|
this.commitPending().catch(log.error);
|
|
556
475
|
}
|
|
@@ -584,15 +503,11 @@ export class IrisGrid extends Component {
|
|
|
584
503
|
frozenColumns
|
|
585
504
|
} = props;
|
|
586
505
|
var keyHandlers = [new ReverseKeyHandler(this), new ClearFilterKeyHandler(this)];
|
|
587
|
-
|
|
588
506
|
if (canCopy) {
|
|
589
507
|
keyHandlers.push(new CopyKeyHandler(this));
|
|
590
508
|
}
|
|
591
|
-
|
|
592
509
|
var mouseHandlers = [new IrisGridCellOverflowMouseHandler(this), new IrisGridColumnSelectMouseHandler(this), new IrisGridColumnTooltipMouseHandler(this), new IrisGridSortMouseHandler(this), new IrisGridFilterMouseHandler(this), new IrisGridContextMenuHandler(this), new IrisGridDataSelectMouseHandler(this), new PendingMouseHandler(this)];
|
|
593
|
-
|
|
594
510
|
var _movedColumns = movedColumnsProp.length > 0 ? movedColumnsProp : _model.movedColumns;
|
|
595
|
-
|
|
596
511
|
var movedRows = movedRowsProp.length > 0 ? movedRowsProp : _model.movedRows;
|
|
597
512
|
var metricCalculator = new IrisGridMetricCalculator({
|
|
598
513
|
userColumnWidths: new Map(userColumnWidths),
|
|
@@ -600,9 +515,7 @@ export class IrisGrid extends Component {
|
|
|
600
515
|
movedColumns: _movedColumns
|
|
601
516
|
});
|
|
602
517
|
var searchColumns = _selectedSearchColumns !== null && _selectedSearchColumns !== void 0 ? _selectedSearchColumns : [];
|
|
603
|
-
|
|
604
518
|
var _searchFilter = CrossColumnSearch.createSearchFilter(_searchValue, searchColumns, _model.columns, _invertSearchColumns);
|
|
605
|
-
|
|
606
519
|
this.state = {
|
|
607
520
|
isFilterBarShown: _isFilterBarShown,
|
|
608
521
|
isSelectingPartition,
|
|
@@ -674,23 +587,19 @@ export class IrisGrid extends Component {
|
|
|
674
587
|
gotoRowError: ''
|
|
675
588
|
};
|
|
676
589
|
}
|
|
677
|
-
|
|
678
590
|
componentDidMount() {
|
|
679
591
|
var {
|
|
680
592
|
partitionColumn,
|
|
681
593
|
model
|
|
682
594
|
} = this.props;
|
|
683
595
|
var column = partitionColumn !== null && partitionColumn !== void 0 ? partitionColumn : model.columns.find(c => c.isPartitionColumn);
|
|
684
|
-
|
|
685
596
|
if (model.isFilterRequired && model.isValuesTableAvailable && column != null) {
|
|
686
597
|
this.loadPartitionsTable(column);
|
|
687
598
|
} else {
|
|
688
599
|
this.initState();
|
|
689
600
|
}
|
|
690
|
-
|
|
691
601
|
this.startListening(model);
|
|
692
602
|
}
|
|
693
|
-
|
|
694
603
|
componentDidUpdate(prevProps) {
|
|
695
604
|
var {
|
|
696
605
|
inputFilters,
|
|
@@ -700,80 +609,63 @@ export class IrisGrid extends Component {
|
|
|
700
609
|
customFilters,
|
|
701
610
|
sorts
|
|
702
611
|
} = this.props;
|
|
703
|
-
|
|
704
612
|
if (model !== prevProps.model) {
|
|
705
613
|
this.stopListening(prevProps.model);
|
|
706
614
|
this.startListening(model);
|
|
707
615
|
}
|
|
708
|
-
|
|
709
616
|
var changedInputFilters = inputFilters !== prevProps.inputFilters ? inputFilters.filter(inputFilter => !prevProps.inputFilters.includes(inputFilter)) : [];
|
|
710
|
-
|
|
711
617
|
if (changedInputFilters.length > 0) {
|
|
712
618
|
var _advancedSettings$get;
|
|
713
|
-
|
|
714
619
|
var {
|
|
715
620
|
advancedSettings
|
|
716
621
|
} = this.props;
|
|
717
622
|
var replaceExistingFilters = (_advancedSettings$get = advancedSettings.get(AdvancedSettingsType.FILTER_CONTROL_CHANGE_CLEARS_ALL_FILTERS)) !== null && _advancedSettings$get !== void 0 ? _advancedSettings$get : false;
|
|
718
|
-
|
|
719
623
|
if (replaceExistingFilters) {
|
|
720
624
|
this.clearGridInputField();
|
|
721
625
|
this.clearCrossColumSearch();
|
|
722
626
|
}
|
|
723
|
-
|
|
724
627
|
this.startLoading('Filtering...', true);
|
|
725
628
|
this.applyInputFilters(changedInputFilters, replaceExistingFilters);
|
|
726
629
|
}
|
|
727
|
-
|
|
728
630
|
if (isSelectingColumn !== prevProps.isSelectingColumn) {
|
|
729
631
|
this.resetColumnSelection();
|
|
730
632
|
}
|
|
731
|
-
|
|
732
633
|
if (settings !== prevProps.settings) {
|
|
733
634
|
this.updateFormatterSettings(settings);
|
|
734
635
|
}
|
|
735
|
-
|
|
736
636
|
if (customFilters !== prevProps.customFilters) {
|
|
737
637
|
this.startLoading('Filtering...', true);
|
|
738
638
|
}
|
|
739
|
-
|
|
740
639
|
if (sorts !== prevProps.sorts) {
|
|
741
640
|
this.updateSorts(sorts);
|
|
742
641
|
}
|
|
743
|
-
|
|
744
642
|
var {
|
|
745
643
|
loadingScrimStartTime,
|
|
746
644
|
loadingScrimFinishTime
|
|
747
645
|
} = this;
|
|
748
|
-
|
|
749
646
|
if (loadingScrimStartTime != null && loadingScrimFinishTime != null) {
|
|
750
647
|
window.requestAnimationFrame(() => {
|
|
751
648
|
var now = Date.now();
|
|
752
649
|
var currentTime = now - loadingScrimStartTime;
|
|
753
650
|
var totalTime = loadingScrimFinishTime - loadingScrimStartTime;
|
|
754
651
|
var loadingScrimProgress = Math.min(currentTime / totalTime, 1);
|
|
755
|
-
|
|
756
652
|
if (loadingScrimFinishTime < now) {
|
|
757
653
|
this.loadingScrimStartTime = undefined;
|
|
758
654
|
this.loadingScrimFinishTime = undefined;
|
|
759
655
|
}
|
|
760
|
-
|
|
761
656
|
this.setState(state => {
|
|
762
657
|
if (state.loadingScrimProgress == null) {
|
|
763
658
|
log.debug2('Ignoring scrim update because loading cancelled.');
|
|
764
659
|
return null;
|
|
765
660
|
}
|
|
766
|
-
|
|
767
661
|
return {
|
|
768
662
|
loadingScrimProgress
|
|
769
663
|
};
|
|
770
664
|
});
|
|
771
665
|
});
|
|
772
666
|
}
|
|
773
|
-
|
|
774
667
|
this.sendStateChange();
|
|
775
668
|
}
|
|
776
|
-
|
|
777
669
|
componentWillUnmount() {
|
|
778
670
|
var {
|
|
779
671
|
model
|
|
@@ -781,18 +673,14 @@ export class IrisGrid extends Component {
|
|
|
781
673
|
this.stopListening(model);
|
|
782
674
|
this.pending.cancel();
|
|
783
675
|
this.updateSearchFilter.cancel();
|
|
784
|
-
|
|
785
676
|
if (this.loadingTimer) {
|
|
786
677
|
clearTimeout(this.loadingTimer);
|
|
787
678
|
}
|
|
788
|
-
|
|
789
679
|
this.handleDownloadProgressUpdate.cancel();
|
|
790
|
-
|
|
791
680
|
if (this.animationFrame !== undefined) {
|
|
792
681
|
cancelAnimationFrame(this.animationFrame);
|
|
793
682
|
}
|
|
794
683
|
}
|
|
795
|
-
|
|
796
684
|
getValueForCell(columnIndex, rowIndex) {
|
|
797
685
|
var rawValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
798
686
|
var {
|
|
@@ -800,32 +688,25 @@ export class IrisGrid extends Component {
|
|
|
800
688
|
} = this.props;
|
|
801
689
|
var modelColumn = this.getModelColumn(columnIndex);
|
|
802
690
|
var modelRow = this.getModelRow(rowIndex);
|
|
803
|
-
|
|
804
691
|
if (rawValue && modelColumn != null && modelRow != null) {
|
|
805
692
|
var _value = model.valueForCell(modelColumn, modelRow);
|
|
806
|
-
|
|
807
693
|
if (TableUtils.isDateType(model.columns[modelColumn].type)) {
|
|
808
|
-
// The returned value is just a long value, we should return the value
|
|
694
|
+
// The returned value is just a long value, we should return the value formatted as a full date string
|
|
809
695
|
var {
|
|
810
696
|
formatter
|
|
811
697
|
} = model;
|
|
812
698
|
return dh.i18n.DateTimeFormat.format(UNFORMATTED_DATE_PATTERN, _value, dh.i18n.TimeZone.getTimeZone(formatter.timeZone));
|
|
813
699
|
}
|
|
814
|
-
|
|
815
700
|
return _value;
|
|
816
701
|
}
|
|
817
|
-
|
|
818
702
|
if (rawValue) {
|
|
819
703
|
return null;
|
|
820
704
|
}
|
|
821
|
-
|
|
822
705
|
if (modelColumn != null && modelRow != null) {
|
|
823
706
|
return model.textForCell(modelColumn, modelRow);
|
|
824
707
|
}
|
|
825
|
-
|
|
826
708
|
return '';
|
|
827
709
|
}
|
|
828
|
-
|
|
829
710
|
getModelColumn(columnIndex) {
|
|
830
711
|
var {
|
|
831
712
|
metrics
|
|
@@ -834,14 +715,11 @@ export class IrisGrid extends Component {
|
|
|
834
715
|
var {
|
|
835
716
|
modelColumns
|
|
836
717
|
} = metrics;
|
|
837
|
-
|
|
838
718
|
if (modelColumns == null) {
|
|
839
719
|
return null;
|
|
840
720
|
}
|
|
841
|
-
|
|
842
721
|
return columnIndex != null ? modelColumns.get(columnIndex) : null;
|
|
843
722
|
}
|
|
844
|
-
|
|
845
723
|
getModelRow(rowIndex) {
|
|
846
724
|
var {
|
|
847
725
|
metrics
|
|
@@ -850,38 +728,32 @@ export class IrisGrid extends Component {
|
|
|
850
728
|
var {
|
|
851
729
|
modelRows
|
|
852
730
|
} = metrics;
|
|
853
|
-
|
|
854
731
|
if (modelRows == null) {
|
|
855
732
|
return null;
|
|
856
733
|
}
|
|
857
|
-
|
|
858
734
|
return rowIndex != null ? modelRows.get(rowIndex) : null;
|
|
859
735
|
}
|
|
860
|
-
|
|
861
736
|
getTheme() {
|
|
862
737
|
var _ref5;
|
|
863
|
-
|
|
864
738
|
var {
|
|
865
739
|
model,
|
|
866
740
|
theme
|
|
867
741
|
} = this.props;
|
|
868
742
|
return this.getCachedTheme(theme, (_ref5 = isEditableGridModel(model) && model.isEditable) !== null && _ref5 !== void 0 ? _ref5 : false, model.floatingTopRowCount + model.floatingBottomRowCount);
|
|
869
743
|
}
|
|
870
|
-
|
|
871
744
|
getVisibleColumn(modelIndex) {
|
|
872
745
|
var {
|
|
873
746
|
movedColumns
|
|
874
747
|
} = this.state;
|
|
875
748
|
return GridUtils.getVisibleIndex(modelIndex, movedColumns);
|
|
876
749
|
}
|
|
750
|
+
|
|
877
751
|
/**
|
|
878
752
|
* Applies the provided input filters as quick filters,
|
|
879
753
|
* and clears any existing quickFilters or advancedFilters on that column
|
|
880
754
|
* @param inputFilters Array of input filters to apply
|
|
881
755
|
* @param replaceExisting If true, new filters will replace the existing ones, instead of merging
|
|
882
756
|
*/
|
|
883
|
-
|
|
884
|
-
|
|
885
757
|
applyInputFilters(inputFilters) {
|
|
886
758
|
var replaceExisting = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
887
759
|
var {
|
|
@@ -907,7 +779,6 @@ export class IrisGrid extends Component {
|
|
|
907
779
|
} = _ref7;
|
|
908
780
|
return columnName === name && columnType === type;
|
|
909
781
|
});
|
|
910
|
-
|
|
911
782
|
if (modelIndex >= 0) {
|
|
912
783
|
isChanged = newAdvancedFilters.delete(modelIndex) || isChanged;
|
|
913
784
|
isChanged = this.applyQuickFilter(modelIndex, value, newQuickFilters) || isChanged;
|
|
@@ -915,7 +786,6 @@ export class IrisGrid extends Component {
|
|
|
915
786
|
log.error('Unable to find column for inputFilter', name, type, value);
|
|
916
787
|
}
|
|
917
788
|
});
|
|
918
|
-
|
|
919
789
|
if (isChanged) {
|
|
920
790
|
this.setState({
|
|
921
791
|
quickFilters: newQuickFilters,
|
|
@@ -923,6 +793,7 @@ export class IrisGrid extends Component {
|
|
|
923
793
|
});
|
|
924
794
|
}
|
|
925
795
|
}
|
|
796
|
+
|
|
926
797
|
/**
|
|
927
798
|
* Applies a quick filter
|
|
928
799
|
* @param modelIndex The index in the model of the column to set
|
|
@@ -930,8 +801,6 @@ export class IrisGrid extends Component {
|
|
|
930
801
|
* @param quickFilters The quick filters map
|
|
931
802
|
* @returns True if the filters have changed because this quick filter was applied
|
|
932
803
|
*/
|
|
933
|
-
|
|
934
|
-
|
|
935
804
|
applyQuickFilter(modelIndex, value, quickFilters) {
|
|
936
805
|
var {
|
|
937
806
|
model
|
|
@@ -940,37 +809,30 @@ export class IrisGrid extends Component {
|
|
|
940
809
|
formatter
|
|
941
810
|
} = model;
|
|
942
811
|
var column = model.columns[modelIndex];
|
|
943
|
-
|
|
944
812
|
if (value != null && "".concat(value).trim().length > 0) {
|
|
945
813
|
var quickFilter = quickFilters.get(modelIndex);
|
|
946
|
-
|
|
947
814
|
if (quickFilter != null) {
|
|
948
815
|
var {
|
|
949
816
|
text
|
|
950
817
|
} = quickFilter;
|
|
951
|
-
|
|
952
818
|
if (text === value) {
|
|
953
819
|
log.debug2('Ignoring change to existing filter');
|
|
954
820
|
return false;
|
|
955
821
|
}
|
|
956
822
|
}
|
|
957
|
-
|
|
958
823
|
quickFilters.set(modelIndex, {
|
|
959
824
|
text: value,
|
|
960
825
|
filter: IrisGrid.makeQuickFilter(column, value, formatter.timeZone)
|
|
961
826
|
});
|
|
962
827
|
return true;
|
|
963
828
|
}
|
|
964
|
-
|
|
965
829
|
return quickFilters.delete(modelIndex);
|
|
966
830
|
}
|
|
967
|
-
|
|
968
831
|
setAdvancedFilterMap(advancedFilters) {
|
|
969
832
|
this.setState({
|
|
970
833
|
advancedFilters
|
|
971
834
|
});
|
|
972
835
|
}
|
|
973
|
-
|
|
974
836
|
setAdvancedFilter(modelIndex, filter, options) {
|
|
975
837
|
log.debug('Setting advanced filter', modelIndex, filter);
|
|
976
838
|
this.startLoading('Filtering...', true);
|
|
@@ -979,7 +841,6 @@ export class IrisGrid extends Component {
|
|
|
979
841
|
advancedFilters
|
|
980
842
|
} = _ref8;
|
|
981
843
|
var newAdvancedFilters = new Map(advancedFilters);
|
|
982
|
-
|
|
983
844
|
if (filter == null) {
|
|
984
845
|
newAdvancedFilters.delete(modelIndex);
|
|
985
846
|
} else {
|
|
@@ -988,20 +849,18 @@ export class IrisGrid extends Component {
|
|
|
988
849
|
options
|
|
989
850
|
});
|
|
990
851
|
}
|
|
991
|
-
|
|
992
852
|
return {
|
|
993
853
|
advancedFilters: newAdvancedFilters
|
|
994
854
|
};
|
|
995
855
|
});
|
|
996
856
|
}
|
|
857
|
+
|
|
997
858
|
/**
|
|
998
859
|
* Sets a quick filter against the provided column
|
|
999
860
|
* @param modelIndex The index in the model for the column this filter is applied to
|
|
1000
861
|
* @param filter A filter to apply to the column, or null if there was an error
|
|
1001
862
|
* @param text The original text the filter was created with
|
|
1002
863
|
*/
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
864
|
setQuickFilter(modelIndex, filter, text) {
|
|
1006
865
|
log.debug('Setting quick filter', modelIndex, filter, text);
|
|
1007
866
|
this.startLoading('Filtering...', true);
|
|
@@ -1019,54 +878,46 @@ export class IrisGrid extends Component {
|
|
|
1019
878
|
};
|
|
1020
879
|
});
|
|
1021
880
|
}
|
|
881
|
+
|
|
1022
882
|
/**
|
|
1023
883
|
* Set grid filters based on the filter map
|
|
1024
884
|
* @param filterMap Filter map
|
|
1025
885
|
*/
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
886
|
setFilterMap(filterMap) {
|
|
1029
887
|
var _advancedSettings$get2;
|
|
1030
|
-
|
|
1031
888
|
log.debug('setFilterMap', filterMap);
|
|
1032
889
|
var {
|
|
1033
890
|
advancedSettings
|
|
1034
891
|
} = this.props;
|
|
1035
892
|
var clearFiltersOnLinkerFilterUpdate = (_advancedSettings$get2 = advancedSettings.get(AdvancedSettingsType.LINK_CHANGE_CLEARS_ALL_FILTERS)) !== null && _advancedSettings$get2 !== void 0 ? _advancedSettings$get2 : false;
|
|
1036
|
-
|
|
1037
893
|
if (clearFiltersOnLinkerFilterUpdate) {
|
|
1038
894
|
this.clearAllFilters();
|
|
1039
895
|
}
|
|
1040
|
-
|
|
1041
896
|
var {
|
|
1042
897
|
model
|
|
1043
898
|
} = this.props;
|
|
1044
899
|
filterMap.forEach((_ref10, columnName) => {
|
|
1045
900
|
var {
|
|
1046
901
|
columnType,
|
|
1047
|
-
|
|
1048
|
-
value
|
|
902
|
+
filterList
|
|
1049
903
|
} = _ref10;
|
|
1050
904
|
var column = model.columns.find(c => c.name === columnName && c.type === columnType);
|
|
1051
|
-
|
|
1052
905
|
if (column == null) {
|
|
1053
906
|
return;
|
|
1054
907
|
}
|
|
1055
|
-
|
|
1056
908
|
var columnIndex = model.getColumnIndexByName(column.name);
|
|
1057
909
|
assertNotNull(columnIndex);
|
|
1058
|
-
|
|
1059
|
-
if (
|
|
910
|
+
var combinedText = IrisGridUtils.combineFiltersFromList(columnType, filterList);
|
|
911
|
+
if (combinedText.length === 0) {
|
|
1060
912
|
this.removeQuickFilter(columnIndex);
|
|
1061
|
-
} else if (value === null) {
|
|
1062
|
-
this.setQuickFilter(columnIndex, column.filter().isNull(), '=null');
|
|
1063
913
|
} else {
|
|
1064
|
-
var
|
|
1065
|
-
|
|
914
|
+
var {
|
|
915
|
+
formatter
|
|
916
|
+
} = model;
|
|
917
|
+
this.setQuickFilter(columnIndex, IrisGrid.makeQuickFilter(column, combinedText, formatter.timeZone), "".concat(combinedText));
|
|
1066
918
|
}
|
|
1067
919
|
});
|
|
1068
920
|
}
|
|
1069
|
-
|
|
1070
921
|
removeColumnFilter(modelColumn) {
|
|
1071
922
|
this.startLoading('Filtering...', true);
|
|
1072
923
|
this.setState(_ref11 => {
|
|
@@ -1084,7 +935,6 @@ export class IrisGrid extends Component {
|
|
|
1084
935
|
};
|
|
1085
936
|
});
|
|
1086
937
|
}
|
|
1087
|
-
|
|
1088
938
|
removeQuickFilter(modelColumn) {
|
|
1089
939
|
this.startLoading('Clearing Filter...', true);
|
|
1090
940
|
this.setState(_ref12 => {
|
|
@@ -1098,7 +948,6 @@ export class IrisGrid extends Component {
|
|
|
1098
948
|
};
|
|
1099
949
|
});
|
|
1100
950
|
}
|
|
1101
|
-
|
|
1102
951
|
clearAllFilters() {
|
|
1103
952
|
log.debug('Clearing all filters');
|
|
1104
953
|
var {
|
|
@@ -1106,12 +955,11 @@ export class IrisGrid extends Component {
|
|
|
1106
955
|
quickFilters,
|
|
1107
956
|
searchFilter
|
|
1108
957
|
} = this.state;
|
|
1109
|
-
|
|
1110
958
|
if (quickFilters.size === 0 && advancedFilters.size === 0 && searchFilter === null) {
|
|
1111
959
|
return;
|
|
1112
|
-
}
|
|
1113
|
-
|
|
960
|
+
}
|
|
1114
961
|
|
|
962
|
+
// if there is an active quick filter input field, reset it as well
|
|
1115
963
|
this.clearGridInputField();
|
|
1116
964
|
this.startLoading('Clearing Filters...', true);
|
|
1117
965
|
this.setState({
|
|
@@ -1121,7 +969,6 @@ export class IrisGrid extends Component {
|
|
|
1121
969
|
searchFilter: undefined
|
|
1122
970
|
});
|
|
1123
971
|
}
|
|
1124
|
-
|
|
1125
972
|
clearCrossColumSearch() {
|
|
1126
973
|
log.debug('Clearing cross-column search');
|
|
1127
974
|
this.setState({
|
|
@@ -1129,17 +976,15 @@ export class IrisGrid extends Component {
|
|
|
1129
976
|
searchFilter: undefined
|
|
1130
977
|
});
|
|
1131
978
|
}
|
|
1132
|
-
|
|
1133
979
|
clearGridInputField() {
|
|
1134
980
|
if (this.filterInputRef.current != null) {
|
|
1135
981
|
this.filterInputRef.current.setValue('');
|
|
1136
982
|
}
|
|
1137
983
|
}
|
|
984
|
+
|
|
1138
985
|
/**
|
|
1139
986
|
* Rebuilds all the current filters. Necessary if something like the time zone has changed.
|
|
1140
987
|
*/
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
988
|
rebuildFilters() {
|
|
1144
989
|
log.debug('Rebuilding filters');
|
|
1145
990
|
var {
|
|
@@ -1182,7 +1027,6 @@ export class IrisGrid extends Component {
|
|
|
1182
1027
|
advancedFilters: newAdvancedFilters
|
|
1183
1028
|
});
|
|
1184
1029
|
}
|
|
1185
|
-
|
|
1186
1030
|
setFilters(_ref13) {
|
|
1187
1031
|
var {
|
|
1188
1032
|
quickFilters,
|
|
@@ -1193,10 +1037,8 @@ export class IrisGrid extends Component {
|
|
|
1193
1037
|
advancedFilters
|
|
1194
1038
|
});
|
|
1195
1039
|
}
|
|
1196
|
-
|
|
1197
1040
|
updateFormatterSettings(settings) {
|
|
1198
1041
|
var _settings$defaultDeci, _settings$defaultInte, _settings$truncateNum;
|
|
1199
|
-
|
|
1200
1042
|
var forceUpdate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
1201
1043
|
var globalColumnFormats = FormatterUtils.getColumnFormats(settings);
|
|
1202
1044
|
var dateTimeFormatterOptions = FormatterUtils.getDateTimeFormatterOptions(settings);
|
|
@@ -1208,7 +1050,6 @@ export class IrisGrid extends Component {
|
|
|
1208
1050
|
var isDecimalFormattingChanged = !deepEqual(this.decimalFormatOptions, settings === null || settings === void 0 ? void 0 : settings.defaultDecimalFormatOptions);
|
|
1209
1051
|
var isIntegerFormattingChanged = !deepEqual(this.integerFormatOptions, defaultIntegerFormatOptions);
|
|
1210
1052
|
var isTruncateNumbersChanged = this.truncateNumbersWithPound !== truncateNumbersWithPound;
|
|
1211
|
-
|
|
1212
1053
|
if (isColumnFormatChanged || isDateFormattingChanged || isDecimalFormattingChanged || isIntegerFormattingChanged || isTruncateNumbersChanged) {
|
|
1213
1054
|
this.globalColumnFormats = globalColumnFormats;
|
|
1214
1055
|
this.dateTimeFormatterOptions = dateTimeFormatterOptions;
|
|
@@ -1216,25 +1057,20 @@ export class IrisGrid extends Component {
|
|
|
1216
1057
|
this.integerFormatOptions = defaultIntegerFormatOptions;
|
|
1217
1058
|
this.truncateNumbersWithPound = truncateNumbersWithPound;
|
|
1218
1059
|
this.updateFormatter({}, forceUpdate);
|
|
1219
|
-
|
|
1220
1060
|
if (isDateFormattingChanged && forceUpdate) {
|
|
1221
1061
|
this.rebuildFilters();
|
|
1222
1062
|
}
|
|
1223
1063
|
}
|
|
1224
1064
|
}
|
|
1225
|
-
|
|
1226
1065
|
updateFormatter(updatedFormats) {
|
|
1227
1066
|
var _this$globalColumnFor;
|
|
1228
|
-
|
|
1229
1067
|
var forceUpdate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
1230
1068
|
var {
|
|
1231
1069
|
customColumnFormatMap
|
|
1232
1070
|
} = this.state;
|
|
1233
|
-
|
|
1234
1071
|
var update = _objectSpread({
|
|
1235
1072
|
customColumnFormatMap
|
|
1236
1073
|
}, updatedFormats);
|
|
1237
|
-
|
|
1238
1074
|
var mergedColumnFormats = [...((_this$globalColumnFor = this.globalColumnFormats) !== null && _this$globalColumnFor !== void 0 ? _this$globalColumnFor : []), ...update.customColumnFormatMap.values()];
|
|
1239
1075
|
var formatter = new Formatter(mergedColumnFormats, this.dateTimeFormatterOptions, this.decimalFormatOptions, this.integerFormatOptions, this.truncateNumbersWithPound);
|
|
1240
1076
|
log.debug('updateFormatter', this.globalColumnFormats, mergedColumnFormats);
|
|
@@ -1246,14 +1082,12 @@ export class IrisGrid extends Component {
|
|
|
1246
1082
|
}
|
|
1247
1083
|
});
|
|
1248
1084
|
}
|
|
1249
|
-
|
|
1250
1085
|
initFormatter() {
|
|
1251
1086
|
var {
|
|
1252
1087
|
settings
|
|
1253
1088
|
} = this.props;
|
|
1254
1089
|
this.updateFormatterSettings(settings);
|
|
1255
1090
|
}
|
|
1256
|
-
|
|
1257
1091
|
initState() {
|
|
1258
1092
|
var {
|
|
1259
1093
|
applyInputFiltersOnInit,
|
|
@@ -1268,14 +1102,12 @@ export class IrisGrid extends Component {
|
|
|
1268
1102
|
} = this.props;
|
|
1269
1103
|
var searchColumns = selectedSearchColumns !== null && selectedSearchColumns !== void 0 ? selectedSearchColumns : [];
|
|
1270
1104
|
var searchFilter = CrossColumnSearch.createSearchFilter(searchValue, searchColumns, model.columns, invertSearchColumns);
|
|
1271
|
-
|
|
1272
1105
|
if (applyInputFiltersOnInit) {
|
|
1273
1106
|
// There may be more than one input filter on the same column with value === '' applied last
|
|
1274
1107
|
// We don't want to skip it here, so only excluding the ones that were never applied (null)
|
|
1275
1108
|
var inputFiltersWithValues = inputFilters.filter(inputFilter => inputFilter.value != null);
|
|
1276
1109
|
this.applyInputFilters(inputFiltersWithValues);
|
|
1277
1110
|
}
|
|
1278
|
-
|
|
1279
1111
|
this.setState({
|
|
1280
1112
|
sorts,
|
|
1281
1113
|
reverseType,
|
|
@@ -1285,49 +1117,36 @@ export class IrisGrid extends Component {
|
|
|
1285
1117
|
});
|
|
1286
1118
|
this.initFormatter();
|
|
1287
1119
|
}
|
|
1288
|
-
|
|
1289
1120
|
loadPartitionsTable(partitionColumn) {
|
|
1290
1121
|
var _this = this;
|
|
1291
|
-
|
|
1292
1122
|
return _asyncToGenerator(function* () {
|
|
1293
1123
|
var {
|
|
1294
1124
|
model
|
|
1295
1125
|
} = _this.props;
|
|
1296
|
-
|
|
1297
1126
|
_this.setState({
|
|
1298
1127
|
isSelectingPartition: true
|
|
1299
1128
|
});
|
|
1300
|
-
|
|
1301
1129
|
try {
|
|
1302
1130
|
var partitionTable = yield _this.pending.add(model.valuesTable(partitionColumn), resolved => resolved.close());
|
|
1303
1131
|
var _column = partitionTable.columns[0];
|
|
1304
|
-
|
|
1305
1132
|
var sort = _column.sort().desc();
|
|
1306
|
-
|
|
1307
1133
|
partitionTable.applySort([sort]);
|
|
1308
1134
|
partitionTable.setViewport(0, 0, [_column]);
|
|
1309
1135
|
var data = yield _this.pending.add(partitionTable.getViewportData());
|
|
1310
|
-
|
|
1311
1136
|
if (data.rows.length > 0) {
|
|
1312
1137
|
var row = data.rows[0];
|
|
1313
|
-
|
|
1314
1138
|
var _value2 = row.get(_column);
|
|
1315
|
-
|
|
1316
1139
|
_this.updatePartition(_value2, partitionColumn);
|
|
1317
|
-
|
|
1318
1140
|
_this.setState({
|
|
1319
1141
|
isSelectingPartition: true
|
|
1320
1142
|
});
|
|
1321
1143
|
} else {
|
|
1322
1144
|
log.info('Table does not have any data, just fetching all');
|
|
1323
|
-
|
|
1324
1145
|
_this.setState({
|
|
1325
1146
|
isSelectingPartition: false
|
|
1326
1147
|
});
|
|
1327
|
-
|
|
1328
1148
|
_this.handlePartitionFetchAll();
|
|
1329
1149
|
}
|
|
1330
|
-
|
|
1331
1150
|
_this.setState({
|
|
1332
1151
|
partitionTable,
|
|
1333
1152
|
partitionColumn
|
|
@@ -1339,7 +1158,6 @@ export class IrisGrid extends Component {
|
|
|
1339
1158
|
}
|
|
1340
1159
|
})();
|
|
1341
1160
|
}
|
|
1342
|
-
|
|
1343
1161
|
updatePartition(partition, partitionColumn) {
|
|
1344
1162
|
var partitionFilter = partitionColumn.filter().eq(dh.FilterValue.ofString(partition));
|
|
1345
1163
|
var partitionFilters = [partitionFilter];
|
|
@@ -1348,21 +1166,19 @@ export class IrisGrid extends Component {
|
|
|
1348
1166
|
partitionFilters
|
|
1349
1167
|
});
|
|
1350
1168
|
}
|
|
1351
|
-
|
|
1352
1169
|
copyCell(columnIndex, rowIndex) {
|
|
1353
1170
|
var rawValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
1354
1171
|
var {
|
|
1355
1172
|
canCopy
|
|
1356
1173
|
} = this.props;
|
|
1357
|
-
|
|
1358
1174
|
if (canCopy) {
|
|
1359
1175
|
var _value3 = String(this.getValueForCell(columnIndex, rowIndex, rawValue));
|
|
1360
|
-
|
|
1361
|
-
ContextActionUtils.copyToClipboard(_value3).catch(e => log.error('Unable to copy cell', e));
|
|
1176
|
+
copyToClipboard(_value3).catch(e => log.error('Unable to copy cell', e));
|
|
1362
1177
|
} else {
|
|
1363
1178
|
log.error('Attempted to copyCell for user without copy permission.');
|
|
1364
1179
|
}
|
|
1365
1180
|
}
|
|
1181
|
+
|
|
1366
1182
|
/**
|
|
1367
1183
|
* Copy the provided ranges to the clipboard
|
|
1368
1184
|
* @paramranges The ranges to copy
|
|
@@ -1370,8 +1186,6 @@ export class IrisGrid extends Component {
|
|
|
1370
1186
|
* @param formatValues Whether to format values or not
|
|
1371
1187
|
* @param error Error message if one occurred
|
|
1372
1188
|
*/
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
1189
|
copyRanges(ranges) {
|
|
1376
1190
|
var includeHeaders = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1377
1191
|
var formatValues = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
@@ -1385,7 +1199,6 @@ export class IrisGrid extends Component {
|
|
|
1385
1199
|
movedColumns
|
|
1386
1200
|
} = this.state;
|
|
1387
1201
|
var userColumnWidths = metricCalculator.getUserColumnWidths();
|
|
1388
|
-
|
|
1389
1202
|
if (canCopy) {
|
|
1390
1203
|
var copyOperation = {
|
|
1391
1204
|
ranges: GridRange.boundedRanges(ranges, model.columnCount, model.rowCount),
|
|
@@ -1402,24 +1215,20 @@ export class IrisGrid extends Component {
|
|
|
1402
1215
|
log.error('Attempted copyRanges for user without copy permission.');
|
|
1403
1216
|
}
|
|
1404
1217
|
}
|
|
1405
|
-
|
|
1406
1218
|
startLoading(loadingText) {
|
|
1407
1219
|
var resetRanges = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1408
1220
|
this.setState({
|
|
1409
1221
|
loadingText
|
|
1410
1222
|
});
|
|
1411
1223
|
var theme = this.getTheme();
|
|
1412
|
-
|
|
1413
1224
|
if (resetRanges && this.grid) {
|
|
1414
1225
|
this.grid.clearSelectedRanges();
|
|
1415
1226
|
this.grid.setViewState({
|
|
1416
1227
|
top: 0
|
|
1417
1228
|
}, true);
|
|
1418
1229
|
}
|
|
1419
|
-
|
|
1420
1230
|
if (this.loadingScrimStartTime == null) {
|
|
1421
1231
|
var _this$gridWrapper$get, _this$gridWrapper;
|
|
1422
|
-
|
|
1423
1232
|
var {
|
|
1424
1233
|
minScrimTransitionTime,
|
|
1425
1234
|
maxScrimTransitionTime
|
|
@@ -1440,7 +1249,6 @@ export class IrisGrid extends Component {
|
|
|
1440
1249
|
}, IrisGrid.loadingSpinnerDelay);
|
|
1441
1250
|
}
|
|
1442
1251
|
}
|
|
1443
|
-
|
|
1444
1252
|
stopLoading() {
|
|
1445
1253
|
this.loadingScrimStartTime = undefined;
|
|
1446
1254
|
this.loadingScrimFinishTime = undefined;
|
|
@@ -1449,17 +1257,15 @@ export class IrisGrid extends Component {
|
|
|
1449
1257
|
loadingScrimProgress: null,
|
|
1450
1258
|
loadingSpinnerShown: false
|
|
1451
1259
|
});
|
|
1452
|
-
|
|
1453
1260
|
if (this.loadingTimer != null) {
|
|
1454
1261
|
clearTimeout(this.loadingTimer);
|
|
1455
1262
|
this.loadingTimer = undefined;
|
|
1456
1263
|
}
|
|
1457
1264
|
}
|
|
1265
|
+
|
|
1458
1266
|
/**
|
|
1459
1267
|
* Rolls back the table state to the last known safe state, or if that's not available then clears all sorts/filters/custom columns.
|
|
1460
1268
|
*/
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
1269
|
rollback() {
|
|
1464
1270
|
if (this.lastLoadedConfig) {
|
|
1465
1271
|
log.debug('loading last loading config', this.lastLoadedConfig);
|
|
@@ -1500,36 +1306,30 @@ export class IrisGrid extends Component {
|
|
|
1500
1306
|
});
|
|
1501
1307
|
}
|
|
1502
1308
|
}
|
|
1309
|
+
|
|
1503
1310
|
/**
|
|
1504
1311
|
* Check if we can rollback the current state to a safe state.
|
|
1505
1312
|
* @returns true if there's a previously known safe state or if some of the current state isn't empty.
|
|
1506
1313
|
*/
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
1314
|
canRollback() {
|
|
1510
1315
|
return this.lastLoadedConfig != null || !isEmptyConfig(this.state);
|
|
1511
1316
|
}
|
|
1512
|
-
|
|
1513
1317
|
startListening(model) {
|
|
1514
1318
|
model.addEventListener(IrisGridModel.EVENT.UPDATED, this.handleUpdate);
|
|
1515
1319
|
model.addEventListener(IrisGridModel.EVENT.REQUEST_FAILED, this.handleRequestFailed);
|
|
1516
1320
|
model.addEventListener(IrisGridModel.EVENT.COLUMNS_CHANGED, this.handleCustomColumnsChanged);
|
|
1517
1321
|
model.addEventListener(IrisGridModel.EVENT.PENDING_DATA_UPDATED, this.handlePendingDataUpdated);
|
|
1518
1322
|
}
|
|
1519
|
-
|
|
1520
1323
|
stopListening(model) {
|
|
1521
1324
|
model.removeEventListener(IrisGridModel.EVENT.UPDATED, this.handleUpdate);
|
|
1522
1325
|
model.removeEventListener(IrisGridModel.EVENT.REQUEST_FAILED, this.handleRequestFailed);
|
|
1523
1326
|
model.removeEventListener(IrisGridModel.EVENT.COLUMNS_CHANGED, this.handleCustomColumnsChanged);
|
|
1524
1327
|
model.removeEventListener(IrisGridModel.EVENT.PENDING_DATA_UPDATED, this.handlePendingDataUpdated);
|
|
1525
1328
|
}
|
|
1526
|
-
|
|
1527
1329
|
focus() {
|
|
1528
1330
|
var _this$grid;
|
|
1529
|
-
|
|
1530
1331
|
(_this$grid = this.grid) === null || _this$grid === void 0 ? void 0 : _this$grid.focus();
|
|
1531
1332
|
}
|
|
1532
|
-
|
|
1533
1333
|
focusFilterBar(column) {
|
|
1534
1334
|
var {
|
|
1535
1335
|
movedColumns
|
|
@@ -1541,14 +1341,12 @@ export class IrisGrid extends Component {
|
|
|
1541
1341
|
columnCount
|
|
1542
1342
|
} = model;
|
|
1543
1343
|
var modelColumn = GridUtils.getModelIndex(column, movedColumns);
|
|
1544
|
-
|
|
1545
1344
|
if (column == null || column < 0 || columnCount <= column || !model.isFilterable(modelColumn)) {
|
|
1546
1345
|
this.setState({
|
|
1547
1346
|
focusedFilterBarColumn: null
|
|
1548
1347
|
});
|
|
1549
1348
|
return;
|
|
1550
1349
|
}
|
|
1551
|
-
|
|
1552
1350
|
var {
|
|
1553
1351
|
metricCalculator,
|
|
1554
1352
|
metrics
|
|
@@ -1559,16 +1357,13 @@ export class IrisGrid extends Component {
|
|
|
1559
1357
|
rightVisible,
|
|
1560
1358
|
lastLeft
|
|
1561
1359
|
} = metrics;
|
|
1562
|
-
|
|
1563
1360
|
if (column < left) {
|
|
1564
1361
|
var _this$grid2;
|
|
1565
|
-
|
|
1566
1362
|
(_this$grid2 = this.grid) === null || _this$grid2 === void 0 ? void 0 : _this$grid2.setViewState({
|
|
1567
1363
|
left: column
|
|
1568
1364
|
}, true);
|
|
1569
1365
|
} else if (rightVisible < column) {
|
|
1570
1366
|
var _this$grid3, _this$grid4;
|
|
1571
|
-
|
|
1572
1367
|
var metricState = (_this$grid3 = this.grid) === null || _this$grid3 === void 0 ? void 0 : _this$grid3.getMetricState();
|
|
1573
1368
|
assertNotNull(metricState);
|
|
1574
1369
|
var newLeft = metricCalculator.getLastLeft(metricState, column, metricCalculator.getVisibleWidth(metricState));
|
|
@@ -1577,17 +1372,14 @@ export class IrisGrid extends Component {
|
|
|
1577
1372
|
leftOffset: 0
|
|
1578
1373
|
}, true);
|
|
1579
1374
|
}
|
|
1580
|
-
|
|
1581
1375
|
this.lastFocusedFilterBarColumn = column;
|
|
1582
1376
|
this.setState({
|
|
1583
1377
|
focusedFilterBarColumn: column,
|
|
1584
1378
|
isFilterBarShown: true
|
|
1585
1379
|
});
|
|
1586
1380
|
}
|
|
1587
|
-
|
|
1588
1381
|
hideColumnByVisibleIndex(columnVisibleIndex) {
|
|
1589
1382
|
var _this$grid5;
|
|
1590
|
-
|
|
1591
1383
|
var {
|
|
1592
1384
|
metricCalculator,
|
|
1593
1385
|
movedColumns
|
|
@@ -1595,7 +1387,6 @@ export class IrisGrid extends Component {
|
|
|
1595
1387
|
metricCalculator.setColumnWidth(GridUtils.getModelIndex(columnVisibleIndex, movedColumns), 0);
|
|
1596
1388
|
(_this$grid5 = this.grid) === null || _this$grid5 === void 0 ? void 0 : _this$grid5.forceUpdate();
|
|
1597
1389
|
}
|
|
1598
|
-
|
|
1599
1390
|
freezeColumnByColumnName(columnName) {
|
|
1600
1391
|
var {
|
|
1601
1392
|
frozenColumns,
|
|
@@ -1616,7 +1407,6 @@ export class IrisGrid extends Component {
|
|
|
1616
1407
|
movedColumns: newMovedColumns
|
|
1617
1408
|
});
|
|
1618
1409
|
}
|
|
1619
|
-
|
|
1620
1410
|
unFreezeColumnByColumnName(columnName) {
|
|
1621
1411
|
var {
|
|
1622
1412
|
frozenColumns,
|
|
@@ -1630,22 +1420,20 @@ export class IrisGrid extends Component {
|
|
|
1630
1420
|
allFrozenColumns.delete(columnName);
|
|
1631
1421
|
var modelIndex = model.getColumnIndexByName(columnName);
|
|
1632
1422
|
assertNotNull(modelIndex);
|
|
1633
|
-
var visibleIndex = GridUtils.getVisibleIndex(modelIndex, movedColumns);
|
|
1423
|
+
var visibleIndex = GridUtils.getVisibleIndex(modelIndex, movedColumns);
|
|
1634
1424
|
|
|
1425
|
+
// Move to after remaining frozen columns and front columns
|
|
1635
1426
|
var newMovedColumns = GridUtils.moveItem(visibleIndex, allFrozenColumns.size + model.frontColumns.length, movedColumns);
|
|
1636
1427
|
this.setState({
|
|
1637
1428
|
frozenColumns: [...allFrozenColumns],
|
|
1638
1429
|
movedColumns: newMovedColumns
|
|
1639
1430
|
});
|
|
1640
1431
|
}
|
|
1641
|
-
|
|
1642
1432
|
handleColumnVisibilityChanged(modelIndexes, visibilityOption) {
|
|
1643
1433
|
var _this$grid6;
|
|
1644
|
-
|
|
1645
1434
|
var {
|
|
1646
1435
|
metricCalculator
|
|
1647
1436
|
} = this.state;
|
|
1648
|
-
|
|
1649
1437
|
if (visibilityOption === VisibilityOrderingBuilder.VISIBILITY_OPTIONS.SHOW) {
|
|
1650
1438
|
modelIndexes.forEach(modelIndex => {
|
|
1651
1439
|
metricCalculator.resetColumnWidth(modelIndex);
|
|
@@ -1655,10 +1443,8 @@ export class IrisGrid extends Component {
|
|
|
1655
1443
|
metricCalculator.setColumnWidth(modelIndex, 0);
|
|
1656
1444
|
});
|
|
1657
1445
|
}
|
|
1658
|
-
|
|
1659
1446
|
(_this$grid6 = this.grid) === null || _this$grid6 === void 0 ? void 0 : _this$grid6.forceUpdate();
|
|
1660
1447
|
}
|
|
1661
|
-
|
|
1662
1448
|
handleCrossColumnSearch(searchValue, selectedSearchColumns, invertSearchColumns) {
|
|
1663
1449
|
var {
|
|
1664
1450
|
model
|
|
@@ -1670,29 +1456,23 @@ export class IrisGrid extends Component {
|
|
|
1670
1456
|
invertSearchColumns
|
|
1671
1457
|
});
|
|
1672
1458
|
}
|
|
1673
|
-
|
|
1674
1459
|
handleAnimationLoop() {
|
|
1675
1460
|
var _this$grid7, _this$grid8;
|
|
1676
|
-
|
|
1677
1461
|
(_this$grid7 = this.grid) === null || _this$grid7 === void 0 ? void 0 : _this$grid7.updateCanvasScale();
|
|
1678
1462
|
(_this$grid8 = this.grid) === null || _this$grid8 === void 0 ? void 0 : _this$grid8.updateCanvas();
|
|
1679
|
-
|
|
1680
1463
|
if (this.isAnimating) {
|
|
1681
1464
|
this.animationFrame = requestAnimationFrame(this.handleAnimationLoop);
|
|
1682
1465
|
}
|
|
1683
1466
|
}
|
|
1684
|
-
|
|
1685
1467
|
handleAnimationStart() {
|
|
1686
1468
|
log.debug2('handleAnimationStart');
|
|
1687
1469
|
this.isAnimating = true;
|
|
1688
1470
|
this.animationFrame = requestAnimationFrame(this.handleAnimationLoop);
|
|
1689
1471
|
}
|
|
1690
|
-
|
|
1691
1472
|
handleAnimationEnd() {
|
|
1692
1473
|
log.debug2('handleAnimationEnd');
|
|
1693
1474
|
this.isAnimating = false;
|
|
1694
1475
|
}
|
|
1695
|
-
|
|
1696
1476
|
handlePartitionAppend(value) {
|
|
1697
1477
|
var {
|
|
1698
1478
|
onPartitionAppend
|
|
@@ -1700,61 +1480,56 @@ export class IrisGrid extends Component {
|
|
|
1700
1480
|
var {
|
|
1701
1481
|
partitionColumn
|
|
1702
1482
|
} = this.state;
|
|
1483
|
+
if (!partitionColumn) {
|
|
1484
|
+
return;
|
|
1485
|
+
}
|
|
1703
1486
|
onPartitionAppend(partitionColumn, value);
|
|
1704
1487
|
}
|
|
1705
|
-
|
|
1706
1488
|
handlePartitionChange(partition) {
|
|
1707
1489
|
var {
|
|
1708
1490
|
partitionColumn
|
|
1709
1491
|
} = this.state;
|
|
1492
|
+
if (!partitionColumn) {
|
|
1493
|
+
return;
|
|
1494
|
+
}
|
|
1710
1495
|
this.updatePartition(partition, partitionColumn);
|
|
1711
1496
|
}
|
|
1712
|
-
|
|
1713
1497
|
handlePartitionFetchAll() {
|
|
1714
1498
|
this.setState({
|
|
1715
1499
|
partitionFilters: [],
|
|
1716
1500
|
isSelectingPartition: false
|
|
1717
1501
|
});
|
|
1718
1502
|
}
|
|
1719
|
-
|
|
1720
1503
|
handlePartitionDone() {
|
|
1721
1504
|
this.setState({
|
|
1722
1505
|
isSelectingPartition: false
|
|
1723
1506
|
});
|
|
1724
1507
|
}
|
|
1725
|
-
|
|
1726
1508
|
handleTableLoadError(error) {
|
|
1727
1509
|
if (PromiseUtils.isCanceled(error)) {
|
|
1728
1510
|
return;
|
|
1729
1511
|
}
|
|
1730
|
-
|
|
1731
1512
|
log.error(error);
|
|
1732
1513
|
var {
|
|
1733
1514
|
onError
|
|
1734
1515
|
} = this.props;
|
|
1735
1516
|
onError(error);
|
|
1736
1517
|
}
|
|
1737
|
-
|
|
1738
1518
|
showAllColumns() {
|
|
1739
1519
|
var _this$grid9;
|
|
1740
|
-
|
|
1741
1520
|
var {
|
|
1742
1521
|
metricCalculator
|
|
1743
1522
|
} = this.state;
|
|
1744
1523
|
var userColumnWidths = metricCalculator.getUserColumnWidths();
|
|
1745
1524
|
var entries = [...userColumnWidths.entries()];
|
|
1746
|
-
|
|
1747
1525
|
for (var i = 0; i < entries.length; i += 1) {
|
|
1748
1526
|
var [modelIndex, columnWidth] = entries[i];
|
|
1749
|
-
|
|
1750
1527
|
if (columnWidth === 0) {
|
|
1751
1528
|
metricCalculator.resetColumnWidth(modelIndex);
|
|
1752
1529
|
}
|
|
1753
1530
|
}
|
|
1754
|
-
|
|
1755
1531
|
(_this$grid9 = this.grid) === null || _this$grid9 === void 0 ? void 0 : _this$grid9.forceUpdate();
|
|
1756
1532
|
}
|
|
1757
|
-
|
|
1758
1533
|
toggleSort(columnIndex, addToExisting) {
|
|
1759
1534
|
log.info('Toggling sort for column', columnIndex);
|
|
1760
1535
|
var {
|
|
@@ -1768,20 +1543,16 @@ export class IrisGrid extends Component {
|
|
|
1768
1543
|
var sorts = TableUtils.toggleSortForColumn(currentSorts, model.columns, modelColumn, addToExisting);
|
|
1769
1544
|
this.updateSorts(sorts);
|
|
1770
1545
|
}
|
|
1771
|
-
|
|
1772
1546
|
updateSorts(sorts) {
|
|
1773
1547
|
var _this$grid10;
|
|
1774
|
-
|
|
1775
1548
|
this.startLoading('Sorting...');
|
|
1776
1549
|
this.setState({
|
|
1777
1550
|
sorts
|
|
1778
1551
|
});
|
|
1779
1552
|
(_this$grid10 = this.grid) === null || _this$grid10 === void 0 ? void 0 : _this$grid10.forceUpdate();
|
|
1780
1553
|
}
|
|
1781
|
-
|
|
1782
1554
|
sortColumn(modelColumn) {
|
|
1783
1555
|
var _this$grid11;
|
|
1784
|
-
|
|
1785
1556
|
var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TableUtils.sortDirection.none;
|
|
1786
1557
|
var isAbs = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
1787
1558
|
var addToExisting = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
@@ -1796,24 +1567,20 @@ export class IrisGrid extends Component {
|
|
|
1796
1567
|
});
|
|
1797
1568
|
(_this$grid11 = this.grid) === null || _this$grid11 === void 0 ? void 0 : _this$grid11.forceUpdate();
|
|
1798
1569
|
}
|
|
1799
|
-
|
|
1800
1570
|
reverse(reverseType) {
|
|
1801
1571
|
var _this$grid12;
|
|
1802
|
-
|
|
1803
1572
|
this.startLoading('Reversing...');
|
|
1804
1573
|
this.setState({
|
|
1805
1574
|
reverseType
|
|
1806
1575
|
});
|
|
1807
1576
|
(_this$grid12 = this.grid) === null || _this$grid12 === void 0 ? void 0 : _this$grid12.forceUpdate();
|
|
1808
1577
|
}
|
|
1809
|
-
|
|
1810
1578
|
isReversible() {
|
|
1811
1579
|
var {
|
|
1812
1580
|
model
|
|
1813
1581
|
} = this.props;
|
|
1814
1582
|
return model.isReversible;
|
|
1815
1583
|
}
|
|
1816
|
-
|
|
1817
1584
|
toggleFilterBar() {
|
|
1818
1585
|
var focusIndex = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.lastFocusedFilterBarColumn;
|
|
1819
1586
|
var {
|
|
@@ -1823,7 +1590,6 @@ export class IrisGrid extends Component {
|
|
|
1823
1590
|
this.setState({
|
|
1824
1591
|
isFilterBarShown
|
|
1825
1592
|
});
|
|
1826
|
-
|
|
1827
1593
|
if (isFilterBarShown) {
|
|
1828
1594
|
if (focusIndex != null) {
|
|
1829
1595
|
this.focusFilterBar(focusIndex);
|
|
@@ -1835,82 +1601,64 @@ export class IrisGrid extends Component {
|
|
|
1835
1601
|
var {
|
|
1836
1602
|
columnCount
|
|
1837
1603
|
} = _model2;
|
|
1838
|
-
|
|
1839
1604
|
for (var i = 0; i < columnCount; i += 1) {
|
|
1840
1605
|
var modelColumn = this.getModelColumn(i);
|
|
1841
|
-
|
|
1842
1606
|
if (modelColumn != null) {
|
|
1843
1607
|
var _column2 = _model2.columns[modelColumn];
|
|
1844
|
-
|
|
1845
1608
|
if (_column2 != null && TableUtils.isTextType(_column2.type)) {
|
|
1846
1609
|
columnIndex = i;
|
|
1847
1610
|
break;
|
|
1848
1611
|
}
|
|
1849
1612
|
}
|
|
1850
1613
|
}
|
|
1851
|
-
|
|
1852
1614
|
this.focusFilterBar(columnIndex);
|
|
1853
1615
|
}
|
|
1854
1616
|
} else {
|
|
1855
1617
|
var _this$grid13;
|
|
1856
|
-
|
|
1857
1618
|
(_this$grid13 = this.grid) === null || _this$grid13 === void 0 ? void 0 : _this$grid13.focus();
|
|
1858
1619
|
}
|
|
1859
1620
|
}
|
|
1860
|
-
|
|
1861
1621
|
isTableSearchAvailable() {
|
|
1862
1622
|
var _model$layoutHints, _dh$SearchDisplayMode, _dh$SearchDisplayMode2;
|
|
1863
|
-
|
|
1864
1623
|
var {
|
|
1865
1624
|
model,
|
|
1866
1625
|
canToggleSearch
|
|
1867
1626
|
} = this.props;
|
|
1868
1627
|
var searchDisplayMode = model === null || model === void 0 ? void 0 : (_model$layoutHints = model.layoutHints) === null || _model$layoutHints === void 0 ? void 0 : _model$layoutHints.searchDisplayMode;
|
|
1869
|
-
|
|
1870
1628
|
if (searchDisplayMode === ((_dh$SearchDisplayMode = dh.SearchDisplayMode) === null || _dh$SearchDisplayMode === void 0 ? void 0 : _dh$SearchDisplayMode.SEARCH_DISPLAY_HIDE)) {
|
|
1871
1629
|
return false;
|
|
1872
1630
|
}
|
|
1873
|
-
|
|
1874
1631
|
if (searchDisplayMode === ((_dh$SearchDisplayMode2 = dh.SearchDisplayMode) === null || _dh$SearchDisplayMode2 === void 0 ? void 0 : _dh$SearchDisplayMode2.SEARCH_DISPLAY_SHOW)) {
|
|
1875
1632
|
return true;
|
|
1876
1633
|
}
|
|
1877
|
-
|
|
1878
1634
|
return canToggleSearch;
|
|
1879
1635
|
}
|
|
1880
|
-
|
|
1881
1636
|
toggleSearchBar() {
|
|
1882
1637
|
var {
|
|
1883
1638
|
showSearchBar
|
|
1884
1639
|
} = this.state;
|
|
1885
|
-
|
|
1886
1640
|
if (!this.isTableSearchAvailable()) {
|
|
1887
1641
|
return;
|
|
1888
1642
|
}
|
|
1889
|
-
|
|
1890
1643
|
var update = !showSearchBar;
|
|
1891
1644
|
this.setState({
|
|
1892
1645
|
showSearchBar: update
|
|
1893
1646
|
}, () => {
|
|
1894
1647
|
var _this$crossColumnRef;
|
|
1895
|
-
|
|
1896
1648
|
if (update && (_this$crossColumnRef = this.crossColumnRef) !== null && _this$crossColumnRef !== void 0 && _this$crossColumnRef.current) {
|
|
1897
1649
|
var _this$crossColumnRef2;
|
|
1898
|
-
|
|
1899
1650
|
(_this$crossColumnRef2 = this.crossColumnRef) === null || _this$crossColumnRef2 === void 0 ? void 0 : _this$crossColumnRef2.current.focus();
|
|
1900
1651
|
} else {
|
|
1901
1652
|
var _this$grid14;
|
|
1902
|
-
|
|
1903
1653
|
(_this$grid14 = this.grid) === null || _this$grid14 === void 0 ? void 0 : _this$grid14.focus();
|
|
1904
1654
|
}
|
|
1905
1655
|
});
|
|
1906
1656
|
}
|
|
1907
|
-
|
|
1908
1657
|
toggleGotoRow() {
|
|
1909
1658
|
var row = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
1910
1659
|
var {
|
|
1911
1660
|
isGotoRowShown
|
|
1912
1661
|
} = this.state;
|
|
1913
|
-
|
|
1914
1662
|
if (row) {
|
|
1915
1663
|
// if invoked with a row, keep open instead of toggle
|
|
1916
1664
|
this.setState({
|
|
@@ -1920,49 +1668,38 @@ export class IrisGrid extends Component {
|
|
|
1920
1668
|
});
|
|
1921
1669
|
return;
|
|
1922
1670
|
}
|
|
1923
|
-
|
|
1924
1671
|
this.setState({
|
|
1925
1672
|
isGotoRowShown: !isGotoRowShown,
|
|
1926
1673
|
gotoRow: '',
|
|
1927
1674
|
gotoRowError: ''
|
|
1928
1675
|
});
|
|
1929
1676
|
}
|
|
1930
|
-
|
|
1931
1677
|
commitPending() {
|
|
1932
1678
|
var _this2 = this;
|
|
1933
|
-
|
|
1934
1679
|
return _asyncToGenerator(function* () {
|
|
1935
1680
|
var _document, _document$activeEleme;
|
|
1936
|
-
|
|
1937
1681
|
var {
|
|
1938
1682
|
model
|
|
1939
1683
|
} = _this2.props;
|
|
1940
|
-
|
|
1941
1684
|
if (!isEditableGridModel(model) || !model.isEditable) {
|
|
1942
1685
|
throw new Error('Cannot save, table is not editable');
|
|
1943
1686
|
}
|
|
1944
|
-
|
|
1945
1687
|
var {
|
|
1946
1688
|
pendingSavePromise
|
|
1947
1689
|
} = _this2.state;
|
|
1948
|
-
|
|
1949
1690
|
if (pendingSavePromise != null) {
|
|
1950
1691
|
throw new Error('Save already in progress');
|
|
1951
1692
|
}
|
|
1952
|
-
|
|
1953
1693
|
var containsGridCellInputField = (_document = document) === null || _document === void 0 ? void 0 : (_document$activeEleme = _document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.classList.contains('grid-cell-input-field');
|
|
1954
|
-
|
|
1955
1694
|
if (containsGridCellInputField != null && containsGridCellInputField) {
|
|
1956
1695
|
var _this2$grid;
|
|
1957
|
-
|
|
1958
1696
|
if (document.activeElement != null && document.activeElement.classList.contains('error')) {
|
|
1959
1697
|
throw new ValidationError('Current input is invalid');
|
|
1960
|
-
}
|
|
1961
|
-
|
|
1698
|
+
}
|
|
1962
1699
|
|
|
1700
|
+
// Focus the grid again to commit any pending input changes
|
|
1963
1701
|
(_this2$grid = _this2.grid) === null || _this2$grid === void 0 ? void 0 : _this2$grid.focus();
|
|
1964
1702
|
}
|
|
1965
|
-
|
|
1966
1703
|
var newPendingSavePromise = _this2.pending.add(model.commitPending()).then(() => {
|
|
1967
1704
|
_this2.setState({
|
|
1968
1705
|
pendingSaveError: null,
|
|
@@ -1976,27 +1713,21 @@ export class IrisGrid extends Component {
|
|
|
1976
1713
|
});
|
|
1977
1714
|
}
|
|
1978
1715
|
});
|
|
1979
|
-
|
|
1980
1716
|
_this2.setState({
|
|
1981
1717
|
pendingSavePromise: newPendingSavePromise
|
|
1982
1718
|
});
|
|
1983
|
-
|
|
1984
1719
|
return newPendingSavePromise;
|
|
1985
1720
|
})();
|
|
1986
1721
|
}
|
|
1987
|
-
|
|
1988
1722
|
discardPending() {
|
|
1989
1723
|
var _this3 = this;
|
|
1990
|
-
|
|
1991
1724
|
return _asyncToGenerator(function* () {
|
|
1992
1725
|
var {
|
|
1993
1726
|
pendingSavePromise
|
|
1994
1727
|
} = _this3.state;
|
|
1995
|
-
|
|
1996
1728
|
if (pendingSavePromise != null) {
|
|
1997
1729
|
throw new Error('Cannot cancel a save in progress');
|
|
1998
1730
|
}
|
|
1999
|
-
|
|
2000
1731
|
_this3.setState({
|
|
2001
1732
|
pendingSavePromise: null,
|
|
2002
1733
|
pendingSaveError: null,
|
|
@@ -2005,24 +1736,23 @@ export class IrisGrid extends Component {
|
|
|
2005
1736
|
});
|
|
2006
1737
|
})();
|
|
2007
1738
|
}
|
|
1739
|
+
|
|
2008
1740
|
/**
|
|
2009
1741
|
* Select the passed in column and notify listener
|
|
2010
1742
|
* @param column The column in this table to link
|
|
2011
1743
|
*/
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
1744
|
selectColumn(column) {
|
|
2015
1745
|
var {
|
|
2016
1746
|
onColumnSelected
|
|
2017
1747
|
} = this.props;
|
|
2018
1748
|
onColumnSelected(column);
|
|
2019
1749
|
}
|
|
1750
|
+
|
|
2020
1751
|
/**
|
|
2021
1752
|
* Select all the data for a given row and notify listener
|
|
2022
1753
|
*/
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
1754
|
selectData(columnIndex, rowIndex) {
|
|
1755
|
+
var _this4 = this;
|
|
2026
1756
|
var {
|
|
2027
1757
|
model
|
|
2028
1758
|
} = this.props;
|
|
@@ -2031,7 +1761,6 @@ export class IrisGrid extends Component {
|
|
|
2031
1761
|
groupedColumns
|
|
2032
1762
|
} = model;
|
|
2033
1763
|
var dataMap = {};
|
|
2034
|
-
|
|
2035
1764
|
var _loop = function _loop(i) {
|
|
2036
1765
|
var column = columns[i];
|
|
2037
1766
|
var {
|
|
@@ -2040,6 +1769,7 @@ export class IrisGrid extends Component {
|
|
|
2040
1769
|
} = column;
|
|
2041
1770
|
var value = model.valueForCell(i, rowIndex);
|
|
2042
1771
|
var text = model.textForCell(i, rowIndex);
|
|
1772
|
+
var visibleIndex = _this4.getVisibleColumn(i);
|
|
2043
1773
|
var isExpandable = isExpandableGridModel(model) && model.isRowExpandable(rowIndex);
|
|
2044
1774
|
var isGrouped = groupedColumns.find(c => c.name === name) != null;
|
|
2045
1775
|
dataMap[name] = {
|
|
@@ -2047,20 +1777,18 @@ export class IrisGrid extends Component {
|
|
|
2047
1777
|
text,
|
|
2048
1778
|
type,
|
|
2049
1779
|
isGrouped,
|
|
2050
|
-
isExpandable
|
|
1780
|
+
isExpandable,
|
|
1781
|
+
visibleIndex
|
|
2051
1782
|
};
|
|
2052
1783
|
};
|
|
2053
|
-
|
|
2054
1784
|
for (var i = 0; i < columns.length; i += 1) {
|
|
2055
1785
|
_loop(i);
|
|
2056
1786
|
}
|
|
2057
|
-
|
|
2058
1787
|
var {
|
|
2059
1788
|
onDataSelected
|
|
2060
1789
|
} = this.props;
|
|
2061
1790
|
onDataSelected(rowIndex, dataMap);
|
|
2062
1791
|
}
|
|
2063
|
-
|
|
2064
1792
|
handleAdvancedFilterChange(column, filter, options) {
|
|
2065
1793
|
var {
|
|
2066
1794
|
model
|
|
@@ -2069,10 +1797,8 @@ export class IrisGrid extends Component {
|
|
|
2069
1797
|
assertNotNull(index);
|
|
2070
1798
|
this.setAdvancedFilter(index, filter, options);
|
|
2071
1799
|
}
|
|
2072
|
-
|
|
2073
1800
|
handleAdvancedFilterSortChange(column, direction) {
|
|
2074
1801
|
var _this$grid15;
|
|
2075
|
-
|
|
2076
1802
|
var addToExisting = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
2077
1803
|
var {
|
|
2078
1804
|
model
|
|
@@ -2081,7 +1807,6 @@ export class IrisGrid extends Component {
|
|
|
2081
1807
|
assertNotNull(columnIndex);
|
|
2082
1808
|
var oldSort = TableUtils.getSortForColumn(model.sort, columnIndex);
|
|
2083
1809
|
var newSort = null;
|
|
2084
|
-
|
|
2085
1810
|
if (oldSort == null || oldSort.direction !== direction) {
|
|
2086
1811
|
if (direction === TableUtils.sortDirection.descending) {
|
|
2087
1812
|
newSort = column.sort().desc();
|
|
@@ -2089,7 +1814,6 @@ export class IrisGrid extends Component {
|
|
|
2089
1814
|
newSort = column.sort().asc();
|
|
2090
1815
|
}
|
|
2091
1816
|
}
|
|
2092
|
-
|
|
2093
1817
|
var sorts = TableUtils.setSortForColumn(model.sort, columnIndex, newSort, addToExisting);
|
|
2094
1818
|
log.info('Setting table sorts', sorts);
|
|
2095
1819
|
this.startLoading('Sorting...');
|
|
@@ -2098,42 +1822,33 @@ export class IrisGrid extends Component {
|
|
|
2098
1822
|
});
|
|
2099
1823
|
(_this$grid15 = this.grid) === null || _this$grid15 === void 0 ? void 0 : _this$grid15.forceUpdate();
|
|
2100
1824
|
}
|
|
2101
|
-
|
|
2102
1825
|
handleAdvancedFilterDone() {
|
|
2103
1826
|
var _this$grid16;
|
|
2104
|
-
|
|
2105
1827
|
(_this$grid16 = this.grid) === null || _this$grid16 === void 0 ? void 0 : _this$grid16.focus();
|
|
2106
1828
|
}
|
|
2107
|
-
|
|
2108
1829
|
handleAdvancedMenuOpened(column) {
|
|
2109
1830
|
this.setState({
|
|
2110
1831
|
shownAdvancedFilter: column
|
|
2111
1832
|
});
|
|
2112
1833
|
}
|
|
2113
|
-
|
|
2114
1834
|
handleGotoRowOpened() {
|
|
2115
1835
|
this.setState({
|
|
2116
1836
|
isGotoRowShown: true
|
|
2117
1837
|
});
|
|
2118
1838
|
}
|
|
2119
|
-
|
|
2120
1839
|
handleGotoRowClosed() {
|
|
2121
1840
|
this.setState({
|
|
2122
1841
|
isGotoRowShown: false
|
|
2123
1842
|
});
|
|
2124
1843
|
}
|
|
2125
|
-
|
|
2126
1844
|
handleAdvancedMenuClosed(columnIndex) {
|
|
2127
1845
|
var _this$filterInputRef;
|
|
2128
|
-
|
|
2129
1846
|
var {
|
|
2130
1847
|
focusedFilterBarColumn,
|
|
2131
1848
|
isFilterBarShown
|
|
2132
1849
|
} = this.state;
|
|
2133
|
-
|
|
2134
1850
|
if (isFilterBarShown && focusedFilterBarColumn === columnIndex && ((_this$filterInputRef = this.filterInputRef) === null || _this$filterInputRef === void 0 ? void 0 : _this$filterInputRef.current) !== null) {
|
|
2135
1851
|
var _this$filterInputRef2;
|
|
2136
|
-
|
|
2137
1852
|
(_this$filterInputRef2 = this.filterInputRef) === null || _this$filterInputRef2 === void 0 ? void 0 : _this$filterInputRef2.current.focus();
|
|
2138
1853
|
this.setState({
|
|
2139
1854
|
shownAdvancedFilter: null
|
|
@@ -2145,15 +1860,14 @@ export class IrisGrid extends Component {
|
|
|
2145
1860
|
});
|
|
2146
1861
|
}
|
|
2147
1862
|
}
|
|
2148
|
-
|
|
2149
1863
|
handleCancel() {
|
|
2150
1864
|
this.rollback();
|
|
2151
|
-
} // eslint-disable-next-line class-methods-use-this
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
handleChartChange() {// TODO: IDS-4242 Update Chart Preview
|
|
2155
1865
|
}
|
|
2156
1866
|
|
|
1867
|
+
// eslint-disable-next-line class-methods-use-this
|
|
1868
|
+
handleChartChange() {
|
|
1869
|
+
// TODO: IDS-4242 Update Chart Preview
|
|
1870
|
+
}
|
|
2157
1871
|
handleChartCreate(settings) {
|
|
2158
1872
|
var {
|
|
2159
1873
|
model,
|
|
@@ -2161,7 +1875,6 @@ export class IrisGrid extends Component {
|
|
|
2161
1875
|
} = this.props;
|
|
2162
1876
|
onCreateChart(settings, model);
|
|
2163
1877
|
}
|
|
2164
|
-
|
|
2165
1878
|
handleGridError(error) {
|
|
2166
1879
|
log.warn('Grid Error', error);
|
|
2167
1880
|
this.setState({
|
|
@@ -2170,7 +1883,6 @@ export class IrisGrid extends Component {
|
|
|
2170
1883
|
}, "".concat(error))
|
|
2171
1884
|
});
|
|
2172
1885
|
}
|
|
2173
|
-
|
|
2174
1886
|
handleFilterBarChange(value) {
|
|
2175
1887
|
this.startLoading('Filtering...', true);
|
|
2176
1888
|
this.setState(_ref14 => {
|
|
@@ -2179,49 +1891,40 @@ export class IrisGrid extends Component {
|
|
|
2179
1891
|
quickFilters
|
|
2180
1892
|
} = _ref14;
|
|
2181
1893
|
var newQuickFilters = new Map(quickFilters);
|
|
2182
|
-
|
|
2183
1894
|
if (focusedFilterBarColumn != null) {
|
|
2184
1895
|
var modelIndex = this.getModelColumn(focusedFilterBarColumn);
|
|
2185
1896
|
assertNotNull(modelIndex);
|
|
2186
1897
|
this.applyQuickFilter(modelIndex, value, newQuickFilters);
|
|
2187
1898
|
}
|
|
2188
|
-
|
|
2189
1899
|
return {
|
|
2190
1900
|
quickFilters: newQuickFilters
|
|
2191
1901
|
};
|
|
2192
1902
|
});
|
|
2193
1903
|
}
|
|
2194
|
-
|
|
2195
1904
|
handleFilterBarDone() {
|
|
2196
1905
|
var setGridFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
2197
1906
|
var defocusInput = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
2198
|
-
|
|
2199
1907
|
if (setGridFocus) {
|
|
2200
1908
|
var _this$grid17;
|
|
2201
|
-
|
|
2202
1909
|
(_this$grid17 = this.grid) === null || _this$grid17 === void 0 ? void 0 : _this$grid17.focus();
|
|
2203
1910
|
}
|
|
2204
|
-
|
|
2205
1911
|
if (defocusInput) {
|
|
2206
1912
|
this.setState({
|
|
2207
1913
|
focusedFilterBarColumn: null
|
|
2208
1914
|
});
|
|
2209
1915
|
}
|
|
2210
1916
|
}
|
|
2211
|
-
|
|
2212
1917
|
handleFilterBarTab(backward) {
|
|
2213
1918
|
var {
|
|
2214
1919
|
focusedFilterBarColumn
|
|
2215
1920
|
} = this.state;
|
|
2216
1921
|
assertNotNull(focusedFilterBarColumn);
|
|
2217
|
-
|
|
2218
1922
|
if (backward) {
|
|
2219
1923
|
this.focusFilterBar(focusedFilterBarColumn - 1);
|
|
2220
1924
|
} else {
|
|
2221
1925
|
this.focusFilterBar(focusedFilterBarColumn + 1);
|
|
2222
1926
|
}
|
|
2223
1927
|
}
|
|
2224
|
-
|
|
2225
1928
|
handleFormatSelection(modelIndex, selectedFormat) {
|
|
2226
1929
|
var {
|
|
2227
1930
|
model
|
|
@@ -2231,7 +1934,6 @@ export class IrisGrid extends Component {
|
|
|
2231
1934
|
customColumnFormatMap: prevCustomColumnFormatMap
|
|
2232
1935
|
} = this.state;
|
|
2233
1936
|
var customColumnFormatMap = new Map(prevCustomColumnFormatMap);
|
|
2234
|
-
|
|
2235
1937
|
if (selectedFormat != null) {
|
|
2236
1938
|
var normalizedType = TableUtils.getNormalizedType(column.type);
|
|
2237
1939
|
assertNotNull(normalizedType);
|
|
@@ -2240,26 +1942,22 @@ export class IrisGrid extends Component {
|
|
|
2240
1942
|
} else {
|
|
2241
1943
|
customColumnFormatMap.delete(column.name);
|
|
2242
1944
|
}
|
|
2243
|
-
|
|
2244
1945
|
this.updateFormatter({
|
|
2245
1946
|
customColumnFormatMap
|
|
2246
1947
|
});
|
|
2247
1948
|
}
|
|
2248
|
-
|
|
2249
1949
|
handleMenu(e) {
|
|
2250
1950
|
e.stopPropagation();
|
|
2251
1951
|
this.setState({
|
|
2252
1952
|
isMenuShown: true
|
|
2253
1953
|
});
|
|
2254
1954
|
}
|
|
2255
|
-
|
|
2256
1955
|
handleMenuClose() {
|
|
2257
1956
|
this.setState({
|
|
2258
1957
|
isMenuShown: false,
|
|
2259
1958
|
openOptions: []
|
|
2260
1959
|
});
|
|
2261
1960
|
}
|
|
2262
|
-
|
|
2263
1961
|
handleMenuBack() {
|
|
2264
1962
|
this.setState(_ref15 => {
|
|
2265
1963
|
var {
|
|
@@ -2272,7 +1970,6 @@ export class IrisGrid extends Component {
|
|
|
2272
1970
|
};
|
|
2273
1971
|
});
|
|
2274
1972
|
}
|
|
2275
|
-
|
|
2276
1973
|
handleMenuSelect(option) {
|
|
2277
1974
|
this.setState(_ref16 => {
|
|
2278
1975
|
var {
|
|
@@ -2283,12 +1980,10 @@ export class IrisGrid extends Component {
|
|
|
2283
1980
|
};
|
|
2284
1981
|
});
|
|
2285
1982
|
}
|
|
2286
|
-
|
|
2287
1983
|
handleRequestFailed(event) {
|
|
2288
1984
|
var customEvent = event;
|
|
2289
1985
|
log.error('request failed:', customEvent.detail);
|
|
2290
1986
|
this.stopLoading();
|
|
2291
|
-
|
|
2292
1987
|
if (this.canRollback()) {
|
|
2293
1988
|
this.startLoading('Rolling back changes...', true);
|
|
2294
1989
|
this.rollback();
|
|
@@ -2300,10 +1995,8 @@ export class IrisGrid extends Component {
|
|
|
2300
1995
|
onError(new Error("Error displaying table: ".concat(customEvent.detail)));
|
|
2301
1996
|
}
|
|
2302
1997
|
}
|
|
2303
|
-
|
|
2304
1998
|
handleUpdate() {
|
|
2305
1999
|
var _this$grid18;
|
|
2306
|
-
|
|
2307
2000
|
this.stopLoading();
|
|
2308
2001
|
log.debug2('Received model update');
|
|
2309
2002
|
var {
|
|
@@ -2328,19 +2021,15 @@ export class IrisGrid extends Component {
|
|
|
2328
2021
|
selectDistinctColumns,
|
|
2329
2022
|
sorts
|
|
2330
2023
|
};
|
|
2331
|
-
|
|
2332
2024
|
if (!isEmptyConfig(config)) {
|
|
2333
2025
|
this.lastLoadedConfig = config;
|
|
2334
2026
|
} else {
|
|
2335
2027
|
this.lastLoadedConfig = null;
|
|
2336
2028
|
}
|
|
2337
|
-
|
|
2338
2029
|
(_this$grid18 = this.grid) === null || _this$grid18 === void 0 ? void 0 : _this$grid18.forceUpdate();
|
|
2339
2030
|
}
|
|
2340
|
-
|
|
2341
2031
|
handleViewChanged(metrics) {
|
|
2342
2032
|
var _this$grid$state, _this$grid19;
|
|
2343
|
-
|
|
2344
2033
|
var {
|
|
2345
2034
|
model
|
|
2346
2035
|
} = this.props;
|
|
@@ -2348,16 +2037,15 @@ export class IrisGrid extends Component {
|
|
|
2348
2037
|
selectionEndRow = 0
|
|
2349
2038
|
} = (_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 : {};
|
|
2350
2039
|
var pendingRowCount = 0;
|
|
2351
|
-
|
|
2352
2040
|
if (isEditableGridModel(model) && model.isEditable) {
|
|
2353
2041
|
assertNotNull(metrics);
|
|
2354
2042
|
var {
|
|
2355
2043
|
bottomViewport
|
|
2356
|
-
} = metrics;
|
|
2357
|
-
// Display empty rows beneath the table rows that user can fill in
|
|
2044
|
+
} = metrics;
|
|
2358
2045
|
|
|
2046
|
+
// We have an editable table that we can add new rows to
|
|
2047
|
+
// Display empty rows beneath the table rows that user can fill in
|
|
2359
2048
|
var bottomNonFloating = model.rowCount - model.floatingBottomRowCount;
|
|
2360
|
-
|
|
2361
2049
|
if (selectionEndRow === bottomNonFloating - 1) {
|
|
2362
2050
|
// Selection is in the last row, add another blank row
|
|
2363
2051
|
pendingRowCount = model.pendingRowCount + 1;
|
|
@@ -2369,13 +2057,11 @@ export class IrisGrid extends Component {
|
|
|
2369
2057
|
pendingRowCount = Math.max(0, bottomViewport - (model.rowCount - model.pendingRowCount) - model.floatingTopRowCount - model.floatingBottomRowCount - 1);
|
|
2370
2058
|
}
|
|
2371
2059
|
}
|
|
2372
|
-
|
|
2373
2060
|
this.setState({
|
|
2374
2061
|
metrics,
|
|
2375
2062
|
pendingRowCount
|
|
2376
2063
|
});
|
|
2377
2064
|
}
|
|
2378
|
-
|
|
2379
2065
|
handleSelectionChanged(selectedRanges) {
|
|
2380
2066
|
assertNotNull(selectedRanges);
|
|
2381
2067
|
var {
|
|
@@ -2387,39 +2073,32 @@ export class IrisGrid extends Component {
|
|
|
2387
2073
|
this.setState({
|
|
2388
2074
|
selectedRanges
|
|
2389
2075
|
});
|
|
2390
|
-
|
|
2391
2076
|
if (copyOperation != null) {
|
|
2392
2077
|
this.setState({
|
|
2393
2078
|
copyOperation: null
|
|
2394
2079
|
});
|
|
2395
2080
|
}
|
|
2396
|
-
|
|
2397
2081
|
onSelectionChanged(selectedRanges);
|
|
2398
2082
|
}
|
|
2399
|
-
|
|
2400
2083
|
handleMovedColumnsChanged(movedColumns) {
|
|
2401
2084
|
var onChangeApplied = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : () => null;
|
|
2402
2085
|
this.setState({
|
|
2403
2086
|
movedColumns
|
|
2404
2087
|
}, onChangeApplied);
|
|
2405
2088
|
}
|
|
2406
|
-
|
|
2407
2089
|
handleTooltipRef(tooltip) {
|
|
2408
2090
|
// Need to start the timer right away, since we're creating the tooltip when we want the timer to start
|
|
2409
2091
|
if (tooltip != null) {
|
|
2410
2092
|
tooltip.startTimer();
|
|
2411
2093
|
}
|
|
2412
|
-
|
|
2413
2094
|
this.tooltip = tooltip;
|
|
2414
2095
|
}
|
|
2415
|
-
|
|
2416
2096
|
handleConditionalFormatsChange(conditionalFormats) {
|
|
2417
2097
|
log.debug('Updated conditional formats', conditionalFormats);
|
|
2418
2098
|
this.setState({
|
|
2419
2099
|
conditionalFormats
|
|
2420
2100
|
});
|
|
2421
2101
|
}
|
|
2422
|
-
|
|
2423
2102
|
handleConditionalFormatCreate() {
|
|
2424
2103
|
log.debug('Create new conditional format');
|
|
2425
2104
|
var {
|
|
@@ -2436,7 +2115,6 @@ export class IrisGrid extends Component {
|
|
|
2436
2115
|
conditionalFormatPreview: undefined
|
|
2437
2116
|
});
|
|
2438
2117
|
}
|
|
2439
|
-
|
|
2440
2118
|
handleConditionalFormatEdit(index) {
|
|
2441
2119
|
log.debug('Edit conditional format', index);
|
|
2442
2120
|
var {
|
|
@@ -2452,8 +2130,9 @@ export class IrisGrid extends Component {
|
|
|
2452
2130
|
// Clone rule to preview temporary changes
|
|
2453
2131
|
conditionalFormatPreview: _objectSpread({}, conditionalFormats[index])
|
|
2454
2132
|
});
|
|
2455
|
-
}
|
|
2133
|
+
}
|
|
2456
2134
|
|
|
2135
|
+
// Apply live changes
|
|
2457
2136
|
|
|
2458
2137
|
handleConditionalFormatEditorSave(config) {
|
|
2459
2138
|
log.debug('Save conditional format changes', config);
|
|
@@ -2462,7 +2141,6 @@ export class IrisGrid extends Component {
|
|
|
2462
2141
|
log.debug('Invalid format index');
|
|
2463
2142
|
return null;
|
|
2464
2143
|
}
|
|
2465
|
-
|
|
2466
2144
|
var conditionalFormats = [...state.conditionalFormats];
|
|
2467
2145
|
conditionalFormats[state.conditionalFormatEditIndex] = config;
|
|
2468
2146
|
return {
|
|
@@ -2472,16 +2150,14 @@ export class IrisGrid extends Component {
|
|
|
2472
2150
|
this.handleMenuBack();
|
|
2473
2151
|
});
|
|
2474
2152
|
}
|
|
2475
|
-
|
|
2476
2153
|
handleConditionalFormatEditorCancel() {
|
|
2477
|
-
this.handleMenuBack();
|
|
2154
|
+
this.handleMenuBack();
|
|
2155
|
+
// Not resetting conditionalFormatPreview here
|
|
2478
2156
|
// to prevent editor fields change during the menu transition
|
|
2479
|
-
|
|
2480
2157
|
this.setState({
|
|
2481
2158
|
conditionalFormatEditIndex: null
|
|
2482
2159
|
});
|
|
2483
2160
|
}
|
|
2484
|
-
|
|
2485
2161
|
handleUpdateCustomColumns(customColumns) {
|
|
2486
2162
|
log.info("handleUpdateCustomColumns:", customColumns);
|
|
2487
2163
|
var {
|
|
@@ -2499,21 +2175,18 @@ export class IrisGrid extends Component {
|
|
|
2499
2175
|
} = model;
|
|
2500
2176
|
var oldCustomColumns = model.customColumns.map(customColumn => "".concat(customColumn));
|
|
2501
2177
|
var removedColumnNames = IrisGridUtils.getRemovedCustomColumnNames(oldCustomColumns, customColumns);
|
|
2502
|
-
|
|
2503
2178
|
if (removedColumnNames.length > 0) {
|
|
2504
2179
|
var newSorts = IrisGridUtils.removeSortsInColumns(sorts, removedColumnNames);
|
|
2505
2180
|
var newQuickFilters = IrisGridUtils.removeFiltersInColumns(columns, quickFilters, removedColumnNames);
|
|
2506
2181
|
var newAdvancedFilters = IrisGridUtils.removeFiltersInColumns(columns, advancedFilters, removedColumnNames);
|
|
2507
2182
|
var newMovedColumns = IrisGridUtils.removeColumnFromMovedColumns(columns, movedColumns, removedColumnNames);
|
|
2508
2183
|
var newSelectDistinctColumns = IrisGridUtils.removeColumnsFromSelectDistinctColumns(selectDistinctColumns, removedColumnNames);
|
|
2509
|
-
|
|
2510
2184
|
if (newSorts.length !== sorts.length) {
|
|
2511
2185
|
log.debug('removing sorts from removed custom columns...');
|
|
2512
2186
|
this.setState({
|
|
2513
2187
|
sorts: newSorts
|
|
2514
2188
|
});
|
|
2515
2189
|
}
|
|
2516
|
-
|
|
2517
2190
|
if (newQuickFilters.size !== quickFilters.size || newAdvancedFilters.size !== advancedFilters.size) {
|
|
2518
2191
|
log.debug("removing filters from removed custom columns...");
|
|
2519
2192
|
this.setState({
|
|
@@ -2521,14 +2194,12 @@ export class IrisGrid extends Component {
|
|
|
2521
2194
|
advancedFilters: newAdvancedFilters
|
|
2522
2195
|
});
|
|
2523
2196
|
}
|
|
2524
|
-
|
|
2525
2197
|
if (!deepEqual(movedColumns, newMovedColumns)) {
|
|
2526
2198
|
log.debug("change moved columns for removed custom columns", newMovedColumns);
|
|
2527
2199
|
this.setState({
|
|
2528
2200
|
movedColumns: newMovedColumns
|
|
2529
2201
|
});
|
|
2530
2202
|
}
|
|
2531
|
-
|
|
2532
2203
|
if (!deepEqual(selectDistinctColumns, newSelectDistinctColumns)) {
|
|
2533
2204
|
log.debug("change selectDistinct columns for removed custom columns", newMovedColumns);
|
|
2534
2205
|
this.setState({
|
|
@@ -2536,40 +2207,32 @@ export class IrisGrid extends Component {
|
|
|
2536
2207
|
});
|
|
2537
2208
|
}
|
|
2538
2209
|
}
|
|
2539
|
-
|
|
2540
2210
|
this.setState({
|
|
2541
2211
|
customColumns
|
|
2542
2212
|
});
|
|
2543
2213
|
this.startLoading('Applying custom columns...');
|
|
2544
2214
|
}
|
|
2545
|
-
|
|
2546
2215
|
handleCustomColumnsChanged() {
|
|
2547
2216
|
log.debug('custom columns changed');
|
|
2548
2217
|
var {
|
|
2549
2218
|
isReady
|
|
2550
2219
|
} = this.state;
|
|
2551
|
-
|
|
2552
2220
|
if (isReady) {
|
|
2553
2221
|
var _this$grid20;
|
|
2554
|
-
|
|
2555
2222
|
this.stopLoading();
|
|
2556
2223
|
(_this$grid20 = this.grid) === null || _this$grid20 === void 0 ? void 0 : _this$grid20.forceUpdate();
|
|
2557
2224
|
} else {
|
|
2558
2225
|
this.initState();
|
|
2559
2226
|
}
|
|
2560
2227
|
}
|
|
2561
|
-
|
|
2562
2228
|
handlePendingCommitClicked() {
|
|
2563
2229
|
return this.commitPending();
|
|
2564
2230
|
}
|
|
2565
|
-
|
|
2566
2231
|
handlePendingDiscardClicked() {
|
|
2567
2232
|
return this.discardPending();
|
|
2568
2233
|
}
|
|
2569
|
-
|
|
2570
2234
|
handlePendingDataUpdated() {
|
|
2571
2235
|
var _this$grid21;
|
|
2572
|
-
|
|
2573
2236
|
log.debug('pending data updated');
|
|
2574
2237
|
var {
|
|
2575
2238
|
model
|
|
@@ -2585,12 +2248,11 @@ export class IrisGrid extends Component {
|
|
|
2585
2248
|
});
|
|
2586
2249
|
(_this$grid21 = this.grid) === null || _this$grid21 === void 0 ? void 0 : _this$grid21.forceUpdate();
|
|
2587
2250
|
}
|
|
2251
|
+
|
|
2588
2252
|
/**
|
|
2589
2253
|
* User added, removed, or changed the order of aggregations, or position
|
|
2590
2254
|
* @param aggregationSettings The new aggregation settings
|
|
2591
2255
|
*/
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
2256
|
handleAggregationsChange(aggregationSettings) {
|
|
2595
2257
|
log.debug('handleAggregationsChange', aggregationSettings);
|
|
2596
2258
|
this.startLoading("Aggregating ".concat(aggregationSettings.aggregations.map(a => a.operation).join(', '), "..."));
|
|
@@ -2598,12 +2260,11 @@ export class IrisGrid extends Component {
|
|
|
2598
2260
|
aggregationSettings
|
|
2599
2261
|
});
|
|
2600
2262
|
}
|
|
2263
|
+
|
|
2601
2264
|
/**
|
|
2602
2265
|
* A specific aggregation has been modified
|
|
2603
2266
|
* @param aggregation The new aggregation
|
|
2604
2267
|
*/
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
2268
|
handleAggregationChange(aggregation) {
|
|
2608
2269
|
log.debug('handleAggregationChange', aggregation);
|
|
2609
2270
|
this.startLoading("Aggregating ".concat(aggregation.operation, "..."));
|
|
@@ -2619,12 +2280,11 @@ export class IrisGrid extends Component {
|
|
|
2619
2280
|
};
|
|
2620
2281
|
});
|
|
2621
2282
|
}
|
|
2283
|
+
|
|
2622
2284
|
/**
|
|
2623
2285
|
* An aggregations has been selected for editing
|
|
2624
2286
|
* @param aggregation The aggregation to edit
|
|
2625
2287
|
*/
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
2288
|
handleAggregationEdit(aggregation) {
|
|
2629
2289
|
log.debug('handleAggregationEdit', aggregation);
|
|
2630
2290
|
var {
|
|
@@ -2638,18 +2298,17 @@ export class IrisGrid extends Component {
|
|
|
2638
2298
|
selectedAggregation: aggregation
|
|
2639
2299
|
});
|
|
2640
2300
|
}
|
|
2641
|
-
|
|
2642
2301
|
handleRollupChange(rollupConfig) {
|
|
2643
2302
|
var _rollupConfig$columns, _rollupConfig$columns2;
|
|
2644
|
-
|
|
2645
2303
|
log.info('Rollup change', rollupConfig);
|
|
2646
2304
|
this.resetGridViewState();
|
|
2647
2305
|
this.showAllColumns();
|
|
2648
2306
|
this.clearAllFilters();
|
|
2649
|
-
this.startLoading("Grouping by columns ".concat((_rollupConfig$columns = rollupConfig === null || rollupConfig === void 0 ? void 0 : (_rollupConfig$columns2 = rollupConfig.columns) === null || _rollupConfig$columns2 === void 0 ? void 0 : _rollupConfig$columns2.join(', ')) !== null && _rollupConfig$columns !== void 0 ? _rollupConfig$columns : '', "..."));
|
|
2307
|
+
this.startLoading("Grouping by columns ".concat((_rollupConfig$columns = rollupConfig === null || rollupConfig === void 0 ? void 0 : (_rollupConfig$columns2 = rollupConfig.columns) === null || _rollupConfig$columns2 === void 0 ? void 0 : _rollupConfig$columns2.join(', ')) !== null && _rollupConfig$columns !== void 0 ? _rollupConfig$columns : '', "..."));
|
|
2308
|
+
|
|
2309
|
+
// Have to clear select distinct since rollup uses the original columns, not the current ones.
|
|
2650
2310
|
// IrisGridProxyModel has a check to prevent model update
|
|
2651
2311
|
// when selectDistinctModel is cleared and the rollupConfig is set on the model.
|
|
2652
|
-
|
|
2653
2312
|
this.setState({
|
|
2654
2313
|
rollupConfig,
|
|
2655
2314
|
movedColumns: [],
|
|
@@ -2658,7 +2317,6 @@ export class IrisGrid extends Component {
|
|
|
2658
2317
|
selectDistinctColumns: []
|
|
2659
2318
|
});
|
|
2660
2319
|
}
|
|
2661
|
-
|
|
2662
2320
|
handleSelectDistinctChanged(columnNames) {
|
|
2663
2321
|
log.debug('SelectDistinct change', columnNames);
|
|
2664
2322
|
this.resetGridViewState();
|
|
@@ -2672,12 +2330,10 @@ export class IrisGrid extends Component {
|
|
|
2672
2330
|
reverseType: TableUtils.REVERSE_TYPE.NONE
|
|
2673
2331
|
});
|
|
2674
2332
|
}
|
|
2675
|
-
|
|
2676
2333
|
handleDownloadTableStart() {
|
|
2677
2334
|
var {
|
|
2678
2335
|
canDownloadCsv
|
|
2679
2336
|
} = this.props;
|
|
2680
|
-
|
|
2681
2337
|
if (canDownloadCsv) {
|
|
2682
2338
|
this.setState({
|
|
2683
2339
|
isTableDownloading: true,
|
|
@@ -2689,19 +2345,16 @@ export class IrisGrid extends Component {
|
|
|
2689
2345
|
log.error('Attempted to handleDownloadTableStart for user without download CSV permission.');
|
|
2690
2346
|
}
|
|
2691
2347
|
}
|
|
2692
|
-
|
|
2693
|
-
handleDownloadTable(fileName, frozenTable, tableSubscription, snapshotRanges, modelRanges) {
|
|
2348
|
+
handleDownloadTable(fileName, frozenTable, tableSubscription, snapshotRanges, modelRanges, includeColumnHeaders, useUnformattedValues) {
|
|
2694
2349
|
var {
|
|
2695
2350
|
canDownloadCsv
|
|
2696
2351
|
} = this.props;
|
|
2697
|
-
|
|
2698
2352
|
if (canDownloadCsv) {
|
|
2699
|
-
log.info('start table downloading', fileName, frozenTable, tableSubscription, snapshotRanges, modelRanges);
|
|
2353
|
+
log.info('start table downloading', fileName, frozenTable, tableSubscription, snapshotRanges, modelRanges, includeColumnHeaders, useUnformattedValues);
|
|
2700
2354
|
this.setState(() => {
|
|
2701
2355
|
if (this.tableSaver) {
|
|
2702
|
-
this.tableSaver.startDownload(fileName, frozenTable, tableSubscription, snapshotRanges, modelRanges);
|
|
2356
|
+
this.tableSaver.startDownload(fileName, frozenTable, tableSubscription, snapshotRanges, modelRanges, includeColumnHeaders, useUnformattedValues);
|
|
2703
2357
|
}
|
|
2704
|
-
|
|
2705
2358
|
return {
|
|
2706
2359
|
tableDownloadStatus: TableCsvExporter.DOWNLOAD_STATUS.DOWNLOADING
|
|
2707
2360
|
};
|
|
@@ -2710,16 +2363,13 @@ export class IrisGrid extends Component {
|
|
|
2710
2363
|
log.error('Attempted to handleDownloadTable for user without download CSV permission.');
|
|
2711
2364
|
}
|
|
2712
2365
|
}
|
|
2713
|
-
|
|
2714
2366
|
handleCancelDownloadTable() {
|
|
2715
2367
|
var _this$tableSaver;
|
|
2716
|
-
|
|
2717
2368
|
(_this$tableSaver = this.tableSaver) === null || _this$tableSaver === void 0 ? void 0 : _this$tableSaver.cancelDownload();
|
|
2718
2369
|
this.setState({
|
|
2719
2370
|
isTableDownloading: false
|
|
2720
2371
|
});
|
|
2721
2372
|
}
|
|
2722
|
-
|
|
2723
2373
|
handleDownloadCompleted() {
|
|
2724
2374
|
this.setState({
|
|
2725
2375
|
isTableDownloading: false,
|
|
@@ -2727,7 +2377,6 @@ export class IrisGrid extends Component {
|
|
|
2727
2377
|
tableDownloadStatus: TableCsvExporter.DOWNLOAD_STATUS.FINISHED
|
|
2728
2378
|
});
|
|
2729
2379
|
}
|
|
2730
|
-
|
|
2731
2380
|
handleDownloadCanceled() {
|
|
2732
2381
|
this.setState({
|
|
2733
2382
|
isTableDownloading: false,
|
|
@@ -2735,12 +2384,11 @@ export class IrisGrid extends Component {
|
|
|
2735
2384
|
tableDownloadStatus: TableCsvExporter.DOWNLOAD_STATUS.CANCELED
|
|
2736
2385
|
});
|
|
2737
2386
|
}
|
|
2387
|
+
|
|
2738
2388
|
/**
|
|
2739
2389
|
* Delete the specified ranges from the table.
|
|
2740
2390
|
* @param ranges The ranges to delete
|
|
2741
2391
|
*/
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
2392
|
deleteRanges(ranges) {
|
|
2745
2393
|
var {
|
|
2746
2394
|
model
|
|
@@ -2751,16 +2399,13 @@ export class IrisGrid extends Component {
|
|
|
2751
2399
|
}
|
|
2752
2400
|
});
|
|
2753
2401
|
}
|
|
2754
|
-
|
|
2755
2402
|
resetColumnSelection() {
|
|
2756
2403
|
if (this.grid == null) {
|
|
2757
2404
|
return;
|
|
2758
2405
|
}
|
|
2759
|
-
|
|
2760
2406
|
var {
|
|
2761
2407
|
isSelectingColumn
|
|
2762
2408
|
} = this.props;
|
|
2763
|
-
|
|
2764
2409
|
if (isSelectingColumn) {
|
|
2765
2410
|
var {
|
|
2766
2411
|
columnAllowedCursor
|
|
@@ -2777,14 +2422,11 @@ export class IrisGrid extends Component {
|
|
|
2777
2422
|
});
|
|
2778
2423
|
}
|
|
2779
2424
|
}
|
|
2780
|
-
|
|
2781
2425
|
resetGridViewState() {
|
|
2782
2426
|
var forceUpdate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
2783
|
-
|
|
2784
2427
|
if (!this.grid) {
|
|
2785
2428
|
return;
|
|
2786
2429
|
}
|
|
2787
|
-
|
|
2788
2430
|
this.grid.clearSelectedRanges();
|
|
2789
2431
|
this.grid.setViewState({
|
|
2790
2432
|
left: 0,
|
|
@@ -2793,12 +2435,10 @@ export class IrisGrid extends Component {
|
|
|
2793
2435
|
leftOffset: 0
|
|
2794
2436
|
}, forceUpdate);
|
|
2795
2437
|
}
|
|
2796
|
-
|
|
2797
2438
|
sendStateChange() {
|
|
2798
2439
|
if (!this.grid) {
|
|
2799
2440
|
return;
|
|
2800
2441
|
}
|
|
2801
|
-
|
|
2802
2442
|
var {
|
|
2803
2443
|
state: irisGridState
|
|
2804
2444
|
} = this;
|
|
@@ -2810,16 +2450,13 @@ export class IrisGrid extends Component {
|
|
|
2810
2450
|
} = this.props;
|
|
2811
2451
|
onStateChange(irisGridState, gridState);
|
|
2812
2452
|
}
|
|
2813
|
-
|
|
2814
2453
|
handleOverflowClose() {
|
|
2815
2454
|
this.setState({
|
|
2816
2455
|
showOverflowModal: false
|
|
2817
2456
|
});
|
|
2818
2457
|
}
|
|
2819
|
-
|
|
2820
2458
|
getColumnBoundingRect() {
|
|
2821
2459
|
var _this$gridWrapper2;
|
|
2822
|
-
|
|
2823
2460
|
var {
|
|
2824
2461
|
metrics,
|
|
2825
2462
|
shownColumnTooltip
|
|
@@ -2855,14 +2492,12 @@ export class IrisGrid extends Component {
|
|
|
2855
2492
|
}
|
|
2856
2493
|
};
|
|
2857
2494
|
}
|
|
2858
|
-
|
|
2859
2495
|
handleGotoRowSelectedRowNumberSubmit() {
|
|
2860
2496
|
var {
|
|
2861
2497
|
gotoRow: rowNumber
|
|
2862
2498
|
} = this.state;
|
|
2863
2499
|
this.focusRowInGrid(rowNumber);
|
|
2864
2500
|
}
|
|
2865
|
-
|
|
2866
2501
|
focusRowInGrid(rowNumber) {
|
|
2867
2502
|
var {
|
|
2868
2503
|
model
|
|
@@ -2873,49 +2508,41 @@ export class IrisGrid extends Component {
|
|
|
2873
2508
|
this.setState({
|
|
2874
2509
|
gotoRow: rowNumber
|
|
2875
2510
|
});
|
|
2876
|
-
|
|
2877
2511
|
if (rowNumber === '') {
|
|
2878
2512
|
this.setState({
|
|
2879
2513
|
gotoRowError: ''
|
|
2880
2514
|
});
|
|
2881
2515
|
return;
|
|
2882
2516
|
}
|
|
2883
|
-
|
|
2884
2517
|
var rowInt = parseInt(rowNumber, 10);
|
|
2885
|
-
|
|
2886
2518
|
if (rowInt > rowCount || rowInt < -rowCount) {
|
|
2887
2519
|
this.setState({
|
|
2888
2520
|
gotoRowError: 'Invalid row index'
|
|
2889
2521
|
});
|
|
2890
2522
|
} else if (rowInt === 0) {
|
|
2891
2523
|
var _this$grid22;
|
|
2892
|
-
|
|
2893
2524
|
this.setState({
|
|
2894
2525
|
gotoRowError: ''
|
|
2895
2526
|
});
|
|
2896
2527
|
(_this$grid22 = this.grid) === null || _this$grid22 === void 0 ? void 0 : _this$grid22.setFocusRow(0);
|
|
2897
2528
|
} else if (rowInt < 0) {
|
|
2898
2529
|
var _this$grid23;
|
|
2899
|
-
|
|
2900
2530
|
this.setState({
|
|
2901
2531
|
gotoRowError: ''
|
|
2902
2532
|
});
|
|
2903
2533
|
(_this$grid23 = this.grid) === null || _this$grid23 === void 0 ? void 0 : _this$grid23.setFocusRow(rowInt + rowCount);
|
|
2904
2534
|
} else {
|
|
2905
2535
|
var _this$grid24;
|
|
2906
|
-
|
|
2907
2536
|
(_this$grid24 = this.grid) === null || _this$grid24 === void 0 ? void 0 : _this$grid24.setFocusRow(rowInt - 1);
|
|
2908
2537
|
this.setState({
|
|
2909
2538
|
gotoRowError: ''
|
|
2910
2539
|
});
|
|
2911
2540
|
}
|
|
2912
2541
|
}
|
|
2913
|
-
|
|
2914
2542
|
handleGotoRowSelectedRowNumberChanged(event) {
|
|
2915
2543
|
var rowNumber = event.target.value;
|
|
2916
2544
|
this.focusRowInGrid(rowNumber);
|
|
2917
2545
|
}
|
|
2918
|
-
|
|
2919
2546
|
getColumnTooltip(visibleIndex, metrics, model) {
|
|
2920
2547
|
var {
|
|
2921
2548
|
columnHeaderHeight,
|
|
@@ -2926,10 +2553,10 @@ export class IrisGrid extends Component {
|
|
|
2926
2553
|
} = metrics;
|
|
2927
2554
|
var columnX = visibleColumnXs.get(visibleIndex);
|
|
2928
2555
|
var columnWidth = visibleColumnWidths.get(visibleIndex);
|
|
2929
|
-
|
|
2930
2556
|
if (columnX == null || columnWidth == null) {
|
|
2931
2557
|
return null;
|
|
2932
2558
|
}
|
|
2559
|
+
|
|
2933
2560
|
/**
|
|
2934
2561
|
* Create a wrapper dom element, the size of the column header.
|
|
2935
2562
|
* The wrapper acts as tooltip parent, the tooltip component
|
|
@@ -2937,11 +2564,8 @@ export class IrisGrid extends Component {
|
|
|
2937
2564
|
* The wrapper should be bound to within the grid dimensions,
|
|
2938
2565
|
* so popper only remains triggered while mouse is inside the panel.
|
|
2939
2566
|
*/
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
2567
|
var boundedLeft = Math.max(0, columnX);
|
|
2943
2568
|
var boundedWidth = columnWidth;
|
|
2944
|
-
|
|
2945
2569
|
if (columnX + columnWidth > width) {
|
|
2946
2570
|
// column is extending past right edge
|
|
2947
2571
|
boundedWidth = width - columnX;
|
|
@@ -2949,7 +2573,6 @@ export class IrisGrid extends Component {
|
|
|
2949
2573
|
// column is extending past left edge
|
|
2950
2574
|
boundedWidth = columnWidth - Math.abs(columnX);
|
|
2951
2575
|
}
|
|
2952
|
-
|
|
2953
2576
|
var wrapperStyle = {
|
|
2954
2577
|
position: 'absolute',
|
|
2955
2578
|
top: (columnHeaderMaxDepth - 1) * columnHeaderHeight,
|
|
@@ -2958,6 +2581,7 @@ export class IrisGrid extends Component {
|
|
|
2958
2581
|
height: columnHeaderHeight,
|
|
2959
2582
|
pointerEvents: 'none'
|
|
2960
2583
|
};
|
|
2584
|
+
|
|
2961
2585
|
/**
|
|
2962
2586
|
* Because the popper parent wrapper center is no longer the same as
|
|
2963
2587
|
* the column label center, we create a popper virtual ref, to handle
|
|
@@ -2966,7 +2590,6 @@ export class IrisGrid extends Component {
|
|
|
2966
2590
|
* label, clamped to 0 + margin to width - margin. We add a margin,
|
|
2967
2591
|
* otherwise the arrow wants to escape the boundary.
|
|
2968
2592
|
*/
|
|
2969
|
-
|
|
2970
2593
|
var virtualReference = {
|
|
2971
2594
|
clientWidth: 1,
|
|
2972
2595
|
clientHeight: columnHeaderHeight,
|
|
@@ -3003,20 +2626,17 @@ export class IrisGrid extends Component {
|
|
|
3003
2626
|
column: column,
|
|
3004
2627
|
onStatistics: () => {
|
|
3005
2628
|
var _this$tooltip;
|
|
3006
|
-
|
|
3007
2629
|
(_this$tooltip = this.tooltip) === null || _this$tooltip === void 0 ? void 0 : _this$tooltip.update();
|
|
3008
2630
|
}
|
|
3009
2631
|
})));
|
|
3010
2632
|
}
|
|
3011
|
-
|
|
3012
2633
|
render() {
|
|
3013
2634
|
var _rollupConfig$columns3,
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
2635
|
+
_rollupConfig$columns4,
|
|
2636
|
+
_this5 = this,
|
|
2637
|
+
_this$grid26,
|
|
2638
|
+
_this$grid26$state$dr,
|
|
2639
|
+
_openOptions;
|
|
3020
2640
|
var {
|
|
3021
2641
|
children,
|
|
3022
2642
|
customFilters,
|
|
@@ -3095,11 +2715,9 @@ export class IrisGrid extends Component {
|
|
|
3095
2715
|
gotoRow,
|
|
3096
2716
|
gotoRowError
|
|
3097
2717
|
} = this.state;
|
|
3098
|
-
|
|
3099
2718
|
if (!isReady) {
|
|
3100
2719
|
return null;
|
|
3101
2720
|
}
|
|
3102
|
-
|
|
3103
2721
|
var theme = this.getTheme();
|
|
3104
2722
|
var filter = this.getCachedFilter(customFilters, quickFilters, advancedFilters, partitionFilters, searchFilter);
|
|
3105
2723
|
var userColumnWidths = metricCalculator.getUserColumnWidths();
|
|
@@ -3108,17 +2726,14 @@ export class IrisGrid extends Component {
|
|
|
3108
2726
|
var bottom = metrics ? metrics.bottomViewport : 0;
|
|
3109
2727
|
var left = null;
|
|
3110
2728
|
var right = null;
|
|
3111
|
-
|
|
3112
2729
|
if (onlyFetchVisibleColumns) {
|
|
3113
2730
|
left = metrics ? metrics.left : 0;
|
|
3114
2731
|
right = metrics ? metrics.right : 0;
|
|
3115
2732
|
}
|
|
3116
|
-
|
|
3117
2733
|
var isVisible = metrics != null && metrics.width > 0 && metrics.height > 0;
|
|
3118
2734
|
var isRollup = ((_rollupConfig$columns3 = rollupConfig === null || rollupConfig === void 0 ? 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;
|
|
3119
2735
|
var focusField = null;
|
|
3120
2736
|
var debounceMs = metrics ? Math.min(Math.max(IrisGrid.minDebounce, Math.round(metrics.rowCount / 200)), IrisGrid.maxDebounce) : IrisGrid.maxDebounce;
|
|
3121
|
-
|
|
3122
2737
|
if (isFilterBarShown && focusedFilterBarColumn != null && metrics != null) {
|
|
3123
2738
|
var {
|
|
3124
2739
|
gridX,
|
|
@@ -3129,16 +2744,12 @@ export class IrisGrid extends Component {
|
|
|
3129
2744
|
} = metrics;
|
|
3130
2745
|
var columnX = visibleColumnXs.get(focusedFilterBarColumn);
|
|
3131
2746
|
var columnWidth = visibleColumnWidths.get(focusedFilterBarColumn);
|
|
3132
|
-
|
|
3133
2747
|
if (columnX != null && columnWidth != null) {
|
|
3134
2748
|
var _theme$filterBarHeigh, _theme$filterBarHeigh2, _this$grid25;
|
|
3135
|
-
|
|
3136
2749
|
var x = gridX + columnX;
|
|
3137
2750
|
var y = gridY - ((_theme$filterBarHeigh = theme.filterBarHeight) !== null && _theme$filterBarHeigh !== void 0 ? _theme$filterBarHeigh : 0);
|
|
3138
2751
|
var fieldWidth = columnWidth + 1; // cover right border
|
|
3139
|
-
|
|
3140
2752
|
var fieldHeight = ((_theme$filterBarHeigh2 = theme.filterBarHeight) !== null && _theme$filterBarHeigh2 !== void 0 ? _theme$filterBarHeigh2 : 0) - 1; // remove bottom border
|
|
3141
|
-
|
|
3142
2753
|
var style = {
|
|
3143
2754
|
top: y,
|
|
3144
2755
|
left: x,
|
|
@@ -3152,12 +2763,10 @@ export class IrisGrid extends Component {
|
|
|
3152
2763
|
assertNotNull(modelColumn);
|
|
3153
2764
|
var quickFilter = quickFilters.get(modelColumn);
|
|
3154
2765
|
var advancedFilter = advancedFilters.get(modelColumn);
|
|
3155
|
-
|
|
3156
2766
|
if (quickFilter != null) {
|
|
3157
2767
|
_value4 = quickFilter.text;
|
|
3158
2768
|
isValid = quickFilter.filter != null;
|
|
3159
2769
|
}
|
|
3160
|
-
|
|
3161
2770
|
var isBarFiltered = quickFilters.size !== 0 || advancedFilters.size !== 0;
|
|
3162
2771
|
focusField = /*#__PURE__*/React.createElement(FilterInputField, {
|
|
3163
2772
|
ref: this.filterInputRef,
|
|
@@ -3183,9 +2792,7 @@ export class IrisGrid extends Component {
|
|
|
3183
2792
|
});
|
|
3184
2793
|
}
|
|
3185
2794
|
}
|
|
3186
|
-
|
|
3187
2795
|
var loadingElement = null;
|
|
3188
|
-
|
|
3189
2796
|
if (loadingText != null) {
|
|
3190
2797
|
var loadingStatus = /*#__PURE__*/React.createElement("div", {
|
|
3191
2798
|
className: "iris-grid-loading-status"
|
|
@@ -3203,9 +2810,7 @@ export class IrisGrid extends Component {
|
|
|
3203
2810
|
icon: vsClose,
|
|
3204
2811
|
transform: "down-1"
|
|
3205
2812
|
}), "Cancel"));
|
|
3206
|
-
|
|
3207
2813
|
var _gridY = metrics ? metrics.gridY : 0;
|
|
3208
|
-
|
|
3209
2814
|
loadingElement = /*#__PURE__*/React.createElement("div", {
|
|
3210
2815
|
className: "iris-grid-loading",
|
|
3211
2816
|
style: {
|
|
@@ -3213,19 +2818,14 @@ export class IrisGrid extends Component {
|
|
|
3213
2818
|
}
|
|
3214
2819
|
}, loadingStatus);
|
|
3215
2820
|
}
|
|
3216
|
-
|
|
3217
2821
|
var columnTooltip = null;
|
|
3218
|
-
|
|
3219
2822
|
if (shownColumnTooltip != null && metrics) {
|
|
3220
2823
|
var _this$tooltip2;
|
|
3221
|
-
|
|
3222
|
-
|
|
3223
|
-
|
|
2824
|
+
columnTooltip = this.getColumnTooltip(shownColumnTooltip, metrics, model);
|
|
2825
|
+
// #510 We may need to update the position of the tooltip if it's already opened and columns are resized
|
|
3224
2826
|
(_this$tooltip2 = this.tooltip) === null || _this$tooltip2 === void 0 ? void 0 : _this$tooltip2.update();
|
|
3225
2827
|
}
|
|
3226
|
-
|
|
3227
2828
|
var filterBar = [];
|
|
3228
|
-
|
|
3229
2829
|
if (metrics && isFilterBarShown) {
|
|
3230
2830
|
var {
|
|
3231
2831
|
gridX: _gridX,
|
|
@@ -3237,33 +2837,22 @@ export class IrisGrid extends Component {
|
|
|
3237
2837
|
var {
|
|
3238
2838
|
filterBarHeight
|
|
3239
2839
|
} = theme;
|
|
3240
|
-
|
|
3241
2840
|
var _loop2 = function _loop2(i) {
|
|
3242
2841
|
var columnIndex = visibleColumns[i];
|
|
3243
|
-
|
|
3244
2842
|
var columnX = _visibleColumnXs.get(columnIndex);
|
|
3245
|
-
|
|
3246
2843
|
var columnWidth = _visibleColumnWidths.get(columnIndex);
|
|
3247
|
-
|
|
3248
|
-
var modelColumn = _this4.getModelColumn(columnIndex);
|
|
3249
|
-
|
|
2844
|
+
var modelColumn = _this5.getModelColumn(columnIndex);
|
|
3250
2845
|
if (modelColumn != null) {
|
|
3251
2846
|
var isFilterable = model.isFilterable(modelColumn);
|
|
3252
|
-
|
|
3253
2847
|
if (isFilterable && columnX != null && columnWidth != null && columnWidth > 0) {
|
|
3254
2848
|
var _x = _gridX + columnX + columnWidth - 24;
|
|
3255
|
-
|
|
3256
2849
|
var _y = _gridY2 - (filterBarHeight !== null && filterBarHeight !== void 0 ? filterBarHeight : 0) + 2; // 2 acts as top margin for the button
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
2850
|
var _style = {
|
|
3260
2851
|
position: 'absolute',
|
|
3261
2852
|
top: _y,
|
|
3262
2853
|
left: _x
|
|
3263
2854
|
};
|
|
3264
|
-
|
|
3265
2855
|
var _advancedFilter = advancedFilters.get(modelColumn);
|
|
3266
|
-
|
|
3267
2856
|
var isFilterSet = _advancedFilter != null;
|
|
3268
2857
|
var isFilterVisible = columnIndex === hoverAdvancedFilter || columnIndex === focusedFilterBarColumn || isFilterSet;
|
|
3269
2858
|
var element = /*#__PURE__*/React.createElement("div", {
|
|
@@ -3278,22 +2867,21 @@ export class IrisGrid extends Component {
|
|
|
3278
2867
|
'filter-set': isFilterSet
|
|
3279
2868
|
}),
|
|
3280
2869
|
onClick: () => {
|
|
3281
|
-
|
|
2870
|
+
_this5.setState({
|
|
3282
2871
|
shownAdvancedFilter: columnIndex
|
|
3283
2872
|
});
|
|
3284
2873
|
},
|
|
3285
2874
|
onContextMenu: event => {
|
|
3286
|
-
var
|
|
3287
|
-
|
|
3288
|
-
(_this4$grid = _this4.grid) === null || _this4$grid === void 0 ? void 0 : _this4$grid.handleContextMenu(event);
|
|
2875
|
+
var _this5$grid;
|
|
2876
|
+
(_this5$grid = _this5.grid) === null || _this5$grid === void 0 ? void 0 : _this5$grid.handleContextMenu(event);
|
|
3289
2877
|
},
|
|
3290
2878
|
onMouseEnter: () => {
|
|
3291
|
-
|
|
2879
|
+
_this5.setState({
|
|
3292
2880
|
hoverAdvancedFilter: columnIndex
|
|
3293
2881
|
});
|
|
3294
2882
|
},
|
|
3295
2883
|
onMouseLeave: () => {
|
|
3296
|
-
|
|
2884
|
+
_this5.setState({
|
|
3297
2885
|
hoverAdvancedFilter: null
|
|
3298
2886
|
});
|
|
3299
2887
|
}
|
|
@@ -3310,14 +2898,11 @@ export class IrisGrid extends Component {
|
|
|
3310
2898
|
}
|
|
3311
2899
|
}
|
|
3312
2900
|
};
|
|
3313
|
-
|
|
3314
2901
|
for (var i = 0; i < visibleColumns.length; i += 1) {
|
|
3315
2902
|
_loop2(i);
|
|
3316
2903
|
}
|
|
3317
2904
|
}
|
|
3318
|
-
|
|
3319
2905
|
var advancedFilterMenus = [];
|
|
3320
|
-
|
|
3321
2906
|
if (metrics) {
|
|
3322
2907
|
var {
|
|
3323
2908
|
gridX: _gridX2,
|
|
@@ -3326,18 +2911,13 @@ export class IrisGrid extends Component {
|
|
|
3326
2911
|
visibleColumnWidths: _visibleColumnWidths2,
|
|
3327
2912
|
columnHeaderHeight
|
|
3328
2913
|
} = metrics;
|
|
3329
|
-
|
|
3330
2914
|
var _loop3 = function _loop3(_i3) {
|
|
3331
2915
|
var columnIndex = _visibleColumns[_i3];
|
|
3332
|
-
|
|
3333
2916
|
var columnX = _visibleColumnXs2.get(columnIndex);
|
|
3334
|
-
|
|
3335
2917
|
var columnWidth = _visibleColumnWidths2.get(columnIndex);
|
|
3336
|
-
|
|
3337
2918
|
if (columnX != null && columnWidth != null && columnWidth > 0) {
|
|
3338
2919
|
var xColumnHeader = _gridX2 + columnX;
|
|
3339
2920
|
var xFilterBar = _gridX2 + columnX + columnWidth - 20;
|
|
3340
|
-
|
|
3341
2921
|
var _style2 = isFilterBarShown ? {
|
|
3342
2922
|
position: 'absolute',
|
|
3343
2923
|
top: columnHeaderHeight,
|
|
@@ -3351,14 +2931,10 @@ export class IrisGrid extends Component {
|
|
|
3351
2931
|
width: columnWidth,
|
|
3352
2932
|
height: columnHeaderHeight
|
|
3353
2933
|
};
|
|
3354
|
-
|
|
3355
|
-
var _modelColumn = _this4.getModelColumn(columnIndex);
|
|
3356
|
-
|
|
2934
|
+
var _modelColumn = _this5.getModelColumn(columnIndex);
|
|
3357
2935
|
if (_modelColumn != null) {
|
|
3358
2936
|
var _column3 = model.columns[_modelColumn];
|
|
3359
|
-
|
|
3360
2937
|
var _advancedFilter2 = advancedFilters.get(_modelColumn);
|
|
3361
|
-
|
|
3362
2938
|
var {
|
|
3363
2939
|
options: advancedFilterOptions
|
|
3364
2940
|
} = _advancedFilter2 || {};
|
|
@@ -3370,9 +2946,9 @@ export class IrisGrid extends Component {
|
|
|
3370
2946
|
style: _style2
|
|
3371
2947
|
}, /*#__PURE__*/React.createElement(Popper, {
|
|
3372
2948
|
className: "advanced-filter-menu-popper",
|
|
3373
|
-
onEntered:
|
|
2949
|
+
onEntered: _this5.getAdvancedMenuOpenedHandler(columnIndex),
|
|
3374
2950
|
onExited: () => {
|
|
3375
|
-
|
|
2951
|
+
_this5.handleAdvancedMenuClosed(columnIndex);
|
|
3376
2952
|
},
|
|
3377
2953
|
isShown: shownAdvancedFilter === columnIndex,
|
|
3378
2954
|
interactive: true,
|
|
@@ -3380,17 +2956,15 @@ export class IrisGrid extends Component {
|
|
|
3380
2956
|
options: {
|
|
3381
2957
|
positionFixed: true
|
|
3382
2958
|
}
|
|
3383
|
-
},
|
|
2959
|
+
}, _this5.getCachedAdvancedFilterMenuActions(model, _column3, advancedFilterOptions, sortDirection, formatter)));
|
|
3384
2960
|
advancedFilterMenus.push(element);
|
|
3385
2961
|
}
|
|
3386
2962
|
}
|
|
3387
2963
|
};
|
|
3388
|
-
|
|
3389
2964
|
for (var _i3 = 0; _i3 < _visibleColumns.length; _i3 += 1) {
|
|
3390
2965
|
_loop3(_i3);
|
|
3391
2966
|
}
|
|
3392
2967
|
}
|
|
3393
|
-
|
|
3394
2968
|
var optionItems = this.getCachedOptionItems(onCreateChart !== undefined && model.isChartBuilderAvailable, model.isCustomColumnsAvailable, model.isFormatColumnsAvailable, model.isRollupAvailable, model.isTotalsAvailable, model.isSelectDistinctAvailable, model.isExportAvailable, this.toggleFilterBarAction, this.toggleSearchBarAction, this.toggleGotoRowAction, isFilterBarShown, showSearchBar, canDownloadCsv, this.isTableSearchAvailable(), isGotoRowShown, advancedSettings.size > 0);
|
|
3395
2969
|
var openOptionsStack = openOptions.map(option => {
|
|
3396
2970
|
switch (option.type) {
|
|
@@ -3401,7 +2975,6 @@ export class IrisGrid extends Component {
|
|
|
3401
2975
|
onSubmit: this.handleChartCreate,
|
|
3402
2976
|
key: OptionType.CHART_BUILDER
|
|
3403
2977
|
});
|
|
3404
|
-
|
|
3405
2978
|
case OptionType.VISIBILITY_ORDERING_BUILDER:
|
|
3406
2979
|
return /*#__PURE__*/React.createElement(VisibilityOrderingBuilder, {
|
|
3407
2980
|
model: model,
|
|
@@ -3411,7 +2984,6 @@ export class IrisGrid extends Component {
|
|
|
3411
2984
|
onMovedColumnsChanged: this.handleMovedColumnsChanged,
|
|
3412
2985
|
key: OptionType.VISIBILITY_ORDERING_BUILDER
|
|
3413
2986
|
});
|
|
3414
|
-
|
|
3415
2987
|
case OptionType.CONDITIONAL_FORMATTING:
|
|
3416
2988
|
return /*#__PURE__*/React.createElement(ConditionalFormattingMenu, {
|
|
3417
2989
|
rules: conditionalFormats,
|
|
@@ -3419,7 +2991,6 @@ export class IrisGrid extends Component {
|
|
|
3419
2991
|
onCreate: this.handleConditionalFormatCreate,
|
|
3420
2992
|
onSelect: this.handleConditionalFormatEdit
|
|
3421
2993
|
});
|
|
3422
|
-
|
|
3423
2994
|
case OptionType.CONDITIONAL_FORMATTING_EDIT:
|
|
3424
2995
|
assertNotNull(model.columns);
|
|
3425
2996
|
assertNotNull(this.handleConditionalFormatEditorUpdate);
|
|
@@ -3430,7 +3001,6 @@ export class IrisGrid extends Component {
|
|
|
3430
3001
|
onSave: this.handleConditionalFormatEditorSave,
|
|
3431
3002
|
onCancel: this.handleConditionalFormatEditorCancel
|
|
3432
3003
|
});
|
|
3433
|
-
|
|
3434
3004
|
case OptionType.CUSTOM_COLUMN_BUILDER:
|
|
3435
3005
|
return /*#__PURE__*/React.createElement(CustomColumnBuilder, {
|
|
3436
3006
|
model: model,
|
|
@@ -3439,7 +3009,6 @@ export class IrisGrid extends Component {
|
|
|
3439
3009
|
onCancel: this.handleMenuBack,
|
|
3440
3010
|
key: OptionType.CUSTOM_COLUMN_BUILDER
|
|
3441
3011
|
});
|
|
3442
|
-
|
|
3443
3012
|
case OptionType.ROLLUP_ROWS:
|
|
3444
3013
|
return /*#__PURE__*/React.createElement(RollupRows, {
|
|
3445
3014
|
model: model,
|
|
@@ -3447,7 +3016,6 @@ export class IrisGrid extends Component {
|
|
|
3447
3016
|
config: rollupConfig,
|
|
3448
3017
|
key: OptionType.ROLLUP_ROWS
|
|
3449
3018
|
});
|
|
3450
|
-
|
|
3451
3019
|
case OptionType.AGGREGATIONS:
|
|
3452
3020
|
return /*#__PURE__*/React.createElement(Aggregations, {
|
|
3453
3021
|
settings: aggregationSettings,
|
|
@@ -3455,14 +3023,12 @@ export class IrisGrid extends Component {
|
|
|
3455
3023
|
onChange: this.handleAggregationsChange,
|
|
3456
3024
|
onEdit: this.handleAggregationEdit
|
|
3457
3025
|
});
|
|
3458
|
-
|
|
3459
3026
|
case OptionType.AGGREGATION_EDIT:
|
|
3460
3027
|
return selectedAggregation && /*#__PURE__*/React.createElement(AggregationEdit, {
|
|
3461
3028
|
aggregation: selectedAggregation,
|
|
3462
3029
|
columns: model.originalColumns,
|
|
3463
3030
|
onChange: this.handleAggregationChange
|
|
3464
3031
|
});
|
|
3465
|
-
|
|
3466
3032
|
case OptionType.TABLE_EXPORTER:
|
|
3467
3033
|
return /*#__PURE__*/React.createElement(TableCsvExporter, {
|
|
3468
3034
|
model: model,
|
|
@@ -3479,20 +3045,17 @@ export class IrisGrid extends Component {
|
|
|
3479
3045
|
selectedRanges: selectedRanges,
|
|
3480
3046
|
key: OptionType.TABLE_EXPORTER
|
|
3481
3047
|
});
|
|
3482
|
-
|
|
3483
3048
|
case OptionType.SELECT_DISTINCT:
|
|
3484
3049
|
return /*#__PURE__*/React.createElement(SelectDistinctBuilder, {
|
|
3485
3050
|
model: model,
|
|
3486
3051
|
selectDistinctColumns: selectDistinctColumns,
|
|
3487
3052
|
onChange: this.handleSelectDistinctChanged
|
|
3488
3053
|
});
|
|
3489
|
-
|
|
3490
3054
|
case OptionType.ADVANCED_SETTINGS:
|
|
3491
3055
|
return /*#__PURE__*/React.createElement(AdvancedSettingsMenu, {
|
|
3492
3056
|
items: advancedSettings,
|
|
3493
3057
|
onChange: onAdvancedSettingsChange
|
|
3494
3058
|
});
|
|
3495
|
-
|
|
3496
3059
|
default:
|
|
3497
3060
|
throw Error("Unexpected option type ".concat(option.type));
|
|
3498
3061
|
}
|
|
@@ -3517,7 +3080,7 @@ export class IrisGrid extends Component {
|
|
|
3517
3080
|
unmountOnExit: true
|
|
3518
3081
|
}, /*#__PURE__*/React.createElement("div", {
|
|
3519
3082
|
className: "iris-grid-partition-selector-wrapper iris-grid-bar iris-grid-bar-primary"
|
|
3520
|
-
}, partitionTable && partitionColumn && /*#__PURE__*/React.createElement(IrisGridPartitionSelector, {
|
|
3083
|
+
}, partitionTable && partitionColumn && partition != null && /*#__PURE__*/React.createElement(IrisGridPartitionSelector, {
|
|
3521
3084
|
table: partitionTable,
|
|
3522
3085
|
getFormattedString: (value, type, stringName) => model.displayString(value, type, stringName),
|
|
3523
3086
|
columnName: partitionColumn.name,
|
|
@@ -3589,7 +3152,8 @@ export class IrisGrid extends Component {
|
|
|
3589
3152
|
customColumns: customColumns,
|
|
3590
3153
|
hiddenColumns: hiddenColumns,
|
|
3591
3154
|
alwaysFetchColumns: this.getAlwaysFetchColumns(alwaysFetchColumns, model.columns, movedColumns, model.floatingLeftColumnCount, model.floatingRightColumnCount, (_this$grid26 = this.grid) === null || _this$grid26 === void 0 ? void 0 : (_this$grid26$state$dr = _this$grid26.state.draggingColumn) === null || _this$grid26$state$dr === void 0 ? void 0 : _this$grid26$state$dr.range),
|
|
3592
|
-
formatColumns: this.getCachedPreviewFormatColumns(this.getCachedModelColumns(model, customColumns), conditionalFormats, conditionalFormatPreview,
|
|
3155
|
+
formatColumns: this.getCachedPreviewFormatColumns(this.getCachedModelColumns(model, customColumns), conditionalFormats, conditionalFormatPreview,
|
|
3156
|
+
// Disable the preview format when we press Back on the format edit page
|
|
3593
3157
|
((_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),
|
|
3594
3158
|
rollupConfig: this.getModelRollupConfig(model.originalColumns, rollupConfig, aggregationSettings),
|
|
3595
3159
|
totalsConfig: this.getModelTotalsConfig(model.columns, rollupConfig, aggregationSettings),
|
|
@@ -3680,15 +3244,10 @@ export class IrisGrid extends Component {
|
|
|
3680
3244
|
actions: this.contextActions
|
|
3681
3245
|
}));
|
|
3682
3246
|
}
|
|
3683
|
-
|
|
3684
3247
|
}
|
|
3685
|
-
|
|
3686
3248
|
_defineProperty(IrisGrid, "minDebounce", 150);
|
|
3687
|
-
|
|
3688
3249
|
_defineProperty(IrisGrid, "maxDebounce", 500);
|
|
3689
|
-
|
|
3690
3250
|
_defineProperty(IrisGrid, "loadingSpinnerDelay", 800);
|
|
3691
|
-
|
|
3692
3251
|
_defineProperty(IrisGrid, "defaultProps", {
|
|
3693
3252
|
children: null,
|
|
3694
3253
|
advancedFilters: new Map(),
|
|
@@ -3757,6 +3316,5 @@ _defineProperty(IrisGrid, "defaultProps", {
|
|
|
3757
3316
|
theme: IrisGridTheme,
|
|
3758
3317
|
canToggleSearch: true
|
|
3759
3318
|
});
|
|
3760
|
-
|
|
3761
3319
|
export default IrisGrid;
|
|
3762
3320
|
//# sourceMappingURL=IrisGrid.js.map
|