@deephaven/console 0.15.5 → 0.15.6-vite.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/Console.d.ts +1 -1
  2. package/dist/Console.js +1 -1
  3. package/dist/Console.js.map +1 -1
  4. package/dist/ConsoleInput.js.map +1 -1
  5. package/dist/ConsoleMenu.js.map +1 -1
  6. package/dist/ConsolePropTypes.js.map +1 -1
  7. package/dist/ConsoleShortcuts.js.map +1 -1
  8. package/dist/ConsoleStatusBar.js.map +1 -1
  9. package/dist/StoragePropTypes.js.map +1 -1
  10. package/dist/command-history/CommandHistory.js.map +1 -1
  11. package/dist/command-history/CommandHistoryActions.js.map +1 -1
  12. package/dist/command-history/CommandHistoryItem.js.map +1 -1
  13. package/dist/command-history/CommandHistoryItemTooltip.js.map +1 -1
  14. package/dist/command-history/CommandHistoryStorage.js.map +1 -1
  15. package/dist/command-history/CommandHistoryTypes.js.map +1 -1
  16. package/dist/command-history/CommandHistoryViewportUpdater.js.map +1 -1
  17. package/dist/command-history/index.js.map +1 -1
  18. package/dist/common/Code.js.map +1 -1
  19. package/dist/common/ConsoleConstants.js.map +1 -1
  20. package/dist/common/ConsoleUtils.d.ts +1 -1
  21. package/dist/common/ConsoleUtils.js +1 -1
  22. package/dist/common/ConsoleUtils.js.map +1 -1
  23. package/dist/common/ObjectIcon.js.map +1 -1
  24. package/dist/common/index.d.js.map +1 -1
  25. package/dist/common/index.js.map +1 -1
  26. package/dist/console-history/ConsoleHistory.js.map +1 -1
  27. package/dist/console-history/ConsoleHistoryItem.js.map +1 -1
  28. package/dist/console-history/ConsoleHistoryItemResult.js.map +1 -1
  29. package/dist/console-history/ConsoleHistoryResultErrorMessage.js.map +1 -1
  30. package/dist/console-history/ConsoleHistoryResultInProgress.js.map +1 -1
  31. package/dist/console-history/ConsoleHistoryTypes.js.map +1 -1
  32. package/dist/console-history/index.js.map +1 -1
  33. package/dist/csv/CsvFormats.js.map +1 -1
  34. package/dist/csv/CsvInputBar.js.map +1 -1
  35. package/dist/csv/CsvOverlay.js.map +1 -1
  36. package/dist/csv/CsvParser.js.map +1 -1
  37. package/dist/csv/CsvTypeParser.js.map +1 -1
  38. package/dist/csv/NewTableColumnTypes.js.map +1 -1
  39. package/dist/declaration.d.js.map +1 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/log/LogLevel.js.map +1 -1
  42. package/dist/log/LogLevelMenuItem.js.map +1 -1
  43. package/dist/log/LogView.js.map +1 -1
  44. package/dist/monaco/MonacoCompletionProvider.js.map +1 -1
  45. package/dist/monaco/MonacoUtils.d.ts +7 -2
  46. package/dist/monaco/MonacoUtils.d.ts.map +1 -1
  47. package/dist/monaco/MonacoUtils.js +15 -2
  48. package/dist/monaco/MonacoUtils.js.map +1 -1
  49. package/dist/monaco/index.js.map +1 -1
  50. package/dist/monaco/lang/Language.js.map +1 -1
  51. package/dist/monaco/lang/db.js.map +1 -1
  52. package/dist/monaco/lang/groovy.js.map +1 -1
  53. package/dist/monaco/lang/log.js.map +1 -1
  54. package/dist/monaco/lang/python.js.map +1 -1
  55. package/dist/monaco/lang/scala.js.map +1 -1
  56. package/dist/notebook/Editor.js.map +1 -1
  57. package/dist/notebook/ScriptEditor.js.map +1 -1
  58. package/dist/notebook/ScriptEditorUtils.js.map +1 -1
  59. package/package.json +11 -10
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/StoragePropTypes.ts"],"names":["PropTypes","CommandHistoryStorage","shape","addItem","func","isRequired","updateItem","getTable","CommandHistoryTable","size","number","getSnapshot","StoragePropTypes","Object","freeze"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AAEA,IAAMC,qBAAqB,GAAGD,SAAS,CAACE,KAAV,CAAgB;AAC5CC,EAAAA,OAAO,EAAEH,SAAS,CAACI,IAAV,CAAeC,UADoB;AAE5CC,EAAAA,UAAU,EAAEN,SAAS,CAACI,IAAV,CAAeC,UAFiB;AAG5CE,EAAAA,QAAQ,EAAEP,SAAS,CAACI,IAAV,CAAeC;AAHmB,CAAhB,CAA9B;AAMA,IAAMG,mBAAmB,GAAGR,SAAS,CAACE,KAAV,CAAgB;AAC1CO,EAAAA,IAAI,EAAET,SAAS,CAACU,MAAV,CAAiBL,UADmB;AAE1CM,EAAAA,WAAW,EAAEX,SAAS,CAACI,IAAV,CAAeC;AAFc,CAAhB,CAA5B;AAKA,IAAMO,gBAAgB,GAAGC,MAAM,CAACC,MAAP,CAAc;AACrCb,EAAAA,qBADqC;AAErCO,EAAAA;AAFqC,CAAd,CAAzB;AAKA,eAAeI,gBAAf","sourcesContent":["import PropTypes from 'prop-types';\n\nconst CommandHistoryStorage = PropTypes.shape({\n addItem: PropTypes.func.isRequired,\n updateItem: PropTypes.func.isRequired,\n getTable: PropTypes.func.isRequired,\n});\n\nconst CommandHistoryTable = PropTypes.shape({\n size: PropTypes.number.isRequired,\n getSnapshot: PropTypes.func.isRequired,\n});\n\nconst StoragePropTypes = Object.freeze({\n CommandHistoryStorage,\n CommandHistoryTable,\n});\n\nexport default StoragePropTypes;\n"],"file":"StoragePropTypes.js"}
1
+ {"version":3,"file":"StoragePropTypes.js","names":["PropTypes","CommandHistoryStorage","shape","addItem","func","isRequired","updateItem","getTable","CommandHistoryTable","size","number","getSnapshot","StoragePropTypes","Object","freeze"],"sources":["../src/StoragePropTypes.ts"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst CommandHistoryStorage = PropTypes.shape({\n addItem: PropTypes.func.isRequired,\n updateItem: PropTypes.func.isRequired,\n getTable: PropTypes.func.isRequired,\n});\n\nconst CommandHistoryTable = PropTypes.shape({\n size: PropTypes.number.isRequired,\n getSnapshot: PropTypes.func.isRequired,\n});\n\nconst StoragePropTypes = Object.freeze({\n CommandHistoryStorage,\n CommandHistoryTable,\n});\n\nexport default StoragePropTypes;\n"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AAEA,IAAMC,qBAAqB,GAAGD,SAAS,CAACE,KAAV,CAAgB;EAC5CC,OAAO,EAAEH,SAAS,CAACI,IAAV,CAAeC,UADoB;EAE5CC,UAAU,EAAEN,SAAS,CAACI,IAAV,CAAeC,UAFiB;EAG5CE,QAAQ,EAAEP,SAAS,CAACI,IAAV,CAAeC;AAHmB,CAAhB,CAA9B;AAMA,IAAMG,mBAAmB,GAAGR,SAAS,CAACE,KAAV,CAAgB;EAC1CO,IAAI,EAAET,SAAS,CAACU,MAAV,CAAiBL,UADmB;EAE1CM,WAAW,EAAEX,SAAS,CAACI,IAAV,CAAeC;AAFc,CAAhB,CAA5B;AAKA,IAAMO,gBAAgB,GAAGC,MAAM,CAACC,MAAP,CAAc;EACrCb,qBADqC;EAErCO;AAFqC,CAAd,CAAzB;AAKA,eAAeI,gBAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/command-history/CommandHistory.tsx"],"names":["React","Component","ContextActions","ContextActionUtils","ItemList","SearchInput","GLOBAL_SHORTCUTS","vsFileCode","vsFiles","vsNewFile","vsPlay","vsTerminal","Pending","Log","CommandHistoryItem","CommandHistoryActions","ConsoleConstants","CommandHistoryViewportUpdater","SHORTCUTS","log","module","CommandHistory","getCommandsFromViewport","items","offset","sortedRanges","commands","i","length","range","j","name","push","getCommandsFromSnapshot","table","getSnapshot","values","map","item","constructor","props","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","state","actions","top","bottom","itemCount","size","selectedRanges","searchText","componentWillUnmount","cancel","getSelectedCommands","ranges","slice","sort","a","b","add","getSelectedCommandText","then","join","updateActions","setState","selectedRowCount","reduce","count","MAX_SELECTION_COUNT","debug","copyToClipboard","catch","error","commandText","language","value","index","e","target","itemIndex","isSelected","commandHistoryStorage","focus","current","render","languageDisplayString","LANGUAGE_MAP","get","ITEM_HEIGHT","medium"],"mappings":"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","sourcesContent":["import React, { ChangeEvent, Component, ReactElement, RefObject } from 'react';\nimport {\n ContextActions,\n ContextActionUtils,\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 { 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}\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 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\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 };\n }\n\n componentWillUnmount(): void {\n this.pending.cancel();\n }\n\n itemActions: ItemAction[];\n\n historyActions: HistoryAction[];\n\n pending: Pending;\n\n searchInputRef: RefObject<SearchInput>;\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()\n .then(ContextActionUtils.copyToClipboard)\n .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 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 // clear selected range, as old selection could be filtered from list\n this.setState({ searchText: e.target.value, selectedRanges: [] });\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 render(): ReactElement {\n const { language, table } = this.props;\n const {\n actions,\n historyActions,\n searchText,\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 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={searchText}\n onUpdate={this.handleViewportUpdate}\n />\n <ContextActions actions={actions} />\n </div>\n </div>\n );\n }\n}\n\nexport default CommandHistory;\n"],"file":"CommandHistory.js"}
1
+ {"version":3,"file":"CommandHistory.js","names":["React","Component","ContextActions","ContextActionUtils","ItemList","SearchInput","GLOBAL_SHORTCUTS","vsFileCode","vsFiles","vsNewFile","vsPlay","vsTerminal","Pending","Log","CommandHistoryItem","CommandHistoryActions","ConsoleConstants","CommandHistoryViewportUpdater","SHORTCUTS","log","module","CommandHistory","getCommandsFromViewport","items","offset","sortedRanges","commands","i","length","range","j","name","push","getCommandsFromSnapshot","table","getSnapshot","values","map","item","constructor","props","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","state","actions","top","bottom","itemCount","size","selectedRanges","searchText","componentWillUnmount","cancel","getSelectedCommands","ranges","slice","sort","a","b","add","getSelectedCommandText","then","join","updateActions","setState","selectedRowCount","reduce","count","MAX_SELECTION_COUNT","debug","copyToClipboard","catch","error","commandText","language","value","index","e","target","itemIndex","isSelected","commandHistoryStorage","focus","current","render","languageDisplayString","LANGUAGE_MAP","get","ITEM_HEIGHT","medium"],"sources":["../../src/command-history/CommandHistory.tsx"],"sourcesContent":["import React, { ChangeEvent, Component, ReactElement, RefObject } from 'react';\nimport {\n ContextActions,\n ContextActionUtils,\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 { 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}\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 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\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 };\n }\n\n componentWillUnmount(): void {\n this.pending.cancel();\n }\n\n itemActions: ItemAction[];\n\n historyActions: HistoryAction[];\n\n pending: Pending;\n\n searchInputRef: RefObject<SearchInput>;\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()\n .then(ContextActionUtils.copyToClipboard)\n .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 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 // clear selected range, as old selection could be filtered from list\n this.setState({ searchText: e.target.value, selectedRanges: [] });\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 render(): ReactElement {\n const { language, table } = this.props;\n const {\n actions,\n historyActions,\n searchText,\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 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={searchText}\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 +1 @@
1
- {"version":3,"sources":["../../src/command-history/CommandHistoryActions.tsx"],"names":["React","Component","classNames","FontAwesomeIcon","Button","vsArrowLeft","vsCircleLargeFilled","CommandHistoryActions","itemKey","i","item","title","renderContent","selectionRequired","icon","render","actions","hasSelection","props","map","index","className","action","description"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAA+C,OAA/C;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SAASC,WAAT,EAAsBC,mBAAtB,QAAiD,kBAAjD;;;AASA,MAAMC,qBAAN,SAAoCN,SAApC,CAGE;AACc,SAAPO,OAAO,CAACC,CAAD,EAAaC,IAAb,EAA0C;AACtD,qBAAUA,IAAI,CAACC,KAAf;AACD;;AAEmB,SAAbC,aAAa,CAACF,IAAD,EAAmC;AACrD,QAAIA,IAAI,CAACG,iBAAT,EAA4B;AAC1B,0BACE;AAAK,QAAA,SAAS,EAAC;AAAf,sBACE,oBAAC,eAAD;AACE,QAAA,IAAI,EAAEP,mBADR;AAEE,QAAA,IAAI,EAAEI,IAAI,CAACI,IAFb;AAGE,QAAA,SAAS,EAAC;AAHZ,QADF,eAME,oBAAC,eAAD;AACE,QAAA,IAAI,EAAET,WADR;AAEE,QAAA,SAAS,EAAC;AAFZ,QANF,CADF;AAaD;;AACD,wBAAO,oBAAC,eAAD;AAAiB,MAAA,IAAI,EAAEK,IAAI,CAACI;AAA5B,MAAP;AACD;;AAEDC,EAAAA,MAAM,GAAiB;AACrB,QAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAA4B,KAAKC,KAAvC;AAEA,wBACE;AAAK,MAAA,SAAS,EAAC;AAAf,OACGF,OAAO,CAACG,GAAR,CAAY,CAACT,IAAD,EAAOU,KAAP,kBACX,oBAAC,MAAD;AACE,MAAA,IAAI,EAAC,QADP;AAEE,MAAA,SAAS,EAAElB,UAAU,CAACQ,IAAI,CAACW,SAAN,CAFvB;AAGE,MAAA,GAAG,EAAEd,qBAAqB,CAACC,OAAtB,CAA8BY,KAA9B,EAAqCV,IAArC,CAHP;AAIE,MAAA,OAAO,EAAEA,IAAI,CAACY,MAJhB;AAKE,MAAA,OAAO,EAAEZ,IAAI,CAACa,WALhB;AAME,MAAA,QAAQ,EAAEb,IAAI,CAACG,iBAAL,IAA0B,CAACI,YANvC;AAOE,MAAA,IAAI,EAAEV,qBAAqB,CAACK,aAAtB,CAAoCF,IAApC;AAPR,MADD,CADH,CADF;AAeD;;AA1CD;;AA6CF,eAAeH,qBAAf","sourcesContent":["import React, { Component, ReactElement } from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Button } from '@deephaven/components';\nimport { vsArrowLeft, vsCircleLargeFilled } from '@deephaven/icons';\nimport './CommandHistoryActions.scss';\nimport { HistoryAction } from './CommandHistoryTypes';\n\ninterface CommandHistoryActionsProps {\n actions: HistoryAction[];\n hasSelection: boolean;\n}\n\nclass CommandHistoryActions extends Component<\n CommandHistoryActionsProps,\n Record<string, never>\n> {\n static itemKey(i: unknown, item: HistoryAction): string {\n return `${item.title}`;\n }\n\n static renderContent(item: HistoryAction): JSX.Element {\n if (item.selectionRequired) {\n return (\n <div className=\"fa-md fa-layers\">\n <FontAwesomeIcon\n icon={vsCircleLargeFilled}\n mask={item.icon}\n transform=\"right-5 down-5 shrink-4\"\n />\n <FontAwesomeIcon\n icon={vsArrowLeft}\n transform=\"shrink-3 right-7 down-6\"\n />\n </div>\n );\n }\n return <FontAwesomeIcon icon={item.icon} />;\n }\n\n render(): ReactElement {\n const { actions, hasSelection } = this.props;\n\n return (\n <div className=\"command-history-actions\">\n {actions.map((item, index) => (\n <Button\n kind=\"inline\"\n className={classNames(item.className)}\n key={CommandHistoryActions.itemKey(index, item)}\n onClick={item.action}\n tooltip={item.description}\n disabled={item.selectionRequired && !hasSelection}\n icon={CommandHistoryActions.renderContent(item)}\n />\n ))}\n </div>\n );\n }\n}\n\nexport default CommandHistoryActions;\n"],"file":"CommandHistoryActions.js"}
1
+ {"version":3,"file":"CommandHistoryActions.js","names":["React","Component","classNames","FontAwesomeIcon","Button","vsArrowLeft","vsCircleLargeFilled","CommandHistoryActions","itemKey","i","item","title","renderContent","selectionRequired","icon","render","actions","hasSelection","props","map","index","className","action","description"],"sources":["../../src/command-history/CommandHistoryActions.tsx"],"sourcesContent":["import React, { Component, ReactElement } from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Button } from '@deephaven/components';\nimport { vsArrowLeft, vsCircleLargeFilled } from '@deephaven/icons';\nimport './CommandHistoryActions.scss';\nimport { HistoryAction } from './CommandHistoryTypes';\n\ninterface CommandHistoryActionsProps {\n actions: HistoryAction[];\n hasSelection: boolean;\n}\n\nclass CommandHistoryActions extends Component<\n CommandHistoryActionsProps,\n Record<string, never>\n> {\n static itemKey(i: unknown, item: HistoryAction): string {\n return `${item.title}`;\n }\n\n static renderContent(item: HistoryAction): JSX.Element {\n if (item.selectionRequired) {\n return (\n <div className=\"fa-md fa-layers\">\n <FontAwesomeIcon\n icon={vsCircleLargeFilled}\n mask={item.icon}\n transform=\"right-5 down-5 shrink-4\"\n />\n <FontAwesomeIcon\n icon={vsArrowLeft}\n transform=\"shrink-3 right-7 down-6\"\n />\n </div>\n );\n }\n return <FontAwesomeIcon icon={item.icon} />;\n }\n\n render(): ReactElement {\n const { actions, hasSelection } = this.props;\n\n return (\n <div className=\"command-history-actions\">\n {actions.map((item, index) => (\n <Button\n kind=\"inline\"\n className={classNames(item.className)}\n key={CommandHistoryActions.itemKey(index, item)}\n onClick={item.action}\n tooltip={item.description}\n disabled={item.selectionRequired && !hasSelection}\n icon={CommandHistoryActions.renderContent(item)}\n />\n ))}\n </div>\n );\n }\n}\n\nexport default CommandHistoryActions;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAA+C,OAA/C;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SAASC,WAAT,EAAsBC,mBAAtB,QAAiD,kBAAjD;;;AASA,MAAMC,qBAAN,SAAoCN,SAApC,CAGE;EACc,OAAPO,OAAO,CAACC,CAAD,EAAaC,IAAb,EAA0C;IACtD,iBAAUA,IAAI,CAACC,KAAf;EACD;;EAEmB,OAAbC,aAAa,CAACF,IAAD,EAAmC;IACrD,IAAIA,IAAI,CAACG,iBAAT,EAA4B;MAC1B,oBACE;QAAK,SAAS,EAAC;MAAf,gBACE,oBAAC,eAAD;QACE,IAAI,EAAEP,mBADR;QAEE,IAAI,EAAEI,IAAI,CAACI,IAFb;QAGE,SAAS,EAAC;MAHZ,EADF,eAME,oBAAC,eAAD;QACE,IAAI,EAAET,WADR;QAEE,SAAS,EAAC;MAFZ,EANF,CADF;IAaD;;IACD,oBAAO,oBAAC,eAAD;MAAiB,IAAI,EAAEK,IAAI,CAACI;IAA5B,EAAP;EACD;;EAEDC,MAAM,GAAiB;IACrB,IAAM;MAAEC,OAAF;MAAWC;IAAX,IAA4B,KAAKC,KAAvC;IAEA,oBACE;MAAK,SAAS,EAAC;IAAf,GACGF,OAAO,CAACG,GAAR,CAAY,CAACT,IAAD,EAAOU,KAAP,kBACX,oBAAC,MAAD;MACE,IAAI,EAAC,QADP;MAEE,SAAS,EAAElB,UAAU,CAACQ,IAAI,CAACW,SAAN,CAFvB;MAGE,GAAG,EAAEd,qBAAqB,CAACC,OAAtB,CAA8BY,KAA9B,EAAqCV,IAArC,CAHP;MAIE,OAAO,EAAEA,IAAI,CAACY,MAJhB;MAKE,OAAO,EAAEZ,IAAI,CAACa,WALhB;MAME,QAAQ,EAAEb,IAAI,CAACG,iBAAL,IAA0B,CAACI,YANvC;MAOE,IAAI,EAAEV,qBAAqB,CAACK,aAAtB,CAAoCF,IAApC;IAPR,EADD,CADH,CADF;EAeD;;AA1CD;;AA6CF,eAAeH,qBAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/command-history/CommandHistoryItem.tsx"],"names":["React","useRef","useCallback","classNames","Tooltip","CommandHistoryItemTooltip","MAX_TRUNCATE_LENGTH","CommandHistoryItem","props","item","language","isSelected","commandHistoryStorage","previewText","name","substring","tooltip","handleUpdate","current","update","selected","placement","modifiers","preventOverflow","enabled","boundariesElement","order","defaultProps"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,MAAhB,EAAwBC,WAAxB,QAAyD,OAAzD;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,OAAT,QAAwB,uBAAxB;;OAGOC,yB;AAYP,IAAMC,mBAAmB,GAAG,GAA5B;;AAEA,IAAMC,kBAAkB,GAAIC,KAAD,IAAkD;AAC3E,MAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,QAAR;AAAkBC,IAAAA,UAAlB;AAA8BC,IAAAA;AAA9B,MAAwDJ,KAA9D;AACA,MAAMK,WAAW,GAAGJ,IAAI,CAACK,IAAL,CAAUC,SAAV,CAAoB,CAApB,EAAuBT,mBAAvB,CAApB;AACA,MAAMU,OAAO,GAAGf,MAAM,CAAU,IAAV,CAAtB;AACA,MAAMgB,YAAY,GAAGf,WAAW,CAAC,MAAM;AAAA;;AACrC,wBAAAc,OAAO,CAACE,OAAR,sEAAiBC,MAAjB;AACD,GAF+B,EAE7B,CAACH,OAAD,CAF6B,CAAhC;AAIA,sBACE;AACE,IAAA,SAAS,EAAEb,UAAU,CAAC,sBAAD,EAAyB;AAC5CiB,MAAAA,QAAQ,EAAET;AADkC,KAAzB;AADvB,KAKGE,WALH,eAME,oBAAC,OAAD;AACE,IAAA,GAAG,EAAEG,OADP;AAEE,IAAA,WAAW,MAFb;AAGE,IAAA,OAAO,EAAE;AACPK,MAAAA,SAAS,EAAE,MADJ;AAEPC,MAAAA,SAAS,EAAE;AACTC,QAAAA,eAAe,EAAE;AACfC,UAAAA,OAAO,EAAE,IADM;AAEfC,UAAAA,iBAAiB,EAAE,UAFJ;AAGfC,UAAAA,KAAK,EAAE,GAHQ,CAGH;;AAHG;AADR;AAFJ,KAHX;AAaE,IAAA,eAAe,EAAC;AAblB,kBAeE,oBAAC,yBAAD;AACE,IAAA,IAAI,EAAEjB,IADR;AAEE,IAAA,QAAQ,EAAEC,QAFZ;AAGE,IAAA,QAAQ,EAAEO,YAHZ;AAIE,IAAA,qBAAqB,EAAEL;AAJzB,IAfF,CANF,CADF;AA+BD,CAvCD;;AAyCAL,kBAAkB,CAACoB,YAAnB,GAAkC;AAChChB,EAAAA,UAAU,EAAE;AADoB,CAAlC;AAIA,eAAeJ,kBAAf","sourcesContent":["import React, { useRef, useCallback, ReactElement } from 'react';\nimport classNames from 'classnames';\nimport { Tooltip } from '@deephaven/components';\n\nimport './CommandHistoryItem.scss';\nimport CommandHistoryItemTooltip from './CommandHistoryItemTooltip';\nimport CommandHistoryStorage, {\n CommandHistoryStorageItem,\n} from './CommandHistoryStorage';\n\ninterface CommandHistoryItemProps {\n item: CommandHistoryStorageItem;\n language: string;\n isSelected?: boolean;\n commandHistoryStorage: CommandHistoryStorage;\n}\n\nconst MAX_TRUNCATE_LENGTH = 512;\n\nconst CommandHistoryItem = (props: CommandHistoryItemProps): ReactElement => {\n const { item, language, isSelected, commandHistoryStorage } = props;\n const previewText = item.name.substring(0, MAX_TRUNCATE_LENGTH);\n const tooltip = useRef<Tooltip>(null);\n const handleUpdate = useCallback(() => {\n tooltip.current?.update();\n }, [tooltip]);\n\n return (\n <div\n className={classNames('command-history-item', {\n selected: isSelected,\n })}\n >\n {previewText}\n <Tooltip\n ref={tooltip}\n interactive\n options={{\n placement: 'left',\n modifiers: {\n preventOverflow: {\n enabled: true,\n boundariesElement: 'viewport',\n order: 825, // modify order so boundary is enforced at end of popper calcs\n },\n },\n }}\n popperClassName=\"command-history-item-popper\"\n >\n <CommandHistoryItemTooltip\n item={item}\n language={language}\n onUpdate={handleUpdate}\n commandHistoryStorage={commandHistoryStorage}\n />\n </Tooltip>\n </div>\n );\n};\n\nCommandHistoryItem.defaultProps = {\n isSelected: false,\n};\n\nexport default CommandHistoryItem;\n"],"file":"CommandHistoryItem.js"}
1
+ {"version":3,"file":"CommandHistoryItem.js","names":["React","useRef","useCallback","classNames","Tooltip","CommandHistoryItemTooltip","MAX_TRUNCATE_LENGTH","CommandHistoryItem","props","item","language","isSelected","commandHistoryStorage","previewText","name","substring","tooltip","handleUpdate","current","update","selected","placement","modifiers","preventOverflow","enabled","boundariesElement","order","defaultProps"],"sources":["../../src/command-history/CommandHistoryItem.tsx"],"sourcesContent":["import React, { useRef, useCallback, ReactElement } from 'react';\nimport classNames from 'classnames';\nimport { Tooltip } from '@deephaven/components';\n\nimport './CommandHistoryItem.scss';\nimport CommandHistoryItemTooltip from './CommandHistoryItemTooltip';\nimport CommandHistoryStorage, {\n CommandHistoryStorageItem,\n} from './CommandHistoryStorage';\n\ninterface CommandHistoryItemProps {\n item: CommandHistoryStorageItem;\n language: string;\n isSelected?: boolean;\n commandHistoryStorage: CommandHistoryStorage;\n}\n\nconst MAX_TRUNCATE_LENGTH = 512;\n\nconst CommandHistoryItem = (props: CommandHistoryItemProps): ReactElement => {\n const { item, language, isSelected, commandHistoryStorage } = props;\n const previewText = item.name.substring(0, MAX_TRUNCATE_LENGTH);\n const tooltip = useRef<Tooltip>(null);\n const handleUpdate = useCallback(() => {\n tooltip.current?.update();\n }, [tooltip]);\n\n return (\n <div\n className={classNames('command-history-item', {\n selected: isSelected,\n })}\n >\n {previewText}\n <Tooltip\n ref={tooltip}\n interactive\n options={{\n placement: 'left',\n modifiers: {\n preventOverflow: {\n enabled: true,\n boundariesElement: 'viewport',\n order: 825, // modify order so boundary is enforced at end of popper calcs\n },\n },\n }}\n popperClassName=\"command-history-item-popper\"\n >\n <CommandHistoryItemTooltip\n item={item}\n language={language}\n onUpdate={handleUpdate}\n commandHistoryStorage={commandHistoryStorage}\n />\n </Tooltip>\n </div>\n );\n};\n\nCommandHistoryItem.defaultProps = {\n isSelected: false,\n};\n\nexport default CommandHistoryItem;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,MAAhB,EAAwBC,WAAxB,QAAyD,OAAzD;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,OAAT,QAAwB,uBAAxB;;OAGOC,yB;AAYP,IAAMC,mBAAmB,GAAG,GAA5B;;AAEA,IAAMC,kBAAkB,GAAIC,KAAD,IAAkD;EAC3E,IAAM;IAAEC,IAAF;IAAQC,QAAR;IAAkBC,UAAlB;IAA8BC;EAA9B,IAAwDJ,KAA9D;EACA,IAAMK,WAAW,GAAGJ,IAAI,CAACK,IAAL,CAAUC,SAAV,CAAoB,CAApB,EAAuBT,mBAAvB,CAApB;EACA,IAAMU,OAAO,GAAGf,MAAM,CAAU,IAAV,CAAtB;EACA,IAAMgB,YAAY,GAAGf,WAAW,CAAC,MAAM;IAAA;;IACrC,oBAAAc,OAAO,CAACE,OAAR,sEAAiBC,MAAjB;EACD,CAF+B,EAE7B,CAACH,OAAD,CAF6B,CAAhC;EAIA,oBACE;IACE,SAAS,EAAEb,UAAU,CAAC,sBAAD,EAAyB;MAC5CiB,QAAQ,EAAET;IADkC,CAAzB;EADvB,GAKGE,WALH,eAME,oBAAC,OAAD;IACE,GAAG,EAAEG,OADP;IAEE,WAAW,MAFb;IAGE,OAAO,EAAE;MACPK,SAAS,EAAE,MADJ;MAEPC,SAAS,EAAE;QACTC,eAAe,EAAE;UACfC,OAAO,EAAE,IADM;UAEfC,iBAAiB,EAAE,UAFJ;UAGfC,KAAK,EAAE,GAHQ,CAGH;;QAHG;MADR;IAFJ,CAHX;IAaE,eAAe,EAAC;EAblB,gBAeE,oBAAC,yBAAD;IACE,IAAI,EAAEjB,IADR;IAEE,QAAQ,EAAEC,QAFZ;IAGE,QAAQ,EAAEO,YAHZ;IAIE,qBAAqB,EAAEL;EAJzB,EAfF,CANF,CADF;AA+BD,CAvCD;;AAyCAL,kBAAkB,CAACoB,YAAnB,GAAkC;EAChChB,UAAU,EAAE;AADoB,CAAlC;AAIA,eAAeJ,kBAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/command-history/CommandHistoryItemTooltip.tsx"],"names":["React","Component","debounce","memoize","LoadingSpinner","TimeUtils","FontAwesomeIcon","vsWarning","Code","LOAD_DATA_DEBOUNCE","MAX_NUMBER_OF_LINES","CommandHistoryItemTooltip","getTimeString","startTime","endTime","deltaTime","Math","round","Date","valueOf","formatElapsedTime","constructor","props","commandHistoryStorage","item","language","id","cleanup","listenItem","handleUpdate","handleError","name","split","join","max","bind","handleTimeout","state","currentTime","now","componentDidMount","loadData","componentDidUpdate","prevProps","prevState","data","timer","result","startTimer","stopTimer","componentWillUnmount","cancel","setInterval","clearInterval","undefined","updateTime","setState","error","onUpdate","render","errorMessage","timeString","previewText","getPreviewText","length"],"mappings":"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","sourcesContent":["import React, { Component, ReactElement } from 'react';\nimport debounce from 'lodash.debounce';\nimport memoize from 'memoizee';\nimport { LoadingSpinner } from '@deephaven/components';\nimport { TimeUtils } from '@deephaven/utils';\nimport { StorageListenerRemover } from '@deephaven/storage';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsWarning } from '@deephaven/icons';\nimport Code from '../common/Code';\nimport './CommandHistoryItemTooltip.scss';\nimport CommandHistoryStorage, {\n CommandHistoryStorageData,\n CommandHistoryStorageItem,\n} from './CommandHistoryStorage';\n\ninterface CommandHistoryItemTooltipProps {\n item: CommandHistoryStorageItem;\n language: string;\n onUpdate?: (data: CommandHistoryStorageData | null) => void;\n commandHistoryStorage: CommandHistoryStorage;\n}\n\ninterface CommandHistoryItemTooltipState {\n currentTime: number;\n data?: CommandHistoryStorageData;\n error?: string;\n}\n\nconst LOAD_DATA_DEBOUNCE = 250;\nconst MAX_NUMBER_OF_LINES = 2500;\n\nexport class CommandHistoryItemTooltip extends Component<\n CommandHistoryItemTooltipProps,\n CommandHistoryItemTooltipState\n> {\n static defaultProps = {\n onUpdate: (): void => undefined,\n };\n\n static getTimeString(\n startTime: string | undefined,\n endTime: string | number\n ): string | null {\n if (!startTime || !endTime) {\n return null;\n }\n\n const deltaTime = Math.round(\n (new Date(endTime).valueOf() - new Date(startTime).valueOf()) / 1000\n );\n\n if (deltaTime < 1) return '<1s';\n\n return TimeUtils.formatElapsedTime(deltaTime);\n }\n\n constructor(props: CommandHistoryItemTooltipProps) {\n super(props);\n\n this.handleUpdate = this.handleUpdate.bind(this);\n this.handleError = this.handleError.bind(this);\n this.handleTimeout = this.handleTimeout.bind(this);\n\n this.state = {\n currentTime: Date.now(),\n };\n }\n\n componentDidMount(): void {\n this.loadData();\n }\n\n componentDidUpdate(\n prevProps: CommandHistoryItemTooltipProps,\n prevState: CommandHistoryItemTooltipState\n ): void {\n const { data } = this.state;\n\n if (\n this.timer == null &&\n !data?.result &&\n data?.startTime &&\n !data?.endTime\n ) {\n this.startTimer();\n } else if (\n (data?.result && !prevState.data?.result) ||\n (data?.endTime && !prevState.data?.endTime)\n ) {\n // Command complete\n this.stopTimer();\n }\n }\n\n componentWillUnmount(): void {\n this.loadData.cancel();\n if (this.cleanup != null) {\n this.cleanup();\n }\n this.stopTimer();\n }\n\n timer?: NodeJS.Timer;\n\n cleanup?: StorageListenerRemover;\n\n loadData = debounce((): void => {\n const { commandHistoryStorage, item, language } = this.props;\n const { id } = item;\n this.cleanup = commandHistoryStorage.listenItem(\n language,\n id,\n this.handleUpdate,\n this.handleError\n );\n }, LOAD_DATA_DEBOUNCE);\n\n startTimer(): void {\n this.stopTimer();\n\n this.timer = setInterval(this.handleTimeout, 1000);\n }\n\n stopTimer(): void {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = undefined;\n }\n }\n\n updateTime(): void {\n this.setState({\n currentTime: Date.now(),\n });\n }\n\n handleError(error: string): void {\n this.setState({ error: `${error}` });\n }\n\n handleUpdate(item: CommandHistoryStorageItem): void {\n const { data } = item ?? {};\n this.setState({ data });\n\n const { onUpdate } = this.props;\n onUpdate?.(data);\n }\n\n handleTimeout(): void {\n this.updateTime();\n }\n\n getPreviewText = memoize(\n name => name.split('\\n', MAX_NUMBER_OF_LINES).join('\\n'),\n { max: 1 }\n );\n\n render(): ReactElement {\n const {\n item: { name },\n language,\n } = this.props;\n const { currentTime, data, error } = this.state;\n const { result, startTime, endTime } = data ?? {};\n\n const errorMessage = result?.error ?? error;\n\n const timeString = CommandHistoryItemTooltip.getTimeString(\n startTime,\n endTime || currentTime\n );\n\n // colorizing in monaco is mostly a function of the number of lines,\n // it gets real slow after a few thousand lines. Truncate the tooltip\n // to avoid UI locks. The full command is still inserted.\n const previewText = this.getPreviewText(name);\n\n return (\n <div className=\"command-history-item-tooltip\">\n <div className=\"scroll-container\">\n <Code language={language}>{previewText}</Code>\n {previewText.length < name.length && <p>Preview Truncated...</p>}\n </div>\n <div className=\"result-info\">\n <div className=\"d-flex justify-content-between\">\n {errorMessage && (\n <div className=\"text-danger mr-1\">\n <FontAwesomeIcon icon={vsWarning} /> Executed with errors\n </div>\n )}\n <div className=\"time-wrapper\">\n Elapsed time:{' '}\n {timeString ? (\n <span className=\"time-string\">{timeString}</span>\n ) : (\n <LoadingSpinner />\n )}\n </div>\n </div>\n {errorMessage && <div className=\"error-message\">{errorMessage}</div>}\n </div>\n </div>\n );\n }\n}\n\nexport default CommandHistoryItemTooltip;\n"],"file":"CommandHistoryItemTooltip.js"}
1
+ {"version":3,"file":"CommandHistoryItemTooltip.js","names":["React","Component","debounce","memoize","LoadingSpinner","TimeUtils","FontAwesomeIcon","vsWarning","Code","LOAD_DATA_DEBOUNCE","MAX_NUMBER_OF_LINES","CommandHistoryItemTooltip","getTimeString","startTime","endTime","deltaTime","Math","round","Date","valueOf","formatElapsedTime","constructor","props","commandHistoryStorage","item","language","id","cleanup","listenItem","handleUpdate","handleError","name","split","join","max","bind","handleTimeout","state","currentTime","now","componentDidMount","loadData","componentDidUpdate","prevProps","prevState","data","timer","result","startTimer","stopTimer","componentWillUnmount","cancel","setInterval","clearInterval","undefined","updateTime","setState","error","onUpdate","render","errorMessage","timeString","previewText","getPreviewText","length"],"sources":["../../src/command-history/CommandHistoryItemTooltip.tsx"],"sourcesContent":["import React, { Component, ReactElement } from 'react';\nimport debounce from 'lodash.debounce';\nimport memoize from 'memoizee';\nimport { LoadingSpinner } from '@deephaven/components';\nimport { TimeUtils } from '@deephaven/utils';\nimport { StorageListenerRemover } from '@deephaven/storage';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsWarning } from '@deephaven/icons';\nimport Code from '../common/Code';\nimport './CommandHistoryItemTooltip.scss';\nimport CommandHistoryStorage, {\n CommandHistoryStorageData,\n CommandHistoryStorageItem,\n} from './CommandHistoryStorage';\n\ninterface CommandHistoryItemTooltipProps {\n item: CommandHistoryStorageItem;\n language: string;\n onUpdate?: (data: CommandHistoryStorageData | null) => void;\n commandHistoryStorage: CommandHistoryStorage;\n}\n\ninterface CommandHistoryItemTooltipState {\n currentTime: number;\n data?: CommandHistoryStorageData;\n error?: string;\n}\n\nconst LOAD_DATA_DEBOUNCE = 250;\nconst MAX_NUMBER_OF_LINES = 2500;\n\nexport class CommandHistoryItemTooltip extends Component<\n CommandHistoryItemTooltipProps,\n CommandHistoryItemTooltipState\n> {\n static defaultProps = {\n onUpdate: (): void => undefined,\n };\n\n static getTimeString(\n startTime: string | undefined,\n endTime: string | number\n ): string | null {\n if (!startTime || !endTime) {\n return null;\n }\n\n const deltaTime = Math.round(\n (new Date(endTime).valueOf() - new Date(startTime).valueOf()) / 1000\n );\n\n if (deltaTime < 1) return '<1s';\n\n return TimeUtils.formatElapsedTime(deltaTime);\n }\n\n constructor(props: CommandHistoryItemTooltipProps) {\n super(props);\n\n this.handleUpdate = this.handleUpdate.bind(this);\n this.handleError = this.handleError.bind(this);\n this.handleTimeout = this.handleTimeout.bind(this);\n\n this.state = {\n currentTime: Date.now(),\n };\n }\n\n componentDidMount(): void {\n this.loadData();\n }\n\n componentDidUpdate(\n prevProps: CommandHistoryItemTooltipProps,\n prevState: CommandHistoryItemTooltipState\n ): void {\n const { data } = this.state;\n\n if (\n this.timer == null &&\n !data?.result &&\n data?.startTime &&\n !data?.endTime\n ) {\n this.startTimer();\n } else if (\n (data?.result && !prevState.data?.result) ||\n (data?.endTime && !prevState.data?.endTime)\n ) {\n // Command complete\n this.stopTimer();\n }\n }\n\n componentWillUnmount(): void {\n this.loadData.cancel();\n if (this.cleanup != null) {\n this.cleanup();\n }\n this.stopTimer();\n }\n\n timer?: NodeJS.Timer;\n\n cleanup?: StorageListenerRemover;\n\n loadData = debounce((): void => {\n const { commandHistoryStorage, item, language } = this.props;\n const { id } = item;\n this.cleanup = commandHistoryStorage.listenItem(\n language,\n id,\n this.handleUpdate,\n this.handleError\n );\n }, LOAD_DATA_DEBOUNCE);\n\n startTimer(): void {\n this.stopTimer();\n\n this.timer = setInterval(this.handleTimeout, 1000);\n }\n\n stopTimer(): void {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = undefined;\n }\n }\n\n updateTime(): void {\n this.setState({\n currentTime: Date.now(),\n });\n }\n\n handleError(error: string): void {\n this.setState({ error: `${error}` });\n }\n\n handleUpdate(item: CommandHistoryStorageItem): void {\n const { data } = item ?? {};\n this.setState({ data });\n\n const { onUpdate } = this.props;\n onUpdate?.(data);\n }\n\n handleTimeout(): void {\n this.updateTime();\n }\n\n getPreviewText = memoize(\n name => name.split('\\n', MAX_NUMBER_OF_LINES).join('\\n'),\n { max: 1 }\n );\n\n render(): ReactElement {\n const {\n item: { name },\n language,\n } = this.props;\n const { currentTime, data, error } = this.state;\n const { result, startTime, endTime } = data ?? {};\n\n const errorMessage = result?.error ?? error;\n\n const timeString = CommandHistoryItemTooltip.getTimeString(\n startTime,\n endTime || currentTime\n );\n\n // colorizing in monaco is mostly a function of the number of lines,\n // it gets real slow after a few thousand lines. Truncate the tooltip\n // to avoid UI locks. The full command is still inserted.\n const previewText = this.getPreviewText(name);\n\n return (\n <div className=\"command-history-item-tooltip\">\n <div className=\"scroll-container\">\n <Code language={language}>{previewText}</Code>\n {previewText.length < name.length && <p>Preview Truncated...</p>}\n </div>\n <div className=\"result-info\">\n <div className=\"d-flex justify-content-between\">\n {errorMessage && (\n <div className=\"text-danger mr-1\">\n <FontAwesomeIcon icon={vsWarning} /> Executed with errors\n </div>\n )}\n <div className=\"time-wrapper\">\n Elapsed time:{' '}\n {timeString ? (\n <span className=\"time-string\">{timeString}</span>\n ) : (\n <LoadingSpinner />\n )}\n </div>\n </div>\n {errorMessage && <div className=\"error-message\">{errorMessage}</div>}\n </div>\n </div>\n );\n }\n}\n\nexport default CommandHistoryItemTooltip;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"CommandHistoryStorage.js"}
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 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"CommandHistoryTypes.js"}
1
+ {"version":3,"file":"CommandHistoryTypes.js","names":[],"sources":["../../src/command-history/CommandHistoryTypes.tsx"],"sourcesContent":["import { ContextAction } from '@deephaven/components';\nimport { IconDefinition } from '@deephaven/icons';\n\nexport type ItemAction = ContextAction & {\n title: string;\n description: string;\n icon: IconDefinition;\n action: () => void;\n group: number;\n order?: number;\n};\n\nexport type HistoryAction = ContextAction & {\n action: () => void;\n title: string;\n description: string;\n icon: IconDefinition;\n selectionRequired?: boolean;\n className?: string;\n};\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/command-history/CommandHistoryViewportUpdater.tsx"],"names":["useEffect","useMemo","throttle","Log","UPDATE_DELAY","ROW_BUFFER_PAGES","log","module","CommandHistoryViewportUpdater","table","columns","top","bottom","search","isReversed","onUpdate","throttledUpdateViewport","viewport","viewHeight","bufferedTop","Math","max","bufferedBottom","setViewport","updateTableAndReturnCleanup","cleanup","viewportData","items","offset","debug","setSearchText","setSearch","updateViewport","debug2","cancel"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,OAApB,QAAmC,OAAnC;AACA,OAAOC,QAAP,MAAqB,iBAArB;AAMA,OAAOC,GAAP,MAAgB,gBAAhB;AAgBA,IAAMC,YAAY,GAAG,GAArB;AAEA,IAAMC,gBAAgB,GAAG,CAAzB;AAEA,IAAMC,GAAG,GAAGH,GAAG,CAACI,MAAJ,CAAW,+BAAX,CAAZ;;AAEA,SAASC,6BAAT,OAQ6C;AAAA,MARN;AACrCC,IAAAA,KADqC;AAErCC,IAAAA,OAFqC;AAGrCC,IAAAA,GAAG,GAAG,CAH+B;AAIrCC,IAAAA,MAAM,GAAG,CAJ4B;AAKrCC,IAAAA,MALqC;AAMrCC,IAAAA,UAAU,GAAG,KANwB;AAOrCC,IAAAA;AAPqC,GAQM;AAC3C,MAAMC,uBAAuB,GAAGf,OAAO,CACrC,MACEC,QAAQ,CAAEe,QAAD,IAAoC;AAC3C,QAAMC,UAAU,GAAGD,QAAQ,CAACL,MAAT,GAAkBK,QAAQ,CAACN,GAA9C;AACA,QAAMQ,WAAW,GAAGC,IAAI,CAACC,GAAL,CAClB,CADkB,EAElBJ,QAAQ,CAACN,GAAT,GAAeO,UAAU,GAAGb,gBAFV,CAApB;AAIA,QAAMiB,cAAc,GAAGL,QAAQ,CAACL,MAAT,GAAkBM,UAAU,GAAGb,gBAAtD;AAEAI,IAAAA,KAAK,CAACc,WAAN,CAAkB;AAChBZ,MAAAA,GAAG,EAAEQ,WADW;AAEhBP,MAAAA,MAAM,EAAEU,cAFQ;AAGhBZ,MAAAA,OAAO,EAAEO,QAAQ,CAACP;AAHF,KAAlB;AAKD,GAbO,EAaLN,YAbK,CAF2B,EAgBrC,CAACK,KAAD,CAhBqC,CAAvC;AAmBAT,EAAAA,SAAS,CACP,SAASwB,2BAAT,GAAuC;AACrC,QAAMC,OAAO,GAAGhB,KAAK,CAACM,QAAN,CACbW,YAAD,IAA2D;AAAA;;AACzDX,MAAAA,QAAQ,CAAC;AACPY,QAAAA,KAAK,yBAAED,YAAY,CAACC,KAAf,qEAAwB,EADtB;AAEPC,QAAAA,MAAM,0BAAEF,YAAY,CAACE,MAAf,uEAAyB;AAFxB,OAAD,CAAR;AAID,KANa,CAAhB;AASA,WAAO,MAAM;AACXtB,MAAAA,GAAG,CAACuB,KAAJ,CAAU,kBAAV;AACAJ,MAAAA,OAAO;AACR,KAHD;AAID,GAfM,EAgBP,CAAChB,KAAD,EAAQM,QAAR,CAhBO,CAAT;AAmBAf,EAAAA,SAAS,CACP,SAAS8B,aAAT,GAAyB;AACvBrB,IAAAA,KAAK,CAACsB,SAAN,CAAgBlB,MAAhB,aAAgBA,MAAhB,cAAgBA,MAAhB,GAA0B,EAA1B;AACD,GAHM,EAIP,CAACJ,KAAD,EAAQI,MAAR,CAJO,CAAT;AAMAb,EAAAA,SAAS,CACP,SAASgC,cAAT,GAA0B;AACxBhB,IAAAA,uBAAuB,CAAC;AACtBL,MAAAA,GADsB;AAEtBC,MAAAA,MAFsB;AAGtBF,MAAAA;AAHsB,KAAD,CAAvB;AAKD,GAPM,EAQP,CAACM,uBAAD,EAA0BL,GAA1B,EAA+BC,MAA/B,EAAuCF,OAAvC,EAAgDG,MAAhD,EAAwDC,UAAxD,CARO,CAAT;AAUAd,EAAAA,SAAS,CACP,MAAM,MAAM;AACVM,IAAAA,GAAG,CAAC2B,MAAJ,CAAW,gCAAX;AACAjB,IAAAA,uBAAuB,CAACkB,MAAxB;AACD,GAJM,EAKP,CAAClB,uBAAD,CALO,CAAT;AAQA,SAAO,IAAP;AACD;;AAED,eAAeR,6BAAf","sourcesContent":["import { useEffect, useMemo } from 'react';\nimport throttle from 'lodash.throttle';\nimport {\n StorageTableViewport,\n ViewportData,\n ViewportUpdateCallback,\n} from '@deephaven/storage';\nimport Log from '@deephaven/log';\nimport {\n CommandHistoryStorageItem,\n CommandHistoryTable,\n} from './CommandHistoryStorage';\n\nexport type CommandHistoryViewportUpdaterProps = {\n table: CommandHistoryTable;\n columns?: string[];\n top?: number;\n bottom?: number;\n search?: string;\n isReversed?: boolean;\n onUpdate: ViewportUpdateCallback<CommandHistoryStorageItem>;\n};\n\nconst UPDATE_DELAY = 150;\n\nconst ROW_BUFFER_PAGES = 3;\n\nconst log = Log.module('CommandHistoryViewportUpdater');\n\nfunction CommandHistoryViewportUpdater({\n table,\n columns,\n top = 0,\n bottom = 0,\n search,\n isReversed = false,\n onUpdate,\n}: CommandHistoryViewportUpdaterProps): null {\n const throttledUpdateViewport = useMemo(\n () =>\n throttle((viewport: StorageTableViewport) => {\n const viewHeight = viewport.bottom - viewport.top;\n const bufferedTop = Math.max(\n 0,\n viewport.top - viewHeight * ROW_BUFFER_PAGES\n );\n const bufferedBottom = viewport.bottom + viewHeight * ROW_BUFFER_PAGES;\n\n table.setViewport({\n top: bufferedTop,\n bottom: bufferedBottom,\n columns: viewport.columns,\n });\n }, UPDATE_DELAY),\n [table]\n );\n\n useEffect(\n function updateTableAndReturnCleanup() {\n const cleanup = table.onUpdate(\n (viewportData: ViewportData<CommandHistoryStorageItem>) => {\n onUpdate({\n items: viewportData.items ?? [],\n offset: viewportData.offset ?? 0,\n });\n }\n );\n\n return () => {\n log.debug('onUpdate cleanup');\n cleanup();\n };\n },\n [table, onUpdate]\n );\n\n useEffect(\n function setSearchText() {\n table.setSearch(search ?? '');\n },\n [table, search]\n );\n useEffect(\n function updateViewport() {\n throttledUpdateViewport({\n top,\n bottom,\n columns,\n });\n },\n [throttledUpdateViewport, top, bottom, columns, search, isReversed]\n );\n useEffect(\n () => () => {\n log.debug2('Cancel throttledUpdateViewport');\n throttledUpdateViewport.cancel();\n },\n [throttledUpdateViewport]\n );\n\n return null;\n}\n\nexport default CommandHistoryViewportUpdater;\n"],"file":"CommandHistoryViewportUpdater.js"}
1
+ {"version":3,"file":"CommandHistoryViewportUpdater.js","names":["useEffect","useMemo","throttle","Log","UPDATE_DELAY","ROW_BUFFER_PAGES","log","module","CommandHistoryViewportUpdater","table","columns","top","bottom","search","isReversed","onUpdate","throttledUpdateViewport","viewport","viewHeight","bufferedTop","Math","max","bufferedBottom","setViewport","updateTableAndReturnCleanup","cleanup","viewportData","items","offset","debug","setSearchText","setSearch","updateViewport","debug2","cancel"],"sources":["../../src/command-history/CommandHistoryViewportUpdater.tsx"],"sourcesContent":["import { useEffect, useMemo } from 'react';\nimport throttle from 'lodash.throttle';\nimport {\n StorageTableViewport,\n ViewportData,\n ViewportUpdateCallback,\n} from '@deephaven/storage';\nimport Log from '@deephaven/log';\nimport {\n CommandHistoryStorageItem,\n CommandHistoryTable,\n} from './CommandHistoryStorage';\n\nexport type CommandHistoryViewportUpdaterProps = {\n table: CommandHistoryTable;\n columns?: string[];\n top?: number;\n bottom?: number;\n search?: string;\n isReversed?: boolean;\n onUpdate: ViewportUpdateCallback<CommandHistoryStorageItem>;\n};\n\nconst UPDATE_DELAY = 150;\n\nconst ROW_BUFFER_PAGES = 3;\n\nconst log = Log.module('CommandHistoryViewportUpdater');\n\nfunction CommandHistoryViewportUpdater({\n table,\n columns,\n top = 0,\n bottom = 0,\n search,\n isReversed = false,\n onUpdate,\n}: CommandHistoryViewportUpdaterProps): null {\n const throttledUpdateViewport = useMemo(\n () =>\n throttle((viewport: StorageTableViewport) => {\n const viewHeight = viewport.bottom - viewport.top;\n const bufferedTop = Math.max(\n 0,\n viewport.top - viewHeight * ROW_BUFFER_PAGES\n );\n const bufferedBottom = viewport.bottom + viewHeight * ROW_BUFFER_PAGES;\n\n table.setViewport({\n top: bufferedTop,\n bottom: bufferedBottom,\n columns: viewport.columns,\n });\n }, UPDATE_DELAY),\n [table]\n );\n\n useEffect(\n function updateTableAndReturnCleanup() {\n const cleanup = table.onUpdate(\n (viewportData: ViewportData<CommandHistoryStorageItem>) => {\n onUpdate({\n items: viewportData.items ?? [],\n offset: viewportData.offset ?? 0,\n });\n }\n );\n\n return () => {\n log.debug('onUpdate cleanup');\n cleanup();\n };\n },\n [table, onUpdate]\n );\n\n useEffect(\n function setSearchText() {\n table.setSearch(search ?? '');\n },\n [table, search]\n );\n useEffect(\n function updateViewport() {\n throttledUpdateViewport({\n top,\n bottom,\n columns,\n });\n },\n [throttledUpdateViewport, top, bottom, columns, search, isReversed]\n );\n useEffect(\n () => () => {\n log.debug2('Cancel throttledUpdateViewport');\n throttledUpdateViewport.cancel();\n },\n [throttledUpdateViewport]\n );\n\n return null;\n}\n\nexport default CommandHistoryViewportUpdater;\n"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,OAApB,QAAmC,OAAnC;AACA,OAAOC,QAAP,MAAqB,iBAArB;AAMA,OAAOC,GAAP,MAAgB,gBAAhB;AAgBA,IAAMC,YAAY,GAAG,GAArB;AAEA,IAAMC,gBAAgB,GAAG,CAAzB;AAEA,IAAMC,GAAG,GAAGH,GAAG,CAACI,MAAJ,CAAW,+BAAX,CAAZ;;AAEA,SAASC,6BAAT,OAQ6C;EAAA,IARN;IACrCC,KADqC;IAErCC,OAFqC;IAGrCC,GAAG,GAAG,CAH+B;IAIrCC,MAAM,GAAG,CAJ4B;IAKrCC,MALqC;IAMrCC,UAAU,GAAG,KANwB;IAOrCC;EAPqC,CAQM;EAC3C,IAAMC,uBAAuB,GAAGf,OAAO,CACrC,MACEC,QAAQ,CAAEe,QAAD,IAAoC;IAC3C,IAAMC,UAAU,GAAGD,QAAQ,CAACL,MAAT,GAAkBK,QAAQ,CAACN,GAA9C;IACA,IAAMQ,WAAW,GAAGC,IAAI,CAACC,GAAL,CAClB,CADkB,EAElBJ,QAAQ,CAACN,GAAT,GAAeO,UAAU,GAAGb,gBAFV,CAApB;IAIA,IAAMiB,cAAc,GAAGL,QAAQ,CAACL,MAAT,GAAkBM,UAAU,GAAGb,gBAAtD;IAEAI,KAAK,CAACc,WAAN,CAAkB;MAChBZ,GAAG,EAAEQ,WADW;MAEhBP,MAAM,EAAEU,cAFQ;MAGhBZ,OAAO,EAAEO,QAAQ,CAACP;IAHF,CAAlB;EAKD,CAbO,EAaLN,YAbK,CAF2B,EAgBrC,CAACK,KAAD,CAhBqC,CAAvC;EAmBAT,SAAS,CACP,SAASwB,2BAAT,GAAuC;IACrC,IAAMC,OAAO,GAAGhB,KAAK,CAACM,QAAN,CACbW,YAAD,IAA2D;MAAA;;MACzDX,QAAQ,CAAC;QACPY,KAAK,yBAAED,YAAY,CAACC,KAAf,qEAAwB,EADtB;QAEPC,MAAM,0BAAEF,YAAY,CAACE,MAAf,uEAAyB;MAFxB,CAAD,CAAR;IAID,CANa,CAAhB;IASA,OAAO,MAAM;MACXtB,GAAG,CAACuB,KAAJ,CAAU,kBAAV;MACAJ,OAAO;IACR,CAHD;EAID,CAfM,EAgBP,CAAChB,KAAD,EAAQM,QAAR,CAhBO,CAAT;EAmBAf,SAAS,CACP,SAAS8B,aAAT,GAAyB;IACvBrB,KAAK,CAACsB,SAAN,CAAgBlB,MAAhB,aAAgBA,MAAhB,cAAgBA,MAAhB,GAA0B,EAA1B;EACD,CAHM,EAIP,CAACJ,KAAD,EAAQI,MAAR,CAJO,CAAT;EAMAb,SAAS,CACP,SAASgC,cAAT,GAA0B;IACxBhB,uBAAuB,CAAC;MACtBL,GADsB;MAEtBC,MAFsB;MAGtBF;IAHsB,CAAD,CAAvB;EAKD,CAPM,EAQP,CAACM,uBAAD,EAA0BL,GAA1B,EAA+BC,MAA/B,EAAuCF,OAAvC,EAAgDG,MAAhD,EAAwDC,UAAxD,CARO,CAAT;EAUAd,SAAS,CACP,MAAM,MAAM;IACVM,GAAG,CAAC2B,MAAJ,CAAW,gCAAX;IACAjB,uBAAuB,CAACkB,MAAxB;EACD,CAJM,EAKP,CAAClB,uBAAD,CALO,CAAT;EAQA,OAAO,IAAP;AACD;;AAED,eAAeR,6BAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/command-history/index.tsx"],"names":["default","CommandHistory","CommandHistoryActions","CommandHistoryItem","CommandHistoryItemTooltip"],"mappings":"SAASA,OAAO,IAAIC,c;;SAEXD,OAAO,IAAIE,qB;SACXF,OAAO,IAAIG,kB;SACXH,OAAO,IAAII,yB","sourcesContent":["export { default as CommandHistory } from './CommandHistory';\nexport * from './CommandHistory';\nexport { default as CommandHistoryActions } from './CommandHistoryActions';\nexport { default as CommandHistoryItem } from './CommandHistoryItem';\nexport { default as CommandHistoryItemTooltip } from './CommandHistoryItemTooltip';\nexport * from './CommandHistoryStorage';\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["default","CommandHistory","CommandHistoryActions","CommandHistoryItem","CommandHistoryItemTooltip"],"sources":["../../src/command-history/index.tsx"],"sourcesContent":["export { default as CommandHistory } from './CommandHistory';\nexport * from './CommandHistory';\nexport { default as CommandHistoryActions } from './CommandHistoryActions';\nexport { default as CommandHistoryItem } from './CommandHistoryItem';\nexport { default as CommandHistoryItemTooltip } from './CommandHistoryItemTooltip';\nexport * from './CommandHistoryStorage';\n"],"mappings":"SAASA,OAAO,IAAIC,c;;SAEXD,OAAO,IAAIE,qB;SACXF,OAAO,IAAIG,kB;SACXH,OAAO,IAAII,yB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/common/Code.tsx"],"names":["React","Component","monaco","Code","constructor","props","container","componentDidMount","colorize","children","editor","colorizeElement","theme","render","language","pointerEvents"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAA0D,OAA1D;AACA,OAAO,KAAKC,MAAZ,MAAwB,2CAAxB;;AAOA,MAAMC,IAAN,SAAmBF,SAAnB,CAA+D;AAC7DG,EAAAA,WAAW,CAACC,KAAD,EAAmB;AAC5B,UAAMA,KAAN;;AAD4B;;AAG5B,SAAKC,SAAL,GAAiB,IAAjB;AACD;;AAEDC,EAAAA,iBAAiB,GAAS;AACxB,SAAKC,QAAL;AACD;;AAIDA,EAAAA,QAAQ,GAAS;AACf,QAAM;AAAEC,MAAAA;AAAF,QAAe,KAAKJ,KAA1B;;AACA,QAAI,KAAKC,SAAL,IAAkBG,QAAtB,EAAgC;AAC9BP,MAAAA,MAAM,CAACQ,MAAP,CAAcC,eAAd,CAA8B,KAAKL,SAAnC,EAA8C;AAC5CM,QAAAA,KAAK,EAAE;AADqC,OAA9C;AAGD;AACF;;AAEDC,EAAAA,MAAM,GAAiB;AACrB,QAAM;AAAEJ,MAAAA,QAAF;AAAYK,MAAAA;AAAZ,QAAyB,KAAKT,KAApC;AACA,wBACE,8CACE;AACE,mBAAWS,QADb;AAEE,MAAA,GAAG,EAAER,SAAS,IAAI;AAChB,aAAKA,SAAL,GAAiBA,SAAjB;AACD,OAJH,CAKE;AACA;AANF;AAOE,MAAA,KAAK,EAAE;AAAES,QAAAA,aAAa,EAAE;AAAjB;AAPT,OASGN,QATH,CADF,CADF;AAeD;;AAvC4D;;AA0C/D,eAAeN,IAAf","sourcesContent":["import React, { Component, ReactElement, ReactNode } from 'react';\nimport * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';\n\ninterface CodeProps {\n children: ReactNode;\n language: string;\n}\n\nclass Code extends Component<CodeProps, Record<string, never>> {\n constructor(props: CodeProps) {\n super(props);\n\n this.container = null;\n }\n\n componentDidMount(): void {\n this.colorize();\n }\n\n container: HTMLDivElement | null;\n\n colorize(): void {\n const { children } = this.props;\n if (this.container && children) {\n monaco.editor.colorizeElement(this.container, {\n theme: 'dh-dark',\n });\n }\n }\n\n render(): ReactElement {\n const { children, language } = this.props;\n return (\n <div>\n <div\n data-lang={language}\n ref={container => {\n this.container = container;\n }}\n // Add pointerEvents: 'none' has huge benefits on performance with Hit Test testing on large colorized elements.\n // You can still select the text event with this set\n style={{ pointerEvents: 'none' }}\n >\n {children}\n </div>\n </div>\n );\n }\n}\n\nexport default Code;\n"],"file":"Code.js"}
1
+ {"version":3,"file":"Code.js","names":["React","Component","monaco","Code","constructor","props","container","componentDidMount","colorize","children","editor","colorizeElement","theme","render","language","pointerEvents"],"sources":["../../src/common/Code.tsx"],"sourcesContent":["import React, { Component, ReactElement, ReactNode } from 'react';\nimport * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';\n\ninterface CodeProps {\n children: ReactNode;\n language: string;\n}\n\nclass Code extends Component<CodeProps, Record<string, never>> {\n constructor(props: CodeProps) {\n super(props);\n\n this.container = null;\n }\n\n componentDidMount(): void {\n this.colorize();\n }\n\n container: HTMLDivElement | null;\n\n colorize(): void {\n const { children } = this.props;\n if (this.container && children) {\n monaco.editor.colorizeElement(this.container, {\n theme: 'dh-dark',\n });\n }\n }\n\n render(): ReactElement {\n const { children, language } = this.props;\n return (\n <div>\n <div\n data-lang={language}\n ref={container => {\n this.container = container;\n }}\n // Add pointerEvents: 'none' has huge benefits on performance with Hit Test testing on large colorized elements.\n // You can still select the text event with this set\n style={{ pointerEvents: 'none' }}\n >\n {children}\n </div>\n </div>\n );\n }\n}\n\nexport default Code;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAA0D,OAA1D;AACA,OAAO,KAAKC,MAAZ,MAAwB,2CAAxB;;AAOA,MAAMC,IAAN,SAAmBF,SAAnB,CAA+D;EAC7DG,WAAW,CAACC,KAAD,EAAmB;IAC5B,MAAMA,KAAN;;IAD4B;;IAG5B,KAAKC,SAAL,GAAiB,IAAjB;EACD;;EAEDC,iBAAiB,GAAS;IACxB,KAAKC,QAAL;EACD;;EAIDA,QAAQ,GAAS;IACf,IAAM;MAAEC;IAAF,IAAe,KAAKJ,KAA1B;;IACA,IAAI,KAAKC,SAAL,IAAkBG,QAAtB,EAAgC;MAC9BP,MAAM,CAACQ,MAAP,CAAcC,eAAd,CAA8B,KAAKL,SAAnC,EAA8C;QAC5CM,KAAK,EAAE;MADqC,CAA9C;IAGD;EACF;;EAEDC,MAAM,GAAiB;IACrB,IAAM;MAAEJ,QAAF;MAAYK;IAAZ,IAAyB,KAAKT,KAApC;IACA,oBACE,8CACE;MACE,aAAWS,QADb;MAEE,GAAG,EAAER,SAAS,IAAI;QAChB,KAAKA,SAAL,GAAiBA,SAAjB;MACD,CAJH,CAKE;MACA;MANF;MAOE,KAAK,EAAE;QAAES,aAAa,EAAE;MAAjB;IAPT,GASGN,QATH,CADF,CADF;EAeD;;AAvC4D;;AA0C/D,eAAeN,IAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/common/ConsoleConstants.ts"],"names":["ConsoleConstants","LANGUAGE_MAP","Map"],"mappings":"AAAA,MAAMA,gBAAN,CAAuB;AACrB;AACF;AACA;AACyB,aAAZC,YAAY,GAAwB;AAC7C,WAAO,IAAIC,GAAJ,CAAQ,CACb,CAAC,QAAD,EAAW,QAAX,CADa,EAEb,CAAC,QAAD,EAAW,QAAX,CAFa,EAGb,CAAC,OAAD,EAAU,OAAV,CAHa,CAAR,CAAP;AAKD;;AAVoB;;AAavB,eAAeF,gBAAf","sourcesContent":["class ConsoleConstants {\n /**\n * Map of language keys to their display names\n */\n static get LANGUAGE_MAP(): Map<string, string> {\n return new Map([\n ['python', 'Python'],\n ['groovy', 'Groovy'],\n ['scala', 'Scala'],\n ]);\n }\n}\n\nexport default ConsoleConstants;\n"],"file":"ConsoleConstants.js"}
1
+ {"version":3,"file":"ConsoleConstants.js","names":["ConsoleConstants","LANGUAGE_MAP","Map"],"sources":["../../src/common/ConsoleConstants.ts"],"sourcesContent":["class ConsoleConstants {\n /**\n * Map of language keys to their display names\n */\n static get LANGUAGE_MAP(): Map<string, string> {\n return new Map([\n ['python', 'Python'],\n ['groovy', 'Groovy'],\n ['scala', 'Scala'],\n ]);\n }\n}\n\nexport default ConsoleConstants;\n"],"mappings":"AAAA,MAAMA,gBAAN,CAAuB;EACrB;AACF;AACA;EACyB,WAAZC,YAAY,GAAwB;IAC7C,OAAO,IAAIC,GAAJ,CAAQ,CACb,CAAC,QAAD,EAAW,QAAX,CADa,EAEb,CAAC,QAAD,EAAW,QAAX,CAFa,EAGb,CAAC,OAAD,EAAU,OAAV,CAHa,CAAR,CAAP;EAKD;;AAVoB;;AAavB,eAAeF,gBAAf"}
@@ -14,7 +14,7 @@ declare class ConsoleUtils {
14
14
  /**
15
15
  * Given the provided text, parse out arguments using shell quoting rules.
16
16
  * @param str The text to parse.
17
- * @return string[] of the arguments. Empty if no arguments found.
17
+ * @returns string[] of the arguments. Empty if no arguments found.
18
18
  */
19
19
  static parseArguments(str: unknown): string[];
20
20
  static formatTimestamp(date: Date): string | null;
@@ -16,7 +16,7 @@ class ConsoleUtils {
16
16
  /**
17
17
  * Given the provided text, parse out arguments using shell quoting rules.
18
18
  * @param str The text to parse.
19
- * @return string[] of the arguments. Empty if no arguments found.
19
+ * @returns string[] of the arguments. Empty if no arguments found.
20
20
  */
21
21
 
22
22
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/common/ConsoleUtils.ts"],"names":["ShellQuote","dh","ConsoleUtils","hasComment","arg","comment","undefined","hasPattern","pattern","hasOp","op","parseArguments","str","String","parse","filter","map","formatTimestamp","date","Date","hours","getHours","padStart","minutes","getMinutes","seconds","getSeconds","milliseconds","getMilliseconds","isTableType","type","VariableType","TABLE","TREETABLE","isWidgetType","FIGURE","OTHERWIDGET","PANDAS","isOpenableType","isFigureType","isPandas"],"mappings":"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","sourcesContent":["import ShellQuote, { ParseEntry, ControlOperator } from 'shell-quote';\nimport dh, { VariableTypeUnion } from '@deephaven/jsapi-shim';\n\nclass ConsoleUtils {\n static hasComment(arg: ParseEntry): arg is { comment: string } {\n return (arg as { comment: string }).comment !== undefined;\n }\n\n static hasPattern(arg: ParseEntry): arg is { op: 'glob'; pattern: string } {\n return (arg as { pattern: string }).pattern !== undefined;\n }\n\n static hasOp(arg: ParseEntry): arg is { op: ControlOperator } {\n return (arg as { op: ControlOperator }).op !== undefined;\n }\n\n /**\n * Given the provided text, parse out arguments using shell quoting rules.\n * @param str The text to parse.\n * @return string[] of the arguments. Empty if no arguments found.\n */\n static parseArguments(str: unknown): string[] {\n if (!str || !(typeof str === 'string' || str instanceof String)) {\n return [];\n }\n\n // Parse can return an object, not just a string. See the `ParseEntry` type def for all types\n // We must map them all to strings. Filter out comments that will not be needed as well.\n return ShellQuote.parse(str as string)\n .filter(arg => !this.hasComment(arg))\n .map(arg => {\n if (this.hasPattern(arg)) {\n return arg.pattern;\n }\n if (this.hasOp(arg)) {\n return arg.op;\n }\n return `${arg}`;\n });\n }\n\n static formatTimestamp(date: Date): string | null {\n if (!date || !(date instanceof Date)) {\n return null;\n }\n\n const hours = `${date.getHours()}`.padStart(2, '0');\n const minutes = `${date.getMinutes()}`.padStart(2, '0');\n const seconds = `${date.getSeconds()}`.padStart(2, '0');\n const milliseconds = `${date.getMilliseconds()}`.padStart(3, '0');\n\n return `${hours}:${minutes}:${seconds}.${milliseconds}`;\n }\n\n static isTableType(type: VariableTypeUnion): boolean {\n return type === dh.VariableType.TABLE || type === dh.VariableType.TREETABLE;\n }\n\n static isWidgetType(type: VariableTypeUnion): boolean {\n return (\n type === dh.VariableType.FIGURE ||\n type === dh.VariableType.OTHERWIDGET ||\n type === dh.VariableType.PANDAS\n );\n }\n\n static isOpenableType(type: VariableTypeUnion): boolean {\n return ConsoleUtils.isTableType(type) || ConsoleUtils.isWidgetType(type);\n }\n\n static isFigureType(type: VariableTypeUnion): boolean {\n return type === dh.VariableType.FIGURE;\n }\n\n static isPandas(type: VariableTypeUnion): boolean {\n return type === dh.VariableType.PANDAS;\n }\n}\n\nexport default ConsoleUtils;\n"],"file":"ConsoleUtils.js"}
1
+ {"version":3,"file":"ConsoleUtils.js","names":["ShellQuote","dh","ConsoleUtils","hasComment","arg","comment","undefined","hasPattern","pattern","hasOp","op","parseArguments","str","String","parse","filter","map","formatTimestamp","date","Date","hours","getHours","padStart","minutes","getMinutes","seconds","getSeconds","milliseconds","getMilliseconds","isTableType","type","VariableType","TABLE","TREETABLE","isWidgetType","FIGURE","OTHERWIDGET","PANDAS","isOpenableType","isFigureType","isPandas"],"sources":["../../src/common/ConsoleUtils.ts"],"sourcesContent":["import ShellQuote, { ParseEntry, ControlOperator } from 'shell-quote';\nimport dh, { VariableTypeUnion } from '@deephaven/jsapi-shim';\n\nclass ConsoleUtils {\n static hasComment(arg: ParseEntry): arg is { comment: string } {\n return (arg as { comment: string }).comment !== undefined;\n }\n\n static hasPattern(arg: ParseEntry): arg is { op: 'glob'; pattern: string } {\n return (arg as { pattern: string }).pattern !== undefined;\n }\n\n static hasOp(arg: ParseEntry): arg is { op: ControlOperator } {\n return (arg as { op: ControlOperator }).op !== undefined;\n }\n\n /**\n * Given the provided text, parse out arguments using shell quoting rules.\n * @param str The text to parse.\n * @returns string[] of the arguments. Empty if no arguments found.\n */\n static parseArguments(str: unknown): string[] {\n if (!str || !(typeof str === 'string' || str instanceof String)) {\n return [];\n }\n\n // Parse can return an object, not just a string. See the `ParseEntry` type def for all types\n // We must map them all to strings. Filter out comments that will not be needed as well.\n return ShellQuote.parse(str as string)\n .filter(arg => !this.hasComment(arg))\n .map(arg => {\n if (this.hasPattern(arg)) {\n return arg.pattern;\n }\n if (this.hasOp(arg)) {\n return arg.op;\n }\n return `${arg}`;\n });\n }\n\n static formatTimestamp(date: Date): string | null {\n if (!date || !(date instanceof Date)) {\n return null;\n }\n\n const hours = `${date.getHours()}`.padStart(2, '0');\n const minutes = `${date.getMinutes()}`.padStart(2, '0');\n const seconds = `${date.getSeconds()}`.padStart(2, '0');\n const milliseconds = `${date.getMilliseconds()}`.padStart(3, '0');\n\n return `${hours}:${minutes}:${seconds}.${milliseconds}`;\n }\n\n static isTableType(type: VariableTypeUnion): boolean {\n return type === dh.VariableType.TABLE || type === dh.VariableType.TREETABLE;\n }\n\n static isWidgetType(type: VariableTypeUnion): boolean {\n return (\n type === dh.VariableType.FIGURE ||\n type === dh.VariableType.OTHERWIDGET ||\n type === dh.VariableType.PANDAS\n );\n }\n\n static isOpenableType(type: VariableTypeUnion): boolean {\n return ConsoleUtils.isTableType(type) || ConsoleUtils.isWidgetType(type);\n }\n\n static isFigureType(type: VariableTypeUnion): boolean {\n return type === dh.VariableType.FIGURE;\n }\n\n static isPandas(type: VariableTypeUnion): boolean {\n return type === dh.VariableType.PANDAS;\n }\n}\n\nexport default ConsoleUtils;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/common/ObjectIcon.tsx"],"names":["React","FontAwesomeIcon","dhPandas","dhTable","vsGraph","vsPreview","dh","ObjectIcon","type","VariableType","TABLE","TABLEMAP","TREETABLE","FIGURE","PANDAS"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,QAAT,EAAmBC,OAAnB,EAA4BC,OAA5B,EAAqCC,SAArC,QAAsD,kBAAtD;AACA,OAAOC,EAAP,MAAe,uBAAf;;AAMA,IAAMC,UAAU,GAAG,QAA4C;AAAA,MAA3C;AAAEC,IAAAA;AAAF,GAA2C;;AAC7D,UAAQA,IAAR;AACE,SAAKF,EAAE,CAACG,YAAH,CAAgBC,KAArB;AACA,SAAKJ,EAAE,CAACG,YAAH,CAAgBE,QAArB;AACA,SAAKL,EAAE,CAACG,YAAH,CAAgBG,SAArB;AACE,0BAAO,oBAAC,eAAD;AAAiB,QAAA,IAAI,EAAET;AAAvB,QAAP;;AACF,SAAKG,EAAE,CAACG,YAAH,CAAgBI,MAArB;AACE,0BAAO,oBAAC,eAAD;AAAiB,QAAA,IAAI,EAAET;AAAvB,QAAP;;AACF,SAAKE,EAAE,CAACG,YAAH,CAAgBK,MAArB;AACE,0BAAO,oBAAC,eAAD;AAAiB,QAAA,IAAI,EAAEZ;AAAvB,QAAP;;AACF;AACE,0BAAO,oBAAC,eAAD;AAAiB,QAAA,IAAI,EAAEG;AAAvB,QAAP;AAVJ;AAYD,CAbD;;AAeA,eAAeE,UAAf","sourcesContent":["import React from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { dhPandas, dhTable, vsGraph, vsPreview } from '@deephaven/icons';\nimport dh from '@deephaven/jsapi-shim';\n\nexport type ObjectIconProps = {\n type: string;\n};\n\nconst ObjectIcon = ({ type }: ObjectIconProps): JSX.Element => {\n switch (type) {\n case dh.VariableType.TABLE:\n case dh.VariableType.TABLEMAP:\n case dh.VariableType.TREETABLE:\n return <FontAwesomeIcon icon={dhTable} />;\n case dh.VariableType.FIGURE:\n return <FontAwesomeIcon icon={vsGraph} />;\n case dh.VariableType.PANDAS:\n return <FontAwesomeIcon icon={dhPandas} />;\n default:\n return <FontAwesomeIcon icon={vsPreview} />;\n }\n};\n\nexport default ObjectIcon;\n"],"file":"ObjectIcon.js"}
1
+ {"version":3,"file":"ObjectIcon.js","names":["React","FontAwesomeIcon","dhPandas","dhTable","vsGraph","vsPreview","dh","ObjectIcon","type","VariableType","TABLE","TABLEMAP","TREETABLE","FIGURE","PANDAS"],"sources":["../../src/common/ObjectIcon.tsx"],"sourcesContent":["import React from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { dhPandas, dhTable, vsGraph, vsPreview } from '@deephaven/icons';\nimport dh from '@deephaven/jsapi-shim';\n\nexport type ObjectIconProps = {\n type: string;\n};\n\nconst ObjectIcon = ({ type }: ObjectIconProps): JSX.Element => {\n switch (type) {\n case dh.VariableType.TABLE:\n case dh.VariableType.TABLEMAP:\n case dh.VariableType.TREETABLE:\n return <FontAwesomeIcon icon={dhTable} />;\n case dh.VariableType.FIGURE:\n return <FontAwesomeIcon icon={vsGraph} />;\n case dh.VariableType.PANDAS:\n return <FontAwesomeIcon icon={dhPandas} />;\n default:\n return <FontAwesomeIcon icon={vsPreview} />;\n }\n};\n\nexport default ObjectIcon;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,QAAT,EAAmBC,OAAnB,EAA4BC,OAA5B,EAAqCC,SAArC,QAAsD,kBAAtD;AACA,OAAOC,EAAP,MAAe,uBAAf;;AAMA,IAAMC,UAAU,GAAG,QAA4C;EAAA,IAA3C;IAAEC;EAAF,CAA2C;;EAC7D,QAAQA,IAAR;IACE,KAAKF,EAAE,CAACG,YAAH,CAAgBC,KAArB;IACA,KAAKJ,EAAE,CAACG,YAAH,CAAgBE,QAArB;IACA,KAAKL,EAAE,CAACG,YAAH,CAAgBG,SAArB;MACE,oBAAO,oBAAC,eAAD;QAAiB,IAAI,EAAET;MAAvB,EAAP;;IACF,KAAKG,EAAE,CAACG,YAAH,CAAgBI,MAArB;MACE,oBAAO,oBAAC,eAAD;QAAiB,IAAI,EAAET;MAAvB,EAAP;;IACF,KAAKE,EAAE,CAACG,YAAH,CAAgBK,MAArB;MACE,oBAAO,oBAAC,eAAD;QAAiB,IAAI,EAAEZ;MAAvB,EAAP;;IACF;MACE,oBAAO,oBAAC,eAAD;QAAiB,IAAI,EAAEG;MAAvB,EAAP;EAVJ;AAYD,CAbD;;AAeA,eAAeE,UAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/common/index.d.ts"],"names":["React","Code","PureComponent"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAOA,eAAe,MAAMC,IAAN,SAAmBD,KAAK,CAACE,aAAzB,CAAkD","sourcesContent":["import React from 'react';\n\ninterface CodeProps {\n children: React.ReactNode;\n language: string;\n}\n\nexport default class Code extends React.PureComponent<CodeProps> {}\n"],"file":"index.d.js"}
1
+ {"version":3,"file":"index.d.js","names":["React","Code","PureComponent"],"sources":["../../src/common/index.d.ts"],"sourcesContent":["import React from 'react';\n\ninterface CodeProps {\n children: React.ReactNode;\n language: string;\n}\n\nexport default class Code extends React.PureComponent<CodeProps> {}\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAOA,eAAe,MAAMC,IAAN,SAAmBD,KAAK,CAACE,aAAzB,CAAkD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/common/index.ts"],"names":["default","ObjectIcon","Code","ConsoleConstants","ConsoleUtils"],"mappings":"SAASA,OAAO,IAAIC,U;SACXD,OAAO,IAAIE,I;SACXF,OAAO,IAAIG,gB;SACXH,OAAO,IAAII,Y","sourcesContent":["export { default as ObjectIcon } from './ObjectIcon';\nexport { default as Code } from './Code';\nexport { default as ConsoleConstants } from './ConsoleConstants';\nexport { default as ConsoleUtils } from './ConsoleUtils';\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["default","ObjectIcon","Code","ConsoleConstants","ConsoleUtils"],"sources":["../../src/common/index.ts"],"sourcesContent":["export { default as ObjectIcon } from './ObjectIcon';\nexport { default as Code } from './Code';\nexport { default as ConsoleConstants } from './ConsoleConstants';\nexport { default as ConsoleUtils } from './ConsoleUtils';\n"],"mappings":"SAASA,OAAO,IAAIC,U;SACXD,OAAO,IAAIE,I;SACXF,OAAO,IAAIG,gB;SACXH,OAAO,IAAII,Y"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/console-history/ConsoleHistory.tsx"],"names":["React","Component","ConsoleHistoryItem","ConsoleHistory","itemKey","i","item","command","result","message","error","render","disabled","items","language","openObject","props","historyElements","length","historyElement","push"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,KAAP,IAAgBC,SAAhB,QAA+C,OAA/C;OAEOC,kB;;;AAYP,MAAMC,cAAN,SAA6BF,SAA7B,CAGE;AAKc,SAAPG,OAAO,CAACC,CAAD,EAAYC,IAAZ,EAAoD;AAChE,qBAAUD,CAAV,cAAeC,IAAI,CAACC,OAApB,cAA+BD,IAAI,CAACE,MAAL,IAAeF,IAAI,CAACE,MAAL,CAAYC,OAA1D,cACEH,IAAI,CAACE,MAAL,IAAeF,IAAI,CAACE,MAAL,CAAYE,KAD7B;AAGD;;AAEDC,EAAAA,MAAM,GAAiB;AACrB,QAAM;AAAEC,MAAAA,QAAF;AAAYC,MAAAA,KAAZ;AAAmBC,MAAAA,QAAnB;AAA6BC,MAAAA;AAA7B,QAA4C,KAAKC,KAAvD;AACA,QAAMC,eAAe,GAAG,EAAxB;;AACA,SAAK,IAAIZ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGQ,KAAK,CAACK,MAA1B,EAAkCb,CAAC,IAAI,CAAvC,EAA0C;AACxC,UAAMC,IAAI,GAAGO,KAAK,CAACR,CAAD,CAAlB;AACA,UAAMc,cAAc,gBAClB,oBAAC,kBAAD;AACE,QAAA,GAAG,EAAEhB,cAAc,CAACC,OAAf,CAAuBC,CAAvB,EAA0BC,IAA1B,CADP;AAEE,QAAA,QAAQ,EAAEM,QAFZ;AAGE,QAAA,IAAI,EAAEN,IAHR;AAIE,QAAA,UAAU,EAAES,UAJd;AAKE,QAAA,QAAQ,EAAED;AALZ,QADF;AASAG,MAAAA,eAAe,CAACG,IAAhB,CAAqBD,cAArB;AACD;;AAED,wBACE;AAAK,MAAA,SAAS,EAAC;AAAf,OAAkDF,eAAlD,CADF;AAGD;;AA/BD;;gBAHId,c,kBAIkB;AACpBS,EAAAA,QAAQ,EAAE;AADU,C;;AAiCxB,eAAeT,cAAf","sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { Component, ReactElement } from 'react';\nimport { VariableDefinition } from '@deephaven/jsapi-shim';\nimport ConsoleHistoryItem from './ConsoleHistoryItem';\n\nimport './ConsoleHistory.scss';\nimport { ConsoleHistoryActionItem } from './ConsoleHistoryTypes';\n\ninterface ConsoleHistoryProps {\n items: ConsoleHistoryActionItem[];\n language: string;\n openObject: (object: VariableDefinition) => void;\n disabled?: boolean;\n}\n\nclass ConsoleHistory extends Component<\n ConsoleHistoryProps,\n Record<string, never>\n> {\n static defaultProps = {\n disabled: false,\n };\n\n static itemKey(i: number, item: ConsoleHistoryActionItem): string {\n return `${i}.${item.command}.${item.result && item.result.message}.${\n item.result && item.result.error\n }`;\n }\n\n render(): ReactElement {\n const { disabled, items, language, openObject } = this.props;\n const historyElements = [];\n for (let i = 0; i < items.length; i += 1) {\n const item = items[i];\n const historyElement = (\n <ConsoleHistoryItem\n key={ConsoleHistory.itemKey(i, item)}\n disabled={disabled}\n item={item}\n openObject={openObject}\n language={language}\n />\n );\n historyElements.push(historyElement);\n }\n\n return (\n <div className=\"container-fluid console-history\">{historyElements}</div>\n );\n }\n}\n\nexport default ConsoleHistory;\n"],"file":"ConsoleHistory.js"}
1
+ {"version":3,"file":"ConsoleHistory.js","names":["React","Component","ConsoleHistoryItem","ConsoleHistory","itemKey","i","item","command","result","message","error","render","disabled","items","language","openObject","props","historyElements","length","historyElement","push"],"sources":["../../src/console-history/ConsoleHistory.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { Component, ReactElement } from 'react';\nimport { VariableDefinition } from '@deephaven/jsapi-shim';\nimport ConsoleHistoryItem from './ConsoleHistoryItem';\n\nimport './ConsoleHistory.scss';\nimport { ConsoleHistoryActionItem } from './ConsoleHistoryTypes';\n\ninterface ConsoleHistoryProps {\n items: ConsoleHistoryActionItem[];\n language: string;\n openObject: (object: VariableDefinition) => void;\n disabled?: boolean;\n}\n\nclass ConsoleHistory extends Component<\n ConsoleHistoryProps,\n Record<string, never>\n> {\n static defaultProps = {\n disabled: false,\n };\n\n static itemKey(i: number, item: ConsoleHistoryActionItem): string {\n return `${i}.${item.command}.${item.result && item.result.message}.${\n item.result && item.result.error\n }`;\n }\n\n render(): ReactElement {\n const { disabled, items, language, openObject } = this.props;\n const historyElements = [];\n for (let i = 0; i < items.length; i += 1) {\n const item = items[i];\n const historyElement = (\n <ConsoleHistoryItem\n key={ConsoleHistory.itemKey(i, item)}\n disabled={disabled}\n item={item}\n openObject={openObject}\n language={language}\n />\n );\n historyElements.push(historyElement);\n }\n\n return (\n <div className=\"container-fluid console-history\">{historyElements}</div>\n );\n }\n}\n\nexport default ConsoleHistory;\n"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,KAAP,IAAgBC,SAAhB,QAA+C,OAA/C;OAEOC,kB;;;AAYP,MAAMC,cAAN,SAA6BF,SAA7B,CAGE;EAKc,OAAPG,OAAO,CAACC,CAAD,EAAYC,IAAZ,EAAoD;IAChE,iBAAUD,CAAV,cAAeC,IAAI,CAACC,OAApB,cAA+BD,IAAI,CAACE,MAAL,IAAeF,IAAI,CAACE,MAAL,CAAYC,OAA1D,cACEH,IAAI,CAACE,MAAL,IAAeF,IAAI,CAACE,MAAL,CAAYE,KAD7B;EAGD;;EAEDC,MAAM,GAAiB;IACrB,IAAM;MAAEC,QAAF;MAAYC,KAAZ;MAAmBC,QAAnB;MAA6BC;IAA7B,IAA4C,KAAKC,KAAvD;IACA,IAAMC,eAAe,GAAG,EAAxB;;IACA,KAAK,IAAIZ,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGQ,KAAK,CAACK,MAA1B,EAAkCb,CAAC,IAAI,CAAvC,EAA0C;MACxC,IAAMC,IAAI,GAAGO,KAAK,CAACR,CAAD,CAAlB;MACA,IAAMc,cAAc,gBAClB,oBAAC,kBAAD;QACE,GAAG,EAAEhB,cAAc,CAACC,OAAf,CAAuBC,CAAvB,EAA0BC,IAA1B,CADP;QAEE,QAAQ,EAAEM,QAFZ;QAGE,IAAI,EAAEN,IAHR;QAIE,UAAU,EAAES,UAJd;QAKE,QAAQ,EAAED;MALZ,EADF;MASAG,eAAe,CAACG,IAAhB,CAAqBD,cAArB;IACD;;IAED,oBACE;MAAK,SAAS,EAAC;IAAf,GAAkDF,eAAlD,CADF;EAGD;;AA/BD;;gBAHId,c,kBAIkB;EACpBS,QAAQ,EAAE;AADU,C;;AAiCxB,eAAeT,cAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/console-history/ConsoleHistoryItem.tsx"],"names":["React","PureComponent","ButtonOld","Log","Code","ObjectIcon","ConsoleHistoryItemResult","ConsoleHistoryResultInProgress","ConsoleHistoryResultErrorMessage","log","module","ConsoleHistoryItem","constructor","props","handleCancelClick","bind","handleObjectClick","object","debug","openObject","item","cancelResult","command","render","disabled","language","disabledObjects","result","commandElement","resultElements","error","message","changes","created","updated","forEach","title","key","btnDisabled","indexOf","element","type","push","errorMessage","resultElement","length"],"mappings":"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","sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { PureComponent, ReactElement } from 'react';\nimport { ButtonOld } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport { VariableDefinition } from '@deephaven/jsapi-shim';\nimport { Code, ObjectIcon } from '../common';\nimport ConsoleHistoryItemResult from './ConsoleHistoryItemResult';\nimport ConsoleHistoryResultInProgress from './ConsoleHistoryResultInProgress';\nimport ConsoleHistoryResultErrorMessage from './ConsoleHistoryResultErrorMessage';\nimport './ConsoleHistoryItem.scss';\nimport { ConsoleHistoryActionItem } from './ConsoleHistoryTypes';\n\nconst log = Log.module('ConsoleHistoryItem');\n\ninterface ConsoleHistoryItemProps {\n item: ConsoleHistoryActionItem;\n language: string;\n openObject: (object: VariableDefinition) => void;\n disabled?: boolean;\n}\n\nclass ConsoleHistoryItem extends PureComponent<\n ConsoleHistoryItemProps,\n Record<string, never>\n> {\n static defaultProps = {\n disabled: false,\n };\n\n constructor(props: ConsoleHistoryItemProps) {\n super(props);\n\n this.handleCancelClick = this.handleCancelClick.bind(this);\n this.handleObjectClick = this.handleObjectClick.bind(this);\n }\n\n handleObjectClick(object: VariableDefinition): void {\n log.debug('handleObjectClick', object);\n\n const { openObject } = this.props;\n openObject(object);\n }\n\n handleCancelClick(): void {\n const { item } = this.props;\n if (item && item.cancelResult) {\n log.debug(`Cancelling command: ${item.command}`);\n item.cancelResult();\n }\n }\n\n render(): ReactElement {\n const { disabled, item, language } = this.props;\n const { disabledObjects, result } = item;\n\n let commandElement = null;\n if (item.command) {\n commandElement = (\n <div className=\"console-history-item-command\">\n <div className=\"console-history-gutter\">&gt;</div>\n <div className=\"console-history-content\">\n <Code language={language}>{item.command}</Code>\n </div>\n </div>\n );\n }\n\n const resultElements = [];\n\n if (result) {\n const { error, message, changes } = result;\n\n if (changes) {\n const { created, updated } = changes;\n [...created, ...updated].forEach(object => {\n const { title } = object;\n const key = `${title}`;\n const btnDisabled =\n disabled || (disabledObjects ?? []).indexOf(key) >= 0;\n const element = (\n <ButtonOld\n key={key}\n onClick={() => this.handleObjectClick(object)}\n className=\"btn-primary btn-console btn-console-object\"\n disabled={btnDisabled}\n >\n <ObjectIcon type={object.type} /> {title}\n </ButtonOld>\n );\n resultElements.push(element);\n });\n }\n\n // If the error has an associated command, we'll actually get a separate ERROR item printed out, so only print an error if there isn't an associated command\n if (error && !item.command) {\n let errorMessage = `${(error as { message: string }).message ?? error}`;\n if (!errorMessage) {\n errorMessage = error as string;\n }\n const element = (\n <ConsoleHistoryResultErrorMessage\n key=\"result-error\"\n message={errorMessage}\n />\n );\n resultElements.push(element);\n }\n\n if (message) {\n const element = (\n <div key=\"log-message\" className=\"log-message\">\n {message}\n </div>\n );\n resultElements.push(element);\n }\n } else {\n const element = (\n <ConsoleHistoryResultInProgress\n key=\"in_progress\"\n onCancelClick={this.handleCancelClick}\n disabled={disabled}\n />\n );\n resultElements.push(element);\n }\n\n let resultElement = null;\n if (resultElements.length > 0) {\n resultElement = (\n <ConsoleHistoryItemResult>{resultElements}</ConsoleHistoryItemResult>\n );\n }\n\n return (\n <div className=\"container-fluid\">\n {commandElement}\n {resultElement}\n </div>\n );\n }\n}\n\nexport default ConsoleHistoryItem;\n"],"file":"ConsoleHistoryItem.js"}
1
+ {"version":3,"file":"ConsoleHistoryItem.js","names":["React","PureComponent","ButtonOld","Log","Code","ObjectIcon","ConsoleHistoryItemResult","ConsoleHistoryResultInProgress","ConsoleHistoryResultErrorMessage","log","module","ConsoleHistoryItem","constructor","props","handleCancelClick","bind","handleObjectClick","object","debug","openObject","item","cancelResult","command","render","disabled","language","disabledObjects","result","commandElement","resultElements","error","message","changes","created","updated","forEach","title","key","btnDisabled","indexOf","element","type","push","errorMessage","resultElement","length"],"sources":["../../src/console-history/ConsoleHistoryItem.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { PureComponent, ReactElement } from 'react';\nimport { ButtonOld } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport { VariableDefinition } from '@deephaven/jsapi-shim';\nimport { Code, ObjectIcon } from '../common';\nimport ConsoleHistoryItemResult from './ConsoleHistoryItemResult';\nimport ConsoleHistoryResultInProgress from './ConsoleHistoryResultInProgress';\nimport ConsoleHistoryResultErrorMessage from './ConsoleHistoryResultErrorMessage';\nimport './ConsoleHistoryItem.scss';\nimport { ConsoleHistoryActionItem } from './ConsoleHistoryTypes';\n\nconst log = Log.module('ConsoleHistoryItem');\n\ninterface ConsoleHistoryItemProps {\n item: ConsoleHistoryActionItem;\n language: string;\n openObject: (object: VariableDefinition) => void;\n disabled?: boolean;\n}\n\nclass ConsoleHistoryItem extends PureComponent<\n ConsoleHistoryItemProps,\n Record<string, never>\n> {\n static defaultProps = {\n disabled: false,\n };\n\n constructor(props: ConsoleHistoryItemProps) {\n super(props);\n\n this.handleCancelClick = this.handleCancelClick.bind(this);\n this.handleObjectClick = this.handleObjectClick.bind(this);\n }\n\n handleObjectClick(object: VariableDefinition): void {\n log.debug('handleObjectClick', object);\n\n const { openObject } = this.props;\n openObject(object);\n }\n\n handleCancelClick(): void {\n const { item } = this.props;\n if (item && item.cancelResult) {\n log.debug(`Cancelling command: ${item.command}`);\n item.cancelResult();\n }\n }\n\n render(): ReactElement {\n const { disabled, item, language } = this.props;\n const { disabledObjects, result } = item;\n\n let commandElement = null;\n if (item.command) {\n commandElement = (\n <div className=\"console-history-item-command\">\n <div className=\"console-history-gutter\">&gt;</div>\n <div className=\"console-history-content\">\n <Code language={language}>{item.command}</Code>\n </div>\n </div>\n );\n }\n\n const resultElements = [];\n\n if (result) {\n const { error, message, changes } = result;\n\n if (changes) {\n const { created, updated } = changes;\n [...created, ...updated].forEach(object => {\n const { title } = object;\n const key = `${title}`;\n const btnDisabled =\n disabled || (disabledObjects ?? []).indexOf(key) >= 0;\n const element = (\n <ButtonOld\n key={key}\n onClick={() => this.handleObjectClick(object)}\n className=\"btn-primary btn-console btn-console-object\"\n disabled={btnDisabled}\n >\n <ObjectIcon type={object.type} /> {title}\n </ButtonOld>\n );\n resultElements.push(element);\n });\n }\n\n // If the error has an associated command, we'll actually get a separate ERROR item printed out, so only print an error if there isn't an associated command\n if (error && !item.command) {\n let errorMessage = `${(error as { message: string }).message ?? error}`;\n if (!errorMessage) {\n errorMessage = error as string;\n }\n const element = (\n <ConsoleHistoryResultErrorMessage\n key=\"result-error\"\n message={errorMessage}\n />\n );\n resultElements.push(element);\n }\n\n if (message) {\n const element = (\n <div key=\"log-message\" className=\"log-message\">\n {message}\n </div>\n );\n resultElements.push(element);\n }\n } else {\n const element = (\n <ConsoleHistoryResultInProgress\n key=\"in_progress\"\n onCancelClick={this.handleCancelClick}\n disabled={disabled}\n />\n );\n resultElements.push(element);\n }\n\n let resultElement = null;\n if (resultElements.length > 0) {\n resultElement = (\n <ConsoleHistoryItemResult>{resultElements}</ConsoleHistoryItemResult>\n );\n }\n\n return (\n <div className=\"container-fluid\">\n {commandElement}\n {resultElement}\n </div>\n );\n }\n}\n\nexport default ConsoleHistoryItem;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/console-history/ConsoleHistoryItemResult.tsx"],"names":["React","PropTypes","ConsoleHistoryItemResult","children","propTypes","node","isRequired"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,KAAP,MAA+C,OAA/C;AACA,OAAOC,SAAP,MAAsB,YAAtB;;AAEA,IAAMC,wBAAwB,GAAG;AAAA,MAAC;AAChCC,IAAAA;AADgC,GAAD;AAAA,sBAK/B;AAAK,IAAA,SAAS,EAAC;AAAf,kBACE;AAAK,IAAA,SAAS,EAAC;AAAf,SADF,eAEE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA0CA,QAA1C,CAFF,CAL+B;AAAA,CAAjC;;AAWAD,wBAAwB,CAACE,SAAzB,GAAqC;AACnCD,EAAAA,QAAQ,EAAEF,SAAS,CAACI,IAAV,CAAeC;AADU,CAArC;AAIA,eAAeJ,wBAAf","sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { ReactElement, ReactNode } from 'react';\nimport PropTypes from 'prop-types';\n\nconst ConsoleHistoryItemResult = ({\n children,\n}: {\n children: ReactNode;\n}): ReactElement => (\n <div className=\"console-history-item-result\">\n <div className=\"console-history-gutter\">-</div>\n <div className=\"console-history-content\">{children}</div>\n </div>\n);\n\nConsoleHistoryItemResult.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default ConsoleHistoryItemResult;\n"],"file":"ConsoleHistoryItemResult.js"}
1
+ {"version":3,"file":"ConsoleHistoryItemResult.js","names":["React","PropTypes","ConsoleHistoryItemResult","children","propTypes","node","isRequired"],"sources":["../../src/console-history/ConsoleHistoryItemResult.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { ReactElement, ReactNode } from 'react';\nimport PropTypes from 'prop-types';\n\nconst ConsoleHistoryItemResult = ({\n children,\n}: {\n children: ReactNode;\n}): ReactElement => (\n <div className=\"console-history-item-result\">\n <div className=\"console-history-gutter\">-</div>\n <div className=\"console-history-content\">{children}</div>\n </div>\n);\n\nConsoleHistoryItemResult.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default ConsoleHistoryItemResult;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,KAAP,MAA+C,OAA/C;AACA,OAAOC,SAAP,MAAsB,YAAtB;;AAEA,IAAMC,wBAAwB,GAAG;EAAA,IAAC;IAChCC;EADgC,CAAD;EAAA,oBAK/B;IAAK,SAAS,EAAC;EAAf,gBACE;IAAK,SAAS,EAAC;EAAf,OADF,eAEE;IAAK,SAAS,EAAC;EAAf,GAA0CA,QAA1C,CAFF,CAL+B;AAAA,CAAjC;;AAWAD,wBAAwB,CAACE,SAAzB,GAAqC;EACnCD,QAAQ,EAAEF,SAAS,CAACI,IAAV,CAAeC;AADU,CAArC;AAIA,eAAeJ,wBAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/console-history/ConsoleHistoryResultErrorMessage.tsx"],"names":["React","PureComponent","classNames","FontAwesomeIcon","vsTriangleRight","vsTriangleDown","assertNotNull","ConsoleHistoryResultErrorMessage","constructor","props","handleKeyPress","bind","handleMouseDown","handleMouseMove","handleMouseUp","handleToggleError","handleMouseEnter","handleMouseLeave","mouseX","mouseY","isClicking","state","isExpanded","isTriggerHovered","event","key","stopPropagation","preventDefault","clientX","clientY","Math","abs","mouseDragThreshold","shiftKey","metaKey","altKey","setState","render","message","messageProp","lineBreakIndex","indexOf","isMultiline","topLineOfMessage","slice","remainderOfMessage","arrowBtnClasses","expanded"],"mappings":"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","sourcesContent":["/**\n * Error message that can be expanded\n */\nimport React, {\n KeyboardEvent,\n MouseEvent,\n PureComponent,\n ReactElement,\n} from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsTriangleRight, vsTriangleDown } from '@deephaven/icons';\nimport { assertNotNull } from '@deephaven/utils';\n\ninterface ConsoleHistoryResultErrorMessageProps {\n message?: string;\n}\n\ninterface ConsoleHistoryResultErrorMessageState {\n isExpanded: boolean;\n isTriggerHovered: boolean;\n}\n\nclass ConsoleHistoryResultErrorMessage extends PureComponent<\n ConsoleHistoryResultErrorMessageProps,\n ConsoleHistoryResultErrorMessageState\n> {\n static defaultProps = {\n message: '',\n };\n\n static mouseDragThreshold = 5;\n\n constructor(props: ConsoleHistoryResultErrorMessageProps) {\n super(props);\n\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.handleMouseDown = this.handleMouseDown.bind(this);\n this.handleMouseMove = this.handleMouseMove.bind(this);\n this.handleMouseUp = this.handleMouseUp.bind(this);\n this.handleToggleError = this.handleToggleError.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n\n this.mouseX = null;\n this.mouseY = null;\n this.isClicking = false;\n\n this.state = {\n isExpanded: false,\n isTriggerHovered: false,\n };\n }\n\n mouseX: number | null;\n\n mouseY: number | null;\n\n isClicking: boolean;\n\n handleKeyPress(event: KeyboardEvent<HTMLDivElement>): void {\n switch (event.key) {\n case 'Enter':\n case ' ':\n // Toggle the error open/closed\n this.handleToggleError();\n event.stopPropagation();\n event.preventDefault();\n break;\n default:\n break;\n }\n }\n\n handleMouseDown(event: MouseEvent<HTMLDivElement>): void {\n this.mouseX = event.clientX;\n this.mouseY = event.clientY;\n this.isClicking = true;\n }\n\n handleMouseMove(event: MouseEvent<HTMLDivElement>): void {\n if (this.mouseX != null && this.mouseY != null) {\n if (\n Math.abs(event.clientX - this.mouseX) >=\n ConsoleHistoryResultErrorMessage.mouseDragThreshold ||\n Math.abs(event.clientY - this.mouseY) >=\n ConsoleHistoryResultErrorMessage.mouseDragThreshold\n ) {\n this.isClicking = false;\n }\n } else if (this.isClicking) {\n // Rare case - could happen if you mouse down, switch window focus, release the mouse, then come back, mouse down outside of the error, drag into the error, then release the mouse\n this.isClicking = false;\n }\n }\n\n handleMouseUp(event: MouseEvent<HTMLDivElement>): void {\n // We don't want to expand/collapse the error if user is holding shift or an alt key\n // They may be trying to adjust their selection\n if (this.isClicking && !event.shiftKey && !event.metaKey && !event.altKey) {\n this.handleToggleError();\n }\n this.mouseX = null;\n this.mouseY = null;\n this.isClicking = false;\n }\n\n handleToggleError(): void {\n this.setState(state => ({ isExpanded: !state.isExpanded }));\n }\n\n handleMouseEnter(): void {\n this.setState({ isTriggerHovered: true });\n }\n\n handleMouseLeave(): void {\n this.setState({ isTriggerHovered: false });\n }\n\n render(): ReactElement {\n const { isExpanded, isTriggerHovered } = this.state;\n const { message: messageProp } = this.props;\n assertNotNull(messageProp);\n const lineBreakIndex = messageProp.indexOf('\\n');\n const isMultiline = lineBreakIndex > -1;\n let topLineOfMessage = messageProp;\n if (isMultiline) {\n topLineOfMessage = messageProp.slice(0, lineBreakIndex);\n }\n const remainderOfMessage = messageProp.slice(lineBreakIndex);\n const arrowBtnClasses = isTriggerHovered\n ? 'error-btn-link error-btn-link--active'\n : 'error-btn-link';\n\n return (\n <div\n key=\"error\"\n className={classNames('error-message', {\n expanded: isExpanded,\n })}\n >\n {isMultiline && (\n <>\n <div className=\"error-gutter\">\n <button\n type=\"button\"\n onClick={this.handleToggleError}\n className={arrowBtnClasses}\n tabIndex={-1}\n >\n <FontAwesomeIcon\n icon={isExpanded ? vsTriangleDown : vsTriangleRight}\n transform=\"left-3\"\n />\n </button>\n </div>\n <div className=\"error-content\">\n <div\n className=\"console-error-text-trigger\"\n role=\"button\"\n tabIndex={0}\n onKeyPress={this.handleKeyPress}\n onMouseDown={this.handleMouseDown}\n onMouseMove={this.handleMouseMove}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onMouseUp={this.handleMouseUp}\n >\n {topLineOfMessage}\n </div>\n {isExpanded ? remainderOfMessage : ''}\n </div>\n </>\n )}\n {!isMultiline && (\n <div className=\"error-content\">\n <div className=\"console-error-text\">{topLineOfMessage}</div>\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default ConsoleHistoryResultErrorMessage;\n"],"file":"ConsoleHistoryResultErrorMessage.js"}
1
+ {"version":3,"file":"ConsoleHistoryResultErrorMessage.js","names":["React","PureComponent","classNames","FontAwesomeIcon","vsTriangleRight","vsTriangleDown","assertNotNull","ConsoleHistoryResultErrorMessage","constructor","props","handleKeyPress","bind","handleMouseDown","handleMouseMove","handleMouseUp","handleToggleError","handleMouseEnter","handleMouseLeave","mouseX","mouseY","isClicking","state","isExpanded","isTriggerHovered","event","key","stopPropagation","preventDefault","clientX","clientY","Math","abs","mouseDragThreshold","shiftKey","metaKey","altKey","setState","render","message","messageProp","lineBreakIndex","indexOf","isMultiline","topLineOfMessage","slice","remainderOfMessage","arrowBtnClasses","expanded"],"sources":["../../src/console-history/ConsoleHistoryResultErrorMessage.tsx"],"sourcesContent":["/**\n * Error message that can be expanded\n */\nimport React, {\n KeyboardEvent,\n MouseEvent,\n PureComponent,\n ReactElement,\n} from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsTriangleRight, vsTriangleDown } from '@deephaven/icons';\nimport { assertNotNull } from '@deephaven/utils';\n\ninterface ConsoleHistoryResultErrorMessageProps {\n message?: string;\n}\n\ninterface ConsoleHistoryResultErrorMessageState {\n isExpanded: boolean;\n isTriggerHovered: boolean;\n}\n\nclass ConsoleHistoryResultErrorMessage extends PureComponent<\n ConsoleHistoryResultErrorMessageProps,\n ConsoleHistoryResultErrorMessageState\n> {\n static defaultProps = {\n message: '',\n };\n\n static mouseDragThreshold = 5;\n\n constructor(props: ConsoleHistoryResultErrorMessageProps) {\n super(props);\n\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.handleMouseDown = this.handleMouseDown.bind(this);\n this.handleMouseMove = this.handleMouseMove.bind(this);\n this.handleMouseUp = this.handleMouseUp.bind(this);\n this.handleToggleError = this.handleToggleError.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n\n this.mouseX = null;\n this.mouseY = null;\n this.isClicking = false;\n\n this.state = {\n isExpanded: false,\n isTriggerHovered: false,\n };\n }\n\n mouseX: number | null;\n\n mouseY: number | null;\n\n isClicking: boolean;\n\n handleKeyPress(event: KeyboardEvent<HTMLDivElement>): void {\n switch (event.key) {\n case 'Enter':\n case ' ':\n // Toggle the error open/closed\n this.handleToggleError();\n event.stopPropagation();\n event.preventDefault();\n break;\n default:\n break;\n }\n }\n\n handleMouseDown(event: MouseEvent<HTMLDivElement>): void {\n this.mouseX = event.clientX;\n this.mouseY = event.clientY;\n this.isClicking = true;\n }\n\n handleMouseMove(event: MouseEvent<HTMLDivElement>): void {\n if (this.mouseX != null && this.mouseY != null) {\n if (\n Math.abs(event.clientX - this.mouseX) >=\n ConsoleHistoryResultErrorMessage.mouseDragThreshold ||\n Math.abs(event.clientY - this.mouseY) >=\n ConsoleHistoryResultErrorMessage.mouseDragThreshold\n ) {\n this.isClicking = false;\n }\n } else if (this.isClicking) {\n // Rare case - could happen if you mouse down, switch window focus, release the mouse, then come back, mouse down outside of the error, drag into the error, then release the mouse\n this.isClicking = false;\n }\n }\n\n handleMouseUp(event: MouseEvent<HTMLDivElement>): void {\n // We don't want to expand/collapse the error if user is holding shift or an alt key\n // They may be trying to adjust their selection\n if (this.isClicking && !event.shiftKey && !event.metaKey && !event.altKey) {\n this.handleToggleError();\n }\n this.mouseX = null;\n this.mouseY = null;\n this.isClicking = false;\n }\n\n handleToggleError(): void {\n this.setState(state => ({ isExpanded: !state.isExpanded }));\n }\n\n handleMouseEnter(): void {\n this.setState({ isTriggerHovered: true });\n }\n\n handleMouseLeave(): void {\n this.setState({ isTriggerHovered: false });\n }\n\n render(): ReactElement {\n const { isExpanded, isTriggerHovered } = this.state;\n const { message: messageProp } = this.props;\n assertNotNull(messageProp);\n const lineBreakIndex = messageProp.indexOf('\\n');\n const isMultiline = lineBreakIndex > -1;\n let topLineOfMessage = messageProp;\n if (isMultiline) {\n topLineOfMessage = messageProp.slice(0, lineBreakIndex);\n }\n const remainderOfMessage = messageProp.slice(lineBreakIndex);\n const arrowBtnClasses = isTriggerHovered\n ? 'error-btn-link error-btn-link--active'\n : 'error-btn-link';\n\n return (\n <div\n key=\"error\"\n className={classNames('error-message', {\n expanded: isExpanded,\n })}\n >\n {isMultiline && (\n <>\n <div className=\"error-gutter\">\n <button\n type=\"button\"\n onClick={this.handleToggleError}\n className={arrowBtnClasses}\n tabIndex={-1}\n >\n <FontAwesomeIcon\n icon={isExpanded ? vsTriangleDown : vsTriangleRight}\n transform=\"left-3\"\n />\n </button>\n </div>\n <div className=\"error-content\">\n <div\n className=\"console-error-text-trigger\"\n role=\"button\"\n tabIndex={0}\n onKeyPress={this.handleKeyPress}\n onMouseDown={this.handleMouseDown}\n onMouseMove={this.handleMouseMove}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onMouseUp={this.handleMouseUp}\n >\n {topLineOfMessage}\n </div>\n {isExpanded ? remainderOfMessage : ''}\n </div>\n </>\n )}\n {!isMultiline && (\n <div className=\"error-content\">\n <div className=\"console-error-text\">{topLineOfMessage}</div>\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default ConsoleHistoryResultErrorMessage;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/console-history/ConsoleHistoryResultInProgress.tsx"],"names":["React","Component","classNames","FontAwesomeIcon","LoadingSpinner","Tooltip","vsClose","TimeUtils","ConsoleHistoryResultInProgress","constructor","props","updateElapsed","bind","startTime","Date","now","state","elapsed","componentDidMount","timer","setInterval","componentWillUnmount","clearInterval","undefined","setState","Math","round","render","disabled","onCancelClick","formatElapsedTime"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAA+C,OAA/C;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,cAAT,EAAyBC,OAAzB,QAAwC,uBAAxC;AACA,SAASC,OAAT,QAAwB,kBAAxB;AACA,SAASC,SAAT,QAA0B,kBAA1B;;;AAWA;AACA;AACA;AACA,MAAMC,8BAAN,SAA6CP,SAA7C,CAGE;AAKAQ,EAAAA,WAAW,CAACC,KAAD,EAA6C;AACtD,UAAMA,KAAN;;AADsD;;AAAA;;AAGtD,SAAKC,aAAL,GAAqB,KAAKA,aAAL,CAAmBC,IAAnB,CAAwB,IAAxB,CAArB;AAEA,SAAKC,SAAL,GAAiBC,IAAI,CAACC,GAAL,EAAjB;AAEA,SAAKC,KAAL,GAAa;AACXC,MAAAA,OAAO,EAAE;AADE,KAAb;AAGD;;AAEDC,EAAAA,iBAAiB,GAAS;AACxB,SAAKC,KAAL,GAAaC,WAAW,CAAC,KAAKT,aAAN,EAAqB,IAArB,CAAxB;AACD;;AAEDU,EAAAA,oBAAoB,GAAS;AAC3B,QAAI,KAAKF,KAAT,EAAgB;AACdG,MAAAA,aAAa,CAAC,KAAKH,KAAN,CAAb;AACD;;AAED,SAAKA,KAAL,GAAaI,SAAb;AACD;;AAMDZ,EAAAA,aAAa,GAAS;AACpB,SAAKa,QAAL,CAAc;AACZP,MAAAA,OAAO,EAAEQ,IAAI,CAACC,KAAL,CAAW,CAACZ,IAAI,CAACC,GAAL,KAAa,KAAKF,SAAnB,IAAgC,IAA3C;AADG,KAAd;AAGD;;AAEDc,EAAAA,MAAM,GAAiB;AACrB,QAAM;AAAEC,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,QAA8B,KAAKnB,KAAzC;AACA,QAAM;AAAEO,MAAAA;AAAF,QAAc,KAAKD,KAAzB;AACA,wBACE;AACE,MAAA,SAAS,EAAEd,UAAU,CAAC,oCAAD,EAAuC;AAC1D0B,QAAAA;AAD0D,OAAvC;AADvB,oBAKE;AAAM,MAAA,SAAS,EAAC;AAAhB,oBACE,oBAAC,cAAD,OADF,qBAEoBrB,SAAS,CAACuB,iBAAV,CAA4Bb,OAA5B,CAFpB,uBAGE;AAAQ,MAAA,IAAI,EAAC,QAAb;AAAsB,MAAA,OAAO,EAAEY,aAA/B;AAA8C,MAAA,QAAQ,EAAED;AAAxD,oBACE,oBAAC,eAAD;AAAiB,MAAA,IAAI,EAAEtB;AAAvB,MADF,eAEE,oBAAC,OAAD,iBAFF,CAHF,CALF,CADF;AAgBD;;AA1DD;;gBAHIE,8B,kBAIkB;AACpBoB,EAAAA,QAAQ,EAAE;AADU,C;;AA4DxB,eAAepB,8BAAf","sourcesContent":["import React, { Component, ReactElement } from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { LoadingSpinner, Tooltip } from '@deephaven/components';\nimport { vsClose } from '@deephaven/icons';\nimport { TimeUtils } from '@deephaven/utils';\nimport './ConsoleHistoryResultInProgress.scss';\n\ninterface ConsoleHistoryResultInProgressProps {\n onCancelClick: () => void;\n disabled: boolean;\n}\n\ninterface ConsoleHistoryResultInProgressState {\n elapsed: number;\n}\n/**\n * A spinner shown when a command is taking a while.\n */\nclass ConsoleHistoryResultInProgress extends Component<\n ConsoleHistoryResultInProgressProps,\n ConsoleHistoryResultInProgressState\n> {\n static defaultProps = {\n disabled: false,\n };\n\n constructor(props: ConsoleHistoryResultInProgressProps) {\n super(props);\n\n this.updateElapsed = this.updateElapsed.bind(this);\n\n this.startTime = Date.now();\n\n this.state = {\n elapsed: 0,\n };\n }\n\n componentDidMount(): void {\n this.timer = setInterval(this.updateElapsed, 1000);\n }\n\n componentWillUnmount(): void {\n if (this.timer) {\n clearInterval(this.timer);\n }\n\n this.timer = undefined;\n }\n\n timer?: NodeJS.Timer;\n\n startTime: number;\n\n updateElapsed(): void {\n this.setState({\n elapsed: Math.round((Date.now() - this.startTime) / 1000),\n });\n }\n\n render(): ReactElement {\n const { disabled, onCancelClick } = this.props;\n const { elapsed } = this.state;\n return (\n <div\n className={classNames('console-history-result-in-progress', {\n disabled,\n })}\n >\n <span className=\"badge\">\n <LoadingSpinner />\n &nbsp;Running... {TimeUtils.formatElapsedTime(elapsed)}&nbsp;\n <button type=\"button\" onClick={onCancelClick} disabled={disabled}>\n <FontAwesomeIcon icon={vsClose} />\n <Tooltip>Cancel</Tooltip>\n </button>\n </span>\n </div>\n );\n }\n}\n\nexport default ConsoleHistoryResultInProgress;\n"],"file":"ConsoleHistoryResultInProgress.js"}
1
+ {"version":3,"file":"ConsoleHistoryResultInProgress.js","names":["React","Component","classNames","FontAwesomeIcon","LoadingSpinner","Tooltip","vsClose","TimeUtils","ConsoleHistoryResultInProgress","constructor","props","updateElapsed","bind","startTime","Date","now","state","elapsed","componentDidMount","timer","setInterval","componentWillUnmount","clearInterval","undefined","setState","Math","round","render","disabled","onCancelClick","formatElapsedTime"],"sources":["../../src/console-history/ConsoleHistoryResultInProgress.tsx"],"sourcesContent":["import React, { Component, ReactElement } from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { LoadingSpinner, Tooltip } from '@deephaven/components';\nimport { vsClose } from '@deephaven/icons';\nimport { TimeUtils } from '@deephaven/utils';\nimport './ConsoleHistoryResultInProgress.scss';\n\ninterface ConsoleHistoryResultInProgressProps {\n onCancelClick: () => void;\n disabled: boolean;\n}\n\ninterface ConsoleHistoryResultInProgressState {\n elapsed: number;\n}\n/**\n * A spinner shown when a command is taking a while.\n */\nclass ConsoleHistoryResultInProgress extends Component<\n ConsoleHistoryResultInProgressProps,\n ConsoleHistoryResultInProgressState\n> {\n static defaultProps = {\n disabled: false,\n };\n\n constructor(props: ConsoleHistoryResultInProgressProps) {\n super(props);\n\n this.updateElapsed = this.updateElapsed.bind(this);\n\n this.startTime = Date.now();\n\n this.state = {\n elapsed: 0,\n };\n }\n\n componentDidMount(): void {\n this.timer = setInterval(this.updateElapsed, 1000);\n }\n\n componentWillUnmount(): void {\n if (this.timer) {\n clearInterval(this.timer);\n }\n\n this.timer = undefined;\n }\n\n timer?: NodeJS.Timer;\n\n startTime: number;\n\n updateElapsed(): void {\n this.setState({\n elapsed: Math.round((Date.now() - this.startTime) / 1000),\n });\n }\n\n render(): ReactElement {\n const { disabled, onCancelClick } = this.props;\n const { elapsed } = this.state;\n return (\n <div\n className={classNames('console-history-result-in-progress', {\n disabled,\n })}\n >\n <span className=\"badge\">\n <LoadingSpinner />\n &nbsp;Running... {TimeUtils.formatElapsedTime(elapsed)}&nbsp;\n <button type=\"button\" onClick={onCancelClick} disabled={disabled}>\n <FontAwesomeIcon icon={vsClose} />\n <Tooltip>Cancel</Tooltip>\n </button>\n </span>\n </div>\n );\n }\n}\n\nexport default ConsoleHistoryResultInProgress;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAA+C,OAA/C;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,cAAT,EAAyBC,OAAzB,QAAwC,uBAAxC;AACA,SAASC,OAAT,QAAwB,kBAAxB;AACA,SAASC,SAAT,QAA0B,kBAA1B;;;AAWA;AACA;AACA;AACA,MAAMC,8BAAN,SAA6CP,SAA7C,CAGE;EAKAQ,WAAW,CAACC,KAAD,EAA6C;IACtD,MAAMA,KAAN;;IADsD;;IAAA;;IAGtD,KAAKC,aAAL,GAAqB,KAAKA,aAAL,CAAmBC,IAAnB,CAAwB,IAAxB,CAArB;IAEA,KAAKC,SAAL,GAAiBC,IAAI,CAACC,GAAL,EAAjB;IAEA,KAAKC,KAAL,GAAa;MACXC,OAAO,EAAE;IADE,CAAb;EAGD;;EAEDC,iBAAiB,GAAS;IACxB,KAAKC,KAAL,GAAaC,WAAW,CAAC,KAAKT,aAAN,EAAqB,IAArB,CAAxB;EACD;;EAEDU,oBAAoB,GAAS;IAC3B,IAAI,KAAKF,KAAT,EAAgB;MACdG,aAAa,CAAC,KAAKH,KAAN,CAAb;IACD;;IAED,KAAKA,KAAL,GAAaI,SAAb;EACD;;EAMDZ,aAAa,GAAS;IACpB,KAAKa,QAAL,CAAc;MACZP,OAAO,EAAEQ,IAAI,CAACC,KAAL,CAAW,CAACZ,IAAI,CAACC,GAAL,KAAa,KAAKF,SAAnB,IAAgC,IAA3C;IADG,CAAd;EAGD;;EAEDc,MAAM,GAAiB;IACrB,IAAM;MAAEC,QAAF;MAAYC;IAAZ,IAA8B,KAAKnB,KAAzC;IACA,IAAM;MAAEO;IAAF,IAAc,KAAKD,KAAzB;IACA,oBACE;MACE,SAAS,EAAEd,UAAU,CAAC,oCAAD,EAAuC;QAC1D0B;MAD0D,CAAvC;IADvB,gBAKE;MAAM,SAAS,EAAC;IAAhB,gBACE,oBAAC,cAAD,OADF,qBAEoBrB,SAAS,CAACuB,iBAAV,CAA4Bb,OAA5B,CAFpB,uBAGE;MAAQ,IAAI,EAAC,QAAb;MAAsB,OAAO,EAAEY,aAA/B;MAA8C,QAAQ,EAAED;IAAxD,gBACE,oBAAC,eAAD;MAAiB,IAAI,EAAEtB;IAAvB,EADF,eAEE,oBAAC,OAAD,iBAFF,CAHF,CALF,CADF;EAgBD;;AA1DD;;gBAHIE,8B,kBAIkB;EACpBoB,QAAQ,EAAE;AADU,C;;AA4DxB,eAAepB,8BAAf"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"ConsoleHistoryTypes.js"}
1
+ {"version":3,"file":"ConsoleHistoryTypes.js","names":[],"sources":["../../src/console-history/ConsoleHistoryTypes.tsx"],"sourcesContent":["import { CancelablePromise } from '@deephaven/utils';\nimport { VariableChanges } from '@deephaven/jsapi-shim';\n\nexport type ConsoleHistoryError =\n | string\n | {\n message: string;\n }\n | undefined;\n\nexport interface ConsoleHistoryActionItem {\n command?: string;\n result?: {\n message?: string;\n error?: unknown;\n changes?: VariableChanges;\n };\n disabledObjects?: string[];\n startTime?: number;\n endTime?: number;\n cancelResult?: () => void;\n wrappedResult?: CancelablePromise<unknown>;\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/console-history/index.tsx"],"names":["default","ConsoleHistory","ConsoleHistoryItem","ConsoleHistoryItemResult","ConsoleHistoryResultErrorMessage","ConsoleHistoryResultInProgress"],"mappings":"SAASA,OAAO,IAAIC,c;SACXD,OAAO,IAAIE,kB;SACXF,OAAO,IAAIG,wB;SACXH,OAAO,IAAII,gC;SACXJ,OAAO,IAAIK,8B","sourcesContent":["export { default as ConsoleHistory } from './ConsoleHistory';\nexport { default as ConsoleHistoryItem } from './ConsoleHistoryItem';\nexport { default as ConsoleHistoryItemResult } from './ConsoleHistoryItemResult';\nexport { default as ConsoleHistoryResultErrorMessage } from './ConsoleHistoryResultErrorMessage';\nexport { default as ConsoleHistoryResultInProgress } from './ConsoleHistoryResultInProgress';\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["default","ConsoleHistory","ConsoleHistoryItem","ConsoleHistoryItemResult","ConsoleHistoryResultErrorMessage","ConsoleHistoryResultInProgress"],"sources":["../../src/console-history/index.tsx"],"sourcesContent":["export { default as ConsoleHistory } from './ConsoleHistory';\nexport { default as ConsoleHistoryItem } from './ConsoleHistoryItem';\nexport { default as ConsoleHistoryItemResult } from './ConsoleHistoryItemResult';\nexport { default as ConsoleHistoryResultErrorMessage } from './ConsoleHistoryResultErrorMessage';\nexport { default as ConsoleHistoryResultInProgress } from './ConsoleHistoryResultInProgress';\n"],"mappings":"SAASA,OAAO,IAAIC,c;SACXD,OAAO,IAAIE,kB;SACXF,OAAO,IAAIG,wB;SACXH,OAAO,IAAII,gC;SACXJ,OAAO,IAAIK,8B"}