@deephaven/dashboard-core-plugins 1.22.1-alpha-pivot-builder.0 → 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/dist/ChartBuilderPlugin.js +8 -15
- package/dist/ChartBuilderPlugin.js.map +1 -1
- package/dist/ChartPanelPlugin.js +13 -6
- package/dist/ChartPanelPlugin.js.map +1 -1
- package/dist/ChartWidgetPlugin.js +11 -4
- package/dist/ChartWidgetPlugin.js.map +1 -1
- package/dist/ConsolePlugin.js +38 -46
- package/dist/ConsolePlugin.js.map +1 -1
- package/dist/FilterPlugin.js +63 -44
- package/dist/FilterPlugin.js.map +1 -1
- package/dist/GridPanelPlugin.js +3 -5
- package/dist/GridPanelPlugin.js.map +1 -1
- package/dist/GridWidgetPlugin.js +35 -29
- package/dist/GridWidgetPlugin.js.map +1 -1
- package/dist/LinkerPlugin.js +3 -5
- package/dist/LinkerPlugin.js.map +1 -1
- package/dist/MarkdownPlugin.js +18 -17
- package/dist/MarkdownPlugin.js.map +1 -1
- package/dist/PandasPanelPlugin.js +3 -5
- package/dist/PandasPanelPlugin.js.map +1 -1
- package/dist/PandasWidgetPlugin.js +3 -7
- package/dist/PandasWidgetPlugin.js.map +1 -1
- package/dist/TablePluginWrapper.js +8 -10
- package/dist/TablePluginWrapper.js.map +1 -1
- package/dist/WidgetLoaderPlugin.js +24 -29
- package/dist/WidgetLoaderPlugin.js.map +1 -1
- package/dist/controls/dropdown-filter/DropdownFilter.js +63 -79
- package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
- package/dist/controls/input-filter/InputFilter.js +32 -58
- package/dist/controls/input-filter/InputFilter.js.map +1 -1
- package/dist/controls/markdown/MarkdownContainer.js +4 -5
- package/dist/controls/markdown/MarkdownContainer.js.map +1 -1
- package/dist/controls/markdown/MarkdownEditor.js +7 -10
- package/dist/controls/markdown/MarkdownEditor.js.map +1 -1
- package/dist/controls/markdown/MarkdownStartPage.js +8 -12
- package/dist/controls/markdown/MarkdownStartPage.js.map +1 -1
- package/dist/linker/Linker.js +100 -192
- package/dist/linker/Linker.js.map +1 -1
- package/dist/linker/LinkerLink.js +23 -31
- package/dist/linker/LinkerLink.js.map +1 -1
- package/dist/linker/LinkerOverlayContent.js +65 -66
- package/dist/linker/LinkerOverlayContent.js.map +1 -1
- package/dist/linker/LinkerUtils.js +6 -14
- package/dist/linker/LinkerUtils.js.map +1 -1
- package/dist/panels/ChartColumnSelectorOverlay.js +4 -6
- package/dist/panels/ChartColumnSelectorOverlay.js.map +1 -1
- package/dist/panels/ChartFilterOverlay.js +7 -9
- package/dist/panels/ChartFilterOverlay.js.map +1 -1
- package/dist/panels/ChartPanel.js +136 -220
- package/dist/panels/ChartPanel.js.map +1 -1
- package/dist/panels/ChartPanelUtils.js +3 -4
- package/dist/panels/ChartPanelUtils.js.map +1 -1
- package/dist/panels/CommandHistoryPanel.js +33 -52
- package/dist/panels/CommandHistoryPanel.js.map +1 -1
- package/dist/panels/ConsolePanel.js +68 -130
- package/dist/panels/ConsolePanel.js.map +1 -1
- package/dist/panels/CorePanel.js +6 -18
- package/dist/panels/CorePanel.js.map +1 -1
- package/dist/panels/DropdownFilterPanel.js +109 -165
- package/dist/panels/DropdownFilterPanel.js.map +1 -1
- package/dist/panels/FileExplorerPanel.js +30 -55
- package/dist/panels/FileExplorerPanel.js.map +1 -1
- package/dist/panels/FilterSetManager.js +81 -141
- package/dist/panels/FilterSetManager.js.map +1 -1
- package/dist/panels/FilterSetManagerPanel.js +68 -87
- package/dist/panels/FilterSetManagerPanel.js.map +1 -1
- package/dist/panels/InputFilterPanel.js +45 -68
- package/dist/panels/InputFilterPanel.js.map +1 -1
- package/dist/panels/IrisGridPanel.js +197 -272
- package/dist/panels/IrisGridPanel.js.map +1 -1
- package/dist/panels/IrisGridPanelTooltip.js +1 -3
- package/dist/panels/IrisGridPanelTooltip.js.map +1 -1
- package/dist/panels/LogPanel.js +6 -13
- package/dist/panels/LogPanel.js.map +1 -1
- package/dist/panels/MarkdownNotebook.js +28 -50
- package/dist/panels/MarkdownNotebook.js.map +1 -1
- package/dist/panels/MarkdownPanel.js +19 -38
- package/dist/panels/MarkdownPanel.js.map +1 -1
- package/dist/panels/NotebookPanel.js +157 -292
- package/dist/panels/NotebookPanel.js.map +1 -1
- package/dist/panels/PandasPanel.js +5 -15
- package/dist/panels/PandasPanel.js.map +1 -1
- package/dist/panels/PandasReloadButton.js +1 -3
- package/dist/panels/PandasReloadButton.js.map +1 -1
- package/dist/panels/WidgetPanel.js +42 -51
- package/dist/panels/WidgetPanel.js.map +1 -1
- package/dist/panels/WidgetPanelTooltip.js +6 -10
- package/dist/panels/WidgetPanelTooltip.js.map +1 -1
- package/dist/useConfigureRuff.js +8 -9
- package/dist/useConfigureRuff.js.map +1 -1
- package/dist/useDashboardColumnFilters.js +4 -7
- package/dist/useDashboardColumnFilters.js.map +1 -1
- package/dist/useGridLinker.js +9 -16
- package/dist/useGridLinker.js.map +1 -1
- package/dist/useIrisGridModel.js +18 -3
- package/dist/useIrisGridModel.js.map +1 -1
- package/dist/useTablePlugin.js +27 -14
- package/dist/useTablePlugin.js.map +1 -1
- package/package.json +24 -24
package/dist/linker/Linker.js
CHANGED
|
@@ -84,17 +84,14 @@ export class Linker extends Component {
|
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
86
|
componentDidMount() {
|
|
87
|
-
var
|
|
88
|
-
layout
|
|
89
|
-
} = this.props;
|
|
87
|
+
var layout = this.props.layout;
|
|
90
88
|
this.startListening(layout);
|
|
91
89
|
this.updateSelectionValidators();
|
|
92
90
|
}
|
|
93
91
|
componentDidUpdate(prevProps) {
|
|
94
|
-
var
|
|
95
|
-
activeTool,
|
|
96
|
-
layout
|
|
97
|
-
} = this.props;
|
|
92
|
+
var _this$props = this.props,
|
|
93
|
+
activeTool = _this$props.activeTool,
|
|
94
|
+
layout = _this$props.layout;
|
|
98
95
|
if (layout !== prevProps.layout) {
|
|
99
96
|
this.stopListening(prevProps.layout);
|
|
100
97
|
this.startListening(layout);
|
|
@@ -110,16 +107,12 @@ export class Linker extends Component {
|
|
|
110
107
|
log.error('componentDidCatch', error, info);
|
|
111
108
|
}
|
|
112
109
|
componentWillUnmount() {
|
|
113
|
-
var
|
|
114
|
-
layout
|
|
115
|
-
} = this.props;
|
|
110
|
+
var layout = this.props.layout;
|
|
116
111
|
this.stopListening(layout);
|
|
117
112
|
}
|
|
118
113
|
startListening(layout) {
|
|
119
114
|
layout.on('stateChanged', this.handleLayoutStateChanged);
|
|
120
|
-
var
|
|
121
|
-
eventHub
|
|
122
|
-
} = layout;
|
|
115
|
+
var eventHub = layout.eventHub;
|
|
123
116
|
eventHub.on(IrisGridEvent.COLUMN_SELECTED, this.handleGridColumnSelect);
|
|
124
117
|
eventHub.on(IrisGridEvent.DATA_SELECTED, this.handleUpdateValues);
|
|
125
118
|
eventHub.on(IrisGridEvent.STATE_CHANGED, this.handleStateChange);
|
|
@@ -133,9 +126,7 @@ export class Linker extends Component {
|
|
|
133
126
|
}
|
|
134
127
|
stopListening(layout) {
|
|
135
128
|
layout.off('stateChanged', this.handleLayoutStateChanged);
|
|
136
|
-
var
|
|
137
|
-
eventHub
|
|
138
|
-
} = layout;
|
|
129
|
+
var eventHub = layout.eventHub;
|
|
139
130
|
eventHub.off(IrisGridEvent.COLUMN_SELECTED, this.handleGridColumnSelect);
|
|
140
131
|
eventHub.off(IrisGridEvent.DATA_SELECTED, this.handleUpdateValues);
|
|
141
132
|
eventHub.off(IrisGridEvent.STATE_CHANGED, this.handleStateChange);
|
|
@@ -155,13 +146,9 @@ export class Linker extends Component {
|
|
|
155
146
|
});
|
|
156
147
|
}
|
|
157
148
|
handleCancel() {
|
|
158
|
-
var
|
|
159
|
-
linkInProgress
|
|
160
|
-
} = this.state;
|
|
149
|
+
var linkInProgress = this.state.linkInProgress;
|
|
161
150
|
if (linkInProgress == null) {
|
|
162
|
-
var
|
|
163
|
-
setActiveTool
|
|
164
|
-
} = this.props;
|
|
151
|
+
var setActiveTool = this.props.setActiveTool;
|
|
165
152
|
setActiveTool(ToolType.DEFAULT);
|
|
166
153
|
}
|
|
167
154
|
this.setState({
|
|
@@ -169,9 +156,7 @@ export class Linker extends Component {
|
|
|
169
156
|
});
|
|
170
157
|
}
|
|
171
158
|
handleDone() {
|
|
172
|
-
var
|
|
173
|
-
setActiveTool
|
|
174
|
-
} = this.props;
|
|
159
|
+
var setActiveTool = this.props.setActiveTool;
|
|
175
160
|
setActiveTool(ToolType.DEFAULT);
|
|
176
161
|
}
|
|
177
162
|
handleChartColumnSelect(panel, column) {
|
|
@@ -181,9 +166,7 @@ export class Linker extends Component {
|
|
|
181
166
|
}
|
|
182
167
|
handleColumnsChanged(sourceId, columns) {
|
|
183
168
|
log.debug('handleColumnsChanged', sourceId, columns);
|
|
184
|
-
var
|
|
185
|
-
links
|
|
186
|
-
} = this.props;
|
|
169
|
+
var links = this.props.links;
|
|
187
170
|
if (sourceId == null) {
|
|
188
171
|
log.error('Invalid filter columns source id', sourceId);
|
|
189
172
|
return;
|
|
@@ -197,10 +180,8 @@ export class Linker extends Component {
|
|
|
197
180
|
// NOTE: links need to be updated to use sourceId instead of panelId. This will be done when we implement linker for dh.ui widgets DH-18840
|
|
198
181
|
// Delete links that start or end on non-existent column in the updated panel
|
|
199
182
|
var linksToDelete = links.filter(_ref => {
|
|
200
|
-
var
|
|
201
|
-
|
|
202
|
-
end
|
|
203
|
-
} = _ref;
|
|
183
|
+
var start = _ref.start,
|
|
184
|
+
end = _ref.end;
|
|
204
185
|
return start.panelId === sourceId && LinkerUtils.findColumn(columns, start) == null || end != null && end.panelId === sourceId && LinkerUtils.findColumn(columns, end) == null;
|
|
205
186
|
});
|
|
206
187
|
this.deleteLinks(linksToDelete);
|
|
@@ -215,20 +196,17 @@ export class Linker extends Component {
|
|
|
215
196
|
this.columnSelected(panelId, column, 'tableLink');
|
|
216
197
|
}
|
|
217
198
|
handleLinkPointSelected(sourceId, column, options) {
|
|
218
|
-
var
|
|
219
|
-
type
|
|
220
|
-
} = options;
|
|
199
|
+
var type = options.type;
|
|
221
200
|
var isIsolatedLinker = type === 'filterSource';
|
|
222
201
|
var isAlwaysEnd = type === 'chartLink' || type === 'filterSource';
|
|
223
202
|
|
|
224
203
|
// filterSource type should open in isolated linker mode
|
|
225
204
|
if (!this.isOverlayShown() && sourceId != null && isIsolatedLinker) {
|
|
226
|
-
var
|
|
227
|
-
links,
|
|
228
|
-
localDashboardId,
|
|
229
|
-
setActiveTool,
|
|
230
|
-
setDashboardIsolatedLinkerPanelId
|
|
231
|
-
} = this.props;
|
|
205
|
+
var _this$props2 = this.props,
|
|
206
|
+
links = _this$props2.links,
|
|
207
|
+
localDashboardId = _this$props2.localDashboardId,
|
|
208
|
+
setActiveTool = _this$props2.setActiveTool,
|
|
209
|
+
setDashboardIsolatedLinkerPanelId = _this$props2.setDashboardIsolatedLinkerPanelId;
|
|
232
210
|
var panelLinks = links.filter(link => {
|
|
233
211
|
var _link$start2, _link$end2;
|
|
234
212
|
return ((_link$start2 = link.start) === null || _link$start2 === void 0 ? void 0 : _link$start2.panelId) === sourceId || ((_link$end2 = link.end) === null || _link$end2 === void 0 ? void 0 : _link$end2.panelId) === sourceId;
|
|
@@ -263,16 +241,10 @@ export class Linker extends Component {
|
|
|
263
241
|
if (overrideIsolatedLinkerPanelId === undefined && !this.isOverlayShown()) {
|
|
264
242
|
return;
|
|
265
243
|
}
|
|
266
|
-
var
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
linkInProgress
|
|
271
|
-
} = this.state;
|
|
272
|
-
var {
|
|
273
|
-
name: columnName,
|
|
274
|
-
type: columnType
|
|
275
|
-
} = column;
|
|
244
|
+
var isolatedLinkerPanelId = this.props.isolatedLinkerPanelId;
|
|
245
|
+
var linkInProgress = this.state.linkInProgress;
|
|
246
|
+
var columnName = column.name,
|
|
247
|
+
columnType = column.type;
|
|
276
248
|
if (linkInProgress == null || linkInProgress.start == null) {
|
|
277
249
|
var newLink = {
|
|
278
250
|
id: nanoid(),
|
|
@@ -293,14 +265,11 @@ export class Linker extends Component {
|
|
|
293
265
|
});
|
|
294
266
|
} else {
|
|
295
267
|
var _linkInProgress$endTy;
|
|
296
|
-
var
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
id,
|
|
302
|
-
isReversed = false
|
|
303
|
-
} = linkInProgress;
|
|
268
|
+
var links = this.props.links;
|
|
269
|
+
var start = linkInProgress.start,
|
|
270
|
+
id = linkInProgress.id,
|
|
271
|
+
_linkInProgress$isRev = linkInProgress.isReversed,
|
|
272
|
+
isReversed = _linkInProgress$isRev === void 0 ? false : _linkInProgress$isRev;
|
|
304
273
|
var end = {
|
|
305
274
|
panelId: sourceId,
|
|
306
275
|
columnName,
|
|
@@ -329,9 +298,7 @@ export class Linker extends Component {
|
|
|
329
298
|
// In cases with multiple targets per panel (i.e. chart filters)
|
|
330
299
|
// links would have to be filtered by panelId and columnName and columnType
|
|
331
300
|
var linksToDelete = links.filter(_ref2 => {
|
|
332
|
-
var
|
|
333
|
-
end: panelLinkEnd
|
|
334
|
-
} = _ref2;
|
|
301
|
+
var panelLinkEnd = _ref2.end;
|
|
335
302
|
return (panelLinkEnd === null || panelLinkEnd === void 0 ? void 0 : panelLinkEnd.panelId) === existingLinkPanelId;
|
|
336
303
|
});
|
|
337
304
|
this.deleteLinks(linksToDelete);
|
|
@@ -348,10 +315,8 @@ export class Linker extends Component {
|
|
|
348
315
|
});
|
|
349
316
|
// Don't allow linking more than one column per source to each chart column
|
|
350
317
|
var _linksToDelete = links.filter(_ref3 => {
|
|
351
|
-
var
|
|
352
|
-
|
|
353
|
-
start: panelLinkStart
|
|
354
|
-
} = _ref3;
|
|
318
|
+
var panelLinkEnd = _ref3.end,
|
|
319
|
+
panelLinkStart = _ref3.start;
|
|
355
320
|
return (panelLinkStart === null || panelLinkStart === void 0 ? void 0 : panelLinkStart.panelId) === existingLinkStart.panelId && (panelLinkEnd === null || panelLinkEnd === void 0 ? void 0 : panelLinkEnd.panelId) === existingLinkEnd.panelId && (panelLinkEnd === null || panelLinkEnd === void 0 ? void 0 : panelLinkEnd.columnName) === existingLinkEnd.columnName && (panelLinkEnd === null || panelLinkEnd === void 0 ? void 0 : panelLinkEnd.columnType) === existingLinkEnd.columnType;
|
|
356
321
|
});
|
|
357
322
|
this.deleteLinks(_linksToDelete);
|
|
@@ -383,22 +348,14 @@ export class Linker extends Component {
|
|
|
383
348
|
}
|
|
384
349
|
}
|
|
385
350
|
unsetFilterValueForLink(link) {
|
|
386
|
-
var
|
|
387
|
-
panelManager
|
|
388
|
-
} = this.props;
|
|
351
|
+
var panelManager = this.props.panelManager;
|
|
389
352
|
if (link.end) {
|
|
390
353
|
var _linkTargetPropMap$ge;
|
|
391
|
-
var
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
columnName,
|
|
397
|
-
columnType
|
|
398
|
-
} = end;
|
|
399
|
-
var {
|
|
400
|
-
linkTargetPropMap
|
|
401
|
-
} = this;
|
|
354
|
+
var end = link.end;
|
|
355
|
+
var panelId = end.panelId,
|
|
356
|
+
columnName = end.columnName,
|
|
357
|
+
columnType = end.columnType;
|
|
358
|
+
var linkTargetPropMap = this.linkTargetPropMap;
|
|
402
359
|
var unsetFilterValue = (_linkTargetPropMap$ge = linkTargetPropMap.get(panelId)) === null || _linkTargetPropMap$ge === void 0 ? void 0 : _linkTargetPropMap$ge.unsetFilterValue;
|
|
403
360
|
if (unsetFilterValue) {
|
|
404
361
|
unsetFilterValue(columnName, columnType);
|
|
@@ -423,12 +380,8 @@ export class Linker extends Component {
|
|
|
423
380
|
setPanelFilterMap(panelId, filterMap) {
|
|
424
381
|
var _linkTargetPropMap$ge2;
|
|
425
382
|
log.debug('Set filter data for panel:', panelId, filterMap);
|
|
426
|
-
var
|
|
427
|
-
|
|
428
|
-
} = this.props;
|
|
429
|
-
var {
|
|
430
|
-
linkTargetPropMap
|
|
431
|
-
} = this;
|
|
383
|
+
var panelManager = this.props.panelManager;
|
|
384
|
+
var linkTargetPropMap = this.linkTargetPropMap;
|
|
432
385
|
var setFilterValues = (_linkTargetPropMap$ge2 = linkTargetPropMap.get(panelId)) === null || _linkTargetPropMap$ge2 === void 0 ? void 0 : _linkTargetPropMap$ge2.setFilterValues;
|
|
433
386
|
if (setFilterValues) {
|
|
434
387
|
setFilterValues(filterMap);
|
|
@@ -444,40 +397,30 @@ export class Linker extends Component {
|
|
|
444
397
|
}
|
|
445
398
|
}
|
|
446
399
|
addLinks(links) {
|
|
447
|
-
var
|
|
448
|
-
addDashboardLinks,
|
|
449
|
-
localDashboardId
|
|
450
|
-
} = this.props;
|
|
400
|
+
var _this$props3 = this.props,
|
|
401
|
+
addDashboardLinks = _this$props3.addDashboardLinks,
|
|
402
|
+
localDashboardId = _this$props3.localDashboardId;
|
|
451
403
|
addDashboardLinks(localDashboardId, links);
|
|
452
404
|
}
|
|
453
405
|
deleteLinks(links) {
|
|
454
406
|
var clearAll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
455
|
-
var
|
|
456
|
-
localDashboardId
|
|
457
|
-
} = this.props;
|
|
407
|
+
var localDashboardId = this.props.localDashboardId;
|
|
458
408
|
links.forEach(link => this.unsetFilterValueForLink(link));
|
|
459
409
|
if (clearAll) {
|
|
460
|
-
var
|
|
461
|
-
setDashboardLinks
|
|
462
|
-
} = this.props;
|
|
410
|
+
var setDashboardLinks = this.props.setDashboardLinks;
|
|
463
411
|
setDashboardLinks(localDashboardId, []);
|
|
464
412
|
} else if (links.length > 0) {
|
|
465
|
-
var
|
|
466
|
-
deleteDashboardLinks
|
|
467
|
-
} = this.props;
|
|
413
|
+
var deleteDashboardLinks = this.props.deleteDashboardLinks;
|
|
468
414
|
deleteDashboardLinks(localDashboardId, links.map(_ref4 => {
|
|
469
|
-
var
|
|
470
|
-
id
|
|
471
|
-
} = _ref4;
|
|
415
|
+
var id = _ref4.id;
|
|
472
416
|
return id;
|
|
473
417
|
}));
|
|
474
418
|
}
|
|
475
419
|
}
|
|
476
420
|
handleAllLinksDeleted() {
|
|
477
|
-
var
|
|
478
|
-
links,
|
|
479
|
-
isolatedLinkerPanelId
|
|
480
|
-
} = this.props;
|
|
421
|
+
var _this$props4 = this.props,
|
|
422
|
+
links = _this$props4.links,
|
|
423
|
+
isolatedLinkerPanelId = _this$props4.isolatedLinkerPanelId;
|
|
481
424
|
if (isolatedLinkerPanelId === undefined) {
|
|
482
425
|
this.deleteLinks(links, true);
|
|
483
426
|
} else {
|
|
@@ -490,9 +433,7 @@ export class Linker extends Component {
|
|
|
490
433
|
this.reset();
|
|
491
434
|
}
|
|
492
435
|
handleLinkDeleted(linkId) {
|
|
493
|
-
var
|
|
494
|
-
links
|
|
495
|
-
} = this.props;
|
|
436
|
+
var links = this.props.links;
|
|
496
437
|
var link = links.find(l => l.id === linkId);
|
|
497
438
|
if (link) {
|
|
498
439
|
this.deleteLinks([link]);
|
|
@@ -501,9 +442,7 @@ export class Linker extends Component {
|
|
|
501
442
|
}
|
|
502
443
|
}
|
|
503
444
|
handleTargetRegistered(sourceId, handlers) {
|
|
504
|
-
var
|
|
505
|
-
linkTargetPropMap
|
|
506
|
-
} = this;
|
|
445
|
+
var linkTargetPropMap = this.linkTargetPropMap;
|
|
507
446
|
if (handlers == null) {
|
|
508
447
|
linkTargetPropMap.delete(sourceId);
|
|
509
448
|
} else {
|
|
@@ -511,40 +450,33 @@ export class Linker extends Component {
|
|
|
511
450
|
}
|
|
512
451
|
}
|
|
513
452
|
handleUpdateValues(sourceId, dataMap) {
|
|
514
|
-
var
|
|
515
|
-
dh,
|
|
516
|
-
links,
|
|
517
|
-
timeZone
|
|
518
|
-
} = this.props;
|
|
453
|
+
var _this$props5 = this.props,
|
|
454
|
+
dh = _this$props5.dh,
|
|
455
|
+
links = _this$props5.links,
|
|
456
|
+
timeZone = _this$props5.timeZone;
|
|
519
457
|
// Map of panel ID to filterMap
|
|
520
458
|
var panelFilterMap = new Map();
|
|
521
459
|
// Instead of setting filters one by one for each link,
|
|
522
460
|
// combine them so they could be set in a single call per target panel
|
|
523
461
|
for (var i = 0; i < links.length; i += 1) {
|
|
524
|
-
var
|
|
525
|
-
start,
|
|
526
|
-
end,
|
|
527
|
-
operator
|
|
528
|
-
} = links[i];
|
|
462
|
+
var _links$i = links[i],
|
|
463
|
+
start = _links$i.start,
|
|
464
|
+
end = _links$i.end,
|
|
465
|
+
operator = _links$i.operator;
|
|
529
466
|
if (start.panelId === sourceId && end != null) {
|
|
530
467
|
var _filterMap$get$filter, _filterMap$get;
|
|
531
|
-
var
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
columnType
|
|
535
|
-
} = end;
|
|
468
|
+
var endPanelId = end.panelId,
|
|
469
|
+
columnName = end.columnName,
|
|
470
|
+
columnType = end.columnType;
|
|
536
471
|
// Map of column name to column type and filter value
|
|
537
472
|
var existingFilterMap = panelFilterMap.get(endPanelId);
|
|
538
473
|
var filterMap = existingFilterMap !== null && existingFilterMap !== void 0 ? existingFilterMap : new Map();
|
|
539
474
|
var filterList = (_filterMap$get$filter = (_filterMap$get = filterMap.get(columnName)) === null || _filterMap$get === void 0 ? void 0 : _filterMap$get.filterList) !== null && _filterMap$get$filter !== void 0 ? _filterMap$get$filter : [];
|
|
540
|
-
var
|
|
541
|
-
visibleIndex
|
|
542
|
-
isExpandable,
|
|
543
|
-
isGrouped
|
|
544
|
-
|
|
545
|
-
var {
|
|
546
|
-
value
|
|
547
|
-
} = dataMap[start.columnName];
|
|
475
|
+
var _dataMap$start$column = dataMap[start.columnName],
|
|
476
|
+
startColumnIndex = _dataMap$start$column.visibleIndex,
|
|
477
|
+
isExpandable = _dataMap$start$column.isExpandable,
|
|
478
|
+
isGrouped = _dataMap$start$column.isGrouped;
|
|
479
|
+
var value = dataMap[start.columnName].value;
|
|
548
480
|
var text = "".concat(value);
|
|
549
481
|
if (value === null && isExpandable && isGrouped) {
|
|
550
482
|
// Clear filter on empty rollup grouping columns
|
|
@@ -580,9 +512,7 @@ export class Linker extends Component {
|
|
|
580
512
|
});
|
|
581
513
|
}
|
|
582
514
|
handlePanelCloned(panel, cloneConfig) {
|
|
583
|
-
var
|
|
584
|
-
links
|
|
585
|
-
} = this.props;
|
|
515
|
+
var links = this.props.links;
|
|
586
516
|
var panelId = LayoutUtils.getIdFromPanel(panel);
|
|
587
517
|
var cloneId = cloneConfig.id;
|
|
588
518
|
if (panelId != null) {
|
|
@@ -591,15 +521,11 @@ export class Linker extends Component {
|
|
|
591
521
|
}
|
|
592
522
|
}
|
|
593
523
|
handlePanelDragging(componentId) {
|
|
594
|
-
var
|
|
595
|
-
links
|
|
596
|
-
} = this.props;
|
|
524
|
+
var links = this.props.links;
|
|
597
525
|
for (var i = 0; i < links.length; i += 1) {
|
|
598
526
|
var link = links[i];
|
|
599
|
-
var
|
|
600
|
-
|
|
601
|
-
end
|
|
602
|
-
} = link;
|
|
527
|
+
var start = link.start,
|
|
528
|
+
end = link.end;
|
|
603
529
|
if (start.panelId === componentId || (end === null || end === void 0 ? void 0 : end.panelId) === componentId) {
|
|
604
530
|
this.setState({
|
|
605
531
|
isDraggingPanel: true
|
|
@@ -625,10 +551,9 @@ export class Linker extends Component {
|
|
|
625
551
|
});
|
|
626
552
|
}
|
|
627
553
|
handleLinksUpdated(newLinks) {
|
|
628
|
-
var
|
|
629
|
-
localDashboardId,
|
|
630
|
-
setDashboardLinks
|
|
631
|
-
} = this.props;
|
|
554
|
+
var _this$props6 = this.props,
|
|
555
|
+
localDashboardId = _this$props6.localDashboardId,
|
|
556
|
+
setDashboardLinks = _this$props6.setDashboardLinks;
|
|
632
557
|
setDashboardLinks(localDashboardId, newLinks);
|
|
633
558
|
}
|
|
634
559
|
handleLayoutStateChanged() {
|
|
@@ -639,10 +564,9 @@ export class Linker extends Component {
|
|
|
639
564
|
}
|
|
640
565
|
handleExited() {
|
|
641
566
|
// Has to be done after linker exit animation to avoid flashing non-isolated links
|
|
642
|
-
var
|
|
643
|
-
localDashboardId,
|
|
644
|
-
setDashboardIsolatedLinkerPanelId
|
|
645
|
-
} = this.props;
|
|
567
|
+
var _this$props7 = this.props,
|
|
568
|
+
localDashboardId = _this$props7.localDashboardId,
|
|
569
|
+
setDashboardIsolatedLinkerPanelId = _this$props7.setDashboardIsolatedLinkerPanelId;
|
|
646
570
|
setDashboardIsolatedLinkerPanelId(localDashboardId, undefined);
|
|
647
571
|
}
|
|
648
572
|
|
|
@@ -651,33 +575,26 @@ export class Linker extends Component {
|
|
|
651
575
|
* @param panelId The panel ID to delete links for
|
|
652
576
|
*/
|
|
653
577
|
deleteLinksForPanelId(panelId) {
|
|
654
|
-
var
|
|
655
|
-
links
|
|
656
|
-
} = this.props;
|
|
578
|
+
var links = this.props.links;
|
|
657
579
|
for (var i = 0; i < links.length; i += 1) {
|
|
658
580
|
var link = links[i];
|
|
659
|
-
var
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
id
|
|
663
|
-
} = link;
|
|
581
|
+
var start = link.start,
|
|
582
|
+
end = link.end,
|
|
583
|
+
id = link.id;
|
|
664
584
|
if (start.panelId === panelId || (end === null || end === void 0 ? void 0 : end.panelId) === panelId) {
|
|
665
585
|
this.handleLinkDeleted(id);
|
|
666
586
|
}
|
|
667
587
|
}
|
|
668
588
|
}
|
|
669
589
|
isOverlayShown() {
|
|
670
|
-
var
|
|
671
|
-
activeTool
|
|
672
|
-
} = this.props;
|
|
590
|
+
var activeTool = this.props.activeTool;
|
|
673
591
|
return activeTool === ToolType.LINKER;
|
|
674
592
|
}
|
|
675
593
|
updateSelectionValidators() {
|
|
676
|
-
var
|
|
677
|
-
activeTool,
|
|
678
|
-
setDashboardColumnSelectionValidator,
|
|
679
|
-
localDashboardId
|
|
680
|
-
} = this.props;
|
|
594
|
+
var _this$props8 = this.props,
|
|
595
|
+
activeTool = _this$props8.activeTool,
|
|
596
|
+
setDashboardColumnSelectionValidator = _this$props8.setDashboardColumnSelectionValidator,
|
|
597
|
+
localDashboardId = _this$props8.localDashboardId;
|
|
681
598
|
switch (activeTool) {
|
|
682
599
|
case ToolType.LINKER:
|
|
683
600
|
setDashboardColumnSelectionValidator(localDashboardId, this.isColumnSelectionValid);
|
|
@@ -690,9 +607,7 @@ export class Linker extends Component {
|
|
|
690
607
|
updateLinkInProgressType() {
|
|
691
608
|
var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'invalid';
|
|
692
609
|
this.setState(_ref5 => {
|
|
693
|
-
var
|
|
694
|
-
linkInProgress
|
|
695
|
-
} = _ref5;
|
|
610
|
+
var linkInProgress = _ref5.linkInProgress;
|
|
696
611
|
if (linkInProgress !== undefined) {
|
|
697
612
|
return {
|
|
698
613
|
linkInProgress: _objectSpread(_objectSpread({}, linkInProgress), {}, {
|
|
@@ -705,12 +620,8 @@ export class Linker extends Component {
|
|
|
705
620
|
}
|
|
706
621
|
isColumnSelectionValid(panelOrId, tableColumn, options) {
|
|
707
622
|
var _linkInProgress$endTy2;
|
|
708
|
-
var
|
|
709
|
-
|
|
710
|
-
} = this.state;
|
|
711
|
-
var {
|
|
712
|
-
isolatedLinkerPanelId
|
|
713
|
-
} = this.props;
|
|
623
|
+
var linkInProgress = this.state.linkInProgress;
|
|
624
|
+
var isolatedLinkerPanelId = this.props.isolatedLinkerPanelId;
|
|
714
625
|
// This is backwards compatibility for Grizzly Enterprise panels
|
|
715
626
|
// IrisGridPanel is the only allowed start point for a link
|
|
716
627
|
// The enterprise panels will not call this method with options
|
|
@@ -737,10 +648,9 @@ export class Linker extends Component {
|
|
|
737
648
|
if ((linkInProgress === null || linkInProgress === void 0 ? void 0 : linkInProgress.start) == null) {
|
|
738
649
|
return true;
|
|
739
650
|
}
|
|
740
|
-
var
|
|
741
|
-
isReversed = false,
|
|
742
|
-
start
|
|
743
|
-
} = linkInProgress;
|
|
651
|
+
var _linkInProgress$isRev2 = linkInProgress.isReversed,
|
|
652
|
+
isReversed = _linkInProgress$isRev2 === void 0 ? false : _linkInProgress$isRev2,
|
|
653
|
+
start = linkInProgress.start;
|
|
744
654
|
var panelId = typeof panelOrId === 'string' ? panelOrId : LayoutUtils.getIdFromPanel(panelOrId);
|
|
745
655
|
if (panelId == null) {
|
|
746
656
|
return false;
|
|
@@ -761,16 +671,14 @@ export class Linker extends Component {
|
|
|
761
671
|
return isValid;
|
|
762
672
|
}
|
|
763
673
|
render() {
|
|
764
|
-
var
|
|
765
|
-
links,
|
|
766
|
-
isolatedLinkerPanelId,
|
|
767
|
-
panelManager
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
isDraggingPanel
|
|
773
|
-
} = this.state;
|
|
674
|
+
var _this$props9 = this.props,
|
|
675
|
+
links = _this$props9.links,
|
|
676
|
+
isolatedLinkerPanelId = _this$props9.isolatedLinkerPanelId,
|
|
677
|
+
panelManager = _this$props9.panelManager;
|
|
678
|
+
var _this$state = this.state,
|
|
679
|
+
linkInProgress = _this$state.linkInProgress,
|
|
680
|
+
selectedIds = _this$state.selectedIds,
|
|
681
|
+
isDraggingPanel = _this$state.isDraggingPanel;
|
|
774
682
|
var isLinkOverlayShown = this.isOverlayShown();
|
|
775
683
|
var disabled = linkInProgress != null && linkInProgress.start != null;
|
|
776
684
|
var linkerOverlayMessage = isolatedLinkerPanelId === undefined ? 'Click a column source, then click a column target to create a filter link. The filter comparison operator used by a selected link can be changed. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.' : 'Create a link between the source column button and a table column by clicking on one, then the other. Delete a filter link by clicking the delete button or with alt+click. Click done when finished.';
|