@deephaven/iris-grid 1.22.1 → 1.22.2-alpha-pivot-builder.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/README.md +284 -1
- package/dist/AdvancedFilterCreator.js +65 -102
- package/dist/AdvancedFilterCreator.js.map +1 -1
- package/dist/AdvancedFilterCreatorFilterItem.js +22 -37
- package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValue.js +37 -63
- package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.js +29 -59
- package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
- package/dist/ColumnHeaderGroup.js +6 -8
- package/dist/ColumnHeaderGroup.js.map +1 -1
- package/dist/ColumnStatistics.js +22 -28
- package/dist/ColumnStatistics.js.map +1 -1
- package/dist/CommonTypes.d.ts +62 -2
- package/dist/CommonTypes.d.ts.map +1 -1
- package/dist/CommonTypes.js.map +1 -1
- package/dist/CrossColumnSearch.js +20 -29
- package/dist/CrossColumnSearch.js.map +1 -1
- package/dist/FilterInputField.js +19 -46
- package/dist/FilterInputField.js.map +1 -1
- package/dist/GotoRow.js +32 -29
- package/dist/GotoRow.js.map +1 -1
- package/dist/IrisGrid.d.ts +85 -2
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +709 -861
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridBottomBar.js +10 -11
- package/dist/IrisGridBottomBar.js.map +1 -1
- package/dist/IrisGridCacheUtils.js +28 -8
- package/dist/IrisGridCacheUtils.js.map +1 -1
- package/dist/IrisGridCellOverflowModal.js +30 -13
- package/dist/IrisGridCellOverflowModal.js.map +1 -1
- package/dist/IrisGridCellRendererUtils.js +6 -12
- package/dist/IrisGridCellRendererUtils.js.map +1 -1
- package/dist/IrisGridCopyHandler.js +28 -47
- package/dist/IrisGridCopyHandler.js.map +1 -1
- package/dist/IrisGridMetricCalculator.js +28 -51
- package/dist/IrisGridMetricCalculator.js.map +1 -1
- package/dist/IrisGridModel.d.ts +30 -1
- package/dist/IrisGridModel.d.ts.map +1 -1
- package/dist/IrisGridModel.js +36 -1
- package/dist/IrisGridModel.js.map +1 -1
- package/dist/IrisGridModelUpdater.js +32 -30
- package/dist/IrisGridModelUpdater.js.map +1 -1
- package/dist/IrisGridModelWidgetProps.d.ts +26 -0
- package/dist/IrisGridModelWidgetProps.d.ts.map +1 -0
- package/dist/IrisGridModelWidgetProps.js +2 -0
- package/dist/IrisGridModelWidgetProps.js.map +1 -0
- package/dist/IrisGridPartitionSelector.js +28 -62
- package/dist/IrisGridPartitionSelector.js.map +1 -1
- package/dist/IrisGridProxyModel.d.ts.map +1 -1
- package/dist/IrisGridProxyModel.js +41 -14
- package/dist/IrisGridProxyModel.js.map +1 -1
- package/dist/IrisGridRenderer.js +162 -264
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridTableModel.js +23 -16
- package/dist/IrisGridTableModel.js.map +1 -1
- package/dist/IrisGridTableModelTemplate.js +49 -73
- package/dist/IrisGridTableModelTemplate.js.map +1 -1
- package/dist/IrisGridTestUtils.js +19 -19
- package/dist/IrisGridTestUtils.js.map +1 -1
- package/dist/IrisGridTextCellRenderer.d.ts.map +1 -1
- package/dist/IrisGridTextCellRenderer.js +36 -53
- package/dist/IrisGridTextCellRenderer.js.map +1 -1
- package/dist/IrisGridTheme.js +9 -1
- package/dist/IrisGridTheme.js.map +1 -1
- package/dist/IrisGridThemeProvider.js +5 -7
- package/dist/IrisGridThemeProvider.js.map +1 -1
- package/dist/IrisGridTreeTableModel.js +5 -9
- package/dist/IrisGridTreeTableModel.js.map +1 -1
- package/dist/IrisGridUtils.d.ts +25 -2
- package/dist/IrisGridUtils.d.ts.map +1 -1
- package/dist/IrisGridUtils.js +297 -294
- package/dist/IrisGridUtils.js.map +1 -1
- package/dist/LazyIrisGrid.d.ts +1 -1
- package/dist/NoPastePermissionModal.js +3 -5
- package/dist/NoPastePermissionModal.js.map +1 -1
- package/dist/PendingDataBottomBar.js +27 -16
- package/dist/PendingDataBottomBar.js.map +1 -1
- package/dist/ToastBottomBar.js +16 -8
- package/dist/ToastBottomBar.js.map +1 -1
- package/dist/format-context-menus/CustomFormatAction.js +11 -24
- package/dist/format-context-menus/CustomFormatAction.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/key-handlers/CopyCellKeyHandler.js +3 -4
- package/dist/key-handlers/CopyCellKeyHandler.js.map +1 -1
- package/dist/key-handlers/CopyKeyHandler.js +1 -3
- package/dist/key-handlers/CopyKeyHandler.js.map +1 -1
- package/dist/key-handlers/ReverseKeyHandler.js +1 -3
- package/dist/key-handlers/ReverseKeyHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js +35 -59
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +13 -29
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +8 -17
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.js +96 -199
- package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js +2 -4
- package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js +16 -30
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridPartitionedTableMouseHandler.js +5 -13
- package/dist/mousehandlers/IrisGridPartitionedTableMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridRowTreeMouseHandler.js +20 -36
- package/dist/mousehandlers/IrisGridRowTreeMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridSortMouseHandler.js +3 -5
- package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridTokenMouseHandler.js +9 -18
- package/dist/mousehandlers/IrisGridTokenMouseHandler.js.map +1 -1
- package/dist/mousehandlers/PendingMouseHandler.js +10 -18
- package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
- package/dist/sidebar/AdvancedSettingsMenu.js +12 -5
- package/dist/sidebar/AdvancedSettingsMenu.js.map +1 -1
- package/dist/sidebar/ChartBuilder.js +45 -102
- package/dist/sidebar/ChartBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.js +35 -77
- package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnInput.js +9 -11
- package/dist/sidebar/CustomColumnInput.js.map +1 -1
- package/dist/sidebar/InputEditor.js +17 -24
- package/dist/sidebar/InputEditor.js.map +1 -1
- package/dist/sidebar/IrisGridTableOptionsWidgetProps.d.ts +22 -0
- package/dist/sidebar/IrisGridTableOptionsWidgetProps.d.ts.map +1 -0
- package/dist/sidebar/IrisGridTableOptionsWidgetProps.js +2 -0
- package/dist/sidebar/IrisGridTableOptionsWidgetProps.js.map +1 -0
- package/dist/sidebar/OptionType.d.ts +8 -0
- package/dist/sidebar/OptionType.d.ts.map +1 -1
- package/dist/sidebar/OptionType.js +7 -0
- package/dist/sidebar/OptionType.js.map +1 -1
- package/dist/sidebar/PluginTableOptionsErrorBoundary.d.ts +30 -0
- package/dist/sidebar/PluginTableOptionsErrorBoundary.d.ts.map +1 -0
- package/dist/sidebar/PluginTableOptionsErrorBoundary.js +55 -0
- package/dist/sidebar/PluginTableOptionsErrorBoundary.js.map +1 -0
- package/dist/sidebar/RollupRows.js +72 -113
- package/dist/sidebar/RollupRows.js.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.js +16 -33
- package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
- package/dist/sidebar/TableCsvExporter.js +50 -74
- package/dist/sidebar/TableCsvExporter.js.map +1 -1
- package/dist/sidebar/TableSaver.js +18 -42
- package/dist/sidebar/TableSaver.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationEdit.js +25 -18
- package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationUtils.js +1 -3
- package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.js +45 -34
- package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +35 -24
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionEditor.js +38 -21
- package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +27 -11
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +9 -11
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +48 -57
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
- package/dist/sidebar/conditional-formatting/RowFormatEditor.js +35 -24
- package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/StyleEditor.js +26 -11
- package/dist/sidebar/conditional-formatting/StyleEditor.js.map +1 -1
- package/dist/sidebar/index.d.ts +3 -2
- package/dist/sidebar/index.d.ts.map +1 -1
- package/dist/sidebar/index.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/SearchItem.js +5 -7
- package/dist/sidebar/visibility-ordering-builder/SearchItem.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/SearchWithModal.js +24 -18
- package/dist/sidebar/visibility-ordering-builder/SearchWithModal.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js +166 -256
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js +4 -11
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js +28 -14
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js +16 -19
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/PointerSensorWithInteraction.js +1 -3
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/PointerSensorWithInteraction.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js +19 -29
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeDndContext.js +39 -52
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeDndContext.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeItem.js +18 -23
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeItem.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js +19 -15
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/keyboardCoordinates.js +16 -30
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/keyboardCoordinates.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.js +30 -39
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.js.map +1 -1
- package/package.json +16 -16
package/dist/IrisGridUtils.js
CHANGED
|
@@ -4,6 +4,12 @@ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i
|
|
|
4
4
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
5
5
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
6
6
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
7
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
10
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
11
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
7
13
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
8
14
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
9
15
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
@@ -48,29 +54,21 @@ class IrisGridUtils {
|
|
|
48
54
|
* @returns An object that can be stringified and imported with {{@link hydrateGridState}}
|
|
49
55
|
*/
|
|
50
56
|
static dehydrateGridState(model, gridState) {
|
|
51
|
-
var
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
} = gridState;
|
|
57
|
-
var {
|
|
58
|
-
columns
|
|
59
|
-
} = model;
|
|
57
|
+
var isStuckToBottom = gridState.isStuckToBottom,
|
|
58
|
+
isStuckToRight = gridState.isStuckToRight,
|
|
59
|
+
movedColumns = gridState.movedColumns,
|
|
60
|
+
movedRows = gridState.movedRows;
|
|
61
|
+
var columns = model.columns;
|
|
60
62
|
return {
|
|
61
63
|
isStuckToBottom,
|
|
62
64
|
isStuckToRight,
|
|
63
65
|
movedColumns: [...movedColumns].filter(_ref => {
|
|
64
|
-
var
|
|
65
|
-
|
|
66
|
-
from
|
|
67
|
-
} = _ref;
|
|
66
|
+
var to = _ref.to,
|
|
67
|
+
from = _ref.from;
|
|
68
68
|
return isValidIndex(to, columns) && (typeof from === 'number' && isValidIndex(from, columns) || Array.isArray(from) && isValidIndex(from[0], columns) && isValidIndex(from[1], columns));
|
|
69
69
|
}).map(_ref2 => {
|
|
70
|
-
var
|
|
71
|
-
|
|
72
|
-
from
|
|
73
|
-
} = _ref2;
|
|
70
|
+
var to = _ref2.to,
|
|
71
|
+
from = _ref2.from;
|
|
74
72
|
return {
|
|
75
73
|
to: columns[to].name,
|
|
76
74
|
from: Array.isArray(from) ? [columns[from[0]].name, columns[from[1]].name] : columns[from].name
|
|
@@ -88,40 +86,30 @@ class IrisGridUtils {
|
|
|
88
86
|
*/
|
|
89
87
|
static hydrateGridState(model, gridState) {
|
|
90
88
|
var customColumns = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
91
|
-
var
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
} = gridState;
|
|
97
|
-
var {
|
|
98
|
-
columns
|
|
99
|
-
} = model;
|
|
89
|
+
var isStuckToBottom = gridState.isStuckToBottom,
|
|
90
|
+
isStuckToRight = gridState.isStuckToRight,
|
|
91
|
+
movedColumns = gridState.movedColumns,
|
|
92
|
+
movedRows = gridState.movedRows;
|
|
93
|
+
var columns = model.columns;
|
|
100
94
|
var customColumnNames = IrisGridUtils.parseCustomColumnNames(customColumns);
|
|
101
95
|
var columnNames = columns.map(_ref3 => {
|
|
102
|
-
var
|
|
103
|
-
name
|
|
104
|
-
} = _ref3;
|
|
96
|
+
var name = _ref3.name;
|
|
105
97
|
return name;
|
|
106
98
|
}).concat(customColumnNames);
|
|
107
99
|
return {
|
|
108
100
|
isStuckToBottom,
|
|
109
101
|
isStuckToRight,
|
|
110
102
|
movedColumns: [...movedColumns].map(_ref4 => {
|
|
111
|
-
var
|
|
112
|
-
|
|
113
|
-
from
|
|
114
|
-
} = _ref4;
|
|
103
|
+
var to = _ref4.to,
|
|
104
|
+
from = _ref4.from;
|
|
115
105
|
var getIndex = x => typeof x === 'string' ? columnNames.findIndex(name => name === x) : x;
|
|
116
106
|
return {
|
|
117
107
|
to: getIndex(to),
|
|
118
108
|
from: Array.isArray(from) ? [getIndex(from[0]), getIndex(from[1])] : getIndex(from)
|
|
119
109
|
};
|
|
120
110
|
}).filter(_ref5 => {
|
|
121
|
-
var
|
|
122
|
-
|
|
123
|
-
from
|
|
124
|
-
} = _ref5;
|
|
111
|
+
var to = _ref5.to,
|
|
112
|
+
from = _ref5.from;
|
|
125
113
|
return isValidIndex(to, columnNames) && (typeof from === 'number' && isValidIndex(from, columnNames) || Array.isArray(from) && isValidIndex(from[0], columnNames) && isValidIndex(from[1], columnNames));
|
|
126
114
|
}),
|
|
127
115
|
movedRows: [...movedRows]
|
|
@@ -135,11 +123,9 @@ class IrisGridUtils {
|
|
|
135
123
|
* @returns The dehydrated IrisGridPanel state
|
|
136
124
|
*/
|
|
137
125
|
static dehydrateIrisGridPanelState(model, irisGridPanelState) {
|
|
138
|
-
var
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
advancedSettings
|
|
142
|
-
} = irisGridPanelState;
|
|
126
|
+
var isSelectingPartition = irisGridPanelState.isSelectingPartition,
|
|
127
|
+
partitions = irisGridPanelState.partitions,
|
|
128
|
+
advancedSettings = irisGridPanelState.advancedSettings;
|
|
143
129
|
|
|
144
130
|
// Return value will be serialized, should not contain undefined
|
|
145
131
|
return {
|
|
@@ -156,10 +142,8 @@ class IrisGridUtils {
|
|
|
156
142
|
* @returns The state to apply to the IrisGridPanel
|
|
157
143
|
*/
|
|
158
144
|
static hydrateIrisGridPanelState(model, irisGridPanelState) {
|
|
159
|
-
var
|
|
160
|
-
|
|
161
|
-
advancedSettings
|
|
162
|
-
} = irisGridPanelState;
|
|
145
|
+
var isSelectingPartition = irisGridPanelState.isSelectingPartition,
|
|
146
|
+
advancedSettings = irisGridPanelState.advancedSettings;
|
|
163
147
|
var partitions = [];
|
|
164
148
|
if (isPanelStateV2(irisGridPanelState)) {
|
|
165
149
|
partitions = irisGridPanelState.partitions;
|
|
@@ -180,10 +164,10 @@ class IrisGridUtils {
|
|
|
180
164
|
*/
|
|
181
165
|
static dehydrateQuickFilters(quickFilters) {
|
|
182
166
|
return [...quickFilters].map(_ref6 => {
|
|
183
|
-
var
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
167
|
+
var _ref7 = _slicedToArray(_ref6, 2),
|
|
168
|
+
columnIndex = _ref7[0],
|
|
169
|
+
quickFilter = _ref7[1];
|
|
170
|
+
var text = quickFilter.text;
|
|
187
171
|
return [columnIndex, {
|
|
188
172
|
text
|
|
189
173
|
}];
|
|
@@ -200,11 +184,9 @@ class IrisGridUtils {
|
|
|
200
184
|
*/
|
|
201
185
|
static dehydrateSort(sorts) {
|
|
202
186
|
return sorts.map(sort => {
|
|
203
|
-
var
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
direction
|
|
207
|
-
} = sort;
|
|
187
|
+
var column = sort.column,
|
|
188
|
+
isAbs = sort.isAbs,
|
|
189
|
+
direction = sort.direction;
|
|
208
190
|
return {
|
|
209
191
|
column: column.name,
|
|
210
192
|
isAbs,
|
|
@@ -220,16 +202,12 @@ class IrisGridUtils {
|
|
|
220
202
|
*/
|
|
221
203
|
static extractTableSettings(panelState) {
|
|
222
204
|
var inputFilters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
223
|
-
var
|
|
224
|
-
|
|
225
|
-
irisGridState
|
|
226
|
-
} = panelState;
|
|
205
|
+
var irisGridPanelState = panelState.irisGridPanelState,
|
|
206
|
+
irisGridState = panelState.irisGridState;
|
|
227
207
|
var partitions = isPanelStateV2(irisGridPanelState) ? irisGridPanelState.partitions : [irisGridPanelState.partition];
|
|
228
|
-
var
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
sorts
|
|
232
|
-
} = irisGridState;
|
|
208
|
+
var advancedFilters = irisGridState.advancedFilters,
|
|
209
|
+
quickFilters = irisGridState.quickFilters,
|
|
210
|
+
sorts = irisGridState.sorts;
|
|
233
211
|
return {
|
|
234
212
|
advancedFilters,
|
|
235
213
|
inputFilters,
|
|
@@ -240,16 +218,12 @@ class IrisGridUtils {
|
|
|
240
218
|
}
|
|
241
219
|
static getInputFiltersForColumns(columns) {
|
|
242
220
|
var inputFilters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
243
|
-
return inputFilters.filter(
|
|
244
|
-
var
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
var {
|
|
250
|
-
name: columnName,
|
|
251
|
-
type: columnType
|
|
252
|
-
} = _ref8;
|
|
221
|
+
return inputFilters.filter(_ref8 => {
|
|
222
|
+
var name = _ref8.name,
|
|
223
|
+
type = _ref8.type;
|
|
224
|
+
return columns.find(_ref9 => {
|
|
225
|
+
var columnName = _ref9.name,
|
|
226
|
+
columnType = _ref9.type;
|
|
253
227
|
return columnName === name && columnType === type;
|
|
254
228
|
});
|
|
255
229
|
});
|
|
@@ -273,11 +247,13 @@ class IrisGridUtils {
|
|
|
273
247
|
* @returns Array of hidden column indexes
|
|
274
248
|
*/
|
|
275
249
|
static getHiddenColumns(userColumnWidths) {
|
|
276
|
-
return [...userColumnWidths.entries()].filter(
|
|
277
|
-
var
|
|
250
|
+
return [...userColumnWidths.entries()].filter(_ref0 => {
|
|
251
|
+
var _ref1 = _slicedToArray(_ref0, 2),
|
|
252
|
+
value = _ref1[1];
|
|
278
253
|
return value === 0;
|
|
279
|
-
}).map(
|
|
280
|
-
var
|
|
254
|
+
}).map(_ref10 => {
|
|
255
|
+
var _ref11 = _slicedToArray(_ref10, 1),
|
|
256
|
+
key = _ref11[0];
|
|
281
257
|
return key;
|
|
282
258
|
});
|
|
283
259
|
}
|
|
@@ -293,10 +269,8 @@ class IrisGridUtils {
|
|
|
293
269
|
return sorts.filter(sort => !columnNames.includes(sort.column.name));
|
|
294
270
|
}
|
|
295
271
|
static removeFiltersInColumns(columns, filters, removedColumnNames) {
|
|
296
|
-
var columnNames = columns.map(
|
|
297
|
-
var
|
|
298
|
-
name
|
|
299
|
-
} = _ref1;
|
|
272
|
+
var columnNames = columns.map(_ref12 => {
|
|
273
|
+
var name = _ref12.name;
|
|
300
274
|
return name;
|
|
301
275
|
});
|
|
302
276
|
var newFilter = new Map(filters);
|
|
@@ -304,10 +278,8 @@ class IrisGridUtils {
|
|
|
304
278
|
return newFilter;
|
|
305
279
|
}
|
|
306
280
|
static removeColumnFromMovedColumns(columns, movedColumns, removedColumnNames) {
|
|
307
|
-
var columnNames = columns.map(
|
|
308
|
-
var
|
|
309
|
-
name
|
|
310
|
-
} = _ref10;
|
|
281
|
+
var columnNames = columns.map(_ref13 => {
|
|
282
|
+
var name = _ref13.name;
|
|
311
283
|
return name;
|
|
312
284
|
});
|
|
313
285
|
var newMoves = [...movedColumns];
|
|
@@ -318,7 +290,10 @@ class IrisGridUtils {
|
|
|
318
290
|
for (var j = 0; j < newMoves.length; j += 1) {
|
|
319
291
|
var move = newMoves[j];
|
|
320
292
|
var newMove = _objectSpread({}, move);
|
|
321
|
-
var
|
|
293
|
+
var _ref14 = Array.isArray(move.from) ? move.from : [move.from, move.from],
|
|
294
|
+
_ref15 = _slicedToArray(_ref14, 2),
|
|
295
|
+
fromStart = _ref15[0],
|
|
296
|
+
fromEnd = _ref15[1];
|
|
322
297
|
if (removedColumnIndex <= move.to) {
|
|
323
298
|
newMove.to -= 1;
|
|
324
299
|
}
|
|
@@ -395,10 +370,8 @@ class IrisGridUtils {
|
|
|
395
370
|
static getColumnsToFetch(tableColumns, viewportColumns, alwaysFetchColumnNames) {
|
|
396
371
|
var columnsToFetch = [...viewportColumns];
|
|
397
372
|
alwaysFetchColumnNames.forEach(columnName => {
|
|
398
|
-
var column = tableColumns.find(
|
|
399
|
-
var
|
|
400
|
-
name
|
|
401
|
-
} = _ref11;
|
|
373
|
+
var column = tableColumns.find(_ref16 => {
|
|
374
|
+
var name = _ref16.name;
|
|
402
375
|
return name === columnName;
|
|
403
376
|
});
|
|
404
377
|
if (column != null && !viewportColumns.includes(column)) {
|
|
@@ -503,10 +476,8 @@ class IrisGridUtils {
|
|
|
503
476
|
* @returns A matrix of the values of the data
|
|
504
477
|
*/
|
|
505
478
|
static snapshotDataToMatrix(data) {
|
|
506
|
-
var
|
|
507
|
-
|
|
508
|
-
rows
|
|
509
|
-
} = data;
|
|
479
|
+
var columns = data.columns,
|
|
480
|
+
rows = data.rows;
|
|
510
481
|
var result = [];
|
|
511
482
|
for (var r = 0; r < rows.length; r += 1) {
|
|
512
483
|
var row = rows[r];
|
|
@@ -533,27 +504,26 @@ class IrisGridUtils {
|
|
|
533
504
|
if (((_config$columns$lengt = config === null || config === void 0 || (_config$columns = config.columns) === null || _config$columns === void 0 ? void 0 : _config$columns.length) !== null && _config$columns$lengt !== void 0 ? _config$columns$lengt : 0) === 0) {
|
|
534
505
|
return null;
|
|
535
506
|
}
|
|
536
|
-
var {
|
|
537
|
-
columns
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
var
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
507
|
+
var _ref17 = config !== null && config !== void 0 ? config : {},
|
|
508
|
+
_ref17$columns = _ref17.columns,
|
|
509
|
+
groupingColumns = _ref17$columns === void 0 ? [] : _ref17$columns,
|
|
510
|
+
_ref17$showConstituen = _ref17.showConstituents,
|
|
511
|
+
includeConstituents = _ref17$showConstituen === void 0 ? true : _ref17$showConstituen,
|
|
512
|
+
_ref17$showNonAggrega = _ref17.showNonAggregatedColumns,
|
|
513
|
+
showNonAggregatedColumns = _ref17$showNonAggrega === void 0 ? true : _ref17$showNonAggrega,
|
|
514
|
+
_ref17$includeDescrip = _ref17.includeDescriptions,
|
|
515
|
+
includeDescriptions = _ref17$includeDescrip === void 0 ? true : _ref17$includeDescrip;
|
|
516
|
+
var _ref18 = aggregationSettings !== null && aggregationSettings !== void 0 ? aggregationSettings : {},
|
|
517
|
+
_ref18$aggregations = _ref18.aggregations,
|
|
518
|
+
aggregations = _ref18$aggregations === void 0 ? [] : _ref18$aggregations;
|
|
519
|
+
var filteredAggregations = aggregations.filter(_ref19 => {
|
|
520
|
+
var operation = _ref19.operation;
|
|
549
521
|
return !AggregationUtils.isRollupProhibited(operation);
|
|
550
522
|
});
|
|
551
|
-
var aggregationColumns = filteredAggregations.map(
|
|
552
|
-
var
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
invert
|
|
556
|
-
} = _ref13;
|
|
523
|
+
var aggregationColumns = filteredAggregations.map(_ref20 => {
|
|
524
|
+
var operation = _ref20.operation,
|
|
525
|
+
selected = _ref20.selected,
|
|
526
|
+
invert = _ref20.invert;
|
|
557
527
|
return AggregationUtils.isRollupOperation(operation) ? [] : AggregationUtils.getOperationColumnNames(originalColumns, operation, selected, invert);
|
|
558
528
|
});
|
|
559
529
|
var aggregationMap = {};
|
|
@@ -581,6 +551,61 @@ class IrisGridUtils {
|
|
|
581
551
|
};
|
|
582
552
|
}
|
|
583
553
|
|
|
554
|
+
/**
|
|
555
|
+
* Build a per-column aggregation operation map for use in a
|
|
556
|
+
* `UITotalsTableConfig`. Rollup-only operations are skipped.
|
|
557
|
+
*/
|
|
558
|
+
static getOperationMap(columns, aggregations) {
|
|
559
|
+
var operationMap = {};
|
|
560
|
+
aggregations.filter(a => !AggregationUtils.isRollupOperation(a.operation)).forEach(_ref21 => {
|
|
561
|
+
var operation = _ref21.operation,
|
|
562
|
+
selected = _ref21.selected,
|
|
563
|
+
invert = _ref21.invert;
|
|
564
|
+
AggregationUtils.getOperationColumnNames(columns, operation, selected, invert).forEach(name => {
|
|
565
|
+
var _operationMap$name;
|
|
566
|
+
var newOperations = [...((_operationMap$name = operationMap[name]) !== null && _operationMap$name !== void 0 ? _operationMap$name : []), operation];
|
|
567
|
+
operationMap[name] = Object.freeze(newOperations);
|
|
568
|
+
});
|
|
569
|
+
});
|
|
570
|
+
return operationMap;
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
/**
|
|
574
|
+
* Ordered list of (non-rollup) operations used by a totals table.
|
|
575
|
+
*/
|
|
576
|
+
static getOperationOrder(aggregations) {
|
|
577
|
+
return aggregations.map(a => a.operation).filter(o => !AggregationUtils.isRollupOperation(o));
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
/**
|
|
581
|
+
* Hydrate model totals config for a standalone aggregations view
|
|
582
|
+
* (no rollup). Returns `null` when there are no active aggregations
|
|
583
|
+
* or when a rollup is active (in which case aggregations are folded
|
|
584
|
+
* into the rollup config instead — see `getModelRollupConfig`).
|
|
585
|
+
*
|
|
586
|
+
* @param columns Model columns
|
|
587
|
+
* @param rollupConfig Current rollup config (or undefined). When set
|
|
588
|
+
* with at least one grouping column, this returns
|
|
589
|
+
* `null` so totals don't double-up with the rollup.
|
|
590
|
+
* @param aggregationSettings Aggregation settings
|
|
591
|
+
*/
|
|
592
|
+
static getModelTotalsConfig(columns, rollupConfig, aggregationSettings) {
|
|
593
|
+
var _rollupConfig$columns, _rollupConfig$columns2;
|
|
594
|
+
if (((_rollupConfig$columns = rollupConfig === null || rollupConfig === void 0 || (_rollupConfig$columns2 = rollupConfig.columns) === null || _rollupConfig$columns2 === void 0 ? void 0 : _rollupConfig$columns2.length) !== null && _rollupConfig$columns !== void 0 ? _rollupConfig$columns : 0) > 0) {
|
|
595
|
+
return null;
|
|
596
|
+
}
|
|
597
|
+
var aggregations = aggregationSettings.aggregations.filter(agg => agg.selected.length > 0 || agg.invert);
|
|
598
|
+
if (aggregations.length === 0) {
|
|
599
|
+
return null;
|
|
600
|
+
}
|
|
601
|
+
return {
|
|
602
|
+
operationMap: IrisGridUtils.getOperationMap(columns, aggregations),
|
|
603
|
+
operationOrder: IrisGridUtils.getOperationOrder(aggregations),
|
|
604
|
+
showOnTop: aggregationSettings.showOnTop,
|
|
605
|
+
defaultOperation: AggregationOperation.SKIP
|
|
606
|
+
};
|
|
607
|
+
}
|
|
608
|
+
|
|
584
609
|
/**
|
|
585
610
|
* @param pendingDataMap Map of pending data
|
|
586
611
|
* @returns A map with the errors in the pending data
|
|
@@ -590,9 +615,7 @@ class IrisGridUtils {
|
|
|
590
615
|
if (!IrisGridUtils.isValidIndex(rowIndex)) {
|
|
591
616
|
throw new Error("Invalid rowIndex ".concat(rowIndex));
|
|
592
617
|
}
|
|
593
|
-
var
|
|
594
|
-
data
|
|
595
|
-
} = row;
|
|
618
|
+
var data = row.data;
|
|
596
619
|
data.forEach((value, columnIndex) => {
|
|
597
620
|
if (!IrisGridUtils.isValidIndex(columnIndex)) {
|
|
598
621
|
throw new Error("Invalid columnIndex ".concat(columnIndex));
|
|
@@ -622,17 +645,13 @@ class IrisGridUtils {
|
|
|
622
645
|
*/
|
|
623
646
|
static getColumnByName(columns, columnName) {
|
|
624
647
|
// Columns can contain ColumnBy sources with negative indexes
|
|
625
|
-
var column = Object.values(columns).find(
|
|
626
|
-
var
|
|
627
|
-
name
|
|
628
|
-
} = _ref14;
|
|
648
|
+
var column = Object.values(columns).find(_ref22 => {
|
|
649
|
+
var name = _ref22.name;
|
|
629
650
|
return name === columnName;
|
|
630
651
|
});
|
|
631
652
|
if (column == null) {
|
|
632
|
-
log.error('Unable to retrieve column by name', columnName, columns.map(
|
|
633
|
-
var
|
|
634
|
-
name
|
|
635
|
-
} = _ref15;
|
|
653
|
+
log.error('Unable to retrieve column by name', columnName, columns.map(_ref23 => {
|
|
654
|
+
var name = _ref23.name;
|
|
636
655
|
return name;
|
|
637
656
|
}));
|
|
638
657
|
}
|
|
@@ -646,11 +665,9 @@ class IrisGridUtils {
|
|
|
646
665
|
* @returns Updated filter configs with column names changed to indexes
|
|
647
666
|
*/
|
|
648
667
|
static changeFilterColumnNamesToIndexes(columns, filters) {
|
|
649
|
-
return filters.map(
|
|
650
|
-
var
|
|
651
|
-
|
|
652
|
-
filter
|
|
653
|
-
} = _ref16;
|
|
668
|
+
return filters.map(_ref24 => {
|
|
669
|
+
var name = _ref24.name,
|
|
670
|
+
filter = _ref24.filter;
|
|
654
671
|
var index = columns.findIndex(column => column.name === name);
|
|
655
672
|
return index < 0 ? null : [index, filter];
|
|
656
673
|
}).filter(filterConfig => filterConfig != null);
|
|
@@ -674,11 +691,10 @@ class IrisGridUtils {
|
|
|
674
691
|
});
|
|
675
692
|
var combinedText = '';
|
|
676
693
|
for (var i = 0; i < filterList.length; i += 1) {
|
|
677
|
-
var
|
|
678
|
-
text,
|
|
679
|
-
value,
|
|
680
|
-
operator
|
|
681
|
-
} = filterList[i];
|
|
694
|
+
var _filterList$i = filterList[i],
|
|
695
|
+
text = _filterList$i.text,
|
|
696
|
+
value = _filterList$i.value,
|
|
697
|
+
operator = _filterList$i.operator;
|
|
682
698
|
if (value !== undefined) {
|
|
683
699
|
var symbol = '';
|
|
684
700
|
if (operator !== undefined) {
|
|
@@ -721,10 +737,8 @@ class IrisGridUtils {
|
|
|
721
737
|
var groupMap = new Map();
|
|
722
738
|
|
|
723
739
|
// Remove any empty groups before parsing
|
|
724
|
-
var groups = groupsParam === null || groupsParam === void 0 ? void 0 : groupsParam.filter(
|
|
725
|
-
var
|
|
726
|
-
children
|
|
727
|
-
} = _ref17;
|
|
740
|
+
var groups = groupsParam === null || groupsParam === void 0 ? void 0 : groupsParam.filter(_ref25 => {
|
|
741
|
+
var children = _ref25.children;
|
|
728
742
|
return children != null && children.length > 0;
|
|
729
743
|
});
|
|
730
744
|
if (groups.length === 0) {
|
|
@@ -739,9 +753,7 @@ class IrisGridUtils {
|
|
|
739
753
|
var seenChildren = new Set();
|
|
740
754
|
var addGroup = group => {
|
|
741
755
|
var _group$children;
|
|
742
|
-
var
|
|
743
|
-
name
|
|
744
|
-
} = group;
|
|
756
|
+
var name = group.name;
|
|
745
757
|
assertNotNull(name, 'Column header group has no name');
|
|
746
758
|
var columnIndex = model.getColumnIndexByName(name);
|
|
747
759
|
// Groups cannot have names matching columns to avoid parent-child collision
|
|
@@ -792,9 +804,7 @@ class IrisGridUtils {
|
|
|
792
804
|
};
|
|
793
805
|
var groupNames = new Set();
|
|
794
806
|
groups.forEach(group => {
|
|
795
|
-
var
|
|
796
|
-
name
|
|
797
|
-
} = group;
|
|
807
|
+
var name = group.name;
|
|
798
808
|
if (groupNames.has(name)) {
|
|
799
809
|
throw new Error("Duplicate column group name: ".concat(name));
|
|
800
810
|
}
|
|
@@ -850,39 +860,42 @@ class IrisGridUtils {
|
|
|
850
860
|
* @param irisGridState The current state of the IrisGrid
|
|
851
861
|
*/
|
|
852
862
|
dehydrateIrisGridState(model, irisGridState) {
|
|
853
|
-
var
|
|
854
|
-
aggregationSettings = {
|
|
863
|
+
var _irisGridState$aggreg = irisGridState.aggregationSettings,
|
|
864
|
+
aggregationSettings = _irisGridState$aggreg === void 0 ? {
|
|
855
865
|
aggregations: EMPTY_ARRAY,
|
|
856
866
|
showOnTop: false
|
|
857
|
-
},
|
|
858
|
-
advancedFilters,
|
|
859
|
-
customColumnFormatMap,
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
867
|
+
} : _irisGridState$aggreg,
|
|
868
|
+
advancedFilters = irisGridState.advancedFilters,
|
|
869
|
+
customColumnFormatMap = irisGridState.customColumnFormatMap,
|
|
870
|
+
_irisGridState$column = irisGridState.columnAlignmentMap,
|
|
871
|
+
columnAlignmentMap = _irisGridState$column === void 0 ? EMPTY_MAP : _irisGridState$column,
|
|
872
|
+
isFilterBarShown = irisGridState.isFilterBarShown,
|
|
873
|
+
metricCalculator = irisGridState.metricCalculator,
|
|
874
|
+
_irisGridState$metric = irisGridState.metrics,
|
|
875
|
+
_irisGridState$metric2 = _irisGridState$metric === void 0 ? {} : _irisGridState$metric,
|
|
876
|
+
_irisGridState$metric3 = _irisGridState$metric2.userColumnWidths,
|
|
877
|
+
userColumnWidths = _irisGridState$metric3 === void 0 ? new Map() : _irisGridState$metric3,
|
|
878
|
+
_irisGridState$metric4 = _irisGridState$metric2.userRowHeights,
|
|
879
|
+
userRowHeights = _irisGridState$metric4 === void 0 ? new Map() : _irisGridState$metric4,
|
|
880
|
+
quickFilters = irisGridState.quickFilters,
|
|
881
|
+
customColumns = irisGridState.customColumns,
|
|
882
|
+
_irisGridState$condit = irisGridState.conditionalFormats,
|
|
883
|
+
conditionalFormats = _irisGridState$condit === void 0 ? EMPTY_ARRAY : _irisGridState$condit,
|
|
884
|
+
reverse = irisGridState.reverse,
|
|
885
|
+
rollupConfig = irisGridState.rollupConfig,
|
|
886
|
+
showSearchBar = irisGridState.showSearchBar,
|
|
887
|
+
searchValue = irisGridState.searchValue,
|
|
888
|
+
_irisGridState$select = irisGridState.selectDistinctColumns,
|
|
889
|
+
selectDistinctColumns = _irisGridState$select === void 0 ? EMPTY_ARRAY : _irisGridState$select,
|
|
890
|
+
selectedSearchColumns = irisGridState.selectedSearchColumns,
|
|
891
|
+
sorts = irisGridState.sorts,
|
|
892
|
+
invertSearchColumns = irisGridState.invertSearchColumns,
|
|
893
|
+
_irisGridState$pendin = irisGridState.pendingDataMap,
|
|
894
|
+
pendingDataMap = _irisGridState$pendin === void 0 ? EMPTY_MAP : _irisGridState$pendin,
|
|
895
|
+
frozenColumns = irisGridState.frozenColumns,
|
|
896
|
+
columnHeaderGroups = irisGridState.columnHeaderGroups,
|
|
897
|
+
partitionConfig = irisGridState.partitionConfig;
|
|
898
|
+
var columns = model.columns;
|
|
886
899
|
var partitionColumns = isPartitionedGridModelProvider(model) ? model.partitionColumns : [];
|
|
887
900
|
|
|
888
901
|
// Prefer the by-name map from the metric calculator: it preserves entries
|
|
@@ -890,11 +903,14 @@ class IrisGridUtils {
|
|
|
890
903
|
// active), so reload-then-save round-trips don't drop them.
|
|
891
904
|
// Fall back to projecting the by-index map from `metrics` against the
|
|
892
905
|
// current model for callers that didn't pass a metric calculator.
|
|
893
|
-
var dehydratedUserColumnWidths = metricCalculator != null ? [...metricCalculator.getUserColumnWidthsByName()] : [...userColumnWidths].filter(
|
|
894
|
-
var
|
|
906
|
+
var dehydratedUserColumnWidths = metricCalculator != null ? [...metricCalculator.getUserColumnWidthsByName()] : [...userColumnWidths].filter(_ref26 => {
|
|
907
|
+
var _ref27 = _slicedToArray(_ref26, 1),
|
|
908
|
+
columnIndex = _ref27[0];
|
|
895
909
|
return columnIndex != null && columnIndex >= 0 && columnIndex < columns.length;
|
|
896
|
-
}).map(
|
|
897
|
-
var
|
|
910
|
+
}).map(_ref28 => {
|
|
911
|
+
var _ref29 = _slicedToArray(_ref28, 2),
|
|
912
|
+
columnIndex = _ref29[0],
|
|
913
|
+
width = _ref29[1];
|
|
898
914
|
return [columns[columnIndex].name, width];
|
|
899
915
|
});
|
|
900
916
|
|
|
@@ -938,39 +954,40 @@ class IrisGridUtils {
|
|
|
938
954
|
* @param irisGridState The saved IrisGrid state
|
|
939
955
|
*/
|
|
940
956
|
hydrateIrisGridState(model, irisGridState) {
|
|
941
|
-
var
|
|
942
|
-
var
|
|
943
|
-
|
|
944
|
-
aggregationSettings = {
|
|
957
|
+
var _ref36, _model$layoutHints;
|
|
958
|
+
var advancedFilters = irisGridState.advancedFilters,
|
|
959
|
+
_irisGridState$aggreg2 = irisGridState.aggregationSettings,
|
|
960
|
+
aggregationSettings = _irisGridState$aggreg2 === void 0 ? {
|
|
945
961
|
aggregations: [],
|
|
946
962
|
showOnTop: false
|
|
947
|
-
},
|
|
948
|
-
customColumnFormatMap,
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
963
|
+
} : _irisGridState$aggreg2,
|
|
964
|
+
customColumnFormatMap = irisGridState.customColumnFormatMap,
|
|
965
|
+
_irisGridState$column2 = irisGridState.columnAlignmentMap,
|
|
966
|
+
columnAlignmentMap = _irisGridState$column2 === void 0 ? [] : _irisGridState$column2,
|
|
967
|
+
isFilterBarShown = irisGridState.isFilterBarShown,
|
|
968
|
+
quickFilters = irisGridState.quickFilters,
|
|
969
|
+
sorts = irisGridState.sorts,
|
|
970
|
+
customColumns = irisGridState.customColumns,
|
|
971
|
+
conditionalFormats = irisGridState.conditionalFormats,
|
|
972
|
+
userColumnWidths = irisGridState.userColumnWidths,
|
|
973
|
+
userRowHeights = irisGridState.userRowHeights,
|
|
974
|
+
reverseType = irisGridState.reverseType,
|
|
975
|
+
reverse = irisGridState.reverse,
|
|
976
|
+
_irisGridState$rollup = irisGridState.rollupConfig,
|
|
977
|
+
rollupConfig = _irisGridState$rollup === void 0 ? undefined : _irisGridState$rollup,
|
|
978
|
+
showSearchBar = irisGridState.showSearchBar,
|
|
979
|
+
searchValue = irisGridState.searchValue,
|
|
980
|
+
selectDistinctColumns = irisGridState.selectDistinctColumns,
|
|
981
|
+
selectedSearchColumns = irisGridState.selectedSearchColumns,
|
|
982
|
+
_irisGridState$invert = irisGridState.invertSearchColumns,
|
|
983
|
+
invertSearchColumns = _irisGridState$invert === void 0 ? true : _irisGridState$invert,
|
|
984
|
+
_irisGridState$pendin2 = irisGridState.pendingDataMap,
|
|
985
|
+
pendingDataMap = _irisGridState$pendin2 === void 0 ? [] : _irisGridState$pendin2,
|
|
986
|
+
frozenColumns = irisGridState.frozenColumns,
|
|
987
|
+
columnHeaderGroups = irisGridState.columnHeaderGroups,
|
|
988
|
+
partitionConfig = irisGridState.partitionConfig;
|
|
989
|
+
var columns = model.columns,
|
|
990
|
+
formatter = model.formatter;
|
|
974
991
|
var partitionColumns = isPartitionedGridModelProvider(model) ? model.partitionColumns : [];
|
|
975
992
|
|
|
976
993
|
// Build a name-keyed map preserving every persisted entry, including
|
|
@@ -978,9 +995,11 @@ class IrisGridUtils {
|
|
|
978
995
|
// by-index map from that for back-compat with consumers that read
|
|
979
996
|
// widths immediately after hydrate.
|
|
980
997
|
var userColumnWidthsByName = new Map();
|
|
981
|
-
userColumnWidths.forEach(
|
|
998
|
+
userColumnWidths.forEach(_ref30 => {
|
|
982
999
|
var _columns;
|
|
983
|
-
var
|
|
1000
|
+
var _ref31 = _slicedToArray(_ref30, 2),
|
|
1001
|
+
column = _ref31[0],
|
|
1002
|
+
width = _ref31[1];
|
|
984
1003
|
var name = typeof column === 'string' || column instanceof String ? column : (_columns = columns[column]) === null || _columns === void 0 ? void 0 : _columns.name;
|
|
985
1004
|
if (name != null) {
|
|
986
1005
|
userColumnWidthsByName.set(name, width);
|
|
@@ -995,11 +1014,14 @@ class IrisGridUtils {
|
|
|
995
1014
|
quickFilters: this.hydrateQuickFilters(columns, quickFilters, formatter.timeZone),
|
|
996
1015
|
sorts: this.hydrateSort(columns, sorts, true),
|
|
997
1016
|
userColumnWidthsByName,
|
|
998
|
-
userColumnWidths: new Map([...userColumnWidthsByName].map(
|
|
999
|
-
var
|
|
1017
|
+
userColumnWidths: new Map([...userColumnWidthsByName].map(_ref32 => {
|
|
1018
|
+
var _ref33 = _slicedToArray(_ref32, 2),
|
|
1019
|
+
name = _ref33[0],
|
|
1020
|
+
width = _ref33[1];
|
|
1000
1021
|
return [columns.findIndex(c => c.name === name), width];
|
|
1001
|
-
}).filter(
|
|
1002
|
-
var
|
|
1022
|
+
}).filter(_ref34 => {
|
|
1023
|
+
var _ref35 = _slicedToArray(_ref34, 1),
|
|
1024
|
+
column = _ref35[0];
|
|
1003
1025
|
return column != null && column >= 0 && column < columns.length;
|
|
1004
1026
|
})),
|
|
1005
1027
|
customColumns,
|
|
@@ -1014,7 +1036,7 @@ class IrisGridUtils {
|
|
|
1014
1036
|
invertSearchColumns,
|
|
1015
1037
|
pendingDataMap: this.hydratePendingDataMap(columns, pendingDataMap),
|
|
1016
1038
|
frozenColumns,
|
|
1017
|
-
columnHeaderGroups: IrisGridUtils.parseColumnHeaderGroups(model, (
|
|
1039
|
+
columnHeaderGroups: IrisGridUtils.parseColumnHeaderGroups(model, (_ref36 = columnHeaderGroups !== null && columnHeaderGroups !== void 0 ? columnHeaderGroups : (_model$layoutHints = model.layoutHints) === null || _model$layoutHints === void 0 ? void 0 : _model$layoutHints.columnGroups) !== null && _ref36 !== void 0 ? _ref36 : []).groups,
|
|
1018
1040
|
partitionConfig: this.hydratePartitionConfig(partitionColumns, partitionConfig)
|
|
1019
1041
|
};
|
|
1020
1042
|
}
|
|
@@ -1027,11 +1049,11 @@ class IrisGridUtils {
|
|
|
1027
1049
|
* @returns The quick filters to apply to the columns
|
|
1028
1050
|
*/
|
|
1029
1051
|
hydrateQuickFilters(columns, savedQuickFilters, timeZone) {
|
|
1030
|
-
var importedFilters = savedQuickFilters.map(
|
|
1031
|
-
var
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1052
|
+
var importedFilters = savedQuickFilters.map(_ref37 => {
|
|
1053
|
+
var _ref38 = _slicedToArray(_ref37, 2),
|
|
1054
|
+
columnIndex = _ref38[0],
|
|
1055
|
+
quickFilter = _ref38[1];
|
|
1056
|
+
var text = quickFilter.text;
|
|
1035
1057
|
var filter = null;
|
|
1036
1058
|
try {
|
|
1037
1059
|
var column = IrisGridUtils.getColumn(columns, columnIndex);
|
|
@@ -1056,8 +1078,10 @@ class IrisGridUtils {
|
|
|
1056
1078
|
* @returns The dehydrated advanced filters
|
|
1057
1079
|
*/
|
|
1058
1080
|
dehydrateAdvancedFilters(columns, advancedFilters) {
|
|
1059
|
-
return [...advancedFilters].map(
|
|
1060
|
-
var
|
|
1081
|
+
return [...advancedFilters].map(_ref39 => {
|
|
1082
|
+
var _ref40 = _slicedToArray(_ref39, 2),
|
|
1083
|
+
columnIndex = _ref40[0],
|
|
1084
|
+
advancedFilter = _ref40[1];
|
|
1061
1085
|
var column = IrisGridUtils.getColumn(columns, columnIndex);
|
|
1062
1086
|
assertNotNull(column);
|
|
1063
1087
|
var options = this.dehydrateAdvancedFilterOptions(column, advancedFilter.options);
|
|
@@ -1075,8 +1099,10 @@ class IrisGridUtils {
|
|
|
1075
1099
|
* @returns The advanced filters to apply to the columns
|
|
1076
1100
|
*/
|
|
1077
1101
|
hydrateAdvancedFilters(columns, savedAdvancedFilters, timeZone) {
|
|
1078
|
-
var importedFilters = savedAdvancedFilters.map(
|
|
1079
|
-
var
|
|
1102
|
+
var importedFilters = savedAdvancedFilters.map(_ref41 => {
|
|
1103
|
+
var _ref42 = _slicedToArray(_ref41, 2),
|
|
1104
|
+
columnIndex = _ref42[0],
|
|
1105
|
+
advancedFilter = _ref42[1];
|
|
1080
1106
|
var column = IrisGridUtils.getColumn(columns, columnIndex);
|
|
1081
1107
|
assertNotNull(column);
|
|
1082
1108
|
var options = this.hydrateAdvancedFilterOptions(column, advancedFilter.options);
|
|
@@ -1097,34 +1123,33 @@ class IrisGridUtils {
|
|
|
1097
1123
|
return new Map(importedFilters);
|
|
1098
1124
|
}
|
|
1099
1125
|
dehydrateAdvancedFilterOptions(column, options) {
|
|
1100
|
-
var
|
|
1101
|
-
selectedValues
|
|
1102
|
-
} = options,
|
|
1126
|
+
var selectedValues = options.selectedValues,
|
|
1103
1127
|
otherOptions = _objectWithoutProperties(options, _excluded);
|
|
1104
1128
|
return _objectSpread({
|
|
1105
1129
|
selectedValues: selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.map(value => this.dehydrateValue(value, column === null || column === void 0 ? void 0 : column.type))
|
|
1106
1130
|
}, otherOptions);
|
|
1107
1131
|
}
|
|
1108
1132
|
hydrateAdvancedFilterOptions(column, options) {
|
|
1109
|
-
var
|
|
1110
|
-
selectedValues
|
|
1111
|
-
} = options,
|
|
1133
|
+
var selectedValues = options.selectedValues,
|
|
1112
1134
|
otherOptions = _objectWithoutProperties(options, _excluded2);
|
|
1113
1135
|
return _objectSpread({
|
|
1114
1136
|
selectedValues: selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.map(value => this.hydrateValue(value, column === null || column === void 0 ? void 0 : column.type))
|
|
1115
1137
|
}, otherOptions);
|
|
1116
1138
|
}
|
|
1117
1139
|
dehydratePendingDataMap(columns, pendingDataMap) {
|
|
1118
|
-
return [...pendingDataMap].map(
|
|
1119
|
-
var
|
|
1120
|
-
|
|
1121
|
-
|
|
1140
|
+
return [...pendingDataMap].map(_ref43 => {
|
|
1141
|
+
var _ref44 = _slicedToArray(_ref43, 2),
|
|
1142
|
+
rowIndex = _ref44[0],
|
|
1143
|
+
data = _ref44[1].data;
|
|
1122
1144
|
return [rowIndex, {
|
|
1123
|
-
data: [...data].filter(
|
|
1124
|
-
var
|
|
1145
|
+
data: [...data].filter(_ref45 => {
|
|
1146
|
+
var _ref46 = _slicedToArray(_ref45, 1),
|
|
1147
|
+
c = _ref46[0];
|
|
1125
1148
|
return typeof c === 'number';
|
|
1126
|
-
}).map(
|
|
1127
|
-
var
|
|
1149
|
+
}).map(_ref47 => {
|
|
1150
|
+
var _ref48 = _slicedToArray(_ref47, 2),
|
|
1151
|
+
c = _ref48[0],
|
|
1152
|
+
cellData = _ref48[1];
|
|
1128
1153
|
return [columns[c].name, this.dehydrateValue(cellData.value, columns[c].type)];
|
|
1129
1154
|
})
|
|
1130
1155
|
}];
|
|
@@ -1134,23 +1159,23 @@ class IrisGridUtils {
|
|
|
1134
1159
|
var columnMap = new Map();
|
|
1135
1160
|
var getColumnIndex = columnName => {
|
|
1136
1161
|
if (!columnMap.has(columnName)) {
|
|
1137
|
-
columnMap.set(columnName, columns.findIndex(
|
|
1138
|
-
var
|
|
1139
|
-
name
|
|
1140
|
-
} = _ref30;
|
|
1162
|
+
columnMap.set(columnName, columns.findIndex(_ref49 => {
|
|
1163
|
+
var name = _ref49.name;
|
|
1141
1164
|
return name === columnName;
|
|
1142
1165
|
}));
|
|
1143
1166
|
}
|
|
1144
1167
|
return columnMap.get(columnName);
|
|
1145
1168
|
};
|
|
1146
|
-
return new Map(pendingDataMap.map(
|
|
1147
|
-
var
|
|
1148
|
-
|
|
1149
|
-
|
|
1169
|
+
return new Map(pendingDataMap.map(_ref50 => {
|
|
1170
|
+
var _ref51 = _slicedToArray(_ref50, 2),
|
|
1171
|
+
rowIndex = _ref51[0],
|
|
1172
|
+
data = _ref51[1].data;
|
|
1150
1173
|
return [rowIndex, {
|
|
1151
|
-
data: new Map(data.map(
|
|
1174
|
+
data: new Map(data.map(_ref52 => {
|
|
1152
1175
|
var _getColumnIndex;
|
|
1153
|
-
var
|
|
1176
|
+
var _ref53 = _slicedToArray(_ref52, 2),
|
|
1177
|
+
columnName = _ref53[0],
|
|
1178
|
+
value = _ref53[1];
|
|
1154
1179
|
var index = getColumnIndex(columnName);
|
|
1155
1180
|
assertNotNull(index);
|
|
1156
1181
|
return [(_getColumnIndex = getColumnIndex(columnName)) !== null && _getColumnIndex !== void 0 ? _getColumnIndex : null, {
|
|
@@ -1225,15 +1250,11 @@ class IrisGridUtils {
|
|
|
1225
1250
|
*/
|
|
1226
1251
|
hydrateSort(columns, sorts) {
|
|
1227
1252
|
var dropReverse = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
1228
|
-
var
|
|
1229
|
-
dh
|
|
1230
|
-
} = this;
|
|
1253
|
+
var dh = this.dh;
|
|
1231
1254
|
return sorts.map(sort => {
|
|
1232
|
-
var
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
direction
|
|
1236
|
-
} = sort;
|
|
1255
|
+
var columnIndexOrName = sort.column,
|
|
1256
|
+
isAbs = sort.isAbs,
|
|
1257
|
+
direction = sort.direction;
|
|
1237
1258
|
if (direction === TableUtils.sortDirection.reverse) {
|
|
1238
1259
|
return dh.Table.reverse();
|
|
1239
1260
|
}
|
|
@@ -1257,17 +1278,11 @@ class IrisGridUtils {
|
|
|
1257
1278
|
.filter(item => item != null && (item.direction !== TableUtils.sortDirection.reverse || !dropReverse));
|
|
1258
1279
|
}
|
|
1259
1280
|
hydrateDhSort(columns, sorts) {
|
|
1260
|
-
var
|
|
1261
|
-
dh
|
|
1262
|
-
} = this;
|
|
1281
|
+
var dh = this.dh;
|
|
1263
1282
|
return sorts.map(sortDescriptor => {
|
|
1264
|
-
var
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
},
|
|
1268
|
-
isAbs,
|
|
1269
|
-
direction
|
|
1270
|
-
} = sortDescriptor;
|
|
1283
|
+
var name = sortDescriptor.column.name,
|
|
1284
|
+
isAbs = sortDescriptor.isAbs,
|
|
1285
|
+
direction = sortDescriptor.direction;
|
|
1271
1286
|
if (direction === TableUtils.sortDirection.reverse) {
|
|
1272
1287
|
return dh.Table.reverse();
|
|
1273
1288
|
}
|
|
@@ -1297,9 +1312,7 @@ class IrisGridUtils {
|
|
|
1297
1312
|
* @param timeZone The time zone to make this value in if it is a date type. E.g. America/New_York
|
|
1298
1313
|
*/
|
|
1299
1314
|
applyTableSettings(table, tableSettings, timeZone) {
|
|
1300
|
-
var
|
|
1301
|
-
columns
|
|
1302
|
-
} = table;
|
|
1315
|
+
var columns = table.columns;
|
|
1303
1316
|
var quickFilters = [];
|
|
1304
1317
|
if (tableSettings.quickFilters) {
|
|
1305
1318
|
quickFilters = IrisGridUtils.getFiltersFromFilterMap(this.hydrateQuickFilters(columns, tableSettings.quickFilters, timeZone));
|
|
@@ -1314,10 +1327,8 @@ class IrisGridUtils {
|
|
|
1314
1327
|
sorts = this.hydrateDhSort(columns, this.hydrateSort(columns, tableSettings.sorts));
|
|
1315
1328
|
}
|
|
1316
1329
|
var filters = [...quickFilters, ...advancedFilters];
|
|
1317
|
-
var
|
|
1318
|
-
|
|
1319
|
-
partitionColumns: partitionColumnNames
|
|
1320
|
-
} = tableSettings;
|
|
1330
|
+
var partitions = tableSettings.partitions,
|
|
1331
|
+
partitionColumnNames = tableSettings.partitionColumns;
|
|
1321
1332
|
if (partitions && partitions.length && partitionColumnNames && partitionColumnNames !== null && partitionColumnNames !== void 0 && partitionColumnNames.length) {
|
|
1322
1333
|
var partitionColumns = partitionColumnNames.map(partitionColumnName => IrisGridUtils.getColumnByName(columns, partitionColumnName));
|
|
1323
1334
|
for (var i = 0; i < partitionColumns.length; i += 1) {
|
|
@@ -1335,17 +1346,13 @@ class IrisGridUtils {
|
|
|
1335
1346
|
getFiltersFromInputFilters(columns) {
|
|
1336
1347
|
var inputFilters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
1337
1348
|
var timeZone = arguments.length > 2 ? arguments[2] : undefined;
|
|
1338
|
-
return inputFilters.map(
|
|
1339
|
-
var
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
var {
|
|
1346
|
-
name: columnName,
|
|
1347
|
-
type: columnType
|
|
1348
|
-
} = _ref34;
|
|
1349
|
+
return inputFilters.map(_ref54 => {
|
|
1350
|
+
var name = _ref54.name,
|
|
1351
|
+
type = _ref54.type,
|
|
1352
|
+
value = _ref54.value;
|
|
1353
|
+
var column = columns.find(_ref55 => {
|
|
1354
|
+
var columnName = _ref55.name,
|
|
1355
|
+
columnType = _ref55.type;
|
|
1349
1356
|
return columnName === name && columnType === type;
|
|
1350
1357
|
});
|
|
1351
1358
|
if (column) {
|
|
@@ -1368,18 +1375,14 @@ class IrisGridUtils {
|
|
|
1368
1375
|
* @returns The rangeset for the provided ranges
|
|
1369
1376
|
*/
|
|
1370
1377
|
rangeSetFromRanges(ranges) {
|
|
1371
|
-
var
|
|
1372
|
-
dh
|
|
1373
|
-
} = this;
|
|
1378
|
+
var dh = this.dh;
|
|
1374
1379
|
var rangeSets = ranges.slice().sort((a, b) => {
|
|
1375
1380
|
assertNotNull(a.startRow);
|
|
1376
1381
|
assertNotNull(b.startRow);
|
|
1377
1382
|
return a.startRow - b.startRow;
|
|
1378
1383
|
}).map(range => {
|
|
1379
|
-
var
|
|
1380
|
-
|
|
1381
|
-
endRow
|
|
1382
|
-
} = range;
|
|
1384
|
+
var startRow = range.startRow,
|
|
1385
|
+
endRow = range.endRow;
|
|
1383
1386
|
assertNotNull(startRow);
|
|
1384
1387
|
assertNotNull(endRow);
|
|
1385
1388
|
return dh.RangeSet.ofRange(startRow, endRow);
|