@deephaven/console 0.50.1-beta.2 → 0.50.1-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Console.d.ts CHANGED
@@ -39,6 +39,8 @@ interface ConsoleProps {
39
39
  * (file:File) => Promise<File[]>
40
40
  */
41
41
  unzip: (file: File) => Promise<JSZipObject[]>;
42
+ supportsType(type: string): boolean;
43
+ iconForType(type: string): ReactElement;
42
44
  }
43
45
  interface ConsoleState {
44
46
  consoleHistory: ConsoleHistoryActionItem[];
@@ -55,6 +57,8 @@ interface ConsoleState {
55
57
  isPrintStdOutEnabled: boolean;
56
58
  isClosePanelsOnDisconnectEnabled: boolean;
57
59
  }
60
+ declare function defaultSupportsType(): boolean;
61
+ declare function defaultIconForType(type: string): ReactElement;
58
62
  export declare class Console extends PureComponent<ConsoleProps, ConsoleState> {
59
63
  static defaultProps: {
60
64
  statusBarChildren: null;
@@ -67,6 +71,8 @@ export declare class Console extends PureComponent<ConsoleProps, ConsoleState> {
67
71
  objectMap: Map<any, any>;
68
72
  disabled: boolean;
69
73
  unzip: null;
74
+ supportsType: typeof defaultSupportsType;
75
+ iconForType: typeof defaultIconForType;
70
76
  };
71
77
  static LOG_THROTTLE: number;
72
78
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Console.d.ts","sourceRoot":"","sources":["../src/Console.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Console.d.ts","sourceRoot":"","sources":["../src/Console.tsx"],"names":[],"mappings":"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"}
package/dist/Console.js CHANGED
@@ -22,6 +22,7 @@ import CsvOverlay from "./csv/CsvOverlay.js";
22
22
  import CsvInputBar from "./csv/CsvInputBar.js";
23
23
  import "./Console.css";
24
24
  import ConsoleStatusBar from "./ConsoleStatusBar.js";
25
+ import { Fragment as _Fragment } from "react/jsx-runtime";
25
26
  import { jsx as _jsx } from "react/jsx-runtime";
26
27
  import { jsxs as _jsxs } from "react/jsx-runtime";
27
28
  var log = Log.module('Console');
@@ -30,6 +31,13 @@ var DEFAULT_SETTINGS = {
30
31
  isPrintStdOutEnabled: true,
31
32
  isClosePanelsOnDisconnectEnabled: true
32
33
  };
34
+ function defaultSupportsType() {
35
+ return true;
36
+ }
37
+ function defaultIconForType(type) {
38
+ // eslint-disable-next-line react/jsx-no-useless-fragment
39
+ return /*#__PURE__*/_jsx(_Fragment, {});
40
+ }
33
41
  export class Console extends PureComponent {
34
42
  /**
35
43
  * Check if the provided log level is an error type
@@ -778,7 +786,9 @@ export class Console extends PureComponent {
778
786
  commandHistoryStorage,
779
787
  timeZone,
780
788
  disabled,
781
- unzip
789
+ unzip,
790
+ supportsType,
791
+ iconForType
782
792
  } = this.props;
783
793
  var {
784
794
  consoleHeight,
@@ -834,7 +844,9 @@ export class Console extends PureComponent {
834
844
  items: consoleHistory,
835
845
  openObject: openObject,
836
846
  language: language,
837
- disabled: disabled
847
+ disabled: disabled,
848
+ supportsType: supportsType,
849
+ iconForType: iconForType
838
850
  }), historyChildren]
839
851
  })]
840
852
  }), !showCsvOverlay && /*#__PURE__*/_jsx(ConsoleInput, {
@@ -874,7 +886,9 @@ _defineProperty(Console, "defaultProps", {
874
886
  timeZone: 'America/New_York',
875
887
  objectMap: new Map(),
876
888
  disabled: false,
877
- unzip: null
889
+ unzip: null,
890
+ supportsType: defaultSupportsType,
891
+ iconForType: defaultIconForType
878
892
  });
879
893
  _defineProperty(Console, "LOG_THROTTLE", 500);
880
894
  export default Console;
@@ -1 +1 @@
1
- {"version":3,"file":"Console.js","names":["React","PureComponent","ContextActions","vsCheck","classNames","memoize","throttle","Log","assertNotNull","Pending","PromiseUtils","ConsoleHistory","SHORTCUTS","LogLevel","ConsoleInput","CsvOverlay","CsvInputBar","ConsoleStatusBar","log","module","DEFAULT_SETTINGS","isAutoLaunchPanelsEnabled","isPrintStdOutEnabled","isClosePanelsOnDisconnectEnabled","Console","isErrorLevel","logLevel","STDERR","ERROR","FATAL","isOutputLevel","STDOUT","constructor","props","scrollConsoleHistoryToBottom","setState","state","debug2","queuedLogMessages","length","consoleHistory","concat","LOG_THROTTLE","objectMap","values","actions","action","handleClearShortcut","shortcut","CONSOLE","CLEAR","handleFocusHistory","FOCUS_HISTORY","handleCommandResult","bind","handleCommandStarted","handleCommandSubmit","handleLogMessage","handleOverflowActions","handleScrollPaneScroll","handleToggleAutoLaunchPanels","handleToggleClosePanelsOnDisconnect","handleTogglePrintStdout","handleUploadCsv","handleHideCsv","handleCsvFileCanceled","handleCsvFileOpened","handleCsvPaste","handleDragEnter","handleDragLeave","handleClearDragError","handleOpenCsvTable","handleCsvUpdate","handleCsvError","handleCsvInProgress","consolePane","createRef","consoleInput","consoleHistoryScrollPane","pending","settings","consoleHeight","isScrollDecorationShown","objectHistoryMap","Map","showCsvOverlay","csvFile","csvPaste","dragError","csvUploadInProgress","componentDidMount","initConsoleLogging","dh","session","addEventListener","IdeSession","EVENT_COMMANDSTARTED","updateDimensions","componentDidUpdate","prevProps","prevState","sendSettingsChange","updateObjectMap","componentWillUnmount","removeEventListener","cancel","processLogMessageQueue","deinitConsoleLogging","cancelListener","onLogMessage","undefined","event","preventDefault","stopPropagation","current","clear","code","result","detail","wrappedResult","add","historyItem","command","disabledObjects","startTime","Date","now","cancelResult","commandHistoryStorage","language","scope","workspaceItemPromise","addItem","toJSON","catch","err","debug","then","resolved","error","handleCommandError","newHistoryItem","itemIndex","lastIndexOf","newHistory","updateHistory","updateKnownObjects","updateWorkspaceHistoryItem","closeRemovedItems","changes","openUpdatedItems","isCanceled","history","index","endTime","focusCommandHistory","message","queueLogMessage","push","openObject","created","updated","forEach","object","removed","closeObject","historyItemParam","disableOldObject","isRemoved","title","oldIndex","get","set","delete","promise","workspaceItem","updatedItem","data","updateItem","warn","force","pane","Math","abs","scrollHeight","clientHeight","scrollTop","window","requestAnimationFrame","scrollPane","file","value","e","dataTransfer","items","kind","MULTIPLE_FILE_ERROR","item","isValidDropItem","FILE_TYPE_ERROR","currentTarget","Element","relatedTarget","contains","name","type","VariableType","TABLE","isExistingObject","has","addConsoleHistoryMessage","group","groups","high","icon","order","clearConsoleHistory","runCode","keys","map","addCommand","focus","execute","setConsoleText","checkIfChanged","Object","hasChanges","i","key","setting","prevSetting","onSettingsChange","render","historyChildren","statusBarChildren","timeZone","disabled","unzip","consoleMenuObjects","getObjects","inputMaxHeight","round","contextActions","getContextActions","handleDragOver","INPUT_CLASS_NAME"],"sources":["../src/Console.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, {\n DragEvent,\n PureComponent,\n ReactElement,\n ReactNode,\n RefObject,\n} from 'react';\nimport { ContextActions, DropdownAction } from '@deephaven/components';\nimport { vsCheck } from '@deephaven/icons';\nimport classNames from 'classnames';\nimport memoize from 'memoize-one';\nimport throttle from 'lodash.throttle';\nimport type { JSZipObject } from 'jszip';\nimport type {\n dh as DhType,\n IdeSession,\n LogItem,\n VariableChanges,\n VariableDefinition,\n} from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport { assertNotNull, Pending, PromiseUtils } from '@deephaven/utils';\nimport ConsoleHistory from './console-history/ConsoleHistory';\nimport { ConsoleHistoryActionItem } from './console-history/ConsoleHistoryTypes';\nimport SHORTCUTS from './ConsoleShortcuts';\nimport LogLevel from './log/LogLevel';\nimport ConsoleInput from './ConsoleInput';\nimport CsvOverlay from './csv/CsvOverlay';\nimport CsvInputBar from './csv/CsvInputBar';\nimport './Console.scss';\nimport ConsoleStatusBar from './ConsoleStatusBar';\nimport {\n CommandHistoryStorage,\n CommandHistoryStorageItem,\n} from './command-history';\n\nconst log = Log.module('Console');\n\ninterface Settings {\n isAutoLaunchPanelsEnabled: boolean;\n isPrintStdOutEnabled: boolean;\n isClosePanelsOnDisconnectEnabled: boolean;\n}\n\nconst DEFAULT_SETTINGS: Settings = {\n isAutoLaunchPanelsEnabled: true,\n isPrintStdOutEnabled: true,\n isClosePanelsOnDisconnectEnabled: true,\n} as const;\n\ninterface ConsoleProps {\n dh: DhType;\n statusBarChildren: ReactNode;\n settings: Partial<Settings>;\n focusCommandHistory: () => void;\n openObject: (object: VariableDefinition) => void;\n closeObject: (object: VariableDefinition) => void;\n session: IdeSession;\n language: string;\n commandHistoryStorage: CommandHistoryStorage;\n onSettingsChange: (settings: Record<string, unknown>) => void;\n scope: string;\n actions: DropdownAction[];\n timeZone: string;\n\n // Children shown at the bottom of the console history\n historyChildren: ReactNode;\n\n // Known object map\n objectMap: Map<string, VariableDefinition>;\n\n disabled: boolean;\n\n /**\n * Function to unzip a zip file. If not provided, zip files will not be accepted\n * (file:File) => Promise<File[]>\n */\n unzip: (file: File) => Promise<JSZipObject[]>;\n}\n\ninterface ConsoleState {\n // Need separate histories as console history has stdout/stderr output\n consoleHistory: ConsoleHistoryActionItem[];\n\n // Height of the viewport of the console input and history\n consoleHeight: number;\n\n isScrollDecorationShown: boolean;\n\n // Location of objects in the console history\n objectHistoryMap: Map<string, number>;\n\n // The object definitions, name/type\n objectMap: Map<string, VariableDefinition>;\n\n showCsvOverlay: boolean;\n csvFile: File | null;\n csvPaste: string | null;\n dragError: string | null;\n csvUploadInProgress: boolean;\n isAutoLaunchPanelsEnabled: boolean;\n isPrintStdOutEnabled: boolean;\n isClosePanelsOnDisconnectEnabled: boolean;\n}\nexport class Console extends PureComponent<ConsoleProps, ConsoleState> {\n static defaultProps = {\n statusBarChildren: null,\n settings: {},\n onSettingsChange: (): void => undefined,\n scope: null,\n actions: [],\n historyChildren: null,\n timeZone: 'America/New_York',\n objectMap: new Map(),\n disabled: false,\n unzip: null,\n };\n\n static LOG_THROTTLE = 500;\n\n /**\n * Check if the provided log level is an error type\n * @param logLevel The LogLevel being checked\n * @returns true if the log level is an error level log\n */\n static isErrorLevel(logLevel: string): boolean {\n return (\n logLevel === LogLevel.STDERR ||\n logLevel === LogLevel.ERROR ||\n logLevel === LogLevel.FATAL\n );\n }\n\n /**\n * Check if the provided log level is output level\n * @param logLevel The LogLevel being checked\n * @returns true if the log level should be output to the console\n */\n static isOutputLevel(\n logLevel: (typeof LogLevel)[keyof typeof LogLevel]\n ): boolean {\n // We want all errors to be output, in addition to STDOUT.\n // That way the user is more likely to see them.\n return logLevel === LogLevel.STDOUT || Console.isErrorLevel(logLevel);\n }\n\n constructor(props: ConsoleProps) {\n super(props);\n\n this.handleCommandResult = this.handleCommandResult.bind(this);\n this.handleCommandStarted = this.handleCommandStarted.bind(this);\n this.handleCommandSubmit = this.handleCommandSubmit.bind(this);\n this.handleClearShortcut = this.handleClearShortcut.bind(this);\n this.handleFocusHistory = this.handleFocusHistory.bind(this);\n this.handleLogMessage = this.handleLogMessage.bind(this);\n this.handleOverflowActions = this.handleOverflowActions.bind(this);\n this.handleScrollPaneScroll = this.handleScrollPaneScroll.bind(this);\n this.handleToggleAutoLaunchPanels =\n this.handleToggleAutoLaunchPanels.bind(this);\n this.handleToggleClosePanelsOnDisconnect =\n this.handleToggleClosePanelsOnDisconnect.bind(this);\n this.handleTogglePrintStdout = this.handleTogglePrintStdout.bind(this);\n this.handleUploadCsv = this.handleUploadCsv.bind(this);\n this.handleHideCsv = this.handleHideCsv.bind(this);\n this.handleCsvFileCanceled = this.handleCsvFileCanceled.bind(this);\n this.handleCsvFileOpened = this.handleCsvFileOpened.bind(this);\n this.handleCsvPaste = this.handleCsvPaste.bind(this);\n this.handleDragEnter = this.handleDragEnter.bind(this);\n this.handleDragLeave = this.handleDragLeave.bind(this);\n this.handleClearDragError = this.handleClearDragError.bind(this);\n this.handleOpenCsvTable = this.handleOpenCsvTable.bind(this);\n this.handleCsvUpdate = this.handleCsvUpdate.bind(this);\n this.handleCsvError = this.handleCsvError.bind(this);\n this.handleCsvInProgress = this.handleCsvInProgress.bind(this);\n\n this.consolePane = React.createRef();\n this.consoleInput = React.createRef();\n this.consoleHistoryScrollPane = React.createRef();\n this.pending = new Pending();\n this.queuedLogMessages = [];\n\n const { objectMap, settings } = this.props;\n\n this.state = {\n // Need separate histories as console history has stdout/stderr output\n consoleHistory: [],\n\n // Height of the viewport of the console input and history\n consoleHeight: 0,\n\n isScrollDecorationShown: false,\n\n // Location of objects in the console history\n objectHistoryMap: new Map(),\n\n // The object definitions, name/type\n objectMap: new Map(objectMap),\n\n showCsvOverlay: false,\n csvFile: null,\n csvPaste: null,\n dragError: null,\n csvUploadInProgress: false,\n\n ...DEFAULT_SETTINGS,\n ...settings,\n };\n }\n\n componentDidMount(): void {\n this.initConsoleLogging();\n\n const { dh, session } = this.props;\n session.addEventListener(\n dh.IdeSession.EVENT_COMMANDSTARTED,\n this.handleCommandStarted\n );\n\n this.updateDimensions();\n }\n\n componentDidUpdate(prevProps: ConsoleProps, prevState: ConsoleState): void {\n const { props, state } = this;\n this.sendSettingsChange(prevState, state);\n\n if (props.objectMap !== prevProps.objectMap) {\n this.updateObjectMap();\n }\n }\n\n componentWillUnmount(): void {\n const { dh, session } = this.props;\n\n session.removeEventListener(\n dh.IdeSession.EVENT_COMMANDSTARTED,\n this.handleCommandStarted\n );\n\n this.pending.cancel();\n this.processLogMessageQueue.cancel();\n\n this.deinitConsoleLogging();\n }\n\n cancelListener?: () => void;\n\n consolePane: RefObject<HTMLDivElement>;\n\n consoleInput: RefObject<ConsoleInput>;\n\n consoleHistoryScrollPane: RefObject<HTMLDivElement>;\n\n pending: Pending;\n\n queuedLogMessages: ConsoleHistoryActionItem[];\n\n initConsoleLogging(): void {\n const { session } = this.props;\n this.cancelListener = session.onLogMessage(this.handleLogMessage);\n }\n\n deinitConsoleLogging(): void {\n if (this.cancelListener != null) {\n this.cancelListener();\n this.cancelListener = undefined;\n }\n }\n\n handleClearShortcut(event: CustomEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n this.consoleInput.current?.clear();\n }\n\n handleCommandStarted(event: CustomEvent): void {\n const { code, result } = event.detail;\n const wrappedResult = this.pending.add(result);\n const historyItem = {\n command: code,\n disabledObjects: [],\n startTime: Date.now(),\n cancelResult: () => {\n result.cancel();\n },\n wrappedResult,\n };\n\n const { commandHistoryStorage, language, scope } = this.props;\n const workspaceItemPromise = commandHistoryStorage.addItem(\n language,\n scope,\n code,\n {\n command: code,\n startTime: new Date().toJSON(),\n }\n );\n workspaceItemPromise.catch(err => {\n log.debug('Error adding workspace item', err);\n });\n\n this.setState(\n state => ({\n consoleHistory: state.consoleHistory.concat(historyItem),\n }),\n () => {\n this.scrollConsoleHistoryToBottom(true);\n }\n );\n\n wrappedResult\n .then(resolved => {\n this.handleCommandResult(resolved, historyItem, workspaceItemPromise);\n })\n .catch(error => {\n this.handleCommandError(error, historyItem, workspaceItemPromise);\n });\n }\n\n handleCommandResult(\n result:\n | {\n message: string;\n error?: string;\n changes: VariableChanges;\n }\n | undefined,\n historyItem: ConsoleHistoryActionItem,\n workspaceItemPromise: Promise<CommandHistoryStorageItem>\n ): void {\n const newHistoryItem = {\n ...historyItem,\n wrappedResult: undefined,\n cancelResult: undefined,\n result: result ?? historyItem.result,\n };\n\n this.setState(({ consoleHistory }) => {\n const itemIndex = consoleHistory.lastIndexOf(historyItem);\n if (itemIndex < 0) {\n log.error(`historyItem not found in consoleHistory`);\n return null;\n }\n const newHistory = consoleHistory.concat();\n newHistory[itemIndex] = newHistoryItem;\n\n return { consoleHistory: newHistory };\n });\n\n if (!result) {\n return;\n }\n\n this.updateHistory(result, newHistoryItem);\n this.updateKnownObjects(newHistoryItem);\n this.updateWorkspaceHistoryItem(\n { error: result.error },\n workspaceItemPromise\n );\n\n this.closeRemovedItems(result.changes);\n this.openUpdatedItems(result.changes);\n }\n\n handleCommandError(\n error: unknown,\n historyItem: ConsoleHistoryActionItem,\n workspaceItemPromise: Promise<CommandHistoryStorageItem>\n ): void {\n if (PromiseUtils.isCanceled(error)) {\n log.debug('Called handleCommandError on a cancelled promise result');\n return;\n }\n\n this.updateWorkspaceHistoryItem(\n { error: `${error}` },\n workspaceItemPromise\n );\n\n this.setState(state => {\n const history = state.consoleHistory.concat();\n const index = history.lastIndexOf(historyItem);\n const newHistoryItem = { ...historyItem };\n newHistoryItem.wrappedResult = undefined;\n newHistoryItem.cancelResult = undefined;\n newHistoryItem.endTime = Date.now();\n newHistoryItem.result = { error };\n history[index] = newHistoryItem;\n return { consoleHistory: history };\n });\n }\n\n handleFocusHistory(event: CustomEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n const { focusCommandHistory } = this.props;\n focusCommandHistory();\n }\n\n handleLogMessage(message: LogItem): void {\n const { isPrintStdOutEnabled } = this.state;\n if (!isPrintStdOutEnabled) {\n return;\n }\n\n if (\n Console.isOutputLevel(\n message.logLevel as (typeof LogLevel)[keyof typeof LogLevel]\n )\n ) {\n this.queueLogMessage(message.message, message.logLevel);\n }\n }\n\n queueLogMessage(message: string, logLevel: string): void {\n const result: Record<string, string> = {};\n if (\n Console.isErrorLevel(logLevel as (typeof LogLevel)[keyof typeof LogLevel])\n ) {\n result.error = message;\n } else {\n result.message = message;\n }\n\n const historyItem = { command: undefined, result };\n\n this.queuedLogMessages.push(historyItem);\n\n this.processLogMessageQueue();\n }\n\n processLogMessageQueue = throttle(() => {\n this.scrollConsoleHistoryToBottom();\n\n this.setState(state => {\n log.debug2(\n 'processLogMessageQueue',\n this.queuedLogMessages.length,\n ' items'\n );\n\n let { consoleHistory } = state;\n consoleHistory = consoleHistory.concat(this.queuedLogMessages);\n this.queuedLogMessages = [];\n\n return { consoleHistory };\n });\n }, Console.LOG_THROTTLE);\n\n openUpdatedItems(changes: VariableChanges): void {\n const { isAutoLaunchPanelsEnabled } = this.state;\n if (changes == null || !isAutoLaunchPanelsEnabled) {\n return;\n }\n\n const { openObject } = this.props;\n [...changes.created, ...changes.updated].forEach(object =>\n openObject(object)\n );\n }\n\n closeRemovedItems(changes: VariableChanges): void {\n if (\n changes == null ||\n changes.removed == null ||\n changes.removed.length === 0\n ) {\n return;\n }\n\n const { closeObject } = this.props;\n const { removed } = changes;\n removed.forEach(object => closeObject(object));\n }\n\n updateHistory(\n result: { changes: unknown },\n historyItemParam: ConsoleHistoryActionItem\n ): void {\n const historyItem = historyItemParam;\n if (result == null || result.changes == null || historyItem == null) {\n return;\n }\n\n historyItem.endTime = Date.now();\n\n this.scrollConsoleHistoryToBottom();\n\n // Update history to re-render items as necessary\n this.setState(state => {\n const consoleHistory = state.consoleHistory.concat();\n return { consoleHistory };\n });\n }\n\n updateKnownObjects(historyItem: ConsoleHistoryActionItem): void {\n let changes: undefined | VariableChanges;\n if (historyItem.result) {\n changes = historyItem.result.changes;\n }\n if (\n !changes ||\n ((changes.created == null || changes.created.length === 0) &&\n (changes.updated == null || changes.updated.length === 0) &&\n (changes.removed == null || changes.removed.length === 0))\n ) {\n log.debug2('updateKnownObjects no changes');\n return;\n }\n\n this.setState(state => {\n let { consoleHistory } = state;\n const itemIndex = consoleHistory.lastIndexOf(historyItem);\n if (itemIndex < 0) {\n log.error(`historyItem not found in state.consoleHistory`);\n return null;\n }\n\n const objectHistoryMap = new Map(state.objectHistoryMap);\n const objectMap = new Map(state.objectMap);\n\n const disableOldObject = (\n object: VariableDefinition,\n isRemoved = false\n ): void => {\n const { title } = object;\n assertNotNull(title);\n const oldIndex = objectHistoryMap.get(title);\n // oldIndex can be -1 if a object is active but doesn't have a command in consoleHistory\n // this can happen after clearing the console using 'clear' or 'cls' command\n\n if (oldIndex != null && oldIndex >= 0) {\n // disable outdated object variable in the old consoleHistory item\n if (consoleHistory === state.consoleHistory) {\n // First item in the history being updated,\n consoleHistory = consoleHistory.concat();\n }\n const newHistoryItem = {\n ...consoleHistory[oldIndex],\n disabledObjects: [\n ...(consoleHistory[oldIndex].disabledObjects ?? []),\n title,\n ],\n };\n consoleHistory[oldIndex] = newHistoryItem;\n }\n objectHistoryMap.set(title, itemIndex);\n if (isRemoved) {\n objectMap.delete(title);\n } else {\n objectMap.set(title, object);\n }\n };\n\n changes?.updated.forEach(object => disableOldObject(object));\n changes?.removed.forEach(object => disableOldObject(object, true));\n\n // Created objects have to be processed after removed\n // in case the same object name is present in both removed and created\n changes?.created.forEach(object => {\n const { title } = object;\n assertNotNull(title);\n objectHistoryMap.set(title, itemIndex);\n objectMap.set(title, object);\n });\n\n return { objectHistoryMap, objectMap, consoleHistory };\n });\n }\n\n updateObjectMap(): void {\n const { objectMap } = this.props;\n this.setState({ objectMap });\n }\n\n /**\n * Updates an existing workspace CommandHistoryItem\n * @param result The result to store with the history item. Could be empty object for success\n * @param workspaceItemPromise The workspace data row promise for the workspace item to be updated\n */\n updateWorkspaceHistoryItem(\n result: { error?: string },\n workspaceItemPromise: Promise<CommandHistoryStorageItem>\n ): void {\n const promise = this.pending.add(workspaceItemPromise);\n\n const endTime = new Date().toJSON();\n promise\n .then(workspaceItem => {\n const updatedItem = {\n ...workspaceItem,\n data: {\n ...workspaceItem.data,\n endTime,\n result,\n },\n };\n\n const { commandHistoryStorage, language } = this.props;\n commandHistoryStorage.updateItem(language, updatedItem).catch(err => {\n log.warn('Error updating command history storage', err);\n });\n })\n .catch(err => {\n log.debug('Error updating workspace history item', err);\n });\n }\n\n scrollConsoleHistoryToBottom(force = false): void {\n const pane = this.consoleHistoryScrollPane.current;\n assertNotNull(pane);\n if (\n !force &&\n Math.abs(pane.scrollHeight - pane.clientHeight - pane.scrollTop) >= 1\n ) {\n return;\n }\n\n window.requestAnimationFrame(() => {\n pane.scrollTop = pane.scrollHeight;\n });\n }\n\n handleScrollPaneScroll(): void {\n const scrollPane = this.consoleHistoryScrollPane.current;\n assertNotNull(scrollPane);\n if (\n scrollPane.scrollTop > 0 &&\n scrollPane.scrollHeight > scrollPane.clientHeight\n ) {\n this.setState({ isScrollDecorationShown: true });\n } else {\n this.setState({ isScrollDecorationShown: false });\n }\n }\n\n handleToggleAutoLaunchPanels(): void {\n this.setState(state => ({\n isAutoLaunchPanelsEnabled: !state.isAutoLaunchPanelsEnabled,\n }));\n }\n\n handleToggleClosePanelsOnDisconnect(): void {\n this.setState(state => ({\n isClosePanelsOnDisconnectEnabled: !state.isClosePanelsOnDisconnectEnabled,\n }));\n }\n\n handleTogglePrintStdout(): void {\n this.setState(state => ({\n isPrintStdOutEnabled: !state.isPrintStdOutEnabled,\n }));\n }\n\n handleUploadCsv(): void {\n this.setState({\n showCsvOverlay: true,\n dragError: null,\n csvUploadInProgress: false,\n });\n }\n\n handleHideCsv(): void {\n this.setState({\n showCsvOverlay: false,\n csvFile: null,\n csvPaste: null,\n dragError: null,\n csvUploadInProgress: false,\n });\n }\n\n handleCsvFileCanceled(): void {\n this.setState({ csvFile: null, csvPaste: null });\n }\n\n handleCsvFileOpened(file: File): void {\n this.setState({ csvFile: file, csvPaste: null });\n }\n\n handleCsvPaste(value: string): void {\n this.setState({ csvFile: null, csvPaste: value });\n }\n\n handleDragEnter(e: DragEvent<HTMLDivElement>): void {\n if (\n e.dataTransfer == null ||\n e.dataTransfer.items == null ||\n e.dataTransfer.items.length === 0 ||\n e.dataTransfer.items[0].kind === 'string'\n ) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n this.setState({ showCsvOverlay: true });\n\n const { items } = e.dataTransfer;\n if (items.length > 1) {\n this.setState({ dragError: CsvOverlay.MULTIPLE_FILE_ERROR });\n return;\n }\n\n const item = items[0];\n if (CsvOverlay.isValidDropItem(item)) {\n this.setState({ dragError: null });\n } else {\n this.setState({ dragError: CsvOverlay.FILE_TYPE_ERROR });\n }\n }\n\n handleDragLeave(e: DragEvent<HTMLDivElement>): void {\n // DragLeave gets fired for every child element, so make sure we're actually leaving the drop zone\n if (\n e.currentTarget == null ||\n (e.currentTarget instanceof Element &&\n e.relatedTarget instanceof Element &&\n e.currentTarget.contains(e.relatedTarget))\n ) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n this.setState({ showCsvOverlay: false, dragError: null });\n }\n\n handleClearDragError(): void {\n this.setState({ dragError: null });\n }\n\n handleOpenCsvTable(title: string): void {\n const { dh, openObject, commandHistoryStorage, language, scope } =\n this.props;\n const { consoleHistory, objectMap } = this.state;\n const object = { name: title, title, type: dh.VariableType.TABLE };\n const isExistingObject = objectMap.has(title);\n const historyItem = {\n startTime: Date.now(),\n endTime: Date.now(),\n disabledObjects: [],\n result: {\n changes: {\n created: [],\n updated: [],\n removed: [],\n [isExistingObject ? 'updated' : 'created']: [object],\n },\n },\n };\n\n const history = consoleHistory.concat(historyItem);\n this.setState({ consoleHistory: history });\n this.scrollConsoleHistoryToBottom(true);\n this.updateKnownObjects(historyItem);\n openObject({ name: title, title, type: dh.VariableType.TABLE });\n commandHistoryStorage.addItem(language, scope, title, {\n command: title,\n startTime: new Date().toJSON(),\n endTime: new Date().toJSON(),\n });\n }\n\n addConsoleHistoryMessage(message?: string, error?: string): void {\n const { consoleHistory } = this.state;\n const historyItem = {\n startTime: Date.now(),\n endTime: Date.now(),\n result: { message, error },\n };\n const history = consoleHistory.concat(historyItem);\n this.setState({\n consoleHistory: history,\n });\n }\n\n handleCsvUpdate(message: string): void {\n this.addConsoleHistoryMessage(message);\n }\n\n handleCsvError(error: unknown): void {\n this.addConsoleHistoryMessage(\n undefined,\n error != null ? `${error}` : undefined\n );\n }\n\n handleCsvInProgress(csvUploadInProgress: boolean): void {\n this.setState({ csvUploadInProgress });\n }\n\n handleOverflowActions(): DropdownAction[] {\n const {\n isAutoLaunchPanelsEnabled,\n isClosePanelsOnDisconnectEnabled,\n isPrintStdOutEnabled,\n } = this.state;\n const { actions } = this.props;\n return [\n ...actions,\n {\n title: 'Print Stdout',\n action: this.handleTogglePrintStdout,\n group: ContextActions.groups.high,\n icon: isPrintStdOutEnabled ? vsCheck : undefined,\n order: 10,\n },\n {\n title: 'Auto Launch Panels',\n action: this.handleToggleAutoLaunchPanels,\n group: ContextActions.groups.high,\n icon: isAutoLaunchPanelsEnabled ? vsCheck : undefined,\n order: 20,\n },\n {\n title: 'Close Panels on Disconnect',\n action: this.handleToggleClosePanelsOnDisconnect,\n group: ContextActions.groups.high,\n icon: isClosePanelsOnDisconnectEnabled ? vsCheck : undefined,\n order: 30,\n },\n {\n title: 'Upload Table from File',\n action: this.handleUploadCsv,\n group: ContextActions.groups.high + 10,\n order: 40,\n },\n ];\n }\n\n handleCommandSubmit(command: string): void {\n if (command === 'clear' || command === 'cls') {\n this.clearConsoleHistory();\n } else if (command.length > 0) {\n // Result is handled in this.handleCommandStarted\n const { session } = this.props;\n session.runCode(command).catch(error => {\n log.error('There was an error initiating the command', error);\n });\n } else {\n // Empty command, just pump a blank line out to history\n const historyItem = {\n command: ' ',\n result: {},\n startTime: Date.now(),\n endTime: Date.now(),\n };\n\n this.scrollConsoleHistoryToBottom(true);\n\n this.setState(state => ({\n consoleHistory: state.consoleHistory.concat(historyItem),\n }));\n }\n }\n\n clearConsoleHistory(): void {\n this.pending.cancel();\n\n this.setState(state => {\n // Replace all values with -1 to indicate that table references are still active\n // but don't have corresponding command indexes in consoleHistory\n const objectHistoryMap = new Map(\n [...state.objectHistoryMap.keys()].map(name => [name, -1])\n );\n return { consoleHistory: [], objectHistoryMap };\n });\n }\n\n getObjects = memoize((objectMap: Map<string, VariableDefinition>) => [\n ...objectMap.values(),\n ]);\n\n getContextActions = memoize((actions: DropdownAction[]) => [\n ...actions,\n {\n action: this.handleClearShortcut,\n shortcut: SHORTCUTS.CONSOLE.CLEAR,\n },\n {\n action: this.handleFocusHistory,\n shortcut: SHORTCUTS.CONSOLE.FOCUS_HISTORY,\n },\n ]);\n\n addCommand(command: string, focus = true, execute = false): void {\n if (!this.consoleInput.current) {\n return;\n }\n this.consoleInput.current.setConsoleText(command, focus, execute);\n\n if (focus) {\n this.scrollConsoleHistoryToBottom(true);\n }\n }\n\n focus(): void {\n this.consoleInput.current?.focus();\n }\n\n sendSettingsChange(\n prevState: ConsoleState,\n state: ConsoleState,\n checkIfChanged = true\n ): void {\n const keys = Object.keys(DEFAULT_SETTINGS) as Array<keyof Settings>;\n const settings: Record<string, unknown> = {};\n let hasChanges = false;\n for (let i = 0; i < keys.length; i += 1) {\n const key = keys[i];\n const { [key]: setting } = state;\n const { [key]: prevSetting } = prevState;\n if (setting !== prevSetting) {\n hasChanges = true;\n }\n settings[key] = setting;\n }\n if (checkIfChanged && !hasChanges) {\n return;\n }\n const { onSettingsChange } = this.props;\n onSettingsChange(settings);\n }\n\n updateDimensions(): void {\n if (this.consolePane.current) {\n this.setState({\n consoleHeight: this.consolePane.current.clientHeight,\n });\n }\n if (this.consoleInput.current) {\n this.consoleInput.current.updateDimensions();\n }\n }\n\n render(): ReactElement {\n const {\n actions,\n dh,\n historyChildren,\n language,\n statusBarChildren,\n openObject,\n session,\n scope,\n commandHistoryStorage,\n timeZone,\n disabled,\n unzip,\n } = this.props;\n const {\n consoleHeight,\n consoleHistory,\n isScrollDecorationShown,\n objectMap,\n showCsvOverlay,\n csvFile,\n csvPaste,\n dragError,\n csvUploadInProgress,\n } = this.state;\n const consoleMenuObjects = this.getObjects(objectMap);\n const inputMaxHeight = Math.round(consoleHeight * 0.7);\n const contextActions = this.getContextActions(actions);\n\n return (\n <div\n role=\"presentation\"\n className={classNames('iris-console', 'h-100', 'w-100', { disabled })}\n >\n <div className=\"console-pane\" ref={this.consolePane}>\n <ConsoleStatusBar\n dh={dh}\n session={session}\n overflowActions={this.handleOverflowActions}\n openObject={openObject}\n objects={consoleMenuObjects}\n >\n {statusBarChildren}\n </ConsoleStatusBar>\n <div\n className=\"console-csv-container\"\n onDragOver={CsvOverlay.handleDragOver}\n onDragEnter={this.handleDragEnter}\n onDragLeave={this.handleDragLeave}\n >\n {showCsvOverlay && (\n <CsvOverlay\n onCancel={this.handleCsvFileCanceled}\n onFileOpened={this.handleCsvFileOpened}\n onPaste={this.handleCsvPaste}\n clearDragError={this.handleClearDragError}\n dragError={dragError}\n onError={this.handleCsvError}\n uploadInProgress={csvUploadInProgress}\n allowZip={unzip != null}\n />\n )}\n <div\n role=\"presentation\"\n className={classNames('scroll-pane no-scroll-x', {\n 'scroll-decoration': isScrollDecorationShown,\n })}\n onScroll={this.handleScrollPaneScroll}\n ref={this.consoleHistoryScrollPane}\n >\n <ConsoleHistory\n items={consoleHistory}\n openObject={openObject}\n language={language}\n disabled={disabled}\n />\n {historyChildren}\n </div>\n </div>\n {!showCsvOverlay && (\n <ConsoleInput\n ref={this.consoleInput}\n session={session}\n language={language}\n scope={scope}\n onSubmit={this.handleCommandSubmit}\n maxHeight={inputMaxHeight}\n commandHistoryStorage={commandHistoryStorage}\n />\n )}\n {showCsvOverlay && (\n <CsvInputBar\n session={session}\n onOpenTable={this.handleOpenCsvTable}\n onClose={this.handleHideCsv}\n onUpdate={this.handleCsvUpdate}\n onError={this.handleCsvError}\n file={csvFile ?? undefined}\n paste={csvPaste ?? undefined}\n onInProgress={this.handleCsvInProgress}\n timeZone={timeZone}\n unzip={unzip}\n />\n )}\n </div>\n <ContextActions\n actions={contextActions}\n ignoreClassNames={[ConsoleInput.INPUT_CLASS_NAME]}\n />\n </div>\n );\n }\n}\n\nexport default Console;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Console.js","names":["React","PureComponent","ContextActions","vsCheck","classNames","memoize","throttle","Log","assertNotNull","Pending","PromiseUtils","ConsoleHistory","SHORTCUTS","LogLevel","ConsoleInput","CsvOverlay","CsvInputBar","ConsoleStatusBar","log","module","DEFAULT_SETTINGS","isAutoLaunchPanelsEnabled","isPrintStdOutEnabled","isClosePanelsOnDisconnectEnabled","defaultSupportsType","defaultIconForType","type","Console","isErrorLevel","logLevel","STDERR","ERROR","FATAL","isOutputLevel","STDOUT","constructor","props","scrollConsoleHistoryToBottom","setState","state","debug2","queuedLogMessages","length","consoleHistory","concat","LOG_THROTTLE","objectMap","values","actions","action","handleClearShortcut","shortcut","CONSOLE","CLEAR","handleFocusHistory","FOCUS_HISTORY","handleCommandResult","bind","handleCommandStarted","handleCommandSubmit","handleLogMessage","handleOverflowActions","handleScrollPaneScroll","handleToggleAutoLaunchPanels","handleToggleClosePanelsOnDisconnect","handleTogglePrintStdout","handleUploadCsv","handleHideCsv","handleCsvFileCanceled","handleCsvFileOpened","handleCsvPaste","handleDragEnter","handleDragLeave","handleClearDragError","handleOpenCsvTable","handleCsvUpdate","handleCsvError","handleCsvInProgress","consolePane","createRef","consoleInput","consoleHistoryScrollPane","pending","settings","consoleHeight","isScrollDecorationShown","objectHistoryMap","Map","showCsvOverlay","csvFile","csvPaste","dragError","csvUploadInProgress","componentDidMount","initConsoleLogging","dh","session","addEventListener","IdeSession","EVENT_COMMANDSTARTED","updateDimensions","componentDidUpdate","prevProps","prevState","sendSettingsChange","updateObjectMap","componentWillUnmount","removeEventListener","cancel","processLogMessageQueue","deinitConsoleLogging","cancelListener","onLogMessage","undefined","event","preventDefault","stopPropagation","current","clear","code","result","detail","wrappedResult","add","historyItem","command","disabledObjects","startTime","Date","now","cancelResult","commandHistoryStorage","language","scope","workspaceItemPromise","addItem","toJSON","catch","err","debug","then","resolved","error","handleCommandError","newHistoryItem","itemIndex","lastIndexOf","newHistory","updateHistory","updateKnownObjects","updateWorkspaceHistoryItem","closeRemovedItems","changes","openUpdatedItems","isCanceled","history","index","endTime","focusCommandHistory","message","queueLogMessage","push","openObject","created","updated","forEach","object","removed","closeObject","historyItemParam","disableOldObject","isRemoved","title","oldIndex","get","set","delete","promise","workspaceItem","updatedItem","data","updateItem","warn","force","pane","Math","abs","scrollHeight","clientHeight","scrollTop","window","requestAnimationFrame","scrollPane","file","value","e","dataTransfer","items","kind","MULTIPLE_FILE_ERROR","item","isValidDropItem","FILE_TYPE_ERROR","currentTarget","Element","relatedTarget","contains","name","VariableType","TABLE","isExistingObject","has","addConsoleHistoryMessage","group","groups","high","icon","order","clearConsoleHistory","runCode","keys","map","addCommand","focus","execute","setConsoleText","checkIfChanged","Object","hasChanges","i","key","setting","prevSetting","onSettingsChange","render","historyChildren","statusBarChildren","timeZone","disabled","unzip","supportsType","iconForType","consoleMenuObjects","getObjects","inputMaxHeight","round","contextActions","getContextActions","handleDragOver","INPUT_CLASS_NAME"],"sources":["../src/Console.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, {\n DragEvent,\n PureComponent,\n ReactElement,\n ReactNode,\n RefObject,\n} from 'react';\nimport { ContextActions, DropdownAction } from '@deephaven/components';\nimport { vsCheck } from '@deephaven/icons';\nimport classNames from 'classnames';\nimport memoize from 'memoize-one';\nimport throttle from 'lodash.throttle';\nimport type { JSZipObject } from 'jszip';\nimport type {\n dh as DhType,\n IdeSession,\n LogItem,\n VariableChanges,\n VariableDefinition,\n} from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport { assertNotNull, Pending, PromiseUtils } from '@deephaven/utils';\nimport ConsoleHistory from './console-history/ConsoleHistory';\nimport { ConsoleHistoryActionItem } from './console-history/ConsoleHistoryTypes';\nimport SHORTCUTS from './ConsoleShortcuts';\nimport LogLevel from './log/LogLevel';\nimport ConsoleInput from './ConsoleInput';\nimport CsvOverlay from './csv/CsvOverlay';\nimport CsvInputBar from './csv/CsvInputBar';\nimport './Console.scss';\nimport ConsoleStatusBar from './ConsoleStatusBar';\nimport {\n CommandHistoryStorage,\n CommandHistoryStorageItem,\n} from './command-history';\n\nconst log = Log.module('Console');\n\ninterface Settings {\n isAutoLaunchPanelsEnabled: boolean;\n isPrintStdOutEnabled: boolean;\n isClosePanelsOnDisconnectEnabled: boolean;\n}\n\nconst DEFAULT_SETTINGS: Settings = {\n isAutoLaunchPanelsEnabled: true,\n isPrintStdOutEnabled: true,\n isClosePanelsOnDisconnectEnabled: true,\n} as const;\n\ninterface ConsoleProps {\n dh: DhType;\n statusBarChildren: ReactNode;\n settings: Partial<Settings>;\n focusCommandHistory: () => void;\n openObject: (object: VariableDefinition) => void;\n closeObject: (object: VariableDefinition) => void;\n session: IdeSession;\n language: string;\n commandHistoryStorage: CommandHistoryStorage;\n onSettingsChange: (settings: Record<string, unknown>) => void;\n scope: string;\n actions: DropdownAction[];\n timeZone: string;\n\n // Children shown at the bottom of the console history\n historyChildren: ReactNode;\n\n // Known object map\n objectMap: Map<string, VariableDefinition>;\n\n disabled: boolean;\n\n /**\n * Function to unzip a zip file. If not provided, zip files will not be accepted\n * (file:File) => Promise<File[]>\n */\n unzip: (file: File) => Promise<JSZipObject[]>;\n supportsType(type: string): boolean;\n iconForType(type: string): ReactElement;\n}\n\ninterface ConsoleState {\n // Need separate histories as console history has stdout/stderr output\n consoleHistory: ConsoleHistoryActionItem[];\n\n // Height of the viewport of the console input and history\n consoleHeight: number;\n\n isScrollDecorationShown: boolean;\n\n // Location of objects in the console history\n objectHistoryMap: Map<string, number>;\n\n // The object definitions, name/type\n objectMap: Map<string, VariableDefinition>;\n\n showCsvOverlay: boolean;\n csvFile: File | null;\n csvPaste: string | null;\n dragError: string | null;\n csvUploadInProgress: boolean;\n isAutoLaunchPanelsEnabled: boolean;\n isPrintStdOutEnabled: boolean;\n isClosePanelsOnDisconnectEnabled: boolean;\n}\n\nfunction defaultSupportsType(): boolean {\n return true;\n}\n\nfunction defaultIconForType(type: string): ReactElement {\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return <></>;\n}\n\nexport class Console extends PureComponent<ConsoleProps, ConsoleState> {\n static defaultProps = {\n statusBarChildren: null,\n settings: {},\n onSettingsChange: (): void => undefined,\n scope: null,\n actions: [],\n historyChildren: null,\n timeZone: 'America/New_York',\n objectMap: new Map(),\n disabled: false,\n unzip: null,\n supportsType: defaultSupportsType,\n iconForType: defaultIconForType,\n };\n\n static LOG_THROTTLE = 500;\n\n /**\n * Check if the provided log level is an error type\n * @param logLevel The LogLevel being checked\n * @returns true if the log level is an error level log\n */\n static isErrorLevel(logLevel: string): boolean {\n return (\n logLevel === LogLevel.STDERR ||\n logLevel === LogLevel.ERROR ||\n logLevel === LogLevel.FATAL\n );\n }\n\n /**\n * Check if the provided log level is output level\n * @param logLevel The LogLevel being checked\n * @returns true if the log level should be output to the console\n */\n static isOutputLevel(\n logLevel: (typeof LogLevel)[keyof typeof LogLevel]\n ): boolean {\n // We want all errors to be output, in addition to STDOUT.\n // That way the user is more likely to see them.\n return logLevel === LogLevel.STDOUT || Console.isErrorLevel(logLevel);\n }\n\n constructor(props: ConsoleProps) {\n super(props);\n\n this.handleCommandResult = this.handleCommandResult.bind(this);\n this.handleCommandStarted = this.handleCommandStarted.bind(this);\n this.handleCommandSubmit = this.handleCommandSubmit.bind(this);\n this.handleClearShortcut = this.handleClearShortcut.bind(this);\n this.handleFocusHistory = this.handleFocusHistory.bind(this);\n this.handleLogMessage = this.handleLogMessage.bind(this);\n this.handleOverflowActions = this.handleOverflowActions.bind(this);\n this.handleScrollPaneScroll = this.handleScrollPaneScroll.bind(this);\n this.handleToggleAutoLaunchPanels =\n this.handleToggleAutoLaunchPanels.bind(this);\n this.handleToggleClosePanelsOnDisconnect =\n this.handleToggleClosePanelsOnDisconnect.bind(this);\n this.handleTogglePrintStdout = this.handleTogglePrintStdout.bind(this);\n this.handleUploadCsv = this.handleUploadCsv.bind(this);\n this.handleHideCsv = this.handleHideCsv.bind(this);\n this.handleCsvFileCanceled = this.handleCsvFileCanceled.bind(this);\n this.handleCsvFileOpened = this.handleCsvFileOpened.bind(this);\n this.handleCsvPaste = this.handleCsvPaste.bind(this);\n this.handleDragEnter = this.handleDragEnter.bind(this);\n this.handleDragLeave = this.handleDragLeave.bind(this);\n this.handleClearDragError = this.handleClearDragError.bind(this);\n this.handleOpenCsvTable = this.handleOpenCsvTable.bind(this);\n this.handleCsvUpdate = this.handleCsvUpdate.bind(this);\n this.handleCsvError = this.handleCsvError.bind(this);\n this.handleCsvInProgress = this.handleCsvInProgress.bind(this);\n\n this.consolePane = React.createRef();\n this.consoleInput = React.createRef();\n this.consoleHistoryScrollPane = React.createRef();\n this.pending = new Pending();\n this.queuedLogMessages = [];\n\n const { objectMap, settings } = this.props;\n\n this.state = {\n // Need separate histories as console history has stdout/stderr output\n consoleHistory: [],\n\n // Height of the viewport of the console input and history\n consoleHeight: 0,\n\n isScrollDecorationShown: false,\n\n // Location of objects in the console history\n objectHistoryMap: new Map(),\n\n // The object definitions, name/type\n objectMap: new Map(objectMap),\n\n showCsvOverlay: false,\n csvFile: null,\n csvPaste: null,\n dragError: null,\n csvUploadInProgress: false,\n\n ...DEFAULT_SETTINGS,\n ...settings,\n };\n }\n\n componentDidMount(): void {\n this.initConsoleLogging();\n\n const { dh, session } = this.props;\n session.addEventListener(\n dh.IdeSession.EVENT_COMMANDSTARTED,\n this.handleCommandStarted\n );\n\n this.updateDimensions();\n }\n\n componentDidUpdate(prevProps: ConsoleProps, prevState: ConsoleState): void {\n const { props, state } = this;\n this.sendSettingsChange(prevState, state);\n\n if (props.objectMap !== prevProps.objectMap) {\n this.updateObjectMap();\n }\n }\n\n componentWillUnmount(): void {\n const { dh, session } = this.props;\n\n session.removeEventListener(\n dh.IdeSession.EVENT_COMMANDSTARTED,\n this.handleCommandStarted\n );\n\n this.pending.cancel();\n this.processLogMessageQueue.cancel();\n\n this.deinitConsoleLogging();\n }\n\n cancelListener?: () => void;\n\n consolePane: RefObject<HTMLDivElement>;\n\n consoleInput: RefObject<ConsoleInput>;\n\n consoleHistoryScrollPane: RefObject<HTMLDivElement>;\n\n pending: Pending;\n\n queuedLogMessages: ConsoleHistoryActionItem[];\n\n initConsoleLogging(): void {\n const { session } = this.props;\n this.cancelListener = session.onLogMessage(this.handleLogMessage);\n }\n\n deinitConsoleLogging(): void {\n if (this.cancelListener != null) {\n this.cancelListener();\n this.cancelListener = undefined;\n }\n }\n\n handleClearShortcut(event: CustomEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n this.consoleInput.current?.clear();\n }\n\n handleCommandStarted(event: CustomEvent): void {\n const { code, result } = event.detail;\n const wrappedResult = this.pending.add(result);\n const historyItem = {\n command: code,\n disabledObjects: [],\n startTime: Date.now(),\n cancelResult: () => {\n result.cancel();\n },\n wrappedResult,\n };\n\n const { commandHistoryStorage, language, scope } = this.props;\n const workspaceItemPromise = commandHistoryStorage.addItem(\n language,\n scope,\n code,\n {\n command: code,\n startTime: new Date().toJSON(),\n }\n );\n workspaceItemPromise.catch(err => {\n log.debug('Error adding workspace item', err);\n });\n\n this.setState(\n state => ({\n consoleHistory: state.consoleHistory.concat(historyItem),\n }),\n () => {\n this.scrollConsoleHistoryToBottom(true);\n }\n );\n\n wrappedResult\n .then(resolved => {\n this.handleCommandResult(resolved, historyItem, workspaceItemPromise);\n })\n .catch(error => {\n this.handleCommandError(error, historyItem, workspaceItemPromise);\n });\n }\n\n handleCommandResult(\n result:\n | {\n message: string;\n error?: string;\n changes: VariableChanges;\n }\n | undefined,\n historyItem: ConsoleHistoryActionItem,\n workspaceItemPromise: Promise<CommandHistoryStorageItem>\n ): void {\n const newHistoryItem = {\n ...historyItem,\n wrappedResult: undefined,\n cancelResult: undefined,\n result: result ?? historyItem.result,\n };\n\n this.setState(({ consoleHistory }) => {\n const itemIndex = consoleHistory.lastIndexOf(historyItem);\n if (itemIndex < 0) {\n log.error(`historyItem not found in consoleHistory`);\n return null;\n }\n const newHistory = consoleHistory.concat();\n newHistory[itemIndex] = newHistoryItem;\n\n return { consoleHistory: newHistory };\n });\n\n if (!result) {\n return;\n }\n\n this.updateHistory(result, newHistoryItem);\n this.updateKnownObjects(newHistoryItem);\n this.updateWorkspaceHistoryItem(\n { error: result.error },\n workspaceItemPromise\n );\n\n this.closeRemovedItems(result.changes);\n this.openUpdatedItems(result.changes);\n }\n\n handleCommandError(\n error: unknown,\n historyItem: ConsoleHistoryActionItem,\n workspaceItemPromise: Promise<CommandHistoryStorageItem>\n ): void {\n if (PromiseUtils.isCanceled(error)) {\n log.debug('Called handleCommandError on a cancelled promise result');\n return;\n }\n\n this.updateWorkspaceHistoryItem(\n { error: `${error}` },\n workspaceItemPromise\n );\n\n this.setState(state => {\n const history = state.consoleHistory.concat();\n const index = history.lastIndexOf(historyItem);\n const newHistoryItem = { ...historyItem };\n newHistoryItem.wrappedResult = undefined;\n newHistoryItem.cancelResult = undefined;\n newHistoryItem.endTime = Date.now();\n newHistoryItem.result = { error };\n history[index] = newHistoryItem;\n return { consoleHistory: history };\n });\n }\n\n handleFocusHistory(event: CustomEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n const { focusCommandHistory } = this.props;\n focusCommandHistory();\n }\n\n handleLogMessage(message: LogItem): void {\n const { isPrintStdOutEnabled } = this.state;\n if (!isPrintStdOutEnabled) {\n return;\n }\n\n if (\n Console.isOutputLevel(\n message.logLevel as (typeof LogLevel)[keyof typeof LogLevel]\n )\n ) {\n this.queueLogMessage(message.message, message.logLevel);\n }\n }\n\n queueLogMessage(message: string, logLevel: string): void {\n const result: Record<string, string> = {};\n if (\n Console.isErrorLevel(logLevel as (typeof LogLevel)[keyof typeof LogLevel])\n ) {\n result.error = message;\n } else {\n result.message = message;\n }\n\n const historyItem = { command: undefined, result };\n\n this.queuedLogMessages.push(historyItem);\n\n this.processLogMessageQueue();\n }\n\n processLogMessageQueue = throttle(() => {\n this.scrollConsoleHistoryToBottom();\n\n this.setState(state => {\n log.debug2(\n 'processLogMessageQueue',\n this.queuedLogMessages.length,\n ' items'\n );\n\n let { consoleHistory } = state;\n consoleHistory = consoleHistory.concat(this.queuedLogMessages);\n this.queuedLogMessages = [];\n\n return { consoleHistory };\n });\n }, Console.LOG_THROTTLE);\n\n openUpdatedItems(changes: VariableChanges): void {\n const { isAutoLaunchPanelsEnabled } = this.state;\n if (changes == null || !isAutoLaunchPanelsEnabled) {\n return;\n }\n\n const { openObject } = this.props;\n [...changes.created, ...changes.updated].forEach(object =>\n openObject(object)\n );\n }\n\n closeRemovedItems(changes: VariableChanges): void {\n if (\n changes == null ||\n changes.removed == null ||\n changes.removed.length === 0\n ) {\n return;\n }\n\n const { closeObject } = this.props;\n const { removed } = changes;\n removed.forEach(object => closeObject(object));\n }\n\n updateHistory(\n result: { changes: unknown },\n historyItemParam: ConsoleHistoryActionItem\n ): void {\n const historyItem = historyItemParam;\n if (result == null || result.changes == null || historyItem == null) {\n return;\n }\n\n historyItem.endTime = Date.now();\n\n this.scrollConsoleHistoryToBottom();\n\n // Update history to re-render items as necessary\n this.setState(state => {\n const consoleHistory = state.consoleHistory.concat();\n return { consoleHistory };\n });\n }\n\n updateKnownObjects(historyItem: ConsoleHistoryActionItem): void {\n let changes: undefined | VariableChanges;\n if (historyItem.result) {\n changes = historyItem.result.changes;\n }\n if (\n !changes ||\n ((changes.created == null || changes.created.length === 0) &&\n (changes.updated == null || changes.updated.length === 0) &&\n (changes.removed == null || changes.removed.length === 0))\n ) {\n log.debug2('updateKnownObjects no changes');\n return;\n }\n\n this.setState(state => {\n let { consoleHistory } = state;\n const itemIndex = consoleHistory.lastIndexOf(historyItem);\n if (itemIndex < 0) {\n log.error(`historyItem not found in state.consoleHistory`);\n return null;\n }\n\n const objectHistoryMap = new Map(state.objectHistoryMap);\n const objectMap = new Map(state.objectMap);\n\n const disableOldObject = (\n object: VariableDefinition,\n isRemoved = false\n ): void => {\n const { title } = object;\n assertNotNull(title);\n const oldIndex = objectHistoryMap.get(title);\n // oldIndex can be -1 if a object is active but doesn't have a command in consoleHistory\n // this can happen after clearing the console using 'clear' or 'cls' command\n\n if (oldIndex != null && oldIndex >= 0) {\n // disable outdated object variable in the old consoleHistory item\n if (consoleHistory === state.consoleHistory) {\n // First item in the history being updated,\n consoleHistory = consoleHistory.concat();\n }\n const newHistoryItem = {\n ...consoleHistory[oldIndex],\n disabledObjects: [\n ...(consoleHistory[oldIndex].disabledObjects ?? []),\n title,\n ],\n };\n consoleHistory[oldIndex] = newHistoryItem;\n }\n objectHistoryMap.set(title, itemIndex);\n if (isRemoved) {\n objectMap.delete(title);\n } else {\n objectMap.set(title, object);\n }\n };\n\n changes?.updated.forEach(object => disableOldObject(object));\n changes?.removed.forEach(object => disableOldObject(object, true));\n\n // Created objects have to be processed after removed\n // in case the same object name is present in both removed and created\n changes?.created.forEach(object => {\n const { title } = object;\n assertNotNull(title);\n objectHistoryMap.set(title, itemIndex);\n objectMap.set(title, object);\n });\n\n return { objectHistoryMap, objectMap, consoleHistory };\n });\n }\n\n updateObjectMap(): void {\n const { objectMap } = this.props;\n this.setState({ objectMap });\n }\n\n /**\n * Updates an existing workspace CommandHistoryItem\n * @param result The result to store with the history item. Could be empty object for success\n * @param workspaceItemPromise The workspace data row promise for the workspace item to be updated\n */\n updateWorkspaceHistoryItem(\n result: { error?: string },\n workspaceItemPromise: Promise<CommandHistoryStorageItem>\n ): void {\n const promise = this.pending.add(workspaceItemPromise);\n\n const endTime = new Date().toJSON();\n promise\n .then(workspaceItem => {\n const updatedItem = {\n ...workspaceItem,\n data: {\n ...workspaceItem.data,\n endTime,\n result,\n },\n };\n\n const { commandHistoryStorage, language } = this.props;\n commandHistoryStorage.updateItem(language, updatedItem).catch(err => {\n log.warn('Error updating command history storage', err);\n });\n })\n .catch(err => {\n log.debug('Error updating workspace history item', err);\n });\n }\n\n scrollConsoleHistoryToBottom(force = false): void {\n const pane = this.consoleHistoryScrollPane.current;\n assertNotNull(pane);\n if (\n !force &&\n Math.abs(pane.scrollHeight - pane.clientHeight - pane.scrollTop) >= 1\n ) {\n return;\n }\n\n window.requestAnimationFrame(() => {\n pane.scrollTop = pane.scrollHeight;\n });\n }\n\n handleScrollPaneScroll(): void {\n const scrollPane = this.consoleHistoryScrollPane.current;\n assertNotNull(scrollPane);\n if (\n scrollPane.scrollTop > 0 &&\n scrollPane.scrollHeight > scrollPane.clientHeight\n ) {\n this.setState({ isScrollDecorationShown: true });\n } else {\n this.setState({ isScrollDecorationShown: false });\n }\n }\n\n handleToggleAutoLaunchPanels(): void {\n this.setState(state => ({\n isAutoLaunchPanelsEnabled: !state.isAutoLaunchPanelsEnabled,\n }));\n }\n\n handleToggleClosePanelsOnDisconnect(): void {\n this.setState(state => ({\n isClosePanelsOnDisconnectEnabled: !state.isClosePanelsOnDisconnectEnabled,\n }));\n }\n\n handleTogglePrintStdout(): void {\n this.setState(state => ({\n isPrintStdOutEnabled: !state.isPrintStdOutEnabled,\n }));\n }\n\n handleUploadCsv(): void {\n this.setState({\n showCsvOverlay: true,\n dragError: null,\n csvUploadInProgress: false,\n });\n }\n\n handleHideCsv(): void {\n this.setState({\n showCsvOverlay: false,\n csvFile: null,\n csvPaste: null,\n dragError: null,\n csvUploadInProgress: false,\n });\n }\n\n handleCsvFileCanceled(): void {\n this.setState({ csvFile: null, csvPaste: null });\n }\n\n handleCsvFileOpened(file: File): void {\n this.setState({ csvFile: file, csvPaste: null });\n }\n\n handleCsvPaste(value: string): void {\n this.setState({ csvFile: null, csvPaste: value });\n }\n\n handleDragEnter(e: DragEvent<HTMLDivElement>): void {\n if (\n e.dataTransfer == null ||\n e.dataTransfer.items == null ||\n e.dataTransfer.items.length === 0 ||\n e.dataTransfer.items[0].kind === 'string'\n ) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n this.setState({ showCsvOverlay: true });\n\n const { items } = e.dataTransfer;\n if (items.length > 1) {\n this.setState({ dragError: CsvOverlay.MULTIPLE_FILE_ERROR });\n return;\n }\n\n const item = items[0];\n if (CsvOverlay.isValidDropItem(item)) {\n this.setState({ dragError: null });\n } else {\n this.setState({ dragError: CsvOverlay.FILE_TYPE_ERROR });\n }\n }\n\n handleDragLeave(e: DragEvent<HTMLDivElement>): void {\n // DragLeave gets fired for every child element, so make sure we're actually leaving the drop zone\n if (\n e.currentTarget == null ||\n (e.currentTarget instanceof Element &&\n e.relatedTarget instanceof Element &&\n e.currentTarget.contains(e.relatedTarget))\n ) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n this.setState({ showCsvOverlay: false, dragError: null });\n }\n\n handleClearDragError(): void {\n this.setState({ dragError: null });\n }\n\n handleOpenCsvTable(title: string): void {\n const { dh, openObject, commandHistoryStorage, language, scope } =\n this.props;\n const { consoleHistory, objectMap } = this.state;\n const object = { name: title, title, type: dh.VariableType.TABLE };\n const isExistingObject = objectMap.has(title);\n const historyItem = {\n startTime: Date.now(),\n endTime: Date.now(),\n disabledObjects: [],\n result: {\n changes: {\n created: [],\n updated: [],\n removed: [],\n [isExistingObject ? 'updated' : 'created']: [object],\n },\n },\n };\n\n const history = consoleHistory.concat(historyItem);\n this.setState({ consoleHistory: history });\n this.scrollConsoleHistoryToBottom(true);\n this.updateKnownObjects(historyItem);\n openObject({ name: title, title, type: dh.VariableType.TABLE });\n commandHistoryStorage.addItem(language, scope, title, {\n command: title,\n startTime: new Date().toJSON(),\n endTime: new Date().toJSON(),\n });\n }\n\n addConsoleHistoryMessage(message?: string, error?: string): void {\n const { consoleHistory } = this.state;\n const historyItem = {\n startTime: Date.now(),\n endTime: Date.now(),\n result: { message, error },\n };\n const history = consoleHistory.concat(historyItem);\n this.setState({\n consoleHistory: history,\n });\n }\n\n handleCsvUpdate(message: string): void {\n this.addConsoleHistoryMessage(message);\n }\n\n handleCsvError(error: unknown): void {\n this.addConsoleHistoryMessage(\n undefined,\n error != null ? `${error}` : undefined\n );\n }\n\n handleCsvInProgress(csvUploadInProgress: boolean): void {\n this.setState({ csvUploadInProgress });\n }\n\n handleOverflowActions(): DropdownAction[] {\n const {\n isAutoLaunchPanelsEnabled,\n isClosePanelsOnDisconnectEnabled,\n isPrintStdOutEnabled,\n } = this.state;\n const { actions } = this.props;\n return [\n ...actions,\n {\n title: 'Print Stdout',\n action: this.handleTogglePrintStdout,\n group: ContextActions.groups.high,\n icon: isPrintStdOutEnabled ? vsCheck : undefined,\n order: 10,\n },\n {\n title: 'Auto Launch Panels',\n action: this.handleToggleAutoLaunchPanels,\n group: ContextActions.groups.high,\n icon: isAutoLaunchPanelsEnabled ? vsCheck : undefined,\n order: 20,\n },\n {\n title: 'Close Panels on Disconnect',\n action: this.handleToggleClosePanelsOnDisconnect,\n group: ContextActions.groups.high,\n icon: isClosePanelsOnDisconnectEnabled ? vsCheck : undefined,\n order: 30,\n },\n {\n title: 'Upload Table from File',\n action: this.handleUploadCsv,\n group: ContextActions.groups.high + 10,\n order: 40,\n },\n ];\n }\n\n handleCommandSubmit(command: string): void {\n if (command === 'clear' || command === 'cls') {\n this.clearConsoleHistory();\n } else if (command.length > 0) {\n // Result is handled in this.handleCommandStarted\n const { session } = this.props;\n session.runCode(command).catch(error => {\n log.error('There was an error initiating the command', error);\n });\n } else {\n // Empty command, just pump a blank line out to history\n const historyItem = {\n command: ' ',\n result: {},\n startTime: Date.now(),\n endTime: Date.now(),\n };\n\n this.scrollConsoleHistoryToBottom(true);\n\n this.setState(state => ({\n consoleHistory: state.consoleHistory.concat(historyItem),\n }));\n }\n }\n\n clearConsoleHistory(): void {\n this.pending.cancel();\n\n this.setState(state => {\n // Replace all values with -1 to indicate that table references are still active\n // but don't have corresponding command indexes in consoleHistory\n const objectHistoryMap = new Map(\n [...state.objectHistoryMap.keys()].map(name => [name, -1])\n );\n return { consoleHistory: [], objectHistoryMap };\n });\n }\n\n getObjects = memoize((objectMap: Map<string, VariableDefinition>) => [\n ...objectMap.values(),\n ]);\n\n getContextActions = memoize((actions: DropdownAction[]) => [\n ...actions,\n {\n action: this.handleClearShortcut,\n shortcut: SHORTCUTS.CONSOLE.CLEAR,\n },\n {\n action: this.handleFocusHistory,\n shortcut: SHORTCUTS.CONSOLE.FOCUS_HISTORY,\n },\n ]);\n\n addCommand(command: string, focus = true, execute = false): void {\n if (!this.consoleInput.current) {\n return;\n }\n this.consoleInput.current.setConsoleText(command, focus, execute);\n\n if (focus) {\n this.scrollConsoleHistoryToBottom(true);\n }\n }\n\n focus(): void {\n this.consoleInput.current?.focus();\n }\n\n sendSettingsChange(\n prevState: ConsoleState,\n state: ConsoleState,\n checkIfChanged = true\n ): void {\n const keys = Object.keys(DEFAULT_SETTINGS) as Array<keyof Settings>;\n const settings: Record<string, unknown> = {};\n let hasChanges = false;\n for (let i = 0; i < keys.length; i += 1) {\n const key = keys[i];\n const { [key]: setting } = state;\n const { [key]: prevSetting } = prevState;\n if (setting !== prevSetting) {\n hasChanges = true;\n }\n settings[key] = setting;\n }\n if (checkIfChanged && !hasChanges) {\n return;\n }\n const { onSettingsChange } = this.props;\n onSettingsChange(settings);\n }\n\n updateDimensions(): void {\n if (this.consolePane.current) {\n this.setState({\n consoleHeight: this.consolePane.current.clientHeight,\n });\n }\n if (this.consoleInput.current) {\n this.consoleInput.current.updateDimensions();\n }\n }\n\n render(): ReactElement {\n const {\n actions,\n dh,\n historyChildren,\n language,\n statusBarChildren,\n openObject,\n session,\n scope,\n commandHistoryStorage,\n timeZone,\n disabled,\n unzip,\n supportsType,\n iconForType,\n } = this.props;\n const {\n consoleHeight,\n consoleHistory,\n isScrollDecorationShown,\n objectMap,\n showCsvOverlay,\n csvFile,\n csvPaste,\n dragError,\n csvUploadInProgress,\n } = this.state;\n const consoleMenuObjects = this.getObjects(objectMap);\n const inputMaxHeight = Math.round(consoleHeight * 0.7);\n const contextActions = this.getContextActions(actions);\n\n return (\n <div\n role=\"presentation\"\n className={classNames('iris-console', 'h-100', 'w-100', { disabled })}\n >\n <div className=\"console-pane\" ref={this.consolePane}>\n <ConsoleStatusBar\n dh={dh}\n session={session}\n overflowActions={this.handleOverflowActions}\n openObject={openObject}\n objects={consoleMenuObjects}\n >\n {statusBarChildren}\n </ConsoleStatusBar>\n <div\n className=\"console-csv-container\"\n onDragOver={CsvOverlay.handleDragOver}\n onDragEnter={this.handleDragEnter}\n onDragLeave={this.handleDragLeave}\n >\n {showCsvOverlay && (\n <CsvOverlay\n onCancel={this.handleCsvFileCanceled}\n onFileOpened={this.handleCsvFileOpened}\n onPaste={this.handleCsvPaste}\n clearDragError={this.handleClearDragError}\n dragError={dragError}\n onError={this.handleCsvError}\n uploadInProgress={csvUploadInProgress}\n allowZip={unzip != null}\n />\n )}\n <div\n role=\"presentation\"\n className={classNames('scroll-pane no-scroll-x', {\n 'scroll-decoration': isScrollDecorationShown,\n })}\n onScroll={this.handleScrollPaneScroll}\n ref={this.consoleHistoryScrollPane}\n >\n <ConsoleHistory\n items={consoleHistory}\n openObject={openObject}\n language={language}\n disabled={disabled}\n supportsType={supportsType}\n iconForType={iconForType}\n />\n {historyChildren}\n </div>\n </div>\n {!showCsvOverlay && (\n <ConsoleInput\n ref={this.consoleInput}\n session={session}\n language={language}\n scope={scope}\n onSubmit={this.handleCommandSubmit}\n maxHeight={inputMaxHeight}\n commandHistoryStorage={commandHistoryStorage}\n />\n )}\n {showCsvOverlay && (\n <CsvInputBar\n session={session}\n onOpenTable={this.handleOpenCsvTable}\n onClose={this.handleHideCsv}\n onUpdate={this.handleCsvUpdate}\n onError={this.handleCsvError}\n file={csvFile ?? undefined}\n paste={csvPaste ?? undefined}\n onInProgress={this.handleCsvInProgress}\n timeZone={timeZone}\n unzip={unzip}\n />\n )}\n </div>\n <ContextActions\n actions={contextActions}\n ignoreClassNames={[ConsoleInput.INPUT_CLASS_NAME]}\n />\n </div>\n );\n }\n}\n\nexport default Console;\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Console display for use in the Iris environment.
3
3
  */
4
- import { Component, ReactElement } from 'react';
4
+ import { type ReactElement } from 'react';
5
5
  import type { VariableDefinition } from '@deephaven/jsapi-types';
6
6
  import './ConsoleHistory.scss';
7
7
  import { ConsoleHistoryActionItem } from './ConsoleHistoryTypes';
@@ -10,13 +10,9 @@ interface ConsoleHistoryProps {
10
10
  language: string;
11
11
  openObject: (object: VariableDefinition) => void;
12
12
  disabled?: boolean;
13
+ supportsType(type: string): boolean;
14
+ iconForType(type: string): ReactElement;
13
15
  }
14
- declare class ConsoleHistory extends Component<ConsoleHistoryProps, Record<string, never>> {
15
- static defaultProps: {
16
- disabled: boolean;
17
- };
18
- static itemKey(i: number, item: ConsoleHistoryActionItem): string;
19
- render(): ReactElement;
20
- }
16
+ declare function ConsoleHistory(props: ConsoleHistoryProps): ReactElement;
21
17
  export default ConsoleHistory;
22
18
  //# sourceMappingURL=ConsoleHistory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistory.d.ts","sourceRoot":"","sources":["../../src/console-history/ConsoleHistory.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,OAAO,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,UAAU,mBAAmB;IAC3B,KAAK,EAAE,wBAAwB,EAAE,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,cAAM,cAAe,SAAQ,SAAS,CACpC,mBAAmB,EACnB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CACtB;IACC,MAAM,CAAC,YAAY;;MAEjB;IAEF,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,GAAG,MAAM;IAMjE,MAAM,IAAI,YAAY;CAqBvB;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"ConsoleHistory.d.ts","sourceRoot":"","sources":["../../src/console-history/ConsoleHistory.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,OAAO,uBAAuB,CAAC;AAC/B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,UAAU,mBAAmB;IAC3B,KAAK,EAAE,wBAAwB,EAAE,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;CACzC;AAQD,iBAAS,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CA6BhE;AAED,eAAe,cAAc,CAAC"}
@@ -1,43 +1,38 @@
1
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
1
  /**
5
2
  * Console display for use in the Iris environment.
6
3
  */
7
- import React, { Component } from 'react';
8
4
  import ConsoleHistoryItem from "./ConsoleHistoryItem.js";
9
5
  import "./ConsoleHistory.css";
10
6
  import { jsx as _jsx } from "react/jsx-runtime";
11
- class ConsoleHistory extends Component {
12
- static itemKey(i, item) {
13
- return "".concat(i, ".").concat(item.command, ".").concat(item.result && item.result.message, ".").concat(item.result && item.result.error);
14
- }
15
- render() {
16
- var {
17
- disabled,
18
- items,
19
- language,
20
- openObject
21
- } = this.props;
22
- var historyElements = [];
23
- for (var i = 0; i < items.length; i += 1) {
24
- var item = items[i];
25
- var historyElement = /*#__PURE__*/_jsx(ConsoleHistoryItem, {
26
- disabled: disabled,
27
- item: item,
28
- openObject: openObject,
29
- language: language
30
- }, ConsoleHistory.itemKey(i, item));
31
- historyElements.push(historyElement);
32
- }
33
- return /*#__PURE__*/_jsx("div", {
34
- className: "container-fluid console-history",
35
- children: historyElements
36
- });
7
+ function itemKey(i, item) {
8
+ return "".concat(i, ".").concat(item.command, ".").concat(item.result && item.result.message, ".").concat(item.result && item.result.error);
9
+ }
10
+ function ConsoleHistory(props) {
11
+ var {
12
+ disabled = false,
13
+ items,
14
+ language,
15
+ openObject,
16
+ supportsType,
17
+ iconForType
18
+ } = props;
19
+ var historyElements = [];
20
+ for (var i = 0; i < items.length; i += 1) {
21
+ var item = items[i];
22
+ var historyElement = /*#__PURE__*/_jsx(ConsoleHistoryItem, {
23
+ disabled: disabled,
24
+ item: item,
25
+ openObject: openObject,
26
+ language: language,
27
+ supportsType: supportsType,
28
+ iconForType: iconForType
29
+ }, itemKey(i, item));
30
+ historyElements.push(historyElement);
37
31
  }
32
+ return /*#__PURE__*/_jsx("div", {
33
+ className: "container-fluid console-history",
34
+ children: historyElements
35
+ });
38
36
  }
39
- _defineProperty(ConsoleHistory, "defaultProps", {
40
- disabled: false
41
- });
42
37
  export default ConsoleHistory;
43
38
  //# sourceMappingURL=ConsoleHistory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistory.js","names":["React","Component","ConsoleHistoryItem","ConsoleHistory","itemKey","i","item","command","result","message","error","render","disabled","items","language","openObject","props","historyElements","length","historyElement","push"],"sources":["../../src/console-history/ConsoleHistory.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { Component, ReactElement } from 'react';\nimport type { VariableDefinition } from '@deephaven/jsapi-types';\nimport ConsoleHistoryItem from './ConsoleHistoryItem';\n\nimport './ConsoleHistory.scss';\nimport { ConsoleHistoryActionItem } from './ConsoleHistoryTypes';\n\ninterface ConsoleHistoryProps {\n items: ConsoleHistoryActionItem[];\n language: string;\n openObject: (object: VariableDefinition) => void;\n disabled?: boolean;\n}\n\nclass ConsoleHistory extends Component<\n ConsoleHistoryProps,\n Record<string, never>\n> {\n static defaultProps = {\n disabled: false,\n };\n\n static itemKey(i: number, item: ConsoleHistoryActionItem): string {\n return `${i}.${item.command}.${item.result && item.result.message}.${\n item.result && item.result.error\n }`;\n }\n\n render(): ReactElement {\n const { disabled, items, language, openObject } = this.props;\n const historyElements = [];\n for (let i = 0; i < items.length; i += 1) {\n const item = items[i];\n const historyElement = (\n <ConsoleHistoryItem\n key={ConsoleHistory.itemKey(i, item)}\n disabled={disabled}\n item={item}\n openObject={openObject}\n language={language}\n />\n );\n historyElements.push(historyElement);\n }\n\n return (\n <div className=\"container-fluid console-history\">{historyElements}</div>\n );\n }\n}\n\nexport default ConsoleHistory;\n"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,KAAK,IAAIC,SAAS,QAAsB,OAAO;AAAC,OAEhDC,kBAAkB;AAAA;AAAA;AAYzB,MAAMC,cAAc,SAASF,SAAS,CAGpC;EAKA,OAAOG,OAAO,CAACC,CAAS,EAAEC,IAA8B,EAAU;IAChE,iBAAUD,CAAC,cAAIC,IAAI,CAACC,OAAO,cAAID,IAAI,CAACE,MAAM,IAAIF,IAAI,CAACE,MAAM,CAACC,OAAO,cAC/DH,IAAI,CAACE,MAAM,IAAIF,IAAI,CAACE,MAAM,CAACE,KAAK;EAEpC;EAEAC,MAAM,GAAiB;IACrB,IAAM;MAAEC,QAAQ;MAAEC,KAAK;MAAEC,QAAQ;MAAEC;IAAW,CAAC,GAAG,IAAI,CAACC,KAAK;IAC5D,IAAMC,eAAe,GAAG,EAAE;IAC1B,KAAK,IAAIZ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGQ,KAAK,CAACK,MAAM,EAAEb,CAAC,IAAI,CAAC,EAAE;MACxC,IAAMC,IAAI,GAAGO,KAAK,CAACR,CAAC,CAAC;MACrB,IAAMc,cAAc,gBAClB,KAAC,kBAAkB;QAEjB,QAAQ,EAAEP,QAAS;QACnB,IAAI,EAAEN,IAAK;QACX,UAAU,EAAES,UAAW;QACvB,QAAQ,EAAED;MAAS,GAJdX,cAAc,CAACC,OAAO,CAACC,CAAC,EAAEC,IAAI,CAAC,CAMvC;MACDW,eAAe,CAACG,IAAI,CAACD,cAAc,CAAC;IACtC;IAEA,oBACE;MAAK,SAAS,EAAC,iCAAiC;MAAA,UAAEF;IAAe,EAAO;EAE5E;AACF;AAAC,gBAnCKd,cAAc,kBAII;EACpBS,QAAQ,EAAE;AACZ,CAAC;AA+BH,eAAeT,cAAc"}
1
+ {"version":3,"file":"ConsoleHistory.js","names":["ConsoleHistoryItem","itemKey","i","item","command","result","message","error","ConsoleHistory","props","disabled","items","language","openObject","supportsType","iconForType","historyElements","length","historyElement","push"],"sources":["../../src/console-history/ConsoleHistory.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport { type ReactElement } from 'react';\nimport type { VariableDefinition } from '@deephaven/jsapi-types';\nimport ConsoleHistoryItem from './ConsoleHistoryItem';\n\nimport './ConsoleHistory.scss';\nimport { ConsoleHistoryActionItem } from './ConsoleHistoryTypes';\n\ninterface ConsoleHistoryProps {\n items: ConsoleHistoryActionItem[];\n language: string;\n openObject: (object: VariableDefinition) => void;\n disabled?: boolean;\n supportsType(type: string): boolean;\n iconForType(type: string): ReactElement;\n}\n\nfunction itemKey(i: number, item: ConsoleHistoryActionItem): string {\n return `${i}.${item.command}.${item.result && item.result.message}.${\n item.result && item.result.error\n }`;\n}\n\nfunction ConsoleHistory(props: ConsoleHistoryProps): ReactElement {\n const {\n disabled = false,\n items,\n language,\n openObject,\n supportsType,\n iconForType,\n } = props;\n const historyElements = [];\n for (let i = 0; i < items.length; i += 1) {\n const item = items[i];\n const historyElement = (\n <ConsoleHistoryItem\n key={itemKey(i, item)}\n disabled={disabled}\n item={item}\n openObject={openObject}\n language={language}\n supportsType={supportsType}\n iconForType={iconForType}\n />\n );\n historyElements.push(historyElement);\n }\n\n return (\n <div className=\"container-fluid console-history\">{historyElements}</div>\n );\n}\n\nexport default ConsoleHistory;\n"],"mappings":"AAAA;AACA;AACA;AAFA,OAKOA,kBAAkB;AAAA;AAAA;AAczB,SAASC,OAAO,CAACC,CAAS,EAAEC,IAA8B,EAAU;EAClE,iBAAUD,CAAC,cAAIC,IAAI,CAACC,OAAO,cAAID,IAAI,CAACE,MAAM,IAAIF,IAAI,CAACE,MAAM,CAACC,OAAO,cAC/DH,IAAI,CAACE,MAAM,IAAIF,IAAI,CAACE,MAAM,CAACE,KAAK;AAEpC;AAEA,SAASC,cAAc,CAACC,KAA0B,EAAgB;EAChE,IAAM;IACJC,QAAQ,GAAG,KAAK;IAChBC,KAAK;IACLC,QAAQ;IACRC,UAAU;IACVC,YAAY;IACZC;EACF,CAAC,GAAGN,KAAK;EACT,IAAMO,eAAe,GAAG,EAAE;EAC1B,KAAK,IAAId,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGS,KAAK,CAACM,MAAM,EAAEf,CAAC,IAAI,CAAC,EAAE;IACxC,IAAMC,IAAI,GAAGQ,KAAK,CAACT,CAAC,CAAC;IACrB,IAAMgB,cAAc,gBAClB,KAAC,kBAAkB;MAEjB,QAAQ,EAAER,QAAS;MACnB,IAAI,EAAEP,IAAK;MACX,UAAU,EAAEU,UAAW;MACvB,QAAQ,EAAED,QAAS;MACnB,YAAY,EAAEE,YAAa;MAC3B,WAAW,EAAEC;IAAY,GANpBd,OAAO,CAACC,CAAC,EAAEC,IAAI,CAAC,CAQxB;IACDa,eAAe,CAACG,IAAI,CAACD,cAAc,CAAC;EACtC;EAEA,oBACE;IAAK,SAAS,EAAC,iCAAiC;IAAA,UAAEF;EAAe,EAAO;AAE5E;AAEA,eAAeR,cAAc"}
@@ -10,6 +10,8 @@ interface ConsoleHistoryItemProps {
10
10
  language: string;
11
11
  openObject: (object: VariableDefinition) => void;
12
12
  disabled?: boolean;
13
+ supportsType: (type: string) => boolean;
14
+ iconForType: (type: string) => ReactElement;
13
15
  }
14
16
  declare class ConsoleHistoryItem extends PureComponent<ConsoleHistoryItemProps, Record<string, never>> {
15
17
  static defaultProps: {
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistoryItem.d.ts","sourceRoot":"","sources":["../../src/console-history/ConsoleHistoryItem.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAMjE,OAAO,2BAA2B,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAIjE,UAAU,uBAAuB;IAC/B,IAAI,EAAE,wBAAwB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,cAAM,kBAAmB,SAAQ,aAAa,CAC5C,uBAAuB,EACvB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CACtB;IACC,MAAM,CAAC,YAAY;;MAEjB;gBAEU,KAAK,EAAE,uBAAuB;IAO1C,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAOnD,iBAAiB,IAAI,IAAI;IAQzB,MAAM,IAAI,YAAY;CAsGvB;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"ConsoleHistoryItem.d.ts","sourceRoot":"","sources":["../../src/console-history/ConsoleHistoryItem.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAMjE,OAAO,2BAA2B,CAAC;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAIjE,UAAU,uBAAuB;IAC/B,IAAI,EAAE,wBAAwB,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,YAAY,CAAC;CAC7C;AAED,cAAM,kBAAmB,SAAQ,aAAa,CAC5C,uBAAuB,EACvB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CACtB;IACC,MAAM,CAAC,YAAY;;MAEjB;gBAEU,KAAK,EAAE,uBAAuB;IAO1C,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAOnD,iBAAiB,IAAI,IAAI;IAQzB,MAAM,IAAI,YAAY;CAyGvB;AAED,eAAe,kBAAkB,CAAC"}
@@ -8,7 +8,7 @@ import React, { PureComponent } from 'react';
8
8
  import { Button } from '@deephaven/components';
9
9
  import Log from '@deephaven/log';
10
10
  import classNames from 'classnames';
11
- import { Code, ObjectIcon } from "../common/index.js";
11
+ import { Code } from "../common/index.js";
12
12
  import ConsoleHistoryItemResult from "./ConsoleHistoryItemResult.js";
13
13
  import ConsoleHistoryResultInProgress from "./ConsoleHistoryResultInProgress.js";
14
14
  import ConsoleHistoryResultErrorMessage from "./ConsoleHistoryResultErrorMessage.js";
@@ -42,7 +42,8 @@ class ConsoleHistoryItem extends PureComponent {
42
42
  var {
43
43
  disabled,
44
44
  item,
45
- language
45
+ language,
46
+ iconForType
46
47
  } = this.props;
47
48
  var {
48
49
  disabledObjects,
@@ -78,6 +79,9 @@ class ConsoleHistoryItem extends PureComponent {
78
79
  created,
79
80
  updated
80
81
  } = changes;
82
+ // TODO: #1573 filter for supported types or change button kind
83
+ // based on if type is supported. Possibly a warn state for widgets
84
+ // that the UI doesn't have anything registered to support.
81
85
  [...created, ...updated].forEach(object => {
82
86
  hasButtons = true;
83
87
  var {
@@ -90,9 +94,7 @@ class ConsoleHistoryItem extends PureComponent {
90
94
  onClick: () => this.handleObjectClick(object),
91
95
  className: "btn-console-object",
92
96
  disabled: btnDisabled,
93
- icon: /*#__PURE__*/_jsx(ObjectIcon, {
94
- type: object.type
95
- }),
97
+ icon: iconForType(object.type),
96
98
  children: title
97
99
  }, key);
98
100
  resultElements.push(element);
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistoryItem.js","names":["React","PureComponent","Button","Log","classNames","Code","ObjectIcon","ConsoleHistoryItemResult","ConsoleHistoryResultInProgress","ConsoleHistoryResultErrorMessage","log","module","ConsoleHistoryItem","constructor","props","handleCancelClick","bind","handleObjectClick","object","debug","openObject","item","cancelResult","command","render","disabled","language","disabledObjects","result","hasCommand","commandElement","resultElements","hasButtons","error","message","changes","created","updated","forEach","title","key","btnDisabled","undefined","indexOf","element","type","push","errorMessage","resultElement","length"],"sources":["../../src/console-history/ConsoleHistoryItem.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { PureComponent, ReactElement } from 'react';\nimport { Button } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport type { VariableDefinition } from '@deephaven/jsapi-types';\nimport classNames from 'classnames';\nimport { Code, ObjectIcon } from '../common';\nimport ConsoleHistoryItemResult from './ConsoleHistoryItemResult';\nimport ConsoleHistoryResultInProgress from './ConsoleHistoryResultInProgress';\nimport ConsoleHistoryResultErrorMessage from './ConsoleHistoryResultErrorMessage';\nimport './ConsoleHistoryItem.scss';\nimport { ConsoleHistoryActionItem } from './ConsoleHistoryTypes';\n\nconst log = Log.module('ConsoleHistoryItem');\n\ninterface ConsoleHistoryItemProps {\n item: ConsoleHistoryActionItem;\n language: string;\n openObject: (object: VariableDefinition) => void;\n disabled?: boolean;\n}\n\nclass ConsoleHistoryItem extends PureComponent<\n ConsoleHistoryItemProps,\n Record<string, never>\n> {\n static defaultProps = {\n disabled: false,\n };\n\n constructor(props: ConsoleHistoryItemProps) {\n super(props);\n\n this.handleCancelClick = this.handleCancelClick.bind(this);\n this.handleObjectClick = this.handleObjectClick.bind(this);\n }\n\n handleObjectClick(object: VariableDefinition): void {\n log.debug('handleObjectClick', object);\n\n const { openObject } = this.props;\n openObject(object);\n }\n\n handleCancelClick(): void {\n const { item } = this.props;\n if (item != null && item.cancelResult) {\n log.debug(`Cancelling command: ${item.command}`);\n item.cancelResult();\n }\n }\n\n render(): ReactElement {\n const { disabled, item, language } = this.props;\n const { disabledObjects, result } = item;\n const hasCommand = item.command != null && item.command !== '';\n\n let commandElement = null;\n if (hasCommand) {\n commandElement = (\n <div className=\"console-history-item-command\">\n <div className=\"console-history-gutter\">&gt;</div>\n <div className=\"console-history-content\">\n <Code language={language}>{item.command}</Code>\n </div>\n </div>\n );\n }\n\n const resultElements = [];\n let hasButtons = false;\n\n if (result) {\n const { error, message, changes } = result;\n\n if (changes) {\n const { created, updated } = changes;\n [...created, ...updated].forEach(object => {\n hasButtons = true;\n const { title } = object;\n const key = `${title}`;\n const btnDisabled =\n disabled === undefined ||\n disabled ||\n (disabledObjects ?? []).indexOf(key) >= 0;\n const element = (\n <Button\n key={key}\n kind=\"primary\"\n onClick={() => this.handleObjectClick(object)}\n className=\"btn-console-object\"\n disabled={btnDisabled}\n icon={<ObjectIcon type={object.type} />}\n >\n {title}\n </Button>\n );\n resultElements.push(element);\n });\n }\n\n // If the error has an associated command, we'll actually get a separate ERROR item printed out, so only print an error if there isn't an associated command\n if (error != null && !hasCommand) {\n let errorMessage = `${(error as { message: string }).message ?? error}`;\n if (!errorMessage) {\n errorMessage = error as string;\n }\n const element = (\n <ConsoleHistoryResultErrorMessage\n key=\"result-error\"\n message={errorMessage}\n />\n );\n resultElements.push(element);\n }\n\n if (message !== undefined && message !== '') {\n const element = (\n <div key=\"log-message\" className=\"log-message\">\n {message}\n </div>\n );\n resultElements.push(element);\n }\n } else {\n hasButtons = true;\n const element = (\n <ConsoleHistoryResultInProgress\n key=\"in_progress\"\n onCancelClick={this.handleCancelClick}\n disabled={disabled}\n />\n );\n resultElements.push(element);\n }\n\n let resultElement = null;\n if (resultElements.length > 0) {\n resultElement = (\n <ConsoleHistoryItemResult>{resultElements}</ConsoleHistoryItemResult>\n );\n }\n\n return (\n <div\n className={classNames('console-command-result', {\n 'console-result-buttons': hasButtons,\n })}\n >\n {commandElement}\n {resultElement}\n </div>\n );\n }\n}\n\nexport default ConsoleHistoryItem;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ConsoleHistoryItem.js","names":["React","PureComponent","Button","Log","classNames","Code","ConsoleHistoryItemResult","ConsoleHistoryResultInProgress","ConsoleHistoryResultErrorMessage","log","module","ConsoleHistoryItem","constructor","props","handleCancelClick","bind","handleObjectClick","object","debug","openObject","item","cancelResult","command","render","disabled","language","iconForType","disabledObjects","result","hasCommand","commandElement","resultElements","hasButtons","error","message","changes","created","updated","forEach","title","key","btnDisabled","undefined","indexOf","element","type","push","errorMessage","resultElement","length"],"sources":["../../src/console-history/ConsoleHistoryItem.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { PureComponent, ReactElement } from 'react';\nimport { Button } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport type { VariableDefinition } from '@deephaven/jsapi-types';\nimport classNames from 'classnames';\nimport { Code } from '../common';\nimport ConsoleHistoryItemResult from './ConsoleHistoryItemResult';\nimport ConsoleHistoryResultInProgress from './ConsoleHistoryResultInProgress';\nimport ConsoleHistoryResultErrorMessage from './ConsoleHistoryResultErrorMessage';\nimport './ConsoleHistoryItem.scss';\nimport { ConsoleHistoryActionItem } from './ConsoleHistoryTypes';\n\nconst log = Log.module('ConsoleHistoryItem');\n\ninterface ConsoleHistoryItemProps {\n item: ConsoleHistoryActionItem;\n language: string;\n openObject: (object: VariableDefinition) => void;\n disabled?: boolean;\n // TODO: #1573 Remove this eslint disable\n // eslint-disable-next-line react/no-unused-prop-types\n supportsType: (type: string) => boolean;\n iconForType: (type: string) => ReactElement;\n}\n\nclass ConsoleHistoryItem extends PureComponent<\n ConsoleHistoryItemProps,\n Record<string, never>\n> {\n static defaultProps = {\n disabled: false,\n };\n\n constructor(props: ConsoleHistoryItemProps) {\n super(props);\n\n this.handleCancelClick = this.handleCancelClick.bind(this);\n this.handleObjectClick = this.handleObjectClick.bind(this);\n }\n\n handleObjectClick(object: VariableDefinition): void {\n log.debug('handleObjectClick', object);\n\n const { openObject } = this.props;\n openObject(object);\n }\n\n handleCancelClick(): void {\n const { item } = this.props;\n if (item != null && item.cancelResult) {\n log.debug(`Cancelling command: ${item.command}`);\n item.cancelResult();\n }\n }\n\n render(): ReactElement {\n const { disabled, item, language, iconForType } = this.props;\n const { disabledObjects, result } = item;\n const hasCommand = item.command != null && item.command !== '';\n\n let commandElement = null;\n if (hasCommand) {\n commandElement = (\n <div className=\"console-history-item-command\">\n <div className=\"console-history-gutter\">&gt;</div>\n <div className=\"console-history-content\">\n <Code language={language}>{item.command}</Code>\n </div>\n </div>\n );\n }\n\n const resultElements = [];\n let hasButtons = false;\n\n if (result) {\n const { error, message, changes } = result;\n\n if (changes) {\n const { created, updated } = changes;\n // TODO: #1573 filter for supported types or change button kind\n // based on if type is supported. Possibly a warn state for widgets\n // that the UI doesn't have anything registered to support.\n [...created, ...updated].forEach(object => {\n hasButtons = true;\n const { title } = object;\n const key = `${title}`;\n const btnDisabled =\n disabled === undefined ||\n disabled ||\n (disabledObjects ?? []).indexOf(key) >= 0;\n const element = (\n <Button\n key={key}\n kind=\"primary\"\n onClick={() => this.handleObjectClick(object)}\n className=\"btn-console-object\"\n disabled={btnDisabled}\n icon={iconForType(object.type)}\n >\n {title}\n </Button>\n );\n resultElements.push(element);\n });\n }\n\n // If the error has an associated command, we'll actually get a separate ERROR item printed out, so only print an error if there isn't an associated command\n if (error != null && !hasCommand) {\n let errorMessage = `${(error as { message: string }).message ?? error}`;\n if (!errorMessage) {\n errorMessage = error as string;\n }\n const element = (\n <ConsoleHistoryResultErrorMessage\n key=\"result-error\"\n message={errorMessage}\n />\n );\n resultElements.push(element);\n }\n\n if (message !== undefined && message !== '') {\n const element = (\n <div key=\"log-message\" className=\"log-message\">\n {message}\n </div>\n );\n resultElements.push(element);\n }\n } else {\n hasButtons = true;\n const element = (\n <ConsoleHistoryResultInProgress\n key=\"in_progress\"\n onCancelClick={this.handleCancelClick}\n disabled={disabled}\n />\n );\n resultElements.push(element);\n }\n\n let resultElement = null;\n if (resultElements.length > 0) {\n resultElement = (\n <ConsoleHistoryItemResult>{resultElements}</ConsoleHistoryItemResult>\n );\n }\n\n return (\n <div\n className={classNames('console-command-result', {\n 'console-result-buttons': hasButtons,\n })}\n >\n {commandElement}\n {resultElement}\n </div>\n );\n }\n}\n\nexport default ConsoleHistoryItem;\n"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,KAAK,IAAIC,aAAa,QAAsB,OAAO;AAC1D,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,OAAOC,GAAG,MAAM,gBAAgB;AAEhC,OAAOC,UAAU,MAAM,YAAY;AAAC,SAC3BC,IAAI;AAAA,OACNC,wBAAwB;AAAA,OACxBC,8BAA8B;AAAA,OAC9BC,gCAAgC;AAAA;AAAA;AAAA;AAIvC,IAAMC,GAAG,GAAGN,GAAG,CAACO,MAAM,CAAC,oBAAoB,CAAC;AAa5C,MAAMC,kBAAkB,SAASV,aAAa,CAG5C;EAKAW,WAAW,CAACC,KAA8B,EAAE;IAC1C,KAAK,CAACA,KAAK,CAAC;IAEZ,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACC,IAAI,CAAC,IAAI,CAAC;IAC1D,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACD,IAAI,CAAC,IAAI,CAAC;EAC5D;EAEAC,iBAAiB,CAACC,MAA0B,EAAQ;IAClDR,GAAG,CAACS,KAAK,CAAC,mBAAmB,EAAED,MAAM,CAAC;IAEtC,IAAM;MAAEE;IAAW,CAAC,GAAG,IAAI,CAACN,KAAK;IACjCM,UAAU,CAACF,MAAM,CAAC;EACpB;EAEAH,iBAAiB,GAAS;IACxB,IAAM;MAAEM;IAAK,CAAC,GAAG,IAAI,CAACP,KAAK;IAC3B,IAAIO,IAAI,IAAI,IAAI,IAAIA,IAAI,CAACC,YAAY,EAAE;MACrCZ,GAAG,CAACS,KAAK,+BAAwBE,IAAI,CAACE,OAAO,EAAG;MAChDF,IAAI,CAACC,YAAY,EAAE;IACrB;EACF;EAEAE,MAAM,GAAiB;IACrB,IAAM;MAAEC,QAAQ;MAAEJ,IAAI;MAAEK,QAAQ;MAAEC;IAAY,CAAC,GAAG,IAAI,CAACb,KAAK;IAC5D,IAAM;MAAEc,eAAe;MAAEC;IAAO,CAAC,GAAGR,IAAI;IACxC,IAAMS,UAAU,GAAGT,IAAI,CAACE,OAAO,IAAI,IAAI,IAAIF,IAAI,CAACE,OAAO,KAAK,EAAE;IAE9D,IAAIQ,cAAc,GAAG,IAAI;IACzB,IAAID,UAAU,EAAE;MACdC,cAAc,gBACZ;QAAK,SAAS,EAAC,8BAA8B;QAAA,wBAC3C;UAAK,SAAS,EAAC,wBAAwB;UAAA,UAAC;QAAI,EAAM,eAClD;UAAK,SAAS,EAAC,yBAAyB;UAAA,uBACtC,KAAC,IAAI;YAAC,QAAQ,EAAEL,QAAS;YAAA,UAAEL,IAAI,CAACE;UAAO;QAAQ,EAC3C;MAAA,EAET;IACH;IAEA,IAAMS,cAAc,GAAG,EAAE;IACzB,IAAIC,UAAU,GAAG,KAAK;IAEtB,IAAIJ,MAAM,EAAE;MACV,IAAM;QAAEK,KAAK;QAAEC,OAAO;QAAEC;MAAQ,CAAC,GAAGP,MAAM;MAE1C,IAAIO,OAAO,EAAE;QACX,IAAM;UAAEC,OAAO;UAAEC;QAAQ,CAAC,GAAGF,OAAO;QACpC;QACA;QACA;QACA,CAAC,GAAGC,OAAO,EAAE,GAAGC,OAAO,CAAC,CAACC,OAAO,CAACrB,MAAM,IAAI;UACzCe,UAAU,GAAG,IAAI;UACjB,IAAM;YAAEO;UAAM,CAAC,GAAGtB,MAAM;UACxB,IAAMuB,GAAG,aAAMD,KAAK,CAAE;UACtB,IAAME,WAAW,GACfjB,QAAQ,KAAKkB,SAAS,IACtBlB,QAAQ,IACR,CAACG,eAAe,aAAfA,eAAe,cAAfA,eAAe,GAAI,EAAE,EAAEgB,OAAO,CAACH,GAAG,CAAC,IAAI,CAAC;UAC3C,IAAMI,OAAO,gBACX,KAAC,MAAM;YAEL,IAAI,EAAC,SAAS;YACd,OAAO,EAAE,MAAM,IAAI,CAAC5B,iBAAiB,CAACC,MAAM,CAAE;YAC9C,SAAS,EAAC,oBAAoB;YAC9B,QAAQ,EAAEwB,WAAY;YACtB,IAAI,EAAEf,WAAW,CAACT,MAAM,CAAC4B,IAAI,CAAE;YAAA,UAE9BN;UAAK,GAPDC,GAAG,CASX;UACDT,cAAc,CAACe,IAAI,CAACF,OAAO,CAAC;QAC9B,CAAC,CAAC;MACJ;;MAEA;MACA,IAAIX,KAAK,IAAI,IAAI,IAAI,CAACJ,UAAU,EAAE;QAAA;QAChC,IAAIkB,YAAY,yBAAOd,KAAK,CAAyBC,OAAO,+CAAID,KAAK,CAAE;QACvE,IAAI,CAACc,YAAY,EAAE;UACjBA,YAAY,GAAGd,KAAe;QAChC;QACA,IAAMW,OAAO,gBACX,KAAC,gCAAgC;UAE/B,OAAO,EAAEG;QAAa,GADlB,cAAc,CAGrB;QACDhB,cAAc,CAACe,IAAI,CAACF,OAAO,CAAC;MAC9B;MAEA,IAAIV,OAAO,KAAKQ,SAAS,IAAIR,OAAO,KAAK,EAAE,EAAE;QAC3C,IAAMU,QAAO,gBACX;UAAuB,SAAS,EAAC,aAAa;UAAA,UAC3CV;QAAO,GADD,aAAa,CAGvB;QACDH,cAAc,CAACe,IAAI,CAACF,QAAO,CAAC;MAC9B;IACF,CAAC,MAAM;MACLZ,UAAU,GAAG,IAAI;MACjB,IAAMY,SAAO,gBACX,KAAC,8BAA8B;QAE7B,aAAa,EAAE,IAAI,CAAC9B,iBAAkB;QACtC,QAAQ,EAAEU;MAAS,GAFf,aAAa,CAIpB;MACDO,cAAc,CAACe,IAAI,CAACF,SAAO,CAAC;IAC9B;IAEA,IAAII,aAAa,GAAG,IAAI;IACxB,IAAIjB,cAAc,CAACkB,MAAM,GAAG,CAAC,EAAE;MAC7BD,aAAa,gBACX,KAAC,wBAAwB;QAAA,UAAEjB;MAAc,EAC1C;IACH;IAEA,oBACE;MACE,SAAS,EAAE3B,UAAU,CAAC,wBAAwB,EAAE;QAC9C,wBAAwB,EAAE4B;MAC5B,CAAC,CAAE;MAAA,WAEFF,cAAc,EACdkB,aAAa;IAAA,EACV;EAEV;AACF;AAAC,gBAvIKrC,kBAAkB,kBAIA;EACpBa,QAAQ,EAAE;AACZ,CAAC;AAmIH,eAAeb,kBAAkB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/console",
3
- "version": "0.50.1-beta.2+876a6acd",
3
+ "version": "0.50.1-beta.4+f440a383",
4
4
  "description": "Deephaven Console",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -23,15 +23,15 @@
23
23
  "build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
24
24
  },
25
25
  "dependencies": {
26
- "@deephaven/chart": "^0.50.1-beta.2+876a6acd",
27
- "@deephaven/components": "^0.50.1-beta.2+876a6acd",
28
- "@deephaven/icons": "^0.50.1-beta.2+876a6acd",
29
- "@deephaven/jsapi-bootstrap": "^0.50.1-beta.2+876a6acd",
30
- "@deephaven/jsapi-types": "^0.50.1-beta.2+876a6acd",
31
- "@deephaven/log": "^0.50.1-beta.2+876a6acd",
32
- "@deephaven/react-hooks": "^0.50.1-beta.2+876a6acd",
33
- "@deephaven/storage": "^0.50.1-beta.2+876a6acd",
34
- "@deephaven/utils": "^0.50.1-beta.2+876a6acd",
26
+ "@deephaven/chart": "^0.50.1-beta.4+f440a383",
27
+ "@deephaven/components": "^0.50.1-beta.4+f440a383",
28
+ "@deephaven/icons": "^0.50.1-beta.4+f440a383",
29
+ "@deephaven/jsapi-bootstrap": "^0.50.1-beta.4+f440a383",
30
+ "@deephaven/jsapi-types": "^0.50.1-beta.4+f440a383",
31
+ "@deephaven/log": "^0.50.1-beta.4+f440a383",
32
+ "@deephaven/react-hooks": "^0.50.1-beta.4+f440a383",
33
+ "@deephaven/storage": "^0.50.1-beta.4+f440a383",
34
+ "@deephaven/utils": "^0.50.1-beta.4+f440a383",
35
35
  "@fortawesome/react-fontawesome": "^0.2.0",
36
36
  "classnames": "^2.3.1",
37
37
  "linkifyjs": "^4.1.0",
@@ -51,8 +51,8 @@
51
51
  "react-dom": "^17.x"
52
52
  },
53
53
  "devDependencies": {
54
- "@deephaven/jsapi-shim": "^0.50.1-beta.2+876a6acd",
55
- "@deephaven/mocks": "^0.50.1-beta.2+876a6acd"
54
+ "@deephaven/jsapi-shim": "^0.50.1-beta.4+f440a383",
55
+ "@deephaven/mocks": "^0.50.1-beta.4+f440a383"
56
56
  },
57
57
  "files": [
58
58
  "dist"
@@ -63,5 +63,5 @@
63
63
  "publishConfig": {
64
64
  "access": "public"
65
65
  },
66
- "gitHead": "876a6acd00d239f3ac7df21e27db74a16e4fd1b7"
66
+ "gitHead": "f440a383bc5ddc7c8beb06d858d6e0bf4ad1da29"
67
67
  }