@deephaven/console 0.22.2-autocomplete.3 → 0.22.2-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ConsoleInput.d.ts +1 -1
- package/dist/ConsoleInput.d.ts.map +1 -1
- package/dist/ConsoleInput.js +45 -36
- package/dist/ConsoleInput.js.map +1 -1
- package/package.json +11 -11
package/dist/ConsoleInput.d.ts
CHANGED
|
@@ -69,7 +69,7 @@ export declare class ConsoleInput extends PureComponent<ConsoleInputProps, Conso
|
|
|
69
69
|
*/
|
|
70
70
|
loadCommand(index: number | null): void;
|
|
71
71
|
loadMoreHistory(): Promise<void>;
|
|
72
|
-
processCommand(): void;
|
|
72
|
+
processCommand(command: string): void;
|
|
73
73
|
updateDimensions(): void;
|
|
74
74
|
render(): ReactElement;
|
|
75
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsoleInput.d.ts","sourceRoot":"","sources":["../src/ConsoleInput.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAEL,iBAAiB,EAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,qBAAqB,CAAC;AAU7B,UAAU,iBAAiB;IACzB,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,iBAAiB;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;CACxC;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,aAAa,CAC7C,iBAAiB,EACjB,iBAAiB,CAClB;IACC,MAAM,CAAC,YAAY;;;;MAIjB;IAEF,MAAM,CAAC,gBAAgB,SAAmB;gBAE9B,KAAK,EAAE,iBAAiB;IAoBpC,iBAAiB,IAAI,IAAI;IAQzB,kBAAkB,IAAI,IAAI;IAI1B,oBAAoB,IAAI,IAAI;IAU5B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAE5B,gBAAgB,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAE5C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC;IAEpD,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC,0BAA0B,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE5C,cAAc,CAAC,EACX,iBAAiB,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC,GAC1D,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IAE3C,SAAS,EAAE,MAAM,CAAC;IAElB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAGlB,gBAAgB,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAEpD;;;;;;;OAOG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,UAAO,EAAE,OAAO,UAAQ,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ConsoleInput.d.ts","sourceRoot":"","sources":["../src/ConsoleInput.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAEL,iBAAiB,EAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,qBAAqB,CAAC;AAU7B,UAAU,iBAAiB;IACzB,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,iBAAiB;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;CACxC;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,aAAa,CAC7C,iBAAiB,EACjB,iBAAiB,CAClB;IACC,MAAM,CAAC,YAAY;;;;MAIjB;IAEF,MAAM,CAAC,gBAAgB,SAAmB;gBAE9B,KAAK,EAAE,iBAAiB;IAoBpC,iBAAiB,IAAI,IAAI;IAQzB,kBAAkB,IAAI,IAAI;IAI1B,oBAAoB,IAAI,IAAI;IAU5B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAE5B,gBAAgB,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAE5C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC;IAEpD,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC,0BAA0B,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE5C,cAAc,CAAC,EACX,iBAAiB,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC,GAC1D,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IAE3C,SAAS,EAAE,MAAM,CAAC;IAElB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAGlB,gBAAgB,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAEpD;;;;;;;OAOG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,UAAO,EAAE,OAAO,UAAQ,GAAG,IAAI;IA0BjE,iBAAiB,IAAI,IAAI;IAiJzB,oBAAoB,IAAI,IAAI;IAS5B,kBAAkB,IAAI,IAAI;IAI1B,sBAAsB,IAAI,OAAO;IAcjC,yBAAyB,IAAI,OAAO;IAQpC,KAAK,IAAI,IAAI;IAIb,UAAU,IAAI,IAAI;IAWlB,QAAQ,IAAI,IAAI;IAYhB,KAAK,IAAI,IAAI;IAMb,YAAY,IAAI,IAAI;IAMpB;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAiBjC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAsDtC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAkBrC,gBAAgB,IAAI,IAAI;IA6BxB,MAAM,IAAI,YAAY;CA0BvB;AAED,eAAe,YAAY,CAAC"}
|
package/dist/ConsoleInput.js
CHANGED
|
@@ -89,8 +89,6 @@ export class ConsoleInput extends PureComponent {
|
|
|
89
89
|
* @returns void
|
|
90
90
|
*/
|
|
91
91
|
setConsoleText(text) {
|
|
92
|
-
var _this$commandEditor;
|
|
93
|
-
|
|
94
92
|
var focus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
95
93
|
var execute = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
96
94
|
|
|
@@ -98,11 +96,16 @@ export class ConsoleInput extends PureComponent {
|
|
|
98
96
|
return;
|
|
99
97
|
}
|
|
100
98
|
|
|
101
|
-
log.debug('Command received: ', text); //
|
|
102
|
-
// On value change, modified commands map updates
|
|
99
|
+
log.debug('Command received: ', text); // Only set the console text if we're not running this command
|
|
103
100
|
|
|
104
|
-
|
|
105
|
-
|
|
101
|
+
if (!execute) {
|
|
102
|
+
var _this$commandEditor;
|
|
103
|
+
|
|
104
|
+
// Need to set commandHistoryIndex before value
|
|
105
|
+
// On value change, modified commands map updates
|
|
106
|
+
this.commandHistoryIndex = null;
|
|
107
|
+
(_this$commandEditor = this.commandEditor) === null || _this$commandEditor === void 0 ? void 0 : _this$commandEditor.setValue(text);
|
|
108
|
+
}
|
|
106
109
|
|
|
107
110
|
if (focus) {
|
|
108
111
|
this.focusEnd();
|
|
@@ -111,7 +114,7 @@ export class ConsoleInput extends PureComponent {
|
|
|
111
114
|
this.updateDimensions();
|
|
112
115
|
|
|
113
116
|
if (execute) {
|
|
114
|
-
this.processCommand();
|
|
117
|
+
this.processCommand(text);
|
|
115
118
|
}
|
|
116
119
|
}
|
|
117
120
|
|
|
@@ -218,17 +221,27 @@ export class ConsoleInput extends PureComponent {
|
|
|
218
221
|
if (!keyEvent.altKey && !keyEvent.shiftKey && !keyEvent.metaKey) {
|
|
219
222
|
if (keyEvent.keyCode === monaco.KeyCode.Enter) {
|
|
220
223
|
if (!this.isSuggestionMenuPopulated()) {
|
|
224
|
+
var _this$commandEditor3;
|
|
225
|
+
|
|
221
226
|
keyEvent.stopPropagation();
|
|
222
227
|
keyEvent.preventDefault();
|
|
223
|
-
|
|
228
|
+
|
|
229
|
+
var _command = (_this$commandEditor3 = this.commandEditor) === null || _this$commandEditor3 === void 0 ? void 0 : _this$commandEditor3.getValue().trim();
|
|
230
|
+
|
|
231
|
+
if (_command !== undefined) {
|
|
232
|
+
var _this$commandEditor4;
|
|
233
|
+
|
|
234
|
+
this.processCommand(_command);
|
|
235
|
+
(_this$commandEditor4 = this.commandEditor) === null || _this$commandEditor4 === void 0 ? void 0 : _this$commandEditor4.setValue('');
|
|
236
|
+
}
|
|
224
237
|
}
|
|
225
238
|
} else if (keyEvent.keyCode === monaco.KeyCode.Tab) {
|
|
226
239
|
if (!this.isSuggestionMenuActive()) {
|
|
227
|
-
var _this$
|
|
240
|
+
var _this$commandEditor5;
|
|
228
241
|
|
|
229
242
|
keyEvent.stopPropagation();
|
|
230
243
|
keyEvent.preventDefault();
|
|
231
|
-
(_this$
|
|
244
|
+
(_this$commandEditor5 = this.commandEditor) === null || _this$commandEditor5 === void 0 ? void 0 : _this$commandEditor5.trigger('Tab key trigger suggestions', 'editor.action.triggerSuggest', {});
|
|
232
245
|
} else if (!this.isSuggestionMenuPopulated()) {
|
|
233
246
|
keyEvent.stopPropagation();
|
|
234
247
|
keyEvent.preventDefault();
|
|
@@ -268,9 +281,9 @@ export class ConsoleInput extends PureComponent {
|
|
|
268
281
|
var _ref;
|
|
269
282
|
|
|
270
283
|
if (!this.commandSuggestionContainer) {
|
|
271
|
-
var _this$
|
|
284
|
+
var _this$commandEditor6, _this$commandEditor6$;
|
|
272
285
|
|
|
273
|
-
this.commandSuggestionContainer = (_this$
|
|
286
|
+
this.commandSuggestionContainer = (_this$commandEditor6 = this.commandEditor) === null || _this$commandEditor6 === void 0 ? void 0 : (_this$commandEditor6$ = _this$commandEditor6.getDomNode()) === null || _this$commandEditor6$ === void 0 ? void 0 : _this$commandEditor6$.querySelector('.suggest-widget');
|
|
274
287
|
}
|
|
275
288
|
|
|
276
289
|
return (_ref = this.commandSuggestionContainer && this.commandSuggestionContainer.classList.contains('visible')) !== null && _ref !== void 0 ? _ref : false;
|
|
@@ -283,50 +296,50 @@ export class ConsoleInput extends PureComponent {
|
|
|
283
296
|
}
|
|
284
297
|
|
|
285
298
|
focus() {
|
|
286
|
-
var _this$
|
|
299
|
+
var _this$commandEditor7;
|
|
287
300
|
|
|
288
|
-
(_this$
|
|
301
|
+
(_this$commandEditor7 = this.commandEditor) === null || _this$commandEditor7 === void 0 ? void 0 : _this$commandEditor7.focus();
|
|
289
302
|
}
|
|
290
303
|
|
|
291
304
|
focusStart() {
|
|
292
|
-
var _this$
|
|
305
|
+
var _this$commandEditor8, _this$commandEditor9, _this$commandEditor10, _this$commandEditor11, _this$commandEditor12;
|
|
293
306
|
|
|
294
|
-
var model = (_this$
|
|
307
|
+
var model = (_this$commandEditor8 = this.commandEditor) === null || _this$commandEditor8 === void 0 ? void 0 : _this$commandEditor8.getModel();
|
|
295
308
|
assertNotNull(model);
|
|
296
309
|
var column = model.getLineLength(1) + 1; // Length of 1st line
|
|
297
310
|
|
|
298
|
-
var firstCharTop = (_this$
|
|
311
|
+
var firstCharTop = (_this$commandEditor9 = this.commandEditor) === null || _this$commandEditor9 === void 0 ? void 0 : _this$commandEditor9.getTopForPosition(1, column);
|
|
299
312
|
assertNotNull(firstCharTop);
|
|
300
|
-
(_this$
|
|
313
|
+
(_this$commandEditor10 = this.commandEditor) === null || _this$commandEditor10 === void 0 ? void 0 : _this$commandEditor10.setPosition({
|
|
301
314
|
lineNumber: 1,
|
|
302
315
|
column
|
|
303
316
|
});
|
|
304
|
-
(_this$
|
|
305
|
-
(_this$
|
|
317
|
+
(_this$commandEditor11 = this.commandEditor) === null || _this$commandEditor11 === void 0 ? void 0 : _this$commandEditor11.setScrollTop(firstCharTop);
|
|
318
|
+
(_this$commandEditor12 = this.commandEditor) === null || _this$commandEditor12 === void 0 ? void 0 : _this$commandEditor12.focus();
|
|
306
319
|
}
|
|
307
320
|
|
|
308
321
|
focusEnd() {
|
|
309
|
-
var _this$
|
|
322
|
+
var _this$commandEditor13, _this$commandEditor14, _this$commandEditor15, _this$commandEditor16, _this$commandEditor17;
|
|
310
323
|
|
|
311
|
-
var model = (_this$
|
|
324
|
+
var model = (_this$commandEditor13 = this.commandEditor) === null || _this$commandEditor13 === void 0 ? void 0 : _this$commandEditor13.getModel();
|
|
312
325
|
assertNotNull(model);
|
|
313
326
|
var lastLine = model.getLineCount();
|
|
314
327
|
var column = model.getLineLength(lastLine) + 1;
|
|
315
|
-
var lastCharTop = (_this$
|
|
328
|
+
var lastCharTop = (_this$commandEditor14 = this.commandEditor) === null || _this$commandEditor14 === void 0 ? void 0 : _this$commandEditor14.getTopForPosition(lastLine, column);
|
|
316
329
|
assertNotNull(lastCharTop);
|
|
317
|
-
(_this$
|
|
330
|
+
(_this$commandEditor15 = this.commandEditor) === null || _this$commandEditor15 === void 0 ? void 0 : _this$commandEditor15.setPosition({
|
|
318
331
|
lineNumber: lastLine,
|
|
319
332
|
column
|
|
320
333
|
});
|
|
321
|
-
(_this$
|
|
322
|
-
(_this$
|
|
334
|
+
(_this$commandEditor16 = this.commandEditor) === null || _this$commandEditor16 === void 0 ? void 0 : _this$commandEditor16.setScrollTop(lastCharTop);
|
|
335
|
+
(_this$commandEditor17 = this.commandEditor) === null || _this$commandEditor17 === void 0 ? void 0 : _this$commandEditor17.focus();
|
|
323
336
|
}
|
|
324
337
|
|
|
325
338
|
clear() {
|
|
326
|
-
var _this$
|
|
339
|
+
var _this$commandEditor18, _this$commandEditor19, _this$commandEditor20;
|
|
327
340
|
|
|
328
|
-
(_this$
|
|
329
|
-
(_this$
|
|
341
|
+
(_this$commandEditor18 = this.commandEditor) === null || _this$commandEditor18 === void 0 ? void 0 : _this$commandEditor18.focus();
|
|
342
|
+
(_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('');
|
|
330
343
|
this.commandHistoryIndex = null;
|
|
331
344
|
}
|
|
332
345
|
|
|
@@ -343,7 +356,7 @@ export class ConsoleInput extends PureComponent {
|
|
|
343
356
|
|
|
344
357
|
|
|
345
358
|
loadCommand(index) {
|
|
346
|
-
var _this$
|
|
359
|
+
var _this$commandEditor21, _this$commandEditor22;
|
|
347
360
|
|
|
348
361
|
if (index === null || index >= this.history.length) {
|
|
349
362
|
return;
|
|
@@ -352,7 +365,7 @@ export class ConsoleInput extends PureComponent {
|
|
|
352
365
|
var modifiedValue = this.modifiedCommands.get(index);
|
|
353
366
|
var historyValue = index === null ? '' : this.history[this.history.length - index - 1];
|
|
354
367
|
this.commandHistoryIndex = index;
|
|
355
|
-
(_this$
|
|
368
|
+
(_this$commandEditor21 = this.commandEditor) === null || _this$commandEditor21 === void 0 ? void 0 : (_this$commandEditor22 = _this$commandEditor21.getModel()) === null || _this$commandEditor22 === void 0 ? void 0 : _this$commandEditor22.setValue(modifiedValue !== null && modifiedValue !== void 0 ? modifiedValue : historyValue);
|
|
356
369
|
|
|
357
370
|
if (index !== null && index > this.history.length - BUFFER_SIZE) {
|
|
358
371
|
this.loadMoreHistory();
|
|
@@ -415,19 +428,15 @@ export class ConsoleInput extends PureComponent {
|
|
|
415
428
|
})();
|
|
416
429
|
}
|
|
417
430
|
|
|
418
|
-
processCommand() {
|
|
419
|
-
var _this$commandEditor21, _this$commandEditor22;
|
|
420
|
-
|
|
431
|
+
processCommand(command) {
|
|
421
432
|
this.commandHistoryIndex = null;
|
|
422
433
|
this.modifiedCommands.clear();
|
|
423
|
-
var command = (_this$commandEditor21 = this.commandEditor) === null || _this$commandEditor21 === void 0 ? void 0 : _this$commandEditor21.getValue().trim();
|
|
424
434
|
assertNotNull(command);
|
|
425
435
|
|
|
426
436
|
if (command !== '' && (this.history.length === 0 || command !== this.history[this.history.length - 1])) {
|
|
427
437
|
this.history.push(command);
|
|
428
438
|
}
|
|
429
439
|
|
|
430
|
-
(_this$commandEditor22 = this.commandEditor) === null || _this$commandEditor22 === void 0 ? void 0 : _this$commandEditor22.setValue('');
|
|
431
440
|
this.updateDimensions();
|
|
432
441
|
var {
|
|
433
442
|
onSubmit
|
package/dist/ConsoleInput.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsoleInput.js","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","KeyF","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","filter","pos","arr","name","map","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"],"sources":["../src/ConsoleInput.tsx"],"sourcesContent":["import React, { PureComponent, ReactElement, RefObject } from 'react';\nimport classNames from 'classnames';\nimport * as monaco from 'monaco-editor';\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.KeyF, // 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\n .filter(\n ({ name }, pos, arr) => pos === 0 || name !== arr[pos - 1].name\n )\n .map(({ name }) => name)\n .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 if (\n command !== '' &&\n (this.history.length === 0 ||\n command !== this.history[this.history.length - 1])\n ) {\n this.history.push(command);\n }\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConsoleInput.js","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","command","trim","undefined","Tab","isSuggestionMenuActive","trigger","addCommand","KeyMod","CtrlCmd","KeyF","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","filter","pos","arr","name","map","reverse","err","isCanceled","debug2","error","push","onSubmit","maxHeight","contentHeight","getContentHeight","Math","max","min","shouldScroll","options","overviewRulerLanes","updateOptions","render","disabled","INPUT_CLASS_NAME","height"],"sources":["../src/ConsoleInput.tsx"],"sourcesContent":["import React, { PureComponent, ReactElement, RefObject } from 'react';\nimport classNames from 'classnames';\nimport * as monaco from 'monaco-editor';\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 // Only set the console text if we're not running this command\n if (!execute) {\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\n if (focus) {\n this.focusEnd();\n }\n\n this.updateDimensions();\n\n if (execute) {\n this.processCommand(text);\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 const command = this.commandEditor?.getValue().trim();\n if (command !== undefined) {\n this.processCommand(command);\n this.commandEditor?.setValue('');\n }\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.KeyF, // 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\n .filter(\n ({ name }, pos, arr) => pos === 0 || name !== arr[pos - 1].name\n )\n .map(({ name }) => name)\n .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(command: string): void {\n this.commandHistoryIndex = null;\n this.modifiedCommands.clear();\n\n assertNotNull(command);\n if (\n command !== '' &&\n (this.history.length === 0 ||\n command !== this.history[this.history.length - 1])\n ) {\n this.history.push(command);\n }\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"],"mappings":";;;;;;AAAA,OAAOA,KAAP,IAAgBC,aAAhB,QAA8D,OAA9D;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAO,KAAKC,MAAZ,MAAwB,eAAxB;AACA,OAAOC,GAAP,MAAgB,gBAAhB;AACA,SACEC,aADF,EAGEC,YAHF,QAIO,kBAJP;SAYSC,wB,EAA0BC,W,EAAaC,W;;AAGhD,IAAMC,GAAG,GAAGN,GAAG,CAACO,MAAJ,CAAW,cAAX,CAAZ;AAEA,IAAMC,WAAW,GAAGC,QAAQ,CAACL,WAAW,CAAC,aAAD,CAAZ,EAA6B,EAA7B,CAA5B;AACA,IAAMM,WAAW,GAAG,CAApB;AACA,IAAMC,cAAc,GAAG,CAAvB;AACA,IAAMC,gBAAgB,GAAGJ,WAAW,GAAGE,WAAd,GAA4BC,cAArD;AACA,IAAME,WAAW,GAAG,GAApB;;AAkBA;AACA;AACA;AACA,OAAO,MAAMC,YAAN,SAA2BjB,aAA3B,CAGL;EASAkB,WAAW,CAACC,KAAD,EAA2B;IACpC,MAAMA,KAAN;;IADoC;;IAAA;;IAAA;;IAAA;;IAAA;;IAAA;;IAAA;;IAAA;;IAAA;;IAAA;;IAGpC,KAAKC,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBC,IAAxB,CAA6B,IAA7B,CAA1B;IAEA,KAAKC,gBAAL,gBAAwBvB,KAAK,CAACwB,SAAN,EAAxB;IACA,KAAKC,mBAAL,GAA2B,IAA3B;IACA,KAAKC,SAAL,GAAiBC,IAAI,CAACC,GAAL,EAAjB;IACA,KAAKC,WAAL,GAAmB,CAAnB;IACA,KAAKC,OAAL,GAAe,EAAf,CAToC,CAUpC;;IACA,KAAKC,gBAAL,GAAwB,IAAIC,GAAJ,EAAxB;IAEA,KAAKC,KAAL,GAAa;MACXC,mBAAmB,EAAEtB,WADV;MAEXuB,SAAS,EAAE,KAFA;MAGXC,KAAK,EAAE;IAHI,CAAb;EAKD;;EAEDC,iBAAiB,GAAS;IACxB,KAAKC,iBAAL;IAEAC,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkC,KAAKnB,kBAAvC;IAEA,KAAKoB,eAAL;EACD;;EAEDC,kBAAkB,GAAS;IACzB,KAAKC,YAAL;EACD;;EAEDC,oBAAoB,GAAS;IAC3BL,MAAM,CAACM,mBAAP,CAA2B,QAA3B,EAAqC,KAAKxB,kBAA1C;;IAEA,IAAI,KAAKyB,cAAL,IAAuB,IAA3B,EAAiC;MAC/B,KAAKA,cAAL,CAAoBC,MAApB;IACD;;IAED,KAAKC,oBAAL;EACD;;EAyBD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,cAAc,CAACC,IAAD,EAAoD;IAAA,IAArCC,KAAqC,uEAA7B,IAA6B;IAAA,IAAvBC,OAAuB,uEAAb,KAAa;;IAChE,IAAI,CAACF,IAAL,EAAW;MACT;IACD;;IAEDxC,GAAG,CAAC2C,KAAJ,CAAU,oBAAV,EAAgCH,IAAhC,EALgE,CAOhE;;IACA,IAAI,CAACE,OAAL,EAAc;MAAA;;MACZ;MACA;MACA,KAAK3B,mBAAL,GAA2B,IAA3B;MACA,4BAAK6B,aAAL,4EAAoBC,QAApB,CAA6BL,IAA7B;IACD;;IAED,IAAIC,KAAJ,EAAW;MACT,KAAKK,QAAL;IACD;;IAED,KAAKC,gBAAL;;IAEA,IAAIL,OAAJ,EAAa;MACX,KAAKM,cAAL,CAAoBR,IAApB;IACD;EACF;;EAEDZ,iBAAiB,GAAS;IACxB,IAAM;MAAEqB,QAAF;MAAYC;IAAZ,IAAwB,KAAKxC,KAAnC;IACA,IAAMyC,eAAe,GAAG;MACtBC,0BAA0B,EAAE,KADN;MAEtBC,WAAW,EAAE,OAFS;MAGtBC,oBAAoB,EAAE,IAHA;MAItBC,OAAO,EAAE,KAJa;MAKtBC,UAAU,EAAE,WALU;MAMtBC,WAAW,EAAE,KANS;MAOtBR,QAPsB;MAQtBS,UAAU,EAAExD,WARU;MAStByD,oBAAoB,EAAE,CATA;MAUtBC,WAAW,EAAE,KAVS;MAWtBC,OAAO,EAAE;QAAEC,OAAO,EAAE;MAAX,CAXa;MAYtBC,mBAAmB,EAAE,MAZC;MAatBC,oBAAoB,EAAE,KAbA;MActBC,SAAS,EAAE;QACTC,SAAS,EAAE,CADF;QAETC,UAAU,EAAE,QAFH;QAGTC,uBAAuB,EAAE;MAHhB,CAdW;MAmBtBC,OAAO,EAAE;QACPC,GAAG,EAAElE,WADE;QAEPmE,MAAM,EAAElE;MAFD,CAnBa;MAuBtBmE,aAAa,EAAE,IAvBO;MAwBtBC,KAAK,EAAE,EAxBe;MAyBtBC,QAAQ,EAAE;IAzBY,CAAxB;IA4BA,IAAMC,OAAO,GAAG,KAAK9D,gBAAL,CAAsB+D,OAAtC;IACAjF,aAAa,CAACgF,OAAD,CAAb;IACA,KAAK/B,aAAL,GAAqBnD,MAAM,CAACoF,MAAP,CAAcC,MAAd,CAAqBH,OAArB,EAA8BxB,eAA9B,CAArB;IAEApD,WAAW,CAACgF,MAAZ,CAAmB,KAAKnC,aAAxB;IACA7C,WAAW,CAACiF,YAAZ,CAAyB,KAAKpC,aAA9B,EAA6CM,OAA7C;IAEA,KAAKN,aAAL,CAAmBqC,uBAAnB,CAA2C,MAAM;MAAA;;MAC/C,IAAMR,KAAK,2BAAG,KAAK7B,aAAR,yDAAG,qBAAoBsC,QAApB,EAAd;MACA,KAAK7D,gBAAL,CAAsB8D,GAAtB,CAA0B,KAAKpE,mBAA/B,EAAoD0D,KAApD,aAAoDA,KAApD,cAAoDA,KAApD,GAA6D,IAA7D;MACA,KAAK1B,gBAAL;IACD,CAJD;IAMA,KAAKH,aAAL,CAAmBwC,oBAAnB,CAAwC,MAAM;MAC5C,KAAKC,QAAL,CAAc;QAAE5D,SAAS,EAAE;MAAb,CAAd;IACD,CAFD;IAIA,KAAKmB,aAAL,CAAmB0C,mBAAnB,CAAuC,MAAM;MAC3C,KAAKD,QAAL,CAAc;QAAE5D,SAAS,EAAE;MAAb,CAAd;IACD,CAFD;IAIA;AACJ;AACA;AACA;AACA;;IACI,KAAKmB,aAAL,CAAmB2C,SAAnB,CAA6BC,QAAQ,IAAI;MACvC,IAAM;QAAE5C,aAAF;QAAiB7B;MAAjB,IAAyC,IAA/C;MACA,IAAM0E,QAAQ,GAAG7C,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAE8C,WAAf,EAAjB;MACA/F,aAAa,CAAC8F,QAAD,CAAb;MACA,IAAM;QAAEE;MAAF,IAAiBF,QAAvB;MACA,IAAM/D,KAAK,GAAGkB,aAAH,aAAGA,aAAH,uBAAGA,aAAa,CAAEgD,QAAf,EAAd;;MACA,IACEJ,QAAQ,CAACK,OAAT,KAAqBpG,MAAM,CAACqG,OAAP,CAAeC,OAApC,IACA,CAAC,KAAKC,yBAAL,EADD,IAEAL,UAAU,KAAK,CAHjB,EAIE;QACA,IAAI5E,mBAAmB,IAAI,IAA3B,EAAiC;UAC/B,KAAKkF,WAAL,CAAiBlF,mBAAmB,GAAG,CAAvC;QACD,CAFD,MAEO;UACL,KAAKkF,WAAL,CAAiB,CAAjB;QACD;;QAED,KAAKC,UAAL;QACAV,QAAQ,CAACW,eAAT;QACAX,QAAQ,CAACY,cAAT;QAEA;MACD;;MAED,IACEZ,QAAQ,CAACK,OAAT,KAAqBpG,MAAM,CAACqG,OAAP,CAAeO,SAApC,IACA,CAAC,KAAKL,yBAAL,EADD,IAEAL,UAAU,MAAKjE,KAAL,aAAKA,KAAL,uBAAKA,KAAK,CAAE4E,YAAP,EAAL,CAHZ,EAIE;QACA,IAAIvF,mBAAmB,IAAI,IAAvB,IAA+BA,mBAAmB,GAAG,CAAzD,EAA4D;UAC1D,KAAKkF,WAAL,CAAiBlF,mBAAmB,GAAG,CAAvC;QACD,CAFD,MAEO;UACL,KAAKkF,WAAL,CAAiB,IAAjB;QACD;;QAED,KAAKnD,QAAL;QACA0C,QAAQ,CAACW,eAAT;QACAX,QAAQ,CAACY,cAAT;QAEA;MACD;;MAED,IAAI,CAACZ,QAAQ,CAACe,MAAV,IAAoB,CAACf,QAAQ,CAACgB,QAA9B,IAA0C,CAAChB,QAAQ,CAACiB,OAAxD,EAAiE;QAC/D,IAAIjB,QAAQ,CAACK,OAAT,KAAqBpG,MAAM,CAACqG,OAAP,CAAeY,KAAxC,EAA+C;UAC7C,IAAI,CAAC,KAAKV,yBAAL,EAAL,EAAuC;YAAA;;YACrCR,QAAQ,CAACW,eAAT;YACAX,QAAQ,CAACY,cAAT;;YAEA,IAAMO,QAAO,2BAAG,KAAK/D,aAAR,yDAAG,qBAAoBsC,QAApB,GAA+B0B,IAA/B,EAAhB;;YACA,IAAID,QAAO,KAAKE,SAAhB,EAA2B;cAAA;;cACzB,KAAK7D,cAAL,CAAoB2D,QAApB;cACA,6BAAK/D,aAAL,8EAAoBC,QAApB,CAA6B,EAA7B;YACD;UACF;QACF,CAXD,MAWO,IAAI2C,QAAQ,CAACK,OAAT,KAAqBpG,MAAM,CAACqG,OAAP,CAAegB,GAAxC,EAA6C;UAClD,IAAI,CAAC,KAAKC,sBAAL,EAAL,EAAoC;YAAA;;YAClCvB,QAAQ,CAACW,eAAT;YACAX,QAAQ,CAACY,cAAT;YAEA,6BAAKxD,aAAL,8EAAoBoE,OAApB,CACE,6BADF,EAEE,8BAFF,EAGE,EAHF;UAKD,CATD,MASO,IAAI,CAAC,KAAKhB,yBAAL,EAAL,EAAuC;YAC5CR,QAAQ,CAACW,eAAT;YACAX,QAAQ,CAACY,cAAT;UACD;QACF;MACF;IACF,CAtED,EAxDwB,CAgIxB;;IACA,KAAKxD,aAAL,CAAmBqE,UAAnB,CACExH,MAAM,CAACyH,MAAP,CAAcC,OAAd,GAAwB1H,MAAM,CAACqG,OAAP,CAAesB,IADzC,EAC+C;IAC7C,MAAMP,SAFR;IAKA9G,WAAW,CAACsH,4BAAZ,CAAyC,KAAKzE,aAA9C;IAEA7C,WAAW,CAACuH,oBAAZ,CAAiC,KAAK1E,aAAtC;IAEA,KAAKA,aAAL,CAAmBH,KAAnB;IAEA,KAAKM,gBAAL;IAEA,KAAKsC,QAAL,CAAc;MAAE3D,KAAK,EAAE,KAAKkB,aAAL,CAAmBgD,QAAnB;IAAT,CAAd;EACD;;EAEDtD,oBAAoB,GAAS;IAC3B,IAAM;MAAEY;IAAF,IAAc,KAAKxC,KAAzB;;IACA,IAAI,KAAKkC,aAAT,EAAwB;MACtB7C,WAAW,CAACwH,aAAZ,CAA0B,KAAK3E,aAA/B,EAA8CM,OAA9C;MACA,KAAKN,aAAL,CAAmB4E,OAAnB;MACA,KAAK5E,aAAL,GAAqBiE,SAArB;IACD;EACF;;EAEDlG,kBAAkB,GAAS;IACzB,KAAKoC,gBAAL;EACD;;EAEDgE,sBAAsB,GAAY;IAAA;;IAChC,IAAI,CAAC,KAAKU,0BAAV,EAAsC;MAAA;;MACpC,KAAKA,0BAAL,2BAAkC,KAAK7E,aAAvC,kFAAkC,qBAC9B8E,UAD8B,EAAlC,0DAAkC,sBAE9BC,aAF8B,CAEhB,iBAFgB,CAAlC;IAGD;;IAED,eACG,KAAKF,0BAAL,IACC,KAAKA,0BAAL,CAAgCG,SAAhC,CAA0CC,QAA1C,CAAmD,SAAnD,CAFJ,uCAGE,KAHF;EAKD;;EAED7B,yBAAyB,GAAY;IAAA;;IACnC,OACE,KAAKe,sBAAL,MACA,oDAAC,KAAKU,0BAAN,qFAAC,uBAAiCE,aAAjC,CAA+C,mBAA/C,CAAD,2DAAC,uBACGG,iBADJ,yEACyB,CADzB,IAC8B,CAHhC;EAKD;;EAEDrF,KAAK,GAAS;IAAA;;IACZ,6BAAKG,aAAL,8EAAoBH,KAApB;EACD;;EAEDyD,UAAU,GAAS;IAAA;;IACjB,IAAMxE,KAAK,2BAAG,KAAKkB,aAAR,yDAAG,qBAAoBgD,QAApB,EAAd;IACAjG,aAAa,CAAC+B,KAAD,CAAb;IACA,IAAMqG,MAAM,GAAGrG,KAAK,CAACsG,aAAN,CAAoB,CAApB,IAAyB,CAAxC,CAHiB,CAG0B;;IAC3C,IAAMC,YAAY,2BAAG,KAAKrF,aAAR,yDAAG,qBAAoBsF,iBAApB,CAAsC,CAAtC,EAAyCH,MAAzC,CAArB;IACApI,aAAa,CAACsI,YAAD,CAAb;IACA,8BAAKrF,aAAL,gFAAoBuF,WAApB,CAAgC;MAAExC,UAAU,EAAE,CAAd;MAAiBoC;IAAjB,CAAhC;IACA,8BAAKnF,aAAL,gFAAoBwF,YAApB,CAAiCH,YAAjC;IACA,8BAAKrF,aAAL,gFAAoBH,KAApB;EACD;;EAEDK,QAAQ,GAAS;IAAA;;IACf,IAAMpB,KAAK,4BAAG,KAAKkB,aAAR,0DAAG,sBAAoBgD,QAApB,EAAd;IACAjG,aAAa,CAAC+B,KAAD,CAAb;IACA,IAAM2G,QAAQ,GAAG3G,KAAK,CAAC4E,YAAN,EAAjB;IACA,IAAMyB,MAAM,GAAGrG,KAAK,CAACsG,aAAN,CAAoBK,QAApB,IAAgC,CAA/C;IACA,IAAMC,WAAW,4BAAG,KAAK1F,aAAR,0DAAG,sBAAoBsF,iBAApB,CAAsCG,QAAtC,EAAgDN,MAAhD,CAApB;IACApI,aAAa,CAAC2I,WAAD,CAAb;IACA,8BAAK1F,aAAL,gFAAoBuF,WAApB,CAAgC;MAAExC,UAAU,EAAE0C,QAAd;MAAwBN;IAAxB,CAAhC;IACA,8BAAKnF,aAAL,gFAAoBwF,YAApB,CAAiCE,WAAjC;IACA,8BAAK1F,aAAL,gFAAoBH,KAApB;EACD;;EAED8F,KAAK,GAAS;IAAA;;IACZ,8BAAK3F,aAAL,gFAAoBH,KAApB;IACA,8BAAKG,aAAL,yGAAoBgD,QAApB,kFAAgC/C,QAAhC,CAAyC,EAAzC;IACA,KAAK9B,mBAAL,GAA2B,IAA3B;EACD;;EAEDkB,YAAY,GAAS;IACnB,IAAI,KAAKW,aAAT,EAAwB;MACtB,KAAKA,aAAL,CAAmB4F,MAAnB;IACD;EACF;EAED;AACF;AACA;AACA;AACA;;;EACEvC,WAAW,CAACwC,KAAD,EAA6B;IAAA;;IACtC,IAAIA,KAAK,KAAK,IAAV,IAAkBA,KAAK,IAAI,KAAKrH,OAAL,CAAasH,MAA5C,EAAoD;MAClD;IACD;;IAED,IAAMC,aAAa,GAAG,KAAKtH,gBAAL,CAAsBuH,GAAtB,CAA0BH,KAA1B,CAAtB;IACA,IAAMI,YAAY,GAChBJ,KAAK,KAAK,IAAV,GAAiB,EAAjB,GAAsB,KAAKrH,OAAL,CAAa,KAAKA,OAAL,CAAasH,MAAb,GAAsBD,KAAtB,GAA8B,CAA3C,CADxB;IAGA,KAAK1H,mBAAL,GAA2B0H,KAA3B;IACA,8BAAK7F,aAAL,yGAAoBgD,QAApB,kFAAgC/C,QAAhC,CAAyC8F,aAAzC,aAAyCA,aAAzC,cAAyCA,aAAzC,GAA0DE,YAA1D;;IAEA,IAAIJ,KAAK,KAAK,IAAV,IAAkBA,KAAK,GAAG,KAAKrH,OAAL,CAAasH,MAAb,GAAsBnI,WAApD,EAAiE;MAC/D,KAAKwB,eAAL;IACD;EACF;;EAEKA,eAAe,GAAkB;IAAA;;IAAA;MACrC,IAAI;QACF,IAAI,KAAI,CAACK,cAAL,IAAuB,IAAvB,IAA+B,KAAI,CAACjB,WAAL,IAAoB,IAAvD,EAA6D;UAC3D;QACD;;QAED,IAAM;UAAE2H,qBAAF;UAAyB7F,QAAzB;UAAmC8F;QAAnC,IAA6C,KAAI,CAACrI,KAAxD;QAEA,KAAI,CAAC0B,cAAL,GAAsBxC,YAAY,CAACoJ,cAAb,CACpBF,qBAAqB,CAACG,QAAtB,CAA+BhG,QAA/B,EAAyC8F,KAAzC,aAAyCA,KAAzC,cAAyCA,KAAzC,GAAkD,EAAlD,EAAsD,KAAI,CAAC/H,SAA3D,CADoB,EAEpBkI,QAAQ,IAAIA,QAAQ,CAACC,KAAT,EAFQ,CAAtB;QAKA,IAAMC,KAAK,SAAS,KAAI,CAAChH,cAAzB;QACAgH,KAAK,CAACC,WAAN,CAAkB,IAAlB;QACAD,KAAK,CAACE,WAAN,CAAkB;UAChBhF,GAAG,EAAE,KAAI,CAACnD,WADM;UAEhBoD,MAAM,EAAE,KAAI,CAACpD,WAAL,GAAmBZ,WAAnB,GAAiC;QAFzB,CAAlB;QAKA,KAAI,CAAC6B,cAAL,GAAsBxC,YAAY,CAACoJ,cAAb,CACpBI,KAAK,CAACG,eAAN,EADoB,EAEpB,MAAMH,KAAK,CAACD,KAAN,EAFc,CAAtB;QAIA,IAAMK,YAAY,SAAS,KAAI,CAACpH,cAAhC;QACA,KAAI,CAACjB,WAAL,IAAoBZ,WAApB;;QACA,IAAI,KAAI,CAACY,WAAL,IAAoBiI,KAAK,CAACK,IAA9B,EAAoC;UAClC;UACA,KAAI,CAACtI,WAAL,GAAmB,IAAnB;QACD;;QACD,KAAI,CAACC,OAAL,GAAe,CACb,IAAGoI,YAAH,aAAGA,YAAH,uBAAGA,YAAY,CAAEE,KAAd,CACAC,MADA,CAEC,QAAWC,GAAX,EAAgBC,GAAhB;UAAA,IAAC;YAAEC;UAAF,CAAD;UAAA,OAAwBF,GAAG,KAAK,CAAR,IAAaE,IAAI,KAAKD,GAAG,CAACD,GAAG,GAAG,CAAP,CAAH,CAAaE,IAA3D;QAAA,CAFD,EAIAC,GAJA,CAII;UAAA,IAAC;YAAED;UAAF,CAAD;UAAA,OAAcA,IAAd;QAAA,CAJJ,EAKAE,OALA,EAAH,CADa,EAOb,GAAG,KAAI,CAAC5I,OAPK,CAAf;QAUA,KAAI,CAACgB,cAAL,GAAsByE,SAAtB;QAEAuC,KAAK,CAACD,KAAN;MACD,CA1CD,CA0CE,OAAOc,GAAP,EAAY;QACZ,KAAI,CAAC7H,cAAL,GAAsByE,SAAtB;;QACA,IAAIjH,YAAY,CAACsK,UAAb,CAAwBD,GAAxB,CAAJ,EAAkC;UAChCjK,GAAG,CAACmK,MAAJ,CAAW,uCAAX;UACA;QACD;;QAEDnK,GAAG,CAACoK,KAAJ,CAAU,wBAAV,EAAoCH,GAApC;MACD;IAnDoC;EAoDtC;;EAEDjH,cAAc,CAAC2D,OAAD,EAAwB;IACpC,KAAK5F,mBAAL,GAA2B,IAA3B;IACA,KAAKM,gBAAL,CAAsBkH,KAAtB;IAEA5I,aAAa,CAACgH,OAAD,CAAb;;IACA,IACEA,OAAO,KAAK,EAAZ,KACC,KAAKvF,OAAL,CAAasH,MAAb,KAAwB,CAAxB,IACC/B,OAAO,KAAK,KAAKvF,OAAL,CAAa,KAAKA,OAAL,CAAasH,MAAb,GAAsB,CAAnC,CAFd,CADF,EAIE;MACA,KAAKtH,OAAL,CAAaiJ,IAAb,CAAkB1D,OAAlB;IACD;;IACD,KAAK5D,gBAAL;IAEA,IAAM;MAAEuH;IAAF,IAAe,KAAK5J,KAA1B;IACA4J,QAAQ,CAAC3D,OAAD,CAAR;EACD;;EAED5D,gBAAgB,GAAS;IACvB,IAAI,CAAC,KAAKH,aAAV,EAAyB;MACvB;IACD;;IAED,IAAM;MAAE2H;IAAF,IAAgB,KAAK7J,KAA3B;IACAf,aAAa,CAAC4K,SAAD,CAAb;IACA,IAAMC,aAAa,GAAG,KAAK5H,aAAL,CAAmB6H,gBAAnB,EAAtB;IACA,IAAMjJ,mBAAmB,GAAGkJ,IAAI,CAACC,GAAL,CAC1BD,IAAI,CAACE,GAAL,CAASJ,aAAT,EAAwBD,SAAxB,CAD0B,EAE1BjK,gBAF0B,CAA5B,CARuB,CAavB;;IACA,IAAMuK,YAAY,GAAGL,aAAa,GAAGhJ,mBAArC;IAEA,IAAMsJ,OAAO,GAAG;MAAEC,kBAAkB,EAAEF,YAAY,GAAGhE,SAAH,GAAe;IAAjD,CAAhB;IAEA,KAAKxB,QAAL,CACE;MACE7D;IADF,CADF,EAIE,MAAM;MAAA;;MACJ,8BAAKoB,aAAL,gFAAoBoI,aAApB,CAAkCF,OAAlC;MACA,8BAAKlI,aAAL,gFAAoB4F,MAApB;IACD,CAPH;EASD;;EAEDyC,MAAM,GAAiB;IACrB,IAAM;MAAEC,QAAF;MAAYjI,QAAZ;MAAsBC;IAAtB,IAAkC,KAAKxC,KAA7C;IACA,IAAM;MAAEc,mBAAF;MAAuBC,SAAvB;MAAkCC;IAAlC,IAA4C,KAAKH,KAAvD;IACA,oBACE;MAAK,SAAS,EAAE/B,UAAU,CAAC,uBAAD,EAA0B;QAAE0L;MAAF,CAA1B;IAA1B,gBACE;MACE,SAAS,EAAE1L,UAAU,CAAC,6BAAD,EAAgC;QACnDiD,KAAK,EAAEhB;MAD4C,CAAhC;IADvB,gBAKE;MACE,SAAS,EAAEjB,YAAY,CAAC2K,gBAD1B;MAEE,GAAG,EAAE,KAAKtK,gBAFZ;MAGE,KAAK,EAAE;QAAEuK,MAAM,EAAE5J;MAAV;IAHT,EALF,EAUGE,KAAK,iBACJ,oBAAC,wBAAD;MACE,KAAK,EAAEA,KADT;MAEE,QAAQ,EAAEuB,QAFZ;MAGE,OAAO,EAAEC;IAHX,EAXJ,CADF,CADF;EAsBD;;AA3dD;;gBAHW1C,Y,kBAIW;EACpB+J,SAAS,EAAErK,WAAW,GAAG,EADL;EAEpB6I,KAAK,EAAE,IAFa;EAGpBmC,QAAQ,EAAE;AAHU,C;;gBAJX1K,Y,sBAUe,e;;AAud5B,eAAeA,YAAf"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/console",
|
|
3
|
-
"version": "0.22.2-
|
|
3
|
+
"version": "0.22.2-beta.6+233d922",
|
|
4
4
|
"description": "Deephaven Console",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -23,13 +23,13 @@
|
|
|
23
23
|
"build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@deephaven/chart": "^0.22.2-
|
|
27
|
-
"@deephaven/components": "^0.22.2-
|
|
28
|
-
"@deephaven/icons": "^0.22.2-
|
|
29
|
-
"@deephaven/jsapi-shim": "^0.22.2-
|
|
30
|
-
"@deephaven/log": "^0.22.2-
|
|
31
|
-
"@deephaven/storage": "^0.22.2-
|
|
32
|
-
"@deephaven/utils": "^0.22.2-
|
|
26
|
+
"@deephaven/chart": "^0.22.2-beta.6+233d922",
|
|
27
|
+
"@deephaven/components": "^0.22.2-beta.6+233d922",
|
|
28
|
+
"@deephaven/icons": "^0.22.2-beta.6+233d922",
|
|
29
|
+
"@deephaven/jsapi-shim": "^0.22.2-beta.6+233d922",
|
|
30
|
+
"@deephaven/log": "^0.22.2-beta.6+233d922",
|
|
31
|
+
"@deephaven/storage": "^0.22.2-beta.6+233d922",
|
|
32
|
+
"@deephaven/utils": "^0.22.2-beta.6+233d922",
|
|
33
33
|
"@fortawesome/react-fontawesome": "^0.1.18",
|
|
34
34
|
"classnames": "^2.3.1",
|
|
35
35
|
"lodash.debounce": "^4.0.8",
|
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
"react-dom": "^17.x"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@deephaven/mocks": "^0.22.2-
|
|
51
|
-
"@deephaven/tsconfig": "^0.22.2-
|
|
50
|
+
"@deephaven/mocks": "^0.22.2-beta.6+233d922",
|
|
51
|
+
"@deephaven/tsconfig": "^0.22.2-beta.6+233d922"
|
|
52
52
|
},
|
|
53
53
|
"files": [
|
|
54
54
|
"dist"
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"publishConfig": {
|
|
60
60
|
"access": "public"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "233d9227f1a07837204d7ea2dfe5070c76eb5e8f"
|
|
63
63
|
}
|