@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.
Files changed (63) hide show
  1. package/dist/Console.js +85 -141
  2. package/dist/Console.js.map +1 -1
  3. package/dist/ConsoleInput.js +23 -41
  4. package/dist/ConsoleInput.js.map +1 -1
  5. package/dist/ConsoleObjectsMenu.js +13 -8
  6. package/dist/ConsoleObjectsMenu.js.map +1 -1
  7. package/dist/ConsoleStatusBar.js +15 -10
  8. package/dist/ConsoleStatusBar.js.map +1 -1
  9. package/dist/HeapUsage.js +33 -26
  10. package/dist/HeapUsage.js.map +1 -1
  11. package/dist/command-history/CommandHistory.js +45 -76
  12. package/dist/command-history/CommandHistory.js.map +1 -1
  13. package/dist/command-history/CommandHistoryActions.js +3 -4
  14. package/dist/command-history/CommandHistoryActions.js.map +1 -1
  15. package/dist/command-history/CommandHistoryItem.js +5 -6
  16. package/dist/command-history/CommandHistoryItem.js.map +1 -1
  17. package/dist/command-history/CommandHistoryItemTooltip.js +20 -33
  18. package/dist/command-history/CommandHistoryItemTooltip.js.map +1 -1
  19. package/dist/command-history/CommandHistoryViewportUpdater.js +10 -9
  20. package/dist/command-history/CommandHistoryViewportUpdater.js.map +1 -1
  21. package/dist/common/Code.js +14 -8
  22. package/dist/common/Code.js.map +1 -1
  23. package/dist/common/ObjectIcon.js +1 -3
  24. package/dist/common/ObjectIcon.js.map +1 -1
  25. package/dist/console-history/ConsoleHistory.js +8 -9
  26. package/dist/console-history/ConsoleHistory.js.map +1 -1
  27. package/dist/console-history/ConsoleHistoryItem.js +17 -32
  28. package/dist/console-history/ConsoleHistoryItem.js.map +1 -1
  29. package/dist/console-history/ConsoleHistoryItemActions.js +3 -5
  30. package/dist/console-history/ConsoleHistoryItemActions.js.map +1 -1
  31. package/dist/console-history/ConsoleHistoryItemResult.js +1 -3
  32. package/dist/console-history/ConsoleHistoryItemResult.js.map +1 -1
  33. package/dist/console-history/ConsoleHistoryItemTooltip.js +4 -8
  34. package/dist/console-history/ConsoleHistoryItemTooltip.js.map +1 -1
  35. package/dist/console-history/ConsoleHistoryResultErrorMessage.js +4 -7
  36. package/dist/console-history/ConsoleHistoryResultErrorMessage.js.map +1 -1
  37. package/dist/console-history/ConsoleHistoryResultInProgress.js +4 -7
  38. package/dist/console-history/ConsoleHistoryResultInProgress.js.map +1 -1
  39. package/dist/csv/CsvInputBar.js +51 -67
  40. package/dist/csv/CsvInputBar.js.map +1 -1
  41. package/dist/csv/CsvOverlay.js +19 -31
  42. package/dist/csv/CsvOverlay.js.map +1 -1
  43. package/dist/csv/CsvParser.js +25 -36
  44. package/dist/csv/CsvParser.js.map +1 -1
  45. package/dist/csv/CsvTypeParser.js +4 -10
  46. package/dist/csv/CsvTypeParser.js.map +1 -1
  47. package/dist/log/LogLevelMenuItem.js +6 -8
  48. package/dist/log/LogLevelMenuItem.js.map +1 -1
  49. package/dist/log/LogView.js +9 -27
  50. package/dist/log/LogView.js.map +1 -1
  51. package/dist/monaco/MonacoProviders.js +27 -41
  52. package/dist/monaco/MonacoProviders.js.map +1 -1
  53. package/dist/monaco/MonacoThemeProvider.js +3 -6
  54. package/dist/monaco/MonacoThemeProvider.js.map +1 -1
  55. package/dist/monaco/MonacoUtils.js +17 -36
  56. package/dist/monaco/MonacoUtils.js.map +1 -1
  57. package/dist/monaco/RuffSettingsModal.js +29 -17
  58. package/dist/monaco/RuffSettingsModal.js.map +1 -1
  59. package/dist/notebook/Editor.js +4 -12
  60. package/dist/notebook/Editor.js.map +1 -1
  61. package/dist/notebook/ScriptEditor.js +34 -51
  62. package/dist/notebook/ScriptEditor.js.map +1 -1
  63. 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
