@deephaven/console 0.51.0 → 0.51.1-alpha-theme-fix.1

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
@@ -3,7 +3,7 @@
3
3
  * Console display for use in the Iris environment.
4
4
  */
5
5
  import { DragEvent, PureComponent, ReactElement, ReactNode, RefObject } from 'react';
6
- import { DropdownAction } from '@deephaven/components';
6
+ import { DropdownAction, ResolvableContextAction } from '@deephaven/components';
7
7
  import type { JSZipObject } from 'jszip';
8
8
  import type { dh as DhType, IdeSession, LogItem, VariableChanges, VariableDefinition } from '@deephaven/jsapi-types';
9
9
  import { Pending } from '@deephaven/utils';
@@ -39,8 +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
+ supportsType: (type: string) => boolean;
43
+ iconForType: (type: string) => ReactElement;
44
44
  }
45
45
  interface ConsoleState {
46
46
  consoleHistory: ConsoleHistoryActionItem[];
@@ -99,7 +99,7 @@ export declare class Console extends PureComponent<ConsoleProps, ConsoleState> {
99
99
  queuedLogMessages: ConsoleHistoryActionItem[];
100
100
  initConsoleLogging(): void;
101
101
  deinitConsoleLogging(): void;
102
- handleClearShortcut(event: CustomEvent): void;
102
+ handleClearShortcut(event: Event): void;
103
103
  handleCommandStarted(event: CustomEvent): void;
104
104
  handleCommandResult(result: {
105
105
  message: string;
@@ -107,7 +107,7 @@ export declare class Console extends PureComponent<ConsoleProps, ConsoleState> {
107
107
  changes: VariableChanges;
108
108
  } | undefined, historyItem: ConsoleHistoryActionItem, workspaceItemPromise: Promise<CommandHistoryStorageItem>): void;
109
109
  handleCommandError(error: unknown, historyItem: ConsoleHistoryActionItem, workspaceItemPromise: Promise<CommandHistoryStorageItem>): void;
110
- handleFocusHistory(event: CustomEvent): void;
110
+ handleFocusHistory(event: Event): void;
111
111
  handleLogMessage(message: LogItem): void;
112
112
  queueLogMessage(message: string, logLevel: string): void;
113
113
  processLogMessageQueue: import("lodash").DebouncedFunc<() => void>;
@@ -148,7 +148,7 @@ export declare class Console extends PureComponent<ConsoleProps, ConsoleState> {
148
148
  handleCommandSubmit(command: string): void;
149
149
  clearConsoleHistory(): void;
150
150
  getObjects: (objectMap: Map<string, VariableDefinition>) => VariableDefinition<string>[];
151
- getContextActions: (actions: DropdownAction[]) => DropdownAction[];
151
+ getContextActions: (actions: DropdownAction[]) => ResolvableContextAction[];
152
152
  addCommand(command: string, focus?: boolean, execute?: boolean): void;
153
153
  focus(): void;
154
154
  sendSettingsChange(prevState: ConsoleState, state: ConsoleState, checkIfChanged?: boolean): void;
@@ -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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"}
@@ -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","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","log","module","DEFAULT_SETTINGS","isAutoLaunchPanelsEnabled","isPrintStdOutEnabled","isClosePanelsOnDisconnectEnabled","defaultSupportsType","defaultIconForType","type","Console","isErrorLevel","logLevel","STDERR","ERROR","FATAL","isOutputLevel","STDOUT","constructor","props","_defineProperty","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","_objectSpread","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","_this$consoleInput$cu","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","_ref","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","_changes","_changes2","_changes3","disableOldObject","isRemoved","arguments","title","oldIndex","get","_consoleHistory$oldIn","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","_this$consoleInput$cu2","checkIfChanged","Object","hasChanges","i","key","setting","prevSetting","onSettingsChange","render","historyChildren","statusBarChildren","timeZone","disabled","unzip","supportsType","iconForType","consoleMenuObjects","getObjects","inputMaxHeight","round","contextActions","getContextActions","role","className","children","ref","overflowActions","objects","onDragOver","handleDragOver","onDragEnter","onDragLeave","onCancel","onFileOpened","onPaste","clearDragError","onError","uploadInProgress","allowZip","onScroll","onSubmit","maxHeight","onOpenTable","onClose","onUpdate","paste","onInProgress","ignoreClassNames","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
+ {"version":3,"file":"Console.js","names":["React","PureComponent","ContextActions","vsCheck","classNames","memoize","throttle","Log","assertNotNull","Pending","PromiseUtils","ConsoleHistory","SHORTCUTS","LogLevel","ConsoleInput","CsvOverlay","CsvInputBar","ConsoleStatusBar","Fragment","_Fragment","jsx","_jsx","jsxs","_jsxs","log","module","DEFAULT_SETTINGS","isAutoLaunchPanelsEnabled","isPrintStdOutEnabled","isClosePanelsOnDisconnectEnabled","defaultSupportsType","defaultIconForType","type","Console","isErrorLevel","logLevel","STDERR","ERROR","FATAL","isOutputLevel","STDOUT","constructor","props","_defineProperty","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","_objectSpread","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","_this$consoleInput$cu","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","_ref","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","_changes","_changes2","_changes3","disableOldObject","isRemoved","arguments","title","oldIndex","get","_consoleHistory$oldIn","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","_this$consoleInput$cu2","checkIfChanged","Object","hasChanges","i","key","setting","prevSetting","onSettingsChange","render","historyChildren","statusBarChildren","timeZone","disabled","unzip","supportsType","iconForType","consoleMenuObjects","getObjects","inputMaxHeight","round","contextActions","getContextActions","role","className","children","ref","overflowActions","objects","onDragOver","handleDragOver","onDragEnter","onDragLeave","onCancel","onFileOpened","onPaste","clearDragError","onError","uploadInProgress","allowZip","onScroll","onSubmit","maxHeight","onOpenTable","onClose","onUpdate","paste","onInProgress","ignoreClassNames","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 {\n ContextActions,\n DropdownAction,\n ResolvableContextAction,\n} 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: Event): 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: Event): 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(\n (actions: DropdownAction[]): ResolvableContextAction[] => [\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\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":";;;;;AAAA;AACA;AACA;AACA,OAAOA,KAAK,IAEVC,aAAa,QAIR,OAAO;AACd,SACEC,cAAc,QAGT,uBAAuB;AAC9B,SAASC,OAAO,QAAQ,kBAAkB;AAC1C,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,OAAO,MAAM,aAAa;AACjC,OAAOC,QAAQ,MAAM,iBAAiB;AAStC,OAAOC,GAAG,MAAM,gBAAgB;AAChC,SAASC,aAAa,EAAEC,OAAO,EAAEC,YAAY,QAAQ,kBAAkB;AAAC,OACjEC,cAAc;AAAA,OAEdC,SAAS;AAAA,OACTC,QAAQ;AAAA,OACRC,YAAY;AAAA,OACZC,UAAU;AAAA,OACVC,WAAW;AAAA;AAAA,OAEXC,gBAAgB;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAMvB,IAAMC,GAAG,GAAGjB,GAAG,CAACkB,MAAM,CAAC,SAAS,CAAC;AAQjC,IAAMC,gBAA0B,GAAG;EACjCC,yBAAyB,EAAE,IAAI;EAC/BC,oBAAoB,EAAE,IAAI;EAC1BC,gCAAgC,EAAE;AACpC,CAAU;AA2DV,SAASC,mBAAmBA,CAAA,EAAY;EACtC,OAAO,IAAI;AACb;AAEA,SAASC,kBAAkBA,CAACC,IAAY,EAAgB;EACtD;EACA,oBAAOX,IAAA,CAAAF,SAAA,IAAI,CAAC;AACd;AAEA,OAAO,MAAMc,OAAO,SAAShC,aAAa,CAA6B;EAkBrE;AACF;AACA;AACA;AACA;EACE,OAAOiC,YAAYA,CAACC,QAAgB,EAAW;IAC7C,OACEA,QAAQ,KAAKtB,QAAQ,CAACuB,MAAM,IAC5BD,QAAQ,KAAKtB,QAAQ,CAACwB,KAAK,IAC3BF,QAAQ,KAAKtB,QAAQ,CAACyB,KAAK;EAE/B;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOC,aAAaA,CAClBJ,QAAkD,EACzC;IACT;IACA;IACA,OAAOA,QAAQ,KAAKtB,QAAQ,CAAC2B,MAAM,IAAIP,OAAO,CAACC,YAAY,CAACC,QAAQ,CAAC;EACvE;EAEAM,WAAWA,CAACC,KAAmB,EAAE;IAC/B,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,iCA8RUrC,QAAQ,CAAC,MAAM;MACtC,IAAI,CAACsC,4BAA4B,CAAC,CAAC;MAEnC,IAAI,CAACC,QAAQ,CAACC,KAAK,IAAI;QACrBtB,GAAG,CAACuB,MAAM,CACR,wBAAwB,EACxB,IAAI,CAACC,iBAAiB,CAACC,MAAM,EAC7B,QACF,CAAC;QAED,IAAI;UAAEC;QAAe,CAAC,GAAGJ,KAAK;QAC9BI,cAAc,GAAGA,cAAc,CAACC,MAAM,CAAC,IAAI,CAACH,iBAAiB,CAAC;QAC9D,IAAI,CAACA,iBAAiB,GAAG,EAAE;QAE3B,OAAO;UAAEE;QAAe,CAAC;MAC3B,CAAC,CAAC;IACJ,CAAC,EAAEjB,OAAO,CAACmB,YAAY,CAAC;IAAAT,eAAA,qBAqaXtC,OAAO,CAAEgD,SAA0C,IAAK,CACnE,GAAGA,SAAS,CAACC,MAAM,CAAC,CAAC,CACtB,CAAC;IAAAX,eAAA,4BAEkBtC,OAAO,CACxBkD,OAAyB,IAAgC,CACxD,GAAGA,OAAO,EACV;MACEC,MAAM,EAAE,IAAI,CAACC,mBAAmB;MAChCC,QAAQ,EAAE9C,SAAS,CAAC+C,OAAO,CAACC;IAC9B,CAAC,EACD;MACEJ,MAAM,EAAE,IAAI,CAACK,kBAAkB;MAC/BH,QAAQ,EAAE9C,SAAS,CAAC+C,OAAO,CAACG;IAC9B,CAAC,CAEL,CAAC;IAjuBC,IAAI,CAACC,mBAAmB,GAAG,IAAI,CAACA,mBAAmB,CAACC,IAAI,CAAC,IAAI,CAAC;IAC9D,IAAI,CAACC,oBAAoB,GAAG,IAAI,CAACA,oBAAoB,CAACD,IAAI,CAAC,IAAI,CAAC;IAChE,IAAI,CAACE,mBAAmB,GAAG,IAAI,CAACA,mBAAmB,CAACF,IAAI,CAAC,IAAI,CAAC;IAC9D,IAAI,CAACP,mBAAmB,GAAG,IAAI,CAACA,mBAAmB,CAACO,IAAI,CAAC,IAAI,CAAC;IAC9D,IAAI,CAACH,kBAAkB,GAAG,IAAI,CAACA,kBAAkB,CAACG,IAAI,CAAC,IAAI,CAAC;IAC5D,IAAI,CAACG,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACH,IAAI,CAAC,IAAI,CAAC;IACxD,IAAI,CAACI,qBAAqB,GAAG,IAAI,CAACA,qBAAqB,CAACJ,IAAI,CAAC,IAAI,CAAC;IAClE,IAAI,CAACK,sBAAsB,GAAG,IAAI,CAACA,sBAAsB,CAACL,IAAI,CAAC,IAAI,CAAC;IACpE,IAAI,CAACM,4BAA4B,GAC/B,IAAI,CAACA,4BAA4B,CAACN,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAACO,mCAAmC,GACtC,IAAI,CAACA,mCAAmC,CAACP,IAAI,CAAC,IAAI,CAAC;IACrD,IAAI,CAACQ,uBAAuB,GAAG,IAAI,CAACA,uBAAuB,CAACR,IAAI,CAAC,IAAI,CAAC;IACtE,IAAI,CAACS,eAAe,GAAG,IAAI,CAACA,eAAe,CAACT,IAAI,CAAC,IAAI,CAAC;IACtD,IAAI,CAACU,aAAa,GAAG,IAAI,CAACA,aAAa,CAACV,IAAI,CAAC,IAAI,CAAC;IAClD,IAAI,CAACW,qBAAqB,GAAG,IAAI,CAACA,qBAAqB,CAACX,IAAI,CAAC,IAAI,CAAC;IAClE,IAAI,CAACY,mBAAmB,GAAG,IAAI,CAACA,mBAAmB,CAACZ,IAAI,CAAC,IAAI,CAAC;IAC9D,IAAI,CAACa,cAAc,GAAG,IAAI,CAACA,cAAc,CAACb,IAAI,CAAC,IAAI,CAAC;IACpD,IAAI,CAACc,eAAe,GAAG,IAAI,CAACA,eAAe,CAACd,IAAI,CAAC,IAAI,CAAC;IACtD,IAAI,CAACe,eAAe,GAAG,IAAI,CAACA,eAAe,CAACf,IAAI,CAAC,IAAI,CAAC;IACtD,IAAI,CAACgB,oBAAoB,GAAG,IAAI,CAACA,oBAAoB,CAAChB,IAAI,CAAC,IAAI,CAAC;IAChE,IAAI,CAACiB,kBAAkB,GAAG,IAAI,CAACA,kBAAkB,CAACjB,IAAI,CAAC,IAAI,CAAC;IAC5D,IAAI,CAACkB,eAAe,GAAG,IAAI,CAACA,eAAe,CAAClB,IAAI,CAAC,IAAI,CAAC;IACtD,IAAI,CAACmB,cAAc,GAAG,IAAI,CAACA,cAAc,CAACnB,IAAI,CAAC,IAAI,CAAC;IACpD,IAAI,CAACoB,mBAAmB,GAAG,IAAI,CAACA,mBAAmB,CAACpB,IAAI,CAAC,IAAI,CAAC;IAE9D,IAAI,CAACqB,WAAW,gBAAGrF,KAAK,CAACsF,SAAS,CAAC,CAAC;IACpC,IAAI,CAACC,YAAY,gBAAGvF,KAAK,CAACsF,SAAS,CAAC,CAAC;IACrC,IAAI,CAACE,wBAAwB,gBAAGxF,KAAK,CAACsF,SAAS,CAAC,CAAC;IACjD,IAAI,CAACG,OAAO,GAAG,IAAIhF,OAAO,CAAC,CAAC;IAC5B,IAAI,CAACuC,iBAAiB,GAAG,EAAE;IAE3B,IAAM;MAAEK,SAAS,EAATA,UAAS;MAAEqC;IAAS,CAAC,GAAG,IAAI,CAAChD,KAAK;IAE1C,IAAI,CAACI,KAAK,GAAA6C,aAAA,CAAAA,aAAA;MACR;MACAzC,cAAc,EAAE,EAAE;MAElB;MACA0C,aAAa,EAAE,CAAC;MAEhBC,uBAAuB,EAAE,KAAK;MAE9B;MACAC,gBAAgB,EAAE,IAAIC,GAAG,CAAC,CAAC;MAE3B;MACA1C,SAAS,EAAE,IAAI0C,GAAG,CAAC1C,UAAS,CAAC;MAE7B2C,cAAc,EAAE,KAAK;MACrBC,OAAO,EAAE,IAAI;MACbC,QAAQ,EAAE,IAAI;MACdC,SAAS,EAAE,IAAI;MACfC,mBAAmB,EAAE;IAAK,GAEvB1E,gBAAgB,GAChBgE,QAAQ,CACZ;EACH;EAEAW,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAACC,kBAAkB,CAAC,CAAC;IAEzB,IAAM;MAAEC,EAAE;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAAC9D,KAAK;IAClC8D,OAAO,CAACC,gBAAgB,CACtBF,EAAE,CAACG,UAAU,CAACC,oBAAoB,EAClC,IAAI,CAAC1C,oBACP,CAAC;IAED,IAAI,CAAC2C,gBAAgB,CAAC,CAAC;EACzB;EAEAC,kBAAkBA,CAACC,SAAuB,EAAEC,SAAuB,EAAQ;IACzE,IAAM;MAAErE,KAAK;MAAEI;IAAM,CAAC,GAAG,IAAI;IAC7B,IAAI,CAACkE,kBAAkB,CAACD,SAAS,EAAEjE,KAAK,CAAC;IAEzC,IAAIJ,KAAK,CAACW,SAAS,KAAKyD,SAAS,CAACzD,SAAS,EAAE;MAC3C,IAAI,CAAC4D,eAAe,CAAC,CAAC;IACxB;EACF;EAEAC,oBAAoBA,CAAA,EAAS;IAC3B,IAAM;MAAEX,EAAE;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAAC9D,KAAK;IAElC8D,OAAO,CAACW,mBAAmB,CACzBZ,EAAE,CAACG,UAAU,CAACC,oBAAoB,EAClC,IAAI,CAAC1C,oBACP,CAAC;IAED,IAAI,CAACwB,OAAO,CAAC2B,MAAM,CAAC,CAAC;IACrB,IAAI,CAACC,sBAAsB,CAACD,MAAM,CAAC,CAAC;IAEpC,IAAI,CAACE,oBAAoB,CAAC,CAAC;EAC7B;EAcAhB,kBAAkBA,CAAA,EAAS;IACzB,IAAM;MAAEE;IAAQ,CAAC,GAAG,IAAI,CAAC9D,KAAK;IAC9B,IAAI,CAAC6E,cAAc,GAAGf,OAAO,CAACgB,YAAY,CAAC,IAAI,CAACrD,gBAAgB,CAAC;EACnE;EAEAmD,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,IAAI,CAACC,cAAc,IAAI,IAAI,EAAE;MAC/B,IAAI,CAACA,cAAc,CAAC,CAAC;MACrB,IAAI,CAACA,cAAc,GAAGE,SAAS;IACjC;EACF;EAEAhE,mBAAmBA,CAACiE,KAAY,EAAQ;IAAA,IAAAC,qBAAA;IACtCD,KAAK,CAACE,cAAc,CAAC,CAAC;IACtBF,KAAK,CAACG,eAAe,CAAC,CAAC;IAEvB,CAAAF,qBAAA,OAAI,CAACpC,YAAY,CAACuC,OAAO,cAAAH,qBAAA,uBAAzBA,qBAAA,CAA2BI,KAAK,CAAC,CAAC;EACpC;EAEA9D,oBAAoBA,CAACyD,KAAkB,EAAQ;IAC7C,IAAM;MAAEM,IAAI;MAAEC;IAAO,CAAC,GAAGP,KAAK,CAACQ,MAAM;IACrC,IAAMC,aAAa,GAAG,IAAI,CAAC1C,OAAO,CAAC2C,GAAG,CAACH,MAAM,CAAC;IAC9C,IAAMI,WAAW,GAAG;MAClBC,OAAO,EAAEN,IAAI;MACbO,eAAe,EAAE,EAAE;MACnBC,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;MACrBC,YAAY,EAAEA,CAAA,KAAM;QAClBV,MAAM,CAACb,MAAM,CAAC,CAAC;MACjB,CAAC;MACDe;IACF,CAAC;IAED,IAAM;MAAES,qBAAqB;MAAEC,QAAQ;MAAEC;IAAM,CAAC,GAAG,IAAI,CAACpG,KAAK;IAC7D,IAAMqG,oBAAoB,GAAGH,qBAAqB,CAACI,OAAO,CACxDH,QAAQ,EACRC,KAAK,EACLd,IAAI,EACJ;MACEM,OAAO,EAAEN,IAAI;MACbQ,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACQ,MAAM,CAAC;IAC/B,CACF,CAAC;IACDF,oBAAoB,CAACG,KAAK,CAACC,GAAG,IAAI;MAChC3H,GAAG,CAAC4H,KAAK,CAAC,6BAA6B,EAAED,GAAG,CAAC;IAC/C,CAAC,CAAC;IAEF,IAAI,CAACtG,QAAQ,CACXC,KAAK,KAAK;MACRI,cAAc,EAAEJ,KAAK,CAACI,cAAc,CAACC,MAAM,CAACkF,WAAW;IACzD,CAAC,CAAC,EACF,MAAM;MACJ,IAAI,CAACzF,4BAA4B,CAAC,IAAI,CAAC;IACzC,CACF,CAAC;IAEDuF,aAAa,CACVkB,IAAI,CAACC,QAAQ,IAAI;MAChB,IAAI,CAACvF,mBAAmB,CAACuF,QAAQ,EAAEjB,WAAW,EAAEU,oBAAoB,CAAC;IACvE,CAAC,CAAC,CACDG,KAAK,CAACK,KAAK,IAAI;MACd,IAAI,CAACC,kBAAkB,CAACD,KAAK,EAAElB,WAAW,EAAEU,oBAAoB,CAAC;IACnE,CAAC,CAAC;EACN;EAEAhF,mBAAmBA,CACjBkE,MAMa,EACbI,WAAqC,EACrCU,oBAAwD,EAClD;IACN,IAAMU,cAAc,GAAA9D,aAAA,CAAAA,aAAA,KACf0C,WAAW;MACdF,aAAa,EAAEV,SAAS;MACxBkB,YAAY,EAAElB,SAAS;MACvBQ,MAAM,EAAEA,MAAM,aAANA,MAAM,cAANA,MAAM,GAAII,WAAW,CAACJ;IAAM,EACrC;IAED,IAAI,CAACpF,QAAQ,CAAC6G,IAAA,IAAwB;MAAA,IAAvB;QAAExG;MAAe,CAAC,GAAAwG,IAAA;MAC/B,IAAMC,SAAS,GAAGzG,cAAc,CAAC0G,WAAW,CAACvB,WAAW,CAAC;MACzD,IAAIsB,SAAS,GAAG,CAAC,EAAE;QACjBnI,GAAG,CAAC+H,KAAK,0CAA0C,CAAC;QACpD,OAAO,IAAI;MACb;MACA,IAAMM,UAAU,GAAG3G,cAAc,CAACC,MAAM,CAAC,CAAC;MAC1C0G,UAAU,CAACF,SAAS,CAAC,GAAGF,cAAc;MAEtC,OAAO;QAAEvG,cAAc,EAAE2G;MAAW,CAAC;IACvC,CAAC,CAAC;IAEF,IAAI,CAAC5B,MAAM,EAAE;MACX;IACF;IAEA,IAAI,CAAC6B,aAAa,CAAC7B,MAAM,EAAEwB,cAAc,CAAC;IAC1C,IAAI,CAACM,kBAAkB,CAACN,cAAc,CAAC;IACvC,IAAI,CAACO,0BAA0B,CAC7B;MAAET,KAAK,EAAEtB,MAAM,CAACsB;IAAM,CAAC,EACvBR,oBACF,CAAC;IAED,IAAI,CAACkB,iBAAiB,CAAChC,MAAM,CAACiC,OAAO,CAAC;IACtC,IAAI,CAACC,gBAAgB,CAAClC,MAAM,CAACiC,OAAO,CAAC;EACvC;EAEAV,kBAAkBA,CAChBD,KAAc,EACdlB,WAAqC,EACrCU,oBAAwD,EAClD;IACN,IAAIrI,YAAY,CAAC0J,UAAU,CAACb,KAAK,CAAC,EAAE;MAClC/H,GAAG,CAAC4H,KAAK,CAAC,yDAAyD,CAAC;MACpE;IACF;IAEA,IAAI,CAACY,0BAA0B,CAC7B;MAAET,KAAK,KAAApG,MAAA,CAAKoG,KAAK;IAAG,CAAC,EACrBR,oBACF,CAAC;IAED,IAAI,CAAClG,QAAQ,CAACC,KAAK,IAAI;MACrB,IAAMuH,OAAO,GAAGvH,KAAK,CAACI,cAAc,CAACC,MAAM,CAAC,CAAC;MAC7C,IAAMmH,KAAK,GAAGD,OAAO,CAACT,WAAW,CAACvB,WAAW,CAAC;MAC9C,IAAMoB,cAAc,GAAA9D,aAAA,KAAQ0C,WAAW,CAAE;MACzCoB,cAAc,CAACtB,aAAa,GAAGV,SAAS;MACxCgC,cAAc,CAACd,YAAY,GAAGlB,SAAS;MACvCgC,cAAc,CAACc,OAAO,GAAG9B,IAAI,CAACC,GAAG,CAAC,CAAC;MACnCe,cAAc,CAACxB,MAAM,GAAG;QAAEsB;MAAM,CAAC;MACjCc,OAAO,CAACC,KAAK,CAAC,GAAGb,cAAc;MAC/B,OAAO;QAAEvG,cAAc,EAAEmH;MAAQ,CAAC;IACpC,CAAC,CAAC;EACJ;EAEAxG,kBAAkBA,CAAC6D,KAAY,EAAQ;IACrCA,KAAK,CAACE,cAAc,CAAC,CAAC;IACtBF,KAAK,CAACG,eAAe,CAAC,CAAC;IAEvB,IAAM;MAAE2C;IAAoB,CAAC,GAAG,IAAI,CAAC9H,KAAK;IAC1C8H,mBAAmB,CAAC,CAAC;EACvB;EAEArG,gBAAgBA,CAACsG,OAAgB,EAAQ;IACvC,IAAM;MAAE7I;IAAqB,CAAC,GAAG,IAAI,CAACkB,KAAK;IAC3C,IAAI,CAAClB,oBAAoB,EAAE;MACzB;IACF;IAEA,IACEK,OAAO,CAACM,aAAa,CACnBkI,OAAO,CAACtI,QACV,CAAC,EACD;MACA,IAAI,CAACuI,eAAe,CAACD,OAAO,CAACA,OAAO,EAAEA,OAAO,CAACtI,QAAQ,CAAC;IACzD;EACF;EAEAuI,eAAeA,CAACD,OAAe,EAAEtI,QAAgB,EAAQ;IACvD,IAAM8F,MAA8B,GAAG,CAAC,CAAC;IACzC,IACEhG,OAAO,CAACC,YAAY,CAACC,QAAoD,CAAC,EAC1E;MACA8F,MAAM,CAACsB,KAAK,GAAGkB,OAAO;IACxB,CAAC,MAAM;MACLxC,MAAM,CAACwC,OAAO,GAAGA,OAAO;IAC1B;IAEA,IAAMpC,WAAW,GAAG;MAAEC,OAAO,EAAEb,SAAS;MAAEQ;IAAO,CAAC;IAElD,IAAI,CAACjF,iBAAiB,CAAC2H,IAAI,CAACtC,WAAW,CAAC;IAExC,IAAI,CAAChB,sBAAsB,CAAC,CAAC;EAC/B;EAoBA8C,gBAAgBA,CAACD,OAAwB,EAAQ;IAC/C,IAAM;MAAEvI;IAA0B,CAAC,GAAG,IAAI,CAACmB,KAAK;IAChD,IAAIoH,OAAO,IAAI,IAAI,IAAI,CAACvI,yBAAyB,EAAE;MACjD;IACF;IAEA,IAAM;MAAEiJ;IAAW,CAAC,GAAG,IAAI,CAAClI,KAAK;IACjC,CAAC,GAAGwH,OAAO,CAACW,OAAO,EAAE,GAAGX,OAAO,CAACY,OAAO,CAAC,CAACC,OAAO,CAACC,MAAM,IACrDJ,UAAU,CAACI,MAAM,CACnB,CAAC;EACH;EAEAf,iBAAiBA,CAACC,OAAwB,EAAQ;IAChD,IACEA,OAAO,IAAI,IAAI,IACfA,OAAO,CAACe,OAAO,IAAI,IAAI,IACvBf,OAAO,CAACe,OAAO,CAAChI,MAAM,KAAK,CAAC,EAC5B;MACA;IACF;IAEA,IAAM;MAAEiI;IAAY,CAAC,GAAG,IAAI,CAACxI,KAAK;IAClC,IAAM;MAAEuI;IAAQ,CAAC,GAAGf,OAAO;IAC3Be,OAAO,CAACF,OAAO,CAACC,MAAM,IAAIE,WAAW,CAACF,MAAM,CAAC,CAAC;EAChD;EAEAlB,aAAaA,CACX7B,MAA4B,EAC5BkD,gBAA0C,EACpC;IACN,IAAM9C,WAAW,GAAG8C,gBAAgB;IACpC,IAAIlD,MAAM,IAAI,IAAI,IAAIA,MAAM,CAACiC,OAAO,IAAI,IAAI,IAAI7B,WAAW,IAAI,IAAI,EAAE;MACnE;IACF;IAEAA,WAAW,CAACkC,OAAO,GAAG9B,IAAI,CAACC,GAAG,CAAC,CAAC;IAEhC,IAAI,CAAC9F,4BAA4B,CAAC,CAAC;;IAEnC;IACA,IAAI,CAACC,QAAQ,CAACC,KAAK,IAAI;MACrB,IAAMI,cAAc,GAAGJ,KAAK,CAACI,cAAc,CAACC,MAAM,CAAC,CAAC;MACpD,OAAO;QAAED;MAAe,CAAC;IAC3B,CAAC,CAAC;EACJ;EAEA6G,kBAAkBA,CAAC1B,WAAqC,EAAQ;IAC9D,IAAI6B,OAAoC;IACxC,IAAI7B,WAAW,CAACJ,MAAM,EAAE;MACtBiC,OAAO,GAAG7B,WAAW,CAACJ,MAAM,CAACiC,OAAO;IACtC;IACA,IACE,CAACA,OAAO,IACP,CAACA,OAAO,CAACW,OAAO,IAAI,IAAI,IAAIX,OAAO,CAACW,OAAO,CAAC5H,MAAM,KAAK,CAAC,MACtDiH,OAAO,CAACY,OAAO,IAAI,IAAI,IAAIZ,OAAO,CAACY,OAAO,CAAC7H,MAAM,KAAK,CAAC,CAAC,KACxDiH,OAAO,CAACe,OAAO,IAAI,IAAI,IAAIf,OAAO,CAACe,OAAO,CAAChI,MAAM,KAAK,CAAC,CAAE,EAC5D;MACAzB,GAAG,CAACuB,MAAM,CAAC,+BAA+B,CAAC;MAC3C;IACF;IAEA,IAAI,CAACF,QAAQ,CAACC,KAAK,IAAI;MAAA,IAAAsI,QAAA,EAAAC,SAAA,EAAAC,SAAA;MACrB,IAAI;QAAEpI;MAAe,CAAC,GAAGJ,KAAK;MAC9B,IAAM6G,SAAS,GAAGzG,cAAc,CAAC0G,WAAW,CAACvB,WAAW,CAAC;MACzD,IAAIsB,SAAS,GAAG,CAAC,EAAE;QACjBnI,GAAG,CAAC+H,KAAK,gDAAgD,CAAC;QAC1D,OAAO,IAAI;MACb;MAEA,IAAMzD,gBAAgB,GAAG,IAAIC,GAAG,CAACjD,KAAK,CAACgD,gBAAgB,CAAC;MACxD,IAAMzC,SAAS,GAAG,IAAI0C,GAAG,CAACjD,KAAK,CAACO,SAAS,CAAC;MAE1C,IAAMkI,gBAAgB,GAAG,SAAnBA,gBAAgBA,CACpBP,MAA0B,EAEjB;QAAA,IADTQ,SAAS,GAAAC,SAAA,CAAAxI,MAAA,QAAAwI,SAAA,QAAAhE,SAAA,GAAAgE,SAAA,MAAG,KAAK;QAEjB,IAAM;UAAEC;QAAM,CAAC,GAAGV,MAAM;QACxBxK,aAAa,CAACkL,KAAK,CAAC;QACpB,IAAMC,QAAQ,GAAG7F,gBAAgB,CAAC8F,GAAG,CAACF,KAAK,CAAC;QAC5C;QACA;;QAEA,IAAIC,QAAQ,IAAI,IAAI,IAAIA,QAAQ,IAAI,CAAC,EAAE;UAAA,IAAAE,qBAAA;UACrC;UACA,IAAI3I,cAAc,KAAKJ,KAAK,CAACI,cAAc,EAAE;YAC3C;YACAA,cAAc,GAAGA,cAAc,CAACC,MAAM,CAAC,CAAC;UAC1C;UACA,IAAMsG,cAAc,GAAA9D,aAAA,CAAAA,aAAA,KACfzC,cAAc,CAACyI,QAAQ,CAAC;YAC3BpD,eAAe,EAAE,CACf,KAAAsD,qBAAA,GAAI3I,cAAc,CAACyI,QAAQ,CAAC,CAACpD,eAAe,cAAAsD,qBAAA,cAAAA,qBAAA,GAAI,EAAE,CAAC,EACnDH,KAAK;UACN,EACF;UACDxI,cAAc,CAACyI,QAAQ,CAAC,GAAGlC,cAAc;QAC3C;QACA3D,gBAAgB,CAACgG,GAAG,CAACJ,KAAK,EAAE/B,SAAS,CAAC;QACtC,IAAI6B,SAAS,EAAE;UACbnI,SAAS,CAAC0I,MAAM,CAACL,KAAK,CAAC;QACzB,CAAC,MAAM;UACLrI,SAAS,CAACyI,GAAG,CAACJ,KAAK,EAAEV,MAAM,CAAC;QAC9B;MACF,CAAC;MAED,CAAAI,QAAA,GAAAlB,OAAO,cAAAkB,QAAA,uBAAPA,QAAA,CAASN,OAAO,CAACC,OAAO,CAACC,MAAM,IAAIO,gBAAgB,CAACP,MAAM,CAAC,CAAC;MAC5D,CAAAK,SAAA,GAAAnB,OAAO,cAAAmB,SAAA,uBAAPA,SAAA,CAASJ,OAAO,CAACF,OAAO,CAACC,MAAM,IAAIO,gBAAgB,CAACP,MAAM,EAAE,IAAI,CAAC,CAAC;;MAElE;MACA;MACA,CAAAM,SAAA,GAAApB,OAAO,cAAAoB,SAAA,uBAAPA,SAAA,CAAST,OAAO,CAACE,OAAO,CAACC,MAAM,IAAI;QACjC,IAAM;UAAEU;QAAM,CAAC,GAAGV,MAAM;QACxBxK,aAAa,CAACkL,KAAK,CAAC;QACpB5F,gBAAgB,CAACgG,GAAG,CAACJ,KAAK,EAAE/B,SAAS,CAAC;QACtCtG,SAAS,CAACyI,GAAG,CAACJ,KAAK,EAAEV,MAAM,CAAC;MAC9B,CAAC,CAAC;MAEF,OAAO;QAAElF,gBAAgB;QAAEzC,SAAS;QAAEH;MAAe,CAAC;IACxD,CAAC,CAAC;EACJ;EAEA+D,eAAeA,CAAA,EAAS;IACtB,IAAM;MAAE5D;IAAU,CAAC,GAAG,IAAI,CAACX,KAAK;IAChC,IAAI,CAACG,QAAQ,CAAC;MAAEQ;IAAU,CAAC,CAAC;EAC9B;;EAEA;AACF;AACA;AACA;AACA;EACE2G,0BAA0BA,CACxB/B,MAA0B,EAC1Bc,oBAAwD,EAClD;IACN,IAAMiD,OAAO,GAAG,IAAI,CAACvG,OAAO,CAAC2C,GAAG,CAACW,oBAAoB,CAAC;IAEtD,IAAMwB,OAAO,GAAG,IAAI9B,IAAI,CAAC,CAAC,CAACQ,MAAM,CAAC,CAAC;IACnC+C,OAAO,CACJ3C,IAAI,CAAC4C,aAAa,IAAI;MACrB,IAAMC,WAAW,GAAAvG,aAAA,CAAAA,aAAA,KACZsG,aAAa;QAChBE,IAAI,EAAAxG,aAAA,CAAAA,aAAA,KACCsG,aAAa,CAACE,IAAI;UACrB5B,OAAO;UACPtC;QAAM;MACP,EACF;MAED,IAAM;QAAEW,qBAAqB;QAAEC;MAAS,CAAC,GAAG,IAAI,CAACnG,KAAK;MACtDkG,qBAAqB,CAACwD,UAAU,CAACvD,QAAQ,EAAEqD,WAAW,CAAC,CAAChD,KAAK,CAACC,GAAG,IAAI;QACnE3H,GAAG,CAAC6K,IAAI,CAAC,wCAAwC,EAAElD,GAAG,CAAC;MACzD,CAAC,CAAC;IACJ,CAAC,CAAC,CACDD,KAAK,CAACC,GAAG,IAAI;MACZ3H,GAAG,CAAC4H,KAAK,CAAC,uCAAuC,EAAED,GAAG,CAAC;IACzD,CAAC,CAAC;EACN;EAEAvG,4BAA4BA,CAAA,EAAsB;IAAA,IAArB0J,KAAK,GAAAb,SAAA,CAAAxI,MAAA,QAAAwI,SAAA,QAAAhE,SAAA,GAAAgE,SAAA,MAAG,KAAK;IACxC,IAAMc,IAAI,GAAG,IAAI,CAAC/G,wBAAwB,CAACsC,OAAO;IAClDtH,aAAa,CAAC+L,IAAI,CAAC;IACnB,IACE,CAACD,KAAK,IACNE,IAAI,CAACC,GAAG,CAACF,IAAI,CAACG,YAAY,GAAGH,IAAI,CAACI,YAAY,GAAGJ,IAAI,CAACK,SAAS,CAAC,IAAI,CAAC,EACrE;MACA;IACF;IAEAC,MAAM,CAACC,qBAAqB,CAAC,MAAM;MACjCP,IAAI,CAACK,SAAS,GAAGL,IAAI,CAACG,YAAY;IACpC,CAAC,CAAC;EACJ;EAEArI,sBAAsBA,CAAA,EAAS;IAC7B,IAAM0I,UAAU,GAAG,IAAI,CAACvH,wBAAwB,CAACsC,OAAO;IACxDtH,aAAa,CAACuM,UAAU,CAAC;IACzB,IACEA,UAAU,CAACH,SAAS,GAAG,CAAC,IACxBG,UAAU,CAACL,YAAY,GAAGK,UAAU,CAACJ,YAAY,EACjD;MACA,IAAI,CAAC9J,QAAQ,CAAC;QAAEgD,uBAAuB,EAAE;MAAK,CAAC,CAAC;IAClD,CAAC,MAAM;MACL,IAAI,CAAChD,QAAQ,CAAC;QAAEgD,uBAAuB,EAAE;MAAM,CAAC,CAAC;IACnD;EACF;EAEAvB,4BAA4BA,CAAA,EAAS;IACnC,IAAI,CAACzB,QAAQ,CAACC,KAAK,KAAK;MACtBnB,yBAAyB,EAAE,CAACmB,KAAK,CAACnB;IACpC,CAAC,CAAC,CAAC;EACL;EAEA4C,mCAAmCA,CAAA,EAAS;IAC1C,IAAI,CAAC1B,QAAQ,CAACC,KAAK,KAAK;MACtBjB,gCAAgC,EAAE,CAACiB,KAAK,CAACjB;IAC3C,CAAC,CAAC,CAAC;EACL;EAEA2C,uBAAuBA,CAAA,EAAS;IAC9B,IAAI,CAAC3B,QAAQ,CAACC,KAAK,KAAK;MACtBlB,oBAAoB,EAAE,CAACkB,KAAK,CAAClB;IAC/B,CAAC,CAAC,CAAC;EACL;EAEA6C,eAAeA,CAAA,EAAS;IACtB,IAAI,CAAC5B,QAAQ,CAAC;MACZmD,cAAc,EAAE,IAAI;MACpBG,SAAS,EAAE,IAAI;MACfC,mBAAmB,EAAE;IACvB,CAAC,CAAC;EACJ;EAEA1B,aAAaA,CAAA,EAAS;IACpB,IAAI,CAAC7B,QAAQ,CAAC;MACZmD,cAAc,EAAE,KAAK;MACrBC,OAAO,EAAE,IAAI;MACbC,QAAQ,EAAE,IAAI;MACdC,SAAS,EAAE,IAAI;MACfC,mBAAmB,EAAE;IACvB,CAAC,CAAC;EACJ;EAEAzB,qBAAqBA,CAAA,EAAS;IAC5B,IAAI,CAAC9B,QAAQ,CAAC;MAAEoD,OAAO,EAAE,IAAI;MAAEC,QAAQ,EAAE;IAAK,CAAC,CAAC;EAClD;EAEAtB,mBAAmBA,CAACoI,IAAU,EAAQ;IACpC,IAAI,CAACnK,QAAQ,CAAC;MAAEoD,OAAO,EAAE+G,IAAI;MAAE9G,QAAQ,EAAE;IAAK,CAAC,CAAC;EAClD;EAEArB,cAAcA,CAACoI,KAAa,EAAQ;IAClC,IAAI,CAACpK,QAAQ,CAAC;MAAEoD,OAAO,EAAE,IAAI;MAAEC,QAAQ,EAAE+G;IAAM,CAAC,CAAC;EACnD;EAEAnI,eAAeA,CAACoI,CAA4B,EAAQ;IAClD,IACEA,CAAC,CAACC,YAAY,IAAI,IAAI,IACtBD,CAAC,CAACC,YAAY,CAACC,KAAK,IAAI,IAAI,IAC5BF,CAAC,CAACC,YAAY,CAACC,KAAK,CAACnK,MAAM,KAAK,CAAC,IACjCiK,CAAC,CAACC,YAAY,CAACC,KAAK,CAAC,CAAC,CAAC,CAACC,IAAI,KAAK,QAAQ,EACzC;MACA;IACF;IACAH,CAAC,CAACtF,cAAc,CAAC,CAAC;IAClBsF,CAAC,CAACrF,eAAe,CAAC,CAAC;IACnB,IAAI,CAAChF,QAAQ,CAAC;MAAEmD,cAAc,EAAE;IAAK,CAAC,CAAC;IAEvC,IAAM;MAAEoH;IAAM,CAAC,GAAGF,CAAC,CAACC,YAAY;IAChC,IAAIC,KAAK,CAACnK,MAAM,GAAG,CAAC,EAAE;MACpB,IAAI,CAACJ,QAAQ,CAAC;QAAEsD,SAAS,EAAEpF,UAAU,CAACuM;MAAoB,CAAC,CAAC;MAC5D;IACF;IAEA,IAAMC,IAAI,GAAGH,KAAK,CAAC,CAAC,CAAC;IACrB,IAAIrM,UAAU,CAACyM,eAAe,CAACD,IAAI,CAAC,EAAE;MACpC,IAAI,CAAC1K,QAAQ,CAAC;QAAEsD,SAAS,EAAE;MAAK,CAAC,CAAC;IACpC,CAAC,MAAM;MACL,IAAI,CAACtD,QAAQ,CAAC;QAAEsD,SAAS,EAAEpF,UAAU,CAAC0M;MAAgB,CAAC,CAAC;IAC1D;EACF;EAEA1I,eAAeA,CAACmI,CAA4B,EAAQ;IAClD;IACA,IACEA,CAAC,CAACQ,aAAa,IAAI,IAAI,IACtBR,CAAC,CAACQ,aAAa,YAAYC,OAAO,IACjCT,CAAC,CAACU,aAAa,YAAYD,OAAO,IAClCT,CAAC,CAACQ,aAAa,CAACG,QAAQ,CAACX,CAAC,CAACU,aAAa,CAAE,EAC5C;MACA;IACF;IACAV,CAAC,CAACtF,cAAc,CAAC,CAAC;IAClBsF,CAAC,CAACrF,eAAe,CAAC,CAAC;IACnB,IAAI,CAAChF,QAAQ,CAAC;MAAEmD,cAAc,EAAE,KAAK;MAAEG,SAAS,EAAE;IAAK,CAAC,CAAC;EAC3D;EAEAnB,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,CAACnC,QAAQ,CAAC;MAAEsD,SAAS,EAAE;IAAK,CAAC,CAAC;EACpC;EAEAlB,kBAAkBA,CAACyG,KAAa,EAAQ;IACtC,IAAM;MAAEnF,EAAE;MAAEqE,UAAU;MAAEhC,qBAAqB;MAAEC,QAAQ;MAAEC;IAAM,CAAC,GAC9D,IAAI,CAACpG,KAAK;IACZ,IAAM;MAAEQ,cAAc;MAAEG;IAAU,CAAC,GAAG,IAAI,CAACP,KAAK;IAChD,IAAMkI,MAAM,GAAG;MAAE8C,IAAI,EAAEpC,KAAK;MAAEA,KAAK;MAAE1J,IAAI,EAAEuE,EAAE,CAACwH,YAAY,CAACC;IAAM,CAAC;IAClE,IAAMC,gBAAgB,GAAG5K,SAAS,CAAC6K,GAAG,CAACxC,KAAK,CAAC;IAC7C,IAAMrD,WAAW,GAAG;MAClBG,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;MACrB6B,OAAO,EAAE9B,IAAI,CAACC,GAAG,CAAC,CAAC;MACnBH,eAAe,EAAE,EAAE;MACnBN,MAAM,EAAE;QACNiC,OAAO,EAAE;UACPW,OAAO,EAAE,EAAE;UACXC,OAAO,EAAE,EAAE;UACXG,OAAO,EAAE,EAAE;UACX,CAACgD,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,CAACjD,MAAM;QACrD;MACF;IACF,CAAC;IAED,IAAMX,OAAO,GAAGnH,cAAc,CAACC,MAAM,CAACkF,WAAW,CAAC;IAClD,IAAI,CAACxF,QAAQ,CAAC;MAAEK,cAAc,EAAEmH;IAAQ,CAAC,CAAC;IAC1C,IAAI,CAACzH,4BAA4B,CAAC,IAAI,CAAC;IACvC,IAAI,CAACmH,kBAAkB,CAAC1B,WAAW,CAAC;IACpCuC,UAAU,CAAC;MAAEkD,IAAI,EAAEpC,KAAK;MAAEA,KAAK;MAAE1J,IAAI,EAAEuE,EAAE,CAACwH,YAAY,CAACC;IAAM,CAAC,CAAC;IAC/DpF,qBAAqB,CAACI,OAAO,CAACH,QAAQ,EAAEC,KAAK,EAAE4C,KAAK,EAAE;MACpDpD,OAAO,EAAEoD,KAAK;MACdlD,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACQ,MAAM,CAAC,CAAC;MAC9BsB,OAAO,EAAE,IAAI9B,IAAI,CAAC,CAAC,CAACQ,MAAM,CAAC;IAC7B,CAAC,CAAC;EACJ;EAEAkF,wBAAwBA,CAAC1D,OAAgB,EAAElB,KAAc,EAAQ;IAC/D,IAAM;MAAErG;IAAe,CAAC,GAAG,IAAI,CAACJ,KAAK;IACrC,IAAMuF,WAAW,GAAG;MAClBG,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;MACrB6B,OAAO,EAAE9B,IAAI,CAACC,GAAG,CAAC,CAAC;MACnBT,MAAM,EAAE;QAAEwC,OAAO;QAAElB;MAAM;IAC3B,CAAC;IACD,IAAMc,OAAO,GAAGnH,cAAc,CAACC,MAAM,CAACkF,WAAW,CAAC;IAClD,IAAI,CAACxF,QAAQ,CAAC;MACZK,cAAc,EAAEmH;IAClB,CAAC,CAAC;EACJ;EAEAnF,eAAeA,CAACuF,OAAe,EAAQ;IACrC,IAAI,CAAC0D,wBAAwB,CAAC1D,OAAO,CAAC;EACxC;EAEAtF,cAAcA,CAACoE,KAAc,EAAQ;IACnC,IAAI,CAAC4E,wBAAwB,CAC3B1G,SAAS,EACT8B,KAAK,IAAI,IAAI,MAAApG,MAAA,CAAMoG,KAAK,IAAK9B,SAC/B,CAAC;EACH;EAEArC,mBAAmBA,CAACgB,mBAA4B,EAAQ;IACtD,IAAI,CAACvD,QAAQ,CAAC;MAAEuD;IAAoB,CAAC,CAAC;EACxC;EAEAhC,qBAAqBA,CAAA,EAAqB;IACxC,IAAM;MACJzC,yBAAyB;MACzBE,gCAAgC;MAChCD;IACF,CAAC,GAAG,IAAI,CAACkB,KAAK;IACd,IAAM;MAAES;IAAQ,CAAC,GAAG,IAAI,CAACb,KAAK;IAC9B,OAAO,CACL,GAAGa,OAAO,EACV;MACEmI,KAAK,EAAE,cAAc;MACrBlI,MAAM,EAAE,IAAI,CAACgB,uBAAuB;MACpC4J,KAAK,EAAElO,cAAc,CAACmO,MAAM,CAACC,IAAI;MACjCC,IAAI,EAAE3M,oBAAoB,GAAGzB,OAAO,GAAGsH,SAAS;MAChD+G,KAAK,EAAE;IACT,CAAC,EACD;MACE9C,KAAK,EAAE,oBAAoB;MAC3BlI,MAAM,EAAE,IAAI,CAACc,4BAA4B;MACzC8J,KAAK,EAAElO,cAAc,CAACmO,MAAM,CAACC,IAAI;MACjCC,IAAI,EAAE5M,yBAAyB,GAAGxB,OAAO,GAAGsH,SAAS;MACrD+G,KAAK,EAAE;IACT,CAAC,EACD;MACE9C,KAAK,EAAE,4BAA4B;MACnClI,MAAM,EAAE,IAAI,CAACe,mCAAmC;MAChD6J,KAAK,EAAElO,cAAc,CAACmO,MAAM,CAACC,IAAI;MACjCC,IAAI,EAAE1M,gCAAgC,GAAG1B,OAAO,GAAGsH,SAAS;MAC5D+G,KAAK,EAAE;IACT,CAAC,EACD;MACE9C,KAAK,EAAE,wBAAwB;MAC/BlI,MAAM,EAAE,IAAI,CAACiB,eAAe;MAC5B2J,KAAK,EAAElO,cAAc,CAACmO,MAAM,CAACC,IAAI,GAAG,EAAE;MACtCE,KAAK,EAAE;IACT,CAAC,CACF;EACH;EAEAtK,mBAAmBA,CAACoE,OAAe,EAAQ;IACzC,IAAIA,OAAO,KAAK,OAAO,IAAIA,OAAO,KAAK,KAAK,EAAE;MAC5C,IAAI,CAACmG,mBAAmB,CAAC,CAAC;IAC5B,CAAC,MAAM,IAAInG,OAAO,CAACrF,MAAM,GAAG,CAAC,EAAE;MAC7B;MACA,IAAM;QAAEuD;MAAQ,CAAC,GAAG,IAAI,CAAC9D,KAAK;MAC9B8D,OAAO,CAACkI,OAAO,CAACpG,OAAO,CAAC,CAACY,KAAK,CAACK,KAAK,IAAI;QACtC/H,GAAG,CAAC+H,KAAK,CAAC,2CAA2C,EAAEA,KAAK,CAAC;MAC/D,CAAC,CAAC;IACJ,CAAC,MAAM;MACL;MACA,IAAMlB,WAAW,GAAG;QAClBC,OAAO,EAAE,GAAG;QACZL,MAAM,EAAE,CAAC,CAAC;QACVO,SAAS,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC;QACrB6B,OAAO,EAAE9B,IAAI,CAACC,GAAG,CAAC;MACpB,CAAC;MAED,IAAI,CAAC9F,4BAA4B,CAAC,IAAI,CAAC;MAEvC,IAAI,CAACC,QAAQ,CAACC,KAAK,KAAK;QACtBI,cAAc,EAAEJ,KAAK,CAACI,cAAc,CAACC,MAAM,CAACkF,WAAW;MACzD,CAAC,CAAC,CAAC;IACL;EACF;EAEAoG,mBAAmBA,CAAA,EAAS;IAC1B,IAAI,CAAChJ,OAAO,CAAC2B,MAAM,CAAC,CAAC;IAErB,IAAI,CAACvE,QAAQ,CAACC,KAAK,IAAI;MACrB;MACA;MACA,IAAMgD,gBAAgB,GAAG,IAAIC,GAAG,CAC9B,CAAC,GAAGjD,KAAK,CAACgD,gBAAgB,CAAC6I,IAAI,CAAC,CAAC,CAAC,CAACC,GAAG,CAACd,IAAI,IAAI,CAACA,IAAI,EAAE,CAAC,CAAC,CAAC,CAC3D,CAAC;MACD,OAAO;QAAE5K,cAAc,EAAE,EAAE;QAAE4C;MAAiB,CAAC;IACjD,CAAC,CAAC;EACJ;EAoBA+I,UAAUA,CAACvG,OAAe,EAAuC;IAAA,IAArCwG,KAAK,GAAArD,SAAA,CAAAxI,MAAA,QAAAwI,SAAA,QAAAhE,SAAA,GAAAgE,SAAA,MAAG,IAAI;IAAA,IAAEsD,OAAO,GAAAtD,SAAA,CAAAxI,MAAA,QAAAwI,SAAA,QAAAhE,SAAA,GAAAgE,SAAA,MAAG,KAAK;IACvD,IAAI,CAAC,IAAI,CAAClG,YAAY,CAACuC,OAAO,EAAE;MAC9B;IACF;IACA,IAAI,CAACvC,YAAY,CAACuC,OAAO,CAACkH,cAAc,CAAC1G,OAAO,EAAEwG,KAAK,EAAEC,OAAO,CAAC;IAEjE,IAAID,KAAK,EAAE;MACT,IAAI,CAAClM,4BAA4B,CAAC,IAAI,CAAC;IACzC;EACF;EAEAkM,KAAKA,CAAA,EAAS;IAAA,IAAAG,sBAAA;IACZ,CAAAA,sBAAA,OAAI,CAAC1J,YAAY,CAACuC,OAAO,cAAAmH,sBAAA,uBAAzBA,sBAAA,CAA2BH,KAAK,CAAC,CAAC;EACpC;EAEA9H,kBAAkBA,CAChBD,SAAuB,EACvBjE,KAAmB,EAEb;IAAA,IADNoM,cAAc,GAAAzD,SAAA,CAAAxI,MAAA,QAAAwI,SAAA,QAAAhE,SAAA,GAAAgE,SAAA,MAAG,IAAI;IAErB,IAAMkD,IAAI,GAAGQ,MAAM,CAACR,IAAI,CAACjN,gBAAgB,CAA0B;IACnE,IAAMgE,QAAiC,GAAG,CAAC,CAAC;IAC5C,IAAI0J,UAAU,GAAG,KAAK;IACtB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGV,IAAI,CAAC1L,MAAM,EAAEoM,CAAC,IAAI,CAAC,EAAE;MACvC,IAAMC,GAAG,GAAGX,IAAI,CAACU,CAAC,CAAC;MACnB,IAAM;QAAE,CAACC,GAAG,GAAGC;MAAQ,CAAC,GAAGzM,KAAK;MAChC,IAAM;QAAE,CAACwM,GAAG,GAAGE;MAAY,CAAC,GAAGzI,SAAS;MACxC,IAAIwI,OAAO,KAAKC,WAAW,EAAE;QAC3BJ,UAAU,GAAG,IAAI;MACnB;MACA1J,QAAQ,CAAC4J,GAAG,CAAC,GAAGC,OAAO;IACzB;IACA,IAAIL,cAAc,IAAI,CAACE,UAAU,EAAE;MACjC;IACF;IACA,IAAM;MAAEK;IAAiB,CAAC,GAAG,IAAI,CAAC/M,KAAK;IACvC+M,gBAAgB,CAAC/J,QAAQ,CAAC;EAC5B;EAEAkB,gBAAgBA,CAAA,EAAS;IACvB,IAAI,IAAI,CAACvB,WAAW,CAACyC,OAAO,EAAE;MAC5B,IAAI,CAACjF,QAAQ,CAAC;QACZ+C,aAAa,EAAE,IAAI,CAACP,WAAW,CAACyC,OAAO,CAAC6E;MAC1C,CAAC,CAAC;IACJ;IACA,IAAI,IAAI,CAACpH,YAAY,CAACuC,OAAO,EAAE;MAC7B,IAAI,CAACvC,YAAY,CAACuC,OAAO,CAAClB,gBAAgB,CAAC,CAAC;IAC9C;EACF;EAEA8I,MAAMA,CAAA,EAAiB;IACrB,IAAM;MACJnM,OAAO;MACPgD,EAAE;MACFoJ,eAAe;MACf9G,QAAQ;MACR+G,iBAAiB;MACjBhF,UAAU;MACVpE,OAAO;MACPsC,KAAK;MACLF,qBAAqB;MACrBiH,QAAQ;MACRC,QAAQ;MACRC,KAAK;MACLC,YAAY;MACZC;IACF,CAAC,GAAG,IAAI,CAACvN,KAAK;IACd,IAAM;MACJkD,aAAa;MACb1C,cAAc;MACd2C,uBAAuB;MACvBxC,SAAS;MACT2C,cAAc;MACdC,OAAO;MACPC,QAAQ;MACRC,SAAS;MACTC;IACF,CAAC,GAAG,IAAI,CAACtD,KAAK;IACd,IAAMoN,kBAAkB,GAAG,IAAI,CAACC,UAAU,CAAC9M,SAAS,CAAC;IACrD,IAAM+M,cAAc,GAAG5D,IAAI,CAAC6D,KAAK,CAACzK,aAAa,GAAG,GAAG,CAAC;IACtD,IAAM0K,cAAc,GAAG,IAAI,CAACC,iBAAiB,CAAChN,OAAO,CAAC;IAEtD,oBACEhC,KAAA;MACEiP,IAAI,EAAC,cAAc;MACnBC,SAAS,EAAErQ,UAAU,CAAC,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE;QAAE0P;MAAS,CAAC,CAAE;MAAAY,QAAA,gBAEtEnP,KAAA;QAAKkP,SAAS,EAAC,cAAc;QAACE,GAAG,EAAE,IAAI,CAACtL,WAAY;QAAAqL,QAAA,gBAClDrP,IAAA,CAACJ,gBAAgB;UACfsF,EAAE,EAAEA,EAAG;UACPC,OAAO,EAAEA,OAAQ;UACjBoK,eAAe,EAAE,IAAI,CAACxM,qBAAsB;UAC5CwG,UAAU,EAAEA,UAAW;UACvBiG,OAAO,EAAEX,kBAAmB;UAAAQ,QAAA,EAE3Bd;QAAiB,CACF,CAAC,eACnBrO,KAAA;UACEkP,SAAS,EAAC,uBAAuB;UACjCK,UAAU,EAAE/P,UAAU,CAACgQ,cAAe;UACtCC,WAAW,EAAE,IAAI,CAAClM,eAAgB;UAClCmM,WAAW,EAAE,IAAI,CAAClM,eAAgB;UAAA2L,QAAA,GAEjC1K,cAAc,iBACb3E,IAAA,CAACN,UAAU;YACTmQ,QAAQ,EAAE,IAAI,CAACvM,qBAAsB;YACrCwM,YAAY,EAAE,IAAI,CAACvM,mBAAoB;YACvCwM,OAAO,EAAE,IAAI,CAACvM,cAAe;YAC7BwM,cAAc,EAAE,IAAI,CAACrM,oBAAqB;YAC1CmB,SAAS,EAAEA,SAAU;YACrBmL,OAAO,EAAE,IAAI,CAACnM,cAAe;YAC7BoM,gBAAgB,EAAEnL,mBAAoB;YACtCoL,QAAQ,EAAEzB,KAAK,IAAI;UAAK,CACzB,CACF,eACDxO,KAAA;YACEiP,IAAI,EAAC,cAAc;YACnBC,SAAS,EAAErQ,UAAU,CAAC,yBAAyB,EAAE;cAC/C,mBAAmB,EAAEyF;YACvB,CAAC,CAAE;YACH4L,QAAQ,EAAE,IAAI,CAACpN,sBAAuB;YACtCsM,GAAG,EAAE,IAAI,CAACnL,wBAAyB;YAAAkL,QAAA,gBAEnCrP,IAAA,CAACV,cAAc;cACbyM,KAAK,EAAElK,cAAe;cACtB0H,UAAU,EAAEA,UAAW;cACvB/B,QAAQ,EAAEA,QAAS;cACnBiH,QAAQ,EAAEA,QAAS;cACnBE,YAAY,EAAEA,YAAa;cAC3BC,WAAW,EAAEA;YAAY,CAC1B,CAAC,EACDN,eAAe;UAAA,CACb,CAAC;QAAA,CACH,CAAC,EACL,CAAC3J,cAAc,iBACd3E,IAAA,CAACP,YAAY;UACX6P,GAAG,EAAE,IAAI,CAACpL,YAAa;UACvBiB,OAAO,EAAEA,OAAQ;UACjBqC,QAAQ,EAAEA,QAAS;UACnBC,KAAK,EAAEA,KAAM;UACb4I,QAAQ,EAAE,IAAI,CAACxN,mBAAoB;UACnCyN,SAAS,EAAEvB,cAAe;UAC1BxH,qBAAqB,EAAEA;QAAsB,CAC9C,CACF,EACA5C,cAAc,iBACb3E,IAAA,CAACL,WAAW;UACVwF,OAAO,EAAEA,OAAQ;UACjBoL,WAAW,EAAE,IAAI,CAAC3M,kBAAmB;UACrC4M,OAAO,EAAE,IAAI,CAACnN,aAAc;UAC5BoN,QAAQ,EAAE,IAAI,CAAC5M,eAAgB;UAC/BoM,OAAO,EAAE,IAAI,CAACnM,cAAe;UAC7B6H,IAAI,EAAE/G,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAIwB,SAAU;UAC3BsK,KAAK,EAAE7L,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAIuB,SAAU;UAC7BuK,YAAY,EAAE,IAAI,CAAC5M,mBAAoB;UACvCyK,QAAQ,EAAEA,QAAS;UACnBE,KAAK,EAAEA;QAAM,CACd,CACF;MAAA,CACE,CAAC,eACN1O,IAAA,CAACnB,cAAc;QACbqD,OAAO,EAAE+M,cAAe;QACxB2B,gBAAgB,EAAE,CAACnR,YAAY,CAACoR,gBAAgB;MAAE,CACnD,CAAC;IAAA,CACC,CAAC;EAEV;AACF;AAACvP,eAAA,CAz7BYV,OAAO,kBACI;EACpB2N,iBAAiB,EAAE,IAAI;EACvBlK,QAAQ,EAAE,CAAC,CAAC;EACZ+J,gBAAgB,EAAEA,CAAA,KAAYhI,SAAS;EACvCqB,KAAK,EAAE,IAAI;EACXvF,OAAO,EAAE,EAAE;EACXoM,eAAe,EAAE,IAAI;EACrBE,QAAQ,EAAE,kBAAkB;EAC5BxM,SAAS,EAAE,IAAI0C,GAAG,CAAC,CAAC;EACpB+J,QAAQ,EAAE,KAAK;EACfC,KAAK,EAAE,IAAI;EACXC,YAAY,EAAElO,mBAAmB;EACjCmO,WAAW,EAAElO;AACf,CAAC;AAAAY,eAAA,CAdUV,OAAO,kBAgBI,GAAG;AA26B3B,eAAeA,OAAO"}
@@ -25,7 +25,7 @@ interface CommandHistoryState {
25
25
  itemCount: number;
26
26
  items: CommandHistoryStorageItem[];
27
27
  offset: number;
28
- selectedRanges: Range[];
28
+ selectedRanges: readonly Range[];
29
29
  searchText: string;
30
30
  debouncedSearchText: string;
31
31
  }
@@ -64,7 +64,7 @@ declare class CommandHistory extends Component<CommandHistoryProps, CommandHisto
64
64
  sendToConsole(): void;
65
65
  runInConsole(): void;
66
66
  handleSelect(index: number): void;
67
- handleSelectionChange(selectedRanges: Range[]): void;
67
+ handleSelectionChange(selectedRanges: readonly Range[]): void;
68
68
  handleViewportChange(top: number, bottom: number): void;
69
69
  handleSearchChange(e: ChangeEvent<HTMLInputElement>): void;
70
70
  handleViewportUpdate({ items, offset, }: ViewportData<CommandHistoryStorageItem>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"CommandHistory.d.ts","sourceRoot":"","sources":["../../src/command-history/CommandHistory.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandHistory.d.ts","sourceRoot":"","sources":["../../src/command-history/CommandHistory.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandHistory.js","names":["React","Component","debounce","ContextActions","ItemList","SearchInput","GLOBAL_SHORTCUTS","vsFileCode","vsFiles","vsNewFile","vsPlay","vsTerminal","copyToClipboard","Pending","Log","CommandHistoryItem","CommandHistoryActions","ConsoleConstants","CommandHistoryViewportUpdater","SHORTCUTS","jsx","_jsx","jsxs","_jsxs","log","module","CommandHistory","getCommandsFromViewport","items","offset","sortedRanges","commands","i","length","range","j","name","push","getCommandsFromSnapshot","table","_asyncToGenerator","getSnapshot","values","map","item","constructor","props","_defineProperty","setState","_ref","searchText","debouncedSearchText","selectedRanges","SET_SEARCH_DEBOUNCE_MS","copySelectedCommands","bind","createNotebook","sendToConsole","renderItem","runInConsole","sendToNotebook","handleSelect","handleSelectionChange","handleSearchChange","handleViewportChange","handleViewportUpdate","itemActions","title","description","icon","shortcut","COPY","action","group","groups","edit","COMMAND_HISTORY","SEND_TO_CONSOLE","menuGroups","send","order","RUN","SEND_TO_NOTEBOOK","historyActions","selectionRequired","pending","searchInputRef","createRef","itemListRef","state","actions","top","bottom","itemCount","size","componentWillUnmount","debouncedSearchChange","cancel","getSelectedCommands","_this","ranges","slice","sort","a","b","add","getSelectedCommandText","then","join","updateActions","selectedRowCount","reduce","count","MAX_SELECTION_COUNT","debug","catch","error","commandText","language","value","index","e","target","_ref2","_ref3","itemIndex","isSelected","commandHistoryStorage","focus","current","restoreScrollPosition","_this$itemListRef$cur","render","_ConsoleConstants$LAN","languageDisplayString","LANGUAGE_MAP","get","className","children","ref","placeholder","concat","onChange","hasSelection","onSelect","onSelectionChange","onViewportChange","rowHeight","ITEM_HEIGHT","isDoubleClickSelect","isMultiSelect","isStickyBottom","search","onUpdate","medium"],"sources":["../../src/command-history/CommandHistory.tsx"],"sourcesContent":["import React, { ChangeEvent, Component, ReactElement, RefObject } from 'react';\nimport debounce from 'lodash.debounce';\nimport {\n ContextActions,\n ItemList,\n SearchInput,\n GLOBAL_SHORTCUTS,\n RenderItemProps,\n} from '@deephaven/components';\nimport { ViewportData } from '@deephaven/storage';\nimport {\n vsFileCode,\n vsFiles,\n vsNewFile,\n vsPlay,\n vsTerminal,\n} from '@deephaven/icons';\nimport { copyToClipboard, Pending, Range } from '@deephaven/utils';\nimport Log from '@deephaven/log';\nimport CommandHistoryItem from './CommandHistoryItem';\nimport CommandHistoryActions from './CommandHistoryActions';\nimport ConsoleConstants from '../common/ConsoleConstants';\n\nimport './CommandHistory.scss';\nimport CommandHistoryViewportUpdater from './CommandHistoryViewportUpdater';\nimport SHORTCUTS from '../ConsoleShortcuts';\nimport CommandHistoryStorage, {\n CommandHistoryStorageItem,\n CommandHistoryTable,\n} from './CommandHistoryStorage';\nimport { ItemAction, HistoryAction } from './CommandHistoryTypes';\n\nconst log = Log.module('CommandHistory');\n\nexport type CommandHistorySettings = {\n value: string;\n language: string;\n};\ninterface CommandHistoryProps {\n language: string;\n sendToConsole: (command: string, focus?: boolean, execute?: boolean) => void;\n sendToNotebook: (\n settings: CommandHistorySettings,\n forceNewNotebook?: boolean\n ) => void;\n table: CommandHistoryTable;\n commandHistoryStorage: CommandHistoryStorage;\n}\ninterface CommandHistoryState {\n actions: ItemAction[];\n historyActions: HistoryAction[];\n top: number;\n bottom: number;\n itemCount: number;\n items: CommandHistoryStorageItem[];\n offset: number;\n selectedRanges: Range[];\n searchText: string;\n debouncedSearchText: string;\n}\n\nclass CommandHistory extends Component<\n CommandHistoryProps,\n CommandHistoryState\n> {\n static ITEM_HEIGHT = 29;\n\n static MAX_SELECTION_COUNT = 10000;\n\n static SET_SEARCH_DEBOUNCE_MS = 150;\n\n static menuGroups = {\n send: ContextActions.groups.medium + 100,\n };\n\n static getCommandsFromViewport(\n items: CommandHistoryStorageItem[],\n offset: number,\n sortedRanges: Range[]\n ): string[] {\n const commands = [];\n for (let i = 0; i < sortedRanges.length; i += 1) {\n const range = sortedRanges[i];\n for (let j = range[0]; j <= range[1]; j += 1) {\n if (j >= offset && j < offset + items.length) {\n const { name } = items[j - offset];\n commands.push(name);\n }\n }\n }\n return commands;\n }\n\n static async getCommandsFromSnapshot(\n table: CommandHistoryTable,\n sortedRanges: Range[]\n ): Promise<string[]> {\n const items = await table.getSnapshot(sortedRanges);\n return [...items.values()].map(item => item.name);\n }\n\n constructor(props: CommandHistoryProps) {\n super(props);\n\n this.copySelectedCommands = this.copySelectedCommands.bind(this);\n this.createNotebook = this.createNotebook.bind(this);\n this.sendToConsole = this.sendToConsole.bind(this);\n this.renderItem = this.renderItem.bind(this);\n this.runInConsole = this.runInConsole.bind(this);\n this.sendToNotebook = this.sendToNotebook.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n this.handleSelectionChange = this.handleSelectionChange.bind(this);\n this.handleSearchChange = this.handleSearchChange.bind(this);\n this.handleViewportChange = this.handleViewportChange.bind(this);\n this.handleViewportUpdate = this.handleViewportUpdate.bind(this);\n\n this.itemActions = [\n {\n title: 'Copy Selection',\n description: 'Copy selected commands to clipboard',\n icon: vsFiles,\n shortcut: GLOBAL_SHORTCUTS.COPY,\n action: this.copySelectedCommands,\n group: ContextActions.groups.edit,\n },\n {\n title: 'Send to Console',\n description: 'Open selected commands in the console',\n icon: vsTerminal,\n shortcut: SHORTCUTS.COMMAND_HISTORY.SEND_TO_CONSOLE,\n action: this.sendToConsole,\n group: CommandHistory.menuGroups.send,\n order: 10,\n },\n {\n title: 'Run in Console',\n description: 'Run selected commands in the console',\n icon: vsPlay,\n shortcut: SHORTCUTS.COMMAND_HISTORY.RUN,\n action: this.runInConsole,\n group: CommandHistory.menuGroups.send,\n order: 10,\n },\n {\n title: 'Send to Active Notebook',\n description: 'Open selected commands in a notebook',\n icon: vsFileCode,\n shortcut: SHORTCUTS.COMMAND_HISTORY.SEND_TO_NOTEBOOK,\n action: this.sendToNotebook,\n group: CommandHistory.menuGroups.send,\n order: 20,\n },\n {\n title: 'Send to New Notebook',\n description: 'Open selected commands in a new notebook',\n icon: vsNewFile,\n action: this.createNotebook,\n group: CommandHistory.menuGroups.send,\n order: 30,\n },\n ];\n\n this.historyActions = [\n {\n title: 'Send to Console',\n icon: vsTerminal,\n selectionRequired: true,\n description: 'Open selected commands in the console',\n action: this.sendToConsole,\n },\n {\n title: 'Send to Notebook',\n icon: vsFileCode,\n selectionRequired: true,\n description: 'Open selected commands in a notebook',\n action: this.sendToNotebook,\n },\n ];\n\n this.pending = new Pending();\n this.searchInputRef = React.createRef();\n this.itemListRef = React.createRef();\n\n const { table } = props;\n\n this.state = {\n actions: [],\n historyActions: this.historyActions,\n top: 0,\n bottom: 0,\n itemCount: table.size,\n items: [],\n offset: 0,\n selectedRanges: [],\n searchText: '',\n debouncedSearchText: '',\n };\n }\n\n componentWillUnmount(): void {\n this.debouncedSearchChange.cancel();\n this.pending.cancel();\n }\n\n itemActions: ItemAction[];\n\n historyActions: HistoryAction[];\n\n pending: Pending;\n\n searchInputRef: RefObject<SearchInput>;\n\n itemListRef: React.RefObject<ItemList<CommandHistoryStorageItem>>;\n\n /**\n * Retrieves the selected commands as an array.\n * If they're not within the current viewport, will fetch them from the table\n * @returns Array of selected commands\n */\n async getSelectedCommands(): Promise<string[]> {\n const { items, offset, selectedRanges } = this.state;\n const ranges = selectedRanges.slice().sort((a, b) => a[0] - b[0]);\n\n if (ranges.length === 0) {\n return [];\n }\n if (\n ranges[0][0] >= offset &&\n ranges[ranges.length - 1][1] < offset + items.length\n ) {\n // All ranges are in the current viewport, just copy the data we've already got\n return CommandHistory.getCommandsFromViewport(items, offset, ranges);\n }\n const { table } = this.props;\n return this.pending.add(\n CommandHistory.getCommandsFromSnapshot(table, ranges)\n );\n }\n\n /**\n * Retrieves the text of all the currently selected commands, joined by a new line char\n * @returns The commands joined by \\n char\n */\n getSelectedCommandText(): Promise<string> {\n return this.getSelectedCommands().then(commands => commands.join('\\n'));\n }\n\n updateActions(): void {\n this.setState(state => {\n const { selectedRanges } = state;\n const selectedRowCount = selectedRanges.reduce(\n (count, range) => count + range[1] - range[0] + 1,\n 0\n );\n if (\n selectedRowCount > 0 &&\n selectedRowCount < CommandHistory.MAX_SELECTION_COUNT\n ) {\n log.debug('Updating actions', this.itemActions);\n return { actions: this.itemActions };\n }\n log.debug('Disabling actions', selectedRowCount);\n return { actions: [] };\n });\n }\n\n copySelectedCommands(): void {\n this.getSelectedCommandText().then(copyToClipboard).catch(log.error);\n }\n\n createNotebook(): void {\n this.getSelectedCommandText()\n .then(commandText => {\n const { language, sendToNotebook } = this.props;\n sendToNotebook({ value: commandText, language }, true);\n })\n .catch(log.error);\n }\n\n debouncedSearchChange = debounce((): void => {\n this.setState(({ searchText }) => ({\n debouncedSearchText: searchText,\n // clear selected range, as old selection could be filtered from list\n selectedRanges: [],\n }));\n }, CommandHistory.SET_SEARCH_DEBOUNCE_MS);\n\n sendToNotebook(): void {\n this.getSelectedCommandText()\n .then(commandText => {\n const { language, sendToNotebook } = this.props;\n sendToNotebook({ value: commandText, language });\n })\n .catch(log.error);\n }\n\n sendToConsole(): void {\n const { sendToConsole } = this.props;\n this.getSelectedCommandText().then(sendToConsole).catch(log.error);\n }\n\n runInConsole(): void {\n this.getSelectedCommandText()\n .then(commandText => {\n const { sendToConsole } = this.props;\n sendToConsole(commandText, true, true);\n })\n .catch(log.error);\n }\n\n handleSelect(index: number): void {\n const { sendToConsole } = this.props;\n const { items, offset } = this.state;\n if (index < offset || index >= offset + items.length) {\n log.error('Invalid index!', index);\n return;\n }\n\n const { name } = items[index - offset];\n sendToConsole(name);\n }\n\n handleSelectionChange(selectedRanges: Range[]): void {\n this.setState({ selectedRanges });\n this.updateActions();\n }\n\n handleViewportChange(top: number, bottom: number): void {\n this.setState({ top, bottom });\n }\n\n handleSearchChange(e: ChangeEvent<HTMLInputElement>): void {\n this.setState({ searchText: e.target.value });\n this.debouncedSearchChange();\n }\n\n handleViewportUpdate({\n items,\n offset,\n }: ViewportData<CommandHistoryStorageItem>): void {\n const { table } = this.props;\n const itemCount = table.size;\n this.setState({ items, itemCount, offset });\n }\n\n renderItem({\n item,\n itemIndex,\n isSelected,\n }: RenderItemProps<CommandHistoryStorageItem>): ReactElement {\n const { language, commandHistoryStorage } = this.props;\n return (\n <CommandHistoryItem\n isSelected={isSelected}\n item={item}\n language={language}\n commandHistoryStorage={commandHistoryStorage}\n />\n );\n }\n\n focus(): void {\n if (this.searchInputRef.current) {\n this.searchInputRef.current.focus();\n }\n }\n\n restoreScrollPosition(): void {\n this.itemListRef.current?.restoreScrollPosition();\n }\n\n render(): ReactElement {\n const { language, table } = this.props;\n const {\n actions,\n historyActions,\n searchText,\n debouncedSearchText,\n top,\n bottom,\n items,\n itemCount,\n offset,\n selectedRanges,\n } = this.state;\n const languageDisplayString =\n ConsoleConstants.LANGUAGE_MAP.get(language) ?? '';\n return (\n <div className=\"command-history\">\n <div className=\"command-history-search-bar\">\n <SearchInput\n ref={this.searchInputRef}\n value={searchText}\n placeholder={`${languageDisplayString} Command History`}\n onChange={this.handleSearchChange}\n />\n <CommandHistoryActions\n actions={historyActions}\n hasSelection={selectedRanges.length > 0}\n />\n </div>\n <div className=\"command-history-list\">\n <ItemList\n ref={this.itemListRef}\n itemCount={itemCount}\n items={items}\n offset={offset}\n selectedRanges={selectedRanges}\n onSelect={this.handleSelect}\n onSelectionChange={this.handleSelectionChange}\n onViewportChange={this.handleViewportChange}\n renderItem={this.renderItem}\n rowHeight={CommandHistory.ITEM_HEIGHT}\n isDoubleClickSelect\n isMultiSelect\n isStickyBottom\n />\n <CommandHistoryViewportUpdater\n table={table}\n top={top}\n bottom={bottom}\n search={debouncedSearchText}\n onUpdate={this.handleViewportUpdate}\n />\n <ContextActions actions={actions} />\n </div>\n </div>\n );\n }\n}\n\nexport default CommandHistory;\n"],"mappings":"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"}
1
+ {"version":3,"file":"CommandHistory.js","names":["React","Component","debounce","ContextActions","ItemList","SearchInput","GLOBAL_SHORTCUTS","vsFileCode","vsFiles","vsNewFile","vsPlay","vsTerminal","copyToClipboard","Pending","Log","CommandHistoryItem","CommandHistoryActions","ConsoleConstants","CommandHistoryViewportUpdater","SHORTCUTS","jsx","_jsx","jsxs","_jsxs","log","module","CommandHistory","getCommandsFromViewport","items","offset","sortedRanges","commands","i","length","range","j","name","push","getCommandsFromSnapshot","table","_asyncToGenerator","getSnapshot","values","map","item","constructor","props","_defineProperty","setState","_ref","searchText","debouncedSearchText","selectedRanges","SET_SEARCH_DEBOUNCE_MS","copySelectedCommands","bind","createNotebook","sendToConsole","renderItem","runInConsole","sendToNotebook","handleSelect","handleSelectionChange","handleSearchChange","handleViewportChange","handleViewportUpdate","itemActions","title","description","icon","shortcut","COPY","action","group","groups","edit","COMMAND_HISTORY","SEND_TO_CONSOLE","menuGroups","send","order","RUN","SEND_TO_NOTEBOOK","historyActions","selectionRequired","pending","searchInputRef","createRef","itemListRef","state","actions","top","bottom","itemCount","size","componentWillUnmount","debouncedSearchChange","cancel","getSelectedCommands","_this","ranges","slice","sort","a","b","add","getSelectedCommandText","then","join","updateActions","selectedRowCount","reduce","count","MAX_SELECTION_COUNT","debug","catch","error","commandText","language","value","index","e","target","_ref2","_ref3","itemIndex","isSelected","commandHistoryStorage","focus","current","restoreScrollPosition","_this$itemListRef$cur","render","_ConsoleConstants$LAN","languageDisplayString","LANGUAGE_MAP","get","className","children","ref","placeholder","concat","onChange","hasSelection","onSelect","onSelectionChange","onViewportChange","rowHeight","ITEM_HEIGHT","isDoubleClickSelect","isMultiSelect","isStickyBottom","search","onUpdate","medium"],"sources":["../../src/command-history/CommandHistory.tsx"],"sourcesContent":["import React, { ChangeEvent, Component, ReactElement, RefObject } from 'react';\nimport debounce from 'lodash.debounce';\nimport {\n ContextActions,\n ItemList,\n SearchInput,\n GLOBAL_SHORTCUTS,\n RenderItemProps,\n} from '@deephaven/components';\nimport { ViewportData } from '@deephaven/storage';\nimport {\n vsFileCode,\n vsFiles,\n vsNewFile,\n vsPlay,\n vsTerminal,\n} from '@deephaven/icons';\nimport { copyToClipboard, Pending, Range } from '@deephaven/utils';\nimport Log from '@deephaven/log';\nimport CommandHistoryItem from './CommandHistoryItem';\nimport CommandHistoryActions from './CommandHistoryActions';\nimport ConsoleConstants from '../common/ConsoleConstants';\n\nimport './CommandHistory.scss';\nimport CommandHistoryViewportUpdater from './CommandHistoryViewportUpdater';\nimport SHORTCUTS from '../ConsoleShortcuts';\nimport CommandHistoryStorage, {\n CommandHistoryStorageItem,\n CommandHistoryTable,\n} from './CommandHistoryStorage';\nimport { ItemAction, HistoryAction } from './CommandHistoryTypes';\n\nconst log = Log.module('CommandHistory');\n\nexport type CommandHistorySettings = {\n value: string;\n language: string;\n};\ninterface CommandHistoryProps {\n language: string;\n sendToConsole: (command: string, focus?: boolean, execute?: boolean) => void;\n sendToNotebook: (\n settings: CommandHistorySettings,\n forceNewNotebook?: boolean\n ) => void;\n table: CommandHistoryTable;\n commandHistoryStorage: CommandHistoryStorage;\n}\ninterface CommandHistoryState {\n actions: ItemAction[];\n historyActions: HistoryAction[];\n top: number;\n bottom: number;\n itemCount: number;\n items: CommandHistoryStorageItem[];\n offset: number;\n selectedRanges: readonly Range[];\n searchText: string;\n debouncedSearchText: string;\n}\n\nclass CommandHistory extends Component<\n CommandHistoryProps,\n CommandHistoryState\n> {\n static ITEM_HEIGHT = 29;\n\n static MAX_SELECTION_COUNT = 10000;\n\n static SET_SEARCH_DEBOUNCE_MS = 150;\n\n static menuGroups = {\n send: ContextActions.groups.medium + 100,\n };\n\n static getCommandsFromViewport(\n items: CommandHistoryStorageItem[],\n offset: number,\n sortedRanges: Range[]\n ): string[] {\n const commands = [];\n for (let i = 0; i < sortedRanges.length; i += 1) {\n const range = sortedRanges[i];\n for (let j = range[0]; j <= range[1]; j += 1) {\n if (j >= offset && j < offset + items.length) {\n const { name } = items[j - offset];\n commands.push(name);\n }\n }\n }\n return commands;\n }\n\n static async getCommandsFromSnapshot(\n table: CommandHistoryTable,\n sortedRanges: Range[]\n ): Promise<string[]> {\n const items = await table.getSnapshot(sortedRanges);\n return [...items.values()].map(item => item.name);\n }\n\n constructor(props: CommandHistoryProps) {\n super(props);\n\n this.copySelectedCommands = this.copySelectedCommands.bind(this);\n this.createNotebook = this.createNotebook.bind(this);\n this.sendToConsole = this.sendToConsole.bind(this);\n this.renderItem = this.renderItem.bind(this);\n this.runInConsole = this.runInConsole.bind(this);\n this.sendToNotebook = this.sendToNotebook.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n this.handleSelectionChange = this.handleSelectionChange.bind(this);\n this.handleSearchChange = this.handleSearchChange.bind(this);\n this.handleViewportChange = this.handleViewportChange.bind(this);\n this.handleViewportUpdate = this.handleViewportUpdate.bind(this);\n\n this.itemActions = [\n {\n title: 'Copy Selection',\n description: 'Copy selected commands to clipboard',\n icon: vsFiles,\n shortcut: GLOBAL_SHORTCUTS.COPY,\n action: this.copySelectedCommands,\n group: ContextActions.groups.edit,\n },\n {\n title: 'Send to Console',\n description: 'Open selected commands in the console',\n icon: vsTerminal,\n shortcut: SHORTCUTS.COMMAND_HISTORY.SEND_TO_CONSOLE,\n action: this.sendToConsole,\n group: CommandHistory.menuGroups.send,\n order: 10,\n },\n {\n title: 'Run in Console',\n description: 'Run selected commands in the console',\n icon: vsPlay,\n shortcut: SHORTCUTS.COMMAND_HISTORY.RUN,\n action: this.runInConsole,\n group: CommandHistory.menuGroups.send,\n order: 10,\n },\n {\n title: 'Send to Active Notebook',\n description: 'Open selected commands in a notebook',\n icon: vsFileCode,\n shortcut: SHORTCUTS.COMMAND_HISTORY.SEND_TO_NOTEBOOK,\n action: this.sendToNotebook,\n group: CommandHistory.menuGroups.send,\n order: 20,\n },\n {\n title: 'Send to New Notebook',\n description: 'Open selected commands in a new notebook',\n icon: vsNewFile,\n action: this.createNotebook,\n group: CommandHistory.menuGroups.send,\n order: 30,\n },\n ];\n\n this.historyActions = [\n {\n title: 'Send to Console',\n icon: vsTerminal,\n selectionRequired: true,\n description: 'Open selected commands in the console',\n action: this.sendToConsole,\n },\n {\n title: 'Send to Notebook',\n icon: vsFileCode,\n selectionRequired: true,\n description: 'Open selected commands in a notebook',\n action: this.sendToNotebook,\n },\n ];\n\n this.pending = new Pending();\n this.searchInputRef = React.createRef();\n this.itemListRef = React.createRef();\n\n const { table } = props;\n\n this.state = {\n actions: [],\n historyActions: this.historyActions,\n top: 0,\n bottom: 0,\n itemCount: table.size,\n items: [],\n offset: 0,\n selectedRanges: [],\n searchText: '',\n debouncedSearchText: '',\n };\n }\n\n componentWillUnmount(): void {\n this.debouncedSearchChange.cancel();\n this.pending.cancel();\n }\n\n itemActions: ItemAction[];\n\n historyActions: HistoryAction[];\n\n pending: Pending;\n\n searchInputRef: RefObject<SearchInput>;\n\n itemListRef: React.RefObject<ItemList<CommandHistoryStorageItem>>;\n\n /**\n * Retrieves the selected commands as an array.\n * If they're not within the current viewport, will fetch them from the table\n * @returns Array of selected commands\n */\n async getSelectedCommands(): Promise<string[]> {\n const { items, offset, selectedRanges } = this.state;\n const ranges = selectedRanges.slice().sort((a, b) => a[0] - b[0]);\n\n if (ranges.length === 0) {\n return [];\n }\n if (\n ranges[0][0] >= offset &&\n ranges[ranges.length - 1][1] < offset + items.length\n ) {\n // All ranges are in the current viewport, just copy the data we've already got\n return CommandHistory.getCommandsFromViewport(items, offset, ranges);\n }\n const { table } = this.props;\n return this.pending.add(\n CommandHistory.getCommandsFromSnapshot(table, ranges)\n );\n }\n\n /**\n * Retrieves the text of all the currently selected commands, joined by a new line char\n * @returns The commands joined by \\n char\n */\n getSelectedCommandText(): Promise<string> {\n return this.getSelectedCommands().then(commands => commands.join('\\n'));\n }\n\n updateActions(): void {\n this.setState(state => {\n const { selectedRanges } = state;\n const selectedRowCount = selectedRanges.reduce(\n (count, range) => count + range[1] - range[0] + 1,\n 0\n );\n if (\n selectedRowCount > 0 &&\n selectedRowCount < CommandHistory.MAX_SELECTION_COUNT\n ) {\n log.debug('Updating actions', this.itemActions);\n return { actions: this.itemActions };\n }\n log.debug('Disabling actions', selectedRowCount);\n return { actions: [] };\n });\n }\n\n copySelectedCommands(): void {\n this.getSelectedCommandText().then(copyToClipboard).catch(log.error);\n }\n\n createNotebook(): void {\n this.getSelectedCommandText()\n .then(commandText => {\n const { language, sendToNotebook } = this.props;\n sendToNotebook({ value: commandText, language }, true);\n })\n .catch(log.error);\n }\n\n debouncedSearchChange = debounce((): void => {\n this.setState(({ searchText }) => ({\n debouncedSearchText: searchText,\n // clear selected range, as old selection could be filtered from list\n selectedRanges: [],\n }));\n }, CommandHistory.SET_SEARCH_DEBOUNCE_MS);\n\n sendToNotebook(): void {\n this.getSelectedCommandText()\n .then(commandText => {\n const { language, sendToNotebook } = this.props;\n sendToNotebook({ value: commandText, language });\n })\n .catch(log.error);\n }\n\n sendToConsole(): void {\n const { sendToConsole } = this.props;\n this.getSelectedCommandText().then(sendToConsole).catch(log.error);\n }\n\n runInConsole(): void {\n this.getSelectedCommandText()\n .then(commandText => {\n const { sendToConsole } = this.props;\n sendToConsole(commandText, true, true);\n })\n .catch(log.error);\n }\n\n handleSelect(index: number): void {\n const { sendToConsole } = this.props;\n const { items, offset } = this.state;\n if (index < offset || index >= offset + items.length) {\n log.error('Invalid index!', index);\n return;\n }\n\n const { name } = items[index - offset];\n sendToConsole(name);\n }\n\n handleSelectionChange(selectedRanges: readonly Range[]): void {\n this.setState({ selectedRanges });\n this.updateActions();\n }\n\n handleViewportChange(top: number, bottom: number): void {\n this.setState({ top, bottom });\n }\n\n handleSearchChange(e: ChangeEvent<HTMLInputElement>): void {\n this.setState({ searchText: e.target.value });\n this.debouncedSearchChange();\n }\n\n handleViewportUpdate({\n items,\n offset,\n }: ViewportData<CommandHistoryStorageItem>): void {\n const { table } = this.props;\n const itemCount = table.size;\n this.setState({ items, itemCount, offset });\n }\n\n renderItem({\n item,\n itemIndex,\n isSelected,\n }: RenderItemProps<CommandHistoryStorageItem>): ReactElement {\n const { language, commandHistoryStorage } = this.props;\n return (\n <CommandHistoryItem\n isSelected={isSelected}\n item={item}\n language={language}\n commandHistoryStorage={commandHistoryStorage}\n />\n );\n }\n\n focus(): void {\n if (this.searchInputRef.current) {\n this.searchInputRef.current.focus();\n }\n }\n\n restoreScrollPosition(): void {\n this.itemListRef.current?.restoreScrollPosition();\n }\n\n render(): ReactElement {\n const { language, table } = this.props;\n const {\n actions,\n historyActions,\n searchText,\n debouncedSearchText,\n top,\n bottom,\n items,\n itemCount,\n offset,\n selectedRanges,\n } = this.state;\n const languageDisplayString =\n ConsoleConstants.LANGUAGE_MAP.get(language) ?? '';\n return (\n <div className=\"command-history\">\n <div className=\"command-history-search-bar\">\n <SearchInput\n ref={this.searchInputRef}\n value={searchText}\n placeholder={`${languageDisplayString} Command History`}\n onChange={this.handleSearchChange}\n />\n <CommandHistoryActions\n actions={historyActions}\n hasSelection={selectedRanges.length > 0}\n />\n </div>\n <div className=\"command-history-list\">\n <ItemList\n ref={this.itemListRef}\n itemCount={itemCount}\n items={items}\n offset={offset}\n selectedRanges={selectedRanges}\n onSelect={this.handleSelect}\n onSelectionChange={this.handleSelectionChange}\n onViewportChange={this.handleViewportChange}\n renderItem={this.renderItem}\n rowHeight={CommandHistory.ITEM_HEIGHT}\n isDoubleClickSelect\n isMultiSelect\n isStickyBottom\n />\n <CommandHistoryViewportUpdater\n table={table}\n top={top}\n bottom={bottom}\n search={debouncedSearchText}\n onUpdate={this.handleViewportUpdate}\n />\n <ContextActions actions={actions} />\n </div>\n </div>\n );\n }\n}\n\nexport default CommandHistory;\n"],"mappings":"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"}
@@ -12,7 +12,7 @@ export interface CommandHistoryStorageItem extends StorageItem {
12
12
  data: CommandHistoryStorageData;
13
13
  }
14
14
  export interface CommandHistoryTable extends StorageTable<CommandHistoryStorageItem> {
15
- setSearch(search: string): void;
15
+ setSearch: (search: string) => void;
16
16
  }
17
17
  export interface CommandHistoryStorage {
18
18
  /**
@@ -23,7 +23,7 @@ export interface CommandHistoryStorage {
23
23
  * @param scope The scope of this command history, to keep different command histories separate
24
24
  * @param timestamp The time this command history scope was started
25
25
  */
26
- getTable(language: string, scope: string, timestamp: number): Promise<CommandHistoryTable>;
26
+ getTable: (language: string, scope: string, timestamp: number) => Promise<CommandHistoryTable>;
27
27
  /**
28
28
  * Add a command to the command history
29
29
  * @param language The language to add the command history item for
@@ -31,13 +31,13 @@ export interface CommandHistoryStorage {
31
31
  * @param command The command to add to the history
32
32
  * @param data The data to save with the command
33
33
  */
34
- addItem(language: string, scope: string, command: string, data: CommandHistoryStorageData): Promise<CommandHistoryStorageItem>;
34
+ addItem: (language: string, scope: string, command: string, data: CommandHistoryStorageData) => Promise<CommandHistoryStorageItem>;
35
35
  /**
36
36
  * Save a modified CommandHistoryStorageItem
37
37
  * @param language The language of the item to save
38
38
  * @param item The modified item to save
39
39
  */
40
- updateItem(language: string, item: CommandHistoryStorageItem): Promise<CommandHistoryStorageItem>;
40
+ updateItem: (language: string, item: CommandHistoryStorageItem) => Promise<CommandHistoryStorageItem>;
41
41
  /**
42
42
  * Listen to an item with a specific id
43
43
  *
@@ -45,7 +45,7 @@ export interface CommandHistoryStorage {
45
45
  * @param id The id of the item to listen to
46
46
  * @param listener Called whenever there is an update on the item
47
47
  */
48
- listenItem(language: string, id: string, listener: StorageItemListener<CommandHistoryStorageItem>, onError?: StorageErrorListener): StorageListenerRemover;
48
+ listenItem: (language: string, id: string, listener: StorageItemListener<CommandHistoryStorageItem>, onError?: StorageErrorListener) => StorageListenerRemover;
49
49
  }
50
50
  export default CommandHistoryStorage;
51
51
  //# sourceMappingURL=CommandHistoryStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandHistoryStorage.d.ts","sourceRoot":"","sources":["../../src/command-history/CommandHistoryStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAED,MAAM,WAAW,yBAA0B,SAAQ,WAAW;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,yBAAyB,CAAC;CACjC;AAED,MAAM,WAAW,mBACf,SAAQ,YAAY,CAAC,yBAAyB,CAAC;IAC/C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;;;OAOG;IACH,QAAQ,CACN,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhC;;;;;;OAMG;IACH,OAAO,CACL,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAEtC;;;;OAIG;IACH,UAAU,CACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAEtC;;;;;;OAMG;IACH,UAAU,CACR,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,mBAAmB,CAAC,yBAAyB,CAAC,EACxD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,sBAAsB,CAAC;CAC3B;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"CommandHistoryStorage.d.ts","sourceRoot":"","sources":["../../src/command-history/CommandHistoryStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAED,MAAM,WAAW,yBAA0B,SAAQ,WAAW;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,yBAAyB,CAAC;CACjC;AAED,MAAM,WAAW,mBACf,SAAQ,YAAY,CAAC,yBAAyB,CAAC;IAC/C,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;;;OAOG;IACH,QAAQ,EAAE,CACR,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAElC;;;;;;OAMG;IACH,OAAO,EAAE,CACP,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,yBAAyB,KAC5B,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAExC;;;;OAIG;IACH,UAAU,EAAE,CACV,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,yBAAyB,KAC5B,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAExC;;;;;;OAMG;IACH,UAAU,EAAE,CACV,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,mBAAmB,CAAC,yBAAyB,CAAC,EACxD,OAAO,CAAC,EAAE,oBAAoB,KAC3B,sBAAsB,CAAC;CAC7B;AAED,eAAe,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandHistoryStorage.js","names":[],"sources":["../../src/command-history/CommandHistoryStorage.ts"],"sourcesContent":["import {\n StorageTable,\n StorageItem,\n StorageItemListener,\n StorageListenerRemover,\n StorageErrorListener,\n} from '@deephaven/storage';\n\nexport interface CommandHistoryStorageData {\n command: string;\n startTime: string;\n endTime?: string;\n result?: { error?: string };\n}\n\nexport interface CommandHistoryStorageItem extends StorageItem {\n name: string;\n data: CommandHistoryStorageData;\n}\n\nexport interface CommandHistoryTable\n extends StorageTable<CommandHistoryStorageItem> {\n setSearch(search: string): void;\n}\n\nexport interface CommandHistoryStorage {\n /**\n * Retrieve a table filtered to the command history for the language and scope specified.\n * To achieve a separate history per scope (ie. dashboard), we add the scope as suffix to the data type.\n * When fetching the history, we then filter based on the timestamp\n * @param language The language to get the command history for\n * @param scope The scope of this command history, to keep different command histories separate\n * @param timestamp The time this command history scope was started\n */\n getTable(\n language: string,\n scope: string,\n timestamp: number\n ): Promise<CommandHistoryTable>;\n\n /**\n * Add a command to the command history\n * @param language The language to add the command history item for\n * @param scope The scope to add the command history for\n * @param command The command to add to the history\n * @param data The data to save with the command\n */\n addItem(\n language: string,\n scope: string,\n command: string,\n data: CommandHistoryStorageData\n ): Promise<CommandHistoryStorageItem>;\n\n /**\n * Save a modified CommandHistoryStorageItem\n * @param language The language of the item to save\n * @param item The modified item to save\n */\n updateItem(\n language: string,\n item: CommandHistoryStorageItem\n ): Promise<CommandHistoryStorageItem>;\n\n /**\n * Listen to an item with a specific id\n *\n * @param language The language of the item\n * @param id The id of the item to listen to\n * @param listener Called whenever there is an update on the item\n */\n listenItem(\n language: string,\n id: string,\n listener: StorageItemListener<CommandHistoryStorageItem>,\n onError?: StorageErrorListener\n ): StorageListenerRemover;\n}\n\nexport default CommandHistoryStorage;\n"],"mappings":""}
1
+ {"version":3,"file":"CommandHistoryStorage.js","names":[],"sources":["../../src/command-history/CommandHistoryStorage.ts"],"sourcesContent":["import {\n StorageTable,\n StorageItem,\n StorageItemListener,\n StorageListenerRemover,\n StorageErrorListener,\n} from '@deephaven/storage';\n\nexport interface CommandHistoryStorageData {\n command: string;\n startTime: string;\n endTime?: string;\n result?: { error?: string };\n}\n\nexport interface CommandHistoryStorageItem extends StorageItem {\n name: string;\n data: CommandHistoryStorageData;\n}\n\nexport interface CommandHistoryTable\n extends StorageTable<CommandHistoryStorageItem> {\n setSearch: (search: string) => void;\n}\n\nexport interface CommandHistoryStorage {\n /**\n * Retrieve a table filtered to the command history for the language and scope specified.\n * To achieve a separate history per scope (ie. dashboard), we add the scope as suffix to the data type.\n * When fetching the history, we then filter based on the timestamp\n * @param language The language to get the command history for\n * @param scope The scope of this command history, to keep different command histories separate\n * @param timestamp The time this command history scope was started\n */\n getTable: (\n language: string,\n scope: string,\n timestamp: number\n ) => Promise<CommandHistoryTable>;\n\n /**\n * Add a command to the command history\n * @param language The language to add the command history item for\n * @param scope The scope to add the command history for\n * @param command The command to add to the history\n * @param data The data to save with the command\n */\n addItem: (\n language: string,\n scope: string,\n command: string,\n data: CommandHistoryStorageData\n ) => Promise<CommandHistoryStorageItem>;\n\n /**\n * Save a modified CommandHistoryStorageItem\n * @param language The language of the item to save\n * @param item The modified item to save\n */\n updateItem: (\n language: string,\n item: CommandHistoryStorageItem\n ) => Promise<CommandHistoryStorageItem>;\n\n /**\n * Listen to an item with a specific id\n *\n * @param language The language of the item\n * @param id The id of the item to listen to\n * @param listener Called whenever there is an update on the item\n */\n listenItem: (\n language: string,\n id: string,\n listener: StorageItemListener<CommandHistoryStorageItem>,\n onError?: StorageErrorListener\n ) => StorageListenerRemover;\n}\n\nexport default CommandHistoryStorage;\n"],"mappings":""}
@@ -10,8 +10,8 @@ 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
+ supportsType: (type: string) => boolean;
14
+ iconForType: (type: string) => ReactElement;
15
15
  }
16
16
  declare function ConsoleHistory(props: ConsoleHistoryProps): ReactElement;
17
17
  export default ConsoleHistory;
@@ -1 +1 @@
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
+ {"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,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,YAAY,CAAC;CAC7C;AAQD,iBAAS,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CA6BhE;AAED,eAAe,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistory.js","names":["ConsoleHistoryItem","jsx","_jsx","itemKey","i","item","concat","command","result","message","error","ConsoleHistory","props","disabled","items","language","openObject","supportsType","iconForType","historyElements","length","historyElement","push","className","children"],"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,SAAAC,GAAA,IAAAC,IAAA;AAczB,SAASC,OAAOA,CAACC,CAAS,EAAEC,IAA8B,EAAU;EAClE,UAAAC,MAAA,CAAUF,CAAC,OAAAE,MAAA,CAAID,IAAI,CAACE,OAAO,OAAAD,MAAA,CAAID,IAAI,CAACG,MAAM,IAAIH,IAAI,CAACG,MAAM,CAACC,OAAO,OAAAH,MAAA,CAC/DD,IAAI,CAACG,MAAM,IAAIH,IAAI,CAACG,MAAM,CAACE,KAAK;AAEpC;AAEA,SAASC,cAAcA,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,IAAIf,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGU,KAAK,CAACM,MAAM,EAAEhB,CAAC,IAAI,CAAC,EAAE;IACxC,IAAMC,IAAI,GAAGS,KAAK,CAACV,CAAC,CAAC;IACrB,IAAMiB,cAAc,gBAClBnB,IAAA,CAACF,kBAAkB;MAEjBa,QAAQ,EAAEA,QAAS;MACnBR,IAAI,EAAEA,IAAK;MACXW,UAAU,EAAEA,UAAW;MACvBD,QAAQ,EAAEA,QAAS;MACnBE,YAAY,EAAEA,YAAa;MAC3BC,WAAW,EAAEA;IAAY,GANpBf,OAAO,CAACC,CAAC,EAAEC,IAAI,CAOrB,CACF;IACDc,eAAe,CAACG,IAAI,CAACD,cAAc,CAAC;EACtC;EAEA,oBACEnB,IAAA;IAAKqB,SAAS,EAAC,iCAAiC;IAAAC,QAAA,EAAEL;EAAe,CAAM,CAAC;AAE5E;AAEA,eAAeR,cAAc"}
1
+ {"version":3,"file":"ConsoleHistory.js","names":["ConsoleHistoryItem","jsx","_jsx","itemKey","i","item","concat","command","result","message","error","ConsoleHistory","props","disabled","items","language","openObject","supportsType","iconForType","historyElements","length","historyElement","push","className","children"],"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,SAAAC,GAAA,IAAAC,IAAA;AAczB,SAASC,OAAOA,CAACC,CAAS,EAAEC,IAA8B,EAAU;EAClE,UAAAC,MAAA,CAAUF,CAAC,OAAAE,MAAA,CAAID,IAAI,CAACE,OAAO,OAAAD,MAAA,CAAID,IAAI,CAACG,MAAM,IAAIH,IAAI,CAACG,MAAM,CAACC,OAAO,OAAAH,MAAA,CAC/DD,IAAI,CAACG,MAAM,IAAIH,IAAI,CAACG,MAAM,CAACE,KAAK;AAEpC;AAEA,SAASC,cAAcA,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,IAAIf,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGU,KAAK,CAACM,MAAM,EAAEhB,CAAC,IAAI,CAAC,EAAE;IACxC,IAAMC,IAAI,GAAGS,KAAK,CAACV,CAAC,CAAC;IACrB,IAAMiB,cAAc,gBAClBnB,IAAA,CAACF,kBAAkB;MAEjBa,QAAQ,EAAEA,QAAS;MACnBR,IAAI,EAAEA,IAAK;MACXW,UAAU,EAAEA,UAAW;MACvBD,QAAQ,EAAEA,QAAS;MACnBE,YAAY,EAAEA,YAAa;MAC3BC,WAAW,EAAEA;IAAY,GANpBf,OAAO,CAACC,CAAC,EAAEC,IAAI,CAOrB,CACF;IACDc,eAAe,CAACG,IAAI,CAACD,cAAc,CAAC;EACtC;EAEA,oBACEnB,IAAA;IAAKqB,SAAS,EAAC,iCAAiC;IAAAC,QAAA,EAAEL;EAAe,CAAM,CAAC;AAE5E;AAEA,eAAeR,cAAc"}
@@ -6,8 +6,8 @@ import type { JSZipObject, OnUpdateCallback, JSZipStreamHelper } from 'jszip';
6
6
  */
7
7
  interface ZipStreamHelper extends JSZipStreamHelper<string> {
8
8
  readable: boolean;
9
- read(): void;
10
- removeListener(): void;
9
+ read: () => void;
10
+ removeListener: () => void;
11
11
  }
12
12
  export default function makeZipStreamHelper(zipObj: JSZipObject, onUpdate: OnUpdateCallback): ZipStreamHelper;
13
13
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ZipStreamHelper.d.ts","sourceRoot":"","sources":["../../src/csv/ZipStreamHelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE9E;;;;GAIG;AACH,UAAU,eAAgB,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IACzD,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,IAAI,IAAI,CAAC;IACb,cAAc,IAAI,IAAI,CAAC;CACxB;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,gBAAgB,GACzB,eAAe,CAgBjB"}
1
+ {"version":3,"file":"ZipStreamHelper.d.ts","sourceRoot":"","sources":["../../src/csv/ZipStreamHelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE9E;;;;GAIG;AACH,UAAU,eAAgB,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IACzD,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,gBAAgB,GACzB,eAAe,CAgBjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ZipStreamHelper.js","names":["makeZipStreamHelper","zipObj","onUpdate","helper","internalStream","readable","read","removeListener","on","_","metadata"],"sources":["../../src/csv/ZipStreamHelper.ts"],"sourcesContent":["import type { JSZipObject, OnUpdateCallback, JSZipStreamHelper } from 'jszip';\n\n/**\n * This is used to help papaparse understand our stream.\n * It uses these fields for feature detection, but never actually calls read()\n * https://github.com/mholt/PapaParse/blob/master/papaparse.js#L244\n */\ninterface ZipStreamHelper extends JSZipStreamHelper<string> {\n readable: boolean;\n read(): void;\n removeListener(): void;\n}\n\nexport default function makeZipStreamHelper(\n zipObj: JSZipObject,\n onUpdate: OnUpdateCallback\n): ZipStreamHelper {\n const helper: ZipStreamHelper = (\n zipObj as JSZipObject & {\n // The type could be anything except nodebuffer from https://stuk.github.io/jszip/documentation/api_zipobject/internal_stream.html\n // We only need it as a string though\n // JSZip types don't include this method for some reason\n internalStream(type: 'string'): JSZipStreamHelper<string>;\n }\n ).internalStream('string') as ZipStreamHelper;\n\n helper.readable = true;\n helper.read = () => false;\n helper.removeListener = () => false;\n helper.on('data', (_, metadata) => onUpdate(metadata));\n\n return helper;\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;;AAOA,eAAe,SAASA,mBAAmBA,CACzCC,MAAmB,EACnBC,QAA0B,EACT;EACjB,IAAMC,MAAuB,GAC3BF,MAAM,CAMNG,cAAc,CAAC,QAAQ,CAAoB;EAE7CD,MAAM,CAACE,QAAQ,GAAG,IAAI;EACtBF,MAAM,CAACG,IAAI,GAAG,MAAM,KAAK;EACzBH,MAAM,CAACI,cAAc,GAAG,MAAM,KAAK;EACnCJ,MAAM,CAACK,EAAE,CAAC,MAAM,EAAE,CAACC,CAAC,EAAEC,QAAQ,KAAKR,QAAQ,CAACQ,QAAQ,CAAC,CAAC;EAEtD,OAAOP,MAAM;AACf"}
1
+ {"version":3,"file":"ZipStreamHelper.js","names":["makeZipStreamHelper","zipObj","onUpdate","helper","internalStream","readable","read","removeListener","on","_","metadata"],"sources":["../../src/csv/ZipStreamHelper.ts"],"sourcesContent":["import type { JSZipObject, OnUpdateCallback, JSZipStreamHelper } from 'jszip';\n\n/**\n * This is used to help papaparse understand our stream.\n * It uses these fields for feature detection, but never actually calls read()\n * https://github.com/mholt/PapaParse/blob/master/papaparse.js#L244\n */\ninterface ZipStreamHelper extends JSZipStreamHelper<string> {\n readable: boolean;\n read: () => void;\n removeListener: () => void;\n}\n\nexport default function makeZipStreamHelper(\n zipObj: JSZipObject,\n onUpdate: OnUpdateCallback\n): ZipStreamHelper {\n const helper: ZipStreamHelper = (\n zipObj as JSZipObject & {\n // The type could be anything except nodebuffer from https://stuk.github.io/jszip/documentation/api_zipobject/internal_stream.html\n // We only need it as a string though\n // JSZip types don't include this method for some reason\n internalStream: (type: 'string') => JSZipStreamHelper<string>;\n }\n ).internalStream('string') as ZipStreamHelper;\n\n helper.readable = true;\n helper.read = () => false;\n helper.removeListener = () => false;\n helper.on('data', (_, metadata) => onUpdate(metadata));\n\n return helper;\n}\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;;AAOA,eAAe,SAASA,mBAAmBA,CACzCC,MAAmB,EACnBC,QAA0B,EACT;EACjB,IAAMC,MAAuB,GAC3BF,MAAM,CAMNG,cAAc,CAAC,QAAQ,CAAoB;EAE7CD,MAAM,CAACE,QAAQ,GAAG,IAAI;EACtBF,MAAM,CAACG,IAAI,GAAG,MAAM,KAAK;EACzBH,MAAM,CAACI,cAAc,GAAG,MAAM,KAAK;EACnCJ,MAAM,CAACK,EAAE,CAAC,MAAM,EAAE,CAACC,CAAC,EAAEC,QAAQ,KAAKR,QAAQ,CAACQ,QAAQ,CAAC,CAAC;EAEtD,OAAOP,MAAM;AACf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/console",
3
- "version": "0.51.0",
3
+ "version": "0.51.1-alpha-theme-fix.1+add15f1b",
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.51.0",
27
- "@deephaven/components": "^0.51.0",
28
- "@deephaven/icons": "^0.51.0",
29
- "@deephaven/jsapi-bootstrap": "^0.51.0",
30
- "@deephaven/jsapi-types": "^0.51.0",
31
- "@deephaven/log": "^0.51.0",
32
- "@deephaven/react-hooks": "^0.51.0",
33
- "@deephaven/storage": "^0.51.0",
34
- "@deephaven/utils": "^0.51.0",
26
+ "@deephaven/chart": "^0.51.1-alpha-theme-fix.1+add15f1b",
27
+ "@deephaven/components": "^0.51.1-alpha-theme-fix.1+add15f1b",
28
+ "@deephaven/icons": "^0.51.1-alpha-theme-fix.1+add15f1b",
29
+ "@deephaven/jsapi-bootstrap": "^0.51.1-alpha-theme-fix.1+add15f1b",
30
+ "@deephaven/jsapi-types": "^0.51.1-alpha-theme-fix.1+add15f1b",
31
+ "@deephaven/log": "^0.51.1-alpha-theme-fix.1+add15f1b",
32
+ "@deephaven/react-hooks": "^0.51.1-alpha-theme-fix.1+add15f1b",
33
+ "@deephaven/storage": "^0.51.1-alpha-theme-fix.1+add15f1b",
34
+ "@deephaven/utils": "^0.51.1-alpha-theme-fix.1+add15f1b",
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.51.0",
55
- "@deephaven/mocks": "^0.51.0"
54
+ "@deephaven/jsapi-shim": "^0.51.1-alpha-theme-fix.1+add15f1b",
55
+ "@deephaven/mocks": "^0.51.1-alpha-theme-fix.1+add15f1b"
56
56
  },
57
57
  "files": [
58
58
  "dist"
@@ -63,5 +63,5 @@
63
63
  "publishConfig": {
64
64
  "access": "public"
65
65
  },
66
- "gitHead": "54f7cc5d08a9c1a390b2e89a9fb84fe1018008eb"
66
+ "gitHead": "add15f1b1ce7ad96bf40849a39c80434070b54c0"
67
67
  }