@deephaven/console 1.27.2 → 1.27.3

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.
@@ -31,9 +31,10 @@ export declare class ConsoleInput extends PureComponent<ConsoleInputProps, Conso
31
31
  static INPUT_CLASS_NAME: string;
32
32
  constructor(props: ConsoleInputProps);
33
33
  componentDidMount(): void;
34
- componentDidUpdate(): void;
34
+ componentDidUpdate(prevProps: ConsoleInputProps): void;
35
35
  componentWillUnmount(): void;
36
36
  cancelListener?: () => void;
37
+ openDocumentCleanup?: monaco.IDisposable;
37
38
  resizeObserver: ResizeObserver;
38
39
  commandContainer: RefObject<HTMLDivElement>;
39
40
  commandEditor?: monaco.editor.IStandaloneCodeEditor;
@@ -54,7 +55,12 @@ export declare class ConsoleInput extends PureComponent<ConsoleInputProps, Conso
54
55
  */
55
56
  setConsoleText(text: string, focus?: boolean, execute?: boolean): void;
56
57
  initCommandEditor(): void;
57
- destroyCommandEditor(): void;
58
+ /**
59
+ * Closes the monaco document, disposes the Monaco editor, and clears all associated cleanup state.
60
+ *
61
+ * @param session The session that originally received `openDocument` for this editor
62
+ */
63
+ destroyCommandEditor(session: dh.IdeSession): void;
58
64
  handleResize(): void;
59
65
  isSuggestionMenuActive(): boolean;
