@deephaven/console 0.22.3-beta.18 → 0.22.3-beta.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 (102) hide show
  1. package/dist/Console.js +9 -114
  2. package/dist/Console.js.map +1 -1
  3. package/dist/ConsoleInput.js +14 -90
  4. package/dist/ConsoleInput.js.map +1 -1
  5. package/dist/ConsoleMenu.js +6 -25
  6. package/dist/ConsoleMenu.js.map +1 -1
  7. package/dist/ConsolePropTypes.js.map +1 -1
  8. package/dist/ConsoleShortcuts.js +1 -1
  9. package/dist/ConsoleShortcuts.js.map +1 -1
  10. package/dist/ConsoleStatusBar.js +0 -16
  11. package/dist/ConsoleStatusBar.js.map +1 -1
  12. package/dist/HeapUsage.d.ts +1 -1
  13. package/dist/HeapUsage.d.ts.map +1 -1
  14. package/dist/HeapUsage.js +2 -18
  15. package/dist/HeapUsage.js.map +1 -1
  16. package/dist/StoragePropTypes.js.map +1 -1
  17. package/dist/command-history/CommandHistory.js +1 -49
  18. package/dist/command-history/CommandHistory.js.map +1 -1
  19. package/dist/command-history/CommandHistoryActions.js +0 -6
  20. package/dist/command-history/CommandHistoryActions.js.map +1 -1
  21. package/dist/command-history/CommandHistoryItem.d.ts +4 -4
  22. package/dist/command-history/CommandHistoryItem.d.ts.map +1 -1
  23. package/dist/command-history/CommandHistoryItem.js +3 -6
  24. package/dist/command-history/CommandHistoryItem.js.map +1 -1
  25. package/dist/command-history/CommandHistoryItemTooltip.js +3 -28
  26. package/dist/command-history/CommandHistoryItemTooltip.js.map +1 -1
  27. package/dist/command-history/CommandHistoryViewportUpdater.js +0 -3
  28. package/dist/command-history/CommandHistoryViewportUpdater.js.map +1 -1
  29. package/dist/command-history/index.js.map +1 -1
  30. package/dist/common/Code.js +2 -11
  31. package/dist/common/Code.js.map +1 -1
  32. package/dist/common/ConsoleConstants.js +0 -2
  33. package/dist/common/ConsoleConstants.js.map +1 -1
  34. package/dist/common/ConsoleUtils.js +4 -19
  35. package/dist/common/ConsoleUtils.js.map +1 -1
  36. package/dist/common/ObjectIcon.d.ts +1 -1
  37. package/dist/common/ObjectIcon.d.ts.map +1 -1
  38. package/dist/common/ObjectIcon.js +2 -8
  39. package/dist/common/ObjectIcon.js.map +1 -1
  40. package/dist/common/index.js.map +1 -1
  41. package/dist/console-history/ConsoleHistory.js +0 -8
  42. package/dist/console-history/ConsoleHistory.js.map +1 -1
  43. package/dist/console-history/ConsoleHistoryItem.js +2 -25
  44. package/dist/console-history/ConsoleHistoryItem.js.map +1 -1
  45. package/dist/console-history/ConsoleHistoryItemResult.d.ts +6 -6
  46. package/dist/console-history/ConsoleHistoryItemResult.d.ts.map +1 -1
  47. package/dist/console-history/ConsoleHistoryItemResult.js +2 -4
  48. package/dist/console-history/ConsoleHistoryItemResult.js.map +1 -1
  49. package/dist/console-history/ConsoleHistoryResultErrorMessage.js +0 -22
  50. package/dist/console-history/ConsoleHistoryResultErrorMessage.js.map +1 -1
  51. package/dist/console-history/ConsoleHistoryResultInProgress.js +0 -13
  52. package/dist/console-history/ConsoleHistoryResultInProgress.js.map +1 -1
  53. package/dist/console-history/index.js.map +1 -1
  54. package/dist/csv/CsvFormats.js +0 -9
  55. package/dist/csv/CsvFormats.js.map +1 -1
  56. package/dist/csv/CsvInputBar.js +18 -51
  57. package/dist/csv/CsvInputBar.js.map +1 -1
  58. package/dist/csv/CsvOverlay.js +1 -41
  59. package/dist/csv/CsvOverlay.js.map +1 -1
  60. package/dist/csv/CsvParser.js +10 -73
  61. package/dist/csv/CsvParser.js.map +1 -1
  62. package/dist/csv/CsvTypeParser.js +15 -85
  63. package/dist/csv/CsvTypeParser.js.map +1 -1
  64. package/dist/csv/NewTableColumnTypes.js +0 -9
  65. package/dist/csv/NewTableColumnTypes.js.map +1 -1
  66. package/dist/index.d.ts +3 -2
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +3 -2
  69. package/dist/index.js.map +1 -1
  70. package/dist/log/LogLevel.js.map +1 -1
  71. package/dist/log/LogLevelMenuItem.js +0 -5
  72. package/dist/log/LogLevelMenuItem.js.map +1 -1
  73. package/dist/log/LogView.js +16 -106
  74. package/dist/log/LogView.js.map +1 -1
  75. package/dist/monaco/MonacoCompletionProvider.js +2 -14
  76. package/dist/monaco/MonacoCompletionProvider.js.map +1 -1
  77. package/dist/monaco/MonacoUtils.d.ts.map +1 -1
  78. package/dist/monaco/MonacoUtils.js +21 -49
  79. package/dist/monaco/MonacoUtils.js.map +1 -1
  80. package/dist/monaco/index.js.map +1 -1
  81. package/dist/monaco/lang/db.d.ts.map +1 -1
  82. package/dist/monaco/lang/db.js +22 -13
  83. package/dist/monaco/lang/db.js.map +1 -1
  84. package/dist/monaco/lang/groovy.d.ts.map +1 -1
  85. package/dist/monaco/lang/groovy.js +28 -15
  86. package/dist/monaco/lang/groovy.js.map +1 -1
  87. package/dist/monaco/lang/log.js +1 -0
  88. package/dist/monaco/lang/log.js.map +1 -1
  89. package/dist/monaco/lang/python.d.ts.map +1 -1
  90. package/dist/monaco/lang/python.js +30 -16
  91. package/dist/monaco/lang/python.js.map +1 -1
  92. package/dist/monaco/lang/scala.js +26 -13
  93. package/dist/monaco/lang/scala.js.map +1 -1
  94. package/dist/notebook/Editor.js +2 -21
  95. package/dist/notebook/Editor.js.map +1 -1
  96. package/dist/notebook/ScriptEditor.d.ts +1 -1
  97. package/dist/notebook/ScriptEditor.d.ts.map +1 -1
  98. package/dist/notebook/ScriptEditor.js +0 -57
  99. package/dist/notebook/ScriptEditor.js.map +1 -1
  100. package/dist/notebook/ScriptEditorUtils.js +1 -7
  101. package/dist/notebook/ScriptEditorUtils.js.map +1 -1
  102. package/package.json +11 -11
