@deephaven/console 0.40.5-beta.0 → 0.40.5-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/command-history/CommandHistory.d.ts +3 -0
- package/dist/command-history/CommandHistory.d.ts.map +1 -1
- package/dist/command-history/CommandHistory.js +25 -9
- package/dist/command-history/CommandHistory.js.map +1 -1
- package/dist/command-history/CommandHistoryViewportUpdater.d.ts.map +1 -1
- package/dist/command-history/CommandHistoryViewportUpdater.js +2 -7
- package/dist/command-history/CommandHistoryViewportUpdater.js.map +1 -1
- package/package.json +13 -13
|
@@ -26,10 +26,12 @@ interface CommandHistoryState {
|
|
|
26
26
|
offset: number;
|
|
27
27
|
selectedRanges: Range[];
|
|
28
28
|
searchText: string;
|
|
29
|
+
debouncedSearchText: string;
|
|
29
30
|
}
|
|
30
31
|
declare class CommandHistory extends Component<CommandHistoryProps, CommandHistoryState> {
|
|
31
32
|
static ITEM_HEIGHT: number;
|
|
32
33
|
static MAX_SELECTION_COUNT: number;
|
|
34
|
+
static SET_SEARCH_DEBOUNCE_MS: number;
|
|
33
35
|
static menuGroups: {
|
|
34
36
|
send: number;
|
|
35
37
|
};
|
|
@@ -56,6 +58,7 @@ declare class CommandHistory extends Component<CommandHistoryProps, CommandHisto
|
|
|
56
58
|
updateActions(): void;
|
|
57
59
|
copySelectedCommands(): void;
|
|
58
60
|
createNotebook(): void;
|
|
61
|
+
debouncedSearchChange: import("lodash").DebouncedFunc<() => void>;
|
|
59
62
|
sendToNotebook(): void;
|
|
60
63
|
sendToConsole(): void;
|
|
61
64
|
runInConsole(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandHistory.d.ts","sourceRoot":"","sources":["../../src/command-history/CommandHistory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CommandHistory.d.ts","sourceRoot":"","sources":["../../src/command-history/CommandHistory.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
4
4
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
5
5
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
6
6
|
import React, { Component } from 'react';
|
|
7
|
+
import debounce from 'lodash.debounce';
|
|
7
8
|
import { ContextActions, ItemList, SearchInput, GLOBAL_SHORTCUTS } from '@deephaven/components';
|
|
8
9
|
import { vsFileCode, vsFiles, vsNewFile, vsPlay, vsTerminal } from '@deephaven/icons';
|
|
9
10
|
import { copyToClipboard, Pending } from '@deephaven/utils';
|
|
@@ -44,6 +45,18 @@ class CommandHistory extends Component {
|
|
|
44
45
|
_defineProperty(this, "pending", void 0);
|
|
45
46
|
_defineProperty(this, "searchInputRef", void 0);
|
|
46
47
|
_defineProperty(this, "itemListRef", void 0);
|
|
48
|
+
_defineProperty(this, "debouncedSearchChange", debounce(() => {
|
|
49
|
+
this.setState(_ref => {
|
|
50
|
+
var {
|
|
51
|
+
searchText
|
|
52
|
+
} = _ref;
|
|
53
|
+
return {
|
|
54
|
+
debouncedSearchText: searchText,
|
|
55
|
+
// clear selected range, as old selection could be filtered from list
|
|
56
|
+
selectedRanges: []
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
}, CommandHistory.SET_SEARCH_DEBOUNCE_MS));
|
|
47
60
|
this.copySelectedCommands = this.copySelectedCommands.bind(this);
|
|
48
61
|
this.createNotebook = this.createNotebook.bind(this);
|
|
49
62
|
this.sendToConsole = this.sendToConsole.bind(this);
|
|
@@ -122,10 +135,12 @@ class CommandHistory extends Component {
|
|
|
122
135
|
items: [],
|
|
123
136
|
offset: 0,
|
|
124
137
|
selectedRanges: [],
|
|
125
|
-
searchText: ''
|
|
138
|
+
searchText: '',
|
|
139
|
+
debouncedSearchText: ''
|
|
126
140
|
};
|
|
127
141
|
}
|
|
128
142
|
componentWillUnmount() {
|
|
143
|
+
this.debouncedSearchChange.cancel();
|
|
129
144
|
this.pending.cancel();
|
|
130
145
|
}
|
|
131
146
|
/**
|
|
@@ -252,17 +267,16 @@ class CommandHistory extends Component {
|
|
|
252
267
|
});
|
|
253
268
|
}
|
|
254
269
|
handleSearchChange(e) {
|
|
255
|
-
// clear selected range, as old selection could be filtered from list
|
|
256
270
|
this.setState({
|
|
257
|
-
searchText: e.target.value
|
|
258
|
-
selectedRanges: []
|
|
271
|
+
searchText: e.target.value
|
|
259
272
|
});
|
|
273
|
+
this.debouncedSearchChange();
|
|
260
274
|
}
|
|
261
|
-
handleViewportUpdate(
|
|
275
|
+
handleViewportUpdate(_ref2) {
|
|
262
276
|
var {
|
|
263
277
|
items,
|
|
264
278
|
offset
|
|
265
|
-
} =
|
|
279
|
+
} = _ref2;
|
|
266
280
|
var {
|
|
267
281
|
table
|
|
268
282
|
} = this.props;
|
|
@@ -273,12 +287,12 @@ class CommandHistory extends Component {
|
|
|
273
287
|
offset
|
|
274
288
|
});
|
|
275
289
|
}
|
|
276
|
-
renderItem(
|
|
290
|
+
renderItem(_ref3) {
|
|
277
291
|
var {
|
|
278
292
|
item,
|
|
279
293
|
itemIndex,
|
|
280
294
|
isSelected
|
|
281
|
-
} =
|
|
295
|
+
} = _ref3;
|
|
282
296
|
var {
|
|
283
297
|
language,
|
|
284
298
|
commandHistoryStorage
|
|
@@ -309,6 +323,7 @@ class CommandHistory extends Component {
|
|
|
309
323
|
actions,
|
|
310
324
|
historyActions,
|
|
311
325
|
searchText,
|
|
326
|
+
debouncedSearchText,
|
|
312
327
|
top,
|
|
313
328
|
bottom,
|
|
314
329
|
items,
|
|
@@ -349,7 +364,7 @@ class CommandHistory extends Component {
|
|
|
349
364
|
table: table,
|
|
350
365
|
top: top,
|
|
351
366
|
bottom: bottom,
|
|
352
|
-
search:
|
|
367
|
+
search: debouncedSearchText,
|
|
353
368
|
onUpdate: this.handleViewportUpdate
|
|
354
369
|
}), /*#__PURE__*/React.createElement(ContextActions, {
|
|
355
370
|
actions: actions
|
|
@@ -358,6 +373,7 @@ class CommandHistory extends Component {
|
|
|
358
373
|
}
|
|
359
374
|
_defineProperty(CommandHistory, "ITEM_HEIGHT", 29);
|
|
360
375
|
_defineProperty(CommandHistory, "MAX_SELECTION_COUNT", 10000);
|
|
376
|
+
_defineProperty(CommandHistory, "SET_SEARCH_DEBOUNCE_MS", 150);
|
|
361
377
|
_defineProperty(CommandHistory, "menuGroups", {
|
|
362
378
|
send: ContextActions.groups.medium + 100
|
|
363
379
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandHistory.js","names":["React","Component","ContextActions","ItemList","SearchInput","GLOBAL_SHORTCUTS","vsFileCode","vsFiles","vsNewFile","vsPlay","vsTerminal","copyToClipboard","Pending","Log","CommandHistoryItem","CommandHistoryActions","ConsoleConstants","CommandHistoryViewportUpdater","SHORTCUTS","log","module","CommandHistory","getCommandsFromViewport","items","offset","sortedRanges","commands","i","length","range","j","name","push","getCommandsFromSnapshot","table","getSnapshot","values","map","item","constructor","props","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","selectedRanges","searchText","componentWillUnmount","cancel","getSelectedCommands","ranges","slice","sort","a","b","add","getSelectedCommandText","then","join","updateActions","setState","selectedRowCount","reduce","count","MAX_SELECTION_COUNT","debug","catch","error","commandText","language","value","index","e","target","itemIndex","isSelected","commandHistoryStorage","focus","current","restoreScrollPosition","render","languageDisplayString","LANGUAGE_MAP","get","ITEM_HEIGHT","medium"],"sources":["../../src/command-history/CommandHistory.tsx"],"sourcesContent":["import React, { ChangeEvent, Component, ReactElement, RefObject } from 'react';\nimport {\n ContextActions,\n ItemList,\n SearchInput,\n GLOBAL_SHORTCUTS,\n RenderItemProps,\n} from '@deephaven/components';\nimport { ViewportData } from '@deephaven/storage';\nimport {\n vsFileCode,\n vsFiles,\n vsNewFile,\n vsPlay,\n vsTerminal,\n} from '@deephaven/icons';\nimport { copyToClipboard, Pending, 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 CommandHistoryStorage, {\n CommandHistoryStorageItem,\n CommandHistoryTable,\n} from './CommandHistoryStorage';\nimport { ItemAction, 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: Range[];\n searchText: 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 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 };\n }\n\n componentWillUnmount(): void {\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 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: 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 // clear selected range, as old selection could be filtered from list\n this.setState({ searchText: e.target.value, selectedRanges: [] });\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 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={searchText}\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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"}
|
|
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","log","module","CommandHistory","getCommandsFromViewport","items","offset","sortedRanges","commands","i","length","range","j","name","push","getCommandsFromSnapshot","table","getSnapshot","values","map","item","constructor","props","setState","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","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","itemIndex","isSelected","commandHistoryStorage","focus","current","restoreScrollPosition","render","languageDisplayString","LANGUAGE_MAP","get","ITEM_HEIGHT","medium"],"sources":["../../src/command-history/CommandHistory.tsx"],"sourcesContent":["import React, { ChangeEvent, Component, ReactElement, RefObject } from 'react';\nimport debounce from 'lodash.debounce';\nimport {\n ContextActions,\n ItemList,\n SearchInput,\n GLOBAL_SHORTCUTS,\n RenderItemProps,\n} from '@deephaven/components';\nimport { ViewportData } from '@deephaven/storage';\nimport {\n vsFileCode,\n vsFiles,\n vsNewFile,\n vsPlay,\n vsTerminal,\n} from '@deephaven/icons';\nimport { copyToClipboard, Pending, 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 CommandHistoryStorage, {\n CommandHistoryStorageItem,\n CommandHistoryTable,\n} from './CommandHistoryStorage';\nimport { ItemAction, 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: 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: 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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandHistoryViewportUpdater.d.ts","sourceRoot":"","sources":["../../src/command-history/CommandHistoryViewportUpdater.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CommandHistoryViewportUpdater.d.ts","sourceRoot":"","sources":["../../src/command-history/CommandHistoryViewportUpdater.tsx"],"names":[],"mappings":"AAEA,OAAO,EAGL,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,kCAAkC,GAAG;IAC/C,KAAK,EAAE,mBAAmB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,sBAAsB,CAAC,yBAAyB,CAAC,CAAC;CAC7D,CAAC;AAQF,iBAAS,6BAA6B,CAAC,EACrC,KAAK,EACL,OAAO,EACP,GAAO,EACP,MAAU,EACV,MAAM,EACN,UAAkB,EAClB,QAAQ,GACT,EAAE,kCAAkC,GAAG,IAAI,CAgE3C;AAED,eAAe,6BAA6B,CAAC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { useEffect, useMemo } from 'react';
|
|
2
|
-
import debounce from 'lodash.debounce';
|
|
3
2
|
import throttle from 'lodash.throttle';
|
|
4
3
|
import Log from '@deephaven/log';
|
|
5
|
-
var SET_SEARCH_DEBOUNCE_MS = 150;
|
|
6
4
|
var UPDATE_DELAY = 150;
|
|
7
5
|
var ROW_BUFFER_PAGES = 3;
|
|
8
6
|
var log = Log.module('CommandHistoryViewportUpdater');
|
|
@@ -16,9 +14,6 @@ function CommandHistoryViewportUpdater(_ref) {
|
|
|
16
14
|
isReversed = false,
|
|
17
15
|
onUpdate
|
|
18
16
|
} = _ref;
|
|
19
|
-
var debounceSetSearch = useMemo(() => debounce(searchText => {
|
|
20
|
-
table.setSearch(searchText !== null && searchText !== void 0 ? searchText : '');
|
|
21
|
-
}, SET_SEARCH_DEBOUNCE_MS), [table]);
|
|
22
17
|
var throttledUpdateViewport = useMemo(() => throttle(viewport => {
|
|
23
18
|
var viewHeight = viewport.bottom - viewport.top;
|
|
24
19
|
var bufferedTop = Math.max(0, viewport.top - viewHeight * ROW_BUFFER_PAGES);
|
|
@@ -43,8 +38,8 @@ function CommandHistoryViewportUpdater(_ref) {
|
|
|
43
38
|
};
|
|
44
39
|
}, [table, onUpdate]);
|
|
45
40
|
useEffect(function setSearchText() {
|
|
46
|
-
|
|
47
|
-
}, [
|
|
41
|
+
table.setSearch(search !== null && search !== void 0 ? search : '');
|
|
42
|
+
}, [table, search]);
|
|
48
43
|
useEffect(function updateViewport() {
|
|
49
44
|
throttledUpdateViewport({
|
|
50
45
|
top,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandHistoryViewportUpdater.js","names":["useEffect","useMemo","
|
|
1
|
+
{"version":3,"file":"CommandHistoryViewportUpdater.js","names":["useEffect","useMemo","throttle","Log","UPDATE_DELAY","ROW_BUFFER_PAGES","log","module","CommandHistoryViewportUpdater","table","columns","top","bottom","search","isReversed","onUpdate","throttledUpdateViewport","viewport","viewHeight","bufferedTop","Math","max","bufferedBottom","setViewport","updateTableAndReturnCleanup","cleanup","viewportData","items","offset","debug","setSearchText","setSearch","updateViewport","debug2","cancel"],"sources":["../../src/command-history/CommandHistoryViewportUpdater.tsx"],"sourcesContent":["import { useEffect, useMemo } from 'react';\nimport throttle from 'lodash.throttle';\nimport {\n StorageTableViewport,\n ViewportData,\n ViewportUpdateCallback,\n} from '@deephaven/storage';\nimport Log from '@deephaven/log';\nimport {\n CommandHistoryStorageItem,\n CommandHistoryTable,\n} from './CommandHistoryStorage';\n\nexport type CommandHistoryViewportUpdaterProps = {\n table: CommandHistoryTable;\n columns?: string[];\n top?: number;\n bottom?: number;\n search?: string;\n isReversed?: boolean;\n onUpdate: ViewportUpdateCallback<CommandHistoryStorageItem>;\n};\n\nconst UPDATE_DELAY = 150;\n\nconst ROW_BUFFER_PAGES = 3;\n\nconst log = Log.module('CommandHistoryViewportUpdater');\n\nfunction CommandHistoryViewportUpdater({\n table,\n columns,\n top = 0,\n bottom = 0,\n search,\n isReversed = false,\n onUpdate,\n}: CommandHistoryViewportUpdaterProps): null {\n const throttledUpdateViewport = useMemo(\n () =>\n throttle((viewport: StorageTableViewport) => {\n const viewHeight = viewport.bottom - viewport.top;\n const bufferedTop = Math.max(\n 0,\n viewport.top - viewHeight * ROW_BUFFER_PAGES\n );\n const bufferedBottom = viewport.bottom + viewHeight * ROW_BUFFER_PAGES;\n\n table.setViewport({\n top: bufferedTop,\n bottom: bufferedBottom,\n columns: viewport.columns,\n });\n }, UPDATE_DELAY),\n [table]\n );\n\n useEffect(\n function updateTableAndReturnCleanup() {\n const cleanup = table.onUpdate(\n (viewportData: ViewportData<CommandHistoryStorageItem>) => {\n onUpdate({\n items: viewportData.items ?? [],\n offset: viewportData.offset ?? 0,\n });\n }\n );\n\n return () => {\n log.debug('onUpdate cleanup');\n cleanup();\n };\n },\n [table, onUpdate]\n );\n\n useEffect(\n function setSearchText() {\n table.setSearch(search ?? '');\n },\n [table, search]\n );\n useEffect(\n function updateViewport() {\n throttledUpdateViewport({\n top,\n bottom,\n columns,\n });\n },\n [throttledUpdateViewport, top, bottom, columns, search, isReversed]\n );\n useEffect(\n () => () => {\n log.debug2('Cancel throttledUpdateViewport');\n throttledUpdateViewport.cancel();\n },\n [throttledUpdateViewport]\n );\n\n return null;\n}\n\nexport default CommandHistoryViewportUpdater;\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,OAAO,QAAQ,OAAO;AAC1C,OAAOC,QAAQ,MAAM,iBAAiB;AAMtC,OAAOC,GAAG,MAAM,gBAAgB;AAgBhC,IAAMC,YAAY,GAAG,GAAG;AAExB,IAAMC,gBAAgB,GAAG,CAAC;AAE1B,IAAMC,GAAG,GAAGH,GAAG,CAACI,MAAM,CAAC,+BAA+B,CAAC;AAEvD,SAASC,6BAA6B,OAQO;EAAA,IARN;IACrCC,KAAK;IACLC,OAAO;IACPC,GAAG,GAAG,CAAC;IACPC,MAAM,GAAG,CAAC;IACVC,MAAM;IACNC,UAAU,GAAG,KAAK;IAClBC;EACkC,CAAC;EACnC,IAAMC,uBAAuB,GAAGf,OAAO,CACrC,MACEC,QAAQ,CAAEe,QAA8B,IAAK;IAC3C,IAAMC,UAAU,GAAGD,QAAQ,CAACL,MAAM,GAAGK,QAAQ,CAACN,GAAG;IACjD,IAAMQ,WAAW,GAAGC,IAAI,CAACC,GAAG,CAC1B,CAAC,EACDJ,QAAQ,CAACN,GAAG,GAAGO,UAAU,GAAGb,gBAAgB,CAC7C;IACD,IAAMiB,cAAc,GAAGL,QAAQ,CAACL,MAAM,GAAGM,UAAU,GAAGb,gBAAgB;IAEtEI,KAAK,CAACc,WAAW,CAAC;MAChBZ,GAAG,EAAEQ,WAAW;MAChBP,MAAM,EAAEU,cAAc;MACtBZ,OAAO,EAAEO,QAAQ,CAACP;IACpB,CAAC,CAAC;EACJ,CAAC,EAAEN,YAAY,CAAC,EAClB,CAACK,KAAK,CAAC,CACR;EAEDT,SAAS,CACP,SAASwB,2BAA2B,GAAG;IACrC,IAAMC,OAAO,GAAGhB,KAAK,CAACM,QAAQ,CAC3BW,YAAqD,IAAK;MAAA;MACzDX,QAAQ,CAAC;QACPY,KAAK,yBAAED,YAAY,CAACC,KAAK,qEAAI,EAAE;QAC/BC,MAAM,0BAAEF,YAAY,CAACE,MAAM,uEAAI;MACjC,CAAC,CAAC;IACJ,CAAC,CACF;IAED,OAAO,MAAM;MACXtB,GAAG,CAACuB,KAAK,CAAC,kBAAkB,CAAC;MAC7BJ,OAAO,EAAE;IACX,CAAC;EACH,CAAC,EACD,CAAChB,KAAK,EAAEM,QAAQ,CAAC,CAClB;EAEDf,SAAS,CACP,SAAS8B,aAAa,GAAG;IACvBrB,KAAK,CAACsB,SAAS,CAAClB,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,EAAE,CAAC;EAC/B,CAAC,EACD,CAACJ,KAAK,EAAEI,MAAM,CAAC,CAChB;EACDb,SAAS,CACP,SAASgC,cAAc,GAAG;IACxBhB,uBAAuB,CAAC;MACtBL,GAAG;MACHC,MAAM;MACNF;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAACM,uBAAuB,EAAEL,GAAG,EAAEC,MAAM,EAAEF,OAAO,EAAEG,MAAM,EAAEC,UAAU,CAAC,CACpE;EACDd,SAAS,CACP,MAAM,MAAM;IACVM,GAAG,CAAC2B,MAAM,CAAC,gCAAgC,CAAC;IAC5CjB,uBAAuB,CAACkB,MAAM,EAAE;EAClC,CAAC,EACD,CAAClB,uBAAuB,CAAC,CAC1B;EAED,OAAO,IAAI;AACb;AAEA,eAAeR,6BAA6B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/console",
|
|
3
|
-
"version": "0.40.5-beta.
|
|
3
|
+
"version": "0.40.5-beta.2+26011467",
|
|
4
4
|
"description": "Deephaven Console",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
"build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@deephaven/chart": "^0.40.5-beta.
|
|
27
|
-
"@deephaven/components": "^0.40.5-beta.
|
|
28
|
-
"@deephaven/icons": "^0.40.5-beta.
|
|
29
|
-
"@deephaven/jsapi-bootstrap": "^0.40.5-beta.
|
|
30
|
-
"@deephaven/jsapi-types": "^0.40.5-beta.
|
|
31
|
-
"@deephaven/log": "^0.40.5-beta.
|
|
32
|
-
"@deephaven/storage": "^0.40.5-beta.
|
|
33
|
-
"@deephaven/utils": "^0.40.5-beta.
|
|
26
|
+
"@deephaven/chart": "^0.40.5-beta.2+26011467",
|
|
27
|
+
"@deephaven/components": "^0.40.5-beta.2+26011467",
|
|
28
|
+
"@deephaven/icons": "^0.40.5-beta.2+26011467",
|
|
29
|
+
"@deephaven/jsapi-bootstrap": "^0.40.5-beta.2+26011467",
|
|
30
|
+
"@deephaven/jsapi-types": "^0.40.5-beta.2+26011467",
|
|
31
|
+
"@deephaven/log": "^0.40.5-beta.2+26011467",
|
|
32
|
+
"@deephaven/storage": "^0.40.5-beta.2+26011467",
|
|
33
|
+
"@deephaven/utils": "^0.40.5-beta.2+26011467",
|
|
34
34
|
"@fortawesome/react-fontawesome": "^0.2.0",
|
|
35
35
|
"classnames": "^2.3.1",
|
|
36
36
|
"linkifyjs": "^4.1.0",
|
|
@@ -49,9 +49,9 @@
|
|
|
49
49
|
"react-dom": "^17.x"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@deephaven/jsapi-shim": "^0.40.5-beta.
|
|
53
|
-
"@deephaven/mocks": "^0.40.5-beta.
|
|
54
|
-
"@deephaven/tsconfig": "^0.40.5-beta.
|
|
52
|
+
"@deephaven/jsapi-shim": "^0.40.5-beta.2+26011467",
|
|
53
|
+
"@deephaven/mocks": "^0.40.5-beta.2+26011467",
|
|
54
|
+
"@deephaven/tsconfig": "^0.40.5-beta.2+26011467"
|
|
55
55
|
},
|
|
56
56
|
"files": [
|
|
57
57
|
"dist"
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"publishConfig": {
|
|
63
63
|
"access": "public"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "26011467be3bb5947a2cf34d78eaaaedc47d909b"
|
|
66
66
|
}
|