@deephaven/dashboard-core-plugins 0.22.3-embed-pandas.11 → 0.23.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ChartBuilderPlugin.d.ts +2 -2
- package/dist/ChartBuilderPlugin.d.ts.map +1 -1
- package/dist/ChartBuilderPlugin.js +6 -8
- package/dist/ChartBuilderPlugin.js.map +1 -1
- package/dist/ChartPlugin.d.ts +2 -2
- package/dist/ChartPlugin.d.ts.map +1 -1
- package/dist/ChartPlugin.js +4 -8
- package/dist/ChartPlugin.js.map +1 -1
- package/dist/ConsolePlugin.d.ts +2 -2
- package/dist/ConsolePlugin.d.ts.map +1 -1
- package/dist/ConsolePlugin.js +16 -62
- package/dist/ConsolePlugin.js.map +1 -1
- package/dist/FilterPlugin.d.ts +4 -4
- package/dist/FilterPlugin.d.ts.map +1 -1
- package/dist/FilterPlugin.js +6 -13
- package/dist/FilterPlugin.js.map +1 -1
- package/dist/GridPlugin.d.ts +2 -2
- package/dist/GridPlugin.d.ts.map +1 -1
- package/dist/GridPlugin.js +4 -8
- package/dist/GridPlugin.js.map +1 -1
- package/dist/LinkerPlugin.d.ts +2 -2
- package/dist/LinkerPlugin.d.ts.map +1 -1
- package/dist/LinkerPlugin.js +2 -2
- package/dist/LinkerPlugin.js.map +1 -1
- package/dist/MarkdownPlugin.d.ts +3 -3
- package/dist/MarkdownPlugin.d.ts.map +1 -1
- package/dist/MarkdownPlugin.js +4 -8
- package/dist/MarkdownPlugin.js.map +1 -1
- package/dist/PandasPlugin.d.ts +2 -2
- package/dist/PandasPlugin.d.ts.map +1 -1
- package/dist/PandasPlugin.js +4 -8
- package/dist/PandasPlugin.js.map +1 -1
- package/dist/controls/ControlType.js +0 -6
- package/dist/controls/ControlType.js.map +1 -1
- package/dist/controls/dropdown-filter/DropdownFilter.d.ts +2 -2
- package/dist/controls/dropdown-filter/DropdownFilter.d.ts.map +1 -1
- package/dist/controls/dropdown-filter/DropdownFilter.js +7 -51
- package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
- package/dist/controls/input-filter/InputFilter.d.ts +2 -2
- package/dist/controls/input-filter/InputFilter.d.ts.map +1 -1
- package/dist/controls/input-filter/InputFilter.js +1 -31
- package/dist/controls/input-filter/InputFilter.js.map +1 -1
- package/dist/controls/markdown/MarkdownContainer.js +0 -3
- package/dist/controls/markdown/MarkdownContainer.js.map +1 -1
- package/dist/controls/markdown/MarkdownEditor.d.ts +0 -2
- package/dist/controls/markdown/MarkdownEditor.d.ts.map +1 -1
- package/dist/controls/markdown/MarkdownEditor.js +13 -20
- package/dist/controls/markdown/MarkdownEditor.js.map +1 -1
- package/dist/controls/markdown/MarkdownStartPage.js +0 -11
- package/dist/controls/markdown/MarkdownStartPage.js.map +1 -1
- package/dist/controls/markdown/MarkdownUtils.js +0 -7
- package/dist/controls/markdown/MarkdownUtils.js.map +1 -1
- package/dist/events/ChartEvent.js +0 -5
- package/dist/events/ChartEvent.js.map +1 -1
- package/dist/events/ConsoleEvent.js +0 -7
- package/dist/events/ConsoleEvent.js.map +1 -1
- package/dist/events/InputFilterEvent.js +0 -10
- package/dist/events/InputFilterEvent.js.map +1 -1
- package/dist/events/IrisGridEvent.js +0 -8
- package/dist/events/IrisGridEvent.js.map +1 -1
- package/dist/events/MarkdownEvent.d.ts +1 -1
- package/dist/events/MarkdownEvent.js.map +1 -1
- package/dist/events/NotebookEvent.js +0 -10
- package/dist/events/NotebookEvent.js.map +1 -1
- package/dist/events/PQEvent.js +0 -5
- package/dist/events/PQEvent.js.map +1 -1
- package/dist/events/PandasEvent.js +0 -4
- package/dist/events/PandasEvent.js.map +1 -1
- package/dist/events/TabEvent.js +0 -8
- package/dist/events/TabEvent.js.map +1 -1
- package/dist/events/index.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/linker/ColumnSelectionValidator.d.ts +1 -1
- package/dist/linker/ColumnSelectionValidator.d.ts.map +1 -1
- package/dist/linker/Linker.d.ts +5 -2
- package/dist/linker/Linker.d.ts.map +1 -1
- package/dist/linker/Linker.js +70 -119
- package/dist/linker/Linker.js.map +1 -1
- package/dist/linker/LinkerLink.css +90 -25
- package/dist/linker/LinkerLink.css.map +1 -1
- package/dist/linker/LinkerLink.d.ts +21 -3
- package/dist/linker/LinkerLink.d.ts.map +1 -1
- package/dist/linker/LinkerLink.js +214 -23
- package/dist/linker/LinkerLink.js.map +1 -1
- package/dist/linker/LinkerOverlayContent.css +0 -4
- package/dist/linker/LinkerOverlayContent.css.map +1 -1
- package/dist/linker/LinkerOverlayContent.d.ts +14 -3
- package/dist/linker/LinkerOverlayContent.d.ts.map +1 -1
- package/dist/linker/LinkerOverlayContent.js +78 -33
- package/dist/linker/LinkerOverlayContent.js.map +1 -1
- package/dist/linker/LinkerUtils.d.ts +17 -10
- package/dist/linker/LinkerUtils.d.ts.map +1 -1
- package/dist/linker/LinkerUtils.js +9 -25
- package/dist/linker/LinkerUtils.js.map +1 -1
- package/dist/linker/ToolType.d.ts +2 -2
- package/dist/linker/ToolType.js.map +1 -1
- package/dist/panels/ChartColumnSelectorOverlay.d.ts +5 -5
- package/dist/panels/ChartColumnSelectorOverlay.d.ts.map +1 -1
- package/dist/panels/ChartColumnSelectorOverlay.js +4 -7
- package/dist/panels/ChartColumnSelectorOverlay.js.map +1 -1
- package/dist/panels/ChartFilterOverlay.d.ts +5 -5
- package/dist/panels/ChartFilterOverlay.d.ts.map +1 -1
- package/dist/panels/ChartFilterOverlay.js +2 -7
- package/dist/panels/ChartFilterOverlay.js.map +1 -1
- package/dist/panels/ChartPanel.d.ts +8 -8
- package/dist/panels/ChartPanel.d.ts.map +1 -1
- package/dist/panels/ChartPanel.js +11 -150
- package/dist/panels/ChartPanel.js.map +1 -1
- package/dist/panels/CommandHistoryPanel.d.ts.map +1 -1
- package/dist/panels/CommandHistoryPanel.js +1 -26
- package/dist/panels/CommandHistoryPanel.js.map +1 -1
- package/dist/panels/ConsolePanel.d.ts +1 -1
- package/dist/panels/ConsolePanel.d.ts.map +1 -1
- package/dist/panels/ConsolePanel.js +12 -57
- package/dist/panels/ConsolePanel.js.map +1 -1
- package/dist/panels/DropdownFilterPanel.d.ts +9 -9
- package/dist/panels/DropdownFilterPanel.d.ts.map +1 -1
- package/dist/panels/DropdownFilterPanel.js +21 -127
- package/dist/panels/DropdownFilterPanel.js.map +1 -1
- package/dist/panels/FileExplorerPanel.d.ts +4 -4
- package/dist/panels/FileExplorerPanel.d.ts.map +1 -1
- package/dist/panels/FileExplorerPanel.js +4 -33
- package/dist/panels/FileExplorerPanel.js.map +1 -1
- package/dist/panels/FilterSetManager.d.ts +1 -1
- package/dist/panels/FilterSetManager.d.ts.map +1 -1
- package/dist/panels/FilterSetManager.js +13 -86
- package/dist/panels/FilterSetManager.js.map +1 -1
- package/dist/panels/FilterSetManagerPanel.js +10 -64
- package/dist/panels/FilterSetManagerPanel.js.map +1 -1
- package/dist/panels/InputFilterPanel.d.ts.map +1 -1
- package/dist/panels/InputFilterPanel.js +8 -38
- package/dist/panels/InputFilterPanel.js.map +1 -1
- package/dist/panels/IrisGridPanel.d.ts +13 -13
- package/dist/panels/IrisGridPanel.d.ts.map +1 -1
- package/dist/panels/IrisGridPanel.js +24 -133
- package/dist/panels/IrisGridPanel.js.map +1 -1
- package/dist/panels/IrisGridPanelTooltip.d.ts +7 -7
- package/dist/panels/IrisGridPanelTooltip.d.ts.map +1 -1
- package/dist/panels/IrisGridPanelTooltip.js +2 -5
- package/dist/panels/IrisGridPanelTooltip.js.map +1 -1
- package/dist/panels/LogPanel.js +4 -22
- package/dist/panels/LogPanel.js.map +1 -1
- package/dist/panels/MarkdownNotebook.js +3 -30
- package/dist/panels/MarkdownNotebook.js.map +1 -1
- package/dist/panels/MarkdownPanel.js +2 -30
- package/dist/panels/MarkdownPanel.js.map +1 -1
- package/dist/panels/MockFileStorage.js +1 -14
- package/dist/panels/MockFileStorage.js.map +1 -1
- package/dist/panels/MockFileStorageTable.js +11 -30
- package/dist/panels/MockFileStorageTable.js.map +1 -1
- package/dist/panels/NotebookPanel.js +24 -182
- package/dist/panels/NotebookPanel.js.map +1 -1
- package/dist/panels/PandasPanel.js +1 -20
- package/dist/panels/PandasPanel.js.map +1 -1
- package/dist/panels/Panel.d.ts +1 -1
- package/dist/panels/Panel.d.ts.map +1 -1
- package/dist/panels/Panel.js +2 -38
- package/dist/panels/Panel.js.map +1 -1
- package/dist/panels/PanelContextMenu.js +7 -29
- package/dist/panels/PanelContextMenu.js.map +1 -1
- package/dist/panels/RenameDialog.js +2 -17
- package/dist/panels/RenameDialog.js.map +1 -1
- package/dist/panels/WidgetPanel.d.ts.map +1 -1
- package/dist/panels/WidgetPanel.js +5 -22
- package/dist/panels/WidgetPanel.js.map +1 -1
- package/dist/panels/WidgetPanelTooltip.d.ts +7 -7
- package/dist/panels/WidgetPanelTooltip.d.ts.map +1 -1
- package/dist/panels/WidgetPanelTooltip.js +7 -17
- package/dist/panels/WidgetPanelTooltip.js.map +1 -1
- package/dist/panels/index.js.map +1 -1
- package/dist/prop-types/CommonPropTypes.js +0 -3
- package/dist/prop-types/CommonPropTypes.js.map +1 -1
- package/dist/prop-types/UIPropTypes.d.ts +2 -2
- package/dist/prop-types/UIPropTypes.js.map +1 -1
- package/dist/prop-types/index.js.map +1 -1
- package/dist/redux/actionTypes.js.map +1 -1
- package/dist/redux/actions.js +8 -9
- package/dist/redux/actions.js.map +1 -1
- package/dist/redux/index.js.map +1 -1
- package/dist/redux/reducers/connection.js.map +1 -1
- package/dist/redux/reducers/index.js.map +1 -1
- package/dist/redux/reducers/sessionWrapper.js.map +1 -1
- package/dist/redux/selectors.js +10 -15
- package/dist/redux/selectors.js.map +1 -1
- package/package.json +21 -19
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
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; }
|
|
2
|
-
|
|
3
2
|
import React, { Component } from 'react';
|
|
4
3
|
import { connect } from 'react-redux';
|
|
5
4
|
import debounce from 'lodash.debounce';
|
|
@@ -19,86 +18,65 @@ import ToolType from "../linker/ToolType.js";
|
|
|
19
18
|
import WidgetPanel from "./WidgetPanel.js";
|
|
20
19
|
var log = Log.module('DropdownFilterPanel');
|
|
21
20
|
var DROPDOWN_FILTER_DEBOUNCE = 250;
|
|
22
|
-
|
|
23
21
|
class DropdownFilterPanel extends Component {
|
|
24
22
|
// Filter dropdown needs to show and send full timestamp format with nanoseconds
|
|
23
|
+
|
|
25
24
|
constructor(props) {
|
|
26
25
|
super(props);
|
|
27
|
-
|
|
28
26
|
_defineProperty(this, "dropdownFilterRef", void 0);
|
|
29
|
-
|
|
30
27
|
_defineProperty(this, "panelContainer", void 0);
|
|
31
|
-
|
|
32
28
|
_defineProperty(this, "pending", void 0);
|
|
33
|
-
|
|
34
29
|
_defineProperty(this, "cleanup", void 0);
|
|
35
|
-
|
|
36
30
|
_defineProperty(this, "columnFormats", void 0);
|
|
37
|
-
|
|
38
31
|
_defineProperty(this, "getCachedValues", memoize((rawValues, _ref, formatter) => {
|
|
39
32
|
var {
|
|
40
33
|
type,
|
|
41
34
|
name
|
|
42
35
|
} = _ref;
|
|
43
|
-
|
|
44
36
|
if (type !== undefined && TableUtils.isDateType(type)) {
|
|
45
37
|
return rawValues.map(value => DropdownFilterPanel.DATETIME_FORMATTER.format(value));
|
|
46
38
|
}
|
|
47
|
-
|
|
48
|
-
|
|
39
|
+
return rawValues.map(value =>
|
|
40
|
+
// Skip formatting for nulls so they don't get converted to ''
|
|
49
41
|
value != null && type != null ? formatter.getFormattedString(value, type, name) : null);
|
|
50
42
|
}));
|
|
51
|
-
|
|
52
43
|
_defineProperty(this, "getCachedPanelLinks", memoize((dashboardLinks, panel) => {
|
|
53
44
|
var panelId = LayoutUtils.getIdFromPanel(panel);
|
|
54
45
|
log.debug('getCachedPanelLinks', dashboardLinks, panelId);
|
|
55
46
|
return dashboardLinks.filter(link => {
|
|
56
47
|
var _link$end;
|
|
57
|
-
|
|
58
48
|
return ((_link$end = link.end) === null || _link$end === void 0 ? void 0 : _link$end.panelId) === panelId;
|
|
59
49
|
});
|
|
60
50
|
}));
|
|
61
|
-
|
|
62
51
|
_defineProperty(this, "getCachedSource", memoize(links => {
|
|
63
52
|
log.debug('getCachedSource', links);
|
|
64
|
-
var source
|
|
65
|
-
|
|
53
|
+
var source;
|
|
66
54
|
if (links.length > 0) {
|
|
67
55
|
var [link] = links;
|
|
68
56
|
source = link.start;
|
|
69
|
-
|
|
70
57
|
if (links.length > 1) {
|
|
71
58
|
log.error('Filter has more that one link', links);
|
|
72
59
|
}
|
|
73
60
|
}
|
|
74
|
-
|
|
75
61
|
return source;
|
|
76
62
|
}));
|
|
77
|
-
|
|
78
63
|
_defineProperty(this, "getCachedSourceTable", memoize((panelTableMap, source) => {
|
|
79
64
|
var _panelTableMap$get;
|
|
80
|
-
|
|
81
65
|
log.debug('getCachedSourceTable', panelTableMap, source);
|
|
82
|
-
|
|
83
66
|
if (source == null) {
|
|
84
67
|
return null;
|
|
85
68
|
}
|
|
86
|
-
|
|
87
69
|
var {
|
|
88
70
|
panelId
|
|
89
71
|
} = source;
|
|
90
72
|
return (_panelTableMap$get = panelTableMap.get(panelId)) !== null && _panelTableMap$get !== void 0 ? _panelTableMap$get : null;
|
|
91
73
|
}));
|
|
92
|
-
|
|
93
74
|
_defineProperty(this, "getCachedSourceColumn", memoize((table, source) => {
|
|
94
75
|
var _table$columns$find;
|
|
95
|
-
|
|
96
76
|
log.debug('getCachedSourceColumn', table, source);
|
|
97
|
-
|
|
98
77
|
if (table == null || source == null) {
|
|
99
78
|
return null;
|
|
100
79
|
}
|
|
101
|
-
|
|
102
80
|
return (_table$columns$find = table.columns.find(_ref2 => {
|
|
103
81
|
var {
|
|
104
82
|
name,
|
|
@@ -107,7 +85,6 @@ class DropdownFilterPanel extends Component {
|
|
|
107
85
|
return name === source.columnName && type === source.columnType;
|
|
108
86
|
})) !== null && _table$columns$find !== void 0 ? _table$columns$find : null;
|
|
109
87
|
}));
|
|
110
|
-
|
|
111
88
|
this.handleChange = debounce(this.handleChange.bind(this), DROPDOWN_FILTER_DEBOUNCE);
|
|
112
89
|
this.handleClearAllFilters = this.handleClearAllFilters.bind(this);
|
|
113
90
|
this.handleDisconnect = this.handleDisconnect.bind(this);
|
|
@@ -153,13 +130,13 @@ class DropdownFilterPanel extends Component {
|
|
|
153
130
|
// eslint-disable-next-line react/no-unused-state
|
|
154
131
|
panelState,
|
|
155
132
|
// Dehydrated panel state that can load this panel
|
|
133
|
+
|
|
156
134
|
isDisconnected: false,
|
|
157
135
|
isLoading: false,
|
|
158
136
|
isLoaded: false,
|
|
159
137
|
error: null
|
|
160
138
|
};
|
|
161
139
|
}
|
|
162
|
-
|
|
163
140
|
componentDidMount() {
|
|
164
141
|
this.updateValuesTable();
|
|
165
142
|
var {
|
|
@@ -168,11 +145,9 @@ class DropdownFilterPanel extends Component {
|
|
|
168
145
|
timestamp
|
|
169
146
|
} = this.state;
|
|
170
147
|
var sourceTable = this.getSourceTable();
|
|
171
|
-
|
|
172
148
|
if (sourceTable !== null) {
|
|
173
149
|
this.startListeningToSource(sourceTable);
|
|
174
150
|
}
|
|
175
|
-
|
|
176
151
|
if (column != null) {
|
|
177
152
|
var {
|
|
178
153
|
name,
|
|
@@ -181,7 +156,6 @@ class DropdownFilterPanel extends Component {
|
|
|
181
156
|
this.sendUpdate(name, type, value, timestamp);
|
|
182
157
|
}
|
|
183
158
|
}
|
|
184
|
-
|
|
185
159
|
componentDidUpdate(prevProps, prevState) {
|
|
186
160
|
var {
|
|
187
161
|
valuesTable
|
|
@@ -193,91 +167,73 @@ class DropdownFilterPanel extends Component {
|
|
|
193
167
|
var sourceTable = this.getSourceTable();
|
|
194
168
|
var prevSource = this.getSource(prevProps);
|
|
195
169
|
var prevSourceTable = this.getSourceTable(prevProps);
|
|
196
|
-
|
|
197
170
|
if (settings !== prevProps.settings && settings !== undefined) {
|
|
198
171
|
this.updateFormatterSettings(settings);
|
|
199
172
|
}
|
|
200
|
-
|
|
201
173
|
if (valuesTable !== prevState.valuesTable && prevState.valuesTable != null) {
|
|
202
174
|
log.debug('Table in state modified, closing the old table.');
|
|
203
175
|
prevState.valuesTable.close();
|
|
204
|
-
}
|
|
205
|
-
// in case a different column is selected in the same table
|
|
206
|
-
|
|
176
|
+
}
|
|
207
177
|
|
|
178
|
+
// Checking source change in addition to table change
|
|
179
|
+
// in case a different column is selected in the same table
|
|
208
180
|
if (sourceTable !== prevSourceTable || source !== prevSource) {
|
|
209
181
|
this.updateValuesTable();
|
|
210
182
|
}
|
|
211
|
-
|
|
212
183
|
if (sourceTable !== prevSourceTable) {
|
|
213
184
|
if (prevSourceTable !== null) {
|
|
214
185
|
this.stopListeningToSource(prevSourceTable);
|
|
215
186
|
}
|
|
216
|
-
|
|
217
187
|
if (sourceTable !== null) {
|
|
218
188
|
this.startListeningToSource(sourceTable);
|
|
219
189
|
}
|
|
220
190
|
}
|
|
221
191
|
}
|
|
222
|
-
|
|
223
192
|
componentWillUnmount() {
|
|
224
193
|
var {
|
|
225
194
|
valuesTable
|
|
226
195
|
} = this.state;
|
|
227
196
|
var sourceTable = this.getSourceTable();
|
|
228
197
|
this.pending.cancel();
|
|
229
|
-
|
|
230
198
|
if (sourceTable !== null) {
|
|
231
199
|
this.stopListeningToSource(sourceTable);
|
|
232
200
|
}
|
|
233
|
-
|
|
234
201
|
if (this.cleanup) {
|
|
235
202
|
this.cleanup();
|
|
236
203
|
}
|
|
237
|
-
|
|
238
204
|
if (valuesTable != null) {
|
|
239
205
|
valuesTable.close();
|
|
240
206
|
}
|
|
241
207
|
}
|
|
242
|
-
|
|
243
208
|
getCoordinateForColumn() {
|
|
244
209
|
var _element$getBoundingC;
|
|
245
|
-
|
|
246
210
|
if (this.panelContainer.current == null) {
|
|
247
211
|
return null;
|
|
248
212
|
}
|
|
249
|
-
|
|
250
213
|
var element = this.panelContainer.current.querySelector(".".concat(DropdownFilter.SOURCE_BUTTON_CLASS_NAME));
|
|
251
214
|
var rect = (_element$getBoundingC = element === null || element === void 0 ? void 0 : element.getBoundingClientRect()) !== null && _element$getBoundingC !== void 0 ? _element$getBoundingC : null;
|
|
252
|
-
|
|
253
215
|
if (rect == null || rect.width <= 0 || rect.height <= 0) {
|
|
254
216
|
return null;
|
|
255
217
|
}
|
|
256
|
-
|
|
257
218
|
var x = rect.left + rect.width / 2;
|
|
258
219
|
var y = rect.bottom;
|
|
259
220
|
return [x, y];
|
|
260
221
|
}
|
|
261
|
-
|
|
262
222
|
getSettingsErrorMessage() {
|
|
263
223
|
var {
|
|
264
224
|
sourceSize
|
|
265
225
|
} = this.state;
|
|
266
|
-
|
|
267
226
|
if (sourceSize > DropdownFilterPanel.MAX_TABLE_SIZE) {
|
|
268
227
|
return "Table too large, must have fewer than ".concat(DropdownFilterPanel.MAX_TABLE_SIZE, " options.");
|
|
269
228
|
}
|
|
270
|
-
|
|
271
229
|
return undefined;
|
|
272
230
|
}
|
|
273
|
-
|
|
274
231
|
getPanelErrorMessage() {
|
|
275
232
|
var {
|
|
276
233
|
error
|
|
277
234
|
} = this.state;
|
|
278
235
|
return error != null ? "".concat(error) : undefined;
|
|
279
236
|
}
|
|
280
|
-
|
|
281
237
|
getSource() {
|
|
282
238
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;
|
|
283
239
|
var {
|
|
@@ -286,7 +242,6 @@ class DropdownFilterPanel extends Component {
|
|
|
286
242
|
var panelLinks = this.getCachedPanelLinks(dashboardLinks, this);
|
|
287
243
|
return this.getCachedSource(panelLinks);
|
|
288
244
|
}
|
|
289
|
-
|
|
290
245
|
getSourceTable() {
|
|
291
246
|
var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;
|
|
292
247
|
var {
|
|
@@ -295,12 +250,10 @@ class DropdownFilterPanel extends Component {
|
|
|
295
250
|
var source = this.getSource(props);
|
|
296
251
|
return this.getCachedSourceTable(panelTableMap, source);
|
|
297
252
|
}
|
|
298
|
-
|
|
299
253
|
getValuesColumn(valuesTable) {
|
|
300
254
|
var source = this.getSource();
|
|
301
255
|
return this.getCachedSourceColumn(valuesTable, source);
|
|
302
256
|
}
|
|
303
|
-
|
|
304
257
|
startListeningToSource(sourceTable) {
|
|
305
258
|
log.debug('startListeningToSource');
|
|
306
259
|
sourceTable.addEventListener(dh.Table.EVENT_FILTERCHANGED, this.handleSourceFilterChange);
|
|
@@ -309,7 +262,6 @@ class DropdownFilterPanel extends Component {
|
|
|
309
262
|
sourceTable.addEventListener(dh.Table.EVENT_DISCONNECT, this.handleDisconnect);
|
|
310
263
|
sourceTable.addEventListener(dh.Table.EVENT_RECONNECT, this.handleReconnect);
|
|
311
264
|
}
|
|
312
|
-
|
|
313
265
|
stopListeningToSource(sourceTable) {
|
|
314
266
|
log.debug('stopListeningToSource');
|
|
315
267
|
sourceTable.removeEventListener(dh.Table.EVENT_FILTERCHANGED, this.handleSourceFilterChange);
|
|
@@ -318,11 +270,10 @@ class DropdownFilterPanel extends Component {
|
|
|
318
270
|
sourceTable.removeEventListener(dh.Table.EVENT_DISCONNECT, this.handleDisconnect);
|
|
319
271
|
sourceTable.removeEventListener(dh.Table.EVENT_RECONNECT, this.handleReconnect);
|
|
320
272
|
}
|
|
321
|
-
|
|
322
273
|
handleChange(_ref3) {
|
|
323
274
|
var {
|
|
324
275
|
column,
|
|
325
|
-
isValueShown,
|
|
276
|
+
isValueShown = false,
|
|
326
277
|
value
|
|
327
278
|
} = _ref3;
|
|
328
279
|
var {
|
|
@@ -333,7 +284,6 @@ class DropdownFilterPanel extends Component {
|
|
|
333
284
|
var timestamp = Date.now();
|
|
334
285
|
this.setState(_ref4 => {
|
|
335
286
|
var _ref5, _timestamp;
|
|
336
|
-
|
|
337
287
|
var {
|
|
338
288
|
panelState,
|
|
339
289
|
timestamp: prevTimestamp,
|
|
@@ -343,11 +293,9 @@ class DropdownFilterPanel extends Component {
|
|
|
343
293
|
// If the user had a value set, and they flip the card over and flip it back without changing any settings, ignore it
|
|
344
294
|
var isFlip = panelState != null && isValueShown !== panelState.isValueShown && name === panelState.name && type === panelState.type && value === panelState.value;
|
|
345
295
|
sendUpdate = (_ref5 = !skipUpdate && isValueShown && (!isFlip || !wasFlipped)) !== null && _ref5 !== void 0 ? _ref5 : false;
|
|
346
|
-
|
|
347
296
|
if (!sendUpdate) {
|
|
348
297
|
timestamp = prevTimestamp;
|
|
349
298
|
}
|
|
350
|
-
|
|
351
299
|
return {
|
|
352
300
|
panelState: {
|
|
353
301
|
isValueShown,
|
|
@@ -366,7 +314,6 @@ class DropdownFilterPanel extends Component {
|
|
|
366
314
|
}
|
|
367
315
|
});
|
|
368
316
|
}
|
|
369
|
-
|
|
370
317
|
handleDisconnect() {
|
|
371
318
|
this.setState({
|
|
372
319
|
error: new Error('Table disconnected'),
|
|
@@ -374,22 +321,18 @@ class DropdownFilterPanel extends Component {
|
|
|
374
321
|
isLoading: false
|
|
375
322
|
});
|
|
376
323
|
}
|
|
377
|
-
|
|
378
324
|
handleReconnect() {
|
|
379
325
|
this.setState({
|
|
380
326
|
isDisconnected: false,
|
|
381
327
|
error: null
|
|
382
328
|
});
|
|
383
329
|
}
|
|
384
|
-
|
|
385
330
|
handleSourceFilterChange() {
|
|
386
331
|
this.applySourceFilters();
|
|
387
332
|
}
|
|
388
|
-
|
|
389
333
|
handleSourceSortChange() {
|
|
390
334
|
this.applySourceSorts();
|
|
391
335
|
}
|
|
392
|
-
|
|
393
336
|
handleSourceSizeChange(_ref6) {
|
|
394
337
|
var {
|
|
395
338
|
detail
|
|
@@ -398,7 +341,6 @@ class DropdownFilterPanel extends Component {
|
|
|
398
341
|
sourceSize: detail
|
|
399
342
|
});
|
|
400
343
|
}
|
|
401
|
-
|
|
402
344
|
handleColumnSelected() {
|
|
403
345
|
log.debug('handleColumnSelected');
|
|
404
346
|
var {
|
|
@@ -406,41 +348,34 @@ class DropdownFilterPanel extends Component {
|
|
|
406
348
|
} = this.props;
|
|
407
349
|
glEventHub.emit(InputFilterEvent.COLUMN_SELECTED, this, DropdownFilterPanel.SOURCE_COLUMN);
|
|
408
350
|
}
|
|
409
|
-
|
|
410
351
|
handleClearAllFilters() {
|
|
411
352
|
var _this$dropdownFilterR, _this$dropdownFilterR2;
|
|
412
|
-
|
|
413
353
|
(_this$dropdownFilterR = this.dropdownFilterRef) === null || _this$dropdownFilterR === void 0 ? void 0 : (_this$dropdownFilterR2 = _this$dropdownFilterR.current) === null || _this$dropdownFilterR2 === void 0 ? void 0 : _this$dropdownFilterR2.clearFilter();
|
|
414
354
|
}
|
|
355
|
+
|
|
415
356
|
/**
|
|
416
357
|
* Set the filter value, card side, selected column
|
|
417
358
|
* @param state Filter state to set
|
|
418
359
|
* @param sendUpdate Emit filters changed event if true
|
|
419
360
|
*/
|
|
420
|
-
|
|
421
|
-
|
|
422
361
|
setPanelState(state) {
|
|
423
362
|
var _this$dropdownFilterR3, _this$dropdownFilterR4;
|
|
424
|
-
|
|
425
363
|
var sendUpdate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
426
|
-
|
|
427
364
|
if (this.getSource() == null) {
|
|
428
365
|
log.debug('Ignore state update for unlinked filter', state);
|
|
429
366
|
return;
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
|
|
367
|
+
}
|
|
368
|
+
// Set the skipUpdate flag so the next onChange handler call doesn't emit the FILTERS_CHANGED event
|
|
433
369
|
this.setState({
|
|
434
370
|
skipUpdate: !sendUpdate
|
|
435
|
-
});
|
|
436
|
-
// Setting the ref state directly triggers the onChange handler and updates the panelState
|
|
371
|
+
});
|
|
437
372
|
|
|
373
|
+
// Changing the inputFilter state via props doesn't quite work because of the delays on manual input changes
|
|
374
|
+
// Setting the ref state directly triggers the onChange handler and updates the panelState
|
|
438
375
|
(_this$dropdownFilterR3 = this.dropdownFilterRef) === null || _this$dropdownFilterR3 === void 0 ? void 0 : (_this$dropdownFilterR4 = _this$dropdownFilterR3.current) === null || _this$dropdownFilterR4 === void 0 ? void 0 : _this$dropdownFilterR4.setFilterState(state);
|
|
439
376
|
}
|
|
440
|
-
|
|
441
377
|
sendUpdate(name, type, value, timestamp) {
|
|
442
378
|
var _this$getSource;
|
|
443
|
-
|
|
444
379
|
var {
|
|
445
380
|
glEventHub
|
|
446
381
|
} = this.props;
|
|
@@ -461,7 +396,6 @@ class DropdownFilterPanel extends Component {
|
|
|
461
396
|
excludePanelIds
|
|
462
397
|
});
|
|
463
398
|
}
|
|
464
|
-
|
|
465
399
|
updateValuesTable() {
|
|
466
400
|
var source = this.getSource();
|
|
467
401
|
var sourceTable = this.getSourceTable();
|
|
@@ -471,7 +405,6 @@ class DropdownFilterPanel extends Component {
|
|
|
471
405
|
valuesTable: undefined,
|
|
472
406
|
error: null
|
|
473
407
|
});
|
|
474
|
-
|
|
475
408
|
if (source == null) {
|
|
476
409
|
log.debug('Filter unlinked.');
|
|
477
410
|
this.setState({
|
|
@@ -482,15 +415,12 @@ class DropdownFilterPanel extends Component {
|
|
|
482
415
|
});
|
|
483
416
|
return;
|
|
484
417
|
}
|
|
485
|
-
|
|
486
418
|
this.setState({
|
|
487
419
|
isLoading: true
|
|
488
420
|
});
|
|
489
|
-
|
|
490
421
|
if (sourceTable == null) {
|
|
491
422
|
return;
|
|
492
423
|
}
|
|
493
|
-
|
|
494
424
|
this.setState({
|
|
495
425
|
isLoaded: false,
|
|
496
426
|
sourceSize: sourceTable.size
|
|
@@ -505,7 +435,6 @@ class DropdownFilterPanel extends Component {
|
|
|
505
435
|
if (PromiseUtils.isCanceled(error)) {
|
|
506
436
|
return;
|
|
507
437
|
}
|
|
508
|
-
|
|
509
438
|
log.error(error);
|
|
510
439
|
this.setState({
|
|
511
440
|
isLoading: false,
|
|
@@ -513,71 +442,56 @@ class DropdownFilterPanel extends Component {
|
|
|
513
442
|
});
|
|
514
443
|
});
|
|
515
444
|
}
|
|
516
|
-
|
|
517
445
|
applySourceSorts() {
|
|
518
446
|
var {
|
|
519
447
|
valuesTable
|
|
520
448
|
} = this.state;
|
|
521
449
|
var sourceTable = this.getSourceTable();
|
|
522
|
-
log.debug('applySourceSorts', sourceTable.sort);
|
|
523
|
-
|
|
524
|
-
if (valuesTable == null) {
|
|
450
|
+
log.debug('applySourceSorts', sourceTable === null || sourceTable === void 0 ? void 0 : sourceTable.sort);
|
|
451
|
+
if (valuesTable == null || sourceTable == null) {
|
|
525
452
|
log.debug('Table not initialized');
|
|
526
453
|
return;
|
|
527
454
|
}
|
|
528
|
-
|
|
529
455
|
var sorts = [...sourceTable.sort];
|
|
530
456
|
valuesTable.applySort(sorts);
|
|
531
457
|
this.setViewport(valuesTable);
|
|
532
458
|
}
|
|
533
|
-
|
|
534
459
|
applySourceFilters() {
|
|
535
460
|
var {
|
|
536
461
|
valuesTable
|
|
537
462
|
} = this.state;
|
|
538
463
|
var sourceTable = this.getSourceTable();
|
|
539
|
-
log.debug('applySourceFilters', sourceTable.filter);
|
|
540
|
-
|
|
541
|
-
if (valuesTable == null) {
|
|
464
|
+
log.debug('applySourceFilters', sourceTable === null || sourceTable === void 0 ? void 0 : sourceTable.filter);
|
|
465
|
+
if (valuesTable == null || sourceTable == null) {
|
|
542
466
|
log.debug('Table not initialized');
|
|
543
467
|
return;
|
|
544
468
|
}
|
|
545
|
-
|
|
546
469
|
var filters = [...sourceTable.filter];
|
|
547
470
|
valuesTable.applyFilter(filters);
|
|
548
471
|
this.setViewport(valuesTable);
|
|
549
472
|
}
|
|
550
|
-
|
|
551
473
|
updateViewportListener(valuesTable) {
|
|
552
474
|
log.debug('updateViewportListener', valuesTable === null || valuesTable === void 0 ? void 0 : valuesTable.size);
|
|
553
|
-
|
|
554
475
|
if (this.cleanup) {
|
|
555
476
|
this.cleanup();
|
|
556
477
|
}
|
|
557
|
-
|
|
558
478
|
if (valuesTable == null) {
|
|
559
479
|
this.cleanup = undefined;
|
|
560
480
|
return;
|
|
561
481
|
}
|
|
562
|
-
|
|
563
482
|
this.cleanup = valuesTable.addEventListener(dh.Table.EVENT_UPDATED, this.handleValuesTableUpdate);
|
|
564
483
|
this.setViewport(valuesTable);
|
|
565
484
|
}
|
|
566
|
-
|
|
567
485
|
setViewport(valuesTable) {
|
|
568
486
|
var valuesColumn = this.getValuesColumn(valuesTable);
|
|
569
|
-
|
|
570
487
|
if (!valuesColumn) {
|
|
571
488
|
log.error('values column is null');
|
|
572
489
|
return;
|
|
573
490
|
}
|
|
574
|
-
|
|
575
491
|
valuesTable.setViewport(0, DropdownFilterPanel.MAX_TABLE_SIZE - 1, [valuesColumn]);
|
|
576
492
|
}
|
|
577
|
-
|
|
578
493
|
updateFormatterSettings(settings) {
|
|
579
494
|
var columnFormats = FormatterUtils.getColumnFormats(settings);
|
|
580
|
-
|
|
581
495
|
if (!deepEqual(this.columnFormats, columnFormats)) {
|
|
582
496
|
this.columnFormats = columnFormats;
|
|
583
497
|
this.setState({
|
|
@@ -585,7 +499,6 @@ class DropdownFilterPanel extends Component {
|
|
|
585
499
|
});
|
|
586
500
|
}
|
|
587
501
|
}
|
|
588
|
-
|
|
589
502
|
handleValuesTableUpdate(_ref7) {
|
|
590
503
|
var {
|
|
591
504
|
detail
|
|
@@ -596,19 +509,15 @@ class DropdownFilterPanel extends Component {
|
|
|
596
509
|
var {
|
|
597
510
|
valuesTable
|
|
598
511
|
} = this.state;
|
|
599
|
-
|
|
600
512
|
if (!valuesTable) {
|
|
601
513
|
log.error('valuesTable is null');
|
|
602
514
|
return;
|
|
603
515
|
}
|
|
604
|
-
|
|
605
516
|
var valuesColumn = this.getValuesColumn(valuesTable);
|
|
606
|
-
|
|
607
517
|
if (!valuesColumn) {
|
|
608
518
|
log.error('Values column not found');
|
|
609
519
|
return;
|
|
610
520
|
}
|
|
611
|
-
|
|
612
521
|
var values = rows.map(row => row.get(valuesColumn));
|
|
613
522
|
this.setState({
|
|
614
523
|
values,
|
|
@@ -617,31 +526,24 @@ class DropdownFilterPanel extends Component {
|
|
|
617
526
|
valuesColumn
|
|
618
527
|
});
|
|
619
528
|
}
|
|
620
|
-
|
|
621
529
|
handleSourceMouseEnter() {
|
|
622
530
|
var {
|
|
623
531
|
columnSelectionValidator
|
|
624
532
|
} = this.props;
|
|
625
|
-
|
|
626
533
|
if (!columnSelectionValidator) {
|
|
627
534
|
return;
|
|
628
535
|
}
|
|
629
|
-
|
|
630
536
|
columnSelectionValidator(this, DropdownFilterPanel.SOURCE_COLUMN);
|
|
631
537
|
}
|
|
632
|
-
|
|
633
538
|
handleSourceMouseLeave() {
|
|
634
539
|
var {
|
|
635
540
|
columnSelectionValidator
|
|
636
541
|
} = this.props;
|
|
637
|
-
|
|
638
542
|
if (!columnSelectionValidator) {
|
|
639
543
|
return;
|
|
640
544
|
}
|
|
641
|
-
|
|
642
545
|
columnSelectionValidator(this, undefined);
|
|
643
546
|
}
|
|
644
|
-
|
|
645
547
|
render() {
|
|
646
548
|
var {
|
|
647
549
|
columns,
|
|
@@ -698,26 +600,19 @@ class DropdownFilterPanel extends Component {
|
|
|
698
600
|
onSourceMouseLeave: this.handleSourceMouseLeave
|
|
699
601
|
})));
|
|
700
602
|
}
|
|
701
|
-
|
|
702
603
|
}
|
|
703
|
-
|
|
704
604
|
_defineProperty(DropdownFilterPanel, "displayName", 'DropdownFilterPanel');
|
|
705
|
-
|
|
706
605
|
_defineProperty(DropdownFilterPanel, "COMPONENT", 'DropdownFilterPanel');
|
|
707
|
-
|
|
708
606
|
_defineProperty(DropdownFilterPanel, "MAX_TABLE_SIZE", 256);
|
|
709
|
-
|
|
710
607
|
_defineProperty(DropdownFilterPanel, "DATETIME_FORMATTER", new DateTimeColumnFormatter({
|
|
711
608
|
showTimeZone: false,
|
|
712
609
|
showTSeparator: true,
|
|
713
610
|
defaultDateTimeFormatString: "yyyy-MM-dd HH:mm:ss.SSSSSSSSS"
|
|
714
611
|
}));
|
|
715
|
-
|
|
716
612
|
_defineProperty(DropdownFilterPanel, "SOURCE_COLUMN", Object.freeze({
|
|
717
613
|
name: 'FilterSource',
|
|
718
614
|
type: null
|
|
719
615
|
}));
|
|
720
|
-
|
|
721
616
|
var mapStateToProps = (state, ownProps) => {
|
|
722
617
|
var {
|
|
723
618
|
localDashboardId
|
|
@@ -729,8 +624,8 @@ var mapStateToProps = (state, ownProps) => {
|
|
|
729
624
|
var dashboardLinks = getLinksForDashboard(state, localDashboardId);
|
|
730
625
|
var activeTool = getActiveTool(state);
|
|
731
626
|
var isolatedLinkerPanelId = getIsolatedLinkerPanelIdForDashboard(state, localDashboardId);
|
|
732
|
-
var isLinkerActive = activeTool === ToolType.LINKER && (isolatedLinkerPanelId === undefined || isolatedLinkerPanelId === panelId);
|
|
733
|
-
|
|
627
|
+
var isLinkerActive = activeTool === ToolType.LINKER && (isolatedLinkerPanelId === undefined || isolatedLinkerPanelId === panelId);
|
|
628
|
+
// Disable linking if linker is in isolated mode for a different panel
|
|
734
629
|
var disableLinking = activeTool === ToolType.LINKER && isolatedLinkerPanelId !== undefined && isolatedLinkerPanelId !== panelId;
|
|
735
630
|
return {
|
|
736
631
|
columns: getColumnsForDashboard(state, localDashboardId),
|
|
@@ -742,7 +637,6 @@ var mapStateToProps = (state, ownProps) => {
|
|
|
742
637
|
dashboardLinks
|
|
743
638
|
};
|
|
744
639
|
};
|
|
745
|
-
|
|
746
640
|
export default connect(mapStateToProps, null, null, {
|
|
747
641
|
forwardRef: true
|
|
748
642
|
})(DropdownFilterPanel);
|