60
66
  isSuggestionMenuPopulated(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleInput.d.ts","sourceRoot":"","sources":["../src/ConsoleInput.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEhF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,qBAAqB,CAAC;AAU7B,UAAU,iBAAiB;IACzB,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC;IACvB,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;IAqBpC,iBAAiB,IAAI,IAAI;IAMzB,kBAAkB,IAAI,IAAI;IAI1B,oBAAoB,IAAI,IAAI;IAU5B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAE5B,cAAc,EAAE,cAAc,CAAC;IAE/B,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;IA0IzB,oBAAoB,IAAI,IAAI;IAS5B,YAAY,IAAI,IAAI;IAIpB,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"}
1
+ {"version":3,"file":"ConsoleInput.d.ts","sourceRoot":"","sources":["../src/ConsoleInput.tsx"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export class ConsoleInput extends PureComponent {
24
24
  constructor(props) {
25
25
  super(props);
26
26
  _defineProperty(this, "cancelListener", void 0);
27
+ _defineProperty(this, "openDocumentCleanup", void 0);
27
28
  _defineProperty(this, "resizeObserver", void 0);
28
29
  _defineProperty(this, "commandContainer", void 0);
29
30
  _defineProperty(this, "commandEditor", void 0);
@@ -54,15 +55,22 @@ export class ConsoleInput extends PureComponent {
54
55
  this.initCommandEditor();
55
56
  this.loadMoreHistory();
56
57
  }
57
- componentDidUpdate() {
58
+ componentDidUpdate(prevProps) {
59
+ var session = this.props.session;
58
60
  this.layoutEditor();
61
+ // If the session has changed, we need to destroy the old command editor and create a new one for the new session
62
+ if (prevProps.session !== session) {
63
+ this.destroyCommandEditor(prevProps.session);
64
+ this.initCommandEditor();
65
+ }
59
66
  }
60
67
  componentWillUnmount() {
61
68
  this.resizeObserver.disconnect();
62
69
  if (this.loadingPromise != null) {
63
70
  this.loadingPromise.cancel();
64
71
  }
65
- this.destroyCommandEditor();
72
+ var session = this.props.session;
73
+ this.destroyCommandEditor(session);
66
74
  }
67
75
  /**
68
76
  * Sets the console text from an external source.
@@ -135,7 +143,7 @@ export class ConsoleInput extends PureComponent {
135
143
  assertNotNull(element);
136
144
  this.commandEditor = monaco.editor.create(element, commandSettings);
137
145
  MonacoUtils.setEOL(this.commandEditor);
138
- MonacoUtils.openDocument(this.commandEditor, session);
146
+ this.openDocumentCleanup = MonacoUtils.openDocument(this.commandEditor, session);
139
147
  this.commandEditor.onDidChangeModelContent(() => {
140
148
  var _this$commandEditor2;
141
149
  var value = (_this$commandEditor2 = this.commandEditor) === null || _this$commandEditor2 === void 0 ? void 0 : _this$commandEditor2.getValue();
@@ -212,9 +220,17 @@ export class ConsoleInput extends PureComponent {
212
220
  model: this.commandEditor.getModel()
213
221
  });
214
222
  }
215
- destroyCommandEditor() {
216
- var session = this.props.session;
223
+
224
+ /**
225
+ * Closes the monaco document, disposes the Monaco editor, and clears all associated cleanup state.
226
+ *
227
+ * @param session The session that originally received `openDocument` for this editor
228
+ */
229
+ destroyCommandEditor(session) {
217
230
  if (this.commandEditor) {
231
+ var _this$openDocumentCle;
232
+ (_this$openDocumentCle = this.openDocumentCleanup) === null || _this$openDocumentCle === void 0 || _this$openDocumentCle.dispose();
233
+ this.openDocumentCleanup = undefined;
218
234
  MonacoUtils.closeDocument(this.commandEditor, session);
219
235
  this.commandEditor.dispose();
220
236
  this.commandEditor = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleInput.js","names":["React","PureComponent","classNames","monaco","Log","assertNotNull","PromiseUtils","MonacoProviders","MonacoTheme","MonacoUtils","jsx","_jsx","jsxs","_jsxs","log","module","LINE_HEIGHT","parseInt","TOP_PADDING","BOTTOM_PADDING","MIN_INPUT_HEIGHT","BUFFER_SIZE","ConsoleInput","constructor","props","_defineProperty","handleResize","bind","commandContainer","createRef","commandHistoryIndex","timestamp","Date","now","bufferIndex","history","modifiedCommands","Map","resizeObserver","window","ResizeObserver","state","commandEditorHeight","isFocused","model","componentDidMount","initCommandEditor","loadMoreHistory","componentDidUpdate","layoutEditor","componentWillUnmount","disconnect","loadingPromise","cancel","destroyCommandEditor","setConsoleText","text","focus","arguments","length","undefined","execute","debug","_this$commandEditor","commandEditor","setValue","focusEnd","updateDimensions","processCommand","_this$props","language","session","editor","createModel","generateConsoleUri","commandSettings","copyWithSyntaxHighlighting","cursorStyle","fixedOverflowWidgets","folding","fontFamily","glyphMargin","lineHeight","lineDecorationsWidth","lineNumbers","minimap","enabled","renderLineHighlight","scrollBeyondLastLine","scrollbar","arrowSize","horizontal","horizontalScrollbarSize","padding","top","bottom","value","wordWrap","autoClosingBrackets","element","current","create","setEOL","openDocument","onDidChangeModelContent","_this$commandEditor2","getValue","set","onDidFocusEditorText","setState","onDidBlurEditorText","onKeyDown","keyEvent","position","getPosition","lineNumber","altKey","shiftKey","metaKey","code","isSuggestionMenuPopulated","loadCommand","focusStart","stopPropagation","preventDefault","getLineCount","keyCode","KeyCode","Enter","_this$commandEditor3","command","trim","_this$commandEditor4","disableKeyBindings","KeyMod","CtrlCmd","KeyF","registerPasteHandler","observe","getModel","closeDocument","dispose","isSuggestionMenuActive","_ref","commandSuggestionContainer","_this$commandEditor5","getDomNode","querySelector","classList","contains","_this$commandSuggesti","_this$commandSuggesti2","childElementCount","_this$commandEditor6","_this$commandEditor7","_this$commandEditor8","_this$commandEditor9","_this$commandEditor0","_this$commandEditor1","column","getLineLength","firstCharTop","getTopForPosition","setPosition","setScrollTop","_this$commandEditor10","_this$commandEditor11","_this$commandEditor12","_this$commandEditor13","_this$commandEditor14","lastLine","lastCharTop","clear","_this$commandEditor15","_this$commandEditor16","layout","index","_this$commandEditor17","modifiedValue","get","historyValue","_this","_asyncToGenerator","_this$props2","commandHistoryStorage","scope","makeCancelable","getTable","resolved","close","table","setReversed","setViewport","getViewportData","viewportData","size","items","filter","_ref2","pos","arr","name","map","_ref3","reverse","err","isCanceled","debug2","error","push","onSubmit","maxHeight","contentHeight","getContentHeight","Math","max","min","shouldScroll","options","overviewRulerLanes","_this$commandEditor18","_this$commandEditor19","updateOptions","render","_this$props3","disabled","_this$state","className","children","INPUT_CLASS_NAME","ref","style","height"],"sources":["../src/ConsoleInput.tsx"],"sourcesContent":["import React, { PureComponent, type ReactElement, type RefObject } from 'react';\nimport classNames from 'classnames';\nimport * as monaco from 'monaco-editor';\nimport Log from '@deephaven/log';\nimport {\n assertNotNull,\n type CancelablePromise,\n PromiseUtils,\n} from '@deephaven/utils';\nimport { type ViewportData } from '@deephaven/storage';\nimport type { dh } from '@deephaven/jsapi-types';\nimport {\n type CommandHistoryStorage,\n type CommandHistoryStorageItem,\n type CommandHistoryTable,\n} from './command-history';\nimport { MonacoProviders, 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: dh.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.handleResize = this.handleResize.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 this.resizeObserver = new window.ResizeObserver(this.handleResize);\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 this.loadMoreHistory();\n }\n\n componentDidUpdate(): void {\n this.layoutEditor();\n }\n\n componentWillUnmount(): void {\n this.resizeObserver.disconnect();\n\n if (this.loadingPromise != null) {\n this.loadingPromise.cancel();\n }\n\n this.destroyCommandEditor();\n }\n\n cancelListener?: () => void;\n\n resizeObserver: ResizeObserver;\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 model = monaco.editor.createModel(\n '',\n language,\n MonacoUtils.generateConsoleUri()\n );\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 value: '',\n wordWrap: 'on',\n autoClosingBrackets: 'beforeWhitespace',\n model,\n } as const;\n\n const element = this.commandContainer.current;\n assertNotNull(element);\n\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\n if (!keyEvent.altKey && !keyEvent.shiftKey && !keyEvent.metaKey) {\n if (\n keyEvent.code === 'ArrowUp' &&\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.code === 'ArrowDown' &&\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 (\n keyEvent.keyCode === monaco.KeyCode.Enter &&\n !this.isSuggestionMenuPopulated()\n ) {\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 }\n });\n\n // Disable the Ctrl+F functionality so that the find window doesn't appear\n MonacoUtils.disableKeyBindings(this.commandEditor, [\n monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyF, // eslint-disable-line no-bitwise\n ]);\n\n MonacoUtils.registerPasteHandler(this.commandEditor);\n\n this.commandEditor.focus();\n\n this.resizeObserver.observe(element);\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 handleResize(): 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 <MonacoProviders\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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","ignoreList":[]}
1
+ {"version":3,"file":"ConsoleInput.js","names":["React","PureComponent","classNames","monaco","Log","assertNotNull","PromiseUtils","MonacoProviders","MonacoTheme","MonacoUtils","jsx","_jsx","jsxs","_jsxs","log","module","LINE_HEIGHT","parseInt","TOP_PADDING","BOTTOM_PADDING","MIN_INPUT_HEIGHT","BUFFER_SIZE","ConsoleInput","constructor","props","_defineProperty","handleResize","bind","commandContainer","createRef","commandHistoryIndex","timestamp","Date","now","bufferIndex","history","modifiedCommands","Map","resizeObserver","window","ResizeObserver","state","commandEditorHeight","isFocused","model","componentDidMount","initCommandEditor","loadMoreHistory","componentDidUpdate","prevProps","session","layoutEditor","destroyCommandEditor","componentWillUnmount","disconnect","loadingPromise","cancel","setConsoleText","text","focus","arguments","length","undefined","execute","debug","_this$commandEditor","commandEditor","setValue","focusEnd","updateDimensions","processCommand","_this$props","language","editor","createModel","generateConsoleUri","commandSettings","copyWithSyntaxHighlighting","cursorStyle","fixedOverflowWidgets","folding","fontFamily","glyphMargin","lineHeight","lineDecorationsWidth","lineNumbers","minimap","enabled","renderLineHighlight","scrollBeyondLastLine","scrollbar","arrowSize","horizontal","horizontalScrollbarSize","padding","top","bottom","value","wordWrap","autoClosingBrackets","element","current","create","setEOL","openDocumentCleanup","openDocument","onDidChangeModelContent","_this$commandEditor2","getValue","set","onDidFocusEditorText","setState","onDidBlurEditorText","onKeyDown","keyEvent","position","getPosition","lineNumber","altKey","shiftKey","metaKey","code","isSuggestionMenuPopulated","loadCommand","focusStart","stopPropagation","preventDefault","getLineCount","keyCode","KeyCode","Enter","_this$commandEditor3","command","trim","_this$commandEditor4","disableKeyBindings","KeyMod","CtrlCmd","KeyF","registerPasteHandler","observe","getModel","_this$openDocumentCle","dispose","closeDocument","isSuggestionMenuActive","_ref","commandSuggestionContainer","_this$commandEditor5","getDomNode","querySelector","classList","contains","_this$commandSuggesti","_this$commandSuggesti2","childElementCount","_this$commandEditor6","_this$commandEditor7","_this$commandEditor8","_this$commandEditor9","_this$commandEditor0","_this$commandEditor1","column","getLineLength","firstCharTop","getTopForPosition","setPosition","setScrollTop","_this$commandEditor10","_this$commandEditor11","_this$commandEditor12","_this$commandEditor13","_this$commandEditor14","lastLine","lastCharTop","clear","_this$commandEditor15","_this$commandEditor16","layout","index","_this$commandEditor17","modifiedValue","get","historyValue","_this","_asyncToGenerator","_this$props2","commandHistoryStorage","scope","makeCancelable","getTable","resolved","close","table","setReversed","setViewport","getViewportData","viewportData","size","items","filter","_ref2","pos","arr","name","map","_ref3","reverse","err","isCanceled","debug2","error","push","onSubmit","maxHeight","contentHeight","getContentHeight","Math","max","min","shouldScroll","options","overviewRulerLanes","_this$commandEditor18","_this$commandEditor19","updateOptions","render","_this$props3","disabled","_this$state","className","children","INPUT_CLASS_NAME","ref","style","height"],"sources":["../src/ConsoleInput.tsx"],"sourcesContent":["import React, { PureComponent, type ReactElement, type RefObject } from 'react';\nimport classNames from 'classnames';\nimport * as monaco from 'monaco-editor';\nimport Log from '@deephaven/log';\nimport {\n assertNotNull,\n type CancelablePromise,\n PromiseUtils,\n} from '@deephaven/utils';\nimport { type ViewportData } from '@deephaven/storage';\nimport type { dh } from '@deephaven/jsapi-types';\nimport {\n type CommandHistoryStorage,\n type CommandHistoryStorageItem,\n type CommandHistoryTable,\n} from './command-history';\nimport { MonacoProviders, 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: dh.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.handleResize = this.handleResize.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 this.resizeObserver = new window.ResizeObserver(this.handleResize);\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 this.loadMoreHistory();\n }\n\n componentDidUpdate(prevProps: ConsoleInputProps): void {\n const { session } = this.props;\n this.layoutEditor();\n // If the session has changed, we need to destroy the old command editor and create a new one for the new session\n if (prevProps.session !== session) {\n this.destroyCommandEditor(prevProps.session);\n this.initCommandEditor();\n }\n }\n\n componentWillUnmount(): void {\n this.resizeObserver.disconnect();\n\n if (this.loadingPromise != null) {\n this.loadingPromise.cancel();\n }\n\n const { session } = this.props;\n this.destroyCommandEditor(session);\n }\n\n cancelListener?: () => void;\n\n openDocumentCleanup?: monaco.IDisposable;\n\n resizeObserver: ResizeObserver;\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 model = monaco.editor.createModel(\n '',\n language,\n MonacoUtils.generateConsoleUri()\n );\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 value: '',\n wordWrap: 'on',\n autoClosingBrackets: 'beforeWhitespace',\n model,\n } as const;\n\n const element = this.commandContainer.current;\n assertNotNull(element);\n\n this.commandEditor = monaco.editor.create(element, commandSettings);\n\n MonacoUtils.setEOL(this.commandEditor);\n this.openDocumentCleanup = MonacoUtils.openDocument(\n this.commandEditor,\n session\n );\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\n if (!keyEvent.altKey && !keyEvent.shiftKey && !keyEvent.metaKey) {\n if (\n keyEvent.code === 'ArrowUp' &&\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.code === 'ArrowDown' &&\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 (\n keyEvent.keyCode === monaco.KeyCode.Enter &&\n !this.isSuggestionMenuPopulated()\n ) {\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 }\n });\n\n // Disable the Ctrl+F functionality so that the find window doesn't appear\n MonacoUtils.disableKeyBindings(this.commandEditor, [\n monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyF, // eslint-disable-line no-bitwise\n ]);\n\n MonacoUtils.registerPasteHandler(this.commandEditor);\n\n this.commandEditor.focus();\n\n this.resizeObserver.observe(element);\n\n this.updateDimensions();\n\n this.setState({ model: this.commandEditor.getModel() });\n }\n\n /**\n * Closes the monaco document, disposes the Monaco editor, and clears all associated cleanup state.\n *\n * @param session The session that originally received `openDocument` for this editor\n */\n destroyCommandEditor(session: dh.IdeSession): void {\n if (this.commandEditor) {\n this.openDocumentCleanup?.dispose();\n this.openDocumentCleanup = undefined;\n MonacoUtils.closeDocument(this.commandEditor, session);\n this.commandEditor.dispose();\n this.commandEditor = undefined;\n }\n }\n\n handleResize(): 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 <MonacoProviders\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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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/console",
3
- "version": "1.27.2",
3
+ "version": "1.27.3",
4
4
  "description": "Deephaven Console",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -65,5 +65,5 @@
65
65
  "publishConfig": {
66
66
  "access": "public"
67
67
  },
68
- "gitHead": "7047f44f9e9bd67e44bcb856c1a611acd7ae8467"
68
+ "gitHead": "41d3fd52d0cc0c7079fa4d84c49cec7b5bcc2e4d"
69
69
  }