@deephaven/console 0.5.2-matplotlib.2 → 0.6.1-demo.8

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 (114) hide show
  1. package/dist/Console.d.ts +3 -0
  2. package/dist/Console.d.ts.map +1 -1
  3. package/dist/Console.js +807 -871
  4. package/dist/Console.js.map +1 -1
  5. package/dist/ConsoleInput.d.ts +1 -38
  6. package/dist/ConsoleInput.d.ts.map +1 -1
  7. package/dist/ConsoleInput.js +331 -436
  8. package/dist/ConsoleInput.js.map +1 -1
  9. package/dist/ConsoleMenu.js +159 -215
  10. package/dist/ConsoleMenu.js.map +1 -1
  11. package/dist/ConsolePropTypes.js +1 -1
  12. package/dist/ConsolePropTypes.js.map +1 -1
  13. package/dist/ConsoleShortcuts.js +2 -2
  14. package/dist/ConsoleShortcuts.js.map +1 -1
  15. package/dist/ConsoleStatusBar.js +85 -125
  16. package/dist/ConsoleStatusBar.js.map +1 -1
  17. package/dist/StoragePropTypes.js +2 -2
  18. package/dist/StoragePropTypes.js.map +1 -1
  19. package/dist/command-history/CommandHistory.css +5 -2
  20. package/dist/command-history/CommandHistory.css.map +1 -1
  21. package/dist/command-history/CommandHistory.d.ts +5 -0
  22. package/dist/command-history/CommandHistory.d.ts.map +1 -1
  23. package/dist/command-history/CommandHistory.js +303 -391
  24. package/dist/command-history/CommandHistory.js.map +1 -1
  25. package/dist/command-history/CommandHistoryActions.css +4 -0
  26. package/dist/command-history/CommandHistoryActions.css.map +1 -1
  27. package/dist/command-history/CommandHistoryActions.d.ts.map +1 -1
  28. package/dist/command-history/CommandHistoryActions.js +40 -79
  29. package/dist/command-history/CommandHistoryActions.js.map +1 -1
  30. package/dist/command-history/CommandHistoryItem.css +1 -1
  31. package/dist/command-history/CommandHistoryItem.d.ts +5 -0
  32. package/dist/command-history/CommandHistoryItem.d.ts.map +1 -1
  33. package/dist/command-history/CommandHistoryItem.js +15 -9
  34. package/dist/command-history/CommandHistoryItem.js.map +1 -1
  35. package/dist/command-history/CommandHistoryItemTooltip.d.ts +1 -40
  36. package/dist/command-history/CommandHistoryItemTooltip.d.ts.map +1 -1
  37. package/dist/command-history/CommandHistoryItemTooltip.js +139 -189
  38. package/dist/command-history/CommandHistoryItemTooltip.js.map +1 -1
  39. package/dist/command-history/CommandHistoryViewportUpdater.js +30 -35
  40. package/dist/command-history/CommandHistoryViewportUpdater.js.map +1 -1
  41. package/dist/command-history/index.js +5 -5
  42. package/dist/command-history/index.js.map +1 -1
  43. package/dist/common/Code.js +34 -70
  44. package/dist/common/Code.js.map +1 -1
  45. package/dist/common/ConsoleConstants.js +3 -24
  46. package/dist/common/ConsoleConstants.js.map +1 -1
  47. package/dist/common/ConsoleUtils.d.ts +1 -3
  48. package/dist/common/ConsoleUtils.d.ts.map +1 -1
  49. package/dist/common/ConsoleUtils.js +60 -94
  50. package/dist/common/ConsoleUtils.js.map +1 -1
  51. package/dist/common/ObjectIcon.js +4 -2
  52. package/dist/common/ObjectIcon.js.map +1 -1
  53. package/dist/common/index.d.js +1 -34
  54. package/dist/common/index.d.js.map +1 -1
  55. package/dist/common/index.js +4 -4
  56. package/dist/common/index.js.map +1 -1
  57. package/dist/console-history/ConsoleHistory.js +27 -63
  58. package/dist/console-history/ConsoleHistory.js.map +1 -1
  59. package/dist/console-history/ConsoleHistoryItem.js +116 -154
  60. package/dist/console-history/ConsoleHistoryItem.js.map +1 -1
  61. package/dist/console-history/ConsoleHistoryItemResult.js +4 -2
  62. package/dist/console-history/ConsoleHistoryItemResult.js.map +1 -1
  63. package/dist/console-history/ConsoleHistoryResultErrorMessage.js +94 -132
  64. package/dist/console-history/ConsoleHistoryResultErrorMessage.js.map +1 -1
  65. package/dist/console-history/ConsoleHistoryResultInProgress.js +42 -76
  66. package/dist/console-history/ConsoleHistoryResultInProgress.js.map +1 -1
  67. package/dist/console-history/index.js +5 -5
  68. package/dist/console-history/index.js.map +1 -1
  69. package/dist/csv/CsvFormats.js +14 -28
  70. package/dist/csv/CsvFormats.js.map +1 -1
  71. package/dist/csv/CsvInputBar.css +25 -23
  72. package/dist/csv/CsvInputBar.css.map +1 -1
  73. package/dist/csv/CsvInputBar.d.ts +2 -45
  74. package/dist/csv/CsvInputBar.d.ts.map +1 -1
  75. package/dist/csv/CsvInputBar.js +298 -372
  76. package/dist/csv/CsvInputBar.js.map +1 -1
  77. package/dist/csv/CsvOverlay.js +197 -243
  78. package/dist/csv/CsvOverlay.js.map +1 -1
  79. package/dist/csv/CsvParser.js +186 -209
  80. package/dist/csv/CsvParser.js.map +1 -1
  81. package/dist/csv/CsvTypeParser.js +185 -210
  82. package/dist/csv/CsvTypeParser.js.map +1 -1
  83. package/dist/csv/NewTableColumnTypes.js +1 -5
  84. package/dist/csv/NewTableColumnTypes.js.map +1 -1
  85. package/dist/index.js +14 -14
  86. package/dist/index.js.map +1 -1
  87. package/dist/log/LogLevelMenuItem.js +24 -58
  88. package/dist/log/LogLevelMenuItem.js.map +1 -1
  89. package/dist/log/LogView.js +429 -484
  90. package/dist/log/LogView.js.map +1 -1
  91. package/dist/monaco/MonacoCompletionProvider.js +92 -124
  92. package/dist/monaco/MonacoCompletionProvider.js.map +1 -1
  93. package/dist/monaco/MonacoUtils.js +315 -331
  94. package/dist/monaco/MonacoUtils.js.map +1 -1
  95. package/dist/monaco/index.js +2 -2
  96. package/dist/monaco/index.js.map +1 -1
  97. package/dist/monaco/lang/db.js +3 -3
  98. package/dist/monaco/lang/db.js.map +1 -1
  99. package/dist/monaco/lang/groovy.js +3 -3
  100. package/dist/monaco/lang/groovy.js.map +1 -1
  101. package/dist/monaco/lang/log.js +3 -3
  102. package/dist/monaco/lang/log.js.map +1 -1
  103. package/dist/monaco/lang/python.js +3 -3
  104. package/dist/monaco/lang/python.js.map +1 -1
  105. package/dist/monaco/lang/scala.js +5 -5
  106. package/dist/monaco/lang/scala.js.map +1 -1
  107. package/dist/notebook/Editor.js +101 -141
  108. package/dist/notebook/Editor.js.map +1 -1
  109. package/dist/notebook/ScriptEditor.js +261 -301
  110. package/dist/notebook/ScriptEditor.js.map +1 -1
  111. package/dist/notebook/ScriptEditorUtils.js +26 -42
  112. package/dist/notebook/ScriptEditorUtils.js.map +1 -1
  113. package/dist/tsconfig.tsbuildinfo +1 -1
  114. package/package.json +26 -56
