@deephaven/dashboard-core-plugins 0.15.5-beta.0 → 0.15.5-beta.4

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 (186) hide show
  1. package/dist/ChartBuilderPlugin.d.ts.map +1 -1
  2. package/dist/ChartBuilderPlugin.js +2 -1
  3. package/dist/ChartBuilderPlugin.js.map +1 -1
  4. package/dist/ConsolePlugin.d.ts +1 -0
  5. package/dist/ConsolePlugin.d.ts.map +1 -1
  6. package/dist/ConsolePlugin.js +5 -3
  7. package/dist/ConsolePlugin.js.map +1 -1
  8. package/dist/FilterPlugin.js +1 -1
  9. package/dist/FilterPlugin.js.map +1 -1
  10. package/dist/controls/ControlType.d.ts +1 -1
  11. package/dist/controls/ControlType.d.ts.map +1 -1
  12. package/dist/controls/ControlType.js.map +1 -1
  13. package/dist/controls/dropdown-filter/DropdownFilter.d.ts +73 -81
  14. package/dist/controls/dropdown-filter/DropdownFilter.d.ts.map +1 -1
  15. package/dist/controls/dropdown-filter/DropdownFilter.js +41 -58
  16. package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
  17. package/dist/controls/input-filter/InputFilter.d.ts +46 -46
  18. package/dist/controls/input-filter/InputFilter.d.ts.map +1 -1
  19. package/dist/controls/input-filter/InputFilter.js +32 -39
  20. package/dist/controls/input-filter/InputFilter.js.map +1 -1
  21. package/dist/controls/markdown/MarkdownContainer.d.ts +11 -16
  22. package/dist/controls/markdown/MarkdownContainer.d.ts.map +1 -1
  23. package/dist/controls/markdown/MarkdownContainer.js +5 -8
  24. package/dist/controls/markdown/MarkdownContainer.js.map +1 -1
  25. package/dist/controls/markdown/MarkdownEditor.d.ts +17 -19
  26. package/dist/controls/markdown/MarkdownEditor.d.ts.map +1 -1
  27. package/dist/controls/markdown/MarkdownEditor.js +5 -8
  28. package/dist/controls/markdown/MarkdownEditor.js.map +1 -1
  29. package/dist/controls/markdown/MarkdownStartPage.d.ts +24 -28
  30. package/dist/controls/markdown/MarkdownStartPage.d.ts.map +1 -1
  31. package/dist/controls/markdown/MarkdownStartPage.js +19 -23
  32. package/dist/controls/markdown/MarkdownStartPage.js.map +1 -1
  33. package/dist/controls/markdown/MarkdownUtils.d.ts +4 -4
  34. package/dist/controls/markdown/MarkdownUtils.d.ts.map +1 -1
  35. package/dist/controls/markdown/MarkdownUtils.js +2 -2
  36. package/dist/controls/markdown/MarkdownUtils.js.map +1 -1
  37. package/dist/events/ChartEvent.d.ts +1 -1
  38. package/dist/events/ChartEvent.d.ts.map +1 -1
  39. package/dist/events/ChartEvent.js.map +1 -1
  40. package/dist/events/ConsoleEvent.d.ts +1 -1
  41. package/dist/events/ConsoleEvent.d.ts.map +1 -1
  42. package/dist/events/ConsoleEvent.js.map +1 -1
  43. package/dist/events/InputFilterEvent.d.ts +1 -1
  44. package/dist/events/InputFilterEvent.d.ts.map +1 -1
  45. package/dist/events/InputFilterEvent.js.map +1 -1
  46. package/dist/events/IrisGridEvent.d.ts +1 -1
  47. package/dist/events/IrisGridEvent.d.ts.map +1 -1
  48. package/dist/events/IrisGridEvent.js.map +1 -1
  49. package/dist/events/NotebookEvent.d.ts +1 -1
  50. package/dist/events/NotebookEvent.d.ts.map +1 -1
  51. package/dist/events/NotebookEvent.js.map +1 -1
  52. package/dist/events/PQEvent.d.ts +1 -1
  53. package/dist/events/PQEvent.d.ts.map +1 -1
  54. package/dist/events/PQEvent.js.map +1 -1
  55. package/dist/events/PandasEvent.d.ts +1 -1
  56. package/dist/events/PandasEvent.d.ts.map +1 -1
  57. package/dist/events/PandasEvent.js.map +1 -1
  58. package/dist/events/TabEvent.d.ts +1 -1
  59. package/dist/events/TabEvent.d.ts.map +1 -1
  60. package/dist/events/TabEvent.js.map +1 -1
  61. package/dist/events/index.d.ts +8 -8
  62. package/dist/events/index.d.ts.map +1 -1
  63. package/dist/events/index.js.map +1 -1
  64. package/dist/linker/ColumnSelectionValidator.d.ts +4 -0
  65. package/dist/linker/ColumnSelectionValidator.d.ts.map +1 -0
  66. package/dist/linker/ColumnSelectionValidator.js +2 -0
  67. package/dist/linker/ColumnSelectionValidator.js.map +1 -0
  68. package/dist/linker/Linker.d.ts +11 -11
  69. package/dist/linker/Linker.js +1 -1
  70. package/dist/linker/Linker.js.map +1 -1
  71. package/dist/linker/LinkerUtils.d.ts +3 -3
  72. package/dist/linker/LinkerUtils.d.ts.map +1 -1
  73. package/dist/linker/LinkerUtils.js.map +1 -1
  74. package/dist/linker/ToolType.d.ts +1 -1
  75. package/dist/linker/ToolType.d.ts.map +1 -1
  76. package/dist/linker/ToolType.js.map +1 -1
  77. package/dist/panels/ChartColumnSelectorOverlay.d.ts +22 -26
  78. package/dist/panels/ChartColumnSelectorOverlay.d.ts.map +1 -1
  79. package/dist/panels/ChartColumnSelectorOverlay.js +5 -14
  80. package/dist/panels/ChartColumnSelectorOverlay.js.map +1 -1
  81. package/dist/panels/ChartFilterOverlay.d.ts +27 -21
  82. package/dist/panels/ChartFilterOverlay.d.ts.map +1 -1
  83. package/dist/panels/ChartFilterOverlay.js.map +1 -1
  84. package/dist/panels/ChartPanel.d.ts +149 -152
  85. package/dist/panels/ChartPanel.d.ts.map +1 -1
  86. package/dist/panels/ChartPanel.js +65 -73
  87. package/dist/panels/ChartPanel.js.map +1 -1
  88. package/dist/panels/CommandHistoryPanel.d.ts +41 -56
  89. package/dist/panels/CommandHistoryPanel.d.ts.map +1 -1
  90. package/dist/panels/CommandHistoryPanel.js +13 -35
  91. package/dist/panels/CommandHistoryPanel.js.map +1 -1
  92. package/dist/panels/ConsolePanel.d.ts +63 -73
  93. package/dist/panels/ConsolePanel.d.ts.map +1 -1
  94. package/dist/panels/ConsolePanel.js +67 -83
  95. package/dist/panels/ConsolePanel.js.map +1 -1
  96. package/dist/panels/DropdownFilterPanel.d.ts +110 -106
  97. package/dist/panels/DropdownFilterPanel.d.ts.map +1 -1
  98. package/dist/panels/DropdownFilterPanel.js +60 -62
  99. package/dist/panels/DropdownFilterPanel.js.map +1 -1
  100. package/dist/panels/FileExplorerPanel.d.ts +5 -7
  101. package/dist/panels/FileExplorerPanel.d.ts.map +1 -1
  102. package/dist/panels/FileExplorerPanel.js.map +1 -1
  103. package/dist/panels/FilterSetManager.d.ts +3 -1
  104. package/dist/panels/FilterSetManager.d.ts.map +1 -1
  105. package/dist/panels/FilterSetManager.js.map +1 -1
  106. package/dist/panels/FilterSetManagerPanel.d.ts +83 -62
  107. package/dist/panels/FilterSetManagerPanel.d.ts.map +1 -1
  108. package/dist/panels/FilterSetManagerPanel.js +58 -36
  109. package/dist/panels/FilterSetManagerPanel.js.map +1 -1
  110. package/dist/panels/InputFilterPanel.d.ts +50 -51
  111. package/dist/panels/InputFilterPanel.d.ts.map +1 -1
  112. package/dist/panels/InputFilterPanel.js +35 -34
  113. package/dist/panels/InputFilterPanel.js.map +1 -1
  114. package/dist/panels/IrisGridPanel.d.ts +191 -178
  115. package/dist/panels/IrisGridPanel.d.ts.map +1 -1
  116. package/dist/panels/IrisGridPanel.js +150 -179
  117. package/dist/panels/IrisGridPanel.js.map +1 -1
  118. package/dist/panels/LogPanel.d.ts +29 -45
  119. package/dist/panels/LogPanel.d.ts.map +1 -1
  120. package/dist/panels/LogPanel.js +9 -11
  121. package/dist/panels/LogPanel.js.map +1 -1
  122. package/dist/panels/MarkdownNotebook.d.ts +34 -34
  123. package/dist/panels/MarkdownNotebook.d.ts.map +1 -1
  124. package/dist/panels/MarkdownNotebook.js +21 -18
  125. package/dist/panels/MarkdownNotebook.js.map +1 -1
  126. package/dist/panels/MarkdownPanel.d.ts +41 -47
  127. package/dist/panels/MarkdownPanel.d.ts.map +1 -1
  128. package/dist/panels/MarkdownPanel.js +17 -19
  129. package/dist/panels/MarkdownPanel.js.map +1 -1
  130. package/dist/panels/NotebookPanel.d.ts +137 -117
  131. package/dist/panels/NotebookPanel.d.ts.map +1 -1
  132. package/dist/panels/NotebookPanel.js +94 -68
  133. package/dist/panels/NotebookPanel.js.map +1 -1
  134. package/dist/panels/PandasPanel.d.ts +20 -17
  135. package/dist/panels/PandasPanel.d.ts.map +1 -1
  136. package/dist/panels/PandasPanel.js +17 -13
  137. package/dist/panels/PandasPanel.js.map +1 -1
  138. package/dist/panels/Panel.d.ts +87 -123
  139. package/dist/panels/Panel.d.ts.map +1 -1
  140. package/dist/panels/Panel.js +29 -54
  141. package/dist/panels/Panel.js.map +1 -1
  142. package/dist/panels/PanelContextMenu.d.ts +16 -31
  143. package/dist/panels/PanelContextMenu.d.ts.map +1 -1
  144. package/dist/panels/PanelContextMenu.js +12 -15
  145. package/dist/panels/PanelContextMenu.js.map +1 -1
  146. package/dist/panels/RenameDialog.d.ts +26 -28
  147. package/dist/panels/RenameDialog.d.ts.map +1 -1
  148. package/dist/panels/RenameDialog.js +15 -19
  149. package/dist/panels/RenameDialog.js.map +1 -1
  150. package/dist/panels/WidgetPanel.d.ts +72 -106
  151. package/dist/panels/WidgetPanel.d.ts.map +1 -1
  152. package/dist/panels/WidgetPanel.js +17 -47
  153. package/dist/panels/WidgetPanel.js.map +1 -1
  154. package/dist/panels/WidgetPanelTooltip.d.ts +29 -22
  155. package/dist/panels/WidgetPanelTooltip.d.ts.map +1 -1
  156. package/dist/panels/WidgetPanelTooltip.js +1 -1
  157. package/dist/panels/WidgetPanelTooltip.js.map +1 -1
  158. package/dist/prop-types/CommonPropTypes.d.ts +4 -4
  159. package/dist/prop-types/CommonPropTypes.d.ts.map +1 -1
  160. package/dist/prop-types/CommonPropTypes.js +1 -1
  161. package/dist/prop-types/CommonPropTypes.js.map +1 -1
  162. package/dist/prop-types/UIPropTypes.d.ts +2 -7
  163. package/dist/prop-types/UIPropTypes.d.ts.map +1 -1
  164. package/dist/prop-types/UIPropTypes.js +0 -7
  165. package/dist/prop-types/UIPropTypes.js.map +1 -1
  166. package/dist/prop-types/index.d.ts +2 -2
  167. package/dist/prop-types/index.d.ts.map +1 -1
  168. package/dist/prop-types/index.js.map +1 -1
  169. package/dist/redux/actionTypes.d.ts +1 -1
  170. package/dist/redux/actionTypes.d.ts.map +1 -1
  171. package/dist/redux/actionTypes.js.map +1 -1
  172. package/dist/redux/actions.d.ts +63 -8
  173. package/dist/redux/actions.d.ts.map +1 -1
  174. package/dist/redux/actions.js +17 -17
  175. package/dist/redux/actions.js.map +1 -1
  176. package/dist/redux/reducers/index.d.ts +3 -4
  177. package/dist/redux/reducers/index.d.ts.map +1 -1
  178. package/dist/redux/reducers/index.js.map +1 -1
  179. package/dist/redux/reducers/sessionWrapper.d.ts +1 -1
  180. package/dist/redux/reducers/sessionWrapper.d.ts.map +1 -1
  181. package/dist/redux/reducers/sessionWrapper.js.map +1 -1
  182. package/dist/redux/selectors.d.ts +63 -9
  183. package/dist/redux/selectors.d.ts.map +1 -1
  184. package/dist/redux/selectors.js +24 -24
  185. package/dist/redux/selectors.js.map +1 -1
  186. package/package.json +20 -17