@@ -1 +1 @@
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","Boolean","undefined","startTimer","stopTimer","componentWillUnmount","cancel","setInterval","clearInterval","updateTime","setState","error","onUpdate","render","errorMessage","timeString","previewText","getPreviewText","hasTimeString","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 == null || endTime === '' || endTime === 0) {\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 Boolean(data?.startTime) &&\n !(data == null || data.endTime === undefined)\n ) {\n this.startTimer();\n } else if (\n (data?.result && !prevState.data?.result) ||\n (Boolean(data?.endTime) &&\n !(prevState.data == null || prevState.data.endTime === undefined))\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: string) => 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 const hasTimeString = Boolean(timeString);\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 {Boolean(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 {hasTimeString ? (\n <span className=\"time-string\">{timeString}</span>\n ) : (\n <LoadingSpinner />\n )}\n </div>\n </div>\n {Boolean(errorMessage) && (\n <div className=\"error-message\">{errorMessage}</div>\n )}\n </div>\n </div>\n );\n }\n}\n\nexport default CommandHistoryItemTooltip;\n"],"mappings":"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"}
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","Boolean","undefined","startTimer","stopTimer","componentWillUnmount","cancel","setInterval","clearInterval","updateTime","setState","error","onUpdate","render","errorMessage","timeString","previewText","getPreviewText","hasTimeString","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 == null || endTime === '' || endTime === 0) {\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 Boolean(data?.startTime) &&\n !(data == null || data.endTime === undefined)\n ) {\n this.startTimer();\n } else if (\n (data?.result && !prevState.data?.result) ||\n (Boolean(data?.endTime) &&\n !(prevState.data == null || prevState.data.endTime === undefined))\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: string) => 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 const hasTimeString = Boolean(timeString);\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 {Boolean(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 {hasTimeString ? (\n <span className=\"time-string\">{timeString}</span>\n ) : (\n <LoadingSpinner />\n )}\n </div>\n </div>\n {Boolean(errorMessage) && (\n <div className=\"error-message\">{errorMessage}</div>\n )}\n </div>\n </div>\n );\n }\n}\n\nexport default CommandHistoryItemTooltip;\n"],"mappings":"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"}
@@ -4,7 +4,6 @@ import Log from '@deephaven/log';
4
4
  var UPDATE_DELAY = 150;
5
5
  var ROW_BUFFER_PAGES = 3;
6
6
  var log = Log.module('CommandHistoryViewportUpdater');
7
-
8
7
  function CommandHistoryViewportUpdater(_ref) {
9
8
  var {
10
9
  table,
@@ -28,7 +27,6 @@ function CommandHistoryViewportUpdater(_ref) {
28
27
  useEffect(function updateTableAndReturnCleanup() {
29
28
  var cleanup = table.onUpdate(viewportData => {
30
29
  var _viewportData$items, _viewportData$offset;
31
-
32
30
  onUpdate({
33
31
  items: (_viewportData$items = viewportData.items) !== null && _viewportData$items !== void 0 ? _viewportData$items : [],
34
32
  offset: (_viewportData$offset = viewportData.offset) !== null && _viewportData$offset !== void 0 ? _viewportData$offset : 0
@@ -55,6 +53,5 @@ function CommandHistoryViewportUpdater(_ref) {
55
53
  }, [throttledUpdateViewport]);
56
54
  return null;
57
55
  }
58
-
59
56
  export default CommandHistoryViewportUpdater;
60
57
  //# sourceMappingURL=CommandHistoryViewportUpdater.js.map
@@ -1 +1 @@
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
+ {"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,SAAS,EAAEC,OAAO,QAAQ,OAAO;AAC1C,OAAOC,QAAQ,MAAM,iBAAiB;AAMtC,OAAOC,GAAG,MAAM,gBAAgB;AAgBhC,IAAMC,YAAY,GAAG,GAAG;AAExB,IAAMC,gBAAgB,GAAG,CAAC;AAE1B,IAAMC,GAAG,GAAGH,GAAG,CAACI,MAAM,CAAC,+BAA+B,CAAC;AAEvD,SAASC,6BAA6B,OAQO;EAAA,IARN;IACrCC,KAAK;IACLC,OAAO;IACPC,GAAG,GAAG,CAAC;IACPC,MAAM,GAAG,CAAC;IACVC,MAAM;IACNC,UAAU,GAAG,KAAK;IAClBC;EACkC,CAAC;EACnC,IAAMC,uBAAuB,GAAGf,OAAO,CACrC,MACEC,QAAQ,CAAEe,QAA8B,IAAK;IAC3C,IAAMC,UAAU,GAAGD,QAAQ,CAACL,MAAM,GAAGK,QAAQ,CAACN,GAAG;IACjD,IAAMQ,WAAW,GAAGC,IAAI,CAACC,GAAG,CAC1B,CAAC,EACDJ,QAAQ,CAACN,GAAG,GAAGO,UAAU,GAAGb,gBAAgB,CAC7C;IACD,IAAMiB,cAAc,GAAGL,QAAQ,CAACL,MAAM,GAAGM,UAAU,GAAGb,gBAAgB;IAEtEI,KAAK,CAACc,WAAW,CAAC;MAChBZ,GAAG,EAAEQ,WAAW;MAChBP,MAAM,EAAEU,cAAc;MACtBZ,OAAO,EAAEO,QAAQ,CAACP;IACpB,CAAC,CAAC;EACJ,CAAC,EAAEN,YAAY,CAAC,EAClB,CAACK,KAAK,CAAC,CACR;EAEDT,SAAS,CACP,SAASwB,2BAA2B,GAAG;IACrC,IAAMC,OAAO,GAAGhB,KAAK,CAACM,QAAQ,CAC3BW,YAAqD,IAAK;MAAA;MACzDX,QAAQ,CAAC;QACPY,KAAK,yBAAED,YAAY,CAACC,KAAK,qEAAI,EAAE;QAC/BC,MAAM,0BAAEF,YAAY,CAACE,MAAM,uEAAI;MACjC,CAAC,CAAC;IACJ,CAAC,CACF;IAED,OAAO,MAAM;MACXtB,GAAG,CAACuB,KAAK,CAAC,kBAAkB,CAAC;MAC7BJ,OAAO,EAAE;IACX,CAAC;EACH,CAAC,EACD,CAAChB,KAAK,EAAEM,QAAQ,CAAC,CAClB;EAEDf,SAAS,CACP,SAAS8B,aAAa,GAAG;IACvBrB,KAAK,CAACsB,SAAS,CAAClB,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,EAAE,CAAC;EAC/B,CAAC,EACD,CAACJ,KAAK,EAAEI,MAAM,CAAC,CAChB;EACDb,SAAS,CACP,SAASgC,cAAc,GAAG;IACxBhB,uBAAuB,CAAC;MACtBL,GAAG;MACHC,MAAM;MACNF;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAACM,uBAAuB,EAAEL,GAAG,EAAEC,MAAM,EAAEF,OAAO,EAAEG,MAAM,EAAEC,UAAU,CAAC,CACpE;EACDd,SAAS,CACP,MAAM,MAAM;IACVM,GAAG,CAAC2B,MAAM,CAAC,gCAAgC,CAAC;IAC5CjB,uBAAuB,CAACkB,MAAM,EAAE;EAClC,CAAC,EACD,CAAClB,uBAAuB,CAAC,CAC1B;EAED,OAAO,IAAI;AACb;AAEA,eAAeR,6BAA6B"}
@@ -1 +1 @@
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
+ {"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,cAAc;AAAA;AAAA,SAEzBD,OAAO,IAAIE,qBAAqB;AAAA,SAChCF,OAAO,IAAIG,kBAAkB;AAAA,SAC7BH,OAAO,IAAII,yBAAyB;AAAA"}
@@ -1,33 +1,25 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  import React, { Component } from 'react';
4
3
  import * as monaco from 'monaco-editor';
5
-
6
4
  class Code extends Component {
7
5
  constructor(props) {
8
6
  super(props);
9
-
10
7
  _defineProperty(this, "container", void 0);
11
-
12
8
  this.container = null;
13
9
  }
14
-
15
10
  componentDidMount() {
16
11
  this.colorize();
17
12
  }
18
-
19
13
  colorize() {
20
14
  var {
21
15
  children
22
16
  } = this.props;
23
-
24
17
  if (this.container && children != null) {
25
18
  monaco.editor.colorizeElement(this.container, {
26
19
  theme: 'dh-dark'
27
20
  });
28
21
  }
29
22
  }
30
-
31
23
  render() {
32
24
  var {
33
25
  children,
@@ -37,7 +29,8 @@ class Code extends Component {
37
29
  "data-lang": language,
38
30
  ref: container => {
39
31
  this.container = container;
40
- } // Add pointerEvents: 'none' has huge benefits on performance with Hit Test testing on large colorized elements.
32
+ }
33
+ // Add pointerEvents: 'none' has huge benefits on performance with Hit Test testing on large colorized elements.
41
34
  // You can still select the text event with this set
42
35
  ,
43
36
  style: {
@@ -45,8 +38,6 @@ class Code extends Component {
45
38
  }
46
39
  }, children));
47
40
  }
48
-
49
41
  }
50
-
51
42
  export default Code;
52
43
  //# sourceMappingURL=Code.js.map
@@ -1 +1 @@
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';\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 != null) {\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,eAAxB;;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,QAAQ,IAAI,IAAlC,EAAwC;MACtCP,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
+ {"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';\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 != null) {\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,KAAK,IAAIC,SAAS,QAAiC,OAAO;AACjE,OAAO,KAAKC,MAAM,MAAM,eAAe;AAOvC,MAAMC,IAAI,SAASF,SAAS,CAAmC;EAC7DG,WAAW,CAACC,KAAgB,EAAE;IAC5B,KAAK,CAACA,KAAK,CAAC;IAAC;IAEb,IAAI,CAACC,SAAS,GAAG,IAAI;EACvB;EAEAC,iBAAiB,GAAS;IACxB,IAAI,CAACC,QAAQ,EAAE;EACjB;EAIAA,QAAQ,GAAS;IACf,IAAM;MAAEC;IAAS,CAAC,GAAG,IAAI,CAACJ,KAAK;IAC/B,IAAI,IAAI,CAACC,SAAS,IAAIG,QAAQ,IAAI,IAAI,EAAE;MACtCP,MAAM,CAACQ,MAAM,CAACC,eAAe,CAAC,IAAI,CAACL,SAAS,EAAE;QAC5CM,KAAK,EAAE;MACT,CAAC,CAAC;IACJ;EACF;EAEAC,MAAM,GAAiB;IACrB,IAAM;MAAEJ,QAAQ;MAAEK;IAAS,CAAC,GAAG,IAAI,CAACT,KAAK;IACzC,oBACE,8CACE;MACE,aAAWS,QAAS;MACpB,GAAG,EAAER,SAAS,IAAI;QAChB,IAAI,CAACA,SAAS,GAAGA,SAAS;MAC5B;MACA;MACA;MAAA;MACA,KAAK,EAAE;QAAES,aAAa,EAAE;MAAO;IAAE,GAEhCN,QAAQ,CACL,CACF;EAEV;AACF;AAEA,eAAeN,IAAI"}
@@ -5,8 +5,6 @@ class ConsoleConstants {
5
5
  static get LANGUAGE_MAP() {
6
6
  return new Map([['python', 'Python'], ['groovy', 'Groovy'], ['scala', 'Scala']]);
7
7
  }
8
-
9
8
  }
10
-
11
9
  export default ConsoleConstants;
12
10
  //# sourceMappingURL=ConsoleConstants.js.map
@@ -1 +1 @@
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"}
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,gBAAgB,CAAC;EACrB;AACF;AACA;EACE,WAAWC,YAAY,GAAwB;IAC7C,OAAO,IAAIC,GAAG,CAAC,CACb,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACpB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACpB,CAAC,OAAO,EAAE,OAAO,CAAC,CACnB,CAAC;EACJ;AACF;AAEA,eAAeF,gBAAgB"}
@@ -1,78 +1,63 @@
1
1
  import ShellQuote from 'shell-quote';
2
2
  import dh from '@deephaven/jsapi-shim';
3
-
4
3
  class ConsoleUtils {
5
4
  static hasComment(arg) {
6
5
  return arg.comment !== undefined;
7
6
  }
8
-
9
7
  static hasPattern(arg) {
10
8
  return arg.pattern !== undefined;
11
9
  }
12
-
13
10
  static hasOp(arg) {
14
11
  return arg.op !== undefined;
15
12
  }
13
+
16
14
  /**
17
15
  * Given the provided text, parse out arguments using shell quoting rules.
18
16
  * @param str The text to parse.
19
17
  * @returns string[] of the arguments. Empty if no arguments found.
20
18
  */
21
-
22
-
23
19
  static parseArguments(str) {
24
20
  if (str == null || !(typeof str === 'string' || str instanceof String)) {
25
21
  return [];
26
- } // Parse can return an object, not just a string. See the `ParseEntry` type def for all types
27
- // We must map them all to strings. Filter out comments that will not be needed as well.
28
-
22
+ }
29
23
 
24
+ // Parse can return an object, not just a string. See the `ParseEntry` type def for all types
25
+ // We must map them all to strings. Filter out comments that will not be needed as well.
30
26
  return ShellQuote.parse(str).filter(arg => !this.hasComment(arg)).map(arg => {
31
27
  if (this.hasPattern(arg)) {
32
28
  return arg.pattern;
33
29
  }
34
-
35
30
  if (this.hasOp(arg)) {
36
31
  return arg.op;
37
32
  }
38
-
39
33
  return "".concat(arg);
40
34
  });
41
35
  }
42
-
43
36
  static formatTimestamp(date) {
44
37
  if (date == null || !(date instanceof Date)) {
45
38
  return null;
46
39
  }
47
-
48
40
  var hours = "".concat(date.getHours()).padStart(2, '0');
49
41
  var minutes = "".concat(date.getMinutes()).padStart(2, '0');
50
42
  var seconds = "".concat(date.getSeconds()).padStart(2, '0');
51
43
  var milliseconds = "".concat(date.getMilliseconds()).padStart(3, '0');
52
44
  return "".concat(hours, ":").concat(minutes, ":").concat(seconds, ".").concat(milliseconds);
53
45
  }
54
-
55
46
  static isTableType(type) {
56
47
  return type === dh.VariableType.TABLE || type === dh.VariableType.TREETABLE;
57
48
  }
58
-
59
49
  static isWidgetType(type) {
60
50
  return type === dh.VariableType.FIGURE || type === dh.VariableType.OTHERWIDGET || type === dh.VariableType.PANDAS;
61
51
  }
62
-
63
52
  static isOpenableType(type) {
64
53
  return ConsoleUtils.isTableType(type) || ConsoleUtils.isWidgetType(type);
65
54
  }
66
-
67
55
  static isFigureType(type) {
68
56
  return type === dh.VariableType.FIGURE;
69
57
  }
70
-
71
58
  static isPandas(type) {
72
59
  return type === dh.VariableType.PANDAS;
73
60
  }
74
-
75
61
  }
76
-
77
62
  export default ConsoleUtils;
78
63
  //# sourceMappingURL=ConsoleUtils.js.map
@@ -1 +1 @@
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 == null || !(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 == null || !(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
+ {"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 == null || !(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 == null || !(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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"}
@@ -2,6 +2,6 @@
2
2
  export declare type ObjectIconProps = {
3
3
  type: string;
4
4
  };
5
- declare const ObjectIcon: ({ type }: ObjectIconProps) => JSX.Element;
5
+ declare function ObjectIcon({ type }: ObjectIconProps): JSX.Element;
6
6
  export default ObjectIcon;
7
7
  //# sourceMappingURL=ObjectIcon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectIcon.d.ts","sourceRoot":"","sources":["../../src/common/ObjectIcon.tsx"],"names":[],"mappings":";AAKA,oBAAY,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,QAAA,MAAM,UAAU,aAAc,eAAe,KAAG,WAa/C,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"ObjectIcon.d.ts","sourceRoot":"","sources":["../../src/common/ObjectIcon.tsx"],"names":[],"mappings":";AAKA,oBAAY,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,iBAAS,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,OAAO,CAa1D;AAED,eAAe,UAAU,CAAC"}
@@ -2,12 +2,10 @@ import React from 'react';
2
2
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
3
3
  import { dhPandas, dhTable, vsGraph, vsPreview } from '@deephaven/icons';
4
4
  import dh from '@deephaven/jsapi-shim';
5
-
6
- var ObjectIcon = _ref => {
5
+ function ObjectIcon(_ref) {
7
6
  var {
8
7
  type
9
8
  } = _ref;
10
-
11
9
  switch (type) {
12
10
  case dh.VariableType.TABLE:
13
11
  case dh.VariableType.TABLEMAP:
@@ -15,23 +13,19 @@ var ObjectIcon = _ref => {
15
13
  return /*#__PURE__*/React.createElement(FontAwesomeIcon, {
16
14
  icon: dhTable
17
15
  });
18
-
19
16
  case dh.VariableType.FIGURE:
20
17
  return /*#__PURE__*/React.createElement(FontAwesomeIcon, {
21
18
  icon: vsGraph
22
19
  });
23
-
24
20
  case dh.VariableType.PANDAS:
25
21
  return /*#__PURE__*/React.createElement(FontAwesomeIcon, {
26
22
  icon: dhPandas
27
23
  });
28
-
29
24
  default:
30
25
  return /*#__PURE__*/React.createElement(FontAwesomeIcon, {
31
26
  icon: vsPreview
32
27
  });
33
28
  }
34
- };
35
-
29
+ }
36
30
  export default ObjectIcon;
37
31
  //# sourceMappingURL=ObjectIcon.js.map
@@ -1 +1 @@
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
+ {"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\nfunction 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,KAAK,MAAM,OAAO;AACzB,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,EAAEC,SAAS,QAAQ,kBAAkB;AACxE,OAAOC,EAAE,MAAM,uBAAuB;AAMtC,SAASC,UAAU,OAAyC;EAAA,IAAxC;IAAEC;EAAsB,CAAC;EAC3C,QAAQA,IAAI;IACV,KAAKF,EAAE,CAACG,YAAY,CAACC,KAAK;IAC1B,KAAKJ,EAAE,CAACG,YAAY,CAACE,QAAQ;IAC7B,KAAKL,EAAE,CAACG,YAAY,CAACG,SAAS;MAC5B,oBAAO,oBAAC,eAAe;QAAC,IAAI,EAAET;MAAQ,EAAG;IAC3C,KAAKG,EAAE,CAACG,YAAY,CAACI,MAAM;MACzB,oBAAO,oBAAC,eAAe;QAAC,IAAI,EAAET;MAAQ,EAAG;IAC3C,KAAKE,EAAE,CAACG,YAAY,CAACK,MAAM;MACzB,oBAAO,oBAAC,eAAe;QAAC,IAAI,EAAEZ;MAAS,EAAG;IAC5C;MACE,oBAAO,oBAAC,eAAe;QAAC,IAAI,EAAEG;MAAU,EAAG;EAAC;AAElD;AAEA,eAAeE,UAAU"}
@@ -1 +1 @@
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
+ {"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,UAAU;AAAA,SACrBD,OAAO,IAAIE,IAAI;AAAA,SACfF,OAAO,IAAIG,gBAAgB;AAAA,SAC3BH,OAAO,IAAII,YAAY"}
@@ -1,17 +1,14 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  /**
4
3
  * Console display for use in the Iris environment.
5
4
  */
6
5
  import React, { Component } from 'react';
7
6
  import ConsoleHistoryItem from "./ConsoleHistoryItem.js";
8
7
  import "./ConsoleHistory.css";
9
-
10
8
  class ConsoleHistory extends Component {
11
9
  static itemKey(i, item) {
12
10
  return "".concat(i, ".").concat(item.command, ".").concat(item.result && item.result.message, ".").concat(item.result && item.result.error);
13
11
  }
14
-
15
12
  render() {
16
13
  var {
17
14
  disabled,
@@ -20,7 +17,6 @@ class ConsoleHistory extends Component {
20
17
  openObject
21
18
  } = this.props;
22
19
  var historyElements = [];
23
-
24
20
  for (var i = 0; i < items.length; i += 1) {
25
21
  var item = items[i];
26
22
  var historyElement = /*#__PURE__*/React.createElement(ConsoleHistoryItem, {
@@ -32,17 +28,13 @@ class ConsoleHistory extends Component {
32
28
  });
33
29
  historyElements.push(historyElement);
34
30
  }
35
-
36
31
  return /*#__PURE__*/React.createElement("div", {
37
32
  className: "container-fluid console-history"
38
33
  }, historyElements);
39
34
  }
40
-
41
35
  }
42
-
43
36
  _defineProperty(ConsoleHistory, "defaultProps", {
44
37
  disabled: false
45
38
  });
46
-
47
39
  export default ConsoleHistory;
48
40
  //# sourceMappingURL=ConsoleHistory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistory.js","names":["React","Component","ConsoleHistoryItem","ConsoleHistory","itemKey","i","item","command","result","message","error","render","disabled","items","language","openObject","props","historyElements","length","historyElement","push"],"sources":["../../src/console-history/ConsoleHistory.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { Component, ReactElement } from 'react';\nimport { 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
+ {"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,KAAK,IAAIC,SAAS,QAAsB,OAAO;AAAC,OAEhDC,kBAAkB;AAAA;AAYzB,MAAMC,cAAc,SAASF,SAAS,CAGpC;EAKA,OAAOG,OAAO,CAACC,CAAS,EAAEC,IAA8B,EAAU;IAChE,iBAAUD,CAAC,cAAIC,IAAI,CAACC,OAAO,cAAID,IAAI,CAACE,MAAM,IAAIF,IAAI,CAACE,MAAM,CAACC,OAAO,cAC/DH,IAAI,CAACE,MAAM,IAAIF,IAAI,CAACE,MAAM,CAACE,KAAK;EAEpC;EAEAC,MAAM,GAAiB;IACrB,IAAM;MAAEC,QAAQ;MAAEC,KAAK;MAAEC,QAAQ;MAAEC;IAAW,CAAC,GAAG,IAAI,CAACC,KAAK;IAC5D,IAAMC,eAAe,GAAG,EAAE;IAC1B,KAAK,IAAIZ,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGQ,KAAK,CAACK,MAAM,EAAEb,CAAC,IAAI,CAAC,EAAE;MACxC,IAAMC,IAAI,GAAGO,KAAK,CAACR,CAAC,CAAC;MACrB,IAAMc,cAAc,gBAClB,oBAAC,kBAAkB;QACjB,GAAG,EAAEhB,cAAc,CAACC,OAAO,CAACC,CAAC,EAAEC,IAAI,CAAE;QACrC,QAAQ,EAAEM,QAAS;QACnB,IAAI,EAAEN,IAAK;QACX,UAAU,EAAES,UAAW;QACvB,QAAQ,EAAED;MAAS,EAEtB;MACDG,eAAe,CAACG,IAAI,CAACD,cAAc,CAAC;IACtC;IAEA,oBACE;MAAK,SAAS,EAAC;IAAiC,GAAEF,eAAe,CAAO;EAE5E;AACF;AAAC,gBAnCKd,cAAc,kBAII;EACpBS,QAAQ,EAAE;AACZ,CAAC;AA+BH,eAAeT,cAAc"}
@@ -1,5 +1,4 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  /**
4
3
  * Console display for use in the Iris environment.
5
4
  */
@@ -13,14 +12,12 @@ import ConsoleHistoryResultInProgress from "./ConsoleHistoryResultInProgress.js"
13
12
  import ConsoleHistoryResultErrorMessage from "./ConsoleHistoryResultErrorMessage.js";
14
13
  import "./ConsoleHistoryItem.css";
15
14
  var log = Log.module('ConsoleHistoryItem');
16
-
17
15
  class ConsoleHistoryItem extends PureComponent {
18
16
  constructor(props) {
19
17
  super(props);
20
18
  this.handleCancelClick = this.handleCancelClick.bind(this);
21
19
  this.handleObjectClick = this.handleObjectClick.bind(this);
22
20
  }
23
-
24
21
  handleObjectClick(object) {
25
22
  log.debug('handleObjectClick', object);
26
23
  var {
@@ -28,18 +25,15 @@ class ConsoleHistoryItem extends PureComponent {
28
25
  } = this.props;
29
26
  openObject(object);
30
27
  }
31
-
32
28
  handleCancelClick() {
33
29
  var {
34
30
  item
35
31
  } = this.props;
36
-
37
32
  if (item != null && item.cancelResult) {
38
33
  log.debug("Cancelling command: ".concat(item.command));
39
34
  item.cancelResult();
40
35
  }
41
36
  }
42
-
43
37
  render() {
44
38
  var {
45
39
  disabled,
@@ -51,7 +45,6 @@ class ConsoleHistoryItem extends PureComponent {
51
45
  result
52
46
  } = item;
53
47
  var commandElement = null;
54
-
55
48
  if (item.command != null && item.command !== '') {
56
49
  commandElement = /*#__PURE__*/React.createElement("div", {
57
50
  className: "console-history-item-command"
@@ -63,17 +56,14 @@ class ConsoleHistoryItem extends PureComponent {
63
56
  language: language
64
57
  }, item.command)));
65
58
  }
66
-
67
59
  var resultElements = [];
68
60
  var hasButtons = false;
69
-
70
61
  if (result) {
71
62
  var {
72
63
  error,
73
64
  message,
74
65
  changes
75
66
  } = result;
76
-
77
67
  if (changes) {
78
68
  var {
79
69
  created,
@@ -98,63 +88,50 @@ class ConsoleHistoryItem extends PureComponent {
98
88
  }, title);
99
89
  resultElements.push(element);
100
90
  });
101
- } // 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
102
-
91
+ }
103
92
 
93
+ // 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
104
94
  if (error != null && item.command == null) {
105
95
  var _message;
106
-
107
96
  var errorMessage = "".concat((_message = error.message) !== null && _message !== void 0 ? _message : error);
108
-
109
97
  if (!errorMessage) {
110
98
  errorMessage = error;
111
99
  }
112
-
113
100
  var element = /*#__PURE__*/React.createElement(ConsoleHistoryResultErrorMessage, {
114
101
  key: "result-error",
115
102
  message: errorMessage
116
103
  });
117
104
  resultElements.push(element);
118
105
  }
119
-
120
106
  if (message !== undefined && message !== '') {
121
107
  var _element = /*#__PURE__*/React.createElement("div", {
122
108
  key: "log-message",
123
109
  className: "log-message"
124
110
  }, message);
125
-
126
111
  resultElements.push(_element);
127
112
  }
128
113
  } else {
129
114
  hasButtons = true;
130
-
131
115
  var _element2 = /*#__PURE__*/React.createElement(ConsoleHistoryResultInProgress, {
132
116
  key: "in_progress",
133
117
  onCancelClick: this.handleCancelClick,
134
118
  disabled: disabled
135
119
  });
136
-
137
120
  resultElements.push(_element2);
138
121
  }
139
-
140
122
  var resultElement = null;
141
-
142
123
  if (resultElements.length > 0) {
143
124
  resultElement = /*#__PURE__*/React.createElement(ConsoleHistoryItemResult, null, resultElements);
144
125
  }
145
-
146
126
  return /*#__PURE__*/React.createElement("div", {
147
127
  className: classNames('console-command-result', {
148
128
  'console-result-buttons': hasButtons
149
129
  })
150
130
  }, commandElement, resultElement);
151
131
  }
152
-
153
132
  }
154
-
155
133
  _defineProperty(ConsoleHistoryItem, "defaultProps", {
156
134
  disabled: false
157
135
  });
158
-
159
136
  export default ConsoleHistoryItem;
160
137
  //# sourceMappingURL=ConsoleHistoryItem.js.map