@deephaven/dashboard-core-plugins 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.
Files changed (105) hide show
  1. package/dist/ChartBuilderPlugin.js +8 -15
  2. package/dist/ChartBuilderPlugin.js.map +1 -1
  3. package/dist/ChartPanelPlugin.js +13 -6
  4. package/dist/ChartPanelPlugin.js.map +1 -1
  5. package/dist/ChartWidgetPlugin.js +11 -4
  6. package/dist/ChartWidgetPlugin.js.map +1 -1
  7. package/dist/ConsolePlugin.js +38 -46
  8. package/dist/ConsolePlugin.js.map +1 -1
  9. package/dist/FilterPlugin.js +63 -44
  10. package/dist/FilterPlugin.js.map +1 -1
  11. package/dist/GridPanelPlugin.js +3 -5
  12. package/dist/GridPanelPlugin.js.map +1 -1
  13. package/dist/GridWidgetPlugin.d.ts +11 -1
  14. package/dist/GridWidgetPlugin.d.ts.map +1 -1
  15. package/dist/GridWidgetPlugin.js +48 -30
  16. package/dist/GridWidgetPlugin.js.map +1 -1
  17. package/dist/LinkerPlugin.js +3 -5
  18. package/dist/LinkerPlugin.js.map +1 -1
  19. package/dist/MarkdownPlugin.js +18 -17
  20. package/dist/MarkdownPlugin.js.map +1 -1
  21. package/dist/PandasPanelPlugin.js +3 -5
  22. package/dist/PandasPanelPlugin.js.map +1 -1
  23. package/dist/PandasWidgetPlugin.js +3 -7
  24. package/dist/PandasWidgetPlugin.js.map +1 -1
  25. package/dist/TablePluginWrapper.js +8 -10
  26. package/dist/TablePluginWrapper.js.map +1 -1
  27. package/dist/WidgetLoaderPlugin.js +24 -29
  28. package/dist/WidgetLoaderPlugin.js.map +1 -1
  29. package/dist/controls/dropdown-filter/DropdownFilter.js +63 -79
  30. package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
  31. package/dist/controls/input-filter/InputFilter.js +32 -58
  32. package/dist/controls/input-filter/InputFilter.js.map +1 -1
  33. package/dist/controls/markdown/MarkdownContainer.js +4 -5
  34. package/dist/controls/markdown/MarkdownContainer.js.map +1 -1
  35. package/dist/controls/markdown/MarkdownEditor.js +7 -10
  36. package/dist/controls/markdown/MarkdownEditor.js.map +1 -1
  37. package/dist/controls/markdown/MarkdownStartPage.js +8 -12
  38. package/dist/controls/markdown/MarkdownStartPage.js.map +1 -1
  39. package/dist/linker/Linker.js +100 -192
  40. package/dist/linker/Linker.js.map +1 -1
  41. package/dist/linker/LinkerLink.js +23 -31
  42. package/dist/linker/LinkerLink.js.map +1 -1
  43. package/dist/linker/LinkerOverlayContent.js +65 -66
  44. package/dist/linker/LinkerOverlayContent.js.map +1 -1
  45. package/dist/linker/LinkerUtils.js +6 -14
  46. package/dist/linker/LinkerUtils.js.map +1 -1
  47. package/dist/panels/ChartColumnSelectorOverlay.js +4 -6
  48. package/dist/panels/ChartColumnSelectorOverlay.js.map +1 -1
  49. package/dist/panels/ChartFilterOverlay.js +7 -9
  50. package/dist/panels/ChartFilterOverlay.js.map +1 -1
  51. package/dist/panels/ChartPanel.js +136 -220
  52. package/dist/panels/ChartPanel.js.map +1 -1
  53. package/dist/panels/ChartPanelUtils.js +3 -4
  54. package/dist/panels/ChartPanelUtils.js.map +1 -1
  55. package/dist/panels/CommandHistoryPanel.js +33 -52
  56. package/dist/panels/CommandHistoryPanel.js.map +1 -1
  57. package/dist/panels/ConsolePanel.js +68 -130
  58. package/dist/panels/ConsolePanel.js.map +1 -1
  59. package/dist/panels/CorePanel.js +6 -18
  60. package/dist/panels/CorePanel.js.map +1 -1
  61. package/dist/panels/DropdownFilterPanel.js +109 -165
  62. package/dist/panels/DropdownFilterPanel.js.map +1 -1
  63. package/dist/panels/FileExplorerPanel.js +30 -55
  64. package/dist/panels/FileExplorerPanel.js.map +1 -1
  65. package/dist/panels/FilterSetManager.js +81 -141
  66. package/dist/panels/FilterSetManager.js.map +1 -1
  67. package/dist/panels/FilterSetManagerPanel.js +68 -87
  68. package/dist/panels/FilterSetManagerPanel.js.map +1 -1
  69. package/dist/panels/InputFilterPanel.js +45 -68
  70. package/dist/panels/InputFilterPanel.js.map +1 -1
  71. package/dist/panels/IrisGridPanel.d.ts +28 -6
  72. package/dist/panels/IrisGridPanel.d.ts.map +1 -1
  73. package/dist/panels/IrisGridPanel.js +224 -280
  74. package/dist/panels/IrisGridPanel.js.map +1 -1
  75. package/dist/panels/IrisGridPanelTooltip.js +1 -3
  76. package/dist/panels/IrisGridPanelTooltip.js.map +1 -1
  77. package/dist/panels/LogPanel.js +6 -13
  78. package/dist/panels/LogPanel.js.map +1 -1
  79. package/dist/panels/MarkdownNotebook.js +28 -50
  80. package/dist/panels/MarkdownNotebook.js.map +1 -1
  81. package/dist/panels/MarkdownPanel.js +19 -38
  82. package/dist/panels/MarkdownPanel.js.map +1 -1
  83. package/dist/panels/NotebookPanel.js +157 -292
  84. package/dist/panels/NotebookPanel.js.map +1 -1
  85. package/dist/panels/PandasPanel.js +5 -15
  86. package/dist/panels/PandasPanel.js.map +1 -1
  87. package/dist/panels/PandasReloadButton.js +1 -3
  88. package/dist/panels/PandasReloadButton.js.map +1 -1
  89. package/dist/panels/WidgetPanel.js +42 -51
  90. package/dist/panels/WidgetPanel.js.map +1 -1
  91. package/dist/panels/WidgetPanelTooltip.js +6 -10
  92. package/dist/panels/WidgetPanelTooltip.js.map +1 -1
  93. package/dist/useConfigureRuff.js +8 -9
  94. package/dist/useConfigureRuff.js.map +1 -1
  95. package/dist/useDashboardColumnFilters.js +4 -7
  96. package/dist/useDashboardColumnFilters.js.map +1 -1
  97. package/dist/useGridLinker.js +9 -16
  98. package/dist/useGridLinker.js.map +1 -1
  99. package/dist/useIrisGridModel.d.ts +2 -2
  100. package/dist/useIrisGridModel.d.ts.map +1 -1
  101. package/dist/useIrisGridModel.js +34 -6
  102. package/dist/useIrisGridModel.js.map +1 -1
  103. package/dist/useTablePlugin.js +27 -14
  104. package/dist/useTablePlugin.js.map +1 -1
  105. package/package.json +24 -24
@@ -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
- start,
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
- isolatedLinkerPanelId
268
- } = this.props;
269
- var {
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
- links
298
- } = this.props;
299
- var {
300
- start,
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
- end: panelLinkEnd,
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
- end
393
- } = link;
394
- var {
395
- panelId,
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
- panelManager
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
- panelId: endPanelId,
533
- columnName,
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: startColumnIndex,
542
- isExpandable,
543
- isGrouped
544
- } = dataMap[start.columnName];
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
- start,
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
- start,
661
- end,
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
- linkInProgress
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
- } = this.props;
769
- var {
770
- linkInProgress,
771
- selectedIds,
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.';