@deephaven/console 1.7.2-beta.1 → 1.7.2-react-18-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/Console.d.ts +1 -1
  2. package/dist/Console.d.ts.map +1 -1
  3. package/dist/Console.js +6 -8
  4. package/dist/Console.js.map +1 -1
  5. package/dist/ConsoleInput.js +30 -34
  6. package/dist/ConsoleInput.js.map +1 -1
  7. package/dist/ConsoleObjectsMenu.js +2 -3
  8. package/dist/ConsoleObjectsMenu.js.map +1 -1
  9. package/dist/ConsoleShortcuts.js +0 -1
  10. package/dist/ConsoleShortcuts.js.map +1 -1
  11. package/dist/ConsoleStatusBar.js +2 -3
  12. package/dist/ConsoleStatusBar.js.map +1 -1
  13. package/dist/HeapUsage.js +2 -3
  14. package/dist/HeapUsage.js.map +1 -1
  15. package/dist/command-history/CommandHistory.js +2 -3
  16. package/dist/command-history/CommandHistory.js.map +1 -1
  17. package/dist/command-history/CommandHistoryActions.js +1 -2
  18. package/dist/command-history/CommandHistoryActions.js.map +1 -1
  19. package/dist/command-history/CommandHistoryItem.d.ts +1 -6
  20. package/dist/command-history/CommandHistoryItem.d.ts.map +1 -1
  21. package/dist/command-history/CommandHistoryItem.js +5 -10
  22. package/dist/command-history/CommandHistoryItem.js.map +1 -1
  23. package/dist/command-history/CommandHistoryItemTooltip.js +2 -3
  24. package/dist/command-history/CommandHistoryItemTooltip.js.map +1 -1
  25. package/dist/command-history/CommandHistoryStorage.js.map +1 -1
  26. package/dist/command-history/CommandHistoryTypes.js.map +1 -1
  27. package/dist/command-history/CommandHistoryViewportUpdater.js.map +1 -1
  28. package/dist/command-history/index.js.map +1 -1
  29. package/dist/common/Code.js.map +1 -1
  30. package/dist/common/ConsoleConstants.js.map +1 -1
  31. package/dist/common/ConsoleUtils.js.map +1 -1
  32. package/dist/common/ObjectIcon.js.map +1 -1
  33. package/dist/common/index.js.map +1 -1
  34. package/dist/console-history/ConsoleHistory.js.map +1 -1
  35. package/dist/console-history/ConsoleHistoryItem.js +1 -2
  36. package/dist/console-history/ConsoleHistoryItem.js.map +1 -1
  37. package/dist/console-history/ConsoleHistoryItemResult.d.ts +2 -10
  38. package/dist/console-history/ConsoleHistoryItemResult.d.ts.map +1 -1
  39. package/dist/console-history/ConsoleHistoryItemResult.js +1 -6
  40. package/dist/console-history/ConsoleHistoryItemResult.js.map +1 -1
  41. package/dist/console-history/ConsoleHistoryResultErrorMessage.js +1 -3
  42. package/dist/console-history/ConsoleHistoryResultErrorMessage.js.map +1 -1
  43. package/dist/console-history/ConsoleHistoryResultInProgress.js +1 -2
  44. package/dist/console-history/ConsoleHistoryResultInProgress.js.map +1 -1
  45. package/dist/console-history/ConsoleHistoryTypes.js.map +1 -1
  46. package/dist/console-history/index.js.map +1 -1
  47. package/dist/csv/CsvFormats.js.map +1 -1
  48. package/dist/csv/CsvInputBar.js +2 -3
  49. package/dist/csv/CsvInputBar.js.map +1 -1
  50. package/dist/csv/CsvOverlay.js +5 -6
  51. package/dist/csv/CsvOverlay.js.map +1 -1
  52. package/dist/csv/CsvParser.js +4 -3
  53. package/dist/csv/CsvParser.js.map +1 -1
  54. package/dist/csv/CsvTypeParser.js.map +1 -1
  55. package/dist/csv/ZipStreamHelper.js.map +1 -1
  56. package/dist/declaration.d.js.map +1 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/log/LogLevel.js.map +1 -1
  59. package/dist/log/LogLevelMenuItem.js +1 -2
  60. package/dist/log/LogLevelMenuItem.js.map +1 -1
  61. package/dist/log/LogView.js +9 -12
  62. package/dist/log/LogView.js.map +1 -1
  63. package/dist/monaco/MonacoProviders.js +3 -4
  64. package/dist/monaco/MonacoProviders.js.map +1 -1
  65. package/dist/monaco/MonacoThemeProvider.js +1 -2
  66. package/dist/monaco/MonacoThemeProvider.js.map +1 -1
  67. package/dist/monaco/MonacoUtils.js +1 -1
  68. package/dist/monaco/MonacoUtils.js.map +1 -1
  69. package/dist/monaco/RuffDefaultSettings.js +0 -1
  70. package/dist/monaco/RuffDefaultSettings.js.map +1 -1
  71. package/dist/monaco/RuffSettingsModal.js +5 -7
  72. package/dist/monaco/RuffSettingsModal.js.map +1 -1
  73. package/dist/monaco/index.js.map +1 -1
  74. package/dist/monaco/lang/Language.js.map +1 -1
  75. package/dist/monaco/lang/db.js +0 -1
  76. package/dist/monaco/lang/db.js.map +1 -1
  77. package/dist/monaco/lang/groovy.js +0 -1
  78. package/dist/monaco/lang/groovy.js.map +1 -1
  79. package/dist/monaco/lang/log.js.map +1 -1
  80. package/dist/monaco/lang/python.js +0 -1
  81. package/dist/monaco/lang/python.js.map +1 -1
  82. package/dist/monaco/lang/scala.js.map +1 -1
  83. package/dist/monaco/ruffSchema.js.map +1 -1
  84. package/dist/notebook/Editor.js +1 -1
  85. package/dist/notebook/Editor.js.map +1 -1
  86. package/dist/notebook/ScriptEditor.js +1 -3
  87. package/dist/notebook/ScriptEditor.js.map +1 -1
  88. package/dist/notebook/ScriptEditorUtils.js.map +1 -1
  89. package/package.json +14 -15
  90. package/dist/ConsolePropTypes.d.ts +0 -9
  91. package/dist/ConsolePropTypes.d.ts.map +0 -1
  92. package/dist/ConsolePropTypes.js +0 -10
  93. package/dist/ConsolePropTypes.js.map +0 -1
  94. package/dist/StoragePropTypes.d.ts +0 -14
  95. package/dist/StoragePropTypes.d.ts.map +0 -1
  96. package/dist/StoragePropTypes.js +0 -16
  97. package/dist/StoragePropTypes.js.map +0 -1
@@ -8,11 +8,6 @@ interface CommandHistoryItemProps {
8
8
  isSelected?: boolean;
9
9
  commandHistoryStorage: CommandHistoryStorage;
10
10
  }
11
- declare function CommandHistoryItem(props: CommandHistoryItemProps): ReactElement;
12
- declare namespace CommandHistoryItem {
13
- var defaultProps: {
14
- isSelected: boolean;
15
- };
16
- }
11
+ declare function CommandHistoryItem({ item, language, isSelected, commandHistoryStorage, }: CommandHistoryItemProps): ReactElement;
17
12
  export default CommandHistoryItem;
18
13
  //# sourceMappingURL=CommandHistoryItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandHistoryItem.d.ts","sourceRoot":"","sources":["../../src/command-history/CommandHistoryItem.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAuB,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAItE,OAAO,2BAA2B,CAAC;AAEnC,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,qBAAqB,MAAM,yBAAyB,CAAC;AAEjE,UAAU,uBAAuB;IAC/B,IAAI,EAAE,yBAAyB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C;AAID,iBAAS,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,CAuCxE;kBAvCQ,kBAAkB;;;;;AA6C3B,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"CommandHistoryItem.d.ts","sourceRoot":"","sources":["../../src/command-history/CommandHistoryItem.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAuB,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAItE,OAAO,2BAA2B,CAAC;AAEnC,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,qBAAqB,MAAM,yBAAyB,CAAC;AAEjE,UAAU,uBAAuB;IAC/B,IAAI,EAAE,yBAAyB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C;AAID,iBAAS,kBAAkB,CAAC,EAC1B,IAAI,EACJ,QAAQ,EACR,UAAkB,EAClB,qBAAqB,GACtB,EAAE,uBAAuB,GAAG,YAAY,CAsCxC;AAED,eAAe,kBAAkB,CAAC"}
@@ -3,21 +3,20 @@ import classNames from 'classnames';
3
3
  import { Tooltip } from '@deephaven/components';
4
4
  import "./CommandHistoryItem.css";
5
5
  import CommandHistoryItemTooltip from "./CommandHistoryItemTooltip.js";
6
- import { jsx as _jsx } from "react/jsx-runtime";
7
- import { jsxs as _jsxs } from "react/jsx-runtime";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
7
  var MAX_TRUNCATE_LENGTH = 512;
9
- function CommandHistoryItem(props) {
8
+ function CommandHistoryItem(_ref) {
10
9
  var {
11
10
  item,
12
11
  language,
13
- isSelected,
12
+ isSelected = false,
14
13
  commandHistoryStorage
15
- } = props;
14
+ } = _ref;
16
15
  var previewText = item.name.substring(0, MAX_TRUNCATE_LENGTH);
17
16
  var tooltip = useRef(null);
18
17
  var handleUpdate = useCallback(() => {
19
18
  var _tooltip$current;
20
- (_tooltip$current = tooltip.current) === null || _tooltip$current === void 0 ? void 0 : _tooltip$current.update();
19
+ (_tooltip$current = tooltip.current) === null || _tooltip$current === void 0 || _tooltip$current.update();
21
20
  }, [tooltip]);
22
21
  return /*#__PURE__*/_jsxs("div", {
23
22
  className: classNames('command-history-item', {
@@ -36,7 +35,6 @@ function CommandHistoryItem(props) {
36
35
  }
37
36
  }
38
37
  },
39
-
40
38
  popperClassName: "command-history-item-popper",
41
39
  children: /*#__PURE__*/_jsx(CommandHistoryItemTooltip, {
42
40
  item: item,
@@ -47,8 +45,5 @@ function CommandHistoryItem(props) {
47
45
  })]
48
46
  });
49
47
  }
50
- CommandHistoryItem.defaultProps = {
51
- isSelected: false
52
- };
53
48
  export default CommandHistoryItem;
54
49
  //# sourceMappingURL=CommandHistoryItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandHistoryItem.js","names":["React","useRef","useCallback","classNames","Tooltip","CommandHistoryItemTooltip","jsx","_jsx","jsxs","_jsxs","MAX_TRUNCATE_LENGTH","CommandHistoryItem","props","item","language","isSelected","commandHistoryStorage","previewText","name","substring","tooltip","handleUpdate","_tooltip$current","current","update","className","selected","children","ref","interactive","options","placement","modifiers","preventOverflow","enabled","boundariesElement","order","popperClassName","onUpdate","defaultProps"],"sources":["../../src/command-history/CommandHistoryItem.tsx"],"sourcesContent":["import React, { useRef, useCallback, type ReactElement } from 'react';\nimport classNames from 'classnames';\nimport { Tooltip } from '@deephaven/components';\n\nimport './CommandHistoryItem.scss';\nimport CommandHistoryItemTooltip from './CommandHistoryItemTooltip';\nimport { type CommandHistoryStorageItem } from './CommandHistoryStorage';\nimport type CommandHistoryStorage 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\nfunction 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,KAAK,IAAIC,MAAM,EAAEC,WAAW,QAA2B,OAAO;AACrE,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,OAAO,QAAQ,uBAAuB;AAAC;AAAA,OAGzCC,yBAAyB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAWhC,IAAMC,mBAAmB,GAAG,GAAG;AAE/B,SAASC,kBAAkBA,CAACC,KAA8B,EAAgB;EACxE,IAAM;IAAEC,IAAI;IAAEC,QAAQ;IAAEC,UAAU;IAAEC;EAAsB,CAAC,GAAGJ,KAAK;EACnE,IAAMK,WAAW,GAAGJ,IAAI,CAACK,IAAI,CAACC,SAAS,CAAC,CAAC,EAAET,mBAAmB,CAAC;EAC/D,IAAMU,OAAO,GAAGnB,MAAM,CAAU,IAAI,CAAC;EACrC,IAAMoB,YAAY,GAAGnB,WAAW,CAAC,MAAM;IAAA,IAAAoB,gBAAA;IACrC,CAAAA,gBAAA,GAAAF,OAAO,CAACG,OAAO,cAAAD,gBAAA,uBAAfA,gBAAA,CAAiBE,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,CAACJ,OAAO,CAAC,CAAC;EAEb,oBACEX,KAAA;IACEgB,SAAS,EAAEtB,UAAU,CAAC,sBAAsB,EAAE;MAC5CuB,QAAQ,EAAEX;IACZ,CAAC,CAAE;IAAAY,QAAA,GAEFV,WAAW,eACZV,IAAA,CAACH,OAAO;MACNwB,GAAG,EAAER,OAAQ;MACbS,WAAW;MACXC,OAAO,EAAE;QACPC,SAAS,EAAE,MAAM;QACjBC,SAAS,EAAE;UACTC,eAAe,EAAE;YACfC,OAAO,EAAE,IAAI;YACbC,iBAAiB,EAAE,UAAU;YAC7BC,KAAK,EAAE,GAAG,CAAE;UACd;QACF;MACF,CAAE;;MACFC,eAAe,EAAC,6BAA6B;MAAAV,QAAA,eAE7CpB,IAAA,CAACF,yBAAyB;QACxBQ,IAAI,EAAEA,IAAK;QACXC,QAAQ,EAAEA,QAAS;QACnBwB,QAAQ,EAAEjB,YAAa;QACvBL,qBAAqB,EAAEA;MAAsB,CAC9C;IAAC,CACK,CAAC;EAAA,CACP,CAAC;AAEV;AAEAL,kBAAkB,CAAC4B,YAAY,GAAG;EAChCxB,UAAU,EAAE;AACd,CAAC;AAED,eAAeJ,kBAAkB"}
1
+ {"version":3,"file":"CommandHistoryItem.js","names":["React","useRef","useCallback","classNames","Tooltip","CommandHistoryItemTooltip","jsx","_jsx","jsxs","_jsxs","MAX_TRUNCATE_LENGTH","CommandHistoryItem","_ref","item","language","isSelected","commandHistoryStorage","previewText","name","substring","tooltip","handleUpdate","_tooltip$current","current","update","className","selected","children","ref","interactive","options","placement","modifiers","preventOverflow","enabled","boundariesElement","order","popperClassName","onUpdate"],"sources":["../../src/command-history/CommandHistoryItem.tsx"],"sourcesContent":["import React, { useRef, useCallback, type ReactElement } from 'react';\nimport classNames from 'classnames';\nimport { Tooltip } from '@deephaven/components';\n\nimport './CommandHistoryItem.scss';\nimport CommandHistoryItemTooltip from './CommandHistoryItemTooltip';\nimport { type CommandHistoryStorageItem } from './CommandHistoryStorage';\nimport type CommandHistoryStorage 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\nfunction CommandHistoryItem({\n item,\n language,\n isSelected = false,\n commandHistoryStorage,\n}: CommandHistoryItemProps): ReactElement {\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\nexport default CommandHistoryItem;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,MAAM,EAAEC,WAAW,QAA2B,OAAO;AACrE,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,OAAO,QAAQ,uBAAuB;AAAC;AAAA,OAGzCC,yBAAyB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAWhC,IAAMC,mBAAmB,GAAG,GAAG;AAE/B,SAASC,kBAAkBA,CAAAC,IAAA,EAKe;EAAA,IALd;IAC1BC,IAAI;IACJC,QAAQ;IACRC,UAAU,GAAG,KAAK;IAClBC;EACuB,CAAC,GAAAJ,IAAA;EACxB,IAAMK,WAAW,GAAGJ,IAAI,CAACK,IAAI,CAACC,SAAS,CAAC,CAAC,EAAET,mBAAmB,CAAC;EAC/D,IAAMU,OAAO,GAAGnB,MAAM,CAAU,IAAI,CAAC;EACrC,IAAMoB,YAAY,GAAGnB,WAAW,CAAC,MAAM;IAAA,IAAAoB,gBAAA;IACrC,CAAAA,gBAAA,GAAAF,OAAO,CAACG,OAAO,cAAAD,gBAAA,eAAfA,gBAAA,CAAiBE,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,CAACJ,OAAO,CAAC,CAAC;EAEb,oBACEX,KAAA;IACEgB,SAAS,EAAEtB,UAAU,CAAC,sBAAsB,EAAE;MAC5CuB,QAAQ,EAAEX;IACZ,CAAC,CAAE;IAAAY,QAAA,GAEFV,WAAW,eACZV,IAAA,CAACH,OAAO;MACNwB,GAAG,EAAER,OAAQ;MACbS,WAAW;MACXC,OAAO,EAAE;QACPC,SAAS,EAAE,MAAM;QACjBC,SAAS,EAAE;UACTC,eAAe,EAAE;YACfC,OAAO,EAAE,IAAI;YACbC,iBAAiB,EAAE,UAAU;YAC7BC,KAAK,EAAE,GAAG,CAAE;UACd;QACF;MACF,CAAE;MACFC,eAAe,EAAC,6BAA6B;MAAAV,QAAA,eAE7CpB,IAAA,CAACF,yBAAyB;QACxBQ,IAAI,EAAEA,IAAK;QACXC,QAAQ,EAAEA,QAAS;QACnBwB,QAAQ,EAAEjB,YAAa;QACvBL,qBAAqB,EAAEA;MAAsB,CAC9C;IAAC,CACK,CAAC;EAAA,CACP,CAAC;AAEV;AAEA,eAAeL,kBAAkB","ignoreList":[]}
@@ -10,8 +10,7 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
10
10
  import { vsWarning } from '@deephaven/icons';
11
11
  import Code from "../common/Code.js";
12
12
  import "./CommandHistoryItemTooltip.css";
13
- import { jsx as _jsx } from "react/jsx-runtime";
14
- import { jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
14
  var LOAD_DATA_DEBOUNCE = 250;
16
15
  var MAX_NUMBER_OF_LINES = 2500;
17
16
  export class CommandHistoryItemTooltip extends Component {
@@ -100,7 +99,7 @@ export class CommandHistoryItemTooltip extends Component {
100
99
  var {
101
100
  onUpdate
102
101
  } = this.props;
103
- onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(data);
102
+ onUpdate === null || onUpdate === void 0 || onUpdate(data);
104
103
  }
105
104
  handleTimeout() {
106
105
  this.updateTime();
@@ -1 +1 @@
1
- {"version":3,"file":"CommandHistoryItemTooltip.js","names":["React","Component","debounce","memoize","LoadingSpinner","TimeUtils","FontAwesomeIcon","vsWarning","Code","jsx","_jsx","jsxs","_jsxs","LOAD_DATA_DEBOUNCE","MAX_NUMBER_OF_LINES","CommandHistoryItemTooltip","getTimeString","startTime","endTime","deltaTime","Math","round","Date","valueOf","formatElapsedTime","constructor","props","_defineProperty","commandHistoryStorage","item","language","id","cleanup","listenItem","handleUpdate","handleError","name","split","join","max","bind","handleTimeout","state","currentTime","now","componentDidMount","loadData","componentDidUpdate","prevProps","prevState","_prevState$data","data","timer","result","Boolean","undefined","startTimer","stopTimer","componentWillUnmount","cancel","window","setInterval","clearInterval","updateTime","setState","error","concat","onUpdate","render","_result$error","errorMessage","timeString","previewText","getPreviewText","hasTimeString","className","children","length","icon"],"sources":["../../src/command-history/CommandHistoryItemTooltip.tsx"],"sourcesContent":["import React, { Component, type ReactElement } from 'react';\nimport debounce from 'lodash.debounce';\nimport memoize from 'memoizee';\nimport { LoadingSpinner } from '@deephaven/components';\nimport { TimeUtils } from '@deephaven/utils';\nimport { type StorageListenerRemover } from '@deephaven/storage';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsWarning } from '@deephaven/icons';\nimport Code from '../common/Code';\nimport './CommandHistoryItemTooltip.scss';\nimport {\n type CommandHistoryStorageData,\n type CommandHistoryStorageItem,\n} from './CommandHistoryStorage';\nimport type CommandHistoryStorage 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?: number;\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 = window.setInterval(this.handleTimeout, 1000);\n }\n\n stopTimer(): void {\n if (this.timer != null) {\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 className=\"loading-spinner-vertical-align\" />\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","jsx","_jsx","jsxs","_jsxs","LOAD_DATA_DEBOUNCE","MAX_NUMBER_OF_LINES","CommandHistoryItemTooltip","getTimeString","startTime","endTime","deltaTime","Math","round","Date","valueOf","formatElapsedTime","constructor","props","_defineProperty","commandHistoryStorage","item","language","id","cleanup","listenItem","handleUpdate","handleError","name","split","join","max","bind","handleTimeout","state","currentTime","now","componentDidMount","loadData","componentDidUpdate","prevProps","prevState","_prevState$data","data","timer","result","Boolean","undefined","startTimer","stopTimer","componentWillUnmount","cancel","window","setInterval","clearInterval","updateTime","setState","error","concat","onUpdate","render","_result$error","errorMessage","timeString","previewText","getPreviewText","hasTimeString","className","children","length","icon"],"sources":["../../src/command-history/CommandHistoryItemTooltip.tsx"],"sourcesContent":["import React, { Component, type ReactElement } from 'react';\nimport debounce from 'lodash.debounce';\nimport memoize from 'memoizee';\nimport { LoadingSpinner } from '@deephaven/components';\nimport { TimeUtils } from '@deephaven/utils';\nimport { type StorageListenerRemover } from '@deephaven/storage';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsWarning } from '@deephaven/icons';\nimport Code from '../common/Code';\nimport './CommandHistoryItemTooltip.scss';\nimport {\n type CommandHistoryStorageData,\n type CommandHistoryStorageItem,\n} from './CommandHistoryStorage';\nimport type CommandHistoryStorage 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?: number;\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 = window.setInterval(this.handleTimeout, 1000);\n }\n\n stopTimer(): void {\n if (this.timer != null) {\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 className=\"loading-spinner-vertical-align\" />\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":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAA2B,OAAO;AAC3D,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,OAAOC,OAAO,MAAM,UAAU;AAC9B,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,SAAS,QAAQ,kBAAkB;AAE5C,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,SAAS,QAAQ,kBAAkB;AAAC,OACtCC,IAAI;AAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAqBX,IAAMC,kBAAkB,GAAG,GAAG;AAC9B,IAAMC,mBAAmB,GAAG,IAAI;AAEhC,OAAO,MAAMC,yBAAyB,SAASd,SAAS,CAGtD;EAKA,OAAOe,aAAaA,CAClBC,SAA6B,EAC7BC,OAAwB,EACT;IACf,IAAID,SAAS,IAAI,IAAI,IAAIC,OAAO,KAAK,EAAE,IAAIA,OAAO,KAAK,CAAC,EAAE;MACxD,OAAO,IAAI;IACb;IAEA,IAAMC,SAAS,GAAGC,IAAI,CAACC,KAAK,CAC1B,CAAC,IAAIC,IAAI,CAACJ,OAAO,CAAC,CAACK,OAAO,CAAC,CAAC,GAAG,IAAID,IAAI,CAACL,SAAS,CAAC,CAACM,OAAO,CAAC,CAAC,IAAI,IAClE,CAAC;IAED,IAAIJ,SAAS,GAAG,CAAC,EAAE,OAAO,KAAK;IAE/B,OAAOd,SAAS,CAACmB,iBAAiB,CAACL,SAAS,CAAC;EAC/C;EAEAM,WAAWA,CAACC,KAAqC,EAAE;IACjD,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBAkDJzB,QAAQ,CAAC,MAAY;MAC9B,IAAM;QAAE0B,qBAAqB;QAAEC,IAAI;QAAEC;MAAS,CAAC,GAAG,IAAI,CAACJ,KAAK;MAC5D,IAAM;QAAEK;MAAG,CAAC,GAAGF,IAAI;MACnB,IAAI,CAACG,OAAO,GAAGJ,qBAAqB,CAACK,UAAU,CAC7CH,QAAQ,EACRC,EAAE,EACF,IAAI,CAACG,YAAY,EACjB,IAAI,CAACC,WACP,CAAC;IACH,CAAC,EAAEtB,kBAAkB,CAAC;IAAAc,eAAA,yBAqCLxB,OAAO,CACrBiC,IAAY,IAAKA,IAAI,CAACC,KAAK,CAAC,IAAI,EAAEvB,mBAAmB,CAAC,CAACwB,IAAI,CAAC,IAAI,CAAC,EAClE;MAAEC,GAAG,EAAE;IAAE,CACX,CAAC;IAjGC,IAAI,CAACL,YAAY,GAAG,IAAI,CAACA,YAAY,CAACM,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACL,WAAW,GAAG,IAAI,CAACA,WAAW,CAACK,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACD,IAAI,CAAC,IAAI,CAAC;IAElD,IAAI,CAACE,KAAK,GAAG;MACXC,WAAW,EAAErB,IAAI,CAACsB,GAAG,CAAC;IACxB,CAAC;EACH;EAEAC,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAACC,QAAQ,CAAC,CAAC;EACjB;EAEAC,kBAAkBA,CAChBC,SAAyC,EACzCC,SAAyC,EACnC;IAAA,IAAAC,eAAA;IACN,IAAM;MAAEC;IAAK,CAAC,GAAG,IAAI,CAACT,KAAK;IAE3B,IACE,IAAI,CAACU,KAAK,IAAI,IAAI,IAClB,EAACD,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEE,MAAM,KACbC,OAAO,CAACH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAElC,SAAS,CAAC,IACxB,EAAEkC,IAAI,IAAI,IAAI,IAAIA,IAAI,CAACjC,OAAO,KAAKqC,SAAS,CAAC,EAC7C;MACA,IAAI,CAACC,UAAU,CAAC,CAAC;IACnB,CAAC,MAAM,IACJL,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEE,MAAM,IAAI,GAAAH,eAAA,GAACD,SAAS,CAACE,IAAI,cAAAD,eAAA,eAAdA,eAAA,CAAgBG,MAAM,KACvCC,OAAO,CAACH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEjC,OAAO,CAAC,IACrB,EAAE+B,SAAS,CAACE,IAAI,IAAI,IAAI,IAAIF,SAAS,CAACE,IAAI,CAACjC,OAAO,KAAKqC,SAAS,CAAE,EACpE;MACA;MACA,IAAI,CAACE,SAAS,CAAC,CAAC;IAClB;EACF;EAEAC,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,CAACZ,QAAQ,CAACa,MAAM,CAAC,CAAC;IACtB,IAAI,IAAI,CAAC3B,OAAO,IAAI,IAAI,EAAE;MACxB,IAAI,CAACA,OAAO,CAAC,CAAC;IAChB;IACA,IAAI,CAACyB,SAAS,CAAC,CAAC;EAClB;EAiBAD,UAAUA,CAAA,EAAS;IACjB,IAAI,CAACC,SAAS,CAAC,CAAC;IAEhB,IAAI,CAACL,KAAK,GAAGQ,MAAM,CAACC,WAAW,CAAC,IAAI,CAACpB,aAAa,EAAE,IAAI,CAAC;EAC3D;EAEAgB,SAASA,CAAA,EAAS;IAChB,IAAI,IAAI,CAACL,KAAK,IAAI,IAAI,EAAE;MACtBU,aAAa,CAAC,IAAI,CAACV,KAAK,CAAC;MACzB,IAAI,CAACA,KAAK,GAAGG,SAAS;IACxB;EACF;EAEAQ,UAAUA,CAAA,EAAS;IACjB,IAAI,CAACC,QAAQ,CAAC;MACZrB,WAAW,EAAErB,IAAI,CAACsB,GAAG,CAAC;IACxB,CAAC,CAAC;EACJ;EAEAT,WAAWA,CAAC8B,KAAa,EAAQ;IAC/B,IAAI,CAACD,QAAQ,CAAC;MAAEC,KAAK,KAAAC,MAAA,CAAKD,KAAK;IAAG,CAAC,CAAC;EACtC;EAEA/B,YAAYA,CAACL,IAA+B,EAAQ;IAClD,IAAM;MAAEsB;IAAK,CAAC,GAAGtB,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,CAAC,CAAC;IAC3B,IAAI,CAACmC,QAAQ,CAAC;MAAEb;IAAK,CAAC,CAAC;IAEvB,IAAM;MAAEgB;IAAS,CAAC,GAAG,IAAI,CAACzC,KAAK;IAC/ByC,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAGhB,IAAI,CAAC;EAClB;EAEAV,aAAaA,CAAA,EAAS;IACpB,IAAI,CAACsB,UAAU,CAAC,CAAC;EACnB;EAOAK,MAAMA,CAAA,EAAiB;IAAA,IAAAC,aAAA;IACrB,IAAM;MACJxC,IAAI,EAAE;QAAEO;MAAK,CAAC;MACdN;IACF,CAAC,GAAG,IAAI,CAACJ,KAAK;IACd,IAAM;MAAEiB,WAAW;MAAEQ,IAAI;MAAEc;IAAM,CAAC,GAAG,IAAI,CAACvB,KAAK;IAC/C,IAAM;MAAEW,MAAM;MAAEpC,SAAS;MAAEC;IAAQ,CAAC,GAAGiC,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,CAAC,CAAC;IAEjD,IAAMmB,YAAY,IAAAD,aAAA,GAAGhB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEY,KAAK,cAAAI,aAAA,cAAAA,aAAA,GAAIJ,KAAK;IAE3C,IAAMM,UAAU,GAAGxD,yBAAyB,CAACC,aAAa,CACxDC,SAAS,EACTC,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAIyB,WACb,CAAC;;IAED;IACA;IACA;IACA,IAAM6B,WAAW,GAAG,IAAI,CAACC,cAAc,CAACrC,IAAI,CAAC;IAE7C,IAAMsC,aAAa,GAAGpB,OAAO,CAACiB,UAAU,CAAC;IACzC,oBACE3D,KAAA;MAAK+D,SAAS,EAAC,8BAA8B;MAAAC,QAAA,gBAC3ChE,KAAA;QAAK+D,SAAS,EAAC,kBAAkB;QAAAC,QAAA,gBAC/BlE,IAAA,CAACF,IAAI;UAACsB,QAAQ,EAAEA,QAAS;UAAA8C,QAAA,EAAEJ;QAAW,CAAO,CAAC,EAC7CA,WAAW,CAACK,MAAM,GAAGzC,IAAI,CAACyC,MAAM,iBAAInE,IAAA;UAAAkE,QAAA,EAAG;QAAoB,CAAG,CAAC;MAAA,CAC7D,CAAC,eACNhE,KAAA;QAAK+D,SAAS,EAAC,aAAa;QAAAC,QAAA,gBAC1BhE,KAAA;UAAK+D,SAAS,EAAC,gCAAgC;UAAAC,QAAA,GAC5CtB,OAAO,CAACgB,YAAY,CAAC,iBACpB1D,KAAA;YAAK+D,SAAS,EAAC,kBAAkB;YAAAC,QAAA,gBAC/BlE,IAAA,CAACJ,eAAe;cAACwE,IAAI,EAAEvE;YAAU,CAAE,CAAC,yBACtC;UAAA,CAAK,CACN,eACDK,KAAA;YAAK+D,SAAS,EAAC,cAAc;YAAAC,QAAA,GAAC,eACf,EAAC,GAAG,EAChBF,aAAa,gBACZhE,IAAA;cAAMiE,SAAS,EAAC,aAAa;cAAAC,QAAA,EAAEL;YAAU,CAAO,CAAC,gBAEjD7D,IAAA,CAACN,cAAc;cAACuE,SAAS,EAAC;YAAgC,CAAE,CAC7D;UAAA,CACE,CAAC;QAAA,CACH,CAAC,EACLrB,OAAO,CAACgB,YAAY,CAAC,iBACpB5D,IAAA;UAAKiE,SAAS,EAAC,eAAe;UAAAC,QAAA,EAAEN;QAAY,CAAM,CACnD;MAAA,CACE,CAAC;IAAA,CACH,CAAC;EAEV;AACF;AAAC3C,eAAA,CAjLYZ,yBAAyB,kBAId;EACpBoD,QAAQ,EAAEA,CAAA,KAAYZ;AACxB,CAAC;AA6KH,eAAexC,yBAAyB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandHistoryStorage.js","names":[],"sources":["../../src/command-history/CommandHistoryStorage.ts"],"sourcesContent":["import {\n type StorageTable,\n type StorageItem,\n type StorageItemListener,\n type StorageListenerRemover,\n type StorageErrorListener,\n} from '@deephaven/storage';\n\nexport interface CommandHistoryStorageData {\n command: string;\n startTime: string;\n endTime?: string;\n result?: { error?: string };\n}\n\nexport interface CommandHistoryStorageItem extends StorageItem {\n name: string;\n data: CommandHistoryStorageData;\n}\n\nexport interface CommandHistoryTable\n extends StorageTable<CommandHistoryStorageItem> {\n setSearch: (search: string) => void;\n}\n\nexport interface CommandHistoryStorage {\n /**\n * Retrieve a table filtered to the command history for the language and scope specified.\n * To achieve a separate history per scope (ie. dashboard), we add the scope as suffix to the data type.\n * When fetching the history, we then filter based on the timestamp\n * @param language The language to get the command history for\n * @param scope The scope of this command history, to keep different command histories separate\n * @param timestamp The time this command history scope was started\n */\n getTable: (\n language: string,\n scope: string,\n timestamp: number\n ) => Promise<CommandHistoryTable>;\n\n /**\n * Add a command to the command history\n * @param language The language to add the command history item for\n * @param scope The scope to add the command history for\n * @param command The command to add to the history\n * @param data The data to save with the command\n */\n addItem: (\n language: string,\n scope: string,\n command: string,\n data: CommandHistoryStorageData\n ) => Promise<CommandHistoryStorageItem>;\n\n /**\n * Save a modified CommandHistoryStorageItem\n * @param language The language of the item to save\n * @param item The modified item to save\n */\n updateItem: (\n language: string,\n item: CommandHistoryStorageItem\n ) => Promise<CommandHistoryStorageItem>;\n\n /**\n * Listen to an item with a specific id\n *\n * @param language The language of the item\n * @param id The id of the item to listen to\n * @param listener Called whenever there is an update on the item\n */\n listenItem: (\n language: string,\n id: string,\n listener: StorageItemListener<CommandHistoryStorageItem>,\n onError?: StorageErrorListener\n ) => StorageListenerRemover;\n}\n\nexport default CommandHistoryStorage;\n"],"mappings":""}
1
+ {"version":3,"file":"CommandHistoryStorage.js","names":[],"sources":["../../src/command-history/CommandHistoryStorage.ts"],"sourcesContent":["import {\n type StorageTable,\n type StorageItem,\n type StorageItemListener,\n type StorageListenerRemover,\n type 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":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandHistoryTypes.js","names":[],"sources":["../../src/command-history/CommandHistoryTypes.tsx"],"sourcesContent":["import { type ContextAction } from '@deephaven/components';\nimport { type 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
+ {"version":3,"file":"CommandHistoryTypes.js","names":[],"sources":["../../src/command-history/CommandHistoryTypes.tsx"],"sourcesContent":["import { type ContextAction } from '@deephaven/components';\nimport { type 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":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandHistoryViewportUpdater.js","names":["useEffect","useMemo","throttle","Log","UPDATE_DELAY","ROW_BUFFER_PAGES","log","module","CommandHistoryViewportUpdater","_ref","table","columns","top","bottom","search","isReversed","onUpdate","throttledUpdateViewport","viewport","viewHeight","bufferedTop","Math","max","bufferedBottom","setViewport","updateTableAndReturnCleanup","cleanup","viewportData","_viewportData$items","_viewportData$offset","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 type StorageTableViewport,\n type ViewportData,\n type ViewportUpdateCallback,\n} from '@deephaven/storage';\nimport Log from '@deephaven/log';\nimport {\n type CommandHistoryStorageItem,\n type 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,6BAA6BA,CAAAC,IAAA,EAQO;EAAA,IARN;IACrCC,KAAK;IACLC,OAAO;IACPC,GAAG,GAAG,CAAC;IACPC,MAAM,GAAG,CAAC;IACVC,MAAM;IACNC,UAAU,GAAG,KAAK;IAClBC;EACkC,CAAC,GAAAP,IAAA;EACnC,IAAMQ,uBAAuB,GAAGhB,OAAO,CACrC,MACEC,QAAQ,CAAEgB,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,GAAGd,gBAC9B,CAAC;IACD,IAAMkB,cAAc,GAAGL,QAAQ,CAACL,MAAM,GAAGM,UAAU,GAAGd,gBAAgB;IAEtEK,KAAK,CAACc,WAAW,CAAC;MAChBZ,GAAG,EAAEQ,WAAW;MAChBP,MAAM,EAAEU,cAAc;MACtBZ,OAAO,EAAEO,QAAQ,CAACP;IACpB,CAAC,CAAC;EACJ,CAAC,EAAEP,YAAY,CAAC,EAClB,CAACM,KAAK,CACR,CAAC;EAEDV,SAAS,CACP,SAASyB,2BAA2BA,CAAA,EAAG;IACrC,IAAMC,OAAO,GAAGhB,KAAK,CAACM,QAAQ,CAC3BW,YAAqD,IAAK;MAAA,IAAAC,mBAAA,EAAAC,oBAAA;MACzDb,QAAQ,CAAC;QACPc,KAAK,GAAAF,mBAAA,GAAED,YAAY,CAACG,KAAK,cAAAF,mBAAA,cAAAA,mBAAA,GAAI,EAAE;QAC/BG,MAAM,GAAAF,oBAAA,GAAEF,YAAY,CAACI,MAAM,cAAAF,oBAAA,cAAAA,oBAAA,GAAI;MACjC,CAAC,CAAC;IACJ,CACF,CAAC;IAED,OAAO,MAAM;MACXvB,GAAG,CAAC0B,KAAK,CAAC,kBAAkB,CAAC;MAC7BN,OAAO,CAAC,CAAC;IACX,CAAC;EACH,CAAC,EACD,CAAChB,KAAK,EAAEM,QAAQ,CAClB,CAAC;EAEDhB,SAAS,CACP,SAASiC,aAAaA,CAAA,EAAG;IACvBvB,KAAK,CAACwB,SAAS,CAACpB,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,EAAE,CAAC;EAC/B,CAAC,EACD,CAACJ,KAAK,EAAEI,MAAM,CAChB,CAAC;EACDd,SAAS,CACP,SAASmC,cAAcA,CAAA,EAAG;IACxBlB,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,CACpE,CAAC;EACDf,SAAS,CACP,MAAM,MAAM;IACVM,GAAG,CAAC8B,MAAM,CAAC,gCAAgC,CAAC;IAC5CnB,uBAAuB,CAACoB,MAAM,CAAC,CAAC;EAClC,CAAC,EACD,CAACpB,uBAAuB,CAC1B,CAAC;EAED,OAAO,IAAI;AACb;AAEA,eAAeT,6BAA6B"}
1
+ {"version":3,"file":"CommandHistoryViewportUpdater.js","names":["useEffect","useMemo","throttle","Log","UPDATE_DELAY","ROW_BUFFER_PAGES","log","module","CommandHistoryViewportUpdater","_ref","table","columns","top","bottom","search","isReversed","onUpdate","throttledUpdateViewport","viewport","viewHeight","bufferedTop","Math","max","bufferedBottom","setViewport","updateTableAndReturnCleanup","cleanup","viewportData","_viewportData$items","_viewportData$offset","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 type StorageTableViewport,\n type ViewportData,\n type ViewportUpdateCallback,\n} from '@deephaven/storage';\nimport Log from '@deephaven/log';\nimport {\n type CommandHistoryStorageItem,\n type 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,6BAA6BA,CAAAC,IAAA,EAQO;EAAA,IARN;IACrCC,KAAK;IACLC,OAAO;IACPC,GAAG,GAAG,CAAC;IACPC,MAAM,GAAG,CAAC;IACVC,MAAM;IACNC,UAAU,GAAG,KAAK;IAClBC;EACkC,CAAC,GAAAP,IAAA;EACnC,IAAMQ,uBAAuB,GAAGhB,OAAO,CACrC,MACEC,QAAQ,CAAEgB,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,GAAGd,gBAC9B,CAAC;IACD,IAAMkB,cAAc,GAAGL,QAAQ,CAACL,MAAM,GAAGM,UAAU,GAAGd,gBAAgB;IAEtEK,KAAK,CAACc,WAAW,CAAC;MAChBZ,GAAG,EAAEQ,WAAW;MAChBP,MAAM,EAAEU,cAAc;MACtBZ,OAAO,EAAEO,QAAQ,CAACP;IACpB,CAAC,CAAC;EACJ,CAAC,EAAEP,YAAY,CAAC,EAClB,CAACM,KAAK,CACR,CAAC;EAEDV,SAAS,CACP,SAASyB,2BAA2BA,CAAA,EAAG;IACrC,IAAMC,OAAO,GAAGhB,KAAK,CAACM,QAAQ,CAC3BW,YAAqD,IAAK;MAAA,IAAAC,mBAAA,EAAAC,oBAAA;MACzDb,QAAQ,CAAC;QACPc,KAAK,GAAAF,mBAAA,GAAED,YAAY,CAACG,KAAK,cAAAF,mBAAA,cAAAA,mBAAA,GAAI,EAAE;QAC/BG,MAAM,GAAAF,oBAAA,GAAEF,YAAY,CAACI,MAAM,cAAAF,oBAAA,cAAAA,oBAAA,GAAI;MACjC,CAAC,CAAC;IACJ,CACF,CAAC;IAED,OAAO,MAAM;MACXvB,GAAG,CAAC0B,KAAK,CAAC,kBAAkB,CAAC;MAC7BN,OAAO,CAAC,CAAC;IACX,CAAC;EACH,CAAC,EACD,CAAChB,KAAK,EAAEM,QAAQ,CAClB,CAAC;EAEDhB,SAAS,CACP,SAASiC,aAAaA,CAAA,EAAG;IACvBvB,KAAK,CAACwB,SAAS,CAACpB,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,EAAE,CAAC;EAC/B,CAAC,EACD,CAACJ,KAAK,EAAEI,MAAM,CAChB,CAAC;EACDd,SAAS,CACP,SAASmC,cAAcA,CAAA,EAAG;IACxBlB,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,CACpE,CAAC;EACDf,SAAS,CACP,MAAM,MAAM;IACVM,GAAG,CAAC8B,MAAM,CAAC,gCAAgC,CAAC;IAC5CnB,uBAAuB,CAACoB,MAAM,CAAC,CAAC;EAClC,CAAC,EACD,CAACpB,uBAAuB,CAC1B,CAAC;EAED,OAAO,IAAI;AACb;AAEA,eAAeT,6BAA6B","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","CommandHistory","CommandHistoryActions","CommandHistoryItem","CommandHistoryItemTooltip"],"sources":["../../src/command-history/index.ts"],"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
+ {"version":3,"file":"index.js","names":["default","CommandHistory","CommandHistoryActions","CommandHistoryItem","CommandHistoryItemTooltip"],"sources":["../../src/command-history/index.ts"],"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Code.js","names":["React","useEffect","useState","monaco","useTheme","jsx","_jsx","Code","_ref","children","language","colorizedHtml","setColorizedHtml","activeThemes","isCanceled","colorize","_colorize","apply","arguments","_asyncToGenerator","result","editor","toString","style","pointerEvents","dangerouslySetInnerHTML","__html","undefined"],"sources":["../../src/common/Code.tsx"],"sourcesContent":["import React, { useEffect, useState, type ReactNode } from 'react';\nimport * as monaco from 'monaco-editor';\nimport { useTheme } from '@deephaven/components';\n\ninterface CodeProps {\n children: ReactNode;\n language: string;\n}\n\nfunction Code({ children, language }: CodeProps): JSX.Element {\n const [colorizedHtml, setColorizedHtml] = useState<string | null>(null);\n const { activeThemes } = useTheme();\n\n useEffect(() => {\n let isCanceled = false;\n async function colorize() {\n if (children != null && activeThemes != null) {\n const result = await monaco.editor.colorize(\n children.toString(),\n language,\n {}\n );\n if (!isCanceled) {\n setColorizedHtml(result);\n }\n }\n }\n colorize();\n return () => {\n isCanceled = true;\n };\n }, [activeThemes, children, language]);\n\n return (\n <div\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 // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={\n colorizedHtml != null ? { __html: colorizedHtml } : undefined\n }\n />\n );\n}\n\nexport default Code;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAwB,OAAO;AAClE,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,QAAQ,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOjD,SAASC,IAAIA,CAAAC,IAAA,EAAiD;EAAA,IAAhD;IAAEC,QAAQ;IAAEC;EAAoB,CAAC,GAAAF,IAAA;EAC7C,IAAM,CAACG,aAAa,EAAEC,gBAAgB,CAAC,GAAGV,QAAQ,CAAgB,IAAI,CAAC;EACvE,IAAM;IAAEW;EAAa,CAAC,GAAGT,QAAQ,CAAC,CAAC;EAEnCH,SAAS,CAAC,MAAM;IACd,IAAIa,UAAU,GAAG,KAAK;IAAC,SACRC,QAAQA,CAAA;MAAA,OAAAC,SAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAAA,SAAAF,UAAA;MAAAA,SAAA,GAAAG,iBAAA,CAAvB,aAA0B;QACxB,IAAIV,QAAQ,IAAI,IAAI,IAAII,YAAY,IAAI,IAAI,EAAE;UAC5C,IAAMO,MAAM,SAASjB,MAAM,CAACkB,MAAM,CAACN,QAAQ,CACzCN,QAAQ,CAACa,QAAQ,CAAC,CAAC,EACnBZ,QAAQ,EACR,CAAC,CACH,CAAC;UACD,IAAI,CAACI,UAAU,EAAE;YACfF,gBAAgB,CAACQ,MAAM,CAAC;UAC1B;QACF;MACF,CAAC;MAAA,OAAAJ,SAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IACDH,QAAQ,CAAC,CAAC;IACV,OAAO,MAAM;MACXD,UAAU,GAAG,IAAI;IACnB,CAAC;EACH,CAAC,EAAE,CAACD,YAAY,EAAEJ,QAAQ,EAAEC,QAAQ,CAAC,CAAC;EAEtC,oBACEJ,IAAA;IACE;IACA;IACAiB,KAAK,EAAE;MAAEC,aAAa,EAAE;IAAO;IAC/B;IAAA;IACAC,uBAAuB,EACrBd,aAAa,IAAI,IAAI,GAAG;MAAEe,MAAM,EAAEf;IAAc,CAAC,GAAGgB;EACrD,CACF,CAAC;AAEN;AAEA,eAAepB,IAAI"}
1
+ {"version":3,"file":"Code.js","names":["React","useEffect","useState","monaco","useTheme","jsx","_jsx","Code","_ref","children","language","colorizedHtml","setColorizedHtml","activeThemes","isCanceled","colorize","_colorize","apply","arguments","_asyncToGenerator","result","editor","toString","style","pointerEvents","dangerouslySetInnerHTML","__html","undefined"],"sources":["../../src/common/Code.tsx"],"sourcesContent":["import React, { useEffect, useState, type ReactNode } from 'react';\nimport * as monaco from 'monaco-editor';\nimport { useTheme } from '@deephaven/components';\n\ninterface CodeProps {\n children: ReactNode;\n language: string;\n}\n\nfunction Code({ children, language }: CodeProps): JSX.Element {\n const [colorizedHtml, setColorizedHtml] = useState<string | null>(null);\n const { activeThemes } = useTheme();\n\n useEffect(() => {\n let isCanceled = false;\n async function colorize() {\n if (children != null && activeThemes != null) {\n const result = await monaco.editor.colorize(\n children.toString(),\n language,\n {}\n );\n if (!isCanceled) {\n setColorizedHtml(result);\n }\n }\n }\n colorize();\n return () => {\n isCanceled = true;\n };\n }, [activeThemes, children, language]);\n\n return (\n <div\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 // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={\n colorizedHtml != null ? { __html: colorizedHtml } : undefined\n }\n />\n );\n}\n\nexport default Code;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAwB,OAAO;AAClE,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,QAAQ,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOjD,SAASC,IAAIA,CAAAC,IAAA,EAAiD;EAAA,IAAhD;IAAEC,QAAQ;IAAEC;EAAoB,CAAC,GAAAF,IAAA;EAC7C,IAAM,CAACG,aAAa,EAAEC,gBAAgB,CAAC,GAAGV,QAAQ,CAAgB,IAAI,CAAC;EACvE,IAAM;IAAEW;EAAa,CAAC,GAAGT,QAAQ,CAAC,CAAC;EAEnCH,SAAS,CAAC,MAAM;IACd,IAAIa,UAAU,GAAG,KAAK;IAAC,SACRC,QAAQA,CAAA;MAAA,OAAAC,SAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAAA,SAAAF,UAAA;MAAAA,SAAA,GAAAG,iBAAA,CAAvB,aAA0B;QACxB,IAAIV,QAAQ,IAAI,IAAI,IAAII,YAAY,IAAI,IAAI,EAAE;UAC5C,IAAMO,MAAM,SAASjB,MAAM,CAACkB,MAAM,CAACN,QAAQ,CACzCN,QAAQ,CAACa,QAAQ,CAAC,CAAC,EACnBZ,QAAQ,EACR,CAAC,CACH,CAAC;UACD,IAAI,CAACI,UAAU,EAAE;YACfF,gBAAgB,CAACQ,MAAM,CAAC;UAC1B;QACF;MACF,CAAC;MAAA,OAAAJ,SAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IACDH,QAAQ,CAAC,CAAC;IACV,OAAO,MAAM;MACXD,UAAU,GAAG,IAAI;IACnB,CAAC;EACH,CAAC,EAAE,CAACD,YAAY,EAAEJ,QAAQ,EAAEC,QAAQ,CAAC,CAAC;EAEtC,oBACEJ,IAAA;IACE;IACA;IACAiB,KAAK,EAAE;MAAEC,aAAa,EAAE;IAAO;IAC/B;IAAA;IACAC,uBAAuB,EACrBd,aAAa,IAAI,IAAI,GAAG;MAAEe,MAAM,EAAEf;IAAc,CAAC,GAAGgB;EACrD,CACF,CAAC;AAEN;AAEA,eAAepB,IAAI","ignoreList":[]}
@@ -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,gBAAgB,CAAC;EACrB;AACF;AACA;EACE,WAAWC,YAAYA,CAAA,EAAwB;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
+ {"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,YAAYA,CAAA,EAAwB;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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleUtils.js","names":["ShellQuote","ConsoleUtils","hasComment","arg","comment","undefined","hasPattern","pattern","hasOp","op","parseArguments","str","String","parse","filter","map","concat","formatTimestamp","date","Date","hours","getHours","padStart","minutes","getMinutes","seconds","getSeconds","milliseconds","getMilliseconds","isTableType","dh","type","VariableType","TABLE","TREETABLE","HIERARCHICALTABLE","PARTITIONEDTABLE","isWidgetType","FIGURE","OTHERWIDGET","PANDAS","isOpenableType","isFigureType","isPandas"],"sources":["../../src/common/ConsoleUtils.ts"],"sourcesContent":["import ShellQuote, { type ParseEntry, type ControlOperator } from 'shell-quote';\nimport type { dh as DhType } from '@deephaven/jsapi-types';\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(dh: typeof DhType, type: string): boolean {\n return (\n type === dh.VariableType.TABLE ||\n type === dh.VariableType.TREETABLE ||\n type === dh.VariableType.HIERARCHICALTABLE ||\n type === dh.VariableType.PARTITIONEDTABLE\n );\n }\n\n static isWidgetType(dh: typeof DhType, type: string): boolean {\n return (\n type === dh.VariableType.FIGURE ||\n type === dh.VariableType.OTHERWIDGET ||\n type === dh.VariableType.PANDAS\n );\n }\n\n static isOpenableType(dh: typeof DhType, type: string): boolean {\n return (\n ConsoleUtils.isTableType(dh, type) || ConsoleUtils.isWidgetType(dh, type)\n );\n }\n\n static isFigureType(dh: typeof DhType, type: string): boolean {\n return type === dh.VariableType.FIGURE;\n }\n\n static isPandas(dh: typeof DhType, type: string): 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","ConsoleUtils","hasComment","arg","comment","undefined","hasPattern","pattern","hasOp","op","parseArguments","str","String","parse","filter","map","concat","formatTimestamp","date","Date","hours","getHours","padStart","minutes","getMinutes","seconds","getSeconds","milliseconds","getMilliseconds","isTableType","dh","type","VariableType","TABLE","TREETABLE","HIERARCHICALTABLE","PARTITIONEDTABLE","isWidgetType","FIGURE","OTHERWIDGET","PANDAS","isOpenableType","isFigureType","isPandas"],"sources":["../../src/common/ConsoleUtils.ts"],"sourcesContent":["import ShellQuote, { type ParseEntry, type ControlOperator } from 'shell-quote';\nimport type { dh as DhType } from '@deephaven/jsapi-types';\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(dh: typeof DhType, type: string): boolean {\n return (\n type === dh.VariableType.TABLE ||\n type === dh.VariableType.TREETABLE ||\n type === dh.VariableType.HIERARCHICALTABLE ||\n type === dh.VariableType.PARTITIONEDTABLE\n );\n }\n\n static isWidgetType(dh: typeof DhType, type: string): boolean {\n return (\n type === dh.VariableType.FIGURE ||\n type === dh.VariableType.OTHERWIDGET ||\n type === dh.VariableType.PANDAS\n );\n }\n\n static isOpenableType(dh: typeof DhType, type: string): boolean {\n return (\n ConsoleUtils.isTableType(dh, type) || ConsoleUtils.isWidgetType(dh, type)\n );\n }\n\n static isFigureType(dh: typeof DhType, type: string): boolean {\n return type === dh.VariableType.FIGURE;\n }\n\n static isPandas(dh: typeof DhType, type: string): boolean {\n return type === dh.VariableType.PANDAS;\n }\n}\n\nexport default ConsoleUtils;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectIcon.js","names":["React","FontAwesomeIcon","dhPandas","dhTable","vsGraph","vsPreview","useApi","jsx","_jsx","ObjectIcon","_ref","type","dh","VariableType","TABLE","TABLEMAP","TREETABLE","HIERARCHICALTABLE","PARTITIONEDTABLE","icon","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 { useApi } from '@deephaven/jsapi-bootstrap';\n\nexport type ObjectIconProps = {\n type: string;\n};\n\nfunction ObjectIcon({ type }: ObjectIconProps): JSX.Element {\n const dh = useApi();\n switch (type) {\n case dh.VariableType.TABLE:\n case dh.VariableType.TABLEMAP:\n case dh.VariableType.TREETABLE:\n case dh.VariableType.HIERARCHICALTABLE:\n case dh.VariableType.PARTITIONEDTABLE:\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,SAASC,MAAM,QAAQ,4BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMpD,SAASC,UAAUA,CAAAC,IAAA,EAAyC;EAAA,IAAxC;IAAEC;EAAsB,CAAC,GAAAD,IAAA;EAC3C,IAAME,EAAE,GAAGN,MAAM,CAAC,CAAC;EACnB,QAAQK,IAAI;IACV,KAAKC,EAAE,CAACC,YAAY,CAACC,KAAK;IAC1B,KAAKF,EAAE,CAACC,YAAY,CAACE,QAAQ;IAC7B,KAAKH,EAAE,CAACC,YAAY,CAACG,SAAS;IAC9B,KAAKJ,EAAE,CAACC,YAAY,CAACI,iBAAiB;IACtC,KAAKL,EAAE,CAACC,YAAY,CAACK,gBAAgB;MACnC,oBAAOV,IAAA,CAACP,eAAe;QAACkB,IAAI,EAAEhB;MAAQ,CAAE,CAAC;IAC3C,KAAKS,EAAE,CAACC,YAAY,CAACO,MAAM;MACzB,oBAAOZ,IAAA,CAACP,eAAe;QAACkB,IAAI,EAAEf;MAAQ,CAAE,CAAC;IAC3C,KAAKQ,EAAE,CAACC,YAAY,CAACQ,MAAM;MACzB,oBAAOb,IAAA,CAACP,eAAe;QAACkB,IAAI,EAAEjB;MAAS,CAAE,CAAC;IAC5C;MACE,oBAAOM,IAAA,CAACP,eAAe;QAACkB,IAAI,EAAEd;MAAU,CAAE,CAAC;EAC/C;AACF;AAEA,eAAeI,UAAU"}
1
+ {"version":3,"file":"ObjectIcon.js","names":["React","FontAwesomeIcon","dhPandas","dhTable","vsGraph","vsPreview","useApi","jsx","_jsx","ObjectIcon","_ref","type","dh","VariableType","TABLE","TABLEMAP","TREETABLE","HIERARCHICALTABLE","PARTITIONEDTABLE","icon","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 { useApi } from '@deephaven/jsapi-bootstrap';\n\nexport type ObjectIconProps = {\n type: string;\n};\n\nfunction ObjectIcon({ type }: ObjectIconProps): JSX.Element {\n const dh = useApi();\n switch (type) {\n case dh.VariableType.TABLE:\n case dh.VariableType.TABLEMAP:\n case dh.VariableType.TREETABLE:\n case dh.VariableType.HIERARCHICALTABLE:\n case dh.VariableType.PARTITIONEDTABLE:\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,SAASC,MAAM,QAAQ,4BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMpD,SAASC,UAAUA,CAAAC,IAAA,EAAyC;EAAA,IAAxC;IAAEC;EAAsB,CAAC,GAAAD,IAAA;EAC3C,IAAME,EAAE,GAAGN,MAAM,CAAC,CAAC;EACnB,QAAQK,IAAI;IACV,KAAKC,EAAE,CAACC,YAAY,CAACC,KAAK;IAC1B,KAAKF,EAAE,CAACC,YAAY,CAACE,QAAQ;IAC7B,KAAKH,EAAE,CAACC,YAAY,CAACG,SAAS;IAC9B,KAAKJ,EAAE,CAACC,YAAY,CAACI,iBAAiB;IACtC,KAAKL,EAAE,CAACC,YAAY,CAACK,gBAAgB;MACnC,oBAAOV,IAAA,CAACP,eAAe;QAACkB,IAAI,EAAEhB;MAAQ,CAAE,CAAC;IAC3C,KAAKS,EAAE,CAACC,YAAY,CAACO,MAAM;MACzB,oBAAOZ,IAAA,CAACP,eAAe;QAACkB,IAAI,EAAEf;MAAQ,CAAE,CAAC;IAC3C,KAAKQ,EAAE,CAACC,YAAY,CAACQ,MAAM;MACzB,oBAAOb,IAAA,CAACP,eAAe;QAACkB,IAAI,EAAEjB;MAAS,CAAE,CAAC;IAC5C;MACE,oBAAOM,IAAA,CAACP,eAAe;QAACkB,IAAI,EAAEd;MAAU,CAAE,CAAC;EAC/C;AACF;AAEA,eAAeI,UAAU","ignoreList":[]}
@@ -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,UAAU;AAAA,SACrBD,OAAO,IAAIE,IAAI;AAAA,SACfF,OAAO,IAAIG,gBAAgB;AAAA,SAC3BH,OAAO,IAAII,YAAY"}
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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistory.js","names":["React","ConsoleHistoryItem","jsx","_jsx","itemKey","i","item","concat","command","result","message","error","ConsoleHistory","forwardRef","props","ref","disabled","items","language","openObject","supportsType","iconForType","historyElements","length","historyElement","push","className","children"],"sources":["../../src/console-history/ConsoleHistory.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { type ReactElement } from 'react';\nimport type { dh } from '@deephaven/jsapi-types';\nimport ConsoleHistoryItem from './ConsoleHistoryItem';\n\nimport './ConsoleHistory.scss';\nimport { type ConsoleHistoryActionItem } from './ConsoleHistoryTypes';\n\ninterface ConsoleHistoryProps {\n items: ConsoleHistoryActionItem[];\n language: string;\n openObject: (object: dh.ide.VariableDefinition) => void;\n disabled?: boolean;\n supportsType: (type: string) => boolean;\n iconForType: (type: string) => ReactElement;\n}\n\nfunction itemKey(i: number, item: ConsoleHistoryActionItem): string {\n return `${i}.${item.command}.${item.result && item.result.message}.${\n item.result && item.result.error\n }`;\n}\n\n/**\n * Display the console history.\n */\nconst ConsoleHistory = React.forwardRef(function ConsoleHistory(\n props: ConsoleHistoryProps,\n ref: React.Ref<HTMLDivElement>\n): ReactElement {\n const {\n disabled = false,\n items,\n language,\n openObject,\n supportsType,\n iconForType,\n } = props;\n const historyElements = [];\n for (let i = 0; i < items.length; i += 1) {\n const item = items[i];\n const historyElement = (\n <ConsoleHistoryItem\n key={itemKey(i, item)}\n disabled={disabled}\n item={item}\n openObject={openObject}\n language={language}\n supportsType={supportsType}\n iconForType={iconForType}\n />\n );\n historyElements.push(historyElement);\n }\n\n return (\n <div ref={ref} className=\"container-fluid console-history\">\n {historyElements}\n </div>\n );\n});\n\nexport default ConsoleHistory;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,KAAK,MAA6B,OAAO;AAAC,OAE1CC,kBAAkB;AAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAczB,SAASC,OAAOA,CAACC,CAAS,EAAEC,IAA8B,EAAU;EAClE,UAAAC,MAAA,CAAUF,CAAC,OAAAE,MAAA,CAAID,IAAI,CAACE,OAAO,OAAAD,MAAA,CAAID,IAAI,CAACG,MAAM,IAAIH,IAAI,CAACG,MAAM,CAACC,OAAO,OAAAH,MAAA,CAC/DD,IAAI,CAACG,MAAM,IAAIH,IAAI,CAACG,MAAM,CAACE,KAAK;AAEpC;;AAEA;AACA;AACA;AACA,IAAMC,cAAc,gBAAGZ,KAAK,CAACa,UAAU,CAAC,SAASD,cAAcA,CAC7DE,KAA0B,EAC1BC,GAA8B,EAChB;EACd,IAAM;IACJC,QAAQ,GAAG,KAAK;IAChBC,KAAK;IACLC,QAAQ;IACRC,UAAU;IACVC,YAAY;IACZC;EACF,CAAC,GAAGP,KAAK;EACT,IAAMQ,eAAe,GAAG,EAAE;EAC1B,KAAK,IAAIjB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGY,KAAK,CAACM,MAAM,EAAElB,CAAC,IAAI,CAAC,EAAE;IACxC,IAAMC,IAAI,GAAGW,KAAK,CAACZ,CAAC,CAAC;IACrB,IAAMmB,cAAc,gBAClBrB,IAAA,CAACF,kBAAkB;MAEjBe,QAAQ,EAAEA,QAAS;MACnBV,IAAI,EAAEA,IAAK;MACXa,UAAU,EAAEA,UAAW;MACvBD,QAAQ,EAAEA,QAAS;MACnBE,YAAY,EAAEA,YAAa;MAC3BC,WAAW,EAAEA;IAAY,GANpBjB,OAAO,CAACC,CAAC,EAAEC,IAAI,CAOrB,CACF;IACDgB,eAAe,CAACG,IAAI,CAACD,cAAc,CAAC;EACtC;EAEA,oBACErB,IAAA;IAAKY,GAAG,EAAEA,GAAI;IAACW,SAAS,EAAC,iCAAiC;IAAAC,QAAA,EACvDL;EAAe,CACb,CAAC;AAEV,CAAC,CAAC;AAEF,eAAeV,cAAc"}
1
+ {"version":3,"file":"ConsoleHistory.js","names":["React","ConsoleHistoryItem","jsx","_jsx","itemKey","i","item","concat","command","result","message","error","ConsoleHistory","forwardRef","props","ref","disabled","items","language","openObject","supportsType","iconForType","historyElements","length","historyElement","push","className","children"],"sources":["../../src/console-history/ConsoleHistory.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { type ReactElement } from 'react';\nimport type { dh } from '@deephaven/jsapi-types';\nimport ConsoleHistoryItem from './ConsoleHistoryItem';\n\nimport './ConsoleHistory.scss';\nimport { type ConsoleHistoryActionItem } from './ConsoleHistoryTypes';\n\ninterface ConsoleHistoryProps {\n items: ConsoleHistoryActionItem[];\n language: string;\n openObject: (object: dh.ide.VariableDefinition) => void;\n disabled?: boolean;\n supportsType: (type: string) => boolean;\n iconForType: (type: string) => ReactElement;\n}\n\nfunction itemKey(i: number, item: ConsoleHistoryActionItem): string {\n return `${i}.${item.command}.${item.result && item.result.message}.${\n item.result && item.result.error\n }`;\n}\n\n/**\n * Display the console history.\n */\nconst ConsoleHistory = React.forwardRef(function ConsoleHistory(\n props: ConsoleHistoryProps,\n ref: React.Ref<HTMLDivElement>\n): ReactElement {\n const {\n disabled = false,\n items,\n language,\n openObject,\n supportsType,\n iconForType,\n } = props;\n const historyElements = [];\n for (let i = 0; i < items.length; i += 1) {\n const item = items[i];\n const historyElement = (\n <ConsoleHistoryItem\n key={itemKey(i, item)}\n disabled={disabled}\n item={item}\n openObject={openObject}\n language={language}\n supportsType={supportsType}\n iconForType={iconForType}\n />\n );\n historyElements.push(historyElement);\n }\n\n return (\n <div ref={ref} className=\"container-fluid console-history\">\n {historyElements}\n </div>\n );\n});\n\nexport default ConsoleHistory;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,KAAK,MAA6B,OAAO;AAAC,OAE1CC,kBAAkB;AAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAczB,SAASC,OAAOA,CAACC,CAAS,EAAEC,IAA8B,EAAU;EAClE,UAAAC,MAAA,CAAUF,CAAC,OAAAE,MAAA,CAAID,IAAI,CAACE,OAAO,OAAAD,MAAA,CAAID,IAAI,CAACG,MAAM,IAAIH,IAAI,CAACG,MAAM,CAACC,OAAO,OAAAH,MAAA,CAC/DD,IAAI,CAACG,MAAM,IAAIH,IAAI,CAACG,MAAM,CAACE,KAAK;AAEpC;;AAEA;AACA;AACA;AACA,IAAMC,cAAc,gBAAGZ,KAAK,CAACa,UAAU,CAAC,SAASD,cAAcA,CAC7DE,KAA0B,EAC1BC,GAA8B,EAChB;EACd,IAAM;IACJC,QAAQ,GAAG,KAAK;IAChBC,KAAK;IACLC,QAAQ;IACRC,UAAU;IACVC,YAAY;IACZC;EACF,CAAC,GAAGP,KAAK;EACT,IAAMQ,eAAe,GAAG,EAAE;EAC1B,KAAK,IAAIjB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGY,KAAK,CAACM,MAAM,EAAElB,CAAC,IAAI,CAAC,EAAE;IACxC,IAAMC,IAAI,GAAGW,KAAK,CAACZ,CAAC,CAAC;IACrB,IAAMmB,cAAc,gBAClBrB,IAAA,CAACF,kBAAkB;MAEjBe,QAAQ,EAAEA,QAAS;MACnBV,IAAI,EAAEA,IAAK;MACXa,UAAU,EAAEA,UAAW;MACvBD,QAAQ,EAAEA,QAAS;MACnBE,YAAY,EAAEA,YAAa;MAC3BC,WAAW,EAAEA;IAAY,GANpBjB,OAAO,CAACC,CAAC,EAAEC,IAAI,CAOrB,CACF;IACDgB,eAAe,CAACG,IAAI,CAACD,cAAc,CAAC;EACtC;EAEA,oBACErB,IAAA;IAAKY,GAAG,EAAEA,GAAI;IAACW,SAAS,EAAC,iCAAiC;IAAAC,QAAA,EACvDL;EAAe,CACb,CAAC;AAEV,CAAC,CAAC;AAEF,eAAeV,cAAc","ignoreList":[]}
@@ -13,8 +13,7 @@ import ConsoleHistoryItemResult from "./ConsoleHistoryItemResult.js";
13
13
  import ConsoleHistoryResultInProgress from "./ConsoleHistoryResultInProgress.js";
14
14
  import ConsoleHistoryResultErrorMessage from "./ConsoleHistoryResultErrorMessage.js";
15
15
  import "./ConsoleHistoryItem.css";
16
- import { jsx as _jsx } from "react/jsx-runtime";
17
- import { jsxs as _jsxs } from "react/jsx-runtime";
16
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
17
  var log = Log.module('ConsoleHistoryItem');
19
18
  class ConsoleHistoryItem extends PureComponent {
20
19
  constructor(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistoryItem.js","names":["React","PureComponent","Button","Log","classNames","Code","ConsoleHistoryItemResult","ConsoleHistoryResultInProgress","ConsoleHistoryResultErrorMessage","jsx","_jsx","jsxs","_jsxs","log","module","ConsoleHistoryItem","constructor","props","handleCancelClick","bind","handleObjectClick","object","debug","openObject","item","cancelResult","concat","command","render","disabled","language","iconForType","disabledObjects","result","hasCommand","commandElement","className","children","resultElements","hasButtons","error","message","changes","created","updated","forEach","title","key","btnDisabled","undefined","indexOf","element","kind","onClick","icon","type","push","_message","errorMessage","onCancelClick","resultElement","length","_defineProperty"],"sources":["../../src/console-history/ConsoleHistoryItem.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { PureComponent, type ReactElement } from 'react';\nimport { Button } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport type { dh } from '@deephaven/jsapi-types';\nimport classNames from 'classnames';\nimport { Code } from '../common';\nimport ConsoleHistoryItemResult from './ConsoleHistoryItemResult';\nimport ConsoleHistoryResultInProgress from './ConsoleHistoryResultInProgress';\nimport ConsoleHistoryResultErrorMessage from './ConsoleHistoryResultErrorMessage';\nimport './ConsoleHistoryItem.scss';\nimport { type ConsoleHistoryActionItem } from './ConsoleHistoryTypes';\n\nconst log = Log.module('ConsoleHistoryItem');\n\ninterface ConsoleHistoryItemProps {\n item: ConsoleHistoryActionItem;\n language: string;\n openObject: (object: dh.ide.VariableDefinition) => void;\n disabled?: boolean;\n // TODO: #1573 Remove this eslint disable\n // eslint-disable-next-line react/no-unused-prop-types\n supportsType: (type: string) => boolean;\n iconForType: (type: string) => ReactElement;\n}\n\nclass ConsoleHistoryItem extends PureComponent<\n ConsoleHistoryItemProps,\n Record<string, never>\n> {\n static defaultProps = {\n disabled: false,\n };\n\n constructor(props: ConsoleHistoryItemProps) {\n super(props);\n\n this.handleCancelClick = this.handleCancelClick.bind(this);\n this.handleObjectClick = this.handleObjectClick.bind(this);\n }\n\n handleObjectClick(object: dh.ide.VariableDefinition): void {\n log.debug('handleObjectClick', object);\n\n const { openObject } = this.props;\n openObject(object);\n }\n\n handleCancelClick(): void {\n const { item } = this.props;\n if (item != null && item.cancelResult) {\n log.debug(`Cancelling command: ${item.command}`);\n item.cancelResult();\n }\n }\n\n render(): ReactElement {\n const { disabled, item, language, iconForType } = this.props;\n const { disabledObjects, result } = item;\n const hasCommand = item.command != null && item.command !== '';\n\n let commandElement = null;\n if (hasCommand) {\n commandElement = (\n <div className=\"console-history-item-command\">\n <div className=\"console-history-gutter\">&gt;</div>\n <div className=\"console-history-content\">\n <Code language={language}>{item.command}</Code>\n </div>\n </div>\n );\n }\n\n const resultElements = [];\n let hasButtons = false;\n\n if (result) {\n const { error, message, changes } = result;\n\n if (changes) {\n const { created, updated } = changes;\n // TODO: #1573 filter for supported types or change button kind\n // based on if type is supported. Possibly a warn state for widgets\n // that the UI doesn't have anything registered to support.\n [...created, ...updated].forEach(object => {\n hasButtons = true;\n const { title } = object;\n const key = `${title}`;\n const btnDisabled =\n disabled === undefined ||\n disabled ||\n (disabledObjects ?? []).indexOf(key) >= 0;\n const element = (\n <Button\n key={key}\n kind=\"primary\"\n onClick={() => this.handleObjectClick(object)}\n className=\"btn-console-object\"\n disabled={btnDisabled}\n icon={iconForType(object.type)}\n >\n {title}\n </Button>\n );\n resultElements.push(element);\n });\n }\n\n // If the error has an associated command, we'll actually get a separate ERROR item printed out, so only print an error if there isn't an associated command\n if (error != null && !hasCommand) {\n let errorMessage = `${(error as { message: string }).message ?? error}`;\n if (!errorMessage) {\n errorMessage = error as string;\n }\n const element = (\n <ConsoleHistoryResultErrorMessage\n key=\"result-error\"\n message={errorMessage}\n />\n );\n resultElements.push(element);\n }\n\n if (message !== undefined && message !== '') {\n const element = (\n <div key=\"log-message\" className=\"log-message\">\n {message}\n </div>\n );\n resultElements.push(element);\n }\n } else {\n hasButtons = true;\n const element = (\n <ConsoleHistoryResultInProgress\n key=\"in_progress\"\n onCancelClick={this.handleCancelClick}\n disabled={disabled}\n />\n );\n resultElements.push(element);\n }\n\n let resultElement = null;\n if (resultElements.length > 0) {\n resultElement = (\n <ConsoleHistoryItemResult>{resultElements}</ConsoleHistoryItemResult>\n );\n }\n\n return (\n <div\n className={classNames('console-command-result', {\n 'console-result-buttons': hasButtons,\n })}\n >\n {commandElement}\n {resultElement}\n </div>\n );\n }\n}\n\nexport default ConsoleHistoryItem;\n"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,KAAK,IAAIC,aAAa,QAA2B,OAAO;AAC/D,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,OAAOC,GAAG,MAAM,gBAAgB;AAEhC,OAAOC,UAAU,MAAM,YAAY;AAAC,SAC3BC,IAAI;AAAA,OACNC,wBAAwB;AAAA,OACxBC,8BAA8B;AAAA,OAC9BC,gCAAgC;AAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAIvC,IAAMC,GAAG,GAAGV,GAAG,CAACW,MAAM,CAAC,oBAAoB,CAAC;AAa5C,MAAMC,kBAAkB,SAASd,aAAa,CAG5C;EAKAe,WAAWA,CAACC,KAA8B,EAAE;IAC1C,KAAK,CAACA,KAAK,CAAC;IAEZ,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACC,IAAI,CAAC,IAAI,CAAC;IAC1D,IAAI,CAACC,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACD,IAAI,CAAC,IAAI,CAAC;EAC5D;EAEAC,iBAAiBA,CAACC,MAAiC,EAAQ;IACzDR,GAAG,CAACS,KAAK,CAAC,mBAAmB,EAAED,MAAM,CAAC;IAEtC,IAAM;MAAEE;IAAW,CAAC,GAAG,IAAI,CAACN,KAAK;IACjCM,UAAU,CAACF,MAAM,CAAC;EACpB;EAEAH,iBAAiBA,CAAA,EAAS;IACxB,IAAM;MAAEM;IAAK,CAAC,GAAG,IAAI,CAACP,KAAK;IAC3B,IAAIO,IAAI,IAAI,IAAI,IAAIA,IAAI,CAACC,YAAY,EAAE;MACrCZ,GAAG,CAACS,KAAK,wBAAAI,MAAA,CAAwBF,IAAI,CAACG,OAAO,CAAE,CAAC;MAChDH,IAAI,CAACC,YAAY,CAAC,CAAC;IACrB;EACF;EAEAG,MAAMA,CAAA,EAAiB;IACrB,IAAM;MAAEC,QAAQ;MAAEL,IAAI;MAAEM,QAAQ;MAAEC;IAAY,CAAC,GAAG,IAAI,CAACd,KAAK;IAC5D,IAAM;MAAEe,eAAe;MAAEC;IAAO,CAAC,GAAGT,IAAI;IACxC,IAAMU,UAAU,GAAGV,IAAI,CAACG,OAAO,IAAI,IAAI,IAAIH,IAAI,CAACG,OAAO,KAAK,EAAE;IAE9D,IAAIQ,cAAc,GAAG,IAAI;IACzB,IAAID,UAAU,EAAE;MACdC,cAAc,gBACZvB,KAAA;QAAKwB,SAAS,EAAC,8BAA8B;QAAAC,QAAA,gBAC3C3B,IAAA;UAAK0B,SAAS,EAAC,wBAAwB;UAAAC,QAAA,EAAC;QAAI,CAAK,CAAC,eAClD3B,IAAA;UAAK0B,SAAS,EAAC,yBAAyB;UAAAC,QAAA,eACtC3B,IAAA,CAACL,IAAI;YAACyB,QAAQ,EAAEA,QAAS;YAAAO,QAAA,EAAEb,IAAI,CAACG;UAAO,CAAO;QAAC,CAC5C,CAAC;MAAA,CACH,CACN;IACH;IAEA,IAAMW,cAAc,GAAG,EAAE;IACzB,IAAIC,UAAU,GAAG,KAAK;IAEtB,IAAIN,MAAM,EAAE;MACV,IAAM;QAAEO,KAAK;QAAEC,OAAO;QAAEC;MAAQ,CAAC,GAAGT,MAAM;MAE1C,IAAIS,OAAO,EAAE;QACX,IAAM;UAAEC,OAAO;UAAEC;QAAQ,CAAC,GAAGF,OAAO;QACpC;QACA;QACA;QACA,CAAC,GAAGC,OAAO,EAAE,GAAGC,OAAO,CAAC,CAACC,OAAO,CAACxB,MAAM,IAAI;UACzCkB,UAAU,GAAG,IAAI;UACjB,IAAM;YAAEO;UAAM,CAAC,GAAGzB,MAAM;UACxB,IAAM0B,GAAG,MAAArB,MAAA,CAAMoB,KAAK,CAAE;UACtB,IAAME,WAAW,GACfnB,QAAQ,KAAKoB,SAAS,IACtBpB,QAAQ,IACR,CAACG,eAAe,aAAfA,eAAe,cAAfA,eAAe,GAAI,EAAE,EAAEkB,OAAO,CAACH,GAAG,CAAC,IAAI,CAAC;UAC3C,IAAMI,OAAO,gBACXzC,IAAA,CAACR,MAAM;YAELkD,IAAI,EAAC,SAAS;YACdC,OAAO,EAAEA,CAAA,KAAM,IAAI,CAACjC,iBAAiB,CAACC,MAAM,CAAE;YAC9Ce,SAAS,EAAC,oBAAoB;YAC9BP,QAAQ,EAAEmB,WAAY;YACtBM,IAAI,EAAEvB,WAAW,CAACV,MAAM,CAACkC,IAAI,CAAE;YAAAlB,QAAA,EAE9BS;UAAK,GAPDC,GAQC,CACT;UACDT,cAAc,CAACkB,IAAI,CAACL,OAAO,CAAC;QAC9B,CAAC,CAAC;MACJ;;MAEA;MACA,IAAIX,KAAK,IAAI,IAAI,IAAI,CAACN,UAAU,EAAE;QAAA,IAAAuB,QAAA;QAChC,IAAIC,YAAY,MAAAhC,MAAA,EAAA+B,QAAA,GAAOjB,KAAK,CAAyBC,OAAO,cAAAgB,QAAA,cAAAA,QAAA,GAAIjB,KAAK,CAAE;QACvE,IAAI,CAACkB,YAAY,EAAE;UACjBA,YAAY,GAAGlB,KAAe;QAChC;QACA,IAAMW,OAAO,gBACXzC,IAAA,CAACF,gCAAgC;UAE/BiC,OAAO,EAAEiB;QAAa,GADlB,cAEL,CACF;QACDpB,cAAc,CAACkB,IAAI,CAACL,OAAO,CAAC;MAC9B;MAEA,IAAIV,OAAO,KAAKQ,SAAS,IAAIR,OAAO,KAAK,EAAE,EAAE;QAC3C,IAAMU,QAAO,gBACXzC,IAAA;UAAuB0B,SAAS,EAAC,aAAa;UAAAC,QAAA,EAC3CI;QAAO,GADD,aAEJ,CACN;QACDH,cAAc,CAACkB,IAAI,CAACL,QAAO,CAAC;MAC9B;IACF,CAAC,MAAM;MACLZ,UAAU,GAAG,IAAI;MACjB,IAAMY,SAAO,gBACXzC,IAAA,CAACH,8BAA8B;QAE7BoD,aAAa,EAAE,IAAI,CAACzC,iBAAkB;QACtCW,QAAQ,EAAEA;MAAS,GAFf,aAGL,CACF;MACDS,cAAc,CAACkB,IAAI,CAACL,SAAO,CAAC;IAC9B;IAEA,IAAIS,aAAa,GAAG,IAAI;IACxB,IAAItB,cAAc,CAACuB,MAAM,GAAG,CAAC,EAAE;MAC7BD,aAAa,gBACXlD,IAAA,CAACJ,wBAAwB;QAAA+B,QAAA,EAAEC;MAAc,CAA2B,CACrE;IACH;IAEA,oBACE1B,KAAA;MACEwB,SAAS,EAAEhC,UAAU,CAAC,wBAAwB,EAAE;QAC9C,wBAAwB,EAAEmC;MAC5B,CAAC,CAAE;MAAAF,QAAA,GAEFF,cAAc,EACdyB,aAAa;IAAA,CACX,CAAC;EAEV;AACF;AAACE,eAAA,CAvIK/C,kBAAkB,kBAIA;EACpBc,QAAQ,EAAE;AACZ,CAAC;AAmIH,eAAed,kBAAkB"}
1
+ {"version":3,"file":"ConsoleHistoryItem.js","names":["React","PureComponent","Button","Log","classNames","Code","ConsoleHistoryItemResult","ConsoleHistoryResultInProgress","ConsoleHistoryResultErrorMessage","jsx","_jsx","jsxs","_jsxs","log","module","ConsoleHistoryItem","constructor","props","handleCancelClick","bind","handleObjectClick","object","debug","openObject","item","cancelResult","concat","command","render","disabled","language","iconForType","disabledObjects","result","hasCommand","commandElement","className","children","resultElements","hasButtons","error","message","changes","created","updated","forEach","title","key","btnDisabled","undefined","indexOf","element","kind","onClick","icon","type","push","_message","errorMessage","onCancelClick","resultElement","length","_defineProperty"],"sources":["../../src/console-history/ConsoleHistoryItem.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { PureComponent, type ReactElement } from 'react';\nimport { Button } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport type { dh } from '@deephaven/jsapi-types';\nimport classNames from 'classnames';\nimport { Code } from '../common';\nimport ConsoleHistoryItemResult from './ConsoleHistoryItemResult';\nimport ConsoleHistoryResultInProgress from './ConsoleHistoryResultInProgress';\nimport ConsoleHistoryResultErrorMessage from './ConsoleHistoryResultErrorMessage';\nimport './ConsoleHistoryItem.scss';\nimport { type ConsoleHistoryActionItem } from './ConsoleHistoryTypes';\n\nconst log = Log.module('ConsoleHistoryItem');\n\ninterface ConsoleHistoryItemProps {\n item: ConsoleHistoryActionItem;\n language: string;\n openObject: (object: dh.ide.VariableDefinition) => void;\n disabled?: boolean;\n // TODO: #1573 Remove this eslint disable\n // eslint-disable-next-line react/no-unused-prop-types\n supportsType: (type: string) => boolean;\n iconForType: (type: string) => ReactElement;\n}\n\nclass ConsoleHistoryItem extends PureComponent<\n ConsoleHistoryItemProps,\n Record<string, never>\n> {\n static defaultProps = {\n disabled: false,\n };\n\n constructor(props: ConsoleHistoryItemProps) {\n super(props);\n\n this.handleCancelClick = this.handleCancelClick.bind(this);\n this.handleObjectClick = this.handleObjectClick.bind(this);\n }\n\n handleObjectClick(object: dh.ide.VariableDefinition): void {\n log.debug('handleObjectClick', object);\n\n const { openObject } = this.props;\n openObject(object);\n }\n\n handleCancelClick(): void {\n const { item } = this.props;\n if (item != null && item.cancelResult) {\n log.debug(`Cancelling command: ${item.command}`);\n item.cancelResult();\n }\n }\n\n render(): ReactElement {\n const { disabled, item, language, iconForType } = this.props;\n const { disabledObjects, result } = item;\n const hasCommand = item.command != null && item.command !== '';\n\n let commandElement = null;\n if (hasCommand) {\n commandElement = (\n <div className=\"console-history-item-command\">\n <div className=\"console-history-gutter\">&gt;</div>\n <div className=\"console-history-content\">\n <Code language={language}>{item.command}</Code>\n </div>\n </div>\n );\n }\n\n const resultElements = [];\n let hasButtons = false;\n\n if (result) {\n const { error, message, changes } = result;\n\n if (changes) {\n const { created, updated } = changes;\n // TODO: #1573 filter for supported types or change button kind\n // based on if type is supported. Possibly a warn state for widgets\n // that the UI doesn't have anything registered to support.\n [...created, ...updated].forEach(object => {\n hasButtons = true;\n const { title } = object;\n const key = `${title}`;\n const btnDisabled =\n disabled === undefined ||\n disabled ||\n (disabledObjects ?? []).indexOf(key) >= 0;\n const element = (\n <Button\n key={key}\n kind=\"primary\"\n onClick={() => this.handleObjectClick(object)}\n className=\"btn-console-object\"\n disabled={btnDisabled}\n icon={iconForType(object.type)}\n >\n {title}\n </Button>\n );\n resultElements.push(element);\n });\n }\n\n // If the error has an associated command, we'll actually get a separate ERROR item printed out, so only print an error if there isn't an associated command\n if (error != null && !hasCommand) {\n let errorMessage = `${(error as { message: string }).message ?? error}`;\n if (!errorMessage) {\n errorMessage = error as string;\n }\n const element = (\n <ConsoleHistoryResultErrorMessage\n key=\"result-error\"\n message={errorMessage}\n />\n );\n resultElements.push(element);\n }\n\n if (message !== undefined && message !== '') {\n const element = (\n <div key=\"log-message\" className=\"log-message\">\n {message}\n </div>\n );\n resultElements.push(element);\n }\n } else {\n hasButtons = true;\n const element = (\n <ConsoleHistoryResultInProgress\n key=\"in_progress\"\n onCancelClick={this.handleCancelClick}\n disabled={disabled}\n />\n );\n resultElements.push(element);\n }\n\n let resultElement = null;\n if (resultElements.length > 0) {\n resultElement = (\n <ConsoleHistoryItemResult>{resultElements}</ConsoleHistoryItemResult>\n );\n }\n\n return (\n <div\n className={classNames('console-command-result', {\n 'console-result-buttons': hasButtons,\n })}\n >\n {commandElement}\n {resultElement}\n </div>\n );\n }\n}\n\nexport default ConsoleHistoryItem;\n"],"mappings":"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","ignoreList":[]}
@@ -1,15 +1,7 @@
1
1
  /**
2
2
  * Console display for use in the Iris environment.
3
3
  */
4
- import { type ReactElement, type ReactNode } from 'react';
5
- import PropTypes from 'prop-types';
6
- declare function ConsoleHistoryItemResult({ children, }: {
7
- children: ReactNode;
8
- }): ReactElement;
9
- declare namespace ConsoleHistoryItemResult {
10
- var propTypes: {
11
- children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
12
- };
13
- }
4
+ import React, { type ReactElement } from 'react';
5
+ declare function ConsoleHistoryItemResult({ children, }: React.PropsWithChildren): ReactElement;
14
6
  export default ConsoleHistoryItemResult;
15
7
  //# sourceMappingURL=ConsoleHistoryItemResult.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistoryItemResult.d.ts","sourceRoot":"","sources":["../../src/console-history/ConsoleHistoryItemResult.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAc,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,iBAAS,wBAAwB,CAAC,EAChC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,YAAY,CAOf;kBAXQ,wBAAwB;;;;;AAiBjC,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"ConsoleHistoryItemResult.d.ts","sourceRoot":"","sources":["../../src/console-history/ConsoleHistoryItemResult.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAEjD,iBAAS,wBAAwB,CAAC,EAChC,QAAQ,GACT,EAAE,KAAK,CAAC,iBAAiB,GAAG,YAAY,CAOxC;AAED,eAAe,wBAAwB,CAAC"}
@@ -2,9 +2,7 @@
2
2
  * Console display for use in the Iris environment.
3
3
  */
4
4
  import React from 'react';
5
- import PropTypes from 'prop-types';
6
- import { jsx as _jsx } from "react/jsx-runtime";
7
- import { jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
6
  function ConsoleHistoryItemResult(_ref) {
9
7
  var {
10
8
  children
@@ -20,8 +18,5 @@ function ConsoleHistoryItemResult(_ref) {
20
18
  })]
21
19
  });
22
20
  }
23
- ConsoleHistoryItemResult.propTypes = {
24
- children: PropTypes.node.isRequired
25
- };
26
21
  export default ConsoleHistoryItemResult;
27
22
  //# sourceMappingURL=ConsoleHistoryItemResult.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistoryItemResult.js","names":["React","PropTypes","jsx","_jsx","jsxs","_jsxs","ConsoleHistoryItemResult","_ref","children","className","propTypes","node","isRequired"],"sources":["../../src/console-history/ConsoleHistoryItemResult.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { type ReactElement, type ReactNode } from 'react';\nimport PropTypes from 'prop-types';\n\nfunction ConsoleHistoryItemResult({\n children,\n}: {\n children: ReactNode;\n}): ReactElement {\n return (\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}\n\nConsoleHistoryItemResult.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default ConsoleHistoryItemResult;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,KAAK,MAA6C,OAAO;AAChE,OAAOC,SAAS,MAAM,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEnC,SAASC,wBAAwBA,CAAAC,IAAA,EAIhB;EAAA,IAJiB;IAChCC;EAGF,CAAC,GAAAD,IAAA;EACC,oBACEF,KAAA;IAAKI,SAAS,EAAC,6BAA6B;IAAAD,QAAA,gBAC1CL,IAAA;MAAKM,SAAS,EAAC,wBAAwB;MAAAD,QAAA,EAAC;IAAC,CAAK,CAAC,eAC/CL,IAAA;MAAKM,SAAS,EAAC,yBAAyB;MAAAD,QAAA,EAAEA;IAAQ,CAAM,CAAC;EAAA,CACtD,CAAC;AAEV;AAEAF,wBAAwB,CAACI,SAAS,GAAG;EACnCF,QAAQ,EAAEP,SAAS,CAACU,IAAI,CAACC;AAC3B,CAAC;AAED,eAAeN,wBAAwB"}
1
+ {"version":3,"file":"ConsoleHistoryItemResult.js","names":["React","jsx","_jsx","jsxs","_jsxs","ConsoleHistoryItemResult","_ref","children","className"],"sources":["../../src/console-history/ConsoleHistoryItemResult.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { type ReactElement } from 'react';\n\nfunction ConsoleHistoryItemResult({\n children,\n}: React.PropsWithChildren): ReactElement {\n return (\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}\n\nexport default ConsoleHistoryItemResult;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,KAAK,MAA6B,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEjD,SAASC,wBAAwBA,CAAAC,IAAA,EAES;EAAA,IAFR;IAChCC;EACuB,CAAC,GAAAD,IAAA;EACxB,oBACEF,KAAA;IAAKI,SAAS,EAAC,6BAA6B;IAAAD,QAAA,gBAC1CL,IAAA;MAAKM,SAAS,EAAC,wBAAwB;MAAAD,QAAA,EAAC;IAAC,CAAK,CAAC,eAC/CL,IAAA;MAAKM,SAAS,EAAC,yBAAyB;MAAAD,QAAA,EAAEA;IAAQ,CAAM,CAAC;EAAA,CACtD,CAAC;AAEV;AAEA,eAAeF,wBAAwB","ignoreList":[]}
@@ -9,9 +9,7 @@ import classNames from 'classnames';
9
9
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
10
10
  import { vsTriangleRight, vsTriangleDown } from '@deephaven/icons';
11
11
  import { assertNotNull } from '@deephaven/utils';
12
- import { jsx as _jsx } from "react/jsx-runtime";
13
- import { jsxs as _jsxs } from "react/jsx-runtime";
14
- import { Fragment as _Fragment } from "react/jsx-runtime";
12
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
15
13
  class ConsoleHistoryResultErrorMessage extends PureComponent {
16
14
  constructor(props) {
17
15
  super(props);
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistoryResultErrorMessage.js","names":["React","PureComponent","classNames","FontAwesomeIcon","vsTriangleRight","vsTriangleDown","assertNotNull","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ConsoleHistoryResultErrorMessage","constructor","props","_defineProperty","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","trimEnd","lineBreakIndex","indexOf","isMultiline","topLineOfMessage","slice","remainderOfMessage","arrowBtnClasses","className","expanded","children","type","onClick","tabIndex","icon","transform","role","onKeyPress","onMouseDown","onMouseMove","onMouseEnter","onMouseLeave","onMouseUp"],"sources":["../../src/console-history/ConsoleHistoryResultErrorMessage.tsx"],"sourcesContent":["/**\n * Error message that can be expanded\n */\nimport React, {\n type KeyboardEvent,\n type MouseEvent,\n PureComponent,\n type 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 // Trim trailing whitespace to avoid unnecessary empty lines\n const message = messageProp.trimEnd();\n const lineBreakIndex = message.indexOf('\\n');\n const isMultiline = lineBreakIndex > -1;\n let topLineOfMessage = message;\n if (isMultiline) {\n topLineOfMessage = message.slice(0, lineBreakIndex);\n }\n const remainderOfMessage = message.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
+ {"version":3,"file":"ConsoleHistoryResultErrorMessage.js","names":["React","PureComponent","classNames","FontAwesomeIcon","vsTriangleRight","vsTriangleDown","assertNotNull","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ConsoleHistoryResultErrorMessage","constructor","props","_defineProperty","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","trimEnd","lineBreakIndex","indexOf","isMultiline","topLineOfMessage","slice","remainderOfMessage","arrowBtnClasses","className","expanded","children","type","onClick","tabIndex","icon","transform","role","onKeyPress","onMouseDown","onMouseMove","onMouseEnter","onMouseLeave","onMouseUp"],"sources":["../../src/console-history/ConsoleHistoryResultErrorMessage.tsx"],"sourcesContent":["/**\n * Error message that can be expanded\n */\nimport React, {\n type KeyboardEvent,\n type MouseEvent,\n PureComponent,\n type 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 // Trim trailing whitespace to avoid unnecessary empty lines\n const message = messageProp.trimEnd();\n const lineBreakIndex = message.indexOf('\\n');\n const isMultiline = lineBreakIndex > -1;\n let topLineOfMessage = message;\n if (isMultiline) {\n topLineOfMessage = message.slice(0, lineBreakIndex);\n }\n const remainderOfMessage = message.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":";;;AAAA;AACA;AACA;AACA,OAAOA,KAAK,IAGVC,aAAa,QAER,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,eAAe,EAAEC,cAAc,QAAQ,kBAAkB;AAClE,SAASC,aAAa,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAWjD,MAAMC,gCAAgC,SAASZ,aAAa,CAG1D;EAOAa,WAAWA,CAACC,KAA4C,EAAE;IACxD,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAEb,IAAI,CAACC,cAAc,GAAG,IAAI,CAACA,cAAc,CAACC,IAAI,CAAC,IAAI,CAAC;IACpD,IAAI,CAACC,eAAe,GAAG,IAAI,CAACA,eAAe,CAACD,IAAI,CAAC,IAAI,CAAC;IACtD,IAAI,CAACE,eAAe,GAAG,IAAI,CAACA,eAAe,CAACF,IAAI,CAAC,IAAI,CAAC;IACtD,IAAI,CAACG,aAAa,GAAG,IAAI,CAACA,aAAa,CAACH,IAAI,CAAC,IAAI,CAAC;IAClD,IAAI,CAACI,iBAAiB,GAAG,IAAI,CAACA,iBAAiB,CAACJ,IAAI,CAAC,IAAI,CAAC;IAC1D,IAAI,CAACK,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACL,IAAI,CAAC,IAAI,CAAC;IACxD,IAAI,CAACM,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACN,IAAI,CAAC,IAAI,CAAC;IAExD,IAAI,CAACO,MAAM,GAAG,IAAI;IAClB,IAAI,CAACC,MAAM,GAAG,IAAI;IAClB,IAAI,CAACC,UAAU,GAAG,KAAK;IAEvB,IAAI,CAACC,KAAK,GAAG;MACXC,UAAU,EAAE,KAAK;MACjBC,gBAAgB,EAAE;IACpB,CAAC;EACH;EAQAb,cAAcA,CAACc,KAAoC,EAAQ;IACzD,QAAQA,KAAK,CAACC,GAAG;MACf,KAAK,OAAO;MACZ,KAAK,GAAG;QACN;QACA,IAAI,CAACV,iBAAiB,CAAC,CAAC;QACxBS,KAAK,CAACE,eAAe,CAAC,CAAC;QACvBF,KAAK,CAACG,cAAc,CAAC,CAAC;QACtB;MACF;QACE;IACJ;EACF;EAEAf,eAAeA,CAACY,KAAiC,EAAQ;IACvD,IAAI,CAACN,MAAM,GAAGM,KAAK,CAACI,OAAO;IAC3B,IAAI,CAACT,MAAM,GAAGK,KAAK,CAACK,OAAO;IAC3B,IAAI,CAACT,UAAU,GAAG,IAAI;EACxB;EAEAP,eAAeA,CAACW,KAAiC,EAAQ;IACvD,IAAI,IAAI,CAACN,MAAM,IAAI,IAAI,IAAI,IAAI,CAACC,MAAM,IAAI,IAAI,EAAE;MAC9C,IACEW,IAAI,CAACC,GAAG,CAACP,KAAK,CAACI,OAAO,GAAG,IAAI,CAACV,MAAM,CAAC,IACnCZ,gCAAgC,CAAC0B,kBAAkB,IACrDF,IAAI,CAACC,GAAG,CAACP,KAAK,CAACK,OAAO,GAAG,IAAI,CAACV,MAAM,CAAC,IACnCb,gCAAgC,CAAC0B,kBAAkB,EACrD;QACA,IAAI,CAACZ,UAAU,GAAG,KAAK;MACzB;IACF,CAAC,MAAM,IAAI,IAAI,CAACA,UAAU,EAAE;MAC1B;MACA,IAAI,CAACA,UAAU,GAAG,KAAK;IACzB;EACF;EAEAN,aAAaA,CAACU,KAAiC,EAAQ;IACrD;IACA;IACA,IAAI,IAAI,CAACJ,UAAU,IAAI,CAACI,KAAK,CAACS,QAAQ,IAAI,CAACT,KAAK,CAACU,OAAO,IAAI,CAACV,KAAK,CAACW,MAAM,EAAE;MACzE,IAAI,CAACpB,iBAAiB,CAAC,CAAC;IAC1B;IACA,IAAI,CAACG,MAAM,GAAG,IAAI;IAClB,IAAI,CAACC,MAAM,GAAG,IAAI;IAClB,IAAI,CAACC,UAAU,GAAG,KAAK;EACzB;EAEAL,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAACqB,QAAQ,CAACf,KAAK,KAAK;MAAEC,UAAU,EAAE,CAACD,KAAK,CAACC;IAAW,CAAC,CAAC,CAAC;EAC7D;EAEAN,gBAAgBA,CAAA,EAAS;IACvB,IAAI,CAACoB,QAAQ,CAAC;MAAEb,gBAAgB,EAAE;IAAK,CAAC,CAAC;EAC3C;EAEAN,gBAAgBA,CAAA,EAAS;IACvB,IAAI,CAACmB,QAAQ,CAAC;MAAEb,gBAAgB,EAAE;IAAM,CAAC,CAAC;EAC5C;EAEAc,MAAMA,CAAA,EAAiB;IACrB,IAAM;MAAEf,UAAU;MAAEC;IAAiB,CAAC,GAAG,IAAI,CAACF,KAAK;IACnD,IAAM;MAAEiB,OAAO,EAAEC;IAAY,CAAC,GAAG,IAAI,CAAC/B,KAAK;IAC3CT,aAAa,CAACwC,WAAW,CAAC;IAC1B;IACA,IAAMD,OAAO,GAAGC,WAAW,CAACC,OAAO,CAAC,CAAC;IACrC,IAAMC,cAAc,GAAGH,OAAO,CAACI,OAAO,CAAC,IAAI,CAAC;IAC5C,IAAMC,WAAW,GAAGF,cAAc,GAAG,CAAC,CAAC;IACvC,IAAIG,gBAAgB,GAAGN,OAAO;IAC9B,IAAIK,WAAW,EAAE;MACfC,gBAAgB,GAAGN,OAAO,CAACO,KAAK,CAAC,CAAC,EAAEJ,cAAc,CAAC;IACrD;IACA,IAAMK,kBAAkB,GAAGR,OAAO,CAACO,KAAK,CAACJ,cAAc,CAAC;IACxD,IAAMM,eAAe,GAAGxB,gBAAgB,GACpC,uCAAuC,GACvC,gBAAgB;IAEpB,oBACEpB,KAAA;MAEE6C,SAAS,EAAErD,UAAU,CAAC,eAAe,EAAE;QACrCsD,QAAQ,EAAE3B;MACZ,CAAC,CAAE;MAAA4B,QAAA,GAEFP,WAAW,iBACVxC,KAAA,CAAAE,SAAA;QAAA6C,QAAA,gBACEjD,IAAA;UAAK+C,SAAS,EAAC,cAAc;UAAAE,QAAA,eAC3BjD,IAAA;YACEkD,IAAI,EAAC,QAAQ;YACbC,OAAO,EAAE,IAAI,CAACrC,iBAAkB;YAChCiC,SAAS,EAAED,eAAgB;YAC3BM,QAAQ,EAAE,CAAC,CAAE;YAAAH,QAAA,eAEbjD,IAAA,CAACL,eAAe;cACd0D,IAAI,EAAEhC,UAAU,GAAGxB,cAAc,GAAGD,eAAgB;cACpD0D,SAAS,EAAC;YAAQ,CACnB;UAAC,CACI;QAAC,CACN,CAAC,eACNpD,KAAA;UAAK6C,SAAS,EAAC,eAAe;UAAAE,QAAA,gBAC5BjD,IAAA;YACE+C,SAAS,EAAC,4BAA4B;YACtCQ,IAAI,EAAC,QAAQ;YACbH,QAAQ,EAAE,CAAE;YACZI,UAAU,EAAE,IAAI,CAAC/C,cAAe;YAChCgD,WAAW,EAAE,IAAI,CAAC9C,eAAgB;YAClC+C,WAAW,EAAE,IAAI,CAAC9C,eAAgB;YAClC+C,YAAY,EAAE,IAAI,CAAC5C,gBAAiB;YACpC6C,YAAY,EAAE,IAAI,CAAC5C,gBAAiB;YACpC6C,SAAS,EAAE,IAAI,CAAChD,aAAc;YAAAoC,QAAA,EAE7BN;UAAgB,CACd,CAAC,EACLtB,UAAU,GAAGwB,kBAAkB,GAAG,EAAE;QAAA,CAClC,CAAC;MAAA,CACN,CACH,EACA,CAACH,WAAW,iBACX1C,IAAA;QAAK+C,SAAS,EAAC,eAAe;QAAAE,QAAA,eAC5BjD,IAAA;UAAK+C,SAAS,EAAC,oBAAoB;UAAAE,QAAA,EAAEN;QAAgB,CAAM;MAAC,CACzD,CACN;IAAA,GA1CG,OA2CD,CAAC;EAEV;AACF;AAACnC,eAAA,CAjKKH,gCAAgC,kBAId;EACpBgC,OAAO,EAAE;AACX,CAAC;AAAA7B,eAAA,CANGH,gCAAgC,wBAQR,CAAC;AA2J/B,eAAeA,gCAAgC","ignoreList":[]}
@@ -7,8 +7,7 @@ import { Button, LoadingSpinner } from '@deephaven/components';
7
7
  import { vsClose } from '@deephaven/icons';
8
8
  import { TimeUtils } from '@deephaven/utils';
9
9
  import "./ConsoleHistoryResultInProgress.css";
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- import { jsxs as _jsxs } from "react/jsx-runtime";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
11
  /**
13
12
  * A spinner shown when a command is taking a while.
14
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistoryResultInProgress.js","names":["React","Component","classNames","Button","LoadingSpinner","vsClose","TimeUtils","jsx","_jsx","jsxs","_jsxs","ConsoleHistoryResultInProgress","constructor","props","_defineProperty","updateElapsed","bind","startTime","Date","now","state","elapsed","componentDidMount","timer","window","setInterval","componentWillUnmount","clearInterval","undefined","setState","Math","round","render","disabled","onCancelClick","className","children","formatElapsedTime","kind","icon","tooltip","onClick"],"sources":["../../src/console-history/ConsoleHistoryResultInProgress.tsx"],"sourcesContent":["import React, { Component, type ReactElement } from 'react';\nimport classNames from 'classnames';\nimport { Button, LoadingSpinner } 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 = window.setInterval(this.updateElapsed, 1000);\n }\n\n componentWillUnmount(): void {\n if (this.timer != null) {\n clearInterval(this.timer);\n }\n\n this.timer = undefined;\n }\n\n timer?: number;\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 className=\"ml-2\" />\n Running... {TimeUtils.formatElapsedTime(elapsed)}&nbsp;\n <Button\n className=\"console-history-result-in-progress-cancel\"\n kind=\"ghost\"\n icon={vsClose}\n tooltip=\"Cancel\"\n onClick={onCancelClick}\n disabled={disabled}\n />\n </span>\n </div>\n );\n }\n}\n\nexport default ConsoleHistoryResultInProgress;\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAA2B,OAAO;AAC3D,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,EAAEC,cAAc,QAAQ,uBAAuB;AAC9D,SAASC,OAAO,QAAQ,kBAAkB;AAC1C,SAASC,SAAS,QAAQ,kBAAkB;AAAC;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAW7C;AACA;AACA;AACA,MAAMC,8BAA8B,SAASV,SAAS,CAGpD;EAKAW,WAAWA,CAACC,KAA0C,EAAE;IACtD,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA;IAAAA,eAAA;IAEb,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACC,IAAI,CAAC,IAAI,CAAC;IAElD,IAAI,CAACC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IAE3B,IAAI,CAACC,KAAK,GAAG;MACXC,OAAO,EAAE;IACX,CAAC;EACH;EAEAC,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAACC,KAAK,GAAGC,MAAM,CAACC,WAAW,CAAC,IAAI,CAACV,aAAa,EAAE,IAAI,CAAC;EAC3D;EAEAW,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,IAAI,CAACH,KAAK,IAAI,IAAI,EAAE;MACtBI,aAAa,CAAC,IAAI,CAACJ,KAAK,CAAC;IAC3B;IAEA,IAAI,CAACA,KAAK,GAAGK,SAAS;EACxB;EAMAb,aAAaA,CAAA,EAAS;IACpB,IAAI,CAACc,QAAQ,CAAC;MACZR,OAAO,EAAES,IAAI,CAACC,KAAK,CAAC,CAACb,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI,CAACF,SAAS,IAAI,IAAI;IAC1D,CAAC,CAAC;EACJ;EAEAe,MAAMA,CAAA,EAAiB;IACrB,IAAM;MAAEC,QAAQ;MAAEC;IAAc,CAAC,GAAG,IAAI,CAACrB,KAAK;IAC9C,IAAM;MAAEQ;IAAQ,CAAC,GAAG,IAAI,CAACD,KAAK;IAC9B,oBACEZ,IAAA;MACE2B,SAAS,EAAEjC,UAAU,CAAC,oCAAoC,EAAE;QAC1D+B;MACF,CAAC,CAAE;MAAAG,QAAA,eAEH1B,KAAA;QAAMyB,SAAS,EAAC,OAAO;QAAAC,QAAA,gBACrB5B,IAAA,CAACJ,cAAc;UAAC+B,SAAS,EAAC;QAAM,CAAE,CAAC,eACxB,EAAC7B,SAAS,CAAC+B,iBAAiB,CAAChB,OAAO,CAAC,EAAC,MACjD,eAAAb,IAAA,CAACL,MAAM;UACLgC,SAAS,EAAC,2CAA2C;UACrDG,IAAI,EAAC,OAAO;UACZC,IAAI,EAAElC,OAAQ;UACdmC,OAAO,EAAC,QAAQ;UAChBC,OAAO,EAAEP,aAAc;UACvBD,QAAQ,EAAEA;QAAS,CACpB,CAAC;MAAA,CACE;IAAC,CACJ,CAAC;EAEV;AACF;AAACnB,eAAA,CAlEKH,8BAA8B,kBAIZ;EACpBsB,QAAQ,EAAE;AACZ,CAAC;AA8DH,eAAetB,8BAA8B"}
1
+ {"version":3,"file":"ConsoleHistoryResultInProgress.js","names":["React","Component","classNames","Button","LoadingSpinner","vsClose","TimeUtils","jsx","_jsx","jsxs","_jsxs","ConsoleHistoryResultInProgress","constructor","props","_defineProperty","updateElapsed","bind","startTime","Date","now","state","elapsed","componentDidMount","timer","window","setInterval","componentWillUnmount","clearInterval","undefined","setState","Math","round","render","disabled","onCancelClick","className","children","formatElapsedTime","kind","icon","tooltip","onClick"],"sources":["../../src/console-history/ConsoleHistoryResultInProgress.tsx"],"sourcesContent":["import React, { Component, type ReactElement } from 'react';\nimport classNames from 'classnames';\nimport { Button, LoadingSpinner } 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 = window.setInterval(this.updateElapsed, 1000);\n }\n\n componentWillUnmount(): void {\n if (this.timer != null) {\n clearInterval(this.timer);\n }\n\n this.timer = undefined;\n }\n\n timer?: number;\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 className=\"ml-2\" />\n Running... {TimeUtils.formatElapsedTime(elapsed)}&nbsp;\n <Button\n className=\"console-history-result-in-progress-cancel\"\n kind=\"ghost\"\n icon={vsClose}\n tooltip=\"Cancel\"\n onClick={onCancelClick}\n disabled={disabled}\n />\n </span>\n </div>\n );\n }\n}\n\nexport default ConsoleHistoryResultInProgress;\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAA2B,OAAO;AAC3D,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,EAAEC,cAAc,QAAQ,uBAAuB;AAC9D,SAASC,OAAO,QAAQ,kBAAkB;AAC1C,SAASC,SAAS,QAAQ,kBAAkB;AAAC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAW7C;AACA;AACA;AACA,MAAMC,8BAA8B,SAASV,SAAS,CAGpD;EAKAW,WAAWA,CAACC,KAA0C,EAAE;IACtD,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA;IAAAA,eAAA;IAEb,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACC,IAAI,CAAC,IAAI,CAAC;IAElD,IAAI,CAACC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IAE3B,IAAI,CAACC,KAAK,GAAG;MACXC,OAAO,EAAE;IACX,CAAC;EACH;EAEAC,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAACC,KAAK,GAAGC,MAAM,CAACC,WAAW,CAAC,IAAI,CAACV,aAAa,EAAE,IAAI,CAAC;EAC3D;EAEAW,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,IAAI,CAACH,KAAK,IAAI,IAAI,EAAE;MACtBI,aAAa,CAAC,IAAI,CAACJ,KAAK,CAAC;IAC3B;IAEA,IAAI,CAACA,KAAK,GAAGK,SAAS;EACxB;EAMAb,aAAaA,CAAA,EAAS;IACpB,IAAI,CAACc,QAAQ,CAAC;MACZR,OAAO,EAAES,IAAI,CAACC,KAAK,CAAC,CAACb,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI,CAACF,SAAS,IAAI,IAAI;IAC1D,CAAC,CAAC;EACJ;EAEAe,MAAMA,CAAA,EAAiB;IACrB,IAAM;MAAEC,QAAQ;MAAEC;IAAc,CAAC,GAAG,IAAI,CAACrB,KAAK;IAC9C,IAAM;MAAEQ;IAAQ,CAAC,GAAG,IAAI,CAACD,KAAK;IAC9B,oBACEZ,IAAA;MACE2B,SAAS,EAAEjC,UAAU,CAAC,oCAAoC,EAAE;QAC1D+B;MACF,CAAC,CAAE;MAAAG,QAAA,eAEH1B,KAAA;QAAMyB,SAAS,EAAC,OAAO;QAAAC,QAAA,gBACrB5B,IAAA,CAACJ,cAAc;UAAC+B,SAAS,EAAC;QAAM,CAAE,CAAC,eACxB,EAAC7B,SAAS,CAAC+B,iBAAiB,CAAChB,OAAO,CAAC,EAAC,MACjD,eAAAb,IAAA,CAACL,MAAM;UACLgC,SAAS,EAAC,2CAA2C;UACrDG,IAAI,EAAC,OAAO;UACZC,IAAI,EAAElC,OAAQ;UACdmC,OAAO,EAAC,QAAQ;UAChBC,OAAO,EAAEP,aAAc;UACvBD,QAAQ,EAAEA;QAAS,CACpB,CAAC;MAAA,CACE;IAAC,CACJ,CAAC;EAEV;AACF;AAACnB,eAAA,CAlEKH,8BAA8B,kBAIZ;EACpBsB,QAAQ,EAAE;AACZ,CAAC;AA8DH,eAAetB,8BAA8B","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistoryTypes.js","names":[],"sources":["../../src/console-history/ConsoleHistoryTypes.tsx"],"sourcesContent":["import { type CancelablePromise } from '@deephaven/utils';\nimport type { dh } from '@deephaven/jsapi-types';\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?: dh.ide.VariableChanges;\n };\n disabledObjects?: string[];\n startTime?: number;\n endTime?: number;\n cancelResult?: () => void;\n wrappedResult?: CancelablePromise<unknown>;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"ConsoleHistoryTypes.js","names":[],"sources":["../../src/console-history/ConsoleHistoryTypes.tsx"],"sourcesContent":["import { type CancelablePromise } from '@deephaven/utils';\nimport type { dh } from '@deephaven/jsapi-types';\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?: dh.ide.VariableChanges;\n };\n disabledObjects?: string[];\n startTime?: number;\n endTime?: number;\n cancelResult?: () => void;\n wrappedResult?: CancelablePromise<unknown>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","ConsoleHistory","ConsoleHistoryItem","ConsoleHistoryItemResult","ConsoleHistoryResultErrorMessage","ConsoleHistoryResultInProgress"],"sources":["../../src/console-history/index.ts"],"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,cAAc;AAAA,SACzBD,OAAO,IAAIE,kBAAkB;AAAA,SAC7BF,OAAO,IAAIG,wBAAwB;AAAA,SACnCH,OAAO,IAAII,gCAAgC;AAAA,SAC3CJ,OAAO,IAAIK,8BAA8B"}
1
+ {"version":3,"file":"index.js","names":["default","ConsoleHistory","ConsoleHistoryItem","ConsoleHistoryItemResult","ConsoleHistoryResultErrorMessage","ConsoleHistoryResultInProgress"],"sources":["../../src/console-history/index.ts"],"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,cAAc;AAAA,SACzBD,OAAO,IAAIE,kBAAkB;AAAA,SAC7BF,OAAO,IAAIG,wBAAwB;AAAA,SACnCH,OAAO,IAAII,gCAAgC;AAAA,SAC3CJ,OAAO,IAAIK,8BAA8B","ignoreList":[]}