@deephaven/iris-grid 0.22.3-beta.15 → 0.22.3-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AdvancedFilterCreator.js +7 -65
- package/dist/AdvancedFilterCreator.js.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.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.js +1 -20
- package/dist/ColumnStatistics.js.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 +41 -35
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +77 -519
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridBottomBar.d.ts +1 -1
- package/dist/IrisGridBottomBar.d.ts.map +1 -1
- package/dist/IrisGridBottomBar.js +2 -2
- package/dist/IrisGridBottomBar.js.map +1 -1
- package/dist/IrisGridCellOverflowModal.js +6 -21
- package/dist/IrisGridCellOverflowModal.js.map +1 -1
- package/dist/IrisGridCopyHandler.js +3 -50
- package/dist/IrisGridCopyHandler.js.map +1 -1
- package/dist/IrisGridMetricCalculator.js +2 -12
- package/dist/IrisGridMetricCalculator.js.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.js +41 -183
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridShortcuts.js.map +1 -1
- package/dist/IrisGridTableModel.d.ts +2 -2
- 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 +2 -2
- 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.js.map +1 -1
- package/dist/IrisGridTreeTableModel.js +3 -42
- package/dist/IrisGridTreeTableModel.js.map +1 -1
- package/dist/IrisGridUtils.d.ts +11 -5
- 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.js +2 -48
- package/dist/PartitionSelectorSearch.js.map +1 -1
- package/dist/PendingDataBottomBar.d.ts +1 -1
- 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 +1 -1
- 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.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 +15 -105
- 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 +4 -4
- 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.js +2 -46
- package/dist/sidebar/ChartBuilder.js.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.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.js +0 -52
- package/dist/sidebar/TableCsvExporter.js.map +1 -1
- package/dist/sidebar/TableSaver.d.ts +1 -1
- package/dist/sidebar/TableSaver.d.ts.map +1 -1
- package/dist/sidebar/TableSaver.js +10 -123
- package/dist/sidebar/TableSaver.js.map +1 -1
- package/dist/sidebar/VisibilityOrderingBuilder.d.ts +3 -2
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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.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/IrisGridUtils.js
CHANGED
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
var _excluded = ["selectedValues"],
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
_excluded2 = ["selectedValues"];
|
|
4
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; }
|
|
5
|
-
|
|
6
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; }
|
|
7
|
-
|
|
8
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; }
|
|
9
|
-
|
|
10
6
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
11
|
-
|
|
12
7
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
13
|
-
|
|
14
8
|
import { GridUtils } from '@deephaven/grid';
|
|
15
9
|
import dh from '@deephaven/jsapi-shim';
|
|
16
10
|
import { DateUtils, TableUtils } from '@deephaven/jsapi-utils';
|
|
@@ -20,7 +14,6 @@ import AggregationUtils from "./sidebar/aggregations/AggregationUtils.js";
|
|
|
20
14
|
import AggregationOperation from "./sidebar/aggregations/AggregationOperation.js";
|
|
21
15
|
import AdvancedSettings from "./sidebar/AdvancedSettings.js";
|
|
22
16
|
var log = Log.module('IrisGridUtils');
|
|
23
|
-
|
|
24
17
|
/**
|
|
25
18
|
* Checks if an index is valid for the given array
|
|
26
19
|
* @param x The index to check
|
|
@@ -30,7 +23,6 @@ var log = Log.module('IrisGridUtils');
|
|
|
30
23
|
function isValidIndex(x, array) {
|
|
31
24
|
return x >= 0 && x < array.length;
|
|
32
25
|
}
|
|
33
|
-
|
|
34
26
|
class IrisGridUtils {
|
|
35
27
|
/**
|
|
36
28
|
* Exports the state from Grid component to a JSON stringifiable object
|
|
@@ -70,14 +62,13 @@ class IrisGridUtils {
|
|
|
70
62
|
movedRows: [...movedRows]
|
|
71
63
|
};
|
|
72
64
|
}
|
|
65
|
+
|
|
73
66
|
/**
|
|
74
67
|
* Import a state for Grid that was exported with {{@link dehydrateGridState}}
|
|
75
68
|
* @param model The table model to import the state for
|
|
76
69
|
* @param gridState The state of the panel that was saved
|
|
77
70
|
* @returns The gridState props to set on the Grid
|
|
78
71
|
*/
|
|
79
|
-
|
|
80
|
-
|
|
81
72
|
static hydrateGridState(model, gridState) {
|
|
82
73
|
var customColumns = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
83
74
|
var {
|
|
@@ -104,9 +95,7 @@ class IrisGridUtils {
|
|
|
104
95
|
to,
|
|
105
96
|
from
|
|
106
97
|
} = _ref4;
|
|
107
|
-
|
|
108
98
|
var getIndex = x => typeof x === 'string' ? columnNames.findIndex(name => name === x) : x;
|
|
109
|
-
|
|
110
99
|
return {
|
|
111
100
|
to: getIndex(to),
|
|
112
101
|
from: Array.isArray(from) ? [getIndex(from[0]), getIndex(from[1])] : getIndex(from)
|
|
@@ -121,13 +110,12 @@ class IrisGridUtils {
|
|
|
121
110
|
movedRows: [...movedRows]
|
|
122
111
|
};
|
|
123
112
|
}
|
|
113
|
+
|
|
124
114
|
/**
|
|
125
115
|
* Exports the state from IrisGrid to a JSON stringifiable object
|
|
126
116
|
* @param model The table model to export the state for
|
|
127
117
|
* @param irisGridState The current state of the IrisGrid
|
|
128
118
|
*/
|
|
129
|
-
|
|
130
|
-
|
|
131
119
|
static dehydrateIrisGridState(model, irisGridState) {
|
|
132
120
|
var {
|
|
133
121
|
aggregationSettings = {
|
|
@@ -188,13 +176,12 @@ class IrisGridUtils {
|
|
|
188
176
|
frozenColumns
|
|
189
177
|
};
|
|
190
178
|
}
|
|
179
|
+
|
|
191
180
|
/**
|
|
192
181
|
* Import a state for IrisGrid that was exported with {{@link dehydrateIrisGridState}}
|
|
193
182
|
* @param model The table model to import the state with
|
|
194
183
|
* @param irisGridState The saved IrisGrid state
|
|
195
184
|
*/
|
|
196
|
-
|
|
197
|
-
|
|
198
185
|
static hydrateIrisGridState(model, irisGridState) {
|
|
199
186
|
var {
|
|
200
187
|
advancedFilters,
|
|
@@ -233,7 +220,6 @@ class IrisGridUtils {
|
|
|
233
220
|
sorts: IrisGridUtils.hydrateSort(columns, sorts),
|
|
234
221
|
userColumnWidths: new Map(userColumnWidths.map(_ref8 => {
|
|
235
222
|
var [column, width] = _ref8;
|
|
236
|
-
|
|
237
223
|
if (typeof column === 'string' || column instanceof String) {
|
|
238
224
|
return [columns.findIndex(_ref9 => {
|
|
239
225
|
var {
|
|
@@ -242,7 +228,6 @@ class IrisGridUtils {
|
|
|
242
228
|
return name === column;
|
|
243
229
|
}), width];
|
|
244
230
|
}
|
|
245
|
-
|
|
246
231
|
return [column, width];
|
|
247
232
|
}).filter(_ref10 => {
|
|
248
233
|
var [column] = _ref10;
|
|
@@ -262,14 +247,13 @@ class IrisGridUtils {
|
|
|
262
247
|
frozenColumns
|
|
263
248
|
};
|
|
264
249
|
}
|
|
250
|
+
|
|
265
251
|
/**
|
|
266
252
|
* Export the IrisGridPanel state.
|
|
267
253
|
* @param model The table model the state is being dehydrated with
|
|
268
254
|
* @param irisGridPanelState The current IrisGridPanel state
|
|
269
255
|
* @returns The dehydrated IrisGridPanel state
|
|
270
256
|
*/
|
|
271
|
-
|
|
272
|
-
|
|
273
257
|
static dehydrateIrisGridPanelState(model, irisGridPanelState) {
|
|
274
258
|
var {
|
|
275
259
|
isSelectingPartition,
|
|
@@ -280,18 +264,17 @@ class IrisGridUtils {
|
|
|
280
264
|
return {
|
|
281
265
|
isSelectingPartition,
|
|
282
266
|
partition,
|
|
283
|
-
partitionColumn: partitionColumn != null ? partitionColumn.name :
|
|
267
|
+
partitionColumn: partitionColumn != null ? partitionColumn.name : undefined,
|
|
284
268
|
advancedSettings: [...advancedSettings]
|
|
285
269
|
};
|
|
286
270
|
}
|
|
271
|
+
|
|
287
272
|
/**
|
|
288
273
|
* Import the saved IrisGridPanel state.
|
|
289
274
|
* @param model The model the state is being hydrated with
|
|
290
275
|
* @param irisGridPanelState Exported IrisGridPanel state
|
|
291
276
|
* @returns The state to apply to the IrisGridPanel
|
|
292
277
|
*/
|
|
293
|
-
|
|
294
|
-
|
|
295
278
|
static hydrateIrisGridPanelState(model, irisGridPanelState) {
|
|
296
279
|
var {
|
|
297
280
|
isSelectingPartition,
|
|
@@ -309,13 +292,12 @@ class IrisGridUtils {
|
|
|
309
292
|
advancedSettings: new Map([...AdvancedSettings.DEFAULTS, ...advancedSettings])
|
|
310
293
|
};
|
|
311
294
|
}
|
|
295
|
+
|
|
312
296
|
/**
|
|
313
297
|
* Export the quick filters to JSON striginfiable object
|
|
314
298
|
* @param quickFilters The quick filters to dehydrate
|
|
315
299
|
* @returns The dehydrated quick filters
|
|
316
300
|
*/
|
|
317
|
-
|
|
318
|
-
|
|
319
301
|
static dehydrateQuickFilters(quickFilters) {
|
|
320
302
|
return [...quickFilters].map(_ref11 => {
|
|
321
303
|
var [columnIndex, quickFilter] = _ref11;
|
|
@@ -327,6 +309,7 @@ class IrisGridUtils {
|
|
|
327
309
|
}];
|
|
328
310
|
});
|
|
329
311
|
}
|
|
312
|
+
|
|
330
313
|
/**
|
|
331
314
|
* Import the saved quick filters to apply to the columns. Does not actually apply the filters.
|
|
332
315
|
* @param columns The columns the filters will be applied to
|
|
@@ -334,8 +317,6 @@ class IrisGridUtils {
|
|
|
334
317
|
* @param timeZone The time zone to make this value in if it is a date type. E.g. America/New_York
|
|
335
318
|
* @returns The quick filters to apply to the columns
|
|
336
319
|
*/
|
|
337
|
-
|
|
338
|
-
|
|
339
320
|
static hydrateQuickFilters(columns, savedQuickFilters, timeZone) {
|
|
340
321
|
var importedFilters = savedQuickFilters.map(_ref12 => {
|
|
341
322
|
var [columnIndex, quickFilter] = _ref12;
|
|
@@ -343,17 +324,14 @@ class IrisGridUtils {
|
|
|
343
324
|
text
|
|
344
325
|
} = quickFilter;
|
|
345
326
|
var filter = null;
|
|
346
|
-
|
|
347
327
|
try {
|
|
348
328
|
var column = IrisGridUtils.getColumn(columns, columnIndex);
|
|
349
|
-
|
|
350
329
|
if (column != null) {
|
|
351
330
|
filter = TableUtils.makeQuickFilter(column, text, timeZone);
|
|
352
331
|
}
|
|
353
332
|
} catch (error) {
|
|
354
333
|
log.error('hydrateQuickFilters error with', text, error);
|
|
355
334
|
}
|
|
356
|
-
|
|
357
335
|
return [columnIndex, {
|
|
358
336
|
text,
|
|
359
337
|
filter
|
|
@@ -361,14 +339,13 @@ class IrisGridUtils {
|
|
|
361
339
|
});
|
|
362
340
|
return new Map(importedFilters);
|
|
363
341
|
}
|
|
342
|
+
|
|
364
343
|
/**
|
|
365
344
|
* Export the advanced filters from the provided columns to JSON striginfiable object
|
|
366
345
|
* @param columns The columns for the filters
|
|
367
346
|
* @param advancedFilters The advanced filters to dehydrate
|
|
368
347
|
* @returns The dehydrated advanced filters
|
|
369
348
|
*/
|
|
370
|
-
|
|
371
|
-
|
|
372
349
|
static dehydrateAdvancedFilters(columns, advancedFilters) {
|
|
373
350
|
return [...advancedFilters].map(_ref13 => {
|
|
374
351
|
var [columnIndex, advancedFilter] = _ref13;
|
|
@@ -380,6 +357,7 @@ class IrisGridUtils {
|
|
|
380
357
|
}];
|
|
381
358
|
});
|
|
382
359
|
}
|
|
360
|
+
|
|
383
361
|
/**
|
|
384
362
|
* Import the saved advanced filters to apply to the columns. Does not actually apply the filters.
|
|
385
363
|
* @param columns The columns the filters will be applied to
|
|
@@ -387,8 +365,6 @@ class IrisGridUtils {
|
|
|
387
365
|
* @param timeZone The time zone to make this filter in if it is a date type. E.g. America/New_York
|
|
388
366
|
* @returns The advanced filters to apply to the columns
|
|
389
367
|
*/
|
|
390
|
-
|
|
391
|
-
|
|
392
368
|
static hydrateAdvancedFilters(columns, savedAdvancedFilters, timeZone) {
|
|
393
369
|
var importedFilters = savedAdvancedFilters.map(_ref14 => {
|
|
394
370
|
var [columnIndex, advancedFilter] = _ref14;
|
|
@@ -396,17 +372,14 @@ class IrisGridUtils {
|
|
|
396
372
|
assertNotNull(column);
|
|
397
373
|
var options = IrisGridUtils.hydrateAdvancedFilterOptions(column, advancedFilter.options);
|
|
398
374
|
var filter = null;
|
|
399
|
-
|
|
400
375
|
try {
|
|
401
376
|
var columnRetrieved = IrisGridUtils.getColumn(columns, columnIndex);
|
|
402
|
-
|
|
403
377
|
if (columnRetrieved != null) {
|
|
404
378
|
filter = TableUtils.makeAdvancedFilter(column, options, timeZone);
|
|
405
379
|
}
|
|
406
380
|
} catch (error) {
|
|
407
381
|
log.error('hydrateAdvancedFilters error with', options, error);
|
|
408
382
|
}
|
|
409
|
-
|
|
410
383
|
return [columnIndex, {
|
|
411
384
|
options,
|
|
412
385
|
filter
|
|
@@ -414,29 +387,24 @@ class IrisGridUtils {
|
|
|
414
387
|
});
|
|
415
388
|
return new Map(importedFilters);
|
|
416
389
|
}
|
|
417
|
-
|
|
418
390
|
static dehydrateAdvancedFilterOptions(column, options) {
|
|
419
391
|
var {
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
392
|
+
selectedValues
|
|
393
|
+
} = options,
|
|
394
|
+
otherOptions = _objectWithoutProperties(options, _excluded);
|
|
424
395
|
return _objectSpread({
|
|
425
396
|
selectedValues: selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.map(value => IrisGridUtils.dehydrateValue(value, column === null || column === void 0 ? void 0 : column.type))
|
|
426
397
|
}, otherOptions);
|
|
427
398
|
}
|
|
428
|
-
|
|
429
399
|
static hydrateAdvancedFilterOptions(column, options) {
|
|
430
400
|
var {
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
401
|
+
selectedValues
|
|
402
|
+
} = options,
|
|
403
|
+
otherOptions = _objectWithoutProperties(options, _excluded2);
|
|
435
404
|
return _objectSpread({
|
|
436
405
|
selectedValues: selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.map(value => IrisGridUtils.hydrateValue(value, column === null || column === void 0 ? void 0 : column.type))
|
|
437
406
|
}, otherOptions);
|
|
438
407
|
}
|
|
439
|
-
|
|
440
408
|
static dehydratePendingDataMap(columns, pendingDataMap) {
|
|
441
409
|
return [...pendingDataMap].map(_ref15 => {
|
|
442
410
|
var [rowIndex, {
|
|
@@ -450,10 +418,8 @@ class IrisGridUtils {
|
|
|
450
418
|
}];
|
|
451
419
|
});
|
|
452
420
|
}
|
|
453
|
-
|
|
454
421
|
static hydratePendingDataMap(columns, pendingDataMap) {
|
|
455
422
|
var columnMap = new Map();
|
|
456
|
-
|
|
457
423
|
var getColumnIndex = columnName => {
|
|
458
424
|
if (!columnMap.has(columnName)) {
|
|
459
425
|
columnMap.set(columnName, columns.findIndex(_ref17 => {
|
|
@@ -463,10 +429,8 @@ class IrisGridUtils {
|
|
|
463
429
|
return name === columnName;
|
|
464
430
|
}));
|
|
465
431
|
}
|
|
466
|
-
|
|
467
432
|
return columnMap.get(columnName);
|
|
468
433
|
};
|
|
469
|
-
|
|
470
434
|
return new Map(pendingDataMap.map(_ref18 => {
|
|
471
435
|
var [rowIndex, {
|
|
472
436
|
data
|
|
@@ -474,7 +438,6 @@ class IrisGridUtils {
|
|
|
474
438
|
return [rowIndex, {
|
|
475
439
|
data: new Map(data.map(_ref19 => {
|
|
476
440
|
var _getColumnIndex;
|
|
477
|
-
|
|
478
441
|
var [columnName, value] = _ref19;
|
|
479
442
|
var index = getColumnIndex(columnName);
|
|
480
443
|
assertNotNull(index);
|
|
@@ -483,65 +446,54 @@ class IrisGridUtils {
|
|
|
483
446
|
}];
|
|
484
447
|
}));
|
|
485
448
|
}
|
|
449
|
+
|
|
486
450
|
/**
|
|
487
451
|
* Dehydrates/serializes a value for storage.
|
|
488
452
|
* @param value The value to dehydrate
|
|
489
453
|
* @param columnType The column type
|
|
490
454
|
*/
|
|
491
|
-
|
|
492
|
-
|
|
493
455
|
static dehydrateValue(value, columnType) {
|
|
494
456
|
if (TableUtils.isDateType(columnType)) {
|
|
495
457
|
return IrisGridUtils.dehydrateDateTime(value);
|
|
496
458
|
}
|
|
497
|
-
|
|
498
459
|
if (TableUtils.isLongType(columnType)) {
|
|
499
460
|
return IrisGridUtils.dehydrateLong(value);
|
|
500
461
|
}
|
|
501
|
-
|
|
502
462
|
return value;
|
|
503
463
|
}
|
|
464
|
+
|
|
504
465
|
/**
|
|
505
466
|
* Hydrate a value from it's serialized state
|
|
506
467
|
* @param value The dehydrated value that needs to be hydrated
|
|
507
468
|
* @param columnType The type of column
|
|
508
469
|
*/
|
|
509
|
-
|
|
510
|
-
|
|
511
470
|
static hydrateValue(value, columnType) {
|
|
512
471
|
if (TableUtils.isDateType(columnType)) {
|
|
513
472
|
return IrisGridUtils.hydrateDateTime(value);
|
|
514
473
|
}
|
|
515
|
-
|
|
516
474
|
if (TableUtils.isLongType(columnType)) {
|
|
517
475
|
return IrisGridUtils.hydrateLong(value);
|
|
518
476
|
}
|
|
519
|
-
|
|
520
477
|
return value;
|
|
521
478
|
}
|
|
522
|
-
|
|
523
479
|
static dehydrateDateTime(value) {
|
|
524
480
|
return value != null ? dh.i18n.DateTimeFormat.format(DateUtils.FULL_DATE_FORMAT, value) : null;
|
|
525
481
|
}
|
|
526
|
-
|
|
527
482
|
static hydrateDateTime(value) {
|
|
528
483
|
return value != null ? dh.i18n.DateTimeFormat.parse(DateUtils.FULL_DATE_FORMAT, value) : null;
|
|
529
484
|
}
|
|
530
|
-
|
|
531
485
|
static dehydrateLong(value) {
|
|
532
486
|
return value != null ? "".concat(value) : null;
|
|
533
487
|
}
|
|
534
|
-
|
|
535
488
|
static hydrateLong(value) {
|
|
536
489
|
return value != null ? dh.LongWrapper.ofString(value) : null;
|
|
537
490
|
}
|
|
491
|
+
|
|
538
492
|
/**
|
|
539
493
|
* Export the sorts from the provided table sorts to JSON stringifiable object
|
|
540
494
|
* @param sorts The table sorts
|
|
541
495
|
* @returns The dehydrated sorts
|
|
542
496
|
*/
|
|
543
|
-
|
|
544
|
-
|
|
545
497
|
static dehydrateSort(sorts) {
|
|
546
498
|
return sorts.map(sort => {
|
|
547
499
|
var {
|
|
@@ -556,14 +508,13 @@ class IrisGridUtils {
|
|
|
556
508
|
};
|
|
557
509
|
});
|
|
558
510
|
}
|
|
511
|
+
|
|
559
512
|
/**
|
|
560
513
|
* Import the saved sorts to apply to the table. Does not actually apply the sort.
|
|
561
514
|
* @param columns The columns the sorts will be applied to
|
|
562
515
|
* @param sorts Exported sort definitions
|
|
563
516
|
* @returns The sorts to apply to the table
|
|
564
517
|
*/
|
|
565
|
-
|
|
566
|
-
|
|
567
518
|
static hydrateSort(columns, sorts) {
|
|
568
519
|
return sorts.map(sort => {
|
|
569
520
|
var {
|
|
@@ -571,42 +522,35 @@ class IrisGridUtils {
|
|
|
571
522
|
isAbs,
|
|
572
523
|
direction
|
|
573
524
|
} = sort;
|
|
574
|
-
|
|
575
525
|
if (direction === TableUtils.sortDirection.reverse) {
|
|
576
526
|
return dh.Table.reverse();
|
|
577
527
|
}
|
|
578
|
-
|
|
579
528
|
var column = IrisGridUtils.getColumn(columns, columnIndex);
|
|
580
|
-
|
|
581
529
|
if (column != null) {
|
|
582
530
|
var columnSort = column.sort();
|
|
583
|
-
|
|
584
531
|
if (isAbs) {
|
|
585
532
|
columnSort = columnSort.abs();
|
|
586
533
|
}
|
|
587
|
-
|
|
588
534
|
if (direction === TableUtils.sortDirection.descending) {
|
|
589
535
|
columnSort = columnSort.desc();
|
|
590
536
|
} else {
|
|
591
537
|
columnSort = columnSort.asc();
|
|
592
538
|
}
|
|
593
|
-
|
|
594
539
|
return columnSort;
|
|
595
540
|
}
|
|
596
|
-
|
|
597
541
|
return null;
|
|
598
|
-
})
|
|
542
|
+
})
|
|
543
|
+
// If we can't find the column any more, it's null, filter it out
|
|
599
544
|
// If the item is a reverse sort item, filter it out - it will get applied with the `reverseType` property
|
|
600
545
|
// This should only happen when loading a legacy dashboard
|
|
601
546
|
.filter(item => item != null && item.direction !== TableUtils.sortDirection.reverse);
|
|
602
547
|
}
|
|
548
|
+
|
|
603
549
|
/**
|
|
604
550
|
* Pulls just the table settings from the panel state, eg. filters/sorts
|
|
605
551
|
* @param panelState The dehydrated panel state
|
|
606
552
|
* @returns A dehydrated table settings object, { partition, partitionColumn, advancedFilters, quickFilters, sorts }
|
|
607
553
|
*/
|
|
608
|
-
|
|
609
|
-
|
|
610
554
|
static extractTableSettings(panelState) {
|
|
611
555
|
var inputFilters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
612
556
|
var {
|
|
@@ -631,57 +575,46 @@ class IrisGridUtils {
|
|
|
631
575
|
sorts
|
|
632
576
|
};
|
|
633
577
|
}
|
|
578
|
+
|
|
634
579
|
/**
|
|
635
580
|
* Applies the passed in table settings directly to the provided table
|
|
636
581
|
* @param table The table to apply the settings to
|
|
637
582
|
* @param tableSettings Dehydrated table settings extracted with `extractTableSettings`
|
|
638
583
|
* @param timeZone The time zone to make this value in if it is a date type. E.g. America/New_York
|
|
639
584
|
*/
|
|
640
|
-
|
|
641
|
-
|
|
642
585
|
static applyTableSettings(table, tableSettings, timeZone) {
|
|
643
586
|
var {
|
|
644
587
|
columns
|
|
645
588
|
} = table;
|
|
646
589
|
var quickFilters = [];
|
|
647
|
-
|
|
648
590
|
if (tableSettings.quickFilters) {
|
|
649
591
|
quickFilters = IrisGridUtils.getFiltersFromFilterMap(IrisGridUtils.hydrateQuickFilters(columns, tableSettings.quickFilters, timeZone));
|
|
650
592
|
}
|
|
651
|
-
|
|
652
593
|
var advancedFilters = [];
|
|
653
|
-
|
|
654
594
|
if (tableSettings.advancedFilters) {
|
|
655
595
|
advancedFilters = IrisGridUtils.getFiltersFromFilterMap(IrisGridUtils.hydrateAdvancedFilters(columns, tableSettings.advancedFilters, timeZone));
|
|
656
596
|
}
|
|
657
|
-
|
|
658
597
|
var inputFilters = IrisGridUtils.getFiltersFromInputFilters(columns, tableSettings.inputFilters, timeZone);
|
|
659
598
|
var sorts = [];
|
|
660
|
-
|
|
661
599
|
if (tableSettings.sorts) {
|
|
662
600
|
sorts = IrisGridUtils.hydrateSort(columns, tableSettings.sorts);
|
|
663
601
|
}
|
|
664
|
-
|
|
665
602
|
var filters = [...quickFilters, ...advancedFilters];
|
|
666
603
|
var {
|
|
667
604
|
partition,
|
|
668
605
|
partitionColumn: partitionColumnName
|
|
669
606
|
} = tableSettings;
|
|
670
|
-
|
|
671
607
|
if (partition != null && partitionColumnName != null) {
|
|
672
608
|
var partitionColumn = IrisGridUtils.getColumnByName(columns, partitionColumnName);
|
|
673
|
-
|
|
674
609
|
if (partitionColumn) {
|
|
675
610
|
var partitionFilter = partitionColumn.filter().eq(dh.FilterValue.ofString(partition));
|
|
676
611
|
filters = [partitionFilter, ...filters];
|
|
677
612
|
}
|
|
678
613
|
}
|
|
679
|
-
|
|
680
614
|
filters = [...inputFilters, ...filters];
|
|
681
615
|
table.applyFilter(filters);
|
|
682
616
|
table.applySort(sorts);
|
|
683
617
|
}
|
|
684
|
-
|
|
685
618
|
static getInputFiltersForColumns(columns) {
|
|
686
619
|
var inputFilters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
687
620
|
return inputFilters.filter(_ref20 => {
|
|
@@ -698,7 +631,6 @@ class IrisGridUtils {
|
|
|
698
631
|
});
|
|
699
632
|
});
|
|
700
633
|
}
|
|
701
|
-
|
|
702
634
|
static getFiltersFromInputFilters(columns) {
|
|
703
635
|
var inputFilters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
704
636
|
var timeZone = arguments.length > 2 ? arguments[2] : undefined;
|
|
@@ -715,7 +647,6 @@ class IrisGridUtils {
|
|
|
715
647
|
} = _ref23;
|
|
716
648
|
return columnName === name && columnType === type;
|
|
717
649
|
});
|
|
718
|
-
|
|
719
650
|
if (column) {
|
|
720
651
|
try {
|
|
721
652
|
return TableUtils.makeQuickFilter(column, value, timeZone);
|
|
@@ -724,33 +655,27 @@ class IrisGridUtils {
|
|
|
724
655
|
log.debug('Unable to create input filter', e);
|
|
725
656
|
}
|
|
726
657
|
}
|
|
727
|
-
|
|
728
658
|
return null;
|
|
729
659
|
}).filter(filter => filter != null);
|
|
730
660
|
}
|
|
731
|
-
|
|
732
661
|
static getFiltersFromFilterMap(filterMap) {
|
|
733
662
|
var filters = [];
|
|
734
663
|
var keys = Array.from(filterMap.keys());
|
|
735
|
-
|
|
736
664
|
for (var i = 0; i < keys.length; i += 1) {
|
|
737
665
|
var key = keys[i];
|
|
738
666
|
var item = filterMap.get(key);
|
|
739
|
-
|
|
740
667
|
if (item && item.filter != null) {
|
|
741
668
|
filters.push(item.filter);
|
|
742
669
|
}
|
|
743
670
|
}
|
|
744
|
-
|
|
745
671
|
return filters;
|
|
746
672
|
}
|
|
673
|
+
|
|
747
674
|
/**
|
|
748
675
|
* Get array of hidden column indexes
|
|
749
676
|
* @param userColumnWidths Map of user column widths
|
|
750
677
|
* @returns Array of hidden column indexes
|
|
751
678
|
*/
|
|
752
|
-
|
|
753
|
-
|
|
754
679
|
static getHiddenColumns(userColumnWidths) {
|
|
755
680
|
return [...userColumnWidths.entries()].filter(_ref24 => {
|
|
756
681
|
var [, value] = _ref24;
|
|
@@ -760,21 +685,17 @@ class IrisGridUtils {
|
|
|
760
685
|
return key;
|
|
761
686
|
});
|
|
762
687
|
}
|
|
763
|
-
|
|
764
688
|
static parseCustomColumnNames(customColumns) {
|
|
765
689
|
return customColumns.map(customColumn => customColumn.split('=')[0]);
|
|
766
690
|
}
|
|
767
|
-
|
|
768
691
|
static getRemovedCustomColumnNames(oldCustomColumns, customColumns) {
|
|
769
692
|
var oldCustomColumnsNames = IrisGridUtils.parseCustomColumnNames(oldCustomColumns);
|
|
770
693
|
var customColumnNames = IrisGridUtils.parseCustomColumnNames(customColumns);
|
|
771
694
|
return oldCustomColumnsNames.filter(oldCustomColumnName => !customColumnNames.includes(oldCustomColumnName));
|
|
772
695
|
}
|
|
773
|
-
|
|
774
696
|
static removeSortsInColumns(sorts, columnNames) {
|
|
775
697
|
return sorts.filter(sort => !columnNames.includes(sort.column.name));
|
|
776
698
|
}
|
|
777
|
-
|
|
778
699
|
static removeFiltersInColumns(columns, filters, removedColumnNames) {
|
|
779
700
|
var columnNames = columns.map(_ref26 => {
|
|
780
701
|
var {
|
|
@@ -786,7 +707,6 @@ class IrisGridUtils {
|
|
|
786
707
|
removedColumnNames.forEach(columnName => newFilter.delete(columnNames.indexOf(columnName)));
|
|
787
708
|
return newFilter;
|
|
788
709
|
}
|
|
789
|
-
|
|
790
710
|
static removeColumnFromMovedColumns(columns, movedColumns, removedColumnNames) {
|
|
791
711
|
var columnNames = columns.map(_ref27 => {
|
|
792
712
|
var {
|
|
@@ -795,33 +715,26 @@ class IrisGridUtils {
|
|
|
795
715
|
return name;
|
|
796
716
|
});
|
|
797
717
|
var newMoves = [...movedColumns];
|
|
798
|
-
|
|
799
718
|
var _loop = function _loop(i) {
|
|
800
719
|
var removedColumnName = removedColumnNames[i];
|
|
801
720
|
var removedColumnIndex = columnNames.findIndex(name => name === removedColumnName);
|
|
802
721
|
var moves = [];
|
|
803
|
-
|
|
804
722
|
for (var j = 0; j < newMoves.length; j += 1) {
|
|
805
723
|
var move = newMoves[j];
|
|
806
|
-
|
|
807
724
|
var newMove = _objectSpread({}, move);
|
|
808
|
-
|
|
809
725
|
var [fromStart, fromEnd] = Array.isArray(move.from) ? move.from : [move.from, move.from];
|
|
810
|
-
|
|
811
726
|
if (removedColumnIndex <= move.to) {
|
|
812
727
|
newMove.to -= 1;
|
|
813
|
-
}
|
|
814
|
-
// It's just the next element in the range which will have the same index after deletion
|
|
815
|
-
|
|
728
|
+
}
|
|
816
729
|
|
|
730
|
+
// If equal to fromStart, the new fromStart would stay the same
|
|
731
|
+
// It's just the next element in the range which will have the same index after deletion
|
|
817
732
|
if (removedColumnIndex < fromStart) {
|
|
818
733
|
fromStart -= 1;
|
|
819
734
|
}
|
|
820
|
-
|
|
821
735
|
if (removedColumnIndex <= fromEnd) {
|
|
822
736
|
fromEnd -= 1;
|
|
823
737
|
}
|
|
824
|
-
|
|
825
738
|
if (fromStart <= fromEnd && fromStart !== newMove.to) {
|
|
826
739
|
if (fromStart === fromEnd) {
|
|
827
740
|
moves.push(_objectSpread(_objectSpread({}, newMove), {}, {
|
|
@@ -832,76 +745,57 @@ class IrisGridUtils {
|
|
|
832
745
|
from: [fromStart, fromEnd]
|
|
833
746
|
}));
|
|
834
747
|
}
|
|
835
|
-
}
|
|
836
|
-
// eslint-disable-next-line prefer-destructuring
|
|
837
|
-
|
|
748
|
+
}
|
|
838
749
|
|
|
750
|
+
// get the next index of the removed column after the move is applied
|
|
751
|
+
// eslint-disable-next-line prefer-destructuring
|
|
839
752
|
removedColumnIndex = GridUtils.applyItemMoves(removedColumnIndex, removedColumnIndex, [move])[0][0];
|
|
840
753
|
}
|
|
841
|
-
|
|
842
754
|
newMoves = moves;
|
|
843
755
|
columnNames.splice(columnNames.findIndex(name => name === removedColumnName), 1);
|
|
844
756
|
};
|
|
845
|
-
|
|
846
757
|
for (var i = 0; i < removedColumnNames.length; i += 1) {
|
|
847
758
|
_loop(i);
|
|
848
759
|
}
|
|
849
|
-
|
|
850
760
|
return newMoves;
|
|
851
761
|
}
|
|
852
|
-
|
|
853
762
|
static removeColumnsFromSelectDistinctColumns(selectDistinctColumns, removedColumnNames) {
|
|
854
763
|
return selectDistinctColumns.filter(columnName => !removedColumnNames.includes(columnName));
|
|
855
764
|
}
|
|
856
|
-
|
|
857
765
|
static getVisibleColumnsInRange(tableColumns, left, right, movedColumns, hiddenColumns) {
|
|
858
766
|
var columns = [];
|
|
859
|
-
|
|
860
767
|
for (var i = left; i <= right; i += 1) {
|
|
861
768
|
var modelIndex = GridUtils.getModelIndex(i, movedColumns);
|
|
862
|
-
|
|
863
769
|
if (modelIndex >= 0 && modelIndex < tableColumns.length && !hiddenColumns.includes(modelIndex)) {
|
|
864
770
|
columns.push(tableColumns[modelIndex]);
|
|
865
771
|
}
|
|
866
772
|
}
|
|
867
|
-
|
|
868
773
|
return columns;
|
|
869
774
|
}
|
|
870
|
-
|
|
871
775
|
static getPrevVisibleColumns(tableColumns, startIndex, count, movedColumns, hiddenColumns) {
|
|
872
776
|
var columns = [];
|
|
873
777
|
var i = startIndex;
|
|
874
|
-
|
|
875
778
|
while (i >= 0 && columns.length < count) {
|
|
876
779
|
var modelIndex = GridUtils.getModelIndex(i, movedColumns);
|
|
877
|
-
|
|
878
780
|
if (modelIndex >= 0 && modelIndex < tableColumns.length && !hiddenColumns.includes(modelIndex)) {
|
|
879
781
|
columns.unshift(tableColumns[modelIndex]);
|
|
880
782
|
}
|
|
881
|
-
|
|
882
783
|
i -= 1;
|
|
883
784
|
}
|
|
884
|
-
|
|
885
785
|
return columns;
|
|
886
786
|
}
|
|
887
|
-
|
|
888
787
|
static getNextVisibleColumns(tableColumns, startIndex, count, movedColumns, hiddenColumns) {
|
|
889
788
|
var columns = [];
|
|
890
789
|
var i = startIndex;
|
|
891
|
-
|
|
892
790
|
while (i < tableColumns.length && columns.length < count) {
|
|
893
791
|
var modelIndex = GridUtils.getModelIndex(i, movedColumns);
|
|
894
|
-
|
|
895
792
|
if (modelIndex >= 0 && modelIndex < tableColumns.length && !hiddenColumns.includes(modelIndex)) {
|
|
896
793
|
columns.push(tableColumns[modelIndex]);
|
|
897
794
|
}
|
|
898
|
-
|
|
899
795
|
i += 1;
|
|
900
796
|
}
|
|
901
|
-
|
|
902
797
|
return columns;
|
|
903
798
|
}
|
|
904
|
-
|
|
905
799
|
static getColumnsToFetch(tableColumns, viewportColumns, alwaysFetchColumnNames) {
|
|
906
800
|
var columnsToFetch = [...viewportColumns];
|
|
907
801
|
alwaysFetchColumnNames.forEach(columnName => {
|
|
@@ -911,23 +805,19 @@ class IrisGridUtils {
|
|
|
911
805
|
} = _ref28;
|
|
912
806
|
return name === columnName;
|
|
913
807
|
});
|
|
914
|
-
|
|
915
808
|
if (column != null && !viewportColumns.includes(column)) {
|
|
916
809
|
columnsToFetch.push(column);
|
|
917
810
|
}
|
|
918
811
|
});
|
|
919
812
|
return columnsToFetch;
|
|
920
813
|
}
|
|
921
|
-
|
|
922
814
|
static getModelViewportColumns(columns, left, right, movedColumns) {
|
|
923
815
|
var hiddenColumns = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
|
|
924
816
|
var alwaysFetchColumnNames = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : [];
|
|
925
817
|
var bufferPages = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 0;
|
|
926
|
-
|
|
927
818
|
if (left == null || right == null) {
|
|
928
819
|
return null;
|
|
929
820
|
}
|
|
930
|
-
|
|
931
821
|
var columnsCenter = IrisGridUtils.getVisibleColumnsInRange(columns, left, right, movedColumns, hiddenColumns);
|
|
932
822
|
var bufferWidth = columnsCenter.length * bufferPages;
|
|
933
823
|
var columnsLeft = IrisGridUtils.getPrevVisibleColumns(columns, left - 1, bufferWidth, movedColumns, hiddenColumns);
|
|
@@ -935,6 +825,7 @@ class IrisGridUtils {
|
|
|
935
825
|
var bufferedColumns = [...columnsLeft, ...columnsCenter, ...columnsRight];
|
|
936
826
|
return IrisGridUtils.getColumnsToFetch(columns, bufferedColumns, alwaysFetchColumnNames);
|
|
937
827
|
}
|
|
828
|
+
|
|
938
829
|
/**
|
|
939
830
|
* Get the dh.RangeSet representation of the provided ranges.
|
|
940
831
|
* Ranges are sorted prior to creating the RangeSet. Only the rows are taken into account,
|
|
@@ -942,8 +833,6 @@ class IrisGridUtils {
|
|
|
942
833
|
* @param ranges The ranges to get the range set for
|
|
943
834
|
* @returns The rangeset for the provided ranges
|
|
944
835
|
*/
|
|
945
|
-
|
|
946
|
-
|
|
947
836
|
static rangeSetFromRanges(ranges) {
|
|
948
837
|
var rangeSets = ranges.slice().sort((a, b) => {
|
|
949
838
|
assertNotNull(a.startRow);
|
|
@@ -960,6 +849,7 @@ class IrisGridUtils {
|
|
|
960
849
|
});
|
|
961
850
|
return dh.RangeSet.ofRanges(rangeSets);
|
|
962
851
|
}
|
|
852
|
+
|
|
963
853
|
/**
|
|
964
854
|
* Validate whether the ranges passed in are valid to take a snapshot from.
|
|
965
855
|
* Multiple selections are valid if all of the selected rows have the same columns selected.
|
|
@@ -967,120 +857,98 @@ class IrisGridUtils {
|
|
|
967
857
|
* @param ranges The ranges to validate
|
|
968
858
|
* @returns True if the ranges are valid, false otherwise
|
|
969
859
|
*/
|
|
970
|
-
|
|
971
|
-
|
|
972
860
|
static isValidSnapshotRanges(ranges) {
|
|
973
861
|
if (ranges == null || ranges.length === 0) {
|
|
974
862
|
return false;
|
|
975
|
-
}
|
|
976
|
-
// of each range.
|
|
977
|
-
|
|
863
|
+
}
|
|
978
864
|
|
|
865
|
+
// To verify all the rows selected have the same set of columns selected, build a map with string representations
|
|
866
|
+
// of each range.
|
|
979
867
|
var rangeMap = new Map();
|
|
980
|
-
|
|
981
868
|
for (var i = 0; i < ranges.length; i += 1) {
|
|
982
869
|
var range = ranges[i];
|
|
983
870
|
var rowMapIndex = "".concat(range.startRow, ":").concat(range.endRow);
|
|
984
871
|
var columnMapIndex = "".concat(range.startColumn, ":").concat(range.endColumn);
|
|
985
|
-
|
|
986
872
|
if (!rangeMap.has(rowMapIndex)) {
|
|
987
873
|
rangeMap.set(rowMapIndex, []);
|
|
988
874
|
}
|
|
989
|
-
|
|
990
875
|
rangeMap.get(rowMapIndex).push(columnMapIndex);
|
|
991
876
|
}
|
|
992
|
-
|
|
993
877
|
var keys = [...rangeMap.keys()];
|
|
994
878
|
var matchColumnRanges = rangeMap.get(keys[0]).sort().join(',');
|
|
995
|
-
|
|
996
879
|
for (var _i = 1; _i < keys.length; _i += 1) {
|
|
997
880
|
if (rangeMap.get(keys[_i]).sort().join(',') !== matchColumnRanges) {
|
|
998
881
|
return false;
|
|
999
882
|
}
|
|
1000
883
|
}
|
|
1001
|
-
|
|
1002
884
|
return true;
|
|
1003
885
|
}
|
|
886
|
+
|
|
1004
887
|
/**
|
|
1005
888
|
* Check if the provided value is a valid table index
|
|
1006
889
|
* @param value A value to check if it's a valid table index
|
|
1007
890
|
*/
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
891
|
static isValidIndex(value) {
|
|
1011
892
|
if (!Number.isInteger(value)) {
|
|
1012
893
|
return false;
|
|
1013
894
|
}
|
|
1014
|
-
|
|
1015
895
|
if (!(typeof value === 'number')) {
|
|
1016
896
|
return false;
|
|
1017
897
|
}
|
|
1018
|
-
|
|
1019
898
|
return value >= 0;
|
|
1020
899
|
}
|
|
900
|
+
|
|
1021
901
|
/**
|
|
1022
902
|
* Returns all columns used in any of the ranges provided
|
|
1023
903
|
* @param ranges The model ranges to get columns for
|
|
1024
904
|
* @param allColumns All the columns to pull from
|
|
1025
905
|
* @returns The columns selected in the range
|
|
1026
906
|
*/
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
907
|
static columnsFromRanges(ranges, allColumns) {
|
|
1030
908
|
if (ranges == null || ranges.length === 0) {
|
|
1031
909
|
return [];
|
|
1032
910
|
}
|
|
1033
|
-
|
|
1034
911
|
if (ranges[0].startColumn === null && ranges[0].endColumn === null) {
|
|
1035
912
|
// Snapshot of all the columns
|
|
1036
913
|
return allColumns;
|
|
1037
914
|
}
|
|
1038
|
-
|
|
1039
915
|
var columnSet = new Set();
|
|
1040
|
-
|
|
1041
916
|
for (var i = 0; i < ranges.length; i += 1) {
|
|
1042
917
|
var range = ranges[i];
|
|
1043
918
|
assertNotNull(range.startColumn);
|
|
1044
919
|
assertNotNull(range.endColumn);
|
|
1045
|
-
|
|
1046
920
|
for (var c = (_range$startColumn = range.startColumn) !== null && _range$startColumn !== void 0 ? _range$startColumn : 0; c <= ((_range$endColumn = range.endColumn) !== null && _range$endColumn !== void 0 ? _range$endColumn : allColumns.length - 1); c += 1) {
|
|
1047
921
|
var _range$startColumn, _range$endColumn;
|
|
1048
|
-
|
|
1049
922
|
columnSet.add(c);
|
|
1050
923
|
}
|
|
1051
924
|
}
|
|
1052
|
-
|
|
1053
925
|
return [...columnSet].map(c => allColumns[c]);
|
|
1054
926
|
}
|
|
927
|
+
|
|
1055
928
|
/**
|
|
1056
929
|
* Transforms an iris data snapshot into a simple data matrix
|
|
1057
930
|
* @param data The Iris formatted table data
|
|
1058
931
|
* @returns A matrix of the values of the data
|
|
1059
932
|
*/
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
933
|
static snapshotDataToMatrix(data) {
|
|
1063
934
|
var {
|
|
1064
935
|
columns,
|
|
1065
936
|
rows
|
|
1066
937
|
} = data;
|
|
1067
938
|
var result = [];
|
|
1068
|
-
|
|
1069
939
|
for (var r = 0; r < rows.length; r += 1) {
|
|
1070
940
|
var row = rows[r];
|
|
1071
941
|
var rowData = [];
|
|
1072
|
-
|
|
1073
942
|
for (var c = 0; c < columns.length; c += 1) {
|
|
1074
943
|
var column = columns[c];
|
|
1075
944
|
var value = row.get(column);
|
|
1076
945
|
rowData.push(value);
|
|
1077
946
|
}
|
|
1078
|
-
|
|
1079
947
|
result.push(rowData);
|
|
1080
948
|
}
|
|
1081
|
-
|
|
1082
949
|
return result;
|
|
1083
950
|
}
|
|
951
|
+
|
|
1084
952
|
/**
|
|
1085
953
|
* Hydrate model rollup config
|
|
1086
954
|
* @param originalColumns Original model columns
|
|
@@ -1088,15 +956,11 @@ class IrisGridUtils {
|
|
|
1088
956
|
* @param aggregationSettings Aggregation settings
|
|
1089
957
|
* @returns Rollup config for the model
|
|
1090
958
|
*/
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
959
|
static getModelRollupConfig(originalColumns, config, aggregationSettings) {
|
|
1094
960
|
var _config$columns$lengt, _config$columns;
|
|
1095
|
-
|
|
1096
961
|
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) {
|
|
1097
962
|
return null;
|
|
1098
963
|
}
|
|
1099
|
-
|
|
1100
964
|
var {
|
|
1101
965
|
columns: groupingColumns = [],
|
|
1102
966
|
showConstituents: includeConstituents = true,
|
|
@@ -1114,27 +978,23 @@ class IrisGridUtils {
|
|
|
1114
978
|
} = _ref29;
|
|
1115
979
|
return AggregationUtils.isRollupOperation(operation) ? [] : AggregationUtils.getOperationColumnNames(originalColumns, operation, selected, invert);
|
|
1116
980
|
});
|
|
1117
|
-
var aggregationMap = {};
|
|
1118
|
-
|
|
981
|
+
var aggregationMap = {};
|
|
982
|
+
// Aggregation columns should show first, add them first
|
|
1119
983
|
for (var i = 0; i < aggregations.length; i += 1) {
|
|
1120
984
|
aggregationMap[aggregations[i].operation] = aggregationColumns[i];
|
|
1121
985
|
}
|
|
1122
|
-
|
|
1123
986
|
if (showNonAggregatedColumns) {
|
|
1124
987
|
// Filter out any column that already has an aggregation or grouping
|
|
1125
988
|
var nonAggregatedColumnSet = new Set(originalColumns.map(c => c.name).filter(name => !groupingColumns.includes(name)));
|
|
1126
989
|
aggregationColumns.forEach(columns => {
|
|
1127
990
|
columns.forEach(name => nonAggregatedColumnSet.delete(name));
|
|
1128
991
|
});
|
|
1129
|
-
|
|
1130
992
|
if (nonAggregatedColumnSet.size > 0) {
|
|
1131
993
|
var _aggregationMap$Aggre;
|
|
1132
|
-
|
|
1133
994
|
var existingColumns = (_aggregationMap$Aggre = aggregationMap[AggregationOperation.FIRST]) !== null && _aggregationMap$Aggre !== void 0 ? _aggregationMap$Aggre : [];
|
|
1134
995
|
aggregationMap[AggregationOperation.FIRST] = [...existingColumns, ...nonAggregatedColumnSet];
|
|
1135
996
|
}
|
|
1136
997
|
}
|
|
1137
|
-
|
|
1138
998
|
return {
|
|
1139
999
|
groupingColumns,
|
|
1140
1000
|
includeConstituents,
|
|
@@ -1142,18 +1002,16 @@ class IrisGridUtils {
|
|
|
1142
1002
|
aggregations: aggregationMap
|
|
1143
1003
|
};
|
|
1144
1004
|
}
|
|
1005
|
+
|
|
1145
1006
|
/**
|
|
1146
1007
|
* @param pendingDataMap Map of pending data
|
|
1147
1008
|
* @returns A map with the errors in the pending data
|
|
1148
1009
|
*/
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
1010
|
static getPendingErrors(pendingDataMap) {
|
|
1152
1011
|
pendingDataMap.forEach((row, rowIndex) => {
|
|
1153
1012
|
if (!IrisGridUtils.isValidIndex(rowIndex)) {
|
|
1154
1013
|
throw new Error("Invalid rowIndex ".concat(rowIndex));
|
|
1155
1014
|
}
|
|
1156
|
-
|
|
1157
1015
|
var {
|
|
1158
1016
|
data
|
|
1159
1017
|
} = row;
|
|
@@ -1164,29 +1022,26 @@ class IrisGridUtils {
|
|
|
1164
1022
|
});
|
|
1165
1023
|
});
|
|
1166
1024
|
}
|
|
1025
|
+
|
|
1167
1026
|
/**
|
|
1168
1027
|
* Retrieves a column from the provided array at the index, or `null` and logs an error if it's invalid
|
|
1169
1028
|
*
|
|
1170
1029
|
* @param columns The columns to get the column from
|
|
1171
1030
|
* @param columnIndex The column index to get
|
|
1172
1031
|
*/
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
1032
|
static getColumn(columns, columnIndex) {
|
|
1176
1033
|
if (columnIndex < columns.length) {
|
|
1177
1034
|
return columns[columnIndex];
|
|
1178
1035
|
}
|
|
1179
|
-
|
|
1180
1036
|
log.error('Unable to retrieve column', columnIndex, '>=', columns.length);
|
|
1181
1037
|
return null;
|
|
1182
1038
|
}
|
|
1039
|
+
|
|
1183
1040
|
/**
|
|
1184
1041
|
* Retrieves a column from the provided array matching the name, or `null` and logs an error if not found
|
|
1185
1042
|
* @param columns The columns to get the column from
|
|
1186
1043
|
* @param columnName The column name to retrieve
|
|
1187
1044
|
*/
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
1045
|
static getColumnByName(columns, columnName) {
|
|
1191
1046
|
var column = columns.find(_ref30 => {
|
|
1192
1047
|
var {
|
|
@@ -1194,7 +1049,6 @@ class IrisGridUtils {
|
|
|
1194
1049
|
} = _ref30;
|
|
1195
1050
|
return name === columnName;
|
|
1196
1051
|
});
|
|
1197
|
-
|
|
1198
1052
|
if (column == null) {
|
|
1199
1053
|
log.error('Unable to retrieve column by name', columnName, columns.map(_ref31 => {
|
|
1200
1054
|
var {
|
|
@@ -1203,17 +1057,15 @@ class IrisGridUtils {
|
|
|
1203
1057
|
return name;
|
|
1204
1058
|
}));
|
|
1205
1059
|
}
|
|
1206
|
-
|
|
1207
1060
|
return column;
|
|
1208
1061
|
}
|
|
1062
|
+
|
|
1209
1063
|
/**
|
|
1210
1064
|
* Get filter configs with column names changed to indexes, exclude missing columns
|
|
1211
1065
|
* @param columns The columns to get column indexes from
|
|
1212
1066
|
* @param filters Filter configs
|
|
1213
1067
|
* @returns Updated filter configs with column names changed to indexes
|
|
1214
1068
|
*/
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
1069
|
static changeFilterColumnNamesToIndexes(columns, filters) {
|
|
1218
1070
|
return filters.map(_ref32 => {
|
|
1219
1071
|
var {
|
|
@@ -1225,7 +1077,57 @@ class IrisGridUtils {
|
|
|
1225
1077
|
}).filter(filterConfig => filterConfig != null);
|
|
1226
1078
|
}
|
|
1227
1079
|
|
|
1080
|
+
/**
|
|
1081
|
+
* @param columnType The column type that the filters will be applied to.
|
|
1082
|
+
* @param filterList The list of filters to be combined.
|
|
1083
|
+
* @returns The combination of the filters in filterList as text.
|
|
1084
|
+
*/
|
|
1085
|
+
static combineFiltersFromList(columnType, filterList) {
|
|
1086
|
+
filterList.sort((a, b) => {
|
|
1087
|
+
// move all 'equals' comparisons to end of list
|
|
1088
|
+
if (a.operator === 'eq' && b.operator !== 'eq') {
|
|
1089
|
+
return 1;
|
|
1090
|
+
}
|
|
1091
|
+
if (a.operator !== 'eq' && b.operator === 'eq') {
|
|
1092
|
+
return -1;
|
|
1093
|
+
}
|
|
1094
|
+
return a.startColumnIndex - b.startColumnIndex;
|
|
1095
|
+
});
|
|
1096
|
+
var combinedText = '';
|
|
1097
|
+
for (var i = 0; i < filterList.length; i += 1) {
|
|
1098
|
+
var {
|
|
1099
|
+
text,
|
|
1100
|
+
value,
|
|
1101
|
+
operator
|
|
1102
|
+
} = filterList[i];
|
|
1103
|
+
if (value !== undefined) {
|
|
1104
|
+
var symbol = '';
|
|
1105
|
+
if (operator !== undefined) {
|
|
1106
|
+
if (value == null && operator === 'eq') {
|
|
1107
|
+
symbol = '=';
|
|
1108
|
+
} else if (operator !== 'eq') {
|
|
1109
|
+
if (operator === 'startsWith' || operator === 'endsWith') {
|
|
1110
|
+
symbol = '*';
|
|
1111
|
+
} else {
|
|
1112
|
+
symbol = TableUtils.getFilterOperatorString(operator);
|
|
1113
|
+
}
|
|
1114
|
+
}
|
|
1115
|
+
}
|
|
1116
|
+
var filterText = "".concat(symbol).concat(text);
|
|
1117
|
+
if (operator === 'startsWith') {
|
|
1118
|
+
filterText = "".concat(text).concat(symbol);
|
|
1119
|
+
}
|
|
1120
|
+
if (columnType != null && value !== null && TableUtils.isCharType(columnType)) {
|
|
1121
|
+
filterText = "".concat(symbol).concat(String.fromCharCode(parseInt(text, 10)));
|
|
1122
|
+
}
|
|
1123
|
+
if (i !== 0) {
|
|
1124
|
+
combinedText += operator === 'eq' ? ' || ' : ' && ';
|
|
1125
|
+
}
|
|
1126
|
+
combinedText += filterText;
|
|
1127
|
+
}
|
|
1128
|
+
}
|
|
1129
|
+
return combinedText;
|
|
1130
|
+
}
|
|
1228
1131
|
}
|
|
1229
|
-
|
|
1230
1132
|
export default IrisGridUtils;
|
|
1231
1133
|
//# sourceMappingURL=IrisGridUtils.js.map
|