@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.
- package/dist/command-history/CommandHistoryItemTooltip.css +19 -7
- package/dist/command-history/CommandHistoryItemTooltip.css.map +1 -1
- package/dist/command-history/CommandHistoryItemTooltip.d.ts.map +1 -1
- package/dist/command-history/CommandHistoryItemTooltip.js +15 -4
- package/dist/command-history/CommandHistoryItemTooltip.js.map +1 -1
- package/package.json +10 -10
|
@@ -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
|
-
|
|
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
|
-
|
|
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-
|
|
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
|
|
18
|
-
|
|
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,
|
|
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":"
|
|
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
|
-
},
|
|
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)
|
|
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.
|
|
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.
|
|
33
|
-
"@deephaven/jsapi-shim": "^0.9.2-beta.
|
|
34
|
-
"@deephaven/storage": "^0.9.2-beta.
|
|
35
|
-
"@deephaven/utils": "^0.9.2-beta.
|
|
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.
|
|
57
|
-
"@deephaven/log": "^0.9.2-beta.
|
|
58
|
-
"@deephaven/mocks": "^0.9.2-beta.
|
|
59
|
-
"@deephaven/tsconfig": "^0.9.2-beta.
|
|
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": "
|
|
79
|
+
"gitHead": "0ad3c4899a2a6cc97835706ecf09803885e178ee"
|
|
80
80
|
}
|