@@ -1,211 +1,170 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2
-
3
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
4
-
5
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
6
-
7
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
8
-
9
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
10
-
11
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
12
-
13
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
14
-
15
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
16
-
17
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
18
-
19
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
20
-
21
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
22
-
23
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
24
2
 
25
3
  import React, { Component } from 'react';
26
4
  import PropTypes from 'prop-types';
27
- import { connect } from 'react-redux';
28
5
  import debounce from 'lodash.debounce';
29
6
  import memoize from 'memoizee';
30
7
  import { LoadingSpinner } from '@deephaven/components';
31
- import { getCommandHistoryStorage } from '@deephaven/redux';
32
8
  import { TimeUtils } from '@deephaven/utils';
33
- import Code from '../common/Code';
9
+ import Code from "../common/Code.js";
34
10
  import "./CommandHistoryItemTooltip.css";
35
- import ConsolePropTypes from '../ConsolePropTypes';
36
- import StoragePropTypes from '../StoragePropTypes';
11
+ import ConsolePropTypes from "../ConsolePropTypes.js";
12
+ import StoragePropTypes from "../StoragePropTypes.js";
37
13
  var LOAD_DATA_DEBOUNCE = 250;
38
14
  var MAX_NUMBER_OF_LINES = 2500;
39
- export var CommandHistoryItemTooltip = /*#__PURE__*/function (_Component) {
40
- _inherits(CommandHistoryItemTooltip, _Component);
41
-
42
- var _super = _createSuper(CommandHistoryItemTooltip);
43
-
44
- function CommandHistoryItemTooltip(props) {
45
- var _this;
15
+ export class CommandHistoryItemTooltip extends Component {
16
+ static getTimeString(startTime, endTime) {
17
+ if (!startTime || !endTime) {
18
+ return null;
19
+ }
46
20
 
47
- _classCallCheck(this, CommandHistoryItemTooltip);
21
+ var deltaTime = Math.round((new Date(endTime) - new Date(startTime)) / 1000);
22
+ if (deltaTime < 1) return '<1s';
23
+ return TimeUtils.formatElapsedTime(deltaTime);
24
+ }
48
25
 
49
- _this = _super.call(this, props);
26
+ constructor(props) {
27
+ super(props);
50
28
 
51
- _defineProperty(_assertThisInitialized(_this), "getPreviewText", memoize(function (name) {
52
- return name.split('\n', MAX_NUMBER_OF_LINES).join('\n');
53
- }, {
29
+ _defineProperty(this, "getPreviewText", memoize(name => name.split('\n', MAX_NUMBER_OF_LINES).join('\n'), {
54
30
  max: 1
55
31
  }));
56
32
 
57
- _this.loadData = debounce(_this.loadData.bind(_assertThisInitialized(_this)), LOAD_DATA_DEBOUNCE);
58
- _this.handleUpdate = _this.handleUpdate.bind(_assertThisInitialized(_this));
59
- _this.handleError = _this.handleError.bind(_assertThisInitialized(_this));
60
- _this.handleTimeout = _this.handleTimeout.bind(_assertThisInitialized(_this));
61
- _this.timer = null;
62
- _this.cleanup = null;
63
- _this.state = {
33
+ this.loadData = debounce(this.loadData.bind(this), LOAD_DATA_DEBOUNCE);
34
+ this.handleUpdate = this.handleUpdate.bind(this);
35
+ this.handleError = this.handleError.bind(this);
36
+ this.handleTimeout = this.handleTimeout.bind(this);
37
+ this.timer = null;
38
+ this.cleanup = null;
39
+ this.state = {
64
40
  currentTime: Date.now(),
65
41
  data: null,
66
42
  error: null
67
43
  };
68
- return _this;
69
44
  }
70
45
 
71
- _createClass(CommandHistoryItemTooltip, [{
72
- key: "componentDidMount",
73
- value: function componentDidMount() {
74
- this.loadData();
75
- }
76
- }, {
77
- key: "componentDidUpdate",
78
- value: function componentDidUpdate(prevProps, prevState) {
79
- var _prevState$data, _prevState$data2;
80
-
81
- var data = this.state.data;
82
-
83
- if (this.timer == null && !(data !== null && data !== void 0 && data.result) && data !== null && data !== void 0 && data.startTime && !(data !== null && data !== void 0 && data.endTime)) {
84
- this.startTimer();
85
- } else if (data !== null && data !== void 0 && data.result && !((_prevState$data = prevState.data) !== null && _prevState$data !== void 0 && _prevState$data.result) || data !== null && data !== void 0 && data.endTime && !((_prevState$data2 = prevState.data) !== null && _prevState$data2 !== void 0 && _prevState$data2.endTime)) {
86
- // Command complete
87
- this.stopTimer();
88
- }
89
- }
90
- }, {
91
- key: "componentWillUnmount",
92
- value: function componentWillUnmount() {
93
- this.loadData.cancel();
46
+ componentDidMount() {
47
+ this.loadData();
48
+ }
94
49
 
95
- if (this.cleanup != null) {
96
- this.cleanup();
97
- }
50
+ componentDidUpdate(prevProps, prevState) {
51
+ var _prevState$data, _prevState$data2;
98
52
 
53
+ var {
54
+ data
55
+ } = this.state;
56
+
57
+ if (this.timer == null && !(data !== null && data !== void 0 && data.result) && data !== null && data !== void 0 && data.startTime && !(data !== null && data !== void 0 && data.endTime)) {
58
+ this.startTimer();
59
+ } else if (data !== null && data !== void 0 && data.result && !((_prevState$data = prevState.data) !== null && _prevState$data !== void 0 && _prevState$data.result) || data !== null && data !== void 0 && data.endTime && !((_prevState$data2 = prevState.data) !== null && _prevState$data2 !== void 0 && _prevState$data2.endTime)) {
60
+ // Command complete
99
61
  this.stopTimer();
100
62
  }
101
- }, {
102
- key: "loadData",
103
- value: function loadData() {
104
- var _this$props = this.props,
105
- commandHistoryStorage = _this$props.commandHistoryStorage,
106
- item = _this$props.item,
107
- language = _this$props.language;
108
- var id = item.id;
109
- this.cleanup = commandHistoryStorage.listenItem(language, id, this.handleUpdate, this.handleError);
110
- }
111
- }, {
112
- key: "startTimer",
113
- value: function startTimer() {
114
- this.stopTimer();
115
- this.timer = setInterval(this.handleTimeout, 1000);
116
- }
117
- }, {
118
- key: "stopTimer",
119
- value: function stopTimer() {
120
- if (this.timer) {
121
- clearInterval(this.timer);
122
- this.timer = null;
123
- }
124
- }
125
- }, {
126
- key: "updateTime",
127
- value: function updateTime() {
128
- this.setState({
129
- currentTime: Date.now()
130
- });
131
- }
132
- }, {
133
- key: "handleError",
134
- value: function handleError(error) {
135
- this.setState({
136
- error: "".concat(error)
137
- });
138
- }
139
- }, {
140
- key: "handleUpdate",
141
- value: function handleUpdate(item) {
142
- var _ref = item !== null && item !== void 0 ? item : {},
143
- _ref$data = _ref.data,
144
- data = _ref$data === void 0 ? null : _ref$data;
145
-
146
- this.setState({
147
- data: data
148
- });
149
- var onUpdate = this.props.onUpdate;
150
- onUpdate(data);
151
- }
152
- }, {
153
- key: "handleTimeout",
154
- value: function handleTimeout() {
155
- this.updateTime();
156
- }
157
- }, {
158
- key: "render",
159
- value: function render() {
160
- var _ref3, _result$error$message, _result$error;
161
-
162
- var _this$props2 = this.props,
163
- name = _this$props2.item.name,
164
- language = _this$props2.language;
165
- var _this$state = this.state,
166
- currentTime = _this$state.currentTime,
167
- data = _this$state.data,
168
- error = _this$state.error;
169
-
170
- var _ref2 = data !== null && data !== void 0 ? data : {},
171
- result = _ref2.result,
172
- startTime = _ref2.startTime,
173
- endTime = _ref2.endTime;
174
-
175
- var errorMessage = (_ref3 = (_result$error$message = result === null || result === void 0 ? void 0 : (_result$error = result.error) === null || _result$error === void 0 ? void 0 : _result$error.message) !== null && _result$error$message !== void 0 ? _result$error$message : result === null || result === void 0 ? void 0 : result.error) !== null && _ref3 !== void 0 ? _ref3 : error;
176
- var timeString = CommandHistoryItemTooltip.getTimeString(startTime, endTime || currentTime); // colorizing in monaco is mostly a function of the number of lines,
177
- // it gets real slow after a few thousand lines. Truncate the tooltip
178
- // to avoid UI locks. The full command is still inserted.
179
-
180
- var previewText = this.getPreviewText(name);
181
- return /*#__PURE__*/React.createElement("div", {
182
- className: "command-history-item-tooltip"
183
- }, /*#__PURE__*/React.createElement(Code, {
184
- language: language
185
- }, previewText), previewText.length < name.length && /*#__PURE__*/React.createElement("p", null, "Preview Truncated..."), /*#__PURE__*/React.createElement("div", {
186
- className: "result-info"
187
- }, !timeString && /*#__PURE__*/React.createElement(LoadingSpinner, null), timeString && /*#__PURE__*/React.createElement("div", {
188
- className: "time-string"
189
- }, timeString)), errorMessage && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("hr", null), /*#__PURE__*/React.createElement("div", {
190
- key: "error",
191
- className: "error-message"
192
- }, errorMessage)));
63
+ }
64
+
65
+ componentWillUnmount() {
66
+ this.loadData.cancel();
67
+
68
+ if (this.cleanup != null) {
69
+ this.cleanup();
193
70
  }
194
- }], [{
195
- key: "getTimeString",
196
- value: function getTimeString(startTime, endTime) {
197
- if (!startTime || !endTime) {
198
- return null;
199
- }
200
-
201
- var deltaTime = Math.round((new Date(endTime) - new Date(startTime)) / 1000);
202
- if (deltaTime < 1) return '<1s';
203
- return TimeUtils.formatElapsedTime(deltaTime);
71
+
72
+ this.stopTimer();
73
+ }
74
+
75
+ loadData() {
76
+ var {
77
+ commandHistoryStorage,
78
+ item,
79
+ language
80
+ } = this.props;
81
+ var {
82
+ id
83
+ } = item;
84
+ this.cleanup = commandHistoryStorage.listenItem(language, id, this.handleUpdate, this.handleError);
85
+ }
86
+
87
+ startTimer() {
88
+ this.stopTimer();
89
+ this.timer = setInterval(this.handleTimeout, 1000);
90
+ }
91
+
92
+ stopTimer() {
93
+ if (this.timer) {
94
+ clearInterval(this.timer);
95
+ this.timer = null;
204
96
  }
205
- }]);
97
+ }
206
98
 
207
- return CommandHistoryItemTooltip;
208
- }(Component);
99
+ updateTime() {
100
+ this.setState({
101
+ currentTime: Date.now()
102
+ });
103
+ }
104
+
105
+ handleError(error) {
106
+ this.setState({
107
+ error: "".concat(error)
108
+ });
109
+ }
110
+
111
+ handleUpdate(item) {
112
+ var {
113
+ data = null
114
+ } = item !== null && item !== void 0 ? item : {};
115
+ this.setState({
116
+ data
117
+ });
118
+ var {
119
+ onUpdate
120
+ } = this.props;
121
+ onUpdate(data);
122
+ }
123
+
124
+ handleTimeout() {
125
+ this.updateTime();
126
+ }
127
+
128
+ render() {
129
+ var _ref, _result$error$message, _result$error;
130
+
131
+ var {
132
+ item: {
133
+ name
134
+ },
135
+ language
136
+ } = this.props;
137
+ var {
138
+ currentTime,
139
+ data,
140
+ error
141
+ } = this.state;
142
+ var {
143
+ result,
144
+ startTime,
145
+ endTime
146
+ } = data !== null && data !== void 0 ? data : {};
147
+ var errorMessage = (_ref = (_result$error$message = result === null || result === void 0 ? void 0 : (_result$error = result.error) === null || _result$error === void 0 ? void 0 : _result$error.message) !== null && _result$error$message !== void 0 ? _result$error$message : result === null || result === void 0 ? void 0 : result.error) !== null && _ref !== void 0 ? _ref : error;
148
+ var timeString = CommandHistoryItemTooltip.getTimeString(startTime, endTime || currentTime); // colorizing in monaco is mostly a function of the number of lines,
149
+ // it gets real slow after a few thousand lines. Truncate the tooltip
150
+ // to avoid UI locks. The full command is still inserted.
151
+
152
+ var previewText = this.getPreviewText(name);
153
+ return /*#__PURE__*/React.createElement("div", {
154
+ className: "command-history-item-tooltip"
155
+ }, /*#__PURE__*/React.createElement(Code, {
156
+ language: language
157
+ }, previewText), previewText.length < name.length && /*#__PURE__*/React.createElement("p", null, "Preview Truncated..."), /*#__PURE__*/React.createElement("div", {
158
+ className: "result-info"
159
+ }, !timeString && /*#__PURE__*/React.createElement(LoadingSpinner, null), timeString && /*#__PURE__*/React.createElement("div", {
160
+ className: "time-string"
161
+ }, timeString)), errorMessage && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("hr", null), /*#__PURE__*/React.createElement("div", {
162
+ key: "error",
163
+ className: "error-message"
164
+ }, errorMessage)));
165
+ }
166
+
167
+ }
209
168
  CommandHistoryItemTooltip.propTypes = {
210
169
  item: ConsolePropTypes.CommandHistoryItem.isRequired,
211
170
  language: PropTypes.string.isRequired,
@@ -213,16 +172,7 @@ CommandHistoryItemTooltip.propTypes = {
213
172
  commandHistoryStorage: StoragePropTypes.CommandHistoryStorage.isRequired
214
173
  };
215
174
  CommandHistoryItemTooltip.defaultProps = {
216
- onUpdate: function onUpdate() {}
175
+ onUpdate: () => {}
217
176
  };
218
-
219
- var mapStateToProps = function mapStateToProps(state) {
220
- return {
221
- commandHistoryStorage: getCommandHistoryStorage(state)
222
- };
223
- };
224
-
225
- export default connect(mapStateToProps, null, null, {
226
- forwardRef: true
227
- })(CommandHistoryItemTooltip);
177
+ export default CommandHistoryItemTooltip;
228
178
  //# sourceMappingURL=CommandHistoryItemTooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/command-history/CommandHistoryItemTooltip.jsx"],"names":["React","Component","PropTypes","connect","debounce","memoize","LoadingSpinner","getCommandHistoryStorage","TimeUtils","Code","ConsolePropTypes","StoragePropTypes","LOAD_DATA_DEBOUNCE","MAX_NUMBER_OF_LINES","CommandHistoryItemTooltip","props","name","split","join","max","loadData","bind","handleUpdate","handleError","handleTimeout","timer","cleanup","state","currentTime","Date","now","data","error","prevProps","prevState","result","startTime","endTime","startTimer","stopTimer","cancel","commandHistoryStorage","item","language","id","listenItem","setInterval","clearInterval","setState","onUpdate","updateTime","errorMessage","message","timeString","getTimeString","previewText","getPreviewText","length","deltaTime","Math","round","formatElapsedTime","propTypes","CommandHistoryItem","isRequired","string","func","CommandHistoryStorage","defaultProps","mapStateToProps","forwardRef"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport debounce from 'lodash.debounce';\nimport memoize from 'memoizee';\nimport { LoadingSpinner } from '@deephaven/components';\nimport { getCommandHistoryStorage } from '@deephaven/redux';\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\nconst mapStateToProps = state => ({\n commandHistoryStorage: getCommandHistoryStorage(state),\n});\n\nexport default connect(mapStateToProps, null, null, { forwardRef: true })(\n CommandHistoryItemTooltip\n);\n"],"file":"CommandHistoryItemTooltip.js"}
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":";;AAAA,OAAOA,KAAP,IAAgBC,SAAhB,QAAiC,OAAjC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,QAAP,MAAqB,iBAArB;AACA,OAAOC,OAAP,MAAoB,UAApB;AACA,SAASC,cAAT,QAA+B,uBAA/B;AACA,SAASC,SAAT,QAA0B,kBAA1B;OACOC,I;;OAEAC,gB;OACAC,gB;AAEP,IAAMC,kBAAkB,GAAG,GAA3B;AACA,IAAMC,mBAAmB,GAAG,IAA5B;AAEA,OAAO,MAAMC,yBAAN,SAAwCX,SAAxC,CAAkD;AACnC,SAAbY,aAAa,CAACC,SAAD,EAAYC,OAAZ,EAAqB;AACvC,QAAI,CAACD,SAAD,IAAc,CAACC,OAAnB,EAA4B;AAC1B,aAAO,IAAP;AACD;;AAED,QAAMC,SAAS,GAAGC,IAAI,CAACC,KAAL,CAChB,CAAC,IAAIC,IAAJ,CAASJ,OAAT,IAAoB,IAAII,IAAJ,CAASL,SAAT,CAArB,IAA4C,IAD5B,CAAlB;AAIA,QAAIE,SAAS,GAAG,CAAhB,EAAmB,OAAO,KAAP;AAEnB,WAAOV,SAAS,CAACc,iBAAV,CAA4BJ,SAA5B,CAAP;AACD;;AAEDK,EAAAA,WAAW,CAACC,KAAD,EAAQ;AACjB,UAAMA,KAAN;;AADiB,4CA+FFlB,OAAO,CACtBmB,IAAI,IAAIA,IAAI,CAACC,KAAL,CAAW,IAAX,EAAiBb,mBAAjB,EAAsCc,IAAtC,CAA2C,IAA3C,CADc,EAEtB;AAAEC,MAAAA,GAAG,EAAE;AAAP,KAFsB,CA/FL;;AAGjB,SAAKC,QAAL,GAAgBxB,QAAQ,CAAC,KAAKwB,QAAL,CAAcC,IAAd,CAAmB,IAAnB,CAAD,EAA2BlB,kBAA3B,CAAxB;AACA,SAAKmB,YAAL,GAAoB,KAAKA,YAAL,CAAkBD,IAAlB,CAAuB,IAAvB,CAApB;AACA,SAAKE,WAAL,GAAmB,KAAKA,WAAL,CAAiBF,IAAjB,CAAsB,IAAtB,CAAnB;AACA,SAAKG,aAAL,GAAqB,KAAKA,aAAL,CAAmBH,IAAnB,CAAwB,IAAxB,CAArB;AAEA,SAAKI,KAAL,GAAa,IAAb;AACA,SAAKC,OAAL,GAAe,IAAf;AAEA,SAAKC,KAAL,GAAa;AACXC,MAAAA,WAAW,EAAEhB,IAAI,CAACiB,GAAL,EADF;AAEXC,MAAAA,IAAI,EAAE,IAFK;AAGXC,MAAAA,KAAK,EAAE;AAHI,KAAb;AAKD;;AAEDC,EAAAA,iBAAiB,GAAG;AAClB,SAAKZ,QAAL;AACD;;AAEDa,EAAAA,kBAAkB,CAACC,SAAD,EAAYC,SAAZ,EAAuB;AAAA;;AACvC,QAAM;AAAEL,MAAAA;AAAF,QAAW,KAAKH,KAAtB;;AAEA,QACE,KAAKF,KAAL,IAAc,IAAd,IACA,EAACK,IAAD,aAACA,IAAD,eAACA,IAAI,CAAEM,MAAP,CADA,IAEAN,IAFA,aAEAA,IAFA,eAEAA,IAAI,CAAEvB,SAFN,IAGA,EAACuB,IAAD,aAACA,IAAD,eAACA,IAAI,CAAEtB,OAAP,CAJF,EAKE;AACA,WAAK6B,UAAL;AACD,KAPD,MAOO,IACJP,IAAI,SAAJ,IAAAA,IAAI,WAAJ,IAAAA,IAAI,CAAEM,MAAN,IAAgB,qBAACD,SAAS,CAACL,IAAX,4CAAC,gBAAgBM,MAAjB,CAAjB,IACCN,IAAI,SAAJ,IAAAA,IAAI,WAAJ,IAAAA,IAAI,CAAEtB,OAAN,IAAiB,sBAAC2B,SAAS,CAACL,IAAX,6CAAC,iBAAgBtB,OAAjB,CAFb,EAGL;AACA;AACA,WAAK8B,SAAL;AACD;AACF;;AAEDC,EAAAA,oBAAoB,GAAG;AACrB,SAAKnB,QAAL,CAAcoB,MAAd;;AACA,QAAI,KAAKd,OAAL,IAAgB,IAApB,EAA0B;AACxB,WAAKA,OAAL;AACD;;AACD,SAAKY,SAAL;AACD;;AAEDlB,EAAAA,QAAQ,GAAG;AACT,QAAM;AAAEqB,MAAAA,qBAAF;AAAyBC,MAAAA,IAAzB;AAA+BC,MAAAA;AAA/B,QAA4C,KAAK5B,KAAvD;AACA,QAAM;AAAE6B,MAAAA;AAAF,QAASF,IAAf;AACA,SAAKhB,OAAL,GAAee,qBAAqB,CAACI,UAAtB,CACbF,QADa,EAEbC,EAFa,EAGb,KAAKtB,YAHQ,EAIb,KAAKC,WAJQ,CAAf;AAMD;;AAEDc,EAAAA,UAAU,GAAG;AACX,SAAKC,SAAL;AAEA,SAAKb,KAAL,GAAaqB,WAAW,CAAC,KAAKtB,aAAN,EAAqB,IAArB,CAAxB;AACD;;AAEDc,EAAAA,SAAS,GAAG;AACV,QAAI,KAAKb,KAAT,EAAgB;AACdsB,MAAAA,aAAa,CAAC,KAAKtB,KAAN,CAAb;AACA,WAAKA,KAAL,GAAa,IAAb;AACD;AACF;;AAEDuB,EAAAA,UAAU,GAAG;AACX,SAAKC,QAAL,CAAc;AACZrB,MAAAA,WAAW,EAAEhB,IAAI,CAACiB,GAAL;AADD,KAAd;AAGD;;AAEDN,EAAAA,WAAW,CAACQ,KAAD,EAAQ;AACjB,SAAKkB,QAAL,CAAc;AAAElB,MAAAA,KAAK,YAAKA,KAAL;AAAP,KAAd;AACD;;AAEDT,EAAAA,YAAY,CAACoB,IAAD,EAAO;AACjB,QAAM;AAAEZ,MAAAA,IAAI,GAAG;AAAT,QAAkBY,IAAlB,aAAkBA,IAAlB,cAAkBA,IAAlB,GAA0B,EAAhC;AACA,SAAKO,QAAL,CAAc;AAAEnB,MAAAA;AAAF,KAAd;AAEA,QAAM;AAAEoB,MAAAA;AAAF,QAAe,KAAKnC,KAA1B;AACAmC,IAAAA,QAAQ,CAACpB,IAAD,CAAR;AACD;;AAEDN,EAAAA,aAAa,GAAG;AACd,SAAKwB,UAAL;AACD;;AAODG,EAAAA,MAAM,GAAG;AAAA;;AACP,QAAM;AACJT,MAAAA,IAAI,EAAE;AAAE1B,QAAAA;AAAF,OADF;AAEJ2B,MAAAA;AAFI,QAGF,KAAK5B,KAHT;AAIA,QAAM;AAAEa,MAAAA,WAAF;AAAeE,MAAAA,IAAf;AAAqBC,MAAAA;AAArB,QAA+B,KAAKJ,KAA1C;AACA,QAAM;AAAES,MAAAA,MAAF;AAAU7B,MAAAA,SAAV;AAAqBC,MAAAA;AAArB,QAAiCsB,IAAjC,aAAiCA,IAAjC,cAAiCA,IAAjC,GAAyC,EAA/C;AACA,QAAMsB,YAAY,oCAAGhB,MAAH,aAAGA,MAAH,wCAAGA,MAAM,CAAEL,KAAX,kDAAG,cAAesB,OAAlB,yEAA6BjB,MAA7B,aAA6BA,MAA7B,uBAA6BA,MAAM,CAAEL,KAArC,uCAA8CA,KAAhE;AACA,QAAMuB,UAAU,GAAGjD,yBAAyB,CAACC,aAA1B,CACjBC,SADiB,EAEjBC,OAAO,IAAIoB,WAFM,CAAnB,CARO,CAaP;AACA;AACA;;AACA,QAAM2B,WAAW,GAAG,KAAKC,cAAL,CAAoBxC,IAApB,CAApB;AAEA,wBACE;AAAK,MAAA,SAAS,EAAC;AAAf,oBACE,oBAAC,IAAD;AAAM,MAAA,QAAQ,EAAE2B;AAAhB,OAA2BY,WAA3B,CADF,EAEGA,WAAW,CAACE,MAAZ,GAAqBzC,IAAI,CAACyC,MAA1B,iBAAoC,sDAFvC,eAGE;AAAK,MAAA,SAAS,EAAC;AAAf,OACG,CAACH,UAAD,iBAAe,oBAAC,cAAD,OADlB,EAEGA,UAAU,iBAAI;AAAK,MAAA,SAAS,EAAC;AAAf,OAA8BA,UAA9B,CAFjB,CAHF,EAOGF,YAAY,iBACX,uDACE,+BADF,eAEE;AAAK,MAAA,GAAG,EAAC,OAAT;AAAiB,MAAA,SAAS,EAAC;AAA3B,OACGA,YADH,CAFF,CARJ,CADF;AAkBD;;AAvJsD;AA0JzD/C,yBAAyB,CAACqD,SAA1B,GAAsC;AACpChB,EAAAA,IAAI,EAAEzC,gBAAgB,CAAC0D,kBAAjB,CAAoCC,UADN;AAEpCjB,EAAAA,QAAQ,EAAEhD,SAAS,CAACkE,MAAV,CAAiBD,UAFS;AAGpCV,EAAAA,QAAQ,EAAEvD,SAAS,CAACmE,IAHgB;AAIpCrB,EAAAA,qBAAqB,EAAEvC,gBAAgB,CAAC6D,qBAAjB,CAAuCH;AAJ1B,CAAtC;AAOAvD,yBAAyB,CAAC2D,YAA1B,GAAyC;AACvCd,EAAAA,QAAQ,EAAE,MAAM,CAAE;AADqB,CAAzC;AAIA,eAAe7C,yBAAf","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"}
@@ -6,30 +6,27 @@ var ROW_BUFFER_PAGES = 3;
6
6
  var log = Log.module('CommandHistoryViewportUpdater');
7
7
 
8
8
  function CommandHistoryViewportUpdater(_ref) {
9
- var table = _ref.table,
10
- columns = _ref.columns,
11
- _ref$top = _ref.top,
12
- top = _ref$top === void 0 ? 0 : _ref$top,
13
- _ref$bottom = _ref.bottom,
14
- bottom = _ref$bottom === void 0 ? 0 : _ref$bottom,
15
- search = _ref.search,
16
- _ref$isReversed = _ref.isReversed,
17
- isReversed = _ref$isReversed === void 0 ? false : _ref$isReversed,
18
- onUpdate = _ref.onUpdate;
19
- var throttledUpdateViewport = useMemo(function () {
20
- return throttle(function (viewport) {
21
- var viewHeight = viewport.bottom - viewport.top;
22
- var bufferedTop = Math.max(0, viewport.top - viewHeight * ROW_BUFFER_PAGES);
23
- var bufferedBottom = viewport.bottom + viewHeight * ROW_BUFFER_PAGES;
24
- table.setViewport({
25
- top: bufferedTop,
26
- bottom: bufferedBottom,
27
- columns: viewport.columns
28
- });
29
- }, UPDATE_DELAY);
30
- }, [table]);
31
- useEffect(function () {
32
- var cleanup = table.onUpdate(function (viewportData) {
9
+ var {
10
+ table,
11
+ columns,
12
+ top = 0,
13
+ bottom = 0,
14
+ search,
15
+ isReversed = false,
16
+ onUpdate
17
+ } = _ref;
18
+ var throttledUpdateViewport = useMemo(() => throttle(viewport => {
19
+ var viewHeight = viewport.bottom - viewport.top;
20
+ var bufferedTop = Math.max(0, viewport.top - viewHeight * ROW_BUFFER_PAGES);
21
+ var bufferedBottom = viewport.bottom + viewHeight * ROW_BUFFER_PAGES;
22
+ table.setViewport({
23
+ top: bufferedTop,
24
+ bottom: bufferedBottom,
25
+ columns: viewport.columns
26
+ });
27
+ }, UPDATE_DELAY), [table]);
28
+ useEffect(() => {
29
+ var cleanup = table.onUpdate(viewportData => {
33
30
  var _viewportData$items, _viewportData$offset;
34
31
 
35
32
  onUpdate({
@@ -37,26 +34,24 @@ function CommandHistoryViewportUpdater(_ref) {
37
34
  offset: (_viewportData$offset = viewportData.offset) !== null && _viewportData$offset !== void 0 ? _viewportData$offset : 0
38
35
  });
39
36
  });
40
- return function () {
37
+ return () => {
41
38
  log.debug('onUpdate cleanup');
42
39
  cleanup();
43
40
  };
44
41
  }, [table, onUpdate]);
45
- useEffect(function () {
42
+ useEffect(() => {
46
43
  table.setSearch(search !== null && search !== void 0 ? search : '');
47
44
  }, [table, search]);
48
- useEffect(function () {
45
+ useEffect(() => {
49
46
  throttledUpdateViewport({
50
- top: top,
51
- bottom: bottom,
52
- columns: columns
47
+ top,
48
+ bottom,
49
+ columns
53
50
  });
54
51
  }, [throttledUpdateViewport, top, bottom, columns, search, isReversed]);
55
- useEffect(function () {
56
- return function () {
57
- log.debug2('Cancel throttledUpdateViewport');
58
- throttledUpdateViewport.cancel();
59
- };
52
+ useEffect(() => () => {
53
+ log.debug2('Cancel throttledUpdateViewport');
54
+ throttledUpdateViewport.cancel();
60
55
  }, [throttledUpdateViewport]);
61
56
  return null;
62
57
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/command-history/CommandHistoryViewportUpdater.tsx"],"names":["useEffect","useMemo","throttle","Log","UPDATE_DELAY","ROW_BUFFER_PAGES","log","module","CommandHistoryViewportUpdater","table","columns","top","bottom","search","isReversed","onUpdate","throttledUpdateViewport","viewport","viewHeight","bufferedTop","Math","max","bufferedBottom","setViewport","cleanup","viewportData","items","offset","debug","setSearch","debug2","cancel"],"mappings":"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","sourcesContent":["import { useEffect, useMemo } from 'react';\nimport throttle from 'lodash.throttle';\nimport {\n StorageTableViewport,\n ViewportData,\n ViewportUpdateCallback,\n} from '@deephaven/storage';\nimport Log from '@deephaven/log';\nimport {\n CommandHistoryStorageItem,\n CommandHistoryTable,\n} from './CommandHistoryStorage';\n\nexport type CommandHistoryViewportUpdaterProps = {\n table: CommandHistoryTable;\n columns?: string[];\n top?: number;\n bottom?: number;\n search?: string;\n isReversed?: boolean;\n onUpdate: ViewportUpdateCallback<CommandHistoryStorageItem>;\n};\n\nconst UPDATE_DELAY = 150;\n\nconst ROW_BUFFER_PAGES = 3;\n\nconst log = Log.module('CommandHistoryViewportUpdater');\n\nfunction CommandHistoryViewportUpdater({\n table,\n columns,\n top = 0,\n bottom = 0,\n search,\n isReversed = false,\n onUpdate,\n}: CommandHistoryViewportUpdaterProps): null {\n const throttledUpdateViewport = useMemo(\n () =>\n throttle((viewport: StorageTableViewport) => {\n const viewHeight = viewport.bottom - viewport.top;\n const bufferedTop = Math.max(\n 0,\n viewport.top - viewHeight * ROW_BUFFER_PAGES\n );\n const bufferedBottom = viewport.bottom + viewHeight * ROW_BUFFER_PAGES;\n\n table.setViewport({\n top: bufferedTop,\n bottom: bufferedBottom,\n columns: viewport.columns,\n });\n }, UPDATE_DELAY),\n [table]\n );\n\n useEffect(() => {\n 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 }, [table, onUpdate]);\n\n useEffect(() => {\n table.setSearch(search ?? '');\n }, [table, search]);\n\n useEffect(() => {\n throttledUpdateViewport({\n top,\n bottom,\n columns,\n });\n }, [throttledUpdateViewport, top, bottom, columns, search, isReversed]);\n\n useEffect(\n () => () => {\n log.debug2('Cancel throttledUpdateViewport');\n throttledUpdateViewport.cancel();\n },\n [throttledUpdateViewport]\n );\n\n return null;\n}\n\nexport default CommandHistoryViewportUpdater;\n"],"file":"CommandHistoryViewportUpdater.js"}
1
+ {"version":3,"sources":["../../src/command-history/CommandHistoryViewportUpdater.tsx"],"names":["useEffect","useMemo","throttle","Log","UPDATE_DELAY","ROW_BUFFER_PAGES","log","module","CommandHistoryViewportUpdater","table","columns","top","bottom","search","isReversed","onUpdate","throttledUpdateViewport","viewport","viewHeight","bufferedTop","Math","max","bufferedBottom","setViewport","cleanup","viewportData","items","offset","debug","setSearch","debug2","cancel"],"mappings":"AAAA,SAASA,SAAT,EAAoBC,OAApB,QAAmC,OAAnC;AACA,OAAOC,QAAP,MAAqB,iBAArB;AAMA,OAAOC,GAAP,MAAgB,gBAAhB;AAgBA,IAAMC,YAAY,GAAG,GAArB;AAEA,IAAMC,gBAAgB,GAAG,CAAzB;AAEA,IAAMC,GAAG,GAAGH,GAAG,CAACI,MAAJ,CAAW,+BAAX,CAAZ;;AAEA,SAASC,6BAAT,OAQ6C;AAAA,MARN;AACrCC,IAAAA,KADqC;AAErCC,IAAAA,OAFqC;AAGrCC,IAAAA,GAAG,GAAG,CAH+B;AAIrCC,IAAAA,MAAM,GAAG,CAJ4B;AAKrCC,IAAAA,MALqC;AAMrCC,IAAAA,UAAU,GAAG,KANwB;AAOrCC,IAAAA;AAPqC,GAQM;AAC3C,MAAMC,uBAAuB,GAAGf,OAAO,CACrC,MACEC,QAAQ,CAAEe,QAAD,IAAoC;AAC3C,QAAMC,UAAU,GAAGD,QAAQ,CAACL,MAAT,GAAkBK,QAAQ,CAACN,GAA9C;AACA,QAAMQ,WAAW,GAAGC,IAAI,CAACC,GAAL,CAClB,CADkB,EAElBJ,QAAQ,CAACN,GAAT,GAAeO,UAAU,GAAGb,gBAFV,CAApB;AAIA,QAAMiB,cAAc,GAAGL,QAAQ,CAACL,MAAT,GAAkBM,UAAU,GAAGb,gBAAtD;AAEAI,IAAAA,KAAK,CAACc,WAAN,CAAkB;AAChBZ,MAAAA,GAAG,EAAEQ,WADW;AAEhBP,MAAAA,MAAM,EAAEU,cAFQ;AAGhBZ,MAAAA,OAAO,EAAEO,QAAQ,CAACP;AAHF,KAAlB;AAKD,GAbO,EAaLN,YAbK,CAF2B,EAgBrC,CAACK,KAAD,CAhBqC,CAAvC;AAmBAT,EAAAA,SAAS,CAAC,MAAM;AACd,QAAMwB,OAAO,GAAGf,KAAK,CAACM,QAAN,CACbU,YAAD,IAA2D;AAAA;;AACzDV,MAAAA,QAAQ,CAAC;AACPW,QAAAA,KAAK,yBAAED,YAAY,CAACC,KAAf,qEAAwB,EADtB;AAEPC,QAAAA,MAAM,0BAAEF,YAAY,CAACE,MAAf,uEAAyB;AAFxB,OAAD,CAAR;AAID,KANa,CAAhB;AASA,WAAO,MAAM;AACXrB,MAAAA,GAAG,CAACsB,KAAJ,CAAU,kBAAV;AACAJ,MAAAA,OAAO;AACR,KAHD;AAID,GAdQ,EAcN,CAACf,KAAD,EAAQM,QAAR,CAdM,CAAT;AAgBAf,EAAAA,SAAS,CAAC,MAAM;AACdS,IAAAA,KAAK,CAACoB,SAAN,CAAgBhB,MAAhB,aAAgBA,MAAhB,cAAgBA,MAAhB,GAA0B,EAA1B;AACD,GAFQ,EAEN,CAACJ,KAAD,EAAQI,MAAR,CAFM,CAAT;AAIAb,EAAAA,SAAS,CAAC,MAAM;AACdgB,IAAAA,uBAAuB,CAAC;AACtBL,MAAAA,GADsB;AAEtBC,MAAAA,MAFsB;AAGtBF,MAAAA;AAHsB,KAAD,CAAvB;AAKD,GANQ,EAMN,CAACM,uBAAD,EAA0BL,GAA1B,EAA+BC,MAA/B,EAAuCF,OAAvC,EAAgDG,MAAhD,EAAwDC,UAAxD,CANM,CAAT;AAQAd,EAAAA,SAAS,CACP,MAAM,MAAM;AACVM,IAAAA,GAAG,CAACwB,MAAJ,CAAW,gCAAX;AACAd,IAAAA,uBAAuB,CAACe,MAAxB;AACD,GAJM,EAKP,CAACf,uBAAD,CALO,CAAT;AAQA,SAAO,IAAP;AACD;;AAED,eAAeR,6BAAf","sourcesContent":["import { useEffect, useMemo } from 'react';\nimport throttle from 'lodash.throttle';\nimport {\n StorageTableViewport,\n ViewportData,\n ViewportUpdateCallback,\n} from '@deephaven/storage';\nimport Log from '@deephaven/log';\nimport {\n CommandHistoryStorageItem,\n CommandHistoryTable,\n} from './CommandHistoryStorage';\n\nexport type CommandHistoryViewportUpdaterProps = {\n table: CommandHistoryTable;\n columns?: string[];\n top?: number;\n bottom?: number;\n search?: string;\n isReversed?: boolean;\n onUpdate: ViewportUpdateCallback<CommandHistoryStorageItem>;\n};\n\nconst UPDATE_DELAY = 150;\n\nconst ROW_BUFFER_PAGES = 3;\n\nconst log = Log.module('CommandHistoryViewportUpdater');\n\nfunction CommandHistoryViewportUpdater({\n table,\n columns,\n top = 0,\n bottom = 0,\n search,\n isReversed = false,\n onUpdate,\n}: CommandHistoryViewportUpdaterProps): null {\n const throttledUpdateViewport = useMemo(\n () =>\n throttle((viewport: StorageTableViewport) => {\n const viewHeight = viewport.bottom - viewport.top;\n const bufferedTop = Math.max(\n 0,\n viewport.top - viewHeight * ROW_BUFFER_PAGES\n );\n const bufferedBottom = viewport.bottom + viewHeight * ROW_BUFFER_PAGES;\n\n table.setViewport({\n top: bufferedTop,\n bottom: bufferedBottom,\n columns: viewport.columns,\n });\n }, UPDATE_DELAY),\n [table]\n );\n\n useEffect(() => {\n 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 }, [table, onUpdate]);\n\n useEffect(() => {\n table.setSearch(search ?? '');\n }, [table, search]);\n\n useEffect(() => {\n throttledUpdateViewport({\n top,\n bottom,\n columns,\n });\n }, [throttledUpdateViewport, top, bottom, columns, search, isReversed]);\n\n useEffect(\n () => () => {\n log.debug2('Cancel throttledUpdateViewport');\n throttledUpdateViewport.cancel();\n },\n [throttledUpdateViewport]\n );\n\n return null;\n}\n\nexport default CommandHistoryViewportUpdater;\n"],"file":"CommandHistoryViewportUpdater.js"}
@@ -1,6 +1,6 @@
1
- export { default as CommandHistory } from './CommandHistory';
2
- export { default as CommandHistoryActions } from './CommandHistoryActions';
3
- export { default as CommandHistoryItem } from './CommandHistoryItem';
4
- export { default as CommandHistoryItemTooltip } from './CommandHistoryItemTooltip';
5
- export * from './CommandHistoryStorage';
1
+ export { default as CommandHistory } from "./CommandHistory.js";
2
+ export { default as CommandHistoryActions } from "./CommandHistoryActions.js";
3
+ export { default as CommandHistoryItem } from "./CommandHistoryItem.js";
4
+ export { default as CommandHistoryItemTooltip } from "./CommandHistoryItemTooltip.js";
5
+ export * from "./CommandHistoryStorage.js";
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/command-history/index.jsx"],"names":["default","CommandHistory","CommandHistoryActions","CommandHistoryItem","CommandHistoryItemTooltip"],"mappings":"AAAA,SAASA,OAAO,IAAIC,cAApB,QAA0C,kBAA1C;AACA,SAASD,OAAO,IAAIE,qBAApB,QAAiD,yBAAjD;AACA,SAASF,OAAO,IAAIG,kBAApB,QAA8C,sBAA9C;AACA,SAASH,OAAO,IAAII,yBAApB,QAAqD,6BAArD;AACA,cAAc,yBAAd","sourcesContent":["export { default as CommandHistory } from './CommandHistory';\nexport { default as CommandHistoryActions } from './CommandHistoryActions';\nexport { default as CommandHistoryItem } from './CommandHistoryItem';\nexport { default as CommandHistoryItemTooltip } from './CommandHistoryItemTooltip';\nexport * from './CommandHistoryStorage';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/command-history/index.jsx"],"names":["default","CommandHistory","CommandHistoryActions","CommandHistoryItem","CommandHistoryItemTooltip"],"mappings":"SAASA,OAAO,IAAIC,c;SACXD,OAAO,IAAIE,qB;SACXF,OAAO,IAAIG,kB;SACXH,OAAO,IAAII,yB","sourcesContent":["export { default as CommandHistory } from './CommandHistory';\nexport { default as CommandHistoryActions } from './CommandHistoryActions';\nexport { default as CommandHistoryItem } from './CommandHistoryItem';\nexport { default as CommandHistoryItemTooltip } from './CommandHistoryItemTooltip';\nexport * from './CommandHistoryStorage';\n"],"file":"index.js"}