@@ -7,15 +7,14 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
7
7
  // Wrapper for the Console for use in a golden layout container
8
8
  // Will probably need to handle window popping out from golden layout here.
9
9
  import React, { PureComponent } from 'react';
10
- import PropTypes from 'prop-types';
11
10
  import shortid from 'shortid';
12
11
  import debounce from 'lodash.debounce';
13
12
  import { connect } from 'react-redux';
14
13
  import { Console, ConsoleConstants } from '@deephaven/console';
15
- import { GLPropTypes, PanelEvent } from '@deephaven/dashboard';
16
- import { PropTypes as APIPropTypes } from '@deephaven/jsapi-shim';
14
+ import { PanelEvent } from '@deephaven/dashboard';
17
15
  import Log from '@deephaven/log';
18
16
  import { getCommandHistoryStorage, getTimeZone } from '@deephaven/redux';
17
+ import { assertNotNull } from '@deephaven/utils';
19
18
  import { ConsoleEvent } from "../events/index.js";
20
19
  import "./ConsolePanel.css";
21
20
  import Panel from "./Panel.js";
@@ -29,34 +28,52 @@ var DEFAULT_PANEL_STATE = Object.freeze({
29
28
  export class ConsolePanel extends PureComponent {
30
29
  constructor(props) {
31
30
  super(props);
31
+
32
+ _defineProperty(this, "consoleRef", void 0);
33
+
34
+ _defineProperty(this, "objectSubscriptionCleanup", void 0);
35
+
36
+ _defineProperty(this, "savePanelState", debounce(() => {
37
+ var {
38
+ consoleSettings,
39
+ itemIds
40
+ } = this.state;
41
+ var panelState = {
42
+ consoleSettings,
43
+ itemIds: [...itemIds]
44
+ };
45
+ log.debug('Saving panel state', panelState); // eslint-disable-next-line react/no-unused-state
46
+
47
+ this.setState({
48
+ panelState
49
+ });
50
+ }, DEBOUNCE_PANEL_STATE_UPDATE));
51
+
32
52
  this.handleFocusCommandHistory = this.handleFocusCommandHistory.bind(this);
33
53
  this.handleOpenObject = this.handleOpenObject.bind(this);
34
54
  this.handleCloseObject = this.handleCloseObject.bind(this);
35
55
  this.handleResize = this.handleResize.bind(this);
36
56
  this.handleSettingsChange = this.handleSettingsChange.bind(this);
37
57
  this.handleShow = this.handleShow.bind(this);
38
- this.handleTabBlur = this.handleTabBlur.bind(this);
39
- this.handleTabFocus = this.handleTabFocus.bind(this);
40
58
  this.handlePanelMount = this.handlePanelMount.bind(this);
41
- this.savePanelState = debounce(this.savePanelState.bind(this), DEBOUNCE_PANEL_STATE_UPDATE);
42
59
  this.consoleRef = /*#__PURE__*/React.createRef();
43
- this.objectSubscriptionCleanup = null;
44
60
  var {
45
61
  panelState: initialPanelState
46
62
  } = props;
47
63
 
48
- var panelState = _objectSpread(_objectSpread({}, DEFAULT_PANEL_STATE), initialPanelState || {});
64
+ var _panelState = _objectSpread(_objectSpread({}, DEFAULT_PANEL_STATE), initialPanelState || {});
49
65
 
50
66
  var {
51
- consoleSettings,
52
- itemIds
53
- } = panelState;
67
+ consoleSettings: _consoleSettings,
68
+ itemIds: _itemIds
69
+ } = _panelState;
54
70
  this.state = {
55
- consoleSettings,
56
- itemIds: new Map(itemIds),
71
+ consoleSettings: _consoleSettings,
72
+ itemIds: new Map(_itemIds),
57
73
  objectMap: new Map(),
74
+ error: undefined,
58
75
  // eslint-disable-next-line react/no-unused-state
59
- panelState // Dehydrated panel state that can load this panel
76
+ panelState: _panelState // Dehydrated panel state that can load this panel
60
77
 
61
78
  };
62
79
  }
@@ -84,12 +101,14 @@ export class ConsolePanel extends PureComponent {
84
101
  }
85
102
 
86
103
  componentWillUnmount() {
104
+ var _this$objectSubscript;
105
+
87
106
  var {
88
107
  glEventHub
89
108
  } = this.props;
90
109
  this.savePanelState.flush();
91
110
  glEventHub.off(PanelEvent.MOUNT, this.handlePanelMount);
92
- this.objectSubscriptionCleanup();
111
+ (_this$objectSubscript = this.objectSubscriptionCleanup) === null || _this$objectSubscript === void 0 ? void 0 : _this$objectSubscript.call(this);
93
112
  }
94
113
 
95
114
  subscribeToFieldUpdates() {
@@ -99,7 +118,7 @@ export class ConsolePanel extends PureComponent {
99
118
  var {
100
119
  session
101
120
  } = sessionWrapper;
102
- this.objectSubscriptionCleanup = session.connection.subscribeToFieldUpdates(updates => {
121
+ this.objectSubscriptionCleanup = session.subscribeToFieldUpdates(updates => {
103
122
  log.debug('Got updates', updates);
104
123
  this.setState(_ref => {
105
124
  var {
@@ -114,13 +133,19 @@ export class ConsolePanel extends PureComponent {
114
133
  var objectsToRemove = [...updated, ...removed];
115
134
  var newObjectMap = new Map(objectMap);
116
135
  objectsToRemove.forEach(toRemove => {
117
- newObjectMap.delete(toRemove.name);
136
+ var {
137
+ title
138
+ } = toRemove;
139
+
140
+ if (title) {
141
+ newObjectMap.delete(title);
142
+ }
118
143
  }); // Now add all the modified and updated widgets back in
119
144
 
120
145
  var objectsToAdd = [...updated, ...created];
121
146
  objectsToAdd.forEach(toAdd => {
122
- if (toAdd.name) {
123
- newObjectMap.set(toAdd.name, toAdd);
147
+ if (toAdd.title) {
148
+ newObjectMap.set(toAdd.title, toAdd);
124
149
  }
125
150
  });
126
151
  return {
@@ -158,15 +183,11 @@ export class ConsolePanel extends PureComponent {
158
183
  return id;
159
184
  }
160
185
 
161
- handleTabBlur() {
162
- if (this.consoleRef) {
163
- this.consoleRef.blur();
164
- }
165
- }
166
-
167
186
  handleTabFocus() {
168
187
  if (this.consoleRef) {
169
- this.consoleRef.focus();
188
+ var _this$consoleRef$curr;
189
+
190
+ (_this$consoleRef$curr = this.consoleRef.current) === null || _this$consoleRef$curr === void 0 ? void 0 : _this$consoleRef$curr.focus();
170
191
  }
171
192
  }
172
193
 
@@ -217,13 +238,16 @@ export class ConsolePanel extends PureComponent {
217
238
 
218
239
  handleCloseObject(object) {
219
240
  var {
220
- name
241
+ title
221
242
  } = object;
222
- var id = this.getItemId(name, false);
223
- var {
224
- glEventHub
225
- } = this.props;
226
- glEventHub.emit(PanelEvent.CLOSE, id);
243
+
244
+ if (title) {
245
+ var id = this.getItemId(title, false);
246
+ var {
247
+ glEventHub
248
+ } = this.props;
249
+ glEventHub.emit(PanelEvent.CLOSE, id);
250
+ }
227
251
  }
228
252
 
229
253
  handleSettingsChange(consoleSettings) {
@@ -237,8 +261,8 @@ export class ConsolePanel extends PureComponent {
237
261
  glEventHub.emit(ConsoleEvent.SETTINGS_CHANGED, consoleSettings);
238
262
  }
239
263
  /**
240
- * @param {VariableDefinition} widget The widget to open
241
- * @param {dh.Session} session The session object
264
+ * @param widget The widget to open
265
+ * @param session The session object
242
266
  */
243
267
 
244
268
 
@@ -247,9 +271,10 @@ export class ConsolePanel extends PureComponent {
247
271
  glEventHub
248
272
  } = this.props;
249
273
  var {
250
- name
274
+ title
251
275
  } = widget;
252
- var panelId = this.getItemId(name);
276
+ assertNotNull(title);
277
+ var panelId = this.getItemId(title);
253
278
  var openOptions = {
254
279
  fetch: () => session.getObject(widget),
255
280
  panelId,
@@ -260,15 +285,15 @@ export class ConsolePanel extends PureComponent {
260
285
  }
261
286
 
262
287
  addCommand(command) {
263
- var _this$consoleRef$curr;
288
+ var _this$consoleRef$curr2;
264
289
 
265
290
  var focus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
266
291
  var execute = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
267
- (_this$consoleRef$curr = this.consoleRef.current) === null || _this$consoleRef$curr === void 0 ? void 0 : _this$consoleRef$curr.addCommand(command, focus, execute);
292
+ (_this$consoleRef$curr2 = this.consoleRef.current) === null || _this$consoleRef$curr2 === void 0 ? void 0 : _this$consoleRef$curr2.addCommand(command, focus, execute);
268
293
  }
269
294
  /**
270
295
  * Close the disconnected panels from this session
271
- * @param {boolean} force True to force the panels closed regardless of the current setting
296
+ * @param force True to force the panels closed regardless of the current setting
272
297
  */
273
298
 
274
299
 
@@ -298,26 +323,10 @@ export class ConsolePanel extends PureComponent {
298
323
  });
299
324
  }
300
325
 
301
- savePanelState() {
302
- var {
303
- consoleSettings,
304
- itemIds
305
- } = this.state;
306
- var panelState = {
307
- consoleSettings,
308
- itemIds: [...itemIds]
309
- };
310
- log.debug('Saving panel state', panelState); // eslint-disable-next-line react/no-unused-state
311
-
312
- this.setState({
313
- panelState
314
- });
315
- }
316
-
317
326
  updateDimensions() {
318
- var _this$consoleRef$curr2;
327
+ var _this$consoleRef$curr3;
319
328
 
320
- (_this$consoleRef$curr2 = this.consoleRef.current) === null || _this$consoleRef$curr2 === void 0 ? void 0 : _this$consoleRef$curr2.updateDimensions();
329
+ (_this$consoleRef$curr3 = this.consoleRef.current) === null || _this$consoleRef$curr3 === void 0 ? void 0 : _this$consoleRef$curr3.updateDimensions();
321
330
  }
322
331
 
323
332
  render() {
@@ -349,8 +358,7 @@ export class ConsolePanel extends PureComponent {
349
358
  onResize: this.handleResize,
350
359
  onShow: this.handleShow,
351
360
  onTabFocus: this.handleTabFocus,
352
- onTabBlur: this.handleTabBlur,
353
- errorMessage: error != null ? "".concat(error) : null
361
+ errorMessage: error != null ? "".concat(error) : undefined
354
362
  }, /*#__PURE__*/React.createElement(React.Fragment, null, session && /*#__PURE__*/React.createElement(Console, {
355
363
  ref: this.consoleRef,
356
364
  settings: consoleSettings,
@@ -375,30 +383,6 @@ _defineProperty(ConsolePanel, "COMPONENT", 'ConsolePanel');
375
383
 
376
384
  _defineProperty(ConsolePanel, "TITLE", 'Console');
377
385
 
378
- ConsolePanel.propTypes = {
379
- commandHistoryStorage: PropTypes.shape({}).isRequired,
380
- glContainer: GLPropTypes.Container.isRequired,
381
- glEventHub: GLPropTypes.EventHub.isRequired,
382
- panelState: PropTypes.shape({
383
- consoleCreatorSettings: PropTypes.shape({}),
384
- consoleSettings: PropTypes.shape({}),
385
- itemIds: PropTypes.array
386
- }),
387
- sessionWrapper: PropTypes.shape({
388
- session: APIPropTypes.IdeSession.isRequired,
389
- config: PropTypes.shape({
390
- type: PropTypes.string,
391
- id: PropTypes.string
392
- }).isRequired
393
- }).isRequired,
394
- timeZone: PropTypes.string.isRequired,
395
- unzip: PropTypes.func
396
- };
397
- ConsolePanel.defaultProps = {
398
- panelState: null,
399
- unzip: null
400
- };
401
-
402
386
  var mapStateToProps = (state, ownProps) => ({
403
387
  commandHistoryStorage: getCommandHistoryStorage(state),
404
388
  sessionWrapper: getDashboardSessionWrapper(state, ownProps.localDashboardId),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/panels/ConsolePanel.jsx"],"names":["React","PureComponent","PropTypes","shortid","debounce","connect","Console","ConsoleConstants","GLPropTypes","PanelEvent","APIPropTypes","Log","getCommandHistoryStorage","getTimeZone","ConsoleEvent","Panel","getDashboardSessionWrapper","log","module","DEBOUNCE_PANEL_STATE_UPDATE","DEFAULT_PANEL_STATE","Object","freeze","consoleSettings","itemIds","ConsolePanel","constructor","props","handleFocusCommandHistory","bind","handleOpenObject","handleCloseObject","handleResize","handleSettingsChange","handleShow","handleTabBlur","handleTabFocus","handlePanelMount","savePanelState","consoleRef","createRef","objectSubscriptionCleanup","panelState","initialPanelState","state","Map","objectMap","componentDidMount","glEventHub","closeDisconnectedPanels","on","MOUNT","subscribeToFieldUpdates","componentDidUpdate","prevProps","prevState","componentWillUnmount","flush","off","sessionWrapper","session","connection","updates","debug","setState","updated","created","removed","objectsToRemove","newObjectMap","forEach","toRemove","delete","name","objectsToAdd","toAdd","set","setItemId","id","newItemIds","getItemId","createIfNecessary","get","generate","blur","focus","panel","panelId","sourceId","metadata","sourcePanelId","pandelIds","Set","values","has","emit","FOCUS_HISTORY","updateDimensions","object","openWidget","CLOSE","SETTINGS_CHANGED","widget","openOptions","fetch","getObject","OPEN","addCommand","command","execute","current","force","isClosePanelsOnDisconnectEnabled","panelIdsToClose","render","commandHistoryStorage","glContainer","timeZone","unzip","error","config","sessionId","type","language","LANGUAGE_MAP","propTypes","shape","isRequired","Container","EventHub","consoleCreatorSettings","array","IdeSession","string","func","defaultProps","mapStateToProps","ownProps","localDashboardId","forwardRef"],"mappings":"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","sourcesContent":["// Wrapper for the Console for use in a golden layout container\n// Will probably need to handle window popping out from golden layout here.\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\nimport debounce from 'lodash.debounce';\nimport { connect } from 'react-redux';\nimport { Console, ConsoleConstants } from '@deephaven/console';\nimport { GLPropTypes, PanelEvent } from '@deephaven/dashboard';\nimport { PropTypes as APIPropTypes } from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport { getCommandHistoryStorage, getTimeZone } from '@deephaven/redux';\nimport { ConsoleEvent } from '../events';\nimport './ConsolePanel.scss';\nimport Panel from './Panel';\nimport { getDashboardSessionWrapper } from '../redux';\n\nconst log = Log.module('ConsolePanel');\n\nconst DEBOUNCE_PANEL_STATE_UPDATE = 500;\n\nconst DEFAULT_PANEL_STATE = Object.freeze({\n consoleSettings: {},\n itemIds: [],\n});\n\nexport class ConsolePanel extends PureComponent {\n static COMPONENT = 'ConsolePanel';\n\n static TITLE = 'Console';\n\n constructor(props) {\n super(props);\n\n this.handleFocusCommandHistory = this.handleFocusCommandHistory.bind(this);\n this.handleOpenObject = this.handleOpenObject.bind(this);\n this.handleCloseObject = this.handleCloseObject.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.handleSettingsChange = this.handleSettingsChange.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handleTabBlur = this.handleTabBlur.bind(this);\n this.handleTabFocus = this.handleTabFocus.bind(this);\n this.handlePanelMount = this.handlePanelMount.bind(this);\n\n this.savePanelState = debounce(\n this.savePanelState.bind(this),\n DEBOUNCE_PANEL_STATE_UPDATE\n );\n\n this.consoleRef = React.createRef();\n this.objectSubscriptionCleanup = null;\n\n const { panelState: initialPanelState } = props;\n const panelState = {\n ...DEFAULT_PANEL_STATE,\n ...(initialPanelState || {}),\n };\n const { consoleSettings, itemIds } = panelState;\n\n this.state = {\n consoleSettings,\n itemIds: new Map(itemIds),\n\n objectMap: new Map(),\n\n // eslint-disable-next-line react/no-unused-state\n panelState, // Dehydrated panel state that can load this panel\n };\n }\n\n componentDidMount() {\n const { glEventHub } = this.props;\n // Need to close the disconnected panels when we're first loaded,\n // as they may have been saved with the dashboard\n this.closeDisconnectedPanels();\n glEventHub.on(PanelEvent.MOUNT, this.handlePanelMount);\n this.subscribeToFieldUpdates();\n }\n\n componentDidUpdate(prevProps, prevState) {\n const { consoleSettings, itemIds } = this.state;\n if (\n prevState.consoleSettings !== consoleSettings ||\n prevState.itemIds !== itemIds\n ) {\n this.savePanelState();\n }\n }\n\n componentWillUnmount() {\n const { glEventHub } = this.props;\n this.savePanelState.flush();\n glEventHub.off(PanelEvent.MOUNT, this.handlePanelMount);\n this.objectSubscriptionCleanup();\n }\n\n subscribeToFieldUpdates() {\n const { sessionWrapper } = this.props;\n const { session } = sessionWrapper;\n\n this.objectSubscriptionCleanup = session.connection.subscribeToFieldUpdates(\n updates => {\n log.debug('Got updates', updates);\n this.setState(({ objectMap }) => {\n const { updated, created, removed } = updates;\n\n // Remove from the array if it's been removed OR modified. We'll add it back after if it was modified.\n const objectsToRemove = [...updated, ...removed];\n const newObjectMap = new Map(objectMap);\n objectsToRemove.forEach(toRemove => {\n newObjectMap.delete(toRemove.name);\n });\n\n // Now add all the modified and updated widgets back in\n const objectsToAdd = [...updated, ...created];\n objectsToAdd.forEach(toAdd => {\n if (toAdd.name) {\n newObjectMap.set(toAdd.name, toAdd);\n }\n });\n\n return { objectMap: newObjectMap };\n });\n }\n );\n }\n\n setItemId(name, id) {\n this.setState(({ itemIds }) => {\n const newItemIds = new Map(itemIds);\n newItemIds.set(name, id);\n return { itemIds: newItemIds };\n });\n }\n\n getItemId(name, createIfNecessary = true) {\n const { itemIds } = this.state;\n let id = itemIds.get(name);\n if (id == null && createIfNecessary) {\n id = shortid.generate();\n this.setItemId(name, id);\n }\n return id;\n }\n\n handleTabBlur() {\n if (this.consoleRef) {\n this.consoleRef.blur();\n }\n }\n\n handleTabFocus() {\n if (this.consoleRef) {\n this.consoleRef.focus();\n }\n }\n\n handlePanelMount(panel) {\n const { itemIds } = this.state;\n const panelId = panel?.props?.id;\n const sourceId = panel?.props?.metadata?.sourcePanelId;\n if (panelId && sourceId) {\n // Check if the panel was created from a panel in this console\n const pandelIds = new Set(itemIds.values());\n if (pandelIds.has(sourceId)) {\n // The Chart Panel does not have name so map panelId to panelId\n this.setItemId(panelId, panelId);\n }\n }\n }\n\n handleFocusCommandHistory() {\n const { glEventHub } = this.props;\n glEventHub.emit(ConsoleEvent.FOCUS_HISTORY);\n }\n\n handleResize() {\n this.updateDimensions();\n }\n\n handleShow() {\n this.updateDimensions();\n }\n\n handleOpenObject(object) {\n const { sessionWrapper } = this.props;\n const { session } = sessionWrapper;\n this.openWidget(object, session);\n }\n\n handleCloseObject(object) {\n const { name } = object;\n const id = this.getItemId(name, false);\n const { glEventHub } = this.props;\n glEventHub.emit(PanelEvent.CLOSE, id);\n }\n\n handleSettingsChange(consoleSettings) {\n const { glEventHub } = this.props;\n log.debug('handleSettingsChange', consoleSettings);\n this.setState({\n consoleSettings,\n });\n glEventHub.emit(ConsoleEvent.SETTINGS_CHANGED, consoleSettings);\n }\n\n /**\n * @param {VariableDefinition} widget The widget to open\n * @param {dh.Session} session The session object\n */\n openWidget(widget, session) {\n const { glEventHub } = this.props;\n const { name } = widget;\n const panelId = this.getItemId(name);\n const openOptions = {\n fetch: () => session.getObject(widget),\n panelId,\n widget,\n };\n\n log.debug('openWidget', openOptions);\n\n glEventHub.emit(PanelEvent.OPEN, openOptions);\n }\n\n addCommand(command, focus = true, execute = false) {\n this.consoleRef.current?.addCommand(command, focus, execute);\n }\n\n /**\n * Close the disconnected panels from this session\n * @param {boolean} force True to force the panels closed regardless of the current setting\n */\n closeDisconnectedPanels(force = false) {\n const { consoleSettings, itemIds } = this.state;\n const { isClosePanelsOnDisconnectEnabled = true } = consoleSettings;\n if (!isClosePanelsOnDisconnectEnabled && !force) {\n return;\n }\n\n const panelIdsToClose = [...itemIds.values()];\n const { glEventHub } = this.props;\n panelIdsToClose.forEach(panelId => {\n glEventHub.emit(PanelEvent.CLOSE, panelId);\n });\n\n this.setState({ itemIds: new Map() });\n }\n\n savePanelState() {\n const { consoleSettings, itemIds } = this.state;\n const panelState = {\n consoleSettings,\n itemIds: [...itemIds],\n };\n log.debug('Saving panel state', panelState);\n // eslint-disable-next-line react/no-unused-state\n this.setState({ panelState });\n }\n\n updateDimensions() {\n this.consoleRef.current?.updateDimensions();\n }\n\n render() {\n const {\n commandHistoryStorage,\n glContainer,\n glEventHub,\n sessionWrapper,\n timeZone,\n unzip,\n } = this.props;\n const { consoleSettings, error, objectMap } = this.state;\n const { config, session } = sessionWrapper;\n const { id: sessionId, type: language } = config;\n\n return (\n <Panel\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onResize={this.handleResize}\n onShow={this.handleShow}\n onTabFocus={this.handleTabFocus}\n onTabBlur={this.handleTabBlur}\n errorMessage={error != null ? `${error}` : null}\n >\n <>\n {session && (\n <Console\n ref={this.consoleRef}\n settings={consoleSettings}\n session={session}\n focusCommandHistory={this.handleFocusCommandHistory}\n openObject={this.handleOpenObject}\n closeObject={this.handleCloseObject}\n commandHistoryStorage={commandHistoryStorage}\n onSettingsChange={this.handleSettingsChange}\n language={language}\n statusBarChildren={\n <>\n <div>&nbsp;</div>\n <div>{ConsoleConstants.LANGUAGE_MAP.get(language)}</div>\n </>\n }\n scope={sessionId}\n timeZone={timeZone}\n objectMap={objectMap}\n unzip={unzip}\n />\n )}\n </>\n </Panel>\n );\n }\n}\n\nConsolePanel.propTypes = {\n commandHistoryStorage: PropTypes.shape({}).isRequired,\n glContainer: GLPropTypes.Container.isRequired,\n glEventHub: GLPropTypes.EventHub.isRequired,\n\n panelState: PropTypes.shape({\n consoleCreatorSettings: PropTypes.shape({}),\n consoleSettings: PropTypes.shape({}),\n itemIds: PropTypes.array,\n }),\n\n sessionWrapper: PropTypes.shape({\n session: APIPropTypes.IdeSession.isRequired,\n config: PropTypes.shape({ type: PropTypes.string, id: PropTypes.string })\n .isRequired,\n }).isRequired,\n\n timeZone: PropTypes.string.isRequired,\n unzip: PropTypes.func,\n};\n\nConsolePanel.defaultProps = {\n panelState: null,\n unzip: null,\n};\n\nconst mapStateToProps = (state, ownProps) => ({\n commandHistoryStorage: getCommandHistoryStorage(state),\n sessionWrapper: getDashboardSessionWrapper(state, ownProps.localDashboardId),\n timeZone: getTimeZone(state),\n});\n\nexport default connect(mapStateToProps, null, null, { forwardRef: true })(\n ConsolePanel\n);\n"],"file":"ConsolePanel.js"}
1
+ {"version":3,"sources":["../../src/panels/ConsolePanel.tsx"],"names":["React","PureComponent","shortid","debounce","connect","Console","ConsoleConstants","PanelEvent","Log","getCommandHistoryStorage","getTimeZone","assertNotNull","ConsoleEvent","Panel","getDashboardSessionWrapper","log","module","DEBOUNCE_PANEL_STATE_UPDATE","DEFAULT_PANEL_STATE","Object","freeze","consoleSettings","itemIds","ConsolePanel","constructor","props","state","panelState","debug","setState","handleFocusCommandHistory","bind","handleOpenObject","handleCloseObject","handleResize","handleSettingsChange","handleShow","handlePanelMount","consoleRef","createRef","initialPanelState","Map","objectMap","error","undefined","componentDidMount","glEventHub","closeDisconnectedPanels","on","MOUNT","subscribeToFieldUpdates","componentDidUpdate","prevProps","prevState","savePanelState","componentWillUnmount","flush","off","objectSubscriptionCleanup","sessionWrapper","session","updates","updated","created","removed","objectsToRemove","newObjectMap","forEach","toRemove","title","delete","objectsToAdd","toAdd","set","setItemId","name","id","newItemIds","getItemId","createIfNecessary","get","generate","handleTabFocus","current","focus","panel","panelId","sourceId","metadata","sourcePanelId","pandelIds","Set","values","has","emit","FOCUS_HISTORY","updateDimensions","object","openWidget","CLOSE","SETTINGS_CHANGED","widget","openOptions","fetch","getObject","OPEN","addCommand","command","execute","force","isClosePanelsOnDisconnectEnabled","panelIdsToClose","render","commandHistoryStorage","glContainer","timeZone","unzip","config","sessionId","type","language","LANGUAGE_MAP","mapStateToProps","ownProps","localDashboardId","forwardRef"],"mappings":"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","sourcesContent":["// Wrapper for the Console for use in a golden layout container\n// Will probably need to handle window popping out from golden layout here.\nimport React, { PureComponent, ReactElement, RefObject } from 'react';\nimport shortid from 'shortid';\nimport debounce from 'lodash.debounce';\nimport { connect } from 'react-redux';\nimport {\n CommandHistoryStorage,\n Console,\n ConsoleConstants,\n} from '@deephaven/console';\nimport { PanelEvent } from '@deephaven/dashboard';\nimport { IdeSession, VariableDefinition } from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport {\n getCommandHistoryStorage,\n getTimeZone,\n RootState,\n} from '@deephaven/redux';\nimport { Container, EventEmitter } from '@deephaven/golden-layout';\nimport { assertNotNull } from '@deephaven/utils';\nimport type { JSZipObject } from 'jszip';\nimport { ConsoleEvent } from '../events';\nimport './ConsolePanel.scss';\nimport Panel from './Panel';\nimport { getDashboardSessionWrapper, SessionWrapper } from '../redux';\n\nconst log = Log.module('ConsolePanel');\n\nconst DEBOUNCE_PANEL_STATE_UPDATE = 500;\n\nconst DEFAULT_PANEL_STATE = Object.freeze({\n consoleSettings: {},\n itemIds: [],\n});\n\ninterface ConsoleSettings {\n isClosePanelsOnDisconnectEnabled?: boolean;\n}\n\ninterface PanelState {\n consoleSettings: ConsoleSettings;\n itemIds: [string, string][];\n}\n\ntype ItemIds = Map<string, string>;\n\ninterface ConsolePanelProps {\n commandHistoryStorage: CommandHistoryStorage;\n glContainer: Container;\n glEventHub: EventEmitter;\n\n panelState?: PanelState;\n\n sessionWrapper: SessionWrapper;\n\n timeZone: string;\n unzip?: (file: File) => Promise<JSZipObject[]>;\n}\n\ninterface ConsolePanelState {\n consoleSettings: ConsoleSettings;\n itemIds: ItemIds;\n\n objectMap: Map<string, VariableDefinition>;\n\n // eslint-disable-next-line react/no-unused-state\n panelState: PanelState;\n error: unknown;\n}\n\nexport class ConsolePanel extends PureComponent<\n ConsolePanelProps,\n ConsolePanelState\n> {\n static COMPONENT = 'ConsolePanel';\n\n static TITLE = 'Console';\n\n constructor(props: ConsolePanelProps) {\n super(props);\n\n this.handleFocusCommandHistory = this.handleFocusCommandHistory.bind(this);\n this.handleOpenObject = this.handleOpenObject.bind(this);\n this.handleCloseObject = this.handleCloseObject.bind(this);\n this.handleResize = this.handleResize.bind(this);\n this.handleSettingsChange = this.handleSettingsChange.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handlePanelMount = this.handlePanelMount.bind(this);\n\n this.consoleRef = React.createRef();\n\n const { panelState: initialPanelState } = props;\n const panelState = {\n ...DEFAULT_PANEL_STATE,\n ...(initialPanelState || {}),\n };\n const { consoleSettings, itemIds } = panelState;\n\n this.state = {\n consoleSettings,\n itemIds: new Map(itemIds),\n\n objectMap: new Map(),\n error: undefined,\n // eslint-disable-next-line react/no-unused-state\n panelState, // Dehydrated panel state that can load this panel\n };\n }\n\n componentDidMount(): void {\n const { glEventHub } = this.props;\n // Need to close the disconnected panels when we're first loaded,\n // as they may have been saved with the dashboard\n this.closeDisconnectedPanels();\n glEventHub.on(PanelEvent.MOUNT, this.handlePanelMount);\n this.subscribeToFieldUpdates();\n }\n\n componentDidUpdate(\n prevProps: ConsolePanelProps,\n prevState: ConsolePanelState\n ): void {\n const { consoleSettings, itemIds } = this.state;\n if (\n prevState.consoleSettings !== consoleSettings ||\n prevState.itemIds !== itemIds\n ) {\n this.savePanelState();\n }\n }\n\n componentWillUnmount(): void {\n const { glEventHub } = this.props;\n this.savePanelState.flush();\n glEventHub.off(PanelEvent.MOUNT, this.handlePanelMount);\n this.objectSubscriptionCleanup?.();\n }\n\n consoleRef: RefObject<Console>;\n\n objectSubscriptionCleanup?: () => void;\n\n subscribeToFieldUpdates(): void {\n const { sessionWrapper } = this.props;\n const { session } = sessionWrapper;\n\n this.objectSubscriptionCleanup = session.subscribeToFieldUpdates(\n updates => {\n log.debug('Got updates', updates);\n this.setState(({ objectMap }) => {\n const { updated, created, removed } = updates;\n\n // Remove from the array if it's been removed OR modified. We'll add it back after if it was modified.\n const objectsToRemove = [...updated, ...removed];\n const newObjectMap = new Map(objectMap);\n objectsToRemove.forEach(toRemove => {\n const { title } = toRemove;\n if (title) {\n newObjectMap.delete(title);\n }\n });\n\n // Now add all the modified and updated widgets back in\n const objectsToAdd = [...updated, ...created];\n objectsToAdd.forEach(toAdd => {\n if (toAdd.title) {\n newObjectMap.set(toAdd.title, toAdd);\n }\n });\n\n return { objectMap: newObjectMap };\n });\n }\n );\n }\n\n setItemId(name: string, id: string): void {\n this.setState(({ itemIds }) => {\n const newItemIds = new Map(itemIds);\n newItemIds.set(name, id);\n return { itemIds: newItemIds };\n });\n }\n\n getItemId(name: string, createIfNecessary = true): string | undefined {\n const { itemIds } = this.state;\n let id = itemIds.get(name);\n if (id == null && createIfNecessary) {\n id = shortid.generate();\n this.setItemId(name, id);\n }\n return id;\n }\n\n handleTabFocus(): void {\n if (this.consoleRef) {\n this.consoleRef.current?.focus();\n }\n }\n\n handlePanelMount(panel: {\n props: { id: string; metadata: { sourcePanelId: string } };\n }): void {\n const { itemIds } = this.state;\n const panelId = panel?.props?.id;\n const sourceId = panel?.props?.metadata?.sourcePanelId;\n if (panelId && sourceId) {\n // Check if the panel was created from a panel in this console\n const pandelIds = new Set(itemIds.values());\n if (pandelIds.has(sourceId)) {\n // The Chart Panel does not have name so map panelId to panelId\n this.setItemId(panelId, panelId);\n }\n }\n }\n\n handleFocusCommandHistory(): void {\n const { glEventHub } = this.props;\n glEventHub.emit(ConsoleEvent.FOCUS_HISTORY);\n }\n\n handleResize(): void {\n this.updateDimensions();\n }\n\n handleShow(): void {\n this.updateDimensions();\n }\n\n handleOpenObject(object: VariableDefinition): void {\n const { sessionWrapper } = this.props;\n const { session } = sessionWrapper;\n this.openWidget(object, session);\n }\n\n handleCloseObject(object: VariableDefinition): void {\n const { title } = object;\n if (title) {\n const id = this.getItemId(title, false);\n const { glEventHub } = this.props;\n glEventHub.emit(PanelEvent.CLOSE, id);\n }\n }\n\n handleSettingsChange(consoleSettings: Record<string, unknown>): void {\n const { glEventHub } = this.props;\n log.debug('handleSettingsChange', consoleSettings);\n this.setState({\n consoleSettings,\n });\n glEventHub.emit(ConsoleEvent.SETTINGS_CHANGED, consoleSettings);\n }\n\n /**\n * @param widget The widget to open\n * @param session The session object\n */\n openWidget(widget: VariableDefinition, session: IdeSession): void {\n const { glEventHub } = this.props;\n const { title } = widget;\n assertNotNull(title);\n const panelId = this.getItemId(title);\n const openOptions = {\n fetch: () => session.getObject(widget),\n panelId,\n widget,\n };\n\n log.debug('openWidget', openOptions);\n\n glEventHub.emit(PanelEvent.OPEN, openOptions);\n }\n\n addCommand(command: string, focus = true, execute = false): void {\n this.consoleRef.current?.addCommand(command, focus, execute);\n }\n\n /**\n * Close the disconnected panels from this session\n * @param force True to force the panels closed regardless of the current setting\n */\n closeDisconnectedPanels(force = false): void {\n const { consoleSettings, itemIds } = this.state;\n const { isClosePanelsOnDisconnectEnabled = true } = consoleSettings;\n if (!isClosePanelsOnDisconnectEnabled && !force) {\n return;\n }\n\n const panelIdsToClose = [...itemIds.values()];\n const { glEventHub } = this.props;\n panelIdsToClose.forEach(panelId => {\n glEventHub.emit(PanelEvent.CLOSE, panelId);\n });\n\n this.setState({ itemIds: new Map() });\n }\n\n savePanelState = debounce((): void => {\n const { consoleSettings, itemIds } = this.state;\n const panelState = {\n consoleSettings,\n itemIds: [...itemIds],\n };\n log.debug('Saving panel state', panelState);\n // eslint-disable-next-line react/no-unused-state\n this.setState({ panelState });\n }, DEBOUNCE_PANEL_STATE_UPDATE);\n\n updateDimensions(): void {\n this.consoleRef.current?.updateDimensions();\n }\n\n render(): ReactElement {\n const {\n commandHistoryStorage,\n glContainer,\n glEventHub,\n sessionWrapper,\n timeZone,\n unzip,\n } = this.props;\n const { consoleSettings, error, objectMap } = this.state;\n const { config, session } = sessionWrapper;\n const { id: sessionId, type: language } = config;\n\n return (\n <Panel\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onResize={this.handleResize}\n onShow={this.handleShow}\n onTabFocus={this.handleTabFocus}\n errorMessage={error != null ? `${error}` : undefined}\n >\n <>\n {session && (\n <Console\n ref={this.consoleRef}\n settings={consoleSettings}\n session={session}\n focusCommandHistory={this.handleFocusCommandHistory}\n openObject={this.handleOpenObject}\n closeObject={this.handleCloseObject}\n commandHistoryStorage={commandHistoryStorage}\n onSettingsChange={this.handleSettingsChange}\n language={language}\n statusBarChildren={\n <>\n <div>&nbsp;</div>\n <div>{ConsoleConstants.LANGUAGE_MAP.get(language)}</div>\n </>\n }\n scope={sessionId}\n timeZone={timeZone}\n objectMap={objectMap}\n unzip={unzip}\n />\n )}\n </>\n </Panel>\n );\n }\n}\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: { localDashboardId: string }\n) => ({\n commandHistoryStorage: getCommandHistoryStorage(\n state\n ) as CommandHistoryStorage,\n sessionWrapper: getDashboardSessionWrapper(state, ownProps.localDashboardId),\n timeZone: getTimeZone(state),\n});\n\nexport default connect(mapStateToProps, null, null, { forwardRef: true })(\n ConsolePanel\n);\n"],"file":"ConsolePanel.js"}
@@ -1,6 +1,53 @@
1
- declare var _default: import("react-redux").ConnectedComponent<typeof DropdownFilterPanel, any>;
2
- export default _default;
3
- declare class DropdownFilterPanel extends React.Component<any, any, any> {
1
+ import React, { Component, RefObject } from 'react';
2
+ import { Column, Row, TableTemplate } from '@deephaven/jsapi-shim';
3
+ import { DateTimeColumnFormatter, Formatter, FormattingRule } from '@deephaven/jsapi-utils';
4
+ import { Pending } from '@deephaven/utils';
5
+ import { Container, EventEmitter } from '@deephaven/golden-layout';
6
+ import DropdownFilter, { DropdownFilterColumn } from '../controls/dropdown-filter/DropdownFilter';
7
+ import './DropdownFilterPanel.scss';
8
+ import { Link } from '../linker/LinkerUtils';
9
+ import { ColumnSelectionValidator } from '../linker/ColumnSelectionValidator';
10
+ interface PanelState {
11
+ name?: string;
12
+ type?: string;
13
+ value?: string;
14
+ isValueShown?: boolean;
15
+ timestamp?: number;
16
+ }
17
+ interface DropdownFilterPanelProps {
18
+ glContainer: Container;
19
+ glEventHub: EventEmitter;
20
+ panelState?: PanelState;
21
+ isLinkerActive: boolean;
22
+ columns: Column[];
23
+ columnSelectionValidator?: ColumnSelectionValidator;
24
+ disableLinking: boolean;
25
+ settings: {
26
+ formatter: FormattingRule[];
27
+ };
28
+ panelTableMap: Map<string | string[], TableTemplate>;
29
+ dashboardLinks: Link[];
30
+ }
31
+ interface DropdownFilterPanelState {
32
+ column?: DropdownFilterColumn;
33
+ formatter: Formatter;
34
+ valuesTable?: TableTemplate;
35
+ valuesColumn?: Column;
36
+ sourceSize: number;
37
+ value: string;
38
+ timestamp?: number;
39
+ values: unknown[];
40
+ isValueShown: boolean;
41
+ wasFlipped: boolean;
42
+ skipUpdate: boolean;
43
+ panelState?: PanelState;
44
+ isDisconnected: boolean;
45
+ isLoading: boolean;
46
+ isLoaded: boolean;
47
+ error: unknown | null;
48
+ }
49
+ declare class DropdownFilterPanel extends Component<DropdownFilterPanelProps, DropdownFilterPanelState> {
50
+ static displayName: string;
4
51
  static COMPONENT: string;
5
52
  static MAX_TABLE_SIZE: number;
6
53
  static DATETIME_FORMATTER: DateTimeColumnFormatter;
@@ -8,121 +55,78 @@ declare class DropdownFilterPanel extends React.Component<any, any, any> {
8
55
  name: string;
9
56
  type: null;
10
57
  }>;
11
- constructor(props: any);
12
- handleChange({ column, isValueShown, value }: {
13
- column: any;
14
- isValueShown: any;
15
- value: any;
16
- }): void;
17
- handleClearAllFilters(): void;
18
- handleDisconnect(): void;
19
- handleReconnect(): void;
20
- handleColumnSelected(): void;
21
- handleSourceFilterChange(): void;
22
- handleSourceSortChange(): void;
23
- handleSourceSizeChange({ detail }: {
24
- detail: any;
25
- }): void;
26
- handleSourceMouseEnter(): void;
27
- handleSourceMouseLeave(): void;
28
- handleValuesTableUpdate({ detail }: {
29
- detail: any;
30
- }): void;
31
- dropdownFilterRef: React.RefObject<any>;
32
- panelContainer: React.RefObject<any>;
58
+ constructor(props: DropdownFilterPanelProps);
59
+ componentDidMount(): void;
60
+ componentDidUpdate(prevProps: DropdownFilterPanelProps, prevState: DropdownFilterPanelState): void;
61
+ componentWillUnmount(): void;
62
+ dropdownFilterRef: RefObject<DropdownFilter>;
63
+ panelContainer: RefObject<HTMLDivElement>;
33
64
  pending: Pending;
34
- cleanup: any;
35
- columnFormats: any;
36
- getCachedValues: (this: any, rawValues: any, { type, name }: any, formatter: any) => any;
37
- getCoordinateForColumn(): any[] | null;
38
- getSettingsErrorMessage(): string | null;
39
- getPanelErrorMessage(): string | null;
40
- getCachedPanelLinks: (this: any, dashboardLinks: any, panel: any) => any;
65
+ cleanup?: () => void;
66
+ columnFormats?: FormattingRule[];
67
+ getCachedValues: (rawValues: unknown[], { type, name }: DropdownFilterColumn, formatter: Formatter) => (string | null)[];
68
+ getCoordinateForColumn(): [number, number] | null;
69
+ getSettingsErrorMessage(): string | undefined;
70
+ getPanelErrorMessage(): string | undefined;
71
+ getCachedPanelLinks: (this: any, dashboardLinks: Link[], panel: any) => Link[];
41
72
  getCachedSource: (this: any, links: any) => any;
42
73
  getCachedSourceTable: (this: any, panelTableMap: any, source: any) => any;
43
- getCachedSourceColumn: (this: any, table: any, source: any) => any;
44
- getSource(props?: Readonly<any> & Readonly<{
74
+ getCachedSourceColumn: (this: any, table: TableTemplate, source: any) => Column | null;
75
+ getSource(props?: Readonly<DropdownFilterPanelProps> & Readonly<{
45
76
  children?: React.ReactNode;
46
77
  }>): any;
47
- getSourceTable(props?: Readonly<any> & Readonly<{
78
+ getSourceTable(props?: Readonly<DropdownFilterPanelProps> & Readonly<{
48
79
  children?: React.ReactNode;
49
80
  }>): any;
50
- getValuesColumn(valuesTable: any): any;
51
- startListeningToSource(sourceTable: any): void;
52
- stopListeningToSource(sourceTable: any): void;
81
+ getValuesColumn(valuesTable: TableTemplate): Column | null;
82
+ startListeningToSource(sourceTable: TableTemplate): void;
83
+ stopListeningToSource(sourceTable: TableTemplate): void;
84
+ handleChange({ column, isValueShown, value, }: {
85
+ column: Partial<Column> | null;
86
+ isValueShown?: boolean | undefined;
87
+ value?: string | undefined;
88
+ }): void;
89
+ handleDisconnect(): void;
90
+ handleReconnect(): void;
91
+ handleSourceFilterChange(): void;
92
+ handleSourceSortChange(): void;
93
+ handleSourceSizeChange({ detail }: {
94
+ detail: number;
95
+ }): void;
96
+ handleColumnSelected(): void;
97
+ handleClearAllFilters(): void;
53
98
  /**
54
99
  * Set the filter value, card side, selected column
55
- * @param {Object} state Filter state to set
56
- * @param {boolean} sendUpdate Emit filters changed event if true
100
+ * @param state Filter state to set
101
+ * @param sendUpdate Emit filters changed event if true
57
102
  */
58
- setPanelState(state: Object, sendUpdate?: boolean): void;
59
- sendUpdate(name: any, type: any, value: any, timestamp: any): void;
103
+ setPanelState(state: {
104
+ name: string;
105
+ type: string;
106
+ value: string;
107
+ isValueShown: boolean;
108
+ }, sendUpdate?: boolean): void;
109
+ sendUpdate(name: string | null, type: string | undefined, value: string | undefined, timestamp?: number): void;
60
110
  updateValuesTable(): void;
61
111
  applySourceSorts(): void;
62
112
  applySourceFilters(): void;
63
- updateViewportListener(valuesTable: any): void;
64
- setViewport(valuesTable: any): void;
65
- updateFormatterSettings(settings: any): void;
66
- }
67
- declare namespace DropdownFilterPanel {
68
- namespace propTypes {
69
- const glContainer: PropTypes.Validator<PropTypes.InferProps<{
70
- on: PropTypes.Requireable<(...args: any[]) => any>;
71
- off: PropTypes.Requireable<(...args: any[]) => any>;
72
- isHidden: PropTypes.Requireable<boolean>;
73
- tab: PropTypes.Requireable<PropTypes.InferProps<{
74
- header: PropTypes.Requireable<PropTypes.InferProps<{
75
- tabs: PropTypes.Requireable<(PropTypes.InferProps<{
76
- contentItem: PropTypes.Requireable<PropTypes.InferProps<{}>>;
77
- }> | null | undefined)[]>;
78
- }>>;
79
- }>>;
80
- title: PropTypes.Requireable<string>;
81
- setTitle: PropTypes.Requireable<(...args: any[]) => any>;
82
- close: PropTypes.Requireable<(...args: any[]) => any>;
83
- }>>;
84
- const glEventHub: PropTypes.Validator<PropTypes.InferProps<{
85
- on: PropTypes.Requireable<(...args: any[]) => any>;
86
- off: PropTypes.Requireable<(...args: any[]) => any>;
87
- emit: PropTypes.Requireable<(...args: any[]) => any>;
88
- }>>;
89
- const panelState: PropTypes.Requireable<PropTypes.InferProps<{
90
- name: PropTypes.Requireable<string>;
91
- type: PropTypes.Requireable<string>;
92
- value: PropTypes.Requireable<string>;
93
- isValueShown: PropTypes.Requireable<boolean>;
94
- }>>;
95
- const isLinkerActive: PropTypes.Validator<boolean>;
96
- const columns: PropTypes.Validator<(PropTypes.InferProps<{}> | null | undefined)[]>;
97
- const columnSelectionValidator: PropTypes.Requireable<(...args: any[]) => any>;
98
- const disableLinking: PropTypes.Validator<boolean>;
99
- const settings: PropTypes.Validator<PropTypes.InferProps<{
100
- columnFormats: PropTypes.Requireable<(PropTypes.InferProps<{}> | null | undefined)[]>;
101
- }>>;
102
- const panelTableMap: PropTypes.Validator<Map<unknown, unknown>>;
103
- const dashboardLinks: PropTypes.Validator<(PropTypes.InferProps<{
104
- start: PropTypes.Requireable<PropTypes.InferProps<{
105
- panelId: PropTypes.Validator<string>;
106
- columnName: PropTypes.Validator<string>;
107
- }>>;
108
- end: PropTypes.Requireable<PropTypes.InferProps<{
109
- panelId: PropTypes.Validator<string>;
110
- columnName: PropTypes.Validator<string>;
111
- }>>;
112
- id: PropTypes.Requireable<string>;
113
- isReversed: PropTypes.Requireable<boolean>;
114
- }> | null | undefined)[]>;
115
- }
116
- namespace defaultProps {
117
- const columnSelectionValidator_1: null;
118
- export { columnSelectionValidator_1 as columnSelectionValidator };
119
- const panelState_1: null;
120
- export { panelState_1 as panelState };
121
- }
122
- const displayName: string;
113
+ updateViewportListener(valuesTable: TableTemplate): void;
114
+ setViewport(valuesTable: TableTemplate): void;
115
+ updateFormatterSettings(settings: {
116
+ formatter?: FormattingRule[] | undefined;
117
+ }): void;
118
+ handleValuesTableUpdate({ detail }: {
119
+ detail: {
120
+ rows: Row[];
121
+ };
122
+ }): void;
123
+ handleSourceMouseEnter(): void;
124
+ handleSourceMouseLeave(): void;
125
+ render(): JSX.Element;
123
126
  }
124
- import React from "react";
125
- import { Pending } from "@deephaven/utils";
126
- import { DateTimeColumnFormatter } from "packages/jsapi-utils/src/formatters/DateTimeColumnFormatter";
127
- import PropTypes from "prop-types";
127
+ declare const _default: import("react-redux").ConnectedComponent<typeof DropdownFilterPanel, import("react-redux").Omit<React.ClassAttributes<DropdownFilterPanel> & DropdownFilterPanelProps, "columns" | "columnSelectionValidator" | "isLinkerActive" | "disableLinking" | "settings" | "panelTableMap" | "dashboardLinks"> & {
128
+ localDashboardId: string;
129
+ glContainer: Container;
130
+ }>;
131
+ export default _default;
128
132
  //# sourceMappingURL=DropdownFilterPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownFilterPanel.d.ts","sourceRoot":"","sources":["../../src/panels/DropdownFilterPanel.jsx"],"names":[],"mappings":";;AAmCA;IACE,yBAAyC;IAEzC,8BAA4B;IAG5B,mDAIG;IAEH;;;OAGG;IAEH,wBAiDC;IAsND;;;;aAsCC;IAoCD,8BAEC;IApCD,yBAMC;IAED,wBAEC;IAcD,6BAQC;IApBD,iCAEC;IAED,+BAEC;IAED;;aAEC;IA8KD,+BAMC;IAED,+BAMC;IA1BD;;aAUC;IA/dC,wCAA0C;IAC1C,qCAAuC;IACvC,iBAA4B;IAC5B,aAAmB;IAGnB,mBAA2C;IA2F7C,yFAUG;IAEH,uCAeC;IAED,yCAMC;IAED,sCAGC;IAED,yEAIG;IAEH,gDAWG;IAEH,0EAOG;IAEH,mEAWG;IAEH;;aAIC;IAED;;aAIC;IAED,uCAGC;IAED,+CAsBC;IAED,8CAsBC;IAgFD;;;;OAIG;IACH,qBAHW,MAAM,eACN,OAAO,QAajB;IAED,mEAmBC;IAED,0BA4CC;IAED,yBAWC;IAED,2BAWC;IAED,+CAkBC;IAED,oCAKC;IAED,6CAMC;CAiGF"}
1
+ {"version":3,"file":"DropdownFilterPanel.d.ts","sourceRoot":"","sources":["../../src/panels/DropdownFilterPanel.tsx"],"names":[],"mappings":"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"}