- sendToConsole
244
- } = this.props;
245
- var {
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
- items,
279
- offset
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
- item,
294
- itemIndex,
295
- isSelected
296
- } = _ref3;
297
- var {
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
- } = this.props;
323
- var {
324
- actions,
325
- historyActions,
326
- searchText,
327
- debouncedSearchText,
328
- top,
329
- bottom,
330
- items,
331
- itemCount,
332
- offset,
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":";;;;;AAAA,OAAOA,KAAK,IAEVC,SAAS,QAGJ,OAAO;AACd,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,SACEC,cAAc,EACdC,QAAQ,EACRC,WAAW,EACXC,gBAAgB,QAEX,uBAAuB;AAE9B,SACEC,UAAU,EACVC,OAAO,EACPC,SAAS,EACTC,MAAM,EACNC,UAAU,QACL,kBAAkB;AACzB,SAASC,eAAe,EAAEC,OAAO,QAAoB,kBAAkB;AACvE,OAAOC,GAAG,MAAM,gBAAgB;AAAC,OAC1BC,kBAAkB;AAAA,OAClBC,qBAAqB;AAAA,OACrBC,gBAAgB;AAAA;AAAA,OAGhBC,6BAA6B;AAAA,OAC7BC,SAAS;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQhB,IAAMC,GAAG,GAAGV,GAAG,CAACW,MAAM,CAAC,gBAAgB,CAAC;AA6BxC,MAAMC,cAAc,SAASzB,SAAS,CAGpC;EAWA,OAAO0B,uBAAuBA,CAC5BC,KAAkC,EAClCC,MAAc,EACdC,YAAqB,EACX;IACV,IAAMC,QAAQ,GAAG,EAAE;IACnB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,YAAY,CAACG,MAAM,EAAED,CAAC,IAAI,CAAC,EAAE;MAC/C,IAAME,KAAK,GAAGJ,YAAY,CAACE,CAAC,CAAC;MAC7B,KAAK,IAAIG,CAAC,GAAGD,KAAK,CAAC,CAAC,CAAC,EAAEC,CAAC,IAAID,KAAK,CAAC,CAAC,CAAC,EAAEC,CAAC,IAAI,CAAC,EAAE;QAC5C,IAAIA,CAAC,IAAIN,MAAM,IAAIM,CAAC,GAAGN,MAAM,GAAGD,KAAK,CAACK,MAAM,EAAE;UAC5C,IAAQG,IAAI,GAAKR,KAAK,CAACO,CAAC,GAAGN,MAAM,CAAC,CAA1BO,IAAI;UACZL,QAAQ,CAACM,IAAI,CAACD,IAAI,CAAC;QACrB;MACF;IACF;IACA,OAAOL,QAAQ;EACjB;EAEA,OAAaO,uBAAuBA,CAClCC,KAA0B,EAC1BT,YAAqB,EACF;IAAA,OAAAU,iBAAA;MACnB,IAAMZ,KAAK,SAASW,KAAK,CAACE,WAAW,CAACX,YAAY,CAAC;MACnD,OAAO,CAAC,GAAGF,KAAK,CAACc,MAAM,CAAC,CAAC,CAAC,CAACC,GAAG,CAACC,IAAI,IAAIA,IAAI,CAACR,IAAI,CAAC;IAAC;EACpD;EAEAS,WAAWA,CAACC,KAA0B,EAAE;IACtC,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,gCAiLS7C,QAAQ,CAAC,MAAY;MAC3C,IAAI,CAAC8C,QAAQ,CAACC,IAAA;QAAA,IAAGC,UAAU,GAAAD,IAAA,CAAVC,UAAU;QAAA,OAAQ;UACjCC,mBAAmB,EAAED,UAAU;UAC/B;UACAE,cAAc,EAAE;QAClB,CAAC;MAAA,CAAC,CAAC;IACL,CAAC,EAAE1B,cAAc,CAAC2B,sBAAsB,CAAC;IArLvC,IAAI,CAACC,oBAAoB,GAAG,IAAI,CAACA,oBAAoB,CAACC,IAAI,CAAC,IAAI,CAAC;IAChE,IAAI,CAACC,cAAc,GAAG,IAAI,CAACA,cAAc,CAACD,IAAI,CAAC,IAAI,CAAC;IACpD,IAAI,CAACE,aAAa,GAAG,IAAI,CAACA,aAAa,CAACF,IAAI,CAAC,IAAI,CAAC;IAClD,IAAI,CAACG,UAAU,GAAG,IAAI,CAACA,UAAU,CAACH,IAAI,CAAC,IAAI,CAAC;IAC5C,IAAI,CAACI,YAAY,GAAG,IAAI,CAACA,YAAY,CAACJ,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACK,cAAc,GAAG,IAAI,CAACA,cAAc,CAACL,IAAI,CAAC,IAAI,CAAC;IACpD,IAAI,CAACM,YAAY,GAAG,IAAI,CAACA,YAAY,CAACN,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACO,qBAAqB,GAAG,IAAI,CAACA,qBAAqB,CAACP,IAAI,CAAC,IAAI,CAAC;IAClE,IAAI,CAACQ,kBAAkB,GAAG,IAAI,CAACA,kBAAkB,CAACR,IAAI,CAAC,IAAI,CAAC;IAC5D,IAAI,CAACS,oBAAoB,GAAG,IAAI,CAACA,oBAAoB,CAACT,IAAI,CAAC,IAAI,CAAC;IAChE,IAAI,CAACU,oBAAoB,GAAG,IAAI,CAACA,oBAAoB,CAACV,IAAI,CAAC,IAAI,CAAC;IAEhE,IAAI,CAACW,WAAW,GAAG,CACjB;MACEC,KAAK,EAAE,gBAAgB;MACvBC,WAAW,EAAE,qCAAqC;MAClDC,IAAI,EAAE7D,OAAO;MACb8D,QAAQ,EAAEhE,gBAAgB,CAACiE,IAAI;MAC/BC,MAAM,EAAE,IAAI,CAAClB,oBAAoB;MACjCmB,KAAK,EAAEtE,cAAc,CAACuE,MAAM,CAACC;IAC/B,CAAC,EACD;MACER,KAAK,EAAE,iBAAiB;MACxBC,WAAW,EAAE,uCAAuC;MACpDC,IAAI,EAAE1D,UAAU;MAChB2D,QAAQ,EAAEnD,SAAS,CAACyD,eAAe,CAACC,eAAe;MACnDL,MAAM,EAAE,IAAI,CAACf,aAAa;MAC1BgB,KAAK,EAAE/C,cAAc,CAACoD,UAAU,CAACC,IAAI;MACrCC,KAAK,EAAE;IACT,CAAC,EACD;MACEb,KAAK,EAAE,gBAAgB;MACvBC,WAAW,EAAE,sCAAsC;MACnDC,IAAI,EAAE3D,MAAM;MACZ4D,QAAQ,EAAEnD,SAAS,CAACyD,eAAe,CAACK,GAAG;MACvCT,MAAM,EAAE,IAAI,CAACb,YAAY;MACzBc,KAAK,EAAE/C,cAAc,CAACoD,UAAU,CAACC,IAAI;MACrCC,KAAK,EAAE;IACT,CAAC,EACD;MACEb,KAAK,EAAE,yBAAyB;MAChCC,WAAW,EAAE,sCAAsC;MACnDC,IAAI,EAAE9D,UAAU;MAChB+D,QAAQ,EAAEnD,SAAS,CAACyD,eAAe,CAACM,gBAAgB;MACpDV,MAAM,EAAE,IAAI,CAACZ,cAAc;MAC3Ba,KAAK,EAAE/C,cAAc,CAACoD,UAAU,CAACC,IAAI;MACrCC,KAAK,EAAE;IACT,CAAC,EACD;MACEb,KAAK,EAAE,sBAAsB;MAC7BC,WAAW,EAAE,0CAA0C;MACvDC,IAAI,EAAE5D,SAAS;MACf+D,MAAM,EAAE,IAAI,CAAChB,cAAc;MAC3BiB,KAAK,EAAE/C,cAAc,CAACoD,UAAU,CAACC,IAAI;MACrCC,KAAK,EAAE;IACT,CAAC,CACF;IAED,IAAI,CAACG,cAAc,GAAG,CACpB;MACEhB,KAAK,EAAE,iBAAiB;MACxBE,IAAI,EAAE1D,UAAU;MAChByE,iBAAiB,EAAE,IAAI;MACvBhB,WAAW,EAAE,uCAAuC;MACpDI,MAAM,EAAE,IAAI,CAACf;IACf,CAAC,EACD;MACEU,KAAK,EAAE,kBAAkB;MACzBE,IAAI,EAAE9D,UAAU;MAChB6E,iBAAiB,EAAE,IAAI;MACvBhB,WAAW,EAAE,sCAAsC;MACnDI,MAAM,EAAE,IAAI,CAACZ;IACf,CAAC,CACF;IAED,IAAI,CAACyB,OAAO,GAAG,IAAIxE,OAAO,CAAC,CAAC;IAC5B,IAAI,CAACyE,cAAc,gBAAGtF,KAAK,CAACuF,SAAS,CAAC,CAAC;IACvC,IAAI,CAACC,WAAW,gBAAGxF,KAAK,CAACuF,SAAS,CAAC,CAAC;IAEpC,IAAQhD,KAAK,GAAKO,KAAK,CAAfP,KAAK;IAEb,IAAI,CAACkD,KAAK,GAAG;MACXC,OAAO,EAAE,EAAE;MACXP,cAAc,EAAE,IAAI,CAACA,cAAc;MACnCQ,GAAG,EAAE,CAAC;MACNC,MAAM,EAAE,CAAC;MACTC,SAAS,EAAEtD,KAAK,CAACuD,IAAI;MACrBlE,KAAK,EAAE,EAAE;MACTC,MAAM,EAAE,CAAC;MACTuB,cAAc,EAAE,EAAE;MAClBF,UAAU,EAAE,EAAE;MACdC,mBAAmB,EAAE;IACvB,CAAC;EACH;EAEA4C,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,CAACC,qBAAqB,CAACC,MAAM,CAAC,CAAC;IACnC,IAAI,CAACZ,OAAO,CAACY,MAAM,CAAC,CAAC;EACvB;EAYA;AACF;AACA;AACA;AACA;EACQC,mBAAmBA,CAAA,EAAsB;IAAA,IAAAC,KAAA;IAAA,OAAA3D,iBAAA;MAC7C,IAAA4D,WAAA,GAA0CD,KAAI,CAACV,KAAK;QAA5C7D,KAAK,GAAAwE,WAAA,CAALxE,KAAK;QAAEC,MAAM,GAAAuE,WAAA,CAANvE,MAAM;QAAEuB,cAAc,GAAAgD,WAAA,CAAdhD,cAAc;MACrC,IAAMiD,MAAM,GAAGjD,cAAc,CAACkD,KAAK,CAAC,CAAC,CAACC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,CAAC;MAEjE,IAAIJ,MAAM,CAACpE,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,EAAE;MACX;MACA,IACEoE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAIxE,MAAM,IACtBwE,MAAM,CAACA,MAAM,CAACpE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAGJ,MAAM,GAAGD,KAAK,CAACK,MAAM,EACpD;QACA;QACA,OAAOP,cAAc,CAACC,uBAAuB,CAACC,KAAK,EAAEC,MAAM,EAAEwE,MAAM,CAAC;MACtE;MACA,IAAQ9D,KAAK,GAAK4D,KAAI,CAACrD,KAAK,CAApBP,KAAK;MACb,OAAO4D,KAAI,CAACd,OAAO,CAACqB,GAAG,CACrBhF,cAAc,CAACY,uBAAuB,CAACC,KAAK,EAAE8D,MAAM,CACtD,CAAC;IAAC;EACJ;;EAEA;AACF;AACA;AACA;EACEM,sBAAsBA,CAAA,EAAoB;IACxC,OAAO,IAAI,CAACT,mBAAmB,CAAC,CAAC,CAACU,IAAI,CAAC7E,QAAQ,IAAIA,QAAQ,CAAC8E,IAAI,CAAC,IAAI,CAAC,CAAC;EACzE;EAEAC,aAAaA,CAAA,EAAS;IACpB,IAAI,CAAC9D,QAAQ,CAACyC,KAAK,IAAI;MACrB,IAAQrC,cAAc,GAAKqC,KAAK,CAAxBrC,cAAc;MACtB,IAAM2D,gBAAgB,GAAG3D,cAAc,CAAC4D,MAAM,CAC5C,CAACC,KAAK,EAAE/E,KAAK,KAAK+E,KAAK,GAAG/E,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EACjD,CACF,CAAC;MACD,IACE6E,gBAAgB,GAAG,CAAC,IACpBA,gBAAgB,GAAGrF,cAAc,CAACwF,mBAAmB,EACrD;QACA1F,GAAG,CAAC2F,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAACjD,WAAW,CAAC;QAC/C,OAAO;UAAEwB,OAAO,EAAE,IAAI,CAACxB;QAAY,CAAC;MACtC;MACA1C,GAAG,CAAC2F,KAAK,CAAC,mBAAmB,EAAEJ,gBAAgB,CAAC;MAChD,OAAO;QAAErB,OAAO,EAAE;MAAG,CAAC;IACxB,CAAC,CAAC;EACJ;EAEApC,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,CAACqD,sBAAsB,CAAC,CAAC,CAACC,IAAI,CAAChG,eAAe,CAAC,CAACwG,KAAK,CAAC5F,GAAG,CAAC6F,KAAK,CAAC;EACtE;EAEA7D,cAAcA,CAAA,EAAS;IACrB,IAAI,CAACmD,sBAAsB,CAAC,CAAC,CAC1BC,IAAI,CAACU,WAAW,IAAI;MACnB,IAAAC,WAAA,GAAqC,IAAI,CAACzE,KAAK;QAAvC0E,QAAQ,GAAAD,WAAA,CAARC,QAAQ;QAAE5D,cAAc,GAAA2D,WAAA,CAAd3D,cAAc;MAChCA,cAAc,CAAC;QAAE6D,KAAK,EAAEH,WAAW;QAAEE;MAAS,CAAC,EAAE,IAAI,CAAC;IACxD,CAAC,CAAC,CACDJ,KAAK,CAAC5F,GAAG,CAAC6F,KAAK,CAAC;EACrB;EAUAzD,cAAcA,CAAA,EAAS;IACrB,IAAI,CAAC+C,sBAAsB,CAAC,CAAC,CAC1BC,IAAI,CAACU,WAAW,IAAI;MACnB,IAAAI,YAAA,GAAqC,IAAI,CAAC5E,KAAK;QAAvC0E,QAAQ,GAAAE,YAAA,CAARF,QAAQ;QAAE5D,cAAc,GAAA8D,YAAA,CAAd9D,cAAc;MAChCA,cAAc,CAAC;QAAE6D,KAAK,EAAEH,WAAW;QAAEE;MAAS,CAAC,CAAC;IAClD,CAAC,CAAC,CACDJ,KAAK,CAAC5F,GAAG,CAAC6F,KAAK,CAAC;EACrB;EAEA5D,aAAaA,CAAA,EAAS;IACpB,IAAQA,aAAa,GAAK,IAAI,CAACX,KAAK,CAA5BW,aAAa;IACrB,IAAI,CAACkD,sBAAsB,CAAC,CAAC,CAACC,IAAI,CAACnD,aAAa,CAAC,CAAC2D,KAAK,CAAC5F,GAAG,CAAC6F,KAAK,CAAC;EACpE;EAEA1D,YAAYA,CAAA,EAAS;IACnB,IAAI,CAACgD,sBAAsB,CAAC,CAAC,CAC1BC,IAAI,CAACU,WAAW,IAAI;MACnB,IAAQ7D,aAAa,GAAK,IAAI,CAACX,KAAK,CAA5BW,aAAa;MACrBA,aAAa,CAAC6D,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC;IACxC,CAAC,CAAC,CACDF,KAAK,CAAC5F,GAAG,CAAC6F,KAAK,CAAC;EACrB;EAEAxD,YAAYA,CAAC8D,KAAa,EAAQ;IAChC,IAAQlE,aAAa,GAAK,IAAI,CAACX,KAAK,CAA5BW,aAAa;IACrB,IAAAmE,YAAA,GAA0B,IAAI,CAACnC,KAAK;MAA5B7D,KAAK,GAAAgG,YAAA,CAALhG,KAAK;MAAEC,MAAM,GAAA+F,YAAA,CAAN/F,MAAM;IACrB,IAAI8F,KAAK,GAAG9F,MAAM,IAAI8F,KAAK,IAAI9F,MAAM,GAAGD,KAAK,CAACK,MAAM,EAAE;MACpDT,GAAG,CAAC6F,KAAK,CAAC,gBAAgB,EAAEM,KAAK,CAAC;MAClC;IACF;IAEA,IAAQvF,IAAI,GAAKR,KAAK,CAAC+F,KAAK,GAAG9F,MAAM,CAAC,CAA9BO,IAAI;IACZqB,aAAa,CAACrB,IAAI,CAAC;EACrB;EAEA0B,qBAAqBA,CAACV,cAAgC,EAAQ;IAC5D,IAAI,CAACJ,QAAQ,CAAC;MAAEI;IAAe,CAAC,CAAC;IACjC,IAAI,CAAC0D,aAAa,CAAC,CAAC;EACtB;EAEA9C,oBAAoBA,CAAC2B,GAAW,EAAEC,MAAc,EAAQ;IACtD,IAAI,CAAC5C,QAAQ,CAAC;MAAE2C,GAAG;MAAEC;IAAO,CAAC,CAAC;EAChC;EAEA7B,kBAAkBA,CAAC8D,CAAgC,EAAQ;IACzD,IAAI,CAAC7E,QAAQ,CAAC;MAAEE,UAAU,EAAE2E,CAAC,CAACC,MAAM,CAACL;IAAM,CAAC,CAAC;IAC7C,IAAI,CAACzB,qBAAqB,CAAC,CAAC;EAC9B;EAEA/B,oBAAoBA,CAAA8D,KAAA,EAG8B;IAAA,IAFhDnG,KAAK,GAAAmG,KAAA,CAALnG,KAAK;MACLC,MAAM,GAAAkG,KAAA,CAANlG,MAAM;IAEN,IAAQU,KAAK,GAAK,IAAI,CAACO,KAAK,CAApBP,KAAK;IACb,IAAMsD,SAAS,GAAGtD,KAAK,CAACuD,IAAI;IAC5B,IAAI,CAAC9C,QAAQ,CAAC;MAAEpB,KAAK;MAAEiE,SAAS;MAAEhE;IAAO,CAAC,CAAC;EAC7C;EAEA6B,UAAUA,CAAAsE,KAAA,EAImD;IAAA,IAH3DpF,IAAI,GAAAoF,KAAA,CAAJpF,IAAI;MACJqF,SAAS,GAAAD,KAAA,CAATC,SAAS;MACTC,UAAU,GAAAF,KAAA,CAAVE,UAAU;IAEV,IAAAC,YAAA,GAA4C,IAAI,CAACrF,KAAK;MAA9C0E,QAAQ,GAAAW,YAAA,CAARX,QAAQ;MAAEY,qBAAqB,GAAAD,YAAA,CAArBC,qBAAqB;IACvC,oBACE/G,IAAA,CAACN,kBAAkB;MACjBmH,UAAU,EAAEA,UAAW;MACvBtF,IAAI,EAAEA,IAAK;MACX4E,QAAQ,EAAEA,QAAS;MACnBY,qBAAqB,EAAEA;IAAsB,CAC9C,CAAC;EAEN;EAEAC,KAAKA,CAAA,EAAS;IACZ,IAAI,IAAI,CAAC/C,cAAc,CAACgD,OAAO,EAAE;MAC/B,IAAI,CAAChD,cAAc,CAACgD,OAAO,CAACD,KAAK,CAAC,CAAC;IACrC;EACF;EAEAE,qBAAqBA,CAAA,EAAS;IAAA,IAAAC,qBAAA;IAC5B,CAAAA,qBAAA,OAAI,CAAChD,WAAW,CAAC8C,OAAO,cAAAE,qBAAA,eAAxBA,qBAAA,CAA0BD,qBAAqB,CAAC,CAAC;EACnD;EAEAE,MAAMA,CAAA,EAAiB;IAAA,IAAAC,qBAAA;IACrB,IAAAC,YAAA,GAA4B,IAAI,CAAC7F,KAAK;MAA9B0E,QAAQ,GAAAmB,YAAA,CAARnB,QAAQ;MAAEjF,KAAK,GAAAoG,YAAA,CAALpG,KAAK;IACvB,IAAAqG,YAAA,GAWI,IAAI,CAACnD,KAAK;MAVZC,OAAO,GAAAkD,YAAA,CAAPlD,OAAO;MACPP,cAAc,GAAAyD,YAAA,CAAdzD,cAAc;MACdjC,UAAU,GAAA0F,YAAA,CAAV1F,UAAU;MACVC,mBAAmB,GAAAyF,YAAA,CAAnBzF,mBAAmB;MACnBwC,GAAG,GAAAiD,YAAA,CAAHjD,GAAG;MACHC,MAAM,GAAAgD,YAAA,CAANhD,MAAM;MACNhE,KAAK,GAAAgH,YAAA,CAALhH,KAAK;MACLiE,SAAS,GAAA+C,YAAA,CAAT/C,SAAS;MACThE,MAAM,GAAA+G,YAAA,CAAN/G,MAAM;MACNuB,cAAc,GAAAwF,YAAA,CAAdxF,cAAc;IAEhB,IAAMyF,qBAAqB,IAAAH,qBAAA,GACzBzH,gBAAgB,CAAC6H,YAAY,CAACC,GAAG,CAACvB,QAAQ,CAAC,cAAAkB,qBAAA,cAAAA,qBAAA,GAAI,EAAE;IACnD,oBACEnH,KAAA;MAAKyH,SAAS,EAAC,iBAAiB;MAAAC,QAAA,gBAC9B1H,KAAA;QAAKyH,SAAS,EAAC,4BAA4B;QAAAC,QAAA,gBACzC5H,IAAA,CAAChB,WAAW;UACV6I,GAAG,EAAE,IAAI,CAAC5D,cAAe;UACzBmC,KAAK,EAAEvE,UAAW;UAClBiG,WAAW,KAAAC,MAAA,CAAKP,qBAAqB,qBAAmB;UACxDQ,QAAQ,EAAE,IAAI,CAACtF;QAAmB,CACnC,CAAC,eACF1C,IAAA,CAACL,qBAAqB;UACpB0E,OAAO,EAAEP,cAAe;UACxBmE,YAAY,EAAElG,cAAc,CAACnB,MAAM,GAAG;QAAE,CACzC,CAAC;MAAA,CACC,CAAC,eACNV,KAAA;QAAKyH,SAAS,EAAC,sBAAsB;QAAAC,QAAA,gBACnC5H,IAAA,CAACjB,QAAQ;UACP8I,GAAG,EAAE,IAAI,CAAC1D,WAAY;UACtBK,SAAS,EAAEA,SAAU;UACrBjE,KAAK,EAAEA,KAAM;UACbC,MAAM,EAAEA,MAAO;UACfuB,cAAc,EAAEA,cAAe;UAC/BmG,QAAQ,EAAE,IAAI,CAAC1F,YAAa;UAC5B2F,iBAAiB,EAAE,IAAI,CAAC1F,qBAAsB;UAC9C2F,gBAAgB,EAAE,IAAI,CAACzF,oBAAqB;UAC5CN,UAAU,EAAE,IAAI,CAACA,UAAW;UAC5BgG,SAAS,EAAEhI,cAAc,CAACiI,WAAY;UACtCC,mBAAmB;UACnBC,aAAa;UACbC,cAAc;QAAA,CACf,CAAC,eACFzI,IAAA,CAACH,6BAA6B;UAC5BqB,KAAK,EAAEA,KAAM;UACboD,GAAG,EAAEA,GAAI;UACTC,MAAM,EAAEA,MAAO;UACfmE,MAAM,EAAE5G,mBAAoB;UAC5B6G,QAAQ,EAAE,IAAI,CAAC/F;QAAqB,CACrC,CAAC,eACF5C,IAAA,CAAClB,cAAc;UAACuF,OAAO,EAAEA;QAAQ,CAAE,CAAC;MAAA,CACjC,CAAC;IAAA,CACH,CAAC;EAEV;AACF;AAAC3C,eAAA,CAhXKrB,cAAc,iBAIG,EAAE;AAAAqB,eAAA,CAJnBrB,cAAc,yBAMW,KAAK;AAAAqB,eAAA,CAN9BrB,cAAc,4BAQc,GAAG;AAAAqB,eAAA,CAR/BrB,cAAc,gBAUE;EAClBqD,IAAI,EAAE5E,cAAc,CAACuE,MAAM,CAACuF,MAAM,GAAG;AACvC,CAAC;AAsWH,eAAevI,cAAc","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","actions","hasSelection","props","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,IAAM;MAAEC,OAAO;MAAEC;IAAa,CAAC,GAAG,IAAI,CAACC,KAAK;IAE5C,oBACEpB,IAAA;MAAKY,SAAS,EAAC,yBAAyB;MAAAC,QAAA,EACrCK,OAAO,CAACG,GAAG,CAAC,CAACf,IAAI,EAAEgB,KAAK,kBACvBtB,IAAA,CAACJ,MAAM;QACL2B,IAAI,EAAC,QAAQ;QACbX,SAAS,EAAElB,UAAU,CAACY,IAAI,CAACM,SAAS,CAAE;QAEtCY,OAAO,EAAElB,IAAI,CAACmB,MAAO;QACrBC,OAAO,EAAEpB,IAAI,CAACqB,WAAY;QAC1BC,QAAQ,EACNtB,IAAI,CAACI,iBAAiB,KAAKC,SAAS,IACpCL,IAAI,CAACI,iBAAiB,IACtB,CAACS,YACF;QACDL,IAAI,EAAEX,qBAAqB,CAACM,aAAa,CAACH,IAAI;MAAE,GAR3CH,qBAAqB,CAACC,OAAO,CAACkB,KAAK,EAAEhB,IAAI,CAS/C,CACF;IAAC,CACC,CAAC;EAEV;AACF;AAEA,eAAeH,qBAAqB","ignoreList":[]}
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
- item,
11
- language,
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,IALd;IAC1BC,IAAI;IACJC,QAAQ;IACRC,UAAU,GAAG,KAAK;IAClBC;EACuB,CAAC,GAAAJ,IAAA;EACxB,IAAMK,WAAW,GAAGJ,IAAI,CAACK,IAAI,CAACC,SAAS,CAAC,CAAC,EAAET,mBAAmB,CAAC;EAC/D,IAAMU,OAAO,GAAGnB,MAAM,CAAU,IAAI,CAAC;EACrC,IAAMoB,YAAY,GAAGnB,WAAW,CAAC,MAAM;IAAA,IAAAoB,gBAAA;IACrC,CAAAA,gBAAA,GAAAF,OAAO,CAACG,OAAO,cAAAD,gBAAA,eAAfA,gBAAA,CAAiBE,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,CAACJ,OAAO,CAAC,CAAC;EAEb,oBACEX,KAAA;IACEgB,SAAS,EAAEtB,UAAU,CAAC,sBAAsB,EAAE;MAC5CuB,QAAQ,EAAEX;IACZ,CAAC,CAAE;IAAAY,QAAA,GAEFV,WAAW,eACZV,IAAA,CAACH,OAAO;MACNwB,GAAG,EAAER,OAAQ;MACbS,WAAW;MACXC,OAAO,EAAE;QACPC,SAAS,EAAE,MAAM;QACjBC,SAAS,EAAE;UACTC,eAAe,EAAE;YACfC,OAAO,EAAE,IAAI;YACbC,iBAAiB,EAAE,UAAU;YAC7BC,KAAK,EAAE,GAAG,CAAE;UACd;QACF;MACF,CAAE;MACFC,eAAe,EAAC,6BAA6B;MAAAV,QAAA,eAE7CpB,IAAA,CAACF,yBAAyB;QACxBQ,IAAI,EAAEA,IAAK;QACXC,QAAQ,EAAEA,QAAS;QACnBwB,QAAQ,EAAEjB,YAAa;QACvBL,qBAAqB,EAAEA;MAAsB,CAC9C;IAAC,CACK,CAAC;EAAA,CACP,CAAC;AAEV;AAEA,eAAeL,kBAAkB","ignoreList":[]}
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
- } = this.props;
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
- name
104
- },
105
- language
106
- } = this.props;
107
- var {
108
- currentTime,
109
- data,
110
- error
111
- } = this.state;
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":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAA2B,OAAO;AAC3D,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,OAAOC,OAAO,MAAM,UAAU;AAC9B,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,SAAS,QAAQ,kBAAkB;AAE5C,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,SAAS,QAAQ,kBAAkB;AAAC,OACtCC,IAAI;AAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAqBX,IAAMC,kBAAkB,GAAG,GAAG;AAC9B,IAAMC,mBAAmB,GAAG,IAAI;AAEhC,OAAO,MAAMC,yBAAyB,SAASd,SAAS,CAGtD;EAKAe,WAAWA,CAACC,KAAqC,EAAE;IACjD,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBAkDJhB,QAAQ,CAAC,MAAY;MAC9B,IAAM;QAAEiB,qBAAqB;QAAEC,IAAI;QAAEC;MAAS,CAAC,GAAG,IAAI,CAACJ,KAAK;MAC5D,IAAM;QAAEK;MAAG,CAAC,GAAGF,IAAI;MACnB,IAAI,CAACG,OAAO,GAAGJ,qBAAqB,CAACK,UAAU,CAC7CH,QAAQ,EACRC,EAAE,EACF,IAAI,CAACG,YAAY,EACjB,IAAI,CAACC,WACP,CAAC;IACH,CAAC,EAAEb,kBAAkB,CAAC;IAAAK,eAAA,yBAqCLf,OAAO,CACrBwB,IAAY,IAAKA,IAAI,CAACC,KAAK,CAAC,IAAI,EAAEd,mBAAmB,CAAC,CAACe,IAAI,CAAC,IAAI,CAAC,EAClE;MAAEC,GAAG,EAAE;IAAE,CACX,CAAC;IAjGC,IAAI,CAACL,YAAY,GAAG,IAAI,CAACA,YAAY,CAACM,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAACL,WAAW,GAAG,IAAI,CAACA,WAAW,CAACK,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAACC,aAAa,GAAG,IAAI,CAACA,aAAa,CAACD,IAAI,CAAC,IAAI,CAAC;IAElD,IAAI,CAACE,KAAK,GAAG;MACXC,WAAW,EAAEC,IAAI,CAACC,GAAG,CAAC;IACxB,CAAC;EACH;EAEAC,iBAAiBA,CAAA,EAAS;IACxB,IAAI,CAACC,QAAQ,CAAC,CAAC;EACjB;EAEAC,kBAAkBA,CAChBC,SAAyC,EACzCC,SAAyC,EACnC;IAAA,IAAAC,eAAA;IACN,IAAM;MAAEC;IAAK,CAAC,GAAG,IAAI,CAACV,KAAK;IAE3B,IACE,IAAI,CAACW,KAAK,IAAI,IAAI,IAClB,EAACD,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEE,MAAM,KACbC,OAAO,CAACH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEI,SAAS,CAAC,IACxB,EAAEJ,IAAI,IAAI,IAAI,IAAIA,IAAI,CAACK,OAAO,KAAKC,SAAS,CAAC,EAC7C;MACA,IAAI,CAACC,UAAU,CAAC,CAAC;IACnB,CAAC,MAAM,IACJP,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEE,MAAM,IAAI,GAAAH,eAAA,GAACD,SAAS,CAACE,IAAI,cAAAD,eAAA,eAAdA,eAAA,CAAgBG,MAAM,KACvCC,OAAO,CAACH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEK,OAAO,CAAC,IACrB,EAAEP,SAAS,CAACE,IAAI,IAAI,IAAI,IAAIF,SAAS,CAACE,IAAI,CAACK,OAAO,KAAKC,SAAS,CAAE,EACpE;MACA;MACA,IAAI,CAACE,SAAS,CAAC,CAAC;IAClB;EACF;EAEAC,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,CAACd,QAAQ,CAACe,MAAM,CAAC,CAAC;IACtB,IAAI,IAAI,CAAC9B,OAAO,IAAI,IAAI,EAAE;MACxB,IAAI,CAACA,OAAO,CAAC,CAAC;IAChB;IACA,IAAI,CAAC4B,SAAS,CAAC,CAAC;EAClB;EAiBAD,UAAUA,CAAA,EAAS;IACjB,IAAI,CAACC,SAAS,CAAC,CAAC;IAEhB,IAAI,CAACP,KAAK,GAAGU,MAAM,CAACC,WAAW,CAAC,IAAI,CAACvB,aAAa,EAAE,IAAI,CAAC;EAC3D;EAEAmB,SAASA,CAAA,EAAS;IAChB,IAAI,IAAI,CAACP,KAAK,IAAI,IAAI,EAAE;MACtBY,aAAa,CAAC,IAAI,CAACZ,KAAK,CAAC;MACzB,IAAI,CAACA,KAAK,GAAGK,SAAS;IACxB;EACF;EAEAQ,UAAUA,CAAA,EAAS;IACjB,IAAI,CAACC,QAAQ,CAAC;MACZxB,WAAW,EAAEC,IAAI,CAACC,GAAG,CAAC;IACxB,CAAC,CAAC;EACJ;EAEAV,WAAWA,CAACiC,KAAa,EAAQ;IAC/B,IAAI,CAACD,QAAQ,CAAC;MAAEC,KAAK,KAAAC,MAAA,CAAKD,KAAK;IAAG,CAAC,CAAC;EACtC;EAEAlC,YAAYA,CAACL,IAA+B,EAAQ;IAClD,IAAM;MAAEuB;IAAK,CAAC,GAAGvB,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,CAAC,CAAC;IAC3B,IAAI,CAACsC,QAAQ,CAAC;MAAEf;IAAK,CAAC,CAAC;IAEvB,IAAM;MAAEkB;IAAS,CAAC,GAAG,IAAI,CAAC5C,KAAK;IAC/B4C,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAGlB,IAAI,CAAC;EAClB;EAEAX,aAAaA,CAAA,EAAS;IACpB,IAAI,CAACyB,UAAU,CAAC,CAAC;EACnB;EAOAK,MAAMA,CAAA,EAAiB;IAAA,IAAAC,aAAA;IACrB,IAAM;MACJ3C,IAAI,EAAE;QAAEO;MAAK,CAAC;MACdN;IACF,CAAC,GAAG,IAAI,CAACJ,KAAK;IACd,IAAM;MAAEiB,WAAW;MAAES,IAAI;MAAEgB;IAAM,CAAC,GAAG,IAAI,CAAC1B,KAAK;IAC/C,IAAM;MAAEY,MAAM;MAAEE,SAAS;MAAEC;IAAQ,CAAC,GAAGL,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,CAAC,CAAC;IAEjD,IAAMqB,YAAY,IAAAD,aAAA,GAAGlB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEc,KAAK,cAAAI,aAAA,cAAAA,aAAA,GAAIJ,KAAK;IAE3C,IAAMM,UAAU,GAAG5D,SAAS,CAAC6D,uBAAuB,CAClDnB,SAAS,EACTC,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAId,WACb,CAAC;;IAED;IACA;IACA;IACA,IAAMiC,WAAW,GAAG,IAAI,CAACC,cAAc,CAACzC,IAAI,CAAC;IAE7C,IAAM0C,aAAa,GAAGvB,OAAO,CAACmB,UAAU,CAAC;IACzC,oBACErD,KAAA;MAAK0D,SAAS,EAAC,8BAA8B;MAAAC,QAAA,gBAC3C3D,KAAA;QAAK0D,SAAS,EAAC,kBAAkB;QAAAC,QAAA,gBAC/B7D,IAAA,CAACF,IAAI;UAACa,QAAQ,EAAEA,QAAS;UAAAkD,QAAA,EAAEJ;QAAW,CAAO,CAAC,EAC7CA,WAAW,CAACK,MAAM,GAAG7C,IAAI,CAAC6C,MAAM,iBAAI9D,IAAA;UAAA6D,QAAA,EAAG;QAAoB,CAAG,CAAC;MAAA,CAC7D,CAAC,eACN3D,KAAA;QAAK0D,SAAS,EAAC,aAAa;QAAAC,QAAA,gBAC1B3D,KAAA;UAAK0D,SAAS,EAAC,gCAAgC;UAAAC,QAAA,GAC5CzB,OAAO,CAACkB,YAAY,CAAC,iBACpBpD,KAAA;YAAK0D,SAAS,EAAC,kBAAkB;YAAAC,QAAA,gBAC/B7D,IAAA,CAACJ,eAAe;cAACmE,IAAI,EAAElE;YAAU,CAAE,CAAC,yBACtC;UAAA,CAAK,CACN,eACDK,KAAA;YAAK0D,SAAS,EAAC,cAAc;YAAAC,QAAA,GAAC,eACf,EAAC,GAAG,EAChBF,aAAa,gBACZ3D,IAAA;cAAM4D,SAAS,EAAC,aAAa;cAAAC,QAAA,EAAEN;YAAU,CAAO,CAAC,gBAEjDvD,IAAA,CAACN,cAAc;cAACkE,SAAS,EAAC;YAAgC,CAAE,CAC7D;UAAA,CACE,CAAC;QAAA,CACH,CAAC,EACLxB,OAAO,CAACkB,YAAY,CAAC,iBACpBtD,IAAA;UAAK4D,SAAS,EAAC,eAAe;UAAAC,QAAA,EAAEP;QAAY,CAAM,CACnD;MAAA,CACE,CAAC;IAAA,CACH,CAAC;EAEV;AACF;AAAC9C,eAAA,CAhKYH,yBAAyB,kBAId;EACpB8C,QAAQ,EAAEA,CAAA,KAAYZ;AACxB,CAAC;AA4JH,eAAelC,yBAAyB","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
- table,
10
- columns,
11
- top = 0,
12
- bottom = 0,
13
- search,
14
- isReversed = false,
15
- onUpdate
16
- } = _ref;
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);