@deephaven/console 1.22.1-alpha-pivot-builder.0 → 1.22.2-alpha-pivot-builder.0
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/Console.js +85 -141
- package/dist/Console.js.map +1 -1
- package/dist/ConsoleInput.js +23 -41
- package/dist/ConsoleInput.js.map +1 -1
- package/dist/ConsoleObjectsMenu.js +13 -8
- package/dist/ConsoleObjectsMenu.js.map +1 -1
- package/dist/ConsoleStatusBar.js +15 -10
- package/dist/ConsoleStatusBar.js.map +1 -1
- package/dist/HeapUsage.js +33 -26
- package/dist/HeapUsage.js.map +1 -1
- package/dist/command-history/CommandHistory.js +45 -76
- package/dist/command-history/CommandHistory.js.map +1 -1
- package/dist/command-history/CommandHistoryActions.js +3 -4
- package/dist/command-history/CommandHistoryActions.js.map +1 -1
- package/dist/command-history/CommandHistoryItem.js +5 -6
- package/dist/command-history/CommandHistoryItem.js.map +1 -1
- package/dist/command-history/CommandHistoryItemTooltip.js +20 -33
- package/dist/command-history/CommandHistoryItemTooltip.js.map +1 -1
- package/dist/command-history/CommandHistoryViewportUpdater.js +10 -9
- package/dist/command-history/CommandHistoryViewportUpdater.js.map +1 -1
- package/dist/common/Code.js +14 -8
- package/dist/common/Code.js.map +1 -1
- package/dist/common/ObjectIcon.js +1 -3
- package/dist/common/ObjectIcon.js.map +1 -1
- package/dist/console-history/ConsoleHistory.js +8 -9
- package/dist/console-history/ConsoleHistory.js.map +1 -1
- package/dist/console-history/ConsoleHistoryItem.js +17 -32
- package/dist/console-history/ConsoleHistoryItem.js.map +1 -1
- package/dist/console-history/ConsoleHistoryItemActions.js +3 -5
- package/dist/console-history/ConsoleHistoryItemActions.js.map +1 -1
- package/dist/console-history/ConsoleHistoryItemResult.js +1 -3
- package/dist/console-history/ConsoleHistoryItemResult.js.map +1 -1
- package/dist/console-history/ConsoleHistoryItemTooltip.js +4 -8
- package/dist/console-history/ConsoleHistoryItemTooltip.js.map +1 -1
- package/dist/console-history/ConsoleHistoryResultErrorMessage.js +4 -7
- package/dist/console-history/ConsoleHistoryResultErrorMessage.js.map +1 -1
- package/dist/console-history/ConsoleHistoryResultInProgress.js +4 -7
- package/dist/console-history/ConsoleHistoryResultInProgress.js.map +1 -1
- package/dist/csv/CsvInputBar.js +51 -67
- package/dist/csv/CsvInputBar.js.map +1 -1
- package/dist/csv/CsvOverlay.js +19 -31
- package/dist/csv/CsvOverlay.js.map +1 -1
- package/dist/csv/CsvParser.js +25 -36
- package/dist/csv/CsvParser.js.map +1 -1
- package/dist/csv/CsvTypeParser.js +4 -10
- package/dist/csv/CsvTypeParser.js.map +1 -1
- package/dist/log/LogLevelMenuItem.js +6 -8
- package/dist/log/LogLevelMenuItem.js.map +1 -1
- package/dist/log/LogView.js +9 -27
- package/dist/log/LogView.js.map +1 -1
- package/dist/monaco/MonacoProviders.js +27 -41
- package/dist/monaco/MonacoProviders.js.map +1 -1
- package/dist/monaco/MonacoThemeProvider.js +3 -6
- package/dist/monaco/MonacoThemeProvider.js.map +1 -1
- package/dist/monaco/MonacoUtils.js +17 -36
- package/dist/monaco/MonacoUtils.js.map +1 -1
- package/dist/monaco/RuffSettingsModal.js +29 -17
- package/dist/monaco/RuffSettingsModal.js.map +1 -1
- package/dist/notebook/Editor.js +4 -12
- package/dist/notebook/Editor.js.map +1 -1
- package/dist/notebook/ScriptEditor.js +34 -51
- package/dist/notebook/ScriptEditor.js.map +1 -1
- package/package.json +14 -14
|
@@ -24,9 +24,7 @@ class CommandHistory extends Component {
|
|
|
24
24
|
var range = sortedRanges[i];
|
|
25
25
|
for (var j = range[0]; j <= range[1]; j += 1) {
|
|
26
26
|
if (j >= offset && j < offset + items.length) {
|
|
27
|
-
var
|
|
28
|
-
name
|
|
29
|
-
} = items[j - offset];
|
|
27
|
+
var name = items[j - offset].name;
|
|
30
28
|
commands.push(name);
|
|
31
29
|
}
|
|
32
30
|
}
|
|
@@ -48,9 +46,7 @@ class CommandHistory extends Component {
|
|
|
48
46
|
_defineProperty(this, "itemListRef", void 0);
|
|
49
47
|
_defineProperty(this, "debouncedSearchChange", debounce(() => {
|
|
50
48
|
this.setState(_ref => {
|
|
51
|
-
var
|
|
52
|
-
searchText
|
|
53
|
-
} = _ref;
|
|
49
|
+
var searchText = _ref.searchText;
|
|
54
50
|
return {
|
|
55
51
|
debouncedSearchText: searchText,
|
|
56
52
|
// clear selected range, as old selection could be filtered from list
|
|
@@ -124,9 +120,7 @@ class CommandHistory extends Component {
|
|
|
124
120
|
this.pending = new Pending();
|
|
125
121
|
this.searchInputRef = /*#__PURE__*/React.createRef();
|
|
126
122
|
this.itemListRef = /*#__PURE__*/React.createRef();
|
|
127
|
-
var
|
|
128
|
-
table
|
|
129
|
-
} = props;
|
|
123
|
+
var table = props.table;
|
|
130
124
|
this.state = {
|
|
131
125
|
actions: [],
|
|
132
126
|
historyActions: this.historyActions,
|
|
@@ -152,11 +146,10 @@ class CommandHistory extends Component {
|
|
|
152
146
|
getSelectedCommands() {
|
|
153
147
|
var _this = this;
|
|
154
148
|
return _asyncToGenerator(function* () {
|
|
155
|
-
var
|
|
156
|
-
items,
|
|
157
|
-
offset,
|
|
158
|
-
selectedRanges
|
|
159
|
-
} = _this.state;
|
|
149
|
+
var _this$state = _this.state,
|
|
150
|
+
items = _this$state.items,
|
|
151
|
+
offset = _this$state.offset,
|
|
152
|
+
selectedRanges = _this$state.selectedRanges;
|
|
160
153
|
var ranges = selectedRanges.slice().sort((a, b) => a[0] - b[0]);
|
|
161
154
|
if (ranges.length === 0) {
|
|
162
155
|
return [];
|
|
@@ -165,9 +158,7 @@ class CommandHistory extends Component {
|
|
|
165
158
|
// All ranges are in the current viewport, just copy the data we've already got
|
|
166
159
|
return CommandHistory.getCommandsFromViewport(items, offset, ranges);
|
|
167
160
|
}
|
|
168
|
-
var
|
|
169
|
-
table
|
|
170
|
-
} = _this.props;
|
|
161
|
+
var table = _this.props.table;
|
|
171
162
|
return _this.pending.add(CommandHistory.getCommandsFromSnapshot(table, ranges));
|
|
172
163
|
})();
|
|
173
164
|
}
|
|
@@ -181,9 +172,7 @@ class CommandHistory extends Component {
|
|
|
181
172
|
}
|
|
182
173
|
updateActions() {
|
|
183
174
|
this.setState(state => {
|
|
184
|
-
var
|
|
185
|
-
selectedRanges
|
|
186
|
-
} = state;
|
|
175
|
+
var selectedRanges = state.selectedRanges;
|
|
187
176
|
var selectedRowCount = selectedRanges.reduce((count, range) => count + range[1] - range[0] + 1, 0);
|
|
188
177
|
if (selectedRowCount > 0 && selectedRowCount < CommandHistory.MAX_SELECTION_COUNT) {
|
|
189
178
|
log.debug('Updating actions', this.itemActions);
|
|
@@ -202,10 +191,9 @@ class CommandHistory extends Component {
|
|
|
202
191
|
}
|
|
203
192
|
createNotebook() {
|
|
204
193
|
this.getSelectedCommandText().then(commandText => {
|
|
205
|
-
var
|
|
206
|
-
language,
|
|
207
|
-
sendToNotebook
|
|
208
|
-
} = this.props;
|
|
194
|
+
var _this$props = this.props,
|
|
195
|
+
language = _this$props.language,
|
|
196
|
+
sendToNotebook = _this$props.sendToNotebook;
|
|
209
197
|
sendToNotebook({
|
|
210
198
|
value: commandText,
|
|
211
199
|
language
|
|
@@ -214,10 +202,9 @@ class CommandHistory extends Component {
|
|
|
214
202
|
}
|
|
215
203
|
sendToNotebook() {
|
|
216
204
|
this.getSelectedCommandText().then(commandText => {
|
|
217
|
-
var
|
|
218
|
-
language,
|
|
219
|
-
sendToNotebook
|
|
220
|
-
} = this.props;
|
|
205
|
+
var _this$props2 = this.props,
|
|
206
|
+
language = _this$props2.language,
|
|
207
|
+
sendToNotebook = _this$props2.sendToNotebook;
|
|
221
208
|
sendToNotebook({
|
|
222
209
|
value: commandText,
|
|
223
210
|
language
|
|
@@ -225,34 +212,25 @@ class CommandHistory extends Component {
|
|
|
225
212
|
}).catch(log.error);
|
|
226
213
|
}
|
|
227
214
|
sendToConsole() {
|
|
228
|
-
var
|
|
229
|
-
sendToConsole
|
|
230
|
-
} = this.props;
|
|
215
|
+
var sendToConsole = this.props.sendToConsole;
|
|
231
216
|
this.getSelectedCommandText().then(sendToConsole).catch(log.error);
|
|
232
217
|
}
|
|
233
218
|
runInConsole() {
|
|
234
219
|
this.getSelectedCommandText().then(commandText => {
|
|
235
|
-
var
|
|
236
|
-
sendToConsole
|
|
237
|
-
} = this.props;
|
|
220
|
+
var sendToConsole = this.props.sendToConsole;
|
|
238
221
|
sendToConsole(commandText, true, true);
|
|
239
222
|
}).catch(log.error);
|
|
240
223
|
}
|
|
241
224
|
handleSelect(index) {
|
|
242
|
-
var
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
items,
|
|
247
|
-
offset
|
|
248
|
-
} = this.state;
|
|
225
|
+
var sendToConsole = this.props.sendToConsole;
|
|
226
|
+
var _this$state2 = this.state,
|
|
227
|
+
items = _this$state2.items,
|
|
228
|
+
offset = _this$state2.offset;
|
|
249
229
|
if (index < offset || index >= offset + items.length) {
|
|
250
230
|
log.error('Invalid index!', index);
|
|
251
231
|
return;
|
|
252
232
|
}
|
|
253
|
-
var
|
|
254
|
-
name
|
|
255
|
-
} = items[index - offset];
|
|
233
|
+
var name = items[index - offset].name;
|
|
256
234
|
sendToConsole(name);
|
|
257
235
|
}
|
|
258
236
|
handleSelectionChange(selectedRanges) {
|
|
@@ -274,13 +252,9 @@ class CommandHistory extends Component {
|
|
|
274
252
|
this.debouncedSearchChange();
|
|
275
253
|
}
|
|
276
254
|
handleViewportUpdate(_ref2) {
|
|
277
|
-
var
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
} = _ref2;
|
|
281
|
-
var {
|
|
282
|
-
table
|
|
283
|
-
} = this.props;
|
|
255
|
+
var items = _ref2.items,
|
|
256
|
+
offset = _ref2.offset;
|
|
257
|
+
var table = this.props.table;
|
|
284
258
|
var itemCount = table.size;
|
|
285
259
|
this.setState({
|
|
286
260
|
items,
|
|
@@ -289,15 +263,12 @@ class CommandHistory extends Component {
|
|
|
289
263
|
});
|
|
290
264
|
}
|
|
291
265
|
renderItem(_ref3) {
|
|
292
|
-
var
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
language,
|
|
299
|
-
commandHistoryStorage
|
|
300
|
-
} = this.props;
|
|
266
|
+
var item = _ref3.item,
|
|
267
|
+
itemIndex = _ref3.itemIndex,
|
|
268
|
+
isSelected = _ref3.isSelected;
|
|
269
|
+
var _this$props3 = this.props,
|
|
270
|
+
language = _this$props3.language,
|
|
271
|
+
commandHistoryStorage = _this$props3.commandHistoryStorage;
|
|
301
272
|
return /*#__PURE__*/_jsx(CommandHistoryItem, {
|
|
302
273
|
isSelected: isSelected,
|
|
303
274
|
item: item,
|
|
@@ -316,22 +287,20 @@ class CommandHistory extends Component {
|
|
|
316
287
|
}
|
|
317
288
|
render() {
|
|
318
289
|
var _ConsoleConstants$LAN;
|
|
319
|
-
var
|
|
320
|
-
language,
|
|
321
|
-
table
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
selectedRanges
|
|
334
|
-
} = this.state;
|
|
290
|
+
var _this$props4 = this.props,
|
|
291
|
+
language = _this$props4.language,
|
|
292
|
+
table = _this$props4.table;
|
|
293
|
+
var _this$state3 = this.state,
|
|
294
|
+
actions = _this$state3.actions,
|
|
295
|
+
historyActions = _this$state3.historyActions,
|
|
296
|
+
searchText = _this$state3.searchText,
|
|
297
|
+
debouncedSearchText = _this$state3.debouncedSearchText,
|
|
298
|
+
top = _this$state3.top,
|
|
299
|
+
bottom = _this$state3.bottom,
|
|
300
|
+
items = _this$state3.items,
|
|
301
|
+
itemCount = _this$state3.itemCount,
|
|
302
|
+
offset = _this$state3.offset,
|
|
303
|
+
selectedRanges = _this$state3.selectedRanges;
|
|
335
304
|
var languageDisplayString = (_ConsoleConstants$LAN = ConsoleConstants.LANGUAGE_MAP.get(language)) !== null && _ConsoleConstants$LAN !== void 0 ? _ConsoleConstants$LAN : '';
|
|
336
305
|
return /*#__PURE__*/_jsxs("div", {
|
|
337
306
|
className: "command-history",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandHistory.js","names":["React","Component","debounce","ContextActions","ItemList","SearchInput","GLOBAL_SHORTCUTS","vsFileCode","vsFiles","vsNewFile","vsPlay","vsTerminal","copyToClipboard","Pending","Log","CommandHistoryItem","CommandHistoryActions","ConsoleConstants","CommandHistoryViewportUpdater","SHORTCUTS","jsx","_jsx","jsxs","_jsxs","log","module","CommandHistory","getCommandsFromViewport","items","offset","sortedRanges","commands","i","length","range","j","name","push","getCommandsFromSnapshot","table","_asyncToGenerator","getSnapshot","values","map","item","constructor","props","_defineProperty","setState","_ref","searchText","debouncedSearchText","selectedRanges","SET_SEARCH_DEBOUNCE_MS","copySelectedCommands","bind","createNotebook","sendToConsole","renderItem","runInConsole","sendToNotebook","handleSelect","handleSelectionChange","handleSearchChange","handleViewportChange","handleViewportUpdate","itemActions","title","description","icon","shortcut","COPY","action","group","groups","edit","COMMAND_HISTORY","SEND_TO_CONSOLE","menuGroups","send","order","RUN","SEND_TO_NOTEBOOK","historyActions","selectionRequired","pending","searchInputRef","createRef","itemListRef","state","actions","top","bottom","itemCount","size","componentWillUnmount","debouncedSearchChange","cancel","getSelectedCommands","_this","ranges","slice","sort","a","b","add","getSelectedCommandText","then","join","updateActions","selectedRowCount","reduce","count","MAX_SELECTION_COUNT","debug","catch","error","commandText","language","value","index","e","target","_ref2","_ref3","itemIndex","isSelected","commandHistoryStorage","focus","current","restoreScrollPosition","_this$itemListRef$cur","render","_ConsoleConstants$LAN","languageDisplayString","LANGUAGE_MAP","get","className","children","ref","placeholder","concat","onChange","hasSelection","onSelect","onSelectionChange","onViewportChange","rowHeight","ITEM_HEIGHT","isDoubleClickSelect","isMultiSelect","isStickyBottom","search","onUpdate","medium"],"sources":["../../src/command-history/CommandHistory.tsx"],"sourcesContent":["import React, {\n type ChangeEvent,\n Component,\n type ReactElement,\n type RefObject,\n} from 'react';\nimport debounce from 'lodash.debounce';\nimport {\n ContextActions,\n ItemList,\n SearchInput,\n GLOBAL_SHORTCUTS,\n type RenderItemProps,\n} from '@deephaven/components';\nimport { type ViewportData } from '@deephaven/storage';\nimport {\n vsFileCode,\n vsFiles,\n vsNewFile,\n vsPlay,\n vsTerminal,\n} from '@deephaven/icons';\nimport { copyToClipboard, Pending, type Range } from '@deephaven/utils';\nimport Log from '@deephaven/log';\nimport CommandHistoryItem from './CommandHistoryItem';\nimport CommandHistoryActions from './CommandHistoryActions';\nimport ConsoleConstants from '../common/ConsoleConstants';\n\nimport './CommandHistory.scss';\nimport CommandHistoryViewportUpdater from './CommandHistoryViewportUpdater';\nimport SHORTCUTS from '../ConsoleShortcuts';\nimport {\n type CommandHistoryStorageItem,\n type CommandHistoryTable,\n} from './CommandHistoryStorage';\nimport type CommandHistoryStorage from './CommandHistoryStorage';\nimport { type ItemAction, type HistoryAction } from './CommandHistoryTypes';\n\nconst log = Log.module('CommandHistory');\n\nexport type CommandHistorySettings = {\n value: string;\n language: string;\n};\ninterface CommandHistoryProps {\n language: string;\n sendToConsole: (command: string, focus?: boolean, execute?: boolean) => void;\n sendToNotebook: (\n settings: CommandHistorySettings,\n forceNewNotebook?: boolean\n ) => void;\n table: CommandHistoryTable;\n commandHistoryStorage: CommandHistoryStorage;\n}\ninterface CommandHistoryState {\n actions: ItemAction[];\n historyActions: HistoryAction[];\n top: number;\n bottom: number;\n itemCount: number;\n items: CommandHistoryStorageItem[];\n offset: number;\n selectedRanges: readonly Range[];\n searchText: string;\n debouncedSearchText: string;\n}\n\nclass CommandHistory extends Component<\n CommandHistoryProps,\n CommandHistoryState\n> {\n static ITEM_HEIGHT = 29;\n\n static MAX_SELECTION_COUNT = 10000;\n\n static SET_SEARCH_DEBOUNCE_MS = 150;\n\n static menuGroups = {\n send: ContextActions.groups.medium + 100,\n };\n\n static getCommandsFromViewport(\n items: CommandHistoryStorageItem[],\n offset: number,\n sortedRanges: Range[]\n ): string[] {\n const commands = [];\n for (let i = 0; i < sortedRanges.length; i += 1) {\n const range = sortedRanges[i];\n for (let j = range[0]; j <= range[1]; j += 1) {\n if (j >= offset && j < offset + items.length) {\n const { name } = items[j - offset];\n commands.push(name);\n }\n }\n }\n return commands;\n }\n\n static async getCommandsFromSnapshot(\n table: CommandHistoryTable,\n sortedRanges: Range[]\n ): Promise<string[]> {\n const items = await table.getSnapshot(sortedRanges);\n return [...items.values()].map(item => item.name);\n }\n\n constructor(props: CommandHistoryProps) {\n super(props);\n\n this.copySelectedCommands = this.copySelectedCommands.bind(this);\n this.createNotebook = this.createNotebook.bind(this);\n this.sendToConsole = this.sendToConsole.bind(this);\n this.renderItem = this.renderItem.bind(this);\n this.runInConsole = this.runInConsole.bind(this);\n this.sendToNotebook = this.sendToNotebook.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n this.handleSelectionChange = this.handleSelectionChange.bind(this);\n this.handleSearchChange = this.handleSearchChange.bind(this);\n this.handleViewportChange = this.handleViewportChange.bind(this);\n this.handleViewportUpdate = this.handleViewportUpdate.bind(this);\n\n this.itemActions = [\n {\n title: 'Copy Selection',\n description: 'Copy selected commands to clipboard',\n icon: vsFiles,\n shortcut: GLOBAL_SHORTCUTS.COPY,\n action: this.copySelectedCommands,\n group: ContextActions.groups.edit,\n },\n {\n title: 'Send to Console',\n description: 'Open selected commands in the console',\n icon: vsTerminal,\n shortcut: SHORTCUTS.COMMAND_HISTORY.SEND_TO_CONSOLE,\n action: this.sendToConsole,\n group: CommandHistory.menuGroups.send,\n order: 10,\n },\n {\n title: 'Run in Console',\n description: 'Run selected commands in the console',\n icon: vsPlay,\n shortcut: SHORTCUTS.COMMAND_HISTORY.RUN,\n action: this.runInConsole,\n group: CommandHistory.menuGroups.send,\n order: 10,\n },\n {\n title: 'Send to Active Notebook',\n description: 'Open selected commands in a notebook',\n icon: vsFileCode,\n shortcut: SHORTCUTS.COMMAND_HISTORY.SEND_TO_NOTEBOOK,\n action: this.sendToNotebook,\n group: CommandHistory.menuGroups.send,\n order: 20,\n },\n {\n title: 'Send to New Notebook',\n description: 'Open selected commands in a new notebook',\n icon: vsNewFile,\n action: this.createNotebook,\n group: CommandHistory.menuGroups.send,\n order: 30,\n },\n ];\n\n this.historyActions = [\n {\n title: 'Send to Console',\n icon: vsTerminal,\n selectionRequired: true,\n description: 'Open selected commands in the console',\n action: this.sendToConsole,\n },\n {\n title: 'Send to Notebook',\n icon: vsFileCode,\n selectionRequired: true,\n description: 'Open selected commands in a notebook',\n action: this.sendToNotebook,\n },\n ];\n\n this.pending = new Pending();\n this.searchInputRef = React.createRef();\n this.itemListRef = React.createRef();\n\n const { table } = props;\n\n this.state = {\n actions: [],\n historyActions: this.historyActions,\n top: 0,\n bottom: 0,\n itemCount: table.size,\n items: [],\n offset: 0,\n selectedRanges: [],\n searchText: '',\n debouncedSearchText: '',\n };\n }\n\n componentWillUnmount(): void {\n this.debouncedSearchChange.cancel();\n this.pending.cancel();\n }\n\n itemActions: ItemAction[];\n\n historyActions: HistoryAction[];\n\n pending: Pending;\n\n searchInputRef: RefObject<SearchInput>;\n\n itemListRef: React.RefObject<ItemList<CommandHistoryStorageItem>>;\n\n /**\n * Retrieves the selected commands as an array.\n * If they're not within the current viewport, will fetch them from the table\n * @returns Array of selected commands\n */\n async getSelectedCommands(): Promise<string[]> {\n const { items, offset, selectedRanges } = this.state;\n const ranges = selectedRanges.slice().sort((a, b) => a[0] - b[0]);\n\n if (ranges.length === 0) {\n return [];\n }\n if (\n ranges[0][0] >= offset &&\n ranges[ranges.length - 1][1] < offset + items.length\n ) {\n // All ranges are in the current viewport, just copy the data we've already got\n return CommandHistory.getCommandsFromViewport(items, offset, ranges);\n }\n const { table } = this.props;\n return this.pending.add(\n CommandHistory.getCommandsFromSnapshot(table, ranges)\n );\n }\n\n /**\n * Retrieves the text of all the currently selected commands, joined by a new line char\n * @returns The commands joined by \\n char\n */\n getSelectedCommandText(): Promise<string> {\n return this.getSelectedCommands().then(commands => commands.join('\\n'));\n }\n\n updateActions(): void {\n this.setState(state => {\n const { selectedRanges } = state;\n const selectedRowCount = selectedRanges.reduce(\n (count, range) => count + range[1] - range[0] + 1,\n 0\n );\n if (\n selectedRowCount > 0 &&\n selectedRowCount < CommandHistory.MAX_SELECTION_COUNT\n ) {\n log.debug('Updating actions', this.itemActions);\n return { actions: this.itemActions };\n }\n log.debug('Disabling actions', selectedRowCount);\n return { actions: [] };\n });\n }\n\n copySelectedCommands(): void {\n this.getSelectedCommandText().then(copyToClipboard).catch(log.error);\n }\n\n createNotebook(): void {\n this.getSelectedCommandText()\n .then(commandText => {\n const { language, sendToNotebook } = this.props;\n sendToNotebook({ value: commandText, language }, true);\n })\n .catch(log.error);\n }\n\n debouncedSearchChange = debounce((): void => {\n this.setState(({ searchText }) => ({\n debouncedSearchText: searchText,\n // clear selected range, as old selection could be filtered from list\n selectedRanges: [],\n }));\n }, CommandHistory.SET_SEARCH_DEBOUNCE_MS);\n\n sendToNotebook(): void {\n this.getSelectedCommandText()\n .then(commandText => {\n const { language, sendToNotebook } = this.props;\n sendToNotebook({ value: commandText, language });\n })\n .catch(log.error);\n }\n\n sendToConsole(): void {\n const { sendToConsole } = this.props;\n this.getSelectedCommandText().then(sendToConsole).catch(log.error);\n }\n\n runInConsole(): void {\n this.getSelectedCommandText()\n .then(commandText => {\n const { sendToConsole } = this.props;\n sendToConsole(commandText, true, true);\n })\n .catch(log.error);\n }\n\n handleSelect(index: number): void {\n const { sendToConsole } = this.props;\n const { items, offset } = this.state;\n if (index < offset || index >= offset + items.length) {\n log.error('Invalid index!', index);\n return;\n }\n\n const { name } = items[index - offset];\n sendToConsole(name);\n }\n\n handleSelectionChange(selectedRanges: readonly Range[]): void {\n this.setState({ selectedRanges });\n this.updateActions();\n }\n\n handleViewportChange(top: number, bottom: number): void {\n this.setState({ top, bottom });\n }\n\n handleSearchChange(e: ChangeEvent<HTMLInputElement>): void {\n this.setState({ searchText: e.target.value });\n this.debouncedSearchChange();\n }\n\n handleViewportUpdate({\n items,\n offset,\n }: ViewportData<CommandHistoryStorageItem>): void {\n const { table } = this.props;\n const itemCount = table.size;\n this.setState({ items, itemCount, offset });\n }\n\n renderItem({\n item,\n itemIndex,\n isSelected,\n }: RenderItemProps<CommandHistoryStorageItem>): ReactElement {\n const { language, commandHistoryStorage } = this.props;\n return (\n <CommandHistoryItem\n isSelected={isSelected}\n item={item}\n language={language}\n commandHistoryStorage={commandHistoryStorage}\n />\n );\n }\n\n focus(): void {\n if (this.searchInputRef.current) {\n this.searchInputRef.current.focus();\n }\n }\n\n restoreScrollPosition(): void {\n this.itemListRef.current?.restoreScrollPosition();\n }\n\n render(): ReactElement {\n const { language, table } = this.props;\n const {\n actions,\n historyActions,\n searchText,\n debouncedSearchText,\n top,\n bottom,\n items,\n itemCount,\n offset,\n selectedRanges,\n } = this.state;\n const languageDisplayString =\n ConsoleConstants.LANGUAGE_MAP.get(language) ?? '';\n return (\n <div className=\"command-history\">\n <div className=\"command-history-search-bar\">\n <SearchInput\n ref={this.searchInputRef}\n value={searchText}\n placeholder={`${languageDisplayString} Command History`}\n onChange={this.handleSearchChange}\n />\n <CommandHistoryActions\n actions={historyActions}\n hasSelection={selectedRanges.length > 0}\n />\n </div>\n <div className=\"command-history-list\">\n <ItemList\n ref={this.itemListRef}\n itemCount={itemCount}\n items={items}\n offset={offset}\n selectedRanges={selectedRanges}\n onSelect={this.handleSelect}\n onSelectionChange={this.handleSelectionChange}\n onViewportChange={this.handleViewportChange}\n renderItem={this.renderItem}\n rowHeight={CommandHistory.ITEM_HEIGHT}\n isDoubleClickSelect\n isMultiSelect\n isStickyBottom\n />\n <CommandHistoryViewportUpdater\n table={table}\n top={top}\n bottom={bottom}\n search={debouncedSearchText}\n onUpdate={this.handleViewportUpdate}\n />\n <ContextActions actions={actions} />\n </div>\n </div>\n );\n }\n}\n\nexport default CommandHistory;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CommandHistory.js","names":["React","Component","debounce","ContextActions","ItemList","SearchInput","GLOBAL_SHORTCUTS","vsFileCode","vsFiles","vsNewFile","vsPlay","vsTerminal","copyToClipboard","Pending","Log","CommandHistoryItem","CommandHistoryActions","ConsoleConstants","CommandHistoryViewportUpdater","SHORTCUTS","jsx","_jsx","jsxs","_jsxs","log","module","CommandHistory","getCommandsFromViewport","items","offset","sortedRanges","commands","i","length","range","j","name","push","getCommandsFromSnapshot","table","_asyncToGenerator","getSnapshot","values","map","item","constructor","props","_defineProperty","setState","_ref","searchText","debouncedSearchText","selectedRanges","SET_SEARCH_DEBOUNCE_MS","copySelectedCommands","bind","createNotebook","sendToConsole","renderItem","runInConsole","sendToNotebook","handleSelect","handleSelectionChange","handleSearchChange","handleViewportChange","handleViewportUpdate","itemActions","title","description","icon","shortcut","COPY","action","group","groups","edit","COMMAND_HISTORY","SEND_TO_CONSOLE","menuGroups","send","order","RUN","SEND_TO_NOTEBOOK","historyActions","selectionRequired","pending","searchInputRef","createRef","itemListRef","state","actions","top","bottom","itemCount","size","componentWillUnmount","debouncedSearchChange","cancel","getSelectedCommands","_this","_this$state","ranges","slice","sort","a","b","add","getSelectedCommandText","then","join","updateActions","selectedRowCount","reduce","count","MAX_SELECTION_COUNT","debug","catch","error","commandText","_this$props","language","value","_this$props2","index","_this$state2","e","target","_ref2","_ref3","itemIndex","isSelected","_this$props3","commandHistoryStorage","focus","current","restoreScrollPosition","_this$itemListRef$cur","render","_ConsoleConstants$LAN","_this$props4","_this$state3","languageDisplayString","LANGUAGE_MAP","get","className","children","ref","placeholder","concat","onChange","hasSelection","onSelect","onSelectionChange","onViewportChange","rowHeight","ITEM_HEIGHT","isDoubleClickSelect","isMultiSelect","isStickyBottom","search","onUpdate","medium"],"sources":["../../src/command-history/CommandHistory.tsx"],"sourcesContent":["import React, {\n type ChangeEvent,\n Component,\n type ReactElement,\n type RefObject,\n} from 'react';\nimport debounce from 'lodash.debounce';\nimport {\n ContextActions,\n ItemList,\n SearchInput,\n GLOBAL_SHORTCUTS,\n type RenderItemProps,\n} from '@deephaven/components';\nimport { type ViewportData } from '@deephaven/storage';\nimport {\n vsFileCode,\n vsFiles,\n vsNewFile,\n vsPlay,\n vsTerminal,\n} from '@deephaven/icons';\nimport { copyToClipboard, Pending, type Range } from '@deephaven/utils';\nimport Log from '@deephaven/log';\nimport CommandHistoryItem from './CommandHistoryItem';\nimport CommandHistoryActions from './CommandHistoryActions';\nimport ConsoleConstants from '../common/ConsoleConstants';\n\nimport './CommandHistory.scss';\nimport CommandHistoryViewportUpdater from './CommandHistoryViewportUpdater';\nimport SHORTCUTS from '../ConsoleShortcuts';\nimport {\n type CommandHistoryStorageItem,\n type CommandHistoryTable,\n} from './CommandHistoryStorage';\nimport type CommandHistoryStorage from './CommandHistoryStorage';\nimport { type ItemAction, type HistoryAction } from './CommandHistoryTypes';\n\nconst log = Log.module('CommandHistory');\n\nexport type CommandHistorySettings = {\n value: string;\n language: string;\n};\ninterface CommandHistoryProps {\n language: string;\n sendToConsole: (command: string, focus?: boolean, execute?: boolean) => void;\n sendToNotebook: (\n settings: CommandHistorySettings,\n forceNewNotebook?: boolean\n ) => void;\n table: CommandHistoryTable;\n commandHistoryStorage: CommandHistoryStorage;\n}\ninterface CommandHistoryState {\n actions: ItemAction[];\n historyActions: HistoryAction[];\n top: number;\n bottom: number;\n itemCount: number;\n items: CommandHistoryStorageItem[];\n offset: number;\n selectedRanges: readonly Range[];\n searchText: string;\n debouncedSearchText: string;\n}\n\nclass CommandHistory extends Component<\n CommandHistoryProps,\n CommandHistoryState\n> {\n static ITEM_HEIGHT = 29;\n\n static MAX_SELECTION_COUNT = 10000;\n\n static SET_SEARCH_DEBOUNCE_MS = 150;\n\n static menuGroups = {\n send: ContextActions.groups.medium + 100,\n };\n\n static getCommandsFromViewport(\n items: CommandHistoryStorageItem[],\n offset: number,\n sortedRanges: Range[]\n ): string[] {\n const commands = [];\n for (let i = 0; i < sortedRanges.length; i += 1) {\n const range = sortedRanges[i];\n for (let j = range[0]; j <= range[1]; j += 1) {\n if (j >= offset && j < offset + items.length) {\n const { name } = items[j - offset];\n commands.push(name);\n }\n }\n }\n return commands;\n }\n\n static async getCommandsFromSnapshot(\n table: CommandHistoryTable,\n sortedRanges: Range[]\n ): Promise<string[]> {\n const items = await table.getSnapshot(sortedRanges);\n return [...items.values()].map(item => item.name);\n }\n\n constructor(props: CommandHistoryProps) {\n super(props);\n\n this.copySelectedCommands = this.copySelectedCommands.bind(this);\n this.createNotebook = this.createNotebook.bind(this);\n this.sendToConsole = this.sendToConsole.bind(this);\n this.renderItem = this.renderItem.bind(this);\n this.runInConsole = this.runInConsole.bind(this);\n this.sendToNotebook = this.sendToNotebook.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n this.handleSelectionChange = this.handleSelectionChange.bind(this);\n this.handleSearchChange = this.handleSearchChange.bind(this);\n this.handleViewportChange = this.handleViewportChange.bind(this);\n this.handleViewportUpdate = this.handleViewportUpdate.bind(this);\n\n this.itemActions = [\n {\n title: 'Copy Selection',\n description: 'Copy selected commands to clipboard',\n icon: vsFiles,\n shortcut: GLOBAL_SHORTCUTS.COPY,\n action: this.copySelectedCommands,\n group: ContextActions.groups.edit,\n },\n {\n title: 'Send to Console',\n description: 'Open selected commands in the console',\n icon: vsTerminal,\n shortcut: SHORTCUTS.COMMAND_HISTORY.SEND_TO_CONSOLE,\n action: this.sendToConsole,\n group: CommandHistory.menuGroups.send,\n order: 10,\n },\n {\n title: 'Run in Console',\n description: 'Run selected commands in the console',\n icon: vsPlay,\n shortcut: SHORTCUTS.COMMAND_HISTORY.RUN,\n action: this.runInConsole,\n group: CommandHistory.menuGroups.send,\n order: 10,\n },\n {\n title: 'Send to Active Notebook',\n description: 'Open selected commands in a notebook',\n icon: vsFileCode,\n shortcut: SHORTCUTS.COMMAND_HISTORY.SEND_TO_NOTEBOOK,\n action: this.sendToNotebook,\n group: CommandHistory.menuGroups.send,\n order: 20,\n },\n {\n title: 'Send to New Notebook',\n description: 'Open selected commands in a new notebook',\n icon: vsNewFile,\n action: this.createNotebook,\n group: CommandHistory.menuGroups.send,\n order: 30,\n },\n ];\n\n this.historyActions = [\n {\n title: 'Send to Console',\n icon: vsTerminal,\n selectionRequired: true,\n description: 'Open selected commands in the console',\n action: this.sendToConsole,\n },\n {\n title: 'Send to Notebook',\n icon: vsFileCode,\n selectionRequired: true,\n description: 'Open selected commands in a notebook',\n action: this.sendToNotebook,\n },\n ];\n\n this.pending = new Pending();\n this.searchInputRef = React.createRef();\n this.itemListRef = React.createRef();\n\n const { table } = props;\n\n this.state = {\n actions: [],\n historyActions: this.historyActions,\n top: 0,\n bottom: 0,\n itemCount: table.size,\n items: [],\n offset: 0,\n selectedRanges: [],\n searchText: '',\n debouncedSearchText: '',\n };\n }\n\n componentWillUnmount(): void {\n this.debouncedSearchChange.cancel();\n this.pending.cancel();\n }\n\n itemActions: ItemAction[];\n\n historyActions: HistoryAction[];\n\n pending: Pending;\n\n searchInputRef: RefObject<SearchInput>;\n\n itemListRef: React.RefObject<ItemList<CommandHistoryStorageItem>>;\n\n /**\n * Retrieves the selected commands as an array.\n * If they're not within the current viewport, will fetch them from the table\n * @returns Array of selected commands\n */\n async getSelectedCommands(): Promise<string[]> {\n const { items, offset, selectedRanges } = this.state;\n const ranges = selectedRanges.slice().sort((a, b) => a[0] - b[0]);\n\n if (ranges.length === 0) {\n return [];\n }\n if (\n ranges[0][0] >= offset &&\n ranges[ranges.length - 1][1] < offset + items.length\n ) {\n // All ranges are in the current viewport, just copy the data we've already got\n return CommandHistory.getCommandsFromViewport(items, offset, ranges);\n }\n const { table } = this.props;\n return this.pending.add(\n CommandHistory.getCommandsFromSnapshot(table, ranges)\n );\n }\n\n /**\n * Retrieves the text of all the currently selected commands, joined by a new line char\n * @returns The commands joined by \\n char\n */\n getSelectedCommandText(): Promise<string> {\n return this.getSelectedCommands().then(commands => commands.join('\\n'));\n }\n\n updateActions(): void {\n this.setState(state => {\n const { selectedRanges } = state;\n const selectedRowCount = selectedRanges.reduce(\n (count, range) => count + range[1] - range[0] + 1,\n 0\n );\n if (\n selectedRowCount > 0 &&\n selectedRowCount < CommandHistory.MAX_SELECTION_COUNT\n ) {\n log.debug('Updating actions', this.itemActions);\n return { actions: this.itemActions };\n }\n log.debug('Disabling actions', selectedRowCount);\n return { actions: [] };\n });\n }\n\n copySelectedCommands(): void {\n this.getSelectedCommandText().then(copyToClipboard).catch(log.error);\n }\n\n createNotebook(): void {\n this.getSelectedCommandText()\n .then(commandText => {\n const { language, sendToNotebook } = this.props;\n sendToNotebook({ value: commandText, language }, true);\n })\n .catch(log.error);\n }\n\n debouncedSearchChange = debounce((): void => {\n this.setState(({ searchText }) => ({\n debouncedSearchText: searchText,\n // clear selected range, as old selection could be filtered from list\n selectedRanges: [],\n }));\n }, CommandHistory.SET_SEARCH_DEBOUNCE_MS);\n\n sendToNotebook(): void {\n this.getSelectedCommandText()\n .then(commandText => {\n const { language, sendToNotebook } = this.props;\n sendToNotebook({ value: commandText, language });\n })\n .catch(log.error);\n }\n\n sendToConsole(): void {\n const { sendToConsole } = this.props;\n this.getSelectedCommandText().then(sendToConsole).catch(log.error);\n }\n\n runInConsole(): void {\n this.getSelectedCommandText()\n .then(commandText => {\n const { sendToConsole } = this.props;\n sendToConsole(commandText, true, true);\n })\n .catch(log.error);\n }\n\n handleSelect(index: number): void {\n const { sendToConsole } = this.props;\n const { items, offset } = this.state;\n if (index < offset || index >= offset + items.length) {\n log.error('Invalid index!', index);\n return;\n }\n\n const { name } = items[index - offset];\n sendToConsole(name);\n }\n\n handleSelectionChange(selectedRanges: readonly Range[]): void {\n this.setState({ selectedRanges });\n this.updateActions();\n }\n\n handleViewportChange(top: number, bottom: number): void {\n this.setState({ top, bottom });\n }\n\n handleSearchChange(e: ChangeEvent<HTMLInputElement>): void {\n this.setState({ searchText: e.target.value });\n this.debouncedSearchChange();\n }\n\n handleViewportUpdate({\n items,\n offset,\n }: ViewportData<CommandHistoryStorageItem>): void {\n const { table } = this.props;\n const itemCount = table.size;\n this.setState({ items, itemCount, offset });\n }\n\n renderItem({\n item,\n itemIndex,\n isSelected,\n }: RenderItemProps<CommandHistoryStorageItem>): ReactElement {\n const { language, commandHistoryStorage } = this.props;\n return (\n <CommandHistoryItem\n isSelected={isSelected}\n item={item}\n language={language}\n commandHistoryStorage={commandHistoryStorage}\n />\n );\n }\n\n focus(): void {\n if (this.searchInputRef.current) {\n this.searchInputRef.current.focus();\n }\n }\n\n restoreScrollPosition(): void {\n this.itemListRef.current?.restoreScrollPosition();\n }\n\n render(): ReactElement {\n const { language, table } = this.props;\n const {\n actions,\n historyActions,\n searchText,\n debouncedSearchText,\n top,\n bottom,\n items,\n itemCount,\n offset,\n selectedRanges,\n } = this.state;\n const languageDisplayString =\n ConsoleConstants.LANGUAGE_MAP.get(language) ?? '';\n return (\n <div className=\"command-history\">\n <div className=\"command-history-search-bar\">\n <SearchInput\n ref={this.searchInputRef}\n value={searchText}\n placeholder={`${languageDisplayString} Command History`}\n onChange={this.handleSearchChange}\n />\n <CommandHistoryActions\n actions={historyActions}\n hasSelection={selectedRanges.length > 0}\n />\n </div>\n <div className=\"command-history-list\">\n <ItemList\n ref={this.itemListRef}\n itemCount={itemCount}\n items={items}\n offset={offset}\n selectedRanges={selectedRanges}\n onSelect={this.handleSelect}\n onSelectionChange={this.handleSelectionChange}\n onViewportChange={this.handleViewportChange}\n renderItem={this.renderItem}\n rowHeight={CommandHistory.ITEM_HEIGHT}\n isDoubleClickSelect\n isMultiSelect\n isStickyBottom\n />\n <CommandHistoryViewportUpdater\n table={table}\n top={top}\n bottom={bottom}\n search={debouncedSearchText}\n onUpdate={this.handleViewportUpdate}\n />\n <ContextActions actions={actions} />\n </div>\n </div>\n );\n }\n}\n\nexport default CommandHistory;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -28,10 +28,9 @@ class CommandHistoryActions extends Component {
|
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
render() {
|
|
31
|
-
var
|
|
32
|
-
actions,
|
|
33
|
-
hasSelection
|
|
34
|
-
} = this.props;
|
|
31
|
+
var _this$props = this.props,
|
|
32
|
+
actions = _this$props.actions,
|
|
33
|
+
hasSelection = _this$props.hasSelection;
|
|
35
34
|
return /*#__PURE__*/_jsx("div", {
|
|
36
35
|
className: "command-history-actions",
|
|
37
36
|
children: actions.map((item, index) => /*#__PURE__*/_jsx(Button, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandHistoryActions.js","names":["React","Component","classNames","FontAwesomeIcon","Button","vsArrowLeft","vsCircleLargeFilled","jsx","_jsx","jsxs","_jsxs","CommandHistoryActions","itemKey","i","item","concat","title","renderContent","selectionRequired","undefined","className","children","icon","mask","transform","render","
|
|
1
|
+
{"version":3,"file":"CommandHistoryActions.js","names":["React","Component","classNames","FontAwesomeIcon","Button","vsArrowLeft","vsCircleLargeFilled","jsx","_jsx","jsxs","_jsxs","CommandHistoryActions","itemKey","i","item","concat","title","renderContent","selectionRequired","undefined","className","children","icon","mask","transform","render","_this$props","props","actions","hasSelection","map","index","kind","onClick","action","tooltip","description","disabled"],"sources":["../../src/command-history/CommandHistoryActions.tsx"],"sourcesContent":["import React, { Component, type ReactElement } from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Button } from '@deephaven/components';\nimport { vsArrowLeft, vsCircleLargeFilled } from '@deephaven/icons';\nimport './CommandHistoryActions.scss';\nimport { type HistoryAction } from './CommandHistoryTypes';\n\ninterface CommandHistoryActionsProps {\n actions: HistoryAction[];\n hasSelection: boolean;\n}\n\nclass CommandHistoryActions extends Component<\n CommandHistoryActionsProps,\n Record<string, never>\n> {\n static itemKey(i: unknown, item: HistoryAction): string {\n return `${item.title}`;\n }\n\n static renderContent(item: HistoryAction): JSX.Element {\n if (item.selectionRequired !== undefined && item.selectionRequired) {\n return (\n <div className=\"fa-md fa-layers\">\n <FontAwesomeIcon\n icon={vsCircleLargeFilled}\n mask={item.icon}\n transform=\"right-5 down-5 shrink-4\"\n />\n <FontAwesomeIcon\n icon={vsArrowLeft}\n transform=\"shrink-3 right-7 down-6\"\n />\n </div>\n );\n }\n return <FontAwesomeIcon icon={item.icon} />;\n }\n\n render(): ReactElement {\n const { actions, hasSelection } = this.props;\n\n return (\n <div className=\"command-history-actions\">\n {actions.map((item, index) => (\n <Button\n kind=\"inline\"\n className={classNames(item.className)}\n key={CommandHistoryActions.itemKey(index, item)}\n onClick={item.action}\n tooltip={item.description}\n disabled={\n item.selectionRequired !== undefined &&\n item.selectionRequired &&\n !hasSelection\n }\n icon={CommandHistoryActions.renderContent(item)}\n />\n ))}\n </div>\n );\n }\n}\n\nexport default CommandHistoryActions;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,QAA2B,OAAO;AAC3D,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,WAAW,EAAEC,mBAAmB,QAAQ,kBAAkB;AAAC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AASpE,MAAMC,qBAAqB,SAASV,SAAS,CAG3C;EACA,OAAOW,OAAOA,CAACC,CAAU,EAAEC,IAAmB,EAAU;IACtD,UAAAC,MAAA,CAAUD,IAAI,CAACE,KAAK;EACtB;EAEA,OAAOC,aAAaA,CAACH,IAAmB,EAAe;IACrD,IAAIA,IAAI,CAACI,iBAAiB,KAAKC,SAAS,IAAIL,IAAI,CAACI,iBAAiB,EAAE;MAClE,oBACER,KAAA;QAAKU,SAAS,EAAC,iBAAiB;QAAAC,QAAA,gBAC9Bb,IAAA,CAACL,eAAe;UACdmB,IAAI,EAAEhB,mBAAoB;UAC1BiB,IAAI,EAAET,IAAI,CAACQ,IAAK;UAChBE,SAAS,EAAC;QAAyB,CACpC,CAAC,eACFhB,IAAA,CAACL,eAAe;UACdmB,IAAI,EAAEjB,WAAY;UAClBmB,SAAS,EAAC;QAAyB,CACpC,CAAC;MAAA,CACC,CAAC;IAEV;IACA,oBAAOhB,IAAA,CAACL,eAAe;MAACmB,IAAI,EAAER,IAAI,CAACQ;IAAK,CAAE,CAAC;EAC7C;EAEAG,MAAMA,CAAA,EAAiB;IACrB,IAAAC,WAAA,GAAkC,IAAI,CAACC,KAAK;MAApCC,OAAO,GAAAF,WAAA,CAAPE,OAAO;MAAEC,YAAY,GAAAH,WAAA,CAAZG,YAAY;IAE7B,oBACErB,IAAA;MAAKY,SAAS,EAAC,yBAAyB;MAAAC,QAAA,EACrCO,OAAO,CAACE,GAAG,CAAC,CAAChB,IAAI,EAAEiB,KAAK,kBACvBvB,IAAA,CAACJ,MAAM;QACL4B,IAAI,EAAC,QAAQ;QACbZ,SAAS,EAAElB,UAAU,CAACY,IAAI,CAACM,SAAS,CAAE;QAEtCa,OAAO,EAAEnB,IAAI,CAACoB,MAAO;QACrBC,OAAO,EAAErB,IAAI,CAACsB,WAAY;QAC1BC,QAAQ,EACNvB,IAAI,CAACI,iBAAiB,KAAKC,SAAS,IACpCL,IAAI,CAACI,iBAAiB,IACtB,CAACW,YACF;QACDP,IAAI,EAAEX,qBAAqB,CAACM,aAAa,CAACH,IAAI;MAAE,GAR3CH,qBAAqB,CAACC,OAAO,CAACmB,KAAK,EAAEjB,IAAI,CAS/C,CACF;IAAC,CACC,CAAC;EAEV;AACF;AAEA,eAAeH,qBAAqB","ignoreList":[]}
|
|
@@ -6,12 +6,11 @@ import CommandHistoryItemTooltip from "./CommandHistoryItemTooltip.js";
|
|
|
6
6
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
7
|
var MAX_TRUNCATE_LENGTH = 512;
|
|
8
8
|
function CommandHistoryItem(_ref) {
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
isSelected = false,
|
|
13
|
-
commandHistoryStorage
|
|
14
|
-
} = _ref;
|
|
9
|
+
var item = _ref.item,
|
|
10
|
+
language = _ref.language,
|
|
11
|
+
_ref$isSelected = _ref.isSelected,
|
|
12
|
+
isSelected = _ref$isSelected === void 0 ? false : _ref$isSelected,
|
|
13
|
+
commandHistoryStorage = _ref.commandHistoryStorage;
|
|
15
14
|
var previewText = item.name.substring(0, MAX_TRUNCATE_LENGTH);
|
|
16
15
|
var tooltip = useRef(null);
|
|
17
16
|
var handleUpdate = useCallback(() => {
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"CommandHistoryItem.js","names":["React","useRef","useCallback","classNames","Tooltip","CommandHistoryItemTooltip","jsx","_jsx","jsxs","_jsxs","MAX_TRUNCATE_LENGTH","CommandHistoryItem","_ref","item","language","_ref$isSelected","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,IAJxCC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IACJC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAAC,eAAA,GAAAH,IAAA,CACRI,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG,KAAK,GAAAA,eAAA;IAClBE,qBAAqB,GAAAL,IAAA,CAArBK,qBAAqB;EAErB,IAAMC,WAAW,GAAGL,IAAI,CAACM,IAAI,CAACC,SAAS,CAAC,CAAC,EAAEV,mBAAmB,CAAC;EAC/D,IAAMW,OAAO,GAAGpB,MAAM,CAAU,IAAI,CAAC;EACrC,IAAMqB,YAAY,GAAGpB,WAAW,CAAC,MAAM;IAAA,IAAAqB,gBAAA;IACrC,CAAAA,gBAAA,GAAAF,OAAO,CAACG,OAAO,cAAAD,gBAAA,eAAfA,gBAAA,CAAiBE,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,CAACJ,OAAO,CAAC,CAAC;EAEb,oBACEZ,KAAA;IACEiB,SAAS,EAAEvB,UAAU,CAAC,sBAAsB,EAAE;MAC5CwB,QAAQ,EAAEX;IACZ,CAAC,CAAE;IAAAY,QAAA,GAEFV,WAAW,eACZX,IAAA,CAACH,OAAO;MACNyB,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,eAE7CrB,IAAA,CAACF,yBAAyB;QACxBQ,IAAI,EAAEA,IAAK;QACXC,QAAQ,EAAEA,QAAS;QACnByB,QAAQ,EAAEjB,YAAa;QACvBL,qBAAqB,EAAEA;MAAsB,CAC9C;IAAC,CACK,CAAC;EAAA,CACP,CAAC;AAEV;AAEA,eAAeN,kBAAkB","ignoreList":[]}
|
|
@@ -19,14 +19,11 @@ export class CommandHistoryItemTooltip extends Component {
|
|
|
19
19
|
_defineProperty(this, "timer", void 0);
|
|
20
20
|
_defineProperty(this, "cleanup", void 0);
|
|
21
21
|
_defineProperty(this, "loadData", debounce(() => {
|
|
22
|
-
var
|
|
23
|
-
commandHistoryStorage,
|
|
24
|
-
item,
|
|
25
|
-
language
|
|
26
|
-
|
|
27
|
-
var {
|
|
28
|
-
id
|
|
29
|
-
} = item;
|
|
22
|
+
var _this$props = this.props,
|
|
23
|
+
commandHistoryStorage = _this$props.commandHistoryStorage,
|
|
24
|
+
item = _this$props.item,
|
|
25
|
+
language = _this$props.language;
|
|
26
|
+
var id = item.id;
|
|
30
27
|
this.cleanup = commandHistoryStorage.listenItem(language, id, this.handleUpdate, this.handleError);
|
|
31
28
|
}, LOAD_DATA_DEBOUNCE));
|
|
32
29
|
_defineProperty(this, "getPreviewText", memoize(name => name.split('\n', MAX_NUMBER_OF_LINES).join('\n'), {
|
|
@@ -44,9 +41,7 @@ export class CommandHistoryItemTooltip extends Component {
|
|
|
44
41
|
}
|
|
45
42
|
componentDidUpdate(prevProps, prevState) {
|
|
46
43
|
var _prevState$data;
|
|
47
|
-
var
|
|
48
|
-
data
|
|
49
|
-
} = this.state;
|
|
44
|
+
var data = this.state.data;
|
|
50
45
|
if (this.timer == null && !(data !== null && data !== void 0 && data.result) && Boolean(data === null || data === void 0 ? void 0 : data.startTime) && !(data == null || data.endTime === undefined)) {
|
|
51
46
|
this.startTimer();
|
|
52
47
|
} else if (data !== null && data !== void 0 && data.result && !((_prevState$data = prevState.data) !== null && _prevState$data !== void 0 && _prevState$data.result) || Boolean(data === null || data === void 0 ? void 0 : data.endTime) && !(prevState.data == null || prevState.data.endTime === undefined)) {
|
|
@@ -82,15 +77,12 @@ export class CommandHistoryItemTooltip extends Component {
|
|
|
82
77
|
});
|
|
83
78
|
}
|
|
84
79
|
handleUpdate(item) {
|
|
85
|
-
var {
|
|
86
|
-
data
|
|
87
|
-
} = item !== null && item !== void 0 ? item : {};
|
|
80
|
+
var _ref = item !== null && item !== void 0 ? item : {},
|
|
81
|
+
data = _ref.data;
|
|
88
82
|
this.setState({
|
|
89
83
|
data
|
|
90
84
|
});
|
|
91
|
-
var
|
|
92
|
-
onUpdate
|
|
93
|
-
} = this.props;
|
|
85
|
+
var onUpdate = this.props.onUpdate;
|
|
94
86
|
onUpdate === null || onUpdate === void 0 || onUpdate(data);
|
|
95
87
|
}
|
|
96
88
|
handleTimeout() {
|
|
@@ -98,22 +90,17 @@ export class CommandHistoryItemTooltip extends Component {
|
|
|
98
90
|
}
|
|
99
91
|
render() {
|
|
100
92
|
var _result$error;
|
|
101
|
-
var
|
|
102
|
-
item
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
var {
|
|
113
|
-
result,
|
|
114
|
-
startTime,
|
|
115
|
-
endTime
|
|
116
|
-
} = data !== null && data !== void 0 ? data : {};
|
|
93
|
+
var _this$props2 = this.props,
|
|
94
|
+
name = _this$props2.item.name,
|
|
95
|
+
language = _this$props2.language;
|
|
96
|
+
var _this$state = this.state,
|
|
97
|
+
currentTime = _this$state.currentTime,
|
|
98
|
+
data = _this$state.data,
|
|
99
|
+
error = _this$state.error;
|
|
100
|
+
var _ref2 = data !== null && data !== void 0 ? data : {},
|
|
101
|
+
result = _ref2.result,
|
|
102
|
+
startTime = _ref2.startTime,
|
|
103
|
+
endTime = _ref2.endTime;
|
|
117
104
|
var errorMessage = (_result$error = result === null || result === void 0 ? void 0 : result.error) !== null && _result$error !== void 0 ? _result$error : error;
|
|
118
105
|
var timeString = TimeUtils.formatConvertedDuration(startTime, endTime !== null && endTime !== void 0 ? endTime : currentTime);
|
|
119
106
|
|
|
@@ -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","constructor","props","_defineProperty","commandHistoryStorage","item","language","id","cleanup","listenItem","handleUpdate","handleError","name","split","join","max","bind","handleTimeout","state","currentTime","Date","now","componentDidMount","loadData","componentDidUpdate","prevProps","prevState","_prevState$data","data","timer","result","Boolean","startTime","endTime","undefined","startTimer","stopTimer","componentWillUnmount","cancel","window","setInterval","clearInterval","updateTime","setState","error","concat","onUpdate","render","_result$error","errorMessage","timeString","formatConvertedDuration","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 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 = TimeUtils.formatConvertedDuration(\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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","ignoreList":[]}
|
|
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","constructor","props","_defineProperty","_this$props","commandHistoryStorage","item","language","id","cleanup","listenItem","handleUpdate","handleError","name","split","join","max","bind","handleTimeout","state","currentTime","Date","now","componentDidMount","loadData","componentDidUpdate","prevProps","prevState","_prevState$data","data","timer","result","Boolean","startTime","endTime","undefined","startTimer","stopTimer","componentWillUnmount","cancel","window","setInterval","clearInterval","updateTime","setState","error","concat","_ref","onUpdate","render","_result$error","_this$props2","_this$state","_ref2","errorMessage","timeString","formatConvertedDuration","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 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 = TimeUtils.formatConvertedDuration(\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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","ignoreList":[]}
|
|
@@ -5,15 +5,16 @@ var UPDATE_DELAY = 150;
|
|
|
5
5
|
var ROW_BUFFER_PAGES = 3;
|
|
6
6
|
var log = Log.module('CommandHistoryViewportUpdater');
|
|
7
7
|
function CommandHistoryViewportUpdater(_ref) {
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
top = 0,
|
|
12
|
-
bottom =
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
8
|
+
var table = _ref.table,
|
|
9
|
+
columns = _ref.columns,
|
|
10
|
+
_ref$top = _ref.top,
|
|
11
|
+
top = _ref$top === void 0 ? 0 : _ref$top,
|
|
12
|
+
_ref$bottom = _ref.bottom,
|
|
13
|
+
bottom = _ref$bottom === void 0 ? 0 : _ref$bottom,
|
|
14
|
+
search = _ref.search,
|
|
15
|
+
_ref$isReversed = _ref.isReversed,
|
|
16
|
+
isReversed = _ref$isReversed === void 0 ? false : _ref$isReversed,
|
|
17
|
+
onUpdate = _ref.onUpdate;
|
|
17
18
|
var throttledUpdateViewport = useMemo(() => throttle(viewport => {
|
|
18
19
|
var viewHeight = viewport.bottom - viewport.top;
|
|
19
20
|
var bufferedTop = Math.max(0, viewport.top - viewHeight * ROW_BUFFER_PAGES);
|