@deephaven/console 0.15.1-beta.2 → 0.15.2-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.
Files changed (166) hide show
  1. package/dist/Console.d.ts +129 -121
  2. package/dist/Console.d.ts.map +1 -1
  3. package/dist/Console.js +98 -99
  4. package/dist/Console.js.map +1 -1
  5. package/dist/ConsoleInput.d.ts +47 -43
  6. package/dist/ConsoleInput.d.ts.map +1 -1
  7. package/dist/ConsoleInput.js +111 -73
  8. package/dist/ConsoleInput.js.map +1 -1
  9. package/dist/ConsoleMenu.d.ts +24 -22
  10. package/dist/ConsoleMenu.d.ts.map +1 -1
  11. package/dist/ConsoleMenu.js +7 -12
  12. package/dist/ConsoleMenu.js.map +1 -1
  13. package/dist/ConsolePropTypes.d.ts +2 -2
  14. package/dist/ConsolePropTypes.d.ts.map +1 -1
  15. package/dist/ConsolePropTypes.js.map +1 -1
  16. package/dist/ConsoleStatusBar.d.ts +26 -29
  17. package/dist/ConsoleStatusBar.d.ts.map +1 -1
  18. package/dist/ConsoleStatusBar.js +11 -12
  19. package/dist/ConsoleStatusBar.js.map +1 -1
  20. package/dist/StoragePropTypes.d.ts +2 -2
  21. package/dist/StoragePropTypes.d.ts.map +1 -1
  22. package/dist/StoragePropTypes.js.map +1 -1
  23. package/dist/command-history/CommandHistory.d.ts +52 -77
  24. package/dist/command-history/CommandHistory.d.ts.map +1 -1
  25. package/dist/command-history/CommandHistory.js +12 -14
  26. package/dist/command-history/CommandHistory.js.map +1 -1
  27. package/dist/command-history/CommandHistoryActions.d.ts +11 -19
  28. package/dist/command-history/CommandHistoryActions.d.ts.map +1 -1
  29. package/dist/command-history/CommandHistoryActions.js +4 -19
  30. package/dist/command-history/CommandHistoryActions.js.map +1 -1
  31. package/dist/command-history/CommandHistoryItem.d.ts +15 -21
  32. package/dist/command-history/CommandHistoryItem.d.ts.map +1 -1
  33. package/dist/command-history/CommandHistoryItem.js +1 -10
  34. package/dist/command-history/CommandHistoryItem.js.map +1 -1
  35. package/dist/command-history/CommandHistoryItemTooltip.d.ts +34 -31
  36. package/dist/command-history/CommandHistoryItemTooltip.d.ts.map +1 -1
  37. package/dist/command-history/CommandHistoryItemTooltip.js +28 -36
  38. package/dist/command-history/CommandHistoryItemTooltip.js.map +1 -1
  39. package/dist/command-history/CommandHistoryTypes.d.ts +19 -0
  40. package/dist/command-history/CommandHistoryTypes.d.ts.map +1 -0
  41. package/dist/command-history/CommandHistoryTypes.js +2 -0
  42. package/dist/command-history/CommandHistoryTypes.js.map +1 -0
  43. package/dist/command-history/index.d.ts +5 -5
  44. package/dist/command-history/index.d.ts.map +1 -1
  45. package/dist/command-history/index.js.map +1 -1
  46. package/dist/common/Code.d.ts +10 -11
  47. package/dist/common/Code.d.ts.map +1 -1
  48. package/dist/common/Code.js +5 -5
  49. package/dist/common/Code.js.map +1 -1
  50. package/dist/common/ConsoleUtils.d.ts +20 -8
  51. package/dist/common/ConsoleUtils.d.ts.map +1 -1
  52. package/dist/common/ConsoleUtils.js +34 -10
  53. package/dist/common/ConsoleUtils.js.map +1 -1
  54. package/dist/console-history/ConsoleHistory.d.ts +19 -18
  55. package/dist/console-history/ConsoleHistory.d.ts.map +1 -1
  56. package/dist/console-history/ConsoleHistory.js +5 -9
  57. package/dist/console-history/ConsoleHistory.js.map +1 -1
  58. package/dist/console-history/ConsoleHistoryItem.d.ts +21 -44
  59. package/dist/console-history/ConsoleHistoryItem.d.ts.map +1 -1
  60. package/dist/console-history/ConsoleHistoryItem.js +12 -28
  61. package/dist/console-history/ConsoleHistoryItem.js.map +1 -1
  62. package/dist/console-history/ConsoleHistoryItemResult.d.ts +13 -9
  63. package/dist/console-history/ConsoleHistoryItemResult.d.ts.map +1 -1
  64. package/dist/console-history/ConsoleHistoryItemResult.js.map +1 -1
  65. package/dist/console-history/ConsoleHistoryResultErrorMessage.d.ts +25 -21
  66. package/dist/console-history/ConsoleHistoryResultErrorMessage.d.ts.map +1 -1
  67. package/dist/console-history/ConsoleHistoryResultErrorMessage.js +15 -9
  68. package/dist/console-history/ConsoleHistoryResultErrorMessage.js.map +1 -1
  69. package/dist/console-history/ConsoleHistoryResultInProgress.d.ts +21 -17
  70. package/dist/console-history/ConsoleHistoryResultInProgress.d.ts.map +1 -1
  71. package/dist/console-history/ConsoleHistoryResultInProgress.js +12 -10
  72. package/dist/console-history/ConsoleHistoryResultInProgress.js.map +1 -1
  73. package/dist/console-history/ConsoleHistoryTypes.d.ts +19 -0
  74. package/dist/console-history/ConsoleHistoryTypes.d.ts.map +1 -0
  75. package/dist/console-history/ConsoleHistoryTypes.js +2 -0
  76. package/dist/console-history/ConsoleHistoryTypes.js.map +1 -0
  77. package/dist/console-history/index.d.ts +5 -5
  78. package/dist/console-history/index.d.ts.map +1 -1
  79. package/dist/console-history/index.js.map +1 -1
  80. package/dist/csv/CsvFormats.d.ts +13 -12
  81. package/dist/csv/CsvFormats.d.ts.map +1 -1
  82. package/dist/csv/CsvFormats.js +8 -8
  83. package/dist/csv/CsvFormats.js.map +1 -1
  84. package/dist/csv/CsvInputBar.d.ts +46 -38
  85. package/dist/csv/CsvInputBar.d.ts.map +1 -1
  86. package/dist/csv/CsvInputBar.js +15 -23
  87. package/dist/csv/CsvInputBar.js.map +1 -1
  88. package/dist/csv/CsvOverlay.d.ts +40 -40
  89. package/dist/csv/CsvOverlay.d.ts.map +1 -1
  90. package/dist/csv/CsvOverlay.js +38 -29
  91. package/dist/csv/CsvOverlay.js.map +1 -1
  92. package/dist/csv/CsvParser.d.ts +44 -46
  93. package/dist/csv/CsvParser.d.ts.map +1 -1
  94. package/dist/csv/CsvParser.js +53 -8
  95. package/dist/csv/CsvParser.js.map +1 -1
  96. package/dist/csv/CsvTypeParser.d.ts +32 -27
  97. package/dist/csv/CsvTypeParser.d.ts.map +1 -1
  98. package/dist/csv/CsvTypeParser.js +42 -8
  99. package/dist/csv/CsvTypeParser.js.map +1 -1
  100. package/dist/csv/NewTableColumnTypes.d.ts +1 -1
  101. package/dist/csv/NewTableColumnTypes.d.ts.map +1 -1
  102. package/dist/csv/NewTableColumnTypes.js.map +1 -1
  103. package/dist/declaration.d.js +2 -0
  104. package/dist/declaration.d.js.map +1 -0
  105. package/dist/index.d.ts +14 -13
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js.map +1 -1
  108. package/dist/log/LogLevel.d.ts +1 -1
  109. package/dist/log/LogLevel.d.ts.map +1 -1
  110. package/dist/log/LogLevel.js.map +1 -1
  111. package/dist/log/LogLevelMenuItem.d.ts +11 -12
  112. package/dist/log/LogLevelMenuItem.d.ts.map +1 -1
  113. package/dist/log/LogLevelMenuItem.js +0 -6
  114. package/dist/log/LogLevelMenuItem.js.map +1 -1
  115. package/dist/log/LogView.d.ts +40 -47
  116. package/dist/log/LogView.d.ts.map +1 -1
  117. package/dist/log/LogView.js +65 -29
  118. package/dist/log/LogView.js.map +1 -1
  119. package/dist/monaco/MonacoCompletionProvider.d.ts +19 -19
  120. package/dist/monaco/MonacoCompletionProvider.d.ts.map +1 -1
  121. package/dist/monaco/MonacoCompletionProvider.js +11 -15
  122. package/dist/monaco/MonacoCompletionProvider.js.map +1 -1
  123. package/dist/monaco/MonacoUtils.d.ts +77 -20
  124. package/dist/monaco/MonacoUtils.d.ts.map +1 -1
  125. package/dist/monaco/MonacoUtils.js +32 -24
  126. package/dist/monaco/MonacoUtils.js.map +1 -1
  127. package/dist/monaco/index.d.ts +3 -2
  128. package/dist/monaco/index.d.ts.map +1 -1
  129. package/dist/monaco/index.js.map +1 -1
  130. package/dist/monaco/lang/Language.d.ts +7 -0
  131. package/dist/monaco/lang/Language.d.ts.map +1 -0
  132. package/dist/monaco/lang/Language.js +2 -0
  133. package/dist/monaco/lang/Language.js.map +1 -0
  134. package/dist/monaco/lang/db.d.ts +3 -93
  135. package/dist/monaco/lang/db.d.ts.map +1 -1
  136. package/dist/monaco/lang/db.js +18 -3
  137. package/dist/monaco/lang/db.js.map +1 -1
  138. package/dist/monaco/lang/groovy.d.ts +3 -146
  139. package/dist/monaco/lang/groovy.d.ts.map +1 -1
  140. package/dist/monaco/lang/groovy.js +15 -2
  141. package/dist/monaco/lang/groovy.js.map +1 -1
  142. package/dist/monaco/lang/log.d.ts +3 -40
  143. package/dist/monaco/lang/log.d.ts.map +1 -1
  144. package/dist/monaco/lang/log.js +2 -1
  145. package/dist/monaco/lang/log.js.map +1 -1
  146. package/dist/monaco/lang/python.d.ts +3 -154
  147. package/dist/monaco/lang/python.d.ts.map +1 -1
  148. package/dist/monaco/lang/python.js +15 -2
  149. package/dist/monaco/lang/python.js.map +1 -1
  150. package/dist/monaco/lang/scala.d.ts +3 -140
  151. package/dist/monaco/lang/scala.d.ts.map +1 -1
  152. package/dist/monaco/lang/scala.js +10 -3
  153. package/dist/monaco/lang/scala.js.map +1 -1
  154. package/dist/notebook/Editor.d.ts +26 -27
  155. package/dist/notebook/Editor.d.ts.map +1 -1
  156. package/dist/notebook/Editor.js +23 -19
  157. package/dist/notebook/Editor.js.map +1 -1
  158. package/dist/notebook/ScriptEditor.d.ts +54 -51
  159. package/dist/notebook/ScriptEditor.d.ts.map +1 -1
  160. package/dist/notebook/ScriptEditor.js +45 -48
  161. package/dist/notebook/ScriptEditor.js.map +1 -1
  162. package/dist/notebook/ScriptEditorUtils.d.ts +15 -10
  163. package/dist/notebook/ScriptEditorUtils.d.ts.map +1 -1
  164. package/dist/notebook/ScriptEditorUtils.js +7 -7
  165. package/dist/notebook/ScriptEditorUtils.js.map +1 -1
  166. package/package.json +12 -11
@@ -5,34 +5,49 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
5
5
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
6
 
7
7
  import React, { PureComponent } from 'react';
8
- import PropTypes from 'prop-types';
9
8
  import classNames from 'classnames';
10
9
  import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';
11
10
  import Log from '@deephaven/log';
12
- import { PromiseUtils } from '@deephaven/utils';
11
+ import { assertNotNull, PromiseUtils } from '@deephaven/utils';
13
12
  import { MonacoCompletionProvider, MonacoTheme, MonacoUtils } from "./monaco/index.js";
14
13
  import "./ConsoleInput.css";
15
- import StoragePropTypes from "./StoragePropTypes.js";
16
14
  var log = Log.module('ConsoleInput');
17
15
  var LINE_HEIGHT = parseInt(MonacoTheme['line-height'], 10);
18
16
  var TOP_PADDING = 6;
19
17
  var BOTTOM_PADDING = 6;
20
18
  var MIN_INPUT_HEIGHT = LINE_HEIGHT + TOP_PADDING + BOTTOM_PADDING;
21
19
  var BUFFER_SIZE = 100;
20
+
22
21
  /**
23
22
  * Component for input in a console session. Handles loading the recent command history
24
23
  */
25
-
26
24
  export class ConsoleInput extends PureComponent {
27
25
  constructor(props) {
28
26
  super(props);
27
+
28
+ _defineProperty(this, "cancelListener", void 0);
29
+
30
+ _defineProperty(this, "commandContainer", void 0);
31
+
32
+ _defineProperty(this, "commandEditor", void 0);
33
+
34
+ _defineProperty(this, "commandHistoryIndex", void 0);
35
+
36
+ _defineProperty(this, "commandSuggestionContainer", void 0);
37
+
38
+ _defineProperty(this, "loadingPromise", void 0);
39
+
40
+ _defineProperty(this, "timestamp", void 0);
41
+
42
+ _defineProperty(this, "bufferIndex", void 0);
43
+
44
+ _defineProperty(this, "history", void 0);
45
+
46
+ _defineProperty(this, "modifiedCommands", void 0);
47
+
29
48
  this.handleWindowResize = this.handleWindowResize.bind(this);
30
- this.cancelListener = null;
31
49
  this.commandContainer = /*#__PURE__*/React.createRef();
32
- this.commandEditor = null;
33
50
  this.commandHistoryIndex = null;
34
- this.commandSuggestionContainer = null;
35
- this.loadingPromise = null;
36
51
  this.timestamp = Date.now();
37
52
  this.bufferIndex = 0;
38
53
  this.history = []; // Tracks every command that has been modified by its commandHistoryIndex. Cleared on any command being executed
@@ -64,17 +79,18 @@ export class ConsoleInput extends PureComponent {
64
79
 
65
80
  this.destroyCommandEditor();
66
81
  }
82
+
67
83
  /**
68
84
  * Sets the console text from an external source.
69
85
  * Sets commandHistoryIndex to null since the source is not part of the history
70
- * @param {string} text The text to set in the input
71
- * @param {boolean} focus If the input should be focused
72
- * @param {boolean} execute If the input should be executed
86
+ * @param text The text to set in the input
87
+ * @param focus If the input should be focused
88
+ * @param execute If the input should be executed
73
89
  * @returns void
74
90
  */
75
-
76
-
77
91
  setConsoleText(text) {
92
+ var _this$commandEditor;
93
+
78
94
  var focus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
79
95
  var execute = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
80
96
 
@@ -86,7 +102,7 @@ export class ConsoleInput extends PureComponent {
86
102
  // On value change, modified commands map updates
87
103
 
88
104
  this.commandHistoryIndex = null;
89
- this.commandEditor.setValue(text);
105
+ (_this$commandEditor = this.commandEditor) === null || _this$commandEditor === void 0 ? void 0 : _this$commandEditor.setValue(text);
90
106
 
91
107
  if (focus) {
92
108
  this.focusEnd();
@@ -105,7 +121,7 @@ export class ConsoleInput extends PureComponent {
105
121
  session
106
122
  } = this.props;
107
123
  var commandSettings = {
108
- copyWithSyntaxHighlighting: 'false',
124
+ copyWithSyntaxHighlighting: false,
109
125
  cursorStyle: 'block',
110
126
  fixedOverflowWidgets: true,
111
127
  folding: false,
@@ -133,11 +149,16 @@ export class ConsoleInput extends PureComponent {
133
149
  value: '',
134
150
  wordWrap: 'on'
135
151
  };
136
- this.commandEditor = monaco.editor.create(this.commandContainer.current, commandSettings);
152
+ var element = this.commandContainer.current;
153
+ assertNotNull(element);
154
+ this.commandEditor = monaco.editor.create(element, commandSettings);
137
155
  MonacoUtils.setEOL(this.commandEditor);
138
156
  MonacoUtils.openDocument(this.commandEditor, session);
139
157
  this.commandEditor.onDidChangeModelContent(() => {
140
- this.modifiedCommands.set(this.commandHistoryIndex, this.commandEditor.getValue());
158
+ var _this$commandEditor2;
159
+
160
+ var value = (_this$commandEditor2 = this.commandEditor) === null || _this$commandEditor2 === void 0 ? void 0 : _this$commandEditor2.getValue();
161
+ this.modifiedCommands.set(this.commandHistoryIndex, value !== null && value !== void 0 ? value : null);
141
162
  this.updateDimensions();
142
163
  });
143
164
  this.commandEditor.onDidFocusEditorText(() => {
@@ -161,10 +182,12 @@ export class ConsoleInput extends PureComponent {
161
182
  commandEditor,
162
183
  commandHistoryIndex
163
184
  } = this;
185
+ var position = commandEditor === null || commandEditor === void 0 ? void 0 : commandEditor.getPosition();
186
+ assertNotNull(position);
164
187
  var {
165
188
  lineNumber
166
- } = commandEditor.getPosition();
167
- var model = commandEditor.getModel();
189
+ } = position;
190
+ var model = commandEditor === null || commandEditor === void 0 ? void 0 : commandEditor.getModel();
168
191
 
169
192
  if (keyEvent.keyCode === monaco.KeyCode.UpArrow && !this.isSuggestionMenuPopulated() && lineNumber === 1) {
170
193
  if (commandHistoryIndex != null) {
@@ -179,7 +202,7 @@ export class ConsoleInput extends PureComponent {
179
202
  return;
180
203
  }
181
204
 
182
- if (keyEvent.keyCode === monaco.KeyCode.DownArrow && !this.isSuggestionMenuPopulated() && lineNumber === model.getLineCount()) {
205
+ if (keyEvent.keyCode === monaco.KeyCode.DownArrow && !this.isSuggestionMenuPopulated() && lineNumber === (model === null || model === void 0 ? void 0 : model.getLineCount())) {
183
206
  if (commandHistoryIndex != null && commandHistoryIndex > 0) {
184
207
  this.loadCommand(commandHistoryIndex - 1);
185
208
  } else {
@@ -201,9 +224,11 @@ export class ConsoleInput extends PureComponent {
201
224
  }
202
225
  } else if (keyEvent.keyCode === monaco.KeyCode.Tab) {
203
226
  if (!this.isSuggestionMenuActive()) {
227
+ var _this$commandEditor3;
228
+
204
229
  keyEvent.stopPropagation();
205
230
  keyEvent.preventDefault();
206
- this.commandEditor.trigger('Tab key trigger suggestions', 'editor.action.triggerSuggest', {});
231
+ (_this$commandEditor3 = this.commandEditor) === null || _this$commandEditor3 === void 0 ? void 0 : _this$commandEditor3.trigger('Tab key trigger suggestions', 'editor.action.triggerSuggest', {});
207
232
  } else if (!this.isSuggestionMenuPopulated()) {
208
233
  keyEvent.stopPropagation();
209
234
  keyEvent.preventDefault();
@@ -213,7 +238,7 @@ export class ConsoleInput extends PureComponent {
213
238
  }); // Override the Ctrl+F functionality so that the find window doesn't appear
214
239
 
215
240
  this.commandEditor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_F, // eslint-disable-line no-bitwise
216
- () => {});
241
+ () => undefined);
217
242
  MonacoUtils.removeConflictingKeybindings(this.commandEditor);
218
243
  MonacoUtils.registerPasteHandler(this.commandEditor);
219
244
  this.commandEditor.focus();
@@ -231,7 +256,7 @@ export class ConsoleInput extends PureComponent {
231
256
  if (this.commandEditor) {
232
257
  MonacoUtils.closeDocument(this.commandEditor, session);
233
258
  this.commandEditor.dispose();
234
- this.commandEditor = null;
259
+ this.commandEditor = undefined;
235
260
  }
236
261
  }
237
262
 
@@ -240,50 +265,68 @@ export class ConsoleInput extends PureComponent {
240
265
  }
241
266
 
242
267
  isSuggestionMenuActive() {
268
+ var _ref;
269
+
243
270
  if (!this.commandSuggestionContainer) {
244
- this.commandSuggestionContainer = this.commandEditor.getDomNode().querySelector('.suggest-widget');
271
+ var _this$commandEditor4, _this$commandEditor4$;
272
+
273
+ this.commandSuggestionContainer = (_this$commandEditor4 = this.commandEditor) === null || _this$commandEditor4 === void 0 ? void 0 : (_this$commandEditor4$ = _this$commandEditor4.getDomNode()) === null || _this$commandEditor4$ === void 0 ? void 0 : _this$commandEditor4$.querySelector('.suggest-widget');
245
274
  }
246
275
 
247
- return this.commandSuggestionContainer && this.commandSuggestionContainer.classList.contains('visible');
276
+ return (_ref = this.commandSuggestionContainer && this.commandSuggestionContainer.classList.contains('visible')) !== null && _ref !== void 0 ? _ref : false;
248
277
  }
249
278
 
250
279
  isSuggestionMenuPopulated() {
251
- return this.isSuggestionMenuActive() && this.commandSuggestionContainer.querySelector('.monaco-list-rows').childElementCount > 0;
280
+ var _this$commandSuggesti, _this$commandSuggesti2, _this$commandSuggesti3;
281
+
282
+ return this.isSuggestionMenuActive() && ((_this$commandSuggesti = (_this$commandSuggesti2 = this.commandSuggestionContainer) === null || _this$commandSuggesti2 === void 0 ? void 0 : (_this$commandSuggesti3 = _this$commandSuggesti2.querySelector('.monaco-list-rows')) === null || _this$commandSuggesti3 === void 0 ? void 0 : _this$commandSuggesti3.childElementCount) !== null && _this$commandSuggesti !== void 0 ? _this$commandSuggesti : 0) > 0;
252
283
  }
253
284
 
254
285
  focus() {
255
- this.commandEditor.focus();
286
+ var _this$commandEditor5;
287
+
288
+ (_this$commandEditor5 = this.commandEditor) === null || _this$commandEditor5 === void 0 ? void 0 : _this$commandEditor5.focus();
256
289
  }
257
290
 
258
291
  focusStart() {
259
- var model = this.commandEditor.getModel();
292
+ var _this$commandEditor6, _this$commandEditor7, _this$commandEditor8, _this$commandEditor9, _this$commandEditor10;
293
+
294
+ var model = (_this$commandEditor6 = this.commandEditor) === null || _this$commandEditor6 === void 0 ? void 0 : _this$commandEditor6.getModel();
295
+ assertNotNull(model);
260
296
  var column = model.getLineLength(1) + 1; // Length of 1st line
261
297
 
262
- var firstCharTop = this.commandEditor.getTopForPosition(1, column);
263
- this.commandEditor.setPosition({
298
+ var firstCharTop = (_this$commandEditor7 = this.commandEditor) === null || _this$commandEditor7 === void 0 ? void 0 : _this$commandEditor7.getTopForPosition(1, column);
299
+ assertNotNull(firstCharTop);
300
+ (_this$commandEditor8 = this.commandEditor) === null || _this$commandEditor8 === void 0 ? void 0 : _this$commandEditor8.setPosition({
264
301
  lineNumber: 1,
265
302
  column
266
303
  });
267
- this.commandEditor.setScrollTop(firstCharTop);
268
- this.commandEditor.focus();
304
+ (_this$commandEditor9 = this.commandEditor) === null || _this$commandEditor9 === void 0 ? void 0 : _this$commandEditor9.setScrollTop(firstCharTop);
305
+ (_this$commandEditor10 = this.commandEditor) === null || _this$commandEditor10 === void 0 ? void 0 : _this$commandEditor10.focus();
269
306
  }
270
307
 
271
308
  focusEnd() {
272
- var model = this.commandEditor.getModel();
309
+ var _this$commandEditor11, _this$commandEditor12, _this$commandEditor13, _this$commandEditor14, _this$commandEditor15;
310
+
311
+ var model = (_this$commandEditor11 = this.commandEditor) === null || _this$commandEditor11 === void 0 ? void 0 : _this$commandEditor11.getModel();
312
+ assertNotNull(model);
273
313
  var lastLine = model.getLineCount();
274
314
  var column = model.getLineLength(lastLine) + 1;
275
- var lastCharTop = this.commandEditor.getTopForPosition(lastLine, column);
276
- this.commandEditor.setPosition({
315
+ var lastCharTop = (_this$commandEditor12 = this.commandEditor) === null || _this$commandEditor12 === void 0 ? void 0 : _this$commandEditor12.getTopForPosition(lastLine, column);
316
+ assertNotNull(lastCharTop);
317
+ (_this$commandEditor13 = this.commandEditor) === null || _this$commandEditor13 === void 0 ? void 0 : _this$commandEditor13.setPosition({
277
318
  lineNumber: lastLine,
278
319
  column
279
320
  });
280
- this.commandEditor.setScrollTop(lastCharTop);
281
- this.commandEditor.focus();
321
+ (_this$commandEditor14 = this.commandEditor) === null || _this$commandEditor14 === void 0 ? void 0 : _this$commandEditor14.setScrollTop(lastCharTop);
322
+ (_this$commandEditor15 = this.commandEditor) === null || _this$commandEditor15 === void 0 ? void 0 : _this$commandEditor15.focus();
282
323
  }
283
324
 
284
325
  clear() {
285
- this.commandEditor.focus();
286
- this.commandEditor.getModel().setValue('');
326
+ var _this$commandEditor16, _this$commandEditor17, _this$commandEditor18;
327
+
328
+ (_this$commandEditor16 = this.commandEditor) === null || _this$commandEditor16 === void 0 ? void 0 : _this$commandEditor16.focus();
329
+ (_this$commandEditor17 = this.commandEditor) === null || _this$commandEditor17 === void 0 ? void 0 : (_this$commandEditor18 = _this$commandEditor17.getModel()) === null || _this$commandEditor18 === void 0 ? void 0 : _this$commandEditor18.setValue('');
287
330
  this.commandHistoryIndex = null;
288
331
  }
289
332
 
@@ -295,19 +338,21 @@ export class ConsoleInput extends PureComponent {
295
338
  /**
296
339
  * Loads the given command from history
297
340
  * If edits have been made to the command since last run command, loads the modified version
298
- * @param {number | null} index The index to load. Null to load command started in the editor and not in the history
341
+ * @param index The index to load. Null to load command started in the editor and not in the history
299
342
  */
300
343
 
301
344
 
302
345
  loadCommand(index) {
303
- if (index !== null && index >= this.history.length) {
346
+ var _this$commandEditor19, _this$commandEditor20;
347
+
348
+ if (index === null || index >= this.history.length) {
304
349
  return;
305
350
  }
306
351
 
307
352
  var modifiedValue = this.modifiedCommands.get(index);
308
353
  var historyValue = index === null ? '' : this.history[this.history.length - index - 1];
309
354
  this.commandHistoryIndex = index;
310
- this.commandEditor.getModel().setValue(modifiedValue !== null && modifiedValue !== void 0 ? modifiedValue : historyValue);
355
+ (_this$commandEditor19 = this.commandEditor) === null || _this$commandEditor19 === void 0 ? void 0 : (_this$commandEditor20 = _this$commandEditor19.getModel()) === null || _this$commandEditor20 === void 0 ? void 0 : _this$commandEditor20.setValue(modifiedValue !== null && modifiedValue !== void 0 ? modifiedValue : historyValue);
311
356
 
312
357
  if (index !== null && index > this.history.length - BUFFER_SIZE) {
313
358
  this.loadMoreHistory();
@@ -328,7 +373,7 @@ export class ConsoleInput extends PureComponent {
328
373
  language,
329
374
  scope
330
375
  } = _this.props;
331
- _this.loadingPromise = PromiseUtils.makeCancelable(commandHistoryStorage.getTable(language, scope, _this.timestamp), resolved => resolved.close());
376
+ _this.loadingPromise = PromiseUtils.makeCancelable(commandHistoryStorage.getTable(language, scope !== null && scope !== void 0 ? scope : '', _this.timestamp), resolved => resolved.close());
332
377
  var table = yield _this.loadingPromise;
333
378
  table.setReversed(true);
334
379
  table.setViewport({
@@ -344,16 +389,16 @@ export class ConsoleInput extends PureComponent {
344
389
  _this.bufferIndex = null;
345
390
  }
346
391
 
347
- _this.history = [...viewportData.items.map(_ref => {
392
+ _this.history = [...(viewportData === null || viewportData === void 0 ? void 0 : viewportData.items.map(_ref2 => {
348
393
  var {
349
394
  name
350
- } = _ref;
395
+ } = _ref2;
351
396
  return name;
352
- }).reverse(), ..._this.history];
353
- _this.loadingPromise = null;
397
+ }).reverse()), ..._this.history];
398
+ _this.loadingPromise = undefined;
354
399
  table.close();
355
400
  } catch (err) {
356
- _this.loadingPromise = null;
401
+ _this.loadingPromise = undefined;
357
402
 
358
403
  if (PromiseUtils.isCanceled(err)) {
359
404
  log.debug2('Promise canceled, not loading history');
@@ -366,11 +411,14 @@ export class ConsoleInput extends PureComponent {
366
411
  }
367
412
 
368
413
  processCommand() {
414
+ var _this$commandEditor21, _this$commandEditor22;
415
+
369
416
  this.commandHistoryIndex = null;
370
417
  this.modifiedCommands.clear();
371
- var command = this.commandEditor.getValue().trim();
418
+ var command = (_this$commandEditor21 = this.commandEditor) === null || _this$commandEditor21 === void 0 ? void 0 : _this$commandEditor21.getValue().trim();
419
+ assertNotNull(command);
372
420
  this.history.push(command);
373
- this.commandEditor.setValue('');
421
+ (_this$commandEditor22 = this.commandEditor) === null || _this$commandEditor22 === void 0 ? void 0 : _this$commandEditor22.setValue('');
374
422
  this.updateDimensions();
375
423
  var {
376
424
  onSubmit
@@ -386,23 +434,21 @@ export class ConsoleInput extends PureComponent {
386
434
  var {
387
435
  maxHeight
388
436
  } = this.props;
437
+ assertNotNull(maxHeight);
389
438
  var contentHeight = this.commandEditor.getContentHeight();
390
439
  var commandEditorHeight = Math.max(Math.min(contentHeight, maxHeight), MIN_INPUT_HEIGHT); // Only show the overview ruler (markings overlapping sroll bar area) if the scrollbar will show
391
440
 
392
441
  var shouldScroll = contentHeight > commandEditorHeight;
393
- var options = this.commandEditor.getOptions();
394
-
395
- if (shouldScroll) {
396
- options.overviewRulerLanes = undefined; // Resets to default
397
- } else {
398
- options.overviewRulerLanes = 0;
399
- }
400
-
442
+ var options = {
443
+ overviewRulerLanes: shouldScroll ? undefined : 0
444
+ };
401
445
  this.setState({
402
446
  commandEditorHeight
403
447
  }, () => {
404
- this.commandEditor.updateOptions(options);
405
- this.commandEditor.layout();
448
+ var _this$commandEditor23, _this$commandEditor24;
449
+
450
+ (_this$commandEditor23 = this.commandEditor) === null || _this$commandEditor23 === void 0 ? void 0 : _this$commandEditor23.updateOptions(options);
451
+ (_this$commandEditor24 = this.commandEditor) === null || _this$commandEditor24 === void 0 ? void 0 : _this$commandEditor24.layout();
406
452
  });
407
453
  }
408
454
 
@@ -440,21 +486,13 @@ export class ConsoleInput extends PureComponent {
440
486
 
441
487
  }
442
488
 
443
- _defineProperty(ConsoleInput, "INPUT_CLASS_NAME", 'console-input');
444
-
445
- ConsoleInput.propTypes = {
446
- session: PropTypes.shape({}).isRequired,
447
- language: PropTypes.string.isRequired,
448
- scope: PropTypes.string,
449
- commandHistoryStorage: StoragePropTypes.CommandHistoryStorage.isRequired,
450
- onSubmit: PropTypes.func.isRequired,
451
- maxHeight: PropTypes.number,
452
- disabled: PropTypes.bool
453
- };
454
- ConsoleInput.defaultProps = {
489
+ _defineProperty(ConsoleInput, "defaultProps", {
455
490
  maxHeight: LINE_HEIGHT * 10,
456
491
  scope: null,
457
492
  disabled: false
458
- };
493
+ });
494
+
495
+ _defineProperty(ConsoleInput, "INPUT_CLASS_NAME", 'console-input');
496
+
459
497
  export default ConsoleInput;
460
498
  //# sourceMappingURL=ConsoleInput.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ConsoleInput.jsx"],"names":["React","PureComponent","PropTypes","classNames","monaco","Log","PromiseUtils","MonacoCompletionProvider","MonacoTheme","MonacoUtils","StoragePropTypes","log","module","LINE_HEIGHT","parseInt","TOP_PADDING","BOTTOM_PADDING","MIN_INPUT_HEIGHT","BUFFER_SIZE","ConsoleInput","constructor","props","handleWindowResize","bind","cancelListener","commandContainer","createRef","commandEditor","commandHistoryIndex","commandSuggestionContainer","loadingPromise","timestamp","Date","now","bufferIndex","history","modifiedCommands","Map","state","commandEditorHeight","isFocused","model","componentDidMount","initCommandEditor","window","addEventListener","loadMoreHistory","componentDidUpdate","layoutEditor","componentWillUnmount","removeEventListener","cancel","destroyCommandEditor","setConsoleText","text","focus","execute","debug","setValue","focusEnd","updateDimensions","processCommand","language","session","commandSettings","copyWithSyntaxHighlighting","cursorStyle","fixedOverflowWidgets","folding","fontFamily","glyphMargin","lineHeight","lineDecorationsWidth","lineNumbers","minimap","enabled","renderLineHighlight","scrollBeyondLastLine","scrollbar","arrowSize","horizontal","horizontalScrollbarSize","padding","top","bottom","tabCompletion","value","wordWrap","editor","create","current","setEOL","openDocument","onDidChangeModelContent","set","getValue","onDidFocusEditorText","setState","onDidBlurEditorText","onKeyDown","keyEvent","lineNumber","getPosition","getModel","keyCode","KeyCode","UpArrow","isSuggestionMenuPopulated","loadCommand","focusStart","stopPropagation","preventDefault","DownArrow","getLineCount","altKey","shiftKey","metaKey","Enter","Tab","isSuggestionMenuActive","trigger","addCommand","KeyMod","CtrlCmd","KEY_F","removeConflictingKeybindings","registerPasteHandler","closeDocument","dispose","getDomNode","querySelector","classList","contains","childElementCount","column","getLineLength","firstCharTop","getTopForPosition","setPosition","setScrollTop","lastLine","lastCharTop","clear","layout","index","length","modifiedValue","get","historyValue","commandHistoryStorage","scope","makeCancelable","getTable","resolved","close","table","setReversed","setViewport","getViewportData","viewportData","size","items","map","name","reverse","err","isCanceled","debug2","error","command","trim","push","onSubmit","maxHeight","contentHeight","getContentHeight","Math","max","min","shouldScroll","options","getOptions","overviewRulerLanes","undefined","updateOptions","render","disabled","INPUT_CLASS_NAME","height","propTypes","shape","isRequired","string","CommandHistoryStorage","func","number","bool","defaultProps"],"mappings":"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","sourcesContent":["import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';\nimport Log from '@deephaven/log';\nimport { PromiseUtils } from '@deephaven/utils';\nimport { MonacoCompletionProvider, MonacoTheme, MonacoUtils } from './monaco';\nimport './ConsoleInput.scss';\nimport StoragePropTypes from './StoragePropTypes';\n\nconst log = Log.module('ConsoleInput');\n\nconst LINE_HEIGHT = parseInt(MonacoTheme['line-height'], 10);\nconst TOP_PADDING = 6;\nconst BOTTOM_PADDING = 6;\nconst MIN_INPUT_HEIGHT = LINE_HEIGHT + TOP_PADDING + BOTTOM_PADDING;\nconst BUFFER_SIZE = 100;\n\n/**\n * Component for input in a console session. Handles loading the recent command history\n */\nexport class ConsoleInput extends PureComponent {\n static INPUT_CLASS_NAME = 'console-input';\n\n constructor(props) {\n super(props);\n\n this.handleWindowResize = this.handleWindowResize.bind(this);\n\n this.cancelListener = null;\n this.commandContainer = React.createRef();\n this.commandEditor = null;\n this.commandHistoryIndex = null;\n this.commandSuggestionContainer = null;\n this.loadingPromise = null;\n this.timestamp = Date.now();\n this.bufferIndex = 0;\n this.history = [];\n // Tracks every command that has been modified by its commandHistoryIndex. Cleared on any command being executed\n this.modifiedCommands = new Map();\n\n this.state = {\n commandEditorHeight: LINE_HEIGHT,\n isFocused: false,\n model: null,\n };\n }\n\n componentDidMount() {\n this.initCommandEditor();\n\n window.addEventListener('resize', this.handleWindowResize);\n\n this.loadMoreHistory();\n }\n\n componentDidUpdate() {\n this.layoutEditor();\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.handleWindowResize);\n\n if (this.loadingPromise != null) {\n this.loadingPromise.cancel();\n }\n\n this.destroyCommandEditor();\n }\n\n /**\n * Sets the console text from an external source.\n * Sets commandHistoryIndex to null since the source is not part of the history\n * @param {string} text The text to set in the input\n * @param {boolean} focus If the input should be focused\n * @param {boolean} execute If the input should be executed\n * @returns void\n */\n setConsoleText(text, focus = true, execute = false) {\n if (!text) {\n return;\n }\n\n log.debug('Command received: ', text);\n\n // Need to set commandHistoryIndex before value\n // On value change, modified commands map updates\n this.commandHistoryIndex = null;\n this.commandEditor.setValue(text);\n\n if (focus) {\n this.focusEnd();\n }\n\n this.updateDimensions();\n\n if (execute) {\n this.processCommand();\n }\n }\n\n initCommandEditor() {\n const { language, session } = this.props;\n const commandSettings = {\n copyWithSyntaxHighlighting: 'false',\n cursorStyle: 'block',\n fixedOverflowWidgets: true,\n folding: false,\n fontFamily: 'Fira Mono',\n glyphMargin: false,\n language,\n lineHeight: LINE_HEIGHT,\n lineDecorationsWidth: 3,\n lineNumbers: 'off',\n minimap: { enabled: false },\n renderLineHighlight: 'none',\n scrollBeyondLastLine: false,\n scrollbar: {\n arrowSize: 0,\n horizontal: 'hidden',\n horizontalScrollbarSize: 0,\n },\n padding: {\n top: TOP_PADDING,\n bottom: BOTTOM_PADDING,\n },\n tabCompletion: 'on',\n value: '',\n wordWrap: 'on',\n };\n\n this.commandEditor = monaco.editor.create(\n this.commandContainer.current,\n commandSettings\n );\n\n MonacoUtils.setEOL(this.commandEditor);\n MonacoUtils.openDocument(this.commandEditor, session);\n\n this.commandEditor.onDidChangeModelContent(() => {\n this.modifiedCommands.set(\n this.commandHistoryIndex,\n this.commandEditor.getValue()\n );\n this.updateDimensions();\n });\n\n this.commandEditor.onDidFocusEditorText(() => {\n this.setState({ isFocused: true });\n });\n\n this.commandEditor.onDidBlurEditorText(() => {\n this.setState({ isFocused: false });\n });\n\n /**\n * Register for keydown events to capture the `Enter` key.\n * Need to do it this way instead of using `addCommand`, because that would eat the Enter key in all situations, which is not what we want.\n * Can't do it in `onDidChangeModelContent` either, since we want to stop the Enter action from modifying the command.\n */\n this.commandEditor.onKeyDown(keyEvent => {\n const { commandEditor, commandHistoryIndex } = this;\n const { lineNumber } = commandEditor.getPosition();\n const model = commandEditor.getModel();\n if (\n keyEvent.keyCode === monaco.KeyCode.UpArrow &&\n !this.isSuggestionMenuPopulated() &&\n lineNumber === 1\n ) {\n if (commandHistoryIndex != null) {\n this.loadCommand(commandHistoryIndex + 1);\n } else {\n this.loadCommand(0);\n }\n\n this.focusStart();\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n\n return;\n }\n\n if (\n keyEvent.keyCode === monaco.KeyCode.DownArrow &&\n !this.isSuggestionMenuPopulated() &&\n lineNumber === model.getLineCount()\n ) {\n if (commandHistoryIndex != null && commandHistoryIndex > 0) {\n this.loadCommand(commandHistoryIndex - 1);\n } else {\n this.loadCommand(null);\n }\n\n this.focusEnd();\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n\n return;\n }\n\n if (!keyEvent.altKey && !keyEvent.shiftKey && !keyEvent.metaKey) {\n if (keyEvent.keyCode === monaco.KeyCode.Enter) {\n if (!this.isSuggestionMenuPopulated()) {\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n\n this.processCommand();\n }\n } else if (keyEvent.keyCode === monaco.KeyCode.Tab) {\n if (!this.isSuggestionMenuActive()) {\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n\n this.commandEditor.trigger(\n 'Tab key trigger suggestions',\n 'editor.action.triggerSuggest',\n {}\n );\n } else if (!this.isSuggestionMenuPopulated()) {\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n }\n }\n }\n });\n\n // Override the Ctrl+F functionality so that the find window doesn't appear\n this.commandEditor.addCommand(\n monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_F, // eslint-disable-line no-bitwise\n () => {}\n );\n\n MonacoUtils.removeConflictingKeybindings(this.commandEditor);\n\n MonacoUtils.registerPasteHandler(this.commandEditor);\n\n this.commandEditor.focus();\n\n this.updateDimensions();\n\n this.setState({ model: this.commandEditor.getModel() });\n }\n\n destroyCommandEditor() {\n const { session } = this.props;\n if (this.commandEditor) {\n MonacoUtils.closeDocument(this.commandEditor, session);\n this.commandEditor.dispose();\n this.commandEditor = null;\n }\n }\n\n handleWindowResize() {\n this.updateDimensions();\n }\n\n isSuggestionMenuActive() {\n if (!this.commandSuggestionContainer) {\n this.commandSuggestionContainer = this.commandEditor\n .getDomNode()\n .querySelector('.suggest-widget');\n }\n\n return (\n this.commandSuggestionContainer &&\n this.commandSuggestionContainer.classList.contains('visible')\n );\n }\n\n isSuggestionMenuPopulated() {\n return (\n this.isSuggestionMenuActive() &&\n this.commandSuggestionContainer.querySelector('.monaco-list-rows')\n .childElementCount > 0\n );\n }\n\n focus() {\n this.commandEditor.focus();\n }\n\n focusStart() {\n const model = this.commandEditor.getModel();\n const column = model.getLineLength(1) + 1; // Length of 1st line\n const firstCharTop = this.commandEditor.getTopForPosition(1, column);\n this.commandEditor.setPosition({ lineNumber: 1, column });\n this.commandEditor.setScrollTop(firstCharTop);\n this.commandEditor.focus();\n }\n\n focusEnd() {\n const model = this.commandEditor.getModel();\n const lastLine = model.getLineCount();\n const column = model.getLineLength(lastLine) + 1;\n const lastCharTop = this.commandEditor.getTopForPosition(lastLine, column);\n this.commandEditor.setPosition({ lineNumber: lastLine, column });\n this.commandEditor.setScrollTop(lastCharTop);\n this.commandEditor.focus();\n }\n\n clear() {\n this.commandEditor.focus();\n this.commandEditor.getModel().setValue('');\n this.commandHistoryIndex = null;\n }\n\n layoutEditor() {\n if (this.commandEditor) {\n this.commandEditor.layout();\n }\n }\n\n /**\n * Loads the given command from history\n * If edits have been made to the command since last run command, loads the modified version\n * @param {number | null} index The index to load. Null to load command started in the editor and not in the history\n */\n loadCommand(index) {\n if (index !== null && index >= this.history.length) {\n return;\n }\n\n const modifiedValue = this.modifiedCommands.get(index);\n const historyValue =\n index === null ? '' : this.history[this.history.length - index - 1];\n\n this.commandHistoryIndex = index;\n this.commandEditor.getModel().setValue(modifiedValue ?? historyValue);\n\n if (index !== null && index > this.history.length - BUFFER_SIZE) {\n this.loadMoreHistory();\n }\n }\n\n async loadMoreHistory() {\n try {\n if (this.loadingPromise != null || this.bufferIndex == null) {\n return;\n }\n\n const { commandHistoryStorage, language, scope } = this.props;\n\n this.loadingPromise = PromiseUtils.makeCancelable(\n commandHistoryStorage.getTable(language, scope, this.timestamp),\n resolved => resolved.close()\n );\n\n const table = await this.loadingPromise;\n table.setReversed(true);\n table.setViewport({\n top: this.bufferIndex,\n bottom: this.bufferIndex + BUFFER_SIZE - 1,\n });\n\n this.loadingPromise = PromiseUtils.makeCancelable(\n table.getViewportData(),\n () => table.close()\n );\n const viewportData = await this.loadingPromise;\n this.bufferIndex += BUFFER_SIZE;\n if (this.bufferIndex >= table.size) {\n // We've loaded the full history, no need to load any more\n this.bufferIndex = null;\n }\n this.history = [\n ...viewportData.items.map(({ name }) => name).reverse(),\n ...this.history,\n ];\n\n this.loadingPromise = null;\n\n table.close();\n } catch (err) {\n this.loadingPromise = null;\n if (PromiseUtils.isCanceled(err)) {\n log.debug2('Promise canceled, not loading history');\n return;\n }\n\n log.error('Error fetching history', err);\n }\n }\n\n processCommand() {\n this.commandHistoryIndex = null;\n this.modifiedCommands.clear();\n\n const command = this.commandEditor.getValue().trim();\n this.history.push(command);\n this.commandEditor.setValue('');\n this.updateDimensions();\n\n const { onSubmit } = this.props;\n onSubmit(command);\n }\n\n updateDimensions() {\n if (!this.commandEditor) {\n return;\n }\n\n const { maxHeight } = this.props;\n const contentHeight = this.commandEditor.getContentHeight();\n const commandEditorHeight = Math.max(\n Math.min(contentHeight, maxHeight),\n MIN_INPUT_HEIGHT\n );\n\n // Only show the overview ruler (markings overlapping sroll bar area) if the scrollbar will show\n const shouldScroll = contentHeight > commandEditorHeight;\n const options = this.commandEditor.getOptions();\n if (shouldScroll) {\n options.overviewRulerLanes = undefined; // Resets to default\n } else {\n options.overviewRulerLanes = 0;\n }\n\n this.setState(\n {\n commandEditorHeight,\n },\n () => {\n this.commandEditor.updateOptions(options);\n this.commandEditor.layout();\n }\n );\n }\n\n render() {\n const { disabled, language, session } = this.props;\n const { commandEditorHeight, isFocused, model } = this.state;\n return (\n <div className={classNames('console-input-wrapper', { disabled })}>\n <div\n className={classNames('console-input-inner-wrapper', {\n focus: isFocused,\n })}\n >\n <div\n className={ConsoleInput.INPUT_CLASS_NAME}\n ref={this.commandContainer}\n style={{ height: commandEditorHeight }}\n />\n {model && (\n <MonacoCompletionProvider\n model={model}\n language={language}\n session={session}\n />\n )}\n </div>\n </div>\n );\n }\n}\n\nConsoleInput.propTypes = {\n session: PropTypes.shape({}).isRequired,\n language: PropTypes.string.isRequired,\n scope: PropTypes.string,\n commandHistoryStorage: StoragePropTypes.CommandHistoryStorage.isRequired,\n onSubmit: PropTypes.func.isRequired,\n maxHeight: PropTypes.number,\n disabled: PropTypes.bool,\n};\n\nConsoleInput.defaultProps = {\n maxHeight: LINE_HEIGHT * 10,\n scope: null,\n disabled: false,\n};\n\nexport default ConsoleInput;\n"],"file":"ConsoleInput.js"}
1
+ {"version":3,"sources":["../src/ConsoleInput.tsx"],"names":["React","PureComponent","classNames","monaco","Log","assertNotNull","PromiseUtils","MonacoCompletionProvider","MonacoTheme","MonacoUtils","log","module","LINE_HEIGHT","parseInt","TOP_PADDING","BOTTOM_PADDING","MIN_INPUT_HEIGHT","BUFFER_SIZE","ConsoleInput","constructor","props","handleWindowResize","bind","commandContainer","createRef","commandHistoryIndex","timestamp","Date","now","bufferIndex","history","modifiedCommands","Map","state","commandEditorHeight","isFocused","model","componentDidMount","initCommandEditor","window","addEventListener","loadMoreHistory","componentDidUpdate","layoutEditor","componentWillUnmount","removeEventListener","loadingPromise","cancel","destroyCommandEditor","setConsoleText","text","focus","execute","debug","commandEditor","setValue","focusEnd","updateDimensions","processCommand","language","session","commandSettings","copyWithSyntaxHighlighting","cursorStyle","fixedOverflowWidgets","folding","fontFamily","glyphMargin","lineHeight","lineDecorationsWidth","lineNumbers","minimap","enabled","renderLineHighlight","scrollBeyondLastLine","scrollbar","arrowSize","horizontal","horizontalScrollbarSize","padding","top","bottom","tabCompletion","value","wordWrap","element","current","editor","create","setEOL","openDocument","onDidChangeModelContent","getValue","set","onDidFocusEditorText","setState","onDidBlurEditorText","onKeyDown","keyEvent","position","getPosition","lineNumber","getModel","keyCode","KeyCode","UpArrow","isSuggestionMenuPopulated","loadCommand","focusStart","stopPropagation","preventDefault","DownArrow","getLineCount","altKey","shiftKey","metaKey","Enter","Tab","isSuggestionMenuActive","trigger","addCommand","KeyMod","CtrlCmd","KEY_F","undefined","removeConflictingKeybindings","registerPasteHandler","closeDocument","dispose","commandSuggestionContainer","getDomNode","querySelector","classList","contains","childElementCount","column","getLineLength","firstCharTop","getTopForPosition","setPosition","setScrollTop","lastLine","lastCharTop","clear","layout","index","length","modifiedValue","get","historyValue","commandHistoryStorage","scope","makeCancelable","getTable","resolved","close","table","setReversed","setViewport","getViewportData","viewportData","size","items","map","name","reverse","err","isCanceled","debug2","error","command","trim","push","onSubmit","maxHeight","contentHeight","getContentHeight","Math","max","min","shouldScroll","options","overviewRulerLanes","updateOptions","render","disabled","INPUT_CLASS_NAME","height"],"mappings":"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","sourcesContent":["import React, { PureComponent, ReactElement, RefObject } from 'react';\nimport classNames from 'classnames';\nimport * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';\nimport Log from '@deephaven/log';\nimport {\n assertNotNull,\n CancelablePromise,\n PromiseUtils,\n} from '@deephaven/utils';\nimport { ViewportData } from '@deephaven/storage';\nimport { IdeSession } from '@deephaven/jsapi-shim';\nimport {\n CommandHistoryStorage,\n CommandHistoryStorageItem,\n CommandHistoryTable,\n} from './command-history';\nimport { MonacoCompletionProvider, MonacoTheme, MonacoUtils } from './monaco';\nimport './ConsoleInput.scss';\n\nconst log = Log.module('ConsoleInput');\n\nconst LINE_HEIGHT = parseInt(MonacoTheme['line-height'], 10);\nconst TOP_PADDING = 6;\nconst BOTTOM_PADDING = 6;\nconst MIN_INPUT_HEIGHT = LINE_HEIGHT + TOP_PADDING + BOTTOM_PADDING;\nconst BUFFER_SIZE = 100;\n\ninterface ConsoleInputProps {\n session: IdeSession;\n language: string;\n scope?: string;\n commandHistoryStorage: CommandHistoryStorage;\n onSubmit: (command: string) => void;\n maxHeight?: number;\n disabled?: boolean;\n}\n\ninterface ConsoleInputState {\n commandEditorHeight: number;\n isFocused: boolean;\n model: monaco.editor.ITextModel | null;\n}\n\n/**\n * Component for input in a console session. Handles loading the recent command history\n */\nexport class ConsoleInput extends PureComponent<\n ConsoleInputProps,\n ConsoleInputState\n> {\n static defaultProps = {\n maxHeight: LINE_HEIGHT * 10,\n scope: null,\n disabled: false,\n };\n\n static INPUT_CLASS_NAME = 'console-input';\n\n constructor(props: ConsoleInputProps) {\n super(props);\n\n this.handleWindowResize = this.handleWindowResize.bind(this);\n\n this.commandContainer = React.createRef();\n this.commandHistoryIndex = null;\n this.timestamp = Date.now();\n this.bufferIndex = 0;\n this.history = [];\n // Tracks every command that has been modified by its commandHistoryIndex. Cleared on any command being executed\n this.modifiedCommands = new Map();\n\n this.state = {\n commandEditorHeight: LINE_HEIGHT,\n isFocused: false,\n model: null,\n };\n }\n\n componentDidMount(): void {\n this.initCommandEditor();\n\n window.addEventListener('resize', this.handleWindowResize);\n\n this.loadMoreHistory();\n }\n\n componentDidUpdate(): void {\n this.layoutEditor();\n }\n\n componentWillUnmount(): void {\n window.removeEventListener('resize', this.handleWindowResize);\n\n if (this.loadingPromise != null) {\n this.loadingPromise.cancel();\n }\n\n this.destroyCommandEditor();\n }\n\n cancelListener?: () => void;\n\n commandContainer: RefObject<HTMLDivElement>;\n\n commandEditor?: monaco.editor.IStandaloneCodeEditor;\n\n commandHistoryIndex: number | null;\n\n commandSuggestionContainer?: Element | null;\n\n loadingPromise?:\n | CancelablePromise<ViewportData<CommandHistoryStorageItem>>\n | CancelablePromise<CommandHistoryTable>;\n\n timestamp: number;\n\n bufferIndex: number | null;\n\n history: string[];\n\n // Tracks every command that has been modified by its commandHistoryIndex. Cleared on any command being executed\n modifiedCommands: Map<number | null, string | null>;\n\n /**\n * Sets the console text from an external source.\n * Sets commandHistoryIndex to null since the source is not part of the history\n * @param text The text to set in the input\n * @param focus If the input should be focused\n * @param execute If the input should be executed\n * @returns void\n */\n setConsoleText(text: string, focus = true, execute = false): void {\n if (!text) {\n return;\n }\n\n log.debug('Command received: ', text);\n\n // Need to set commandHistoryIndex before value\n // On value change, modified commands map updates\n this.commandHistoryIndex = null;\n this.commandEditor?.setValue(text);\n\n if (focus) {\n this.focusEnd();\n }\n\n this.updateDimensions();\n\n if (execute) {\n this.processCommand();\n }\n }\n\n initCommandEditor(): void {\n const { language, session } = this.props;\n const commandSettings = {\n copyWithSyntaxHighlighting: false,\n cursorStyle: 'block',\n fixedOverflowWidgets: true,\n folding: false,\n fontFamily: 'Fira Mono',\n glyphMargin: false,\n language,\n lineHeight: LINE_HEIGHT,\n lineDecorationsWidth: 3,\n lineNumbers: 'off',\n minimap: { enabled: false },\n renderLineHighlight: 'none',\n scrollBeyondLastLine: false,\n scrollbar: {\n arrowSize: 0,\n horizontal: 'hidden',\n horizontalScrollbarSize: 0,\n },\n padding: {\n top: TOP_PADDING,\n bottom: BOTTOM_PADDING,\n },\n tabCompletion: 'on',\n value: '',\n wordWrap: 'on',\n } as const;\n\n const element = this.commandContainer.current;\n assertNotNull(element);\n this.commandEditor = monaco.editor.create(element, commandSettings);\n\n MonacoUtils.setEOL(this.commandEditor);\n MonacoUtils.openDocument(this.commandEditor, session);\n\n this.commandEditor.onDidChangeModelContent(() => {\n const value = this.commandEditor?.getValue();\n this.modifiedCommands.set(this.commandHistoryIndex, value ?? null);\n this.updateDimensions();\n });\n\n this.commandEditor.onDidFocusEditorText(() => {\n this.setState({ isFocused: true });\n });\n\n this.commandEditor.onDidBlurEditorText(() => {\n this.setState({ isFocused: false });\n });\n\n /**\n * Register for keydown events to capture the `Enter` key.\n * Need to do it this way instead of using `addCommand`, because that would eat the Enter key in all situations, which is not what we want.\n * Can't do it in `onDidChangeModelContent` either, since we want to stop the Enter action from modifying the command.\n */\n this.commandEditor.onKeyDown(keyEvent => {\n const { commandEditor, commandHistoryIndex } = this;\n const position = commandEditor?.getPosition();\n assertNotNull(position);\n const { lineNumber } = position;\n const model = commandEditor?.getModel();\n if (\n keyEvent.keyCode === monaco.KeyCode.UpArrow &&\n !this.isSuggestionMenuPopulated() &&\n lineNumber === 1\n ) {\n if (commandHistoryIndex != null) {\n this.loadCommand(commandHistoryIndex + 1);\n } else {\n this.loadCommand(0);\n }\n\n this.focusStart();\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n\n return;\n }\n\n if (\n keyEvent.keyCode === monaco.KeyCode.DownArrow &&\n !this.isSuggestionMenuPopulated() &&\n lineNumber === model?.getLineCount()\n ) {\n if (commandHistoryIndex != null && commandHistoryIndex > 0) {\n this.loadCommand(commandHistoryIndex - 1);\n } else {\n this.loadCommand(null);\n }\n\n this.focusEnd();\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n\n return;\n }\n\n if (!keyEvent.altKey && !keyEvent.shiftKey && !keyEvent.metaKey) {\n if (keyEvent.keyCode === monaco.KeyCode.Enter) {\n if (!this.isSuggestionMenuPopulated()) {\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n\n this.processCommand();\n }\n } else if (keyEvent.keyCode === monaco.KeyCode.Tab) {\n if (!this.isSuggestionMenuActive()) {\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n\n this.commandEditor?.trigger(\n 'Tab key trigger suggestions',\n 'editor.action.triggerSuggest',\n {}\n );\n } else if (!this.isSuggestionMenuPopulated()) {\n keyEvent.stopPropagation();\n keyEvent.preventDefault();\n }\n }\n }\n });\n\n // Override the Ctrl+F functionality so that the find window doesn't appear\n this.commandEditor.addCommand(\n monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_F, // eslint-disable-line no-bitwise\n () => undefined\n );\n\n MonacoUtils.removeConflictingKeybindings(this.commandEditor);\n\n MonacoUtils.registerPasteHandler(this.commandEditor);\n\n this.commandEditor.focus();\n\n this.updateDimensions();\n\n this.setState({ model: this.commandEditor.getModel() });\n }\n\n destroyCommandEditor(): void {\n const { session } = this.props;\n if (this.commandEditor) {\n MonacoUtils.closeDocument(this.commandEditor, session);\n this.commandEditor.dispose();\n this.commandEditor = undefined;\n }\n }\n\n handleWindowResize(): void {\n this.updateDimensions();\n }\n\n isSuggestionMenuActive(): boolean {\n if (!this.commandSuggestionContainer) {\n this.commandSuggestionContainer = this.commandEditor\n ?.getDomNode()\n ?.querySelector('.suggest-widget');\n }\n\n return (\n (this.commandSuggestionContainer &&\n this.commandSuggestionContainer.classList.contains('visible')) ??\n false\n );\n }\n\n isSuggestionMenuPopulated(): boolean {\n return (\n this.isSuggestionMenuActive() &&\n (this.commandSuggestionContainer?.querySelector('.monaco-list-rows')\n ?.childElementCount ?? 0) > 0\n );\n }\n\n focus(): void {\n this.commandEditor?.focus();\n }\n\n focusStart(): void {\n const model = this.commandEditor?.getModel();\n assertNotNull(model);\n const column = model.getLineLength(1) + 1; // Length of 1st line\n const firstCharTop = this.commandEditor?.getTopForPosition(1, column);\n assertNotNull(firstCharTop);\n this.commandEditor?.setPosition({ lineNumber: 1, column });\n this.commandEditor?.setScrollTop(firstCharTop);\n this.commandEditor?.focus();\n }\n\n focusEnd(): void {\n const model = this.commandEditor?.getModel();\n assertNotNull(model);\n const lastLine = model.getLineCount();\n const column = model.getLineLength(lastLine) + 1;\n const lastCharTop = this.commandEditor?.getTopForPosition(lastLine, column);\n assertNotNull(lastCharTop);\n this.commandEditor?.setPosition({ lineNumber: lastLine, column });\n this.commandEditor?.setScrollTop(lastCharTop);\n this.commandEditor?.focus();\n }\n\n clear(): void {\n this.commandEditor?.focus();\n this.commandEditor?.getModel()?.setValue('');\n this.commandHistoryIndex = null;\n }\n\n layoutEditor(): void {\n if (this.commandEditor) {\n this.commandEditor.layout();\n }\n }\n\n /**\n * Loads the given command from history\n * If edits have been made to the command since last run command, loads the modified version\n * @param index The index to load. Null to load command started in the editor and not in the history\n */\n loadCommand(index: number | null): void {\n if (index === null || index >= this.history.length) {\n return;\n }\n\n const modifiedValue = this.modifiedCommands.get(index);\n const historyValue =\n index === null ? '' : this.history[this.history.length - index - 1];\n\n this.commandHistoryIndex = index;\n this.commandEditor?.getModel()?.setValue(modifiedValue ?? historyValue);\n\n if (index !== null && index > this.history.length - BUFFER_SIZE) {\n this.loadMoreHistory();\n }\n }\n\n async loadMoreHistory(): Promise<void> {\n try {\n if (this.loadingPromise != null || this.bufferIndex == null) {\n return;\n }\n\n const { commandHistoryStorage, language, scope } = this.props;\n\n this.loadingPromise = PromiseUtils.makeCancelable(\n commandHistoryStorage.getTable(language, scope ?? '', this.timestamp),\n resolved => resolved.close()\n );\n\n const table = await this.loadingPromise;\n table.setReversed(true);\n table.setViewport({\n top: this.bufferIndex,\n bottom: this.bufferIndex + BUFFER_SIZE - 1,\n });\n\n this.loadingPromise = PromiseUtils.makeCancelable(\n table.getViewportData(),\n () => table.close()\n );\n const viewportData = await this.loadingPromise;\n this.bufferIndex += BUFFER_SIZE;\n if (this.bufferIndex >= table.size) {\n // We've loaded the full history, no need to load any more\n this.bufferIndex = null;\n }\n this.history = [\n ...viewportData?.items.map(({ name }) => name).reverse(),\n ...this.history,\n ];\n\n this.loadingPromise = undefined;\n\n table.close();\n } catch (err) {\n this.loadingPromise = undefined;\n if (PromiseUtils.isCanceled(err)) {\n log.debug2('Promise canceled, not loading history');\n return;\n }\n\n log.error('Error fetching history', err);\n }\n }\n\n processCommand(): void {\n this.commandHistoryIndex = null;\n this.modifiedCommands.clear();\n\n const command = this.commandEditor?.getValue().trim();\n assertNotNull(command);\n this.history.push(command);\n this.commandEditor?.setValue('');\n this.updateDimensions();\n\n const { onSubmit } = this.props;\n onSubmit(command);\n }\n\n updateDimensions(): void {\n if (!this.commandEditor) {\n return;\n }\n\n const { maxHeight } = this.props;\n assertNotNull(maxHeight);\n const contentHeight = this.commandEditor.getContentHeight();\n const commandEditorHeight = Math.max(\n Math.min(contentHeight, maxHeight),\n MIN_INPUT_HEIGHT\n );\n\n // Only show the overview ruler (markings overlapping sroll bar area) if the scrollbar will show\n const shouldScroll = contentHeight > commandEditorHeight;\n\n const options = { overviewRulerLanes: shouldScroll ? undefined : 0 };\n\n this.setState(\n {\n commandEditorHeight,\n },\n () => {\n this.commandEditor?.updateOptions(options);\n this.commandEditor?.layout();\n }\n );\n }\n\n render(): ReactElement {\n const { disabled, language, session } = this.props;\n const { commandEditorHeight, isFocused, model } = this.state;\n return (\n <div className={classNames('console-input-wrapper', { disabled })}>\n <div\n className={classNames('console-input-inner-wrapper', {\n focus: isFocused,\n })}\n >\n <div\n className={ConsoleInput.INPUT_CLASS_NAME}\n ref={this.commandContainer}\n style={{ height: commandEditorHeight }}\n />\n {model && (\n <MonacoCompletionProvider\n model={model}\n language={language}\n session={session}\n />\n )}\n </div>\n </div>\n );\n }\n}\n\nexport default ConsoleInput;\n"],"file":"ConsoleInput.js"}
@@ -1,28 +1,30 @@
1
- export default ConsoleMenu;
2
- declare class ConsoleMenu extends React.PureComponent<any, any, any> {
3
- static makeItemActions(objects: any, filterText: any, refCallback: any, changeCallback: any, openCallback: any): any[];
4
- constructor(props: any);
5
- handleTableFilterChange(e: any): void;
1
+ import { ChangeEvent, ChangeEventHandler, PureComponent, ReactElement } from 'react';
2
+ import { DropdownAction, SearchInput } from '@deephaven/components';
3
+ import { VariableDefinition } from '@deephaven/jsapi-shim';
4
+ import './ConsoleMenu.scss';
5
+ interface ConsoleMenuProps {
6
+ openObject: (object: VariableDefinition) => void;
7
+ objects: VariableDefinition[];
8
+ overflowActions: DropdownAction[];
9
+ }
10
+ interface ConsoleMenuState {
11
+ tableFilterText: string;
12
+ widgetFilterText: string;
13
+ }
14
+ declare class ConsoleMenu extends PureComponent<ConsoleMenuProps, ConsoleMenuState> {
15
+ static makeItemActions(objects: VariableDefinition[], filterText: string, refCallback: (ref: SearchInput) => void, changeCallback: ChangeEventHandler<HTMLInputElement>, openCallback: (object: VariableDefinition) => void): DropdownAction[];
16
+ constructor(props: ConsoleMenuProps);
17
+ tableSearchField?: SearchInput;
18
+ widgetSearchField?: SearchInput;
19
+ makeTableActions: (objects: VariableDefinition[], filterText: string, openObject: (object: VariableDefinition) => void) => DropdownAction[];
20
+ makeWidgetActions: (objects: VariableDefinition[], filterText: string, openObject: (object: VariableDefinition) => void) => DropdownAction[];
21
+ handleTableFilterChange(e: ChangeEvent<HTMLInputElement>): void;
6
22
  handleTableMenuClosed(): void;
7
23
  handleTableMenuOpened(): void;
8
- handleWidgetFilterChange(e: any): void;
24
+ handleWidgetFilterChange(e: ChangeEvent<HTMLInputElement>): void;
9
25
  handleWidgetMenuClosed(): void;
10
26
  handleWidgetMenuOpened(): void;
11
- tableSearchField: any;
12
- widgetSearchField: any;
13
- makeTableActions: (this: any, objects: any, filterText: any, openObject: any) => any[];
14
- makeWidgetActions: (this: any, objects: any, filterText: any, openObject: any) => any[];
27
+ render(): ReactElement;
15
28
  }
16
- declare namespace ConsoleMenu {
17
- namespace propTypes {
18
- const openObject: PropTypes.Validator<(...args: any[]) => any>;
19
- const objects: PropTypes.Validator<(PropTypes.InferProps<{
20
- name: PropTypes.Validator<string>;
21
- type: PropTypes.Validator<string>;
22
- }> | null | undefined)[]>;
23
- const overflowActions: PropTypes.Validator<((...args: any[]) => any) | (PropTypes.InferProps<{}> | null | undefined)[]>;
24
- }
25
- }
26
- import React from "react";
27
- import PropTypes from "prop-types";
29
+ export default ConsoleMenu;
28
30
  //# sourceMappingURL=ConsoleMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleMenu.d.ts","sourceRoot":"","sources":["../src/ConsoleMenu.jsx"],"names":[],"mappings":";AAkBA;IACE,uHAmCC;IAED,wBAiBC;IAgCD,sCAGC;IAED,8BAEC;IAED,8BAIC;IAED,uCAGC;IAED,+BAEC;IAED,+BAIC;IAnEC,sBAA4B;IAC5B,uBAA6B;IAQ/B,uFAaG;IAEH,wFAaG;CA6GJ"}
1
+ {"version":3,"file":"ConsoleMenu.d.ts","sourceRoot":"","sources":["../src/ConsoleMenu.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,YAAY,EACb,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,cAAc,EAGd,WAAW,EAEZ,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,oBAAoB,CAAC;AAK5B,UAAU,gBAAgB;IACxB,UAAU,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACjD,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC;AAED,UAAU,gBAAgB;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,cAAM,WAAY,SAAQ,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACzE,MAAM,CAAC,eAAe,CACpB,OAAO,EAAE,kBAAkB,EAAE,EAC7B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,EACvC,cAAc,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,EACpD,YAAY,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,GACjD,cAAc,EAAE;gBAiCP,KAAK,EAAE,gBAAgB;IAgBnC,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAE/B,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAEhC,gBAAgB,YAEH,kBAAkB,EAAE,cACjB,MAAM,uBACG,kBAAkB,KAAK,IAAI,KAC/C,cAAc,EAAE,CAcnB;IAEF,iBAAiB,YAEJ,kBAAkB,EAAE,cACjB,MAAM,uBACG,kBAAkB,KAAK,IAAI,KAC/C,cAAc,EAAE,CAcnB;IAEF,uBAAuB,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAK/D,qBAAqB,IAAI,IAAI;IAI7B,qBAAqB,IAAI,IAAI;IAM7B,wBAAwB,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAKhE,sBAAsB,IAAI,IAAI;IAI9B,sBAAsB,IAAI,IAAI;IAM9B,MAAM,IAAI,YAAY;CA6EvB;AAED,eAAe,WAAW,CAAC"}