@deephaven/console 0.9.2-beta.10 → 0.9.2-beta.13

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.
@@ -1,23 +1,35 @@
1
1
  .command-history-item-popper {
2
2
  padding: 0;
3
3
  }
4
+ .command-history-item-popper .popper-content .tooltip-content {
5
+ padding: 0;
6
+ }
4
7
  .command-history-item-popper .command-history-item-tooltip {
8
+ display: flex;
9
+ flex-direction: column;
5
10
  max-height: 50vh;
6
11
  max-width: 50vw;
7
- overflow: auto;
8
12
  text-align: left;
9
- padding: 0.25rem 0.5rem;
13
+ }
14
+ .command-history-item-popper .command-history-item-tooltip .scroll-container {
15
+ padding: 0.5rem;
16
+ overflow: auto;
10
17
  }
11
18
  .command-history-item-popper .command-history-item-tooltip .result-info {
12
- text-align: right;
19
+ flex-shrink: 0;
20
+ border-top: 1px solid #5b5a5c;
21
+ padding: 0.25rem 0.5rem;
22
+ overflow: auto;
23
+ max-height: 25vh;
13
24
  }
14
- .command-history-item-popper .command-history-item-tooltip .time-string {
25
+ .command-history-item-popper .command-history-item-tooltip .result-info .time-wrapper {
26
+ text-align: right;
15
27
  color: #929192;
16
28
  }
17
- .command-history-item-popper .command-history-item-tooltip hr {
18
- background-color: #929192;
29
+ .command-history-item-popper .command-history-item-tooltip .result-info .time-wrapper .time-string {
30
+ color: #f0f0ee;
19
31
  }
20
- .command-history-item-popper .command-history-item-tooltip .error-message {
32
+ .command-history-item-popper .command-history-item-tooltip .result-info .error-message {
21
33
  color: #f95d84;
22
34
  }
23
35
 
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../src/command-history/CommandHistoryItemTooltip.scss","../../../components/scss/bootstrap_overrides.scss"],"names":[],"mappings":"AACA;EACE;;AACA;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE,OCQK;;ADNP;EACE,kBCKK;;ADHP;EACE,OChBA","file":"CommandHistoryItemTooltip.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../src/command-history/CommandHistoryItemTooltip.scss","../../../components/scss/new_variables.scss","../../../components/scss/bootstrap_overrides.scss"],"names":[],"mappings":"AACA;EACE;;AACA;EACE;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE,SCVK;EDWL;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA,OEHG;;AFIH;EACE,OEbO;;AFgBX;EACE,OE3BF","file":"CommandHistoryItemTooltip.css"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandHistoryItemTooltip.d.ts","sourceRoot":"","sources":["../../src/command-history/CommandHistoryItemTooltip.jsx"],"names":[],"mappings":"AAcA;IACE,kEAYC;IAED,wBAgBC;IAiCD,iBASC;IAyBD,8BAMC;IAVD,8BAEC;IAUD,sBAEC;IArFC,6BAAiB;IACjB,aAAmB;IAmDrB,mBAIC;IAED,kBAKC;IAED,mBAIC;IAkBD,4EAGE;CAuCH;;;;;;;;;;;;;;;;QAUW,mCAAQ"}
1
+ {"version":3,"file":"CommandHistoryItemTooltip.d.ts","sourceRoot":"","sources":["../../src/command-history/CommandHistoryItemTooltip.jsx"],"names":[],"mappings":"AAgBA;IACE,kEAYC;IAED,wBAgBC;IAiCD,iBASC;IAyBD,8BAMC;IAVD,8BAEC;IAUD,sBAEC;IArFC,6BAAiB;IACjB,aAAmB;IAmDrB,mBAIC;IAED,kBAKC;IAED,mBAIC;IAkBD,4EAGE;CA+CH;;;;;;;;;;;;;;;;QAUW,mCAAQ"}
@@ -6,6 +6,8 @@ import debounce from 'lodash.debounce';
6
6
  import memoize from 'memoizee';
7
7
  import { LoadingSpinner } from '@deephaven/components';
8
8
  import { TimeUtils } from '@deephaven/utils';
9
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
10
+ import { vsWarning } from '@deephaven/icons';
9
11
  import Code from "../common/Code.js";
10
12
  import "./CommandHistoryItemTooltip.css";
11
13
  import ConsolePropTypes from "../ConsolePropTypes.js";
@@ -152,14 +154,23 @@ export class CommandHistoryItemTooltip extends Component {
152
154
  var previewText = this.getPreviewText(name);
153
155
  return /*#__PURE__*/React.createElement("div", {
154
156
  className: "command-history-item-tooltip"
157
+ }, /*#__PURE__*/React.createElement("div", {
158
+ className: "scroll-container"
155
159
  }, /*#__PURE__*/React.createElement(Code, {
156
160
  language: language
157
- }, previewText), previewText.length < name.length && /*#__PURE__*/React.createElement("p", null, "Preview Truncated..."), /*#__PURE__*/React.createElement("div", {
161
+ }, previewText), previewText.length < name.length && /*#__PURE__*/React.createElement("p", null, "Preview Truncated...")), /*#__PURE__*/React.createElement("div", {
158
162
  className: "result-info"
159
- }, !timeString && /*#__PURE__*/React.createElement(LoadingSpinner, null), timeString && /*#__PURE__*/React.createElement("div", {
163
+ }, /*#__PURE__*/React.createElement("div", {
164
+ className: "d-flex justify-content-between"
165
+ }, errorMessage && /*#__PURE__*/React.createElement("div", {
166
+ className: "text-danger mr-1"
167
+ }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
168
+ icon: vsWarning
169
+ }), " Executed with errors"), /*#__PURE__*/React.createElement("div", {
170
+ className: "time-wrapper"
171
+ }, "Elapsed time:", ' ', timeString ? /*#__PURE__*/React.createElement("span", {
160
172
  className: "time-string"
161
- }, timeString)), errorMessage && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("hr", null), /*#__PURE__*/React.createElement("div", {
162
- key: "error",
173
+ }, timeString) : /*#__PURE__*/React.createElement(LoadingSpinner, null))), errorMessage && /*#__PURE__*/React.createElement("div", {
163
174
  className: "error-message"
164
175
  }, errorMessage)));
165
176
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/command-history/CommandHistoryItemTooltip.jsx"],"names":["React","Component","PropTypes","debounce","memoize","LoadingSpinner","TimeUtils","Code","ConsolePropTypes","StoragePropTypes","LOAD_DATA_DEBOUNCE","MAX_NUMBER_OF_LINES","CommandHistoryItemTooltip","getTimeString","startTime","endTime","deltaTime","Math","round","Date","formatElapsedTime","constructor","props","name","split","join","max","loadData","bind","handleUpdate","handleError","handleTimeout","timer","cleanup","state","currentTime","now","data","error","componentDidMount","componentDidUpdate","prevProps","prevState","result","startTimer","stopTimer","componentWillUnmount","cancel","commandHistoryStorage","item","language","id","listenItem","setInterval","clearInterval","updateTime","setState","onUpdate","render","errorMessage","message","timeString","previewText","getPreviewText","length","propTypes","CommandHistoryItem","isRequired","string","func","CommandHistoryStorage","defaultProps"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport memoize from 'memoizee';\nimport { LoadingSpinner } from '@deephaven/components';\nimport { TimeUtils } from '@deephaven/utils';\nimport Code from '../common/Code';\nimport './CommandHistoryItemTooltip.scss';\nimport ConsolePropTypes from '../ConsolePropTypes';\nimport StoragePropTypes from '../StoragePropTypes';\n\nconst LOAD_DATA_DEBOUNCE = 250;\nconst MAX_NUMBER_OF_LINES = 2500;\n\nexport class CommandHistoryItemTooltip extends Component {\n static getTimeString(startTime, endTime) {\n if (!startTime || !endTime) {\n return null;\n }\n\n const deltaTime = Math.round(\n (new Date(endTime) - new Date(startTime)) / 1000\n );\n\n if (deltaTime < 1) return '<1s';\n\n return TimeUtils.formatElapsedTime(deltaTime);\n }\n\n constructor(props) {\n super(props);\n\n this.loadData = debounce(this.loadData.bind(this), LOAD_DATA_DEBOUNCE);\n this.handleUpdate = this.handleUpdate.bind(this);\n this.handleError = this.handleError.bind(this);\n this.handleTimeout = this.handleTimeout.bind(this);\n\n this.timer = null;\n this.cleanup = null;\n\n this.state = {\n currentTime: Date.now(),\n data: null,\n error: null,\n };\n }\n\n componentDidMount() {\n this.loadData();\n }\n\n componentDidUpdate(prevProps, prevState) {\n const { data } = this.state;\n\n if (\n this.timer == null &&\n !data?.result &&\n data?.startTime &&\n !data?.endTime\n ) {\n this.startTimer();\n } else if (\n (data?.result && !prevState.data?.result) ||\n (data?.endTime && !prevState.data?.endTime)\n ) {\n // Command complete\n this.stopTimer();\n }\n }\n\n componentWillUnmount() {\n this.loadData.cancel();\n if (this.cleanup != null) {\n this.cleanup();\n }\n this.stopTimer();\n }\n\n loadData() {\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 }\n\n startTimer() {\n this.stopTimer();\n\n this.timer = setInterval(this.handleTimeout, 1000);\n }\n\n stopTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = null;\n }\n }\n\n updateTime() {\n this.setState({\n currentTime: Date.now(),\n });\n }\n\n handleError(error) {\n this.setState({ error: `${error}` });\n }\n\n handleUpdate(item) {\n const { data = null } = item ?? {};\n this.setState({ data });\n\n const { onUpdate } = this.props;\n onUpdate(data);\n }\n\n handleTimeout() {\n this.updateTime();\n }\n\n getPreviewText = memoize(\n name => name.split('\\n', MAX_NUMBER_OF_LINES).join('\\n'),\n { max: 1 }\n );\n\n render() {\n const {\n item: { name },\n language,\n } = this.props;\n const { currentTime, data, error } = this.state;\n const { result, startTime, endTime } = data ?? {};\n const errorMessage = result?.error?.message ?? result?.error ?? error;\n const timeString = CommandHistoryItemTooltip.getTimeString(\n startTime,\n endTime || currentTime\n );\n\n // colorizing in monaco is mostly a function of the number of lines,\n // it gets real slow after a few thousand lines. Truncate the tooltip\n // to avoid UI locks. The full command is still inserted.\n const previewText = this.getPreviewText(name);\n\n return (\n <div className=\"command-history-item-tooltip\">\n <Code language={language}>{previewText}</Code>\n {previewText.length < name.length && <p>Preview Truncated...</p>}\n <div className=\"result-info\">\n {!timeString && <LoadingSpinner />}\n {timeString && <div className=\"time-string\">{timeString}</div>}\n </div>\n {errorMessage && (\n <>\n <hr />\n <div key=\"error\" className=\"error-message\">\n {errorMessage}\n </div>\n </>\n )}\n </div>\n );\n }\n}\n\nCommandHistoryItemTooltip.propTypes = {\n item: ConsolePropTypes.CommandHistoryItem.isRequired,\n language: PropTypes.string.isRequired,\n onUpdate: PropTypes.func,\n commandHistoryStorage: StoragePropTypes.CommandHistoryStorage.isRequired,\n};\n\nCommandHistoryItemTooltip.defaultProps = {\n onUpdate: () => {},\n};\n\nexport default CommandHistoryItemTooltip;\n"],"file":"CommandHistoryItemTooltip.js"}
1
+ {"version":3,"sources":["../../src/command-history/CommandHistoryItemTooltip.jsx"],"names":["React","Component","PropTypes","debounce","memoize","LoadingSpinner","TimeUtils","FontAwesomeIcon","vsWarning","Code","ConsolePropTypes","StoragePropTypes","LOAD_DATA_DEBOUNCE","MAX_NUMBER_OF_LINES","CommandHistoryItemTooltip","getTimeString","startTime","endTime","deltaTime","Math","round","Date","formatElapsedTime","constructor","props","name","split","join","max","loadData","bind","handleUpdate","handleError","handleTimeout","timer","cleanup","state","currentTime","now","data","error","componentDidMount","componentDidUpdate","prevProps","prevState","result","startTimer","stopTimer","componentWillUnmount","cancel","commandHistoryStorage","item","language","id","listenItem","setInterval","clearInterval","updateTime","setState","onUpdate","render","errorMessage","message","timeString","previewText","getPreviewText","length","propTypes","CommandHistoryItem","isRequired","string","func","CommandHistoryStorage","defaultProps"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport memoize from 'memoizee';\nimport { LoadingSpinner } from '@deephaven/components';\nimport { TimeUtils } from '@deephaven/utils';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsWarning } from '@deephaven/icons';\nimport Code from '../common/Code';\nimport './CommandHistoryItemTooltip.scss';\nimport ConsolePropTypes from '../ConsolePropTypes';\nimport StoragePropTypes from '../StoragePropTypes';\n\nconst LOAD_DATA_DEBOUNCE = 250;\nconst MAX_NUMBER_OF_LINES = 2500;\n\nexport class CommandHistoryItemTooltip extends Component {\n static getTimeString(startTime, endTime) {\n if (!startTime || !endTime) {\n return null;\n }\n\n const deltaTime = Math.round(\n (new Date(endTime) - new Date(startTime)) / 1000\n );\n\n if (deltaTime < 1) return '<1s';\n\n return TimeUtils.formatElapsedTime(deltaTime);\n }\n\n constructor(props) {\n super(props);\n\n this.loadData = debounce(this.loadData.bind(this), LOAD_DATA_DEBOUNCE);\n this.handleUpdate = this.handleUpdate.bind(this);\n this.handleError = this.handleError.bind(this);\n this.handleTimeout = this.handleTimeout.bind(this);\n\n this.timer = null;\n this.cleanup = null;\n\n this.state = {\n currentTime: Date.now(),\n data: null,\n error: null,\n };\n }\n\n componentDidMount() {\n this.loadData();\n }\n\n componentDidUpdate(prevProps, prevState) {\n const { data } = this.state;\n\n if (\n this.timer == null &&\n !data?.result &&\n data?.startTime &&\n !data?.endTime\n ) {\n this.startTimer();\n } else if (\n (data?.result && !prevState.data?.result) ||\n (data?.endTime && !prevState.data?.endTime)\n ) {\n // Command complete\n this.stopTimer();\n }\n }\n\n componentWillUnmount() {\n this.loadData.cancel();\n if (this.cleanup != null) {\n this.cleanup();\n }\n this.stopTimer();\n }\n\n loadData() {\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 }\n\n startTimer() {\n this.stopTimer();\n\n this.timer = setInterval(this.handleTimeout, 1000);\n }\n\n stopTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = null;\n }\n }\n\n updateTime() {\n this.setState({\n currentTime: Date.now(),\n });\n }\n\n handleError(error) {\n this.setState({ error: `${error}` });\n }\n\n handleUpdate(item) {\n const { data = null } = item ?? {};\n this.setState({ data });\n\n const { onUpdate } = this.props;\n onUpdate(data);\n }\n\n handleTimeout() {\n this.updateTime();\n }\n\n getPreviewText = memoize(\n name => name.split('\\n', MAX_NUMBER_OF_LINES).join('\\n'),\n { max: 1 }\n );\n\n render() {\n const {\n item: { name },\n language,\n } = this.props;\n const { currentTime, data, error } = this.state;\n const { result, startTime, endTime } = data ?? {};\n const errorMessage = result?.error?.message ?? result?.error ?? error;\n const timeString = CommandHistoryItemTooltip.getTimeString(\n startTime,\n endTime || currentTime\n );\n\n // colorizing in monaco is mostly a function of the number of lines,\n // it gets real slow after a few thousand lines. Truncate the tooltip\n // to avoid UI locks. The full command is still inserted.\n const previewText = this.getPreviewText(name);\n\n return (\n <div className=\"command-history-item-tooltip\">\n <div className=\"scroll-container\">\n <Code language={language}>{previewText}</Code>\n {previewText.length < name.length && <p>Preview Truncated...</p>}\n </div>\n <div className=\"result-info\">\n <div className=\"d-flex justify-content-between\">\n {errorMessage && (\n <div className=\"text-danger mr-1\">\n <FontAwesomeIcon icon={vsWarning} /> Executed with errors\n </div>\n )}\n <div className=\"time-wrapper\">\n Elapsed time:{' '}\n {timeString ? (\n <span className=\"time-string\">{timeString}</span>\n ) : (\n <LoadingSpinner />\n )}\n </div>\n </div>\n {errorMessage && <div className=\"error-message\">{errorMessage}</div>}\n </div>\n </div>\n );\n }\n}\n\nCommandHistoryItemTooltip.propTypes = {\n item: ConsolePropTypes.CommandHistoryItem.isRequired,\n language: PropTypes.string.isRequired,\n onUpdate: PropTypes.func,\n commandHistoryStorage: StoragePropTypes.CommandHistoryStorage.isRequired,\n};\n\nCommandHistoryItemTooltip.defaultProps = {\n onUpdate: () => {},\n};\n\nexport default CommandHistoryItemTooltip;\n"],"file":"CommandHistoryItemTooltip.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/console",
3
- "version": "0.9.2-beta.10+4063003",
3
+ "version": "0.9.2-beta.13+0ad3c48",
4
4
  "description": "Deephaven Console",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -29,10 +29,10 @@
29
29
  "start": "cross-env NODE_ENV=development npm run watch"
30
30
  },
31
31
  "dependencies": {
32
- "@deephaven/icons": "^0.9.2-beta.10+4063003",
33
- "@deephaven/jsapi-shim": "^0.9.2-beta.10+4063003",
34
- "@deephaven/storage": "^0.9.2-beta.10+4063003",
35
- "@deephaven/utils": "^0.9.2-beta.10+4063003",
32
+ "@deephaven/icons": "^0.9.2-beta.13+0ad3c48",
33
+ "@deephaven/jsapi-shim": "^0.9.2-beta.13+0ad3c48",
34
+ "@deephaven/storage": "^0.9.2-beta.13+0ad3c48",
35
+ "@deephaven/utils": "^0.9.2-beta.13+0ad3c48",
36
36
  "@fortawesome/react-fontawesome": "^0.1.12",
37
37
  "classnames": "^2.3.1",
38
38
  "jszip": "3.2.2",
@@ -53,10 +53,10 @@
53
53
  },
54
54
  "devDependencies": {
55
55
  "@babel/cli": "^7.16.0",
56
- "@deephaven/components": "^0.9.2-beta.10+4063003",
57
- "@deephaven/log": "^0.9.2-beta.10+4063003",
58
- "@deephaven/mocks": "^0.9.2-beta.10+4063003",
59
- "@deephaven/tsconfig": "^0.9.2-beta.10+4063003",
56
+ "@deephaven/components": "^0.9.2-beta.13+0ad3c48",
57
+ "@deephaven/log": "^0.9.2-beta.13+0ad3c48",
58
+ "@deephaven/mocks": "^0.9.2-beta.13+0ad3c48",
59
+ "@deephaven/tsconfig": "^0.9.2-beta.13+0ad3c48",
60
60
  "@types/react": "^16.14.8",
61
61
  "@types/react-dom": "^16.9.13",
62
62
  "cross-env": "^7.0.2",
@@ -76,5 +76,5 @@
76
76
  "publishConfig": {
77
77
  "access": "public"
78
78
  },
79
- "gitHead": "406300380f004aab72325afb691a20856d2bbd7d"
79
+ "gitHead": "0ad3c4899a2a6cc97835706ecf09803885e178ee"
80
80
  }