@deephaven/dashboard-core-plugins 1.19.0 → 1.19.1-console-types-fixes.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ConsoleEvents.d.ts +50 -0
- package/dist/ConsoleEvents.d.ts.map +1 -0
- package/dist/ConsoleEvents.js +52 -0
- package/dist/ConsoleEvents.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/panels/CommandHistoryPanel.d.ts +3 -5
- package/dist/panels/CommandHistoryPanel.d.ts.map +1 -1
- package/dist/panels/CommandHistoryPanel.js +2 -1
- package/dist/panels/CommandHistoryPanel.js.map +1 -1
- package/dist/panels/CorePanel.d.ts +2 -4
- package/dist/panels/CorePanel.d.ts.map +1 -1
- package/dist/panels/CorePanel.js +13 -9
- package/dist/panels/CorePanel.js.map +1 -1
- package/dist/panels/FileExplorerPanel.d.ts +2 -3
- package/dist/panels/FileExplorerPanel.d.ts.map +1 -1
- package/dist/panels/FileExplorerPanel.js +2 -1
- package/dist/panels/FileExplorerPanel.js.map +1 -1
- package/dist/panels/LogPanel.d.ts +2 -1
- package/dist/panels/LogPanel.d.ts.map +1 -1
- package/dist/panels/LogPanel.js +4 -1
- package/dist/panels/LogPanel.js.map +1 -1
- package/dist/panels/NotebookPanel.d.ts +2 -3
- package/dist/panels/NotebookPanel.d.ts.map +1 -1
- package/dist/panels/NotebookPanel.js +2 -1
- package/dist/panels/NotebookPanel.js.map +1 -1
- package/package.json +24 -24
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { type dh } from '@deephaven/jsapi-types';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a Core (Community) console session. Mirrors the
|
|
4
|
+
* `CommonConsoleSession` interface used in Enterprise (without the
|
|
5
|
+
* Enterprise-only `QueryInfo` field).
|
|
6
|
+
*/
|
|
7
|
+
export interface CoreConsoleSession {
|
|
8
|
+
language: string;
|
|
9
|
+
session: dh.IdeSession;
|
|
10
|
+
sessionId: string;
|
|
11
|
+
/** Function closing the console session and client connection */
|
|
12
|
+
close: () => void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Listen for session opened events
|
|
16
|
+
* @param eventEmitter The event emitter to listen on
|
|
17
|
+
* @param session The session that was opened
|
|
18
|
+
*/
|
|
19
|
+
export declare const listenForSessionOpened: import("@deephaven/golden-layout").EventListenFunction<[session: CoreConsoleSession]>;
|
|
20
|
+
/**
|
|
21
|
+
* Emit a session opened event
|
|
22
|
+
* @param eventEmitter The event emitter to emit the event on
|
|
23
|
+
* @param session The session that was opened
|
|
24
|
+
*/
|
|
25
|
+
export declare const emitSessionOpened: import("@deephaven/golden-layout").EventEmitFunction<[session: CoreConsoleSession]>;
|
|
26
|
+
/**
|
|
27
|
+
* Use a session opened event listener
|
|
28
|
+
* @param eventEmitter The event emitter to listen on
|
|
29
|
+
* @param session The session that was opened
|
|
30
|
+
*/
|
|
31
|
+
export declare const useSessionOpenedListener: import("@deephaven/golden-layout").EventListenerHook<[session: CoreConsoleSession]>;
|
|
32
|
+
/**
|
|
33
|
+
* Listen for session closed events
|
|
34
|
+
* @param eventEmitter The event emitter to listen on
|
|
35
|
+
* @param session The session that was closed
|
|
36
|
+
*/
|
|
37
|
+
export declare const listenForSessionClosed: import("@deephaven/golden-layout").EventListenFunction<[session: dh.IdeSession]>;
|
|
38
|
+
/**
|
|
39
|
+
* Emit a session closed event
|
|
40
|
+
* @param eventEmitter The event emitter to emit the event on
|
|
41
|
+
* @param session The session that was closed
|
|
42
|
+
*/
|
|
43
|
+
export declare const emitSessionClosed: import("@deephaven/golden-layout").EventEmitFunction<[session: dh.IdeSession]>;
|
|
44
|
+
/**
|
|
45
|
+
* Use a session closed event listener
|
|
46
|
+
* @param eventEmitter The event emitter to listen on
|
|
47
|
+
* @param session The session that was closed
|
|
48
|
+
*/
|
|
49
|
+
export declare const useSessionClosedListener: import("@deephaven/golden-layout").EventListenerHook<[session: dh.IdeSession]>;
|
|
50
|
+
//# sourceMappingURL=ConsoleEvents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsoleEvents.d.ts","sourceRoot":"","sources":["../src/ConsoleEvents.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAGjD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAMD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,uFAA0B,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,qFAAwB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,qFAA+B,CAAC;AAMrE;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,kFAA0B,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,gFAAwB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,gFAA+B,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { makeEventFunctions } from '@deephaven/golden-layout';
|
|
2
|
+
import { ConsoleEvent } from "./events/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Represents a Core (Community) console session. Mirrors the
|
|
5
|
+
* `CommonConsoleSession` interface used in Enterprise (without the
|
|
6
|
+
* Enterprise-only `QueryInfo` field).
|
|
7
|
+
*/
|
|
8
|
+
var sessionOpenedFns = makeEventFunctions(ConsoleEvent.SESSION_OPENED);
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Listen for session opened events
|
|
12
|
+
* @param eventEmitter The event emitter to listen on
|
|
13
|
+
* @param session The session that was opened
|
|
14
|
+
*/
|
|
15
|
+
export var listenForSessionOpened = sessionOpenedFns.listen;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Emit a session opened event
|
|
19
|
+
* @param eventEmitter The event emitter to emit the event on
|
|
20
|
+
* @param session The session that was opened
|
|
21
|
+
*/
|
|
22
|
+
export var emitSessionOpened = sessionOpenedFns.emit;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Use a session opened event listener
|
|
26
|
+
* @param eventEmitter The event emitter to listen on
|
|
27
|
+
* @param session The session that was opened
|
|
28
|
+
*/
|
|
29
|
+
export var useSessionOpenedListener = sessionOpenedFns.useListener;
|
|
30
|
+
var sessionClosedFns = makeEventFunctions(ConsoleEvent.SESSION_CLOSED);
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Listen for session closed events
|
|
34
|
+
* @param eventEmitter The event emitter to listen on
|
|
35
|
+
* @param session The session that was closed
|
|
36
|
+
*/
|
|
37
|
+
export var listenForSessionClosed = sessionClosedFns.listen;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Emit a session closed event
|
|
41
|
+
* @param eventEmitter The event emitter to emit the event on
|
|
42
|
+
* @param session The session that was closed
|
|
43
|
+
*/
|
|
44
|
+
export var emitSessionClosed = sessionClosedFns.emit;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Use a session closed event listener
|
|
48
|
+
* @param eventEmitter The event emitter to listen on
|
|
49
|
+
* @param session The session that was closed
|
|
50
|
+
*/
|
|
51
|
+
export var useSessionClosedListener = sessionClosedFns.useListener;
|
|
52
|
+
//# sourceMappingURL=ConsoleEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConsoleEvents.js","names":["makeEventFunctions","ConsoleEvent","sessionOpenedFns","SESSION_OPENED","listenForSessionOpened","listen","emitSessionOpened","emit","useSessionOpenedListener","useListener","sessionClosedFns","SESSION_CLOSED","listenForSessionClosed","emitSessionClosed","useSessionClosedListener"],"sources":["../src/ConsoleEvents.ts"],"sourcesContent":["import { makeEventFunctions } from '@deephaven/golden-layout';\nimport { type dh } from '@deephaven/jsapi-types';\nimport { ConsoleEvent } from './events';\n\n/**\n * Represents a Core (Community) console session. Mirrors the\n * `CommonConsoleSession` interface used in Enterprise (without the\n * Enterprise-only `QueryInfo` field).\n */\nexport interface CoreConsoleSession {\n language: string;\n session: dh.IdeSession;\n sessionId: string;\n /** Function closing the console session and client connection */\n close: () => void;\n}\n\nconst sessionOpenedFns = makeEventFunctions<[session: CoreConsoleSession]>(\n ConsoleEvent.SESSION_OPENED\n);\n\n/**\n * Listen for session opened events\n * @param eventEmitter The event emitter to listen on\n * @param session The session that was opened\n */\nexport const listenForSessionOpened = sessionOpenedFns.listen;\n\n/**\n * Emit a session opened event\n * @param eventEmitter The event emitter to emit the event on\n * @param session The session that was opened\n */\nexport const emitSessionOpened = sessionOpenedFns.emit;\n\n/**\n * Use a session opened event listener\n * @param eventEmitter The event emitter to listen on\n * @param session The session that was opened\n */\nexport const useSessionOpenedListener = sessionOpenedFns.useListener;\n\nconst sessionClosedFns = makeEventFunctions<[session: dh.IdeSession]>(\n ConsoleEvent.SESSION_CLOSED\n);\n\n/**\n * Listen for session closed events\n * @param eventEmitter The event emitter to listen on\n * @param session The session that was closed\n */\nexport const listenForSessionClosed = sessionClosedFns.listen;\n\n/**\n * Emit a session closed event\n * @param eventEmitter The event emitter to emit the event on\n * @param session The session that was closed\n */\nexport const emitSessionClosed = sessionClosedFns.emit;\n\n/**\n * Use a session closed event listener\n * @param eventEmitter The event emitter to listen on\n * @param session The session that was closed\n */\nexport const useSessionClosedListener = sessionClosedFns.useListener;\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,0BAA0B;AAAC,SAErDC,YAAY;AAErB;AACA;AACA;AACA;AACA;AASA,IAAMC,gBAAgB,GAAGF,kBAAkB,CACzCC,YAAY,CAACE,cACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,sBAAsB,GAAGF,gBAAgB,CAACG,MAAM;;AAE7D;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,iBAAiB,GAAGJ,gBAAgB,CAACK,IAAI;;AAEtD;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,wBAAwB,GAAGN,gBAAgB,CAACO,WAAW;AAEpE,IAAMC,gBAAgB,GAAGV,kBAAkB,CACzCC,YAAY,CAACU,cACf,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,sBAAsB,GAAGF,gBAAgB,CAACL,MAAM;;AAE7D;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMQ,iBAAiB,GAAGH,gBAAgB,CAACH,IAAI;;AAEtD;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMO,wBAAwB,GAAGJ,gBAAgB,CAACD,WAAW","ignoreList":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export * from './useDashboardColumnFilters';
|
|
|
27
27
|
export * from './useGridLinker';
|
|
28
28
|
export * from './useLoadTablePlugin';
|
|
29
29
|
export * from './useTablePlugin';
|
|
30
|
+
export * from './ConsoleEvents';
|
|
30
31
|
export * from './events';
|
|
31
32
|
export * from './panels';
|
|
32
33
|
export * from './redux';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -26,6 +26,7 @@ export * from "./useDashboardColumnFilters.js";
|
|
|
26
26
|
export * from "./useGridLinker.js";
|
|
27
27
|
export * from "./useLoadTablePlugin.js";
|
|
28
28
|
export * from "./useTablePlugin.js";
|
|
29
|
+
export * from "./ConsoleEvents.js";
|
|
29
30
|
export * from "./events/index.js";
|
|
30
31
|
export * from "./panels/index.js";
|
|
31
32
|
export * from "./redux/index.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","ChartPanelPlugin","ChartWidgetPlugin","ChartPluginConfig","ChartBuilderPlugin","ChartBuilderPluginConfig","ConsolePlugin","FilterPlugin","FilterPluginConfig","GridPanelPlugin","GridWidgetPlugin","GridPluginConfig","LinkerPlugin","LinkerPluginConfig","MarkdownPlugin","MarkdownPluginConfig","PandasPanelPlugin","PandasWidgetPlugin","PandasPluginConfig","WidgetLoaderPlugin","WidgetLoaderPluginConfig","ControlType","LinkerUtils","ToolType"],"sources":["../src/index.ts"],"sourcesContent":["export { default as ChartPanelPlugin } from './ChartPanelPlugin';\nexport { default as ChartWidgetPlugin } from './ChartWidgetPlugin';\nexport { default as ChartPluginConfig } from './ChartPluginConfig';\nexport { default as ChartBuilderPlugin } from './ChartBuilderPlugin';\nexport { default as ChartBuilderPluginConfig } from './ChartBuilderPluginConfig';\nexport { default as ConsolePlugin } from './ConsolePlugin';\nexport { default as FilterPlugin } from './FilterPlugin';\nexport { default as FilterPluginConfig } from './FilterPluginConfig';\nexport { default as GridPanelPlugin } from './GridPanelPlugin';\nexport { default as GridWidgetPlugin } from './GridWidgetPlugin';\nexport { default as GridPluginConfig } from './GridPluginConfig';\nexport { default as LinkerPlugin } from './LinkerPlugin';\nexport { default as LinkerPluginConfig } from './LinkerPluginConfig';\nexport { default as MarkdownPlugin } from './MarkdownPlugin';\nexport { default as MarkdownPluginConfig } from './MarkdownPluginConfig';\nexport { default as PandasPanelPlugin } from './PandasPanelPlugin';\nexport { default as PandasWidgetPlugin } from './PandasWidgetPlugin';\nexport { default as PandasPluginConfig } from './PandasPluginConfig';\nexport { default as WidgetLoaderPlugin } from './WidgetLoaderPlugin';\nexport { default as WidgetLoaderPluginConfig } from './WidgetLoaderPluginConfig';\nexport { default as ControlType } from './controls/ControlType';\nexport { default as LinkerUtils } from './linker/LinkerUtils';\nexport type { Link } from './linker/LinkerUtils';\nexport { default as ToolType } from './linker/ToolType';\nexport * from './useConfigureRuff';\nexport * from './useDashboardColumnFilters';\nexport * from './useGridLinker';\nexport * from './useLoadTablePlugin';\nexport * from './useTablePlugin';\n\nexport * from './events';\nexport * from './panels';\nexport * from './redux';\nexport * from './prop-types';\nexport * from './linker';\n"],"mappings":"SAASA,OAAO,IAAIC,gBAAgB;AAAA,SAC3BD,OAAO,IAAIE,iBAAiB;AAAA,SAC5BF,OAAO,IAAIG,iBAAiB;AAAA,SAC5BH,OAAO,IAAII,kBAAkB;AAAA,SAC7BJ,OAAO,IAAIK,wBAAwB;AAAA,SACnCL,OAAO,IAAIM,aAAa;AAAA,SACxBN,OAAO,IAAIO,YAAY;AAAA,SACvBP,OAAO,IAAIQ,kBAAkB;AAAA,SAC7BR,OAAO,IAAIS,eAAe;AAAA,SAC1BT,OAAO,IAAIU,gBAAgB;AAAA,SAC3BV,OAAO,IAAIW,gBAAgB;AAAA,SAC3BX,OAAO,IAAIY,YAAY;AAAA,SACvBZ,OAAO,IAAIa,kBAAkB;AAAA,SAC7Bb,OAAO,IAAIc,cAAc;AAAA,SACzBd,OAAO,IAAIe,oBAAoB;AAAA,SAC/Bf,OAAO,IAAIgB,iBAAiB;AAAA,SAC5BhB,OAAO,IAAIiB,kBAAkB;AAAA,SAC7BjB,OAAO,IAAIkB,kBAAkB;AAAA,SAC7BlB,OAAO,IAAImB,kBAAkB;AAAA,SAC7BnB,OAAO,IAAIoB,wBAAwB;AAAA,SACnCpB,OAAO,IAAIqB,WAAW;AAAA,SACtBrB,OAAO,IAAIsB,WAAW;AAAA,SAEtBtB,OAAO,IAAIuB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","ChartPanelPlugin","ChartWidgetPlugin","ChartPluginConfig","ChartBuilderPlugin","ChartBuilderPluginConfig","ConsolePlugin","FilterPlugin","FilterPluginConfig","GridPanelPlugin","GridWidgetPlugin","GridPluginConfig","LinkerPlugin","LinkerPluginConfig","MarkdownPlugin","MarkdownPluginConfig","PandasPanelPlugin","PandasWidgetPlugin","PandasPluginConfig","WidgetLoaderPlugin","WidgetLoaderPluginConfig","ControlType","LinkerUtils","ToolType"],"sources":["../src/index.ts"],"sourcesContent":["export { default as ChartPanelPlugin } from './ChartPanelPlugin';\nexport { default as ChartWidgetPlugin } from './ChartWidgetPlugin';\nexport { default as ChartPluginConfig } from './ChartPluginConfig';\nexport { default as ChartBuilderPlugin } from './ChartBuilderPlugin';\nexport { default as ChartBuilderPluginConfig } from './ChartBuilderPluginConfig';\nexport { default as ConsolePlugin } from './ConsolePlugin';\nexport { default as FilterPlugin } from './FilterPlugin';\nexport { default as FilterPluginConfig } from './FilterPluginConfig';\nexport { default as GridPanelPlugin } from './GridPanelPlugin';\nexport { default as GridWidgetPlugin } from './GridWidgetPlugin';\nexport { default as GridPluginConfig } from './GridPluginConfig';\nexport { default as LinkerPlugin } from './LinkerPlugin';\nexport { default as LinkerPluginConfig } from './LinkerPluginConfig';\nexport { default as MarkdownPlugin } from './MarkdownPlugin';\nexport { default as MarkdownPluginConfig } from './MarkdownPluginConfig';\nexport { default as PandasPanelPlugin } from './PandasPanelPlugin';\nexport { default as PandasWidgetPlugin } from './PandasWidgetPlugin';\nexport { default as PandasPluginConfig } from './PandasPluginConfig';\nexport { default as WidgetLoaderPlugin } from './WidgetLoaderPlugin';\nexport { default as WidgetLoaderPluginConfig } from './WidgetLoaderPluginConfig';\nexport { default as ControlType } from './controls/ControlType';\nexport { default as LinkerUtils } from './linker/LinkerUtils';\nexport type { Link } from './linker/LinkerUtils';\nexport { default as ToolType } from './linker/ToolType';\nexport * from './useConfigureRuff';\nexport * from './useDashboardColumnFilters';\nexport * from './useGridLinker';\nexport * from './useLoadTablePlugin';\nexport * from './useTablePlugin';\n\nexport * from './ConsoleEvents';\nexport * from './events';\nexport * from './panels';\nexport * from './redux';\nexport * from './prop-types';\nexport * from './linker';\n"],"mappings":"SAASA,OAAO,IAAIC,gBAAgB;AAAA,SAC3BD,OAAO,IAAIE,iBAAiB;AAAA,SAC5BF,OAAO,IAAIG,iBAAiB;AAAA,SAC5BH,OAAO,IAAII,kBAAkB;AAAA,SAC7BJ,OAAO,IAAIK,wBAAwB;AAAA,SACnCL,OAAO,IAAIM,aAAa;AAAA,SACxBN,OAAO,IAAIO,YAAY;AAAA,SACvBP,OAAO,IAAIQ,kBAAkB;AAAA,SAC7BR,OAAO,IAAIS,eAAe;AAAA,SAC1BT,OAAO,IAAIU,gBAAgB;AAAA,SAC3BV,OAAO,IAAIW,gBAAgB;AAAA,SAC3BX,OAAO,IAAIY,YAAY;AAAA,SACvBZ,OAAO,IAAIa,kBAAkB;AAAA,SAC7Bb,OAAO,IAAIc,cAAc;AAAA,SACzBd,OAAO,IAAIe,oBAAoB;AAAA,SAC/Bf,OAAO,IAAIgB,iBAAiB;AAAA,SAC5BhB,OAAO,IAAIiB,kBAAkB;AAAA,SAC7BjB,OAAO,IAAIkB,kBAAkB;AAAA,SAC7BlB,OAAO,IAAImB,kBAAkB;AAAA,SAC7BnB,OAAO,IAAIoB,wBAAwB;AAAA,SACnCpB,OAAO,IAAIqB,WAAW;AAAA,SACtBrB,OAAO,IAAIsB,WAAW;AAAA,SAEtBtB,OAAO,IAAIuB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ import { CommandHistory, type CommandHistoryStorage, type CommandHistorySettings
|
|
|
4
4
|
import { type DashboardPanelProps } from '@deephaven/dashboard';
|
|
5
5
|
import { Pending } from '@deephaven/utils';
|
|
6
6
|
import type { dh } from '@deephaven/jsapi-types';
|
|
7
|
+
import { type CoreConsoleSession } from '../ConsoleEvents';
|
|
7
8
|
import './CommandHistoryPanel.scss';
|
|
8
9
|
interface CommandHistoryPanelProps extends DashboardPanelProps {
|
|
9
10
|
panelState?: Record<string, never>;
|
|
@@ -31,17 +32,14 @@ declare class CommandHistoryPanel extends Component<CommandHistoryPanelProps, Co
|
|
|
31
32
|
pending: Pending;
|
|
32
33
|
handleFocusHistory(): void;
|
|
33
34
|
handleShow(): void;
|
|
34
|
-
handleSessionOpened(session
|
|
35
|
-
language: string;
|
|
36
|
-
sessionId: string;
|
|
37
|
-
}): void;
|
|
35
|
+
handleSessionOpened({ session, language, sessionId, }: CoreConsoleSession): void;
|
|
38
36
|
handleSessionClosed(): void;
|
|
39
37
|
handleSendToNotebook(settings: CommandHistorySettings, forceNewNotebook?: boolean): void;
|
|
40
38
|
handleSendToConsole(command: string, focus?: boolean, execute?: boolean): void;
|
|
41
39
|
loadTable(): void;
|
|
42
40
|
render(): JSX.Element;
|
|
43
41
|
}
|
|
44
|
-
declare const ConnectedCommandHistoryPanel: import("react-redux").ConnectedComponent<typeof CommandHistoryPanel, import("react-redux").Omit<React.ClassAttributes<CommandHistoryPanel> & CommandHistoryPanelProps, "language" | "
|
|
42
|
+
declare const ConnectedCommandHistoryPanel: import("react-redux").ConnectedComponent<typeof CommandHistoryPanel, import("react-redux").Omit<React.ClassAttributes<CommandHistoryPanel> & CommandHistoryPanelProps, "language" | "session" | "sessionId" | "commandHistoryStorage"> & {
|
|
45
43
|
localDashboardId: string;
|
|
46
44
|
}>;
|
|
47
45
|
export default ConnectedCommandHistoryPanel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandHistoryPanel.d.ts","sourceRoot":"","sources":["../../src/panels/CommandHistoryPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,KAAK,aAAa,EAAkB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,EAE1B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EAAiB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,4BAA4B,CAAC;AAMpC,UAAU,wBAAyB,SAAQ,mBAAmB;IAE5D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C;AAED,UAAU,wBAAwB;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC7B;AAED,cAAM,mBAAoB,SAAQ,SAAS,CACzC,wBAAwB,EACxB,wBAAwB,CACzB;IACC,MAAM,CAAC,SAAS,SAAyB;IAEzC,MAAM,CAAC,KAAK,SAAqB;IAEjC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;gBAI5B,KAAK,EAAE,wBAAwB;IA8B3C,iBAAiB,IAAI,IAAI;IAQzB,oBAAoB,IAAI,IAAI;IAO5B,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAErC,OAAO,EAAE,OAAO,CAAC;IAEjB,kBAAkB,IAAI,IAAI;IAM1B,UAAU,IAAI,IAAI;IAKlB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"CommandHistoryPanel.d.ts","sourceRoot":"","sources":["../../src/panels/CommandHistoryPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,KAAK,aAAa,EAAkB,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,EAE1B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EAAiB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,4BAA4B,CAAC;AAMpC,UAAU,wBAAyB,SAAQ,mBAAmB;IAE5D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C;AAED,UAAU,wBAAwB;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC7B;AAED,cAAM,mBAAoB,SAAQ,SAAS,CACzC,wBAAwB,EACxB,wBAAwB,CACzB;IACC,MAAM,CAAC,SAAS,SAAyB;IAEzC,MAAM,CAAC,KAAK,SAAqB;IAEjC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;gBAI5B,KAAK,EAAE,wBAAwB;IA8B3C,iBAAiB,IAAI,IAAI;IAQzB,oBAAoB,IAAI,IAAI;IAO5B,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IAErC,OAAO,EAAE,OAAO,CAAC;IAEjB,kBAAkB,IAAI,IAAI;IAM1B,UAAU,IAAI,IAAI;IAKlB,mBAAmB,CAAC,EAClB,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,kBAAkB,GAAG,IAAI;IAa5B,mBAAmB,IAAI,IAAI;IAS3B,oBAAoB,CAClB,QAAQ,EAAE,sBAAsB,EAChC,gBAAgB,UAAQ,GACvB,IAAI;IAkBP,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,UAAO,EAAE,OAAO,UAAQ,GAAG,IAAI;IAMzE,SAAS,IAAI,IAAI;IAgBjB,MAAM,IAAI,GAAG,CAAC,OAAO;CAkCtB;AA2BD,QAAA,MAAM,4BAA4B;sBAvBF,MAAM;EAyBf,CAAC;AAExB,eAAe,4BAA4B,CAAC"}
|
|
@@ -74,8 +74,9 @@ class CommandHistoryPanel extends Component {
|
|
|
74
74
|
// virtual list requires a forced reset to scroll position when picked up and dropped in same place
|
|
75
75
|
(_this$container$curre = this.container.current) === null || _this$container$curre === void 0 || _this$container$curre.restoreScrollPosition();
|
|
76
76
|
}
|
|
77
|
-
handleSessionOpened(
|
|
77
|
+
handleSessionOpened(_ref) {
|
|
78
78
|
var {
|
|
79
|
+
session,
|
|
79
80
|
language,
|
|
80
81
|
sessionId
|
|
81
82
|
} = _ref;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandHistoryPanel.js","names":["React","Component","connect","ContextActions","CommandHistory","SHORTCUTS","Log","getCommandHistoryStorage","assertNotNull","Pending","ConsoleEvent","NotebookEvent","Panel","getDashboardSessionWrapper","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","log","module","CommandHistoryPanel","handleError","error","constructor","props","_defineProperty","handleFocusHistory","bind","handleSessionOpened","handleSessionClosed","handleShow","handleSendToConsole","handleSendToNotebook","container","createRef","pending","session","sessionId","language","state","panelState","contextActions","action","shortcut","COMMAND_HISTORY","FOCUS_HISTORY","componentDidMount","glEventHub","on","loadTable","componentWillUnmount","off","cancel","current","focus","_this$container$curre","restoreScrollPosition","_ref","setState","undefined","table","settings","forceNewNotebook","arguments","length","debug","emit","CREATE_NOTEBOOK","SEND_TO_NOTEBOOK","command","execute","SEND_COMMAND","commandHistoryStorage","add","getTable","Date","now","resolved","close","then","catch","render","glContainer","className","componentPanel","onSessionOpen","onSessionClose","onShow","children","ref","sendToNotebook","sendToConsole","actions","mapStateToProps","ownProps","sessionWrapper","localDashboardId","config","sessionConfig","type","id","ConnectedCommandHistoryPanel","forwardRef"],"sources":["../../src/panels/CommandHistoryPanel.tsx"],"sourcesContent":["import React, { Component, type RefObject } from 'react';\nimport { connect } from 'react-redux';\nimport { type ContextAction, ContextActions } from '@deephaven/components';\nimport {\n CommandHistory,\n type CommandHistoryStorage,\n SHORTCUTS,\n type CommandHistorySettings,\n type CommandHistoryTable,\n} from '@deephaven/console';\nimport { type DashboardPanelProps } from '@deephaven/dashboard';\nimport Log from '@deephaven/log';\nimport { getCommandHistoryStorage, type RootState } from '@deephaven/redux';\nimport { assertNotNull, Pending } from '@deephaven/utils';\nimport type { dh } from '@deephaven/jsapi-types';\nimport { ConsoleEvent, NotebookEvent } from '../events';\nimport './CommandHistoryPanel.scss';\nimport Panel from './CorePanel';\nimport { getDashboardSessionWrapper } from '../redux';\n\nconst log = Log.module('CommandHistoryPanel');\n\ninterface CommandHistoryPanelProps extends DashboardPanelProps {\n // eslint-disable-next-line react/no-unused-prop-types\n panelState?: Record<string, never>;\n session?: dh.IdeSession;\n sessionId?: string;\n language?: string;\n commandHistoryStorage: CommandHistoryStorage;\n}\n\ninterface CommandHistoryPanelState {\n panelState: Record<string, never>;\n session?: dh.IdeSession;\n sessionId?: string;\n language?: string;\n contextActions: ContextAction[];\n table?: CommandHistoryTable;\n}\n\nclass CommandHistoryPanel extends Component<\n CommandHistoryPanelProps,\n CommandHistoryPanelState\n> {\n static COMPONENT = 'CommandHistoryPanel';\n\n static TITLE = 'Command History';\n\n static handleError(error: unknown): void {\n log.error(error);\n }\n\n constructor(props: CommandHistoryPanelProps) {\n super(props);\n\n this.handleFocusHistory = this.handleFocusHistory.bind(this);\n this.handleSessionOpened = this.handleSessionOpened.bind(this);\n this.handleSessionClosed = this.handleSessionClosed.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handleSendToConsole = this.handleSendToConsole.bind(this);\n this.handleSendToNotebook = this.handleSendToNotebook.bind(this);\n\n this.container = React.createRef();\n this.pending = new Pending();\n\n const { session, sessionId, language } = props;\n\n this.state = {\n // eslint-disable-next-line react/no-unused-state\n panelState: {},\n session,\n sessionId,\n language,\n contextActions: [\n {\n action: this.handleFocusHistory,\n shortcut: SHORTCUTS.COMMAND_HISTORY.FOCUS_HISTORY,\n },\n ],\n };\n }\n\n componentDidMount(): void {\n const { glEventHub, session } = this.props;\n glEventHub.on(ConsoleEvent.FOCUS_HISTORY, this.handleFocusHistory);\n if (session != null) {\n this.loadTable();\n }\n }\n\n componentWillUnmount(): void {\n const { glEventHub } = this.props;\n glEventHub.off(ConsoleEvent.FOCUS_HISTORY, this.handleFocusHistory);\n\n this.pending.cancel();\n }\n\n container: RefObject<CommandHistory>;\n\n pending: Pending;\n\n handleFocusHistory(): void {\n if (this.container.current) {\n this.container.current.focus();\n }\n }\n\n handleShow(): void {\n // virtual list requires a forced reset to scroll position when picked up and dropped in same place\n this.container.current?.restoreScrollPosition();\n }\n\n handleSessionOpened(\n session: dh.IdeSession,\n { language, sessionId }: { language: string; sessionId: string }\n ): void {\n this.setState(\n {\n session,\n sessionId,\n language,\n },\n () => {\n this.loadTable();\n }\n );\n }\n\n handleSessionClosed(): void {\n this.pending.cancel();\n this.setState({\n session: undefined,\n language: undefined,\n table: undefined,\n });\n }\n\n handleSendToNotebook(\n settings: CommandHistorySettings,\n forceNewNotebook = false\n ): void {\n const { session, language } = this.state;\n log.debug('handleSendToNotebook', session, settings);\n if (!session) {\n log.error('Session is not connected.');\n return;\n }\n const { glEventHub } = this.props;\n glEventHub.emit(\n forceNewNotebook\n ? NotebookEvent.CREATE_NOTEBOOK\n : NotebookEvent.SEND_TO_NOTEBOOK,\n session,\n language,\n settings\n );\n }\n\n handleSendToConsole(command: string, focus = true, execute = false): void {\n log.debug('handleSendToConsole', command);\n const { glEventHub } = this.props;\n glEventHub.emit(ConsoleEvent.SEND_COMMAND, command, focus, execute);\n }\n\n loadTable(): void {\n const { commandHistoryStorage } = this.props;\n const { language, sessionId } = this.state;\n assertNotNull(language);\n assertNotNull(sessionId);\n this.pending\n .add(\n commandHistoryStorage.getTable(language, sessionId, Date.now()),\n resolved => resolved.close()\n )\n .then(table => {\n this.setState({ table });\n })\n .catch(CommandHistoryPanel.handleError);\n }\n\n render(): JSX.Element {\n const { glContainer, glEventHub, commandHistoryStorage } = this.props;\n const { language, contextActions, table } = this.state;\n return (\n <Panel\n className=\"command-history-pane\"\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onSessionOpen={this.handleSessionOpened}\n onSessionClose={this.handleSessionClosed}\n onShow={this.handleShow}\n >\n {!table && (\n <div className=\"command-history-disconnected-message\">\n Waiting for console connection\n </div>\n )}\n {table && language != null && (\n <>\n <CommandHistory\n ref={this.container}\n language={language}\n sendToNotebook={this.handleSendToNotebook}\n sendToConsole={this.handleSendToConsole}\n table={table}\n commandHistoryStorage={commandHistoryStorage}\n />\n <ContextActions actions={contextActions} />\n </>\n )}\n </Panel>\n );\n }\n}\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: { localDashboardId: string }\n): Pick<\n CommandHistoryPanelProps,\n 'commandHistoryStorage' | 'language' | 'session' | 'sessionId'\n> => {\n const commandHistoryStorage = getCommandHistoryStorage(\n state\n ) as CommandHistoryStorage;\n const sessionWrapper = getDashboardSessionWrapper(\n state,\n ownProps.localDashboardId\n );\n const { session, config: sessionConfig } = sessionWrapper ?? {};\n const { type: language, id: sessionId } = sessionConfig ?? {};\n\n return {\n commandHistoryStorage,\n language,\n session,\n sessionId,\n };\n};\n\nconst ConnectedCommandHistoryPanel = connect(mapStateToProps, null, null, {\n forwardRef: true,\n})(CommandHistoryPanel);\n\nexport default ConnectedCommandHistoryPanel;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CommandHistoryPanel.js","names":["React","Component","connect","ContextActions","CommandHistory","SHORTCUTS","Log","getCommandHistoryStorage","assertNotNull","Pending","ConsoleEvent","NotebookEvent","Panel","getDashboardSessionWrapper","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","log","module","CommandHistoryPanel","handleError","error","constructor","props","_defineProperty","handleFocusHistory","bind","handleSessionOpened","handleSessionClosed","handleShow","handleSendToConsole","handleSendToNotebook","container","createRef","pending","session","sessionId","language","state","panelState","contextActions","action","shortcut","COMMAND_HISTORY","FOCUS_HISTORY","componentDidMount","glEventHub","on","loadTable","componentWillUnmount","off","cancel","current","focus","_this$container$curre","restoreScrollPosition","_ref","setState","undefined","table","settings","forceNewNotebook","arguments","length","debug","emit","CREATE_NOTEBOOK","SEND_TO_NOTEBOOK","command","execute","SEND_COMMAND","commandHistoryStorage","add","getTable","Date","now","resolved","close","then","catch","render","glContainer","className","componentPanel","onSessionOpen","onSessionClose","onShow","children","ref","sendToNotebook","sendToConsole","actions","mapStateToProps","ownProps","sessionWrapper","localDashboardId","config","sessionConfig","type","id","ConnectedCommandHistoryPanel","forwardRef"],"sources":["../../src/panels/CommandHistoryPanel.tsx"],"sourcesContent":["import React, { Component, type RefObject } from 'react';\nimport { connect } from 'react-redux';\nimport { type ContextAction, ContextActions } from '@deephaven/components';\nimport {\n CommandHistory,\n type CommandHistoryStorage,\n SHORTCUTS,\n type CommandHistorySettings,\n type CommandHistoryTable,\n} from '@deephaven/console';\nimport { type DashboardPanelProps } from '@deephaven/dashboard';\nimport Log from '@deephaven/log';\nimport { getCommandHistoryStorage, type RootState } from '@deephaven/redux';\nimport { assertNotNull, Pending } from '@deephaven/utils';\nimport type { dh } from '@deephaven/jsapi-types';\nimport { ConsoleEvent, NotebookEvent } from '../events';\nimport { type CoreConsoleSession } from '../ConsoleEvents';\nimport './CommandHistoryPanel.scss';\nimport Panel from './CorePanel';\nimport { getDashboardSessionWrapper } from '../redux';\n\nconst log = Log.module('CommandHistoryPanel');\n\ninterface CommandHistoryPanelProps extends DashboardPanelProps {\n // eslint-disable-next-line react/no-unused-prop-types\n panelState?: Record<string, never>;\n session?: dh.IdeSession;\n sessionId?: string;\n language?: string;\n commandHistoryStorage: CommandHistoryStorage;\n}\n\ninterface CommandHistoryPanelState {\n panelState: Record<string, never>;\n session?: dh.IdeSession;\n sessionId?: string;\n language?: string;\n contextActions: ContextAction[];\n table?: CommandHistoryTable;\n}\n\nclass CommandHistoryPanel extends Component<\n CommandHistoryPanelProps,\n CommandHistoryPanelState\n> {\n static COMPONENT = 'CommandHistoryPanel';\n\n static TITLE = 'Command History';\n\n static handleError(error: unknown): void {\n log.error(error);\n }\n\n constructor(props: CommandHistoryPanelProps) {\n super(props);\n\n this.handleFocusHistory = this.handleFocusHistory.bind(this);\n this.handleSessionOpened = this.handleSessionOpened.bind(this);\n this.handleSessionClosed = this.handleSessionClosed.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handleSendToConsole = this.handleSendToConsole.bind(this);\n this.handleSendToNotebook = this.handleSendToNotebook.bind(this);\n\n this.container = React.createRef();\n this.pending = new Pending();\n\n const { session, sessionId, language } = props;\n\n this.state = {\n // eslint-disable-next-line react/no-unused-state\n panelState: {},\n session,\n sessionId,\n language,\n contextActions: [\n {\n action: this.handleFocusHistory,\n shortcut: SHORTCUTS.COMMAND_HISTORY.FOCUS_HISTORY,\n },\n ],\n };\n }\n\n componentDidMount(): void {\n const { glEventHub, session } = this.props;\n glEventHub.on(ConsoleEvent.FOCUS_HISTORY, this.handleFocusHistory);\n if (session != null) {\n this.loadTable();\n }\n }\n\n componentWillUnmount(): void {\n const { glEventHub } = this.props;\n glEventHub.off(ConsoleEvent.FOCUS_HISTORY, this.handleFocusHistory);\n\n this.pending.cancel();\n }\n\n container: RefObject<CommandHistory>;\n\n pending: Pending;\n\n handleFocusHistory(): void {\n if (this.container.current) {\n this.container.current.focus();\n }\n }\n\n handleShow(): void {\n // virtual list requires a forced reset to scroll position when picked up and dropped in same place\n this.container.current?.restoreScrollPosition();\n }\n\n handleSessionOpened({\n session,\n language,\n sessionId,\n }: CoreConsoleSession): void {\n this.setState(\n {\n session,\n sessionId,\n language,\n },\n () => {\n this.loadTable();\n }\n );\n }\n\n handleSessionClosed(): void {\n this.pending.cancel();\n this.setState({\n session: undefined,\n language: undefined,\n table: undefined,\n });\n }\n\n handleSendToNotebook(\n settings: CommandHistorySettings,\n forceNewNotebook = false\n ): void {\n const { session, language } = this.state;\n log.debug('handleSendToNotebook', session, settings);\n if (!session) {\n log.error('Session is not connected.');\n return;\n }\n const { glEventHub } = this.props;\n glEventHub.emit(\n forceNewNotebook\n ? NotebookEvent.CREATE_NOTEBOOK\n : NotebookEvent.SEND_TO_NOTEBOOK,\n session,\n language,\n settings\n );\n }\n\n handleSendToConsole(command: string, focus = true, execute = false): void {\n log.debug('handleSendToConsole', command);\n const { glEventHub } = this.props;\n glEventHub.emit(ConsoleEvent.SEND_COMMAND, command, focus, execute);\n }\n\n loadTable(): void {\n const { commandHistoryStorage } = this.props;\n const { language, sessionId } = this.state;\n assertNotNull(language);\n assertNotNull(sessionId);\n this.pending\n .add(\n commandHistoryStorage.getTable(language, sessionId, Date.now()),\n resolved => resolved.close()\n )\n .then(table => {\n this.setState({ table });\n })\n .catch(CommandHistoryPanel.handleError);\n }\n\n render(): JSX.Element {\n const { glContainer, glEventHub, commandHistoryStorage } = this.props;\n const { language, contextActions, table } = this.state;\n return (\n <Panel\n className=\"command-history-pane\"\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onSessionOpen={this.handleSessionOpened}\n onSessionClose={this.handleSessionClosed}\n onShow={this.handleShow}\n >\n {!table && (\n <div className=\"command-history-disconnected-message\">\n Waiting for console connection\n </div>\n )}\n {table && language != null && (\n <>\n <CommandHistory\n ref={this.container}\n language={language}\n sendToNotebook={this.handleSendToNotebook}\n sendToConsole={this.handleSendToConsole}\n table={table}\n commandHistoryStorage={commandHistoryStorage}\n />\n <ContextActions actions={contextActions} />\n </>\n )}\n </Panel>\n );\n }\n}\n\nconst mapStateToProps = (\n state: RootState,\n ownProps: { localDashboardId: string }\n): Pick<\n CommandHistoryPanelProps,\n 'commandHistoryStorage' | 'language' | 'session' | 'sessionId'\n> => {\n const commandHistoryStorage = getCommandHistoryStorage(\n state\n ) as CommandHistoryStorage;\n const sessionWrapper = getDashboardSessionWrapper(\n state,\n ownProps.localDashboardId\n );\n const { session, config: sessionConfig } = sessionWrapper ?? {};\n const { type: language, id: sessionId } = sessionConfig ?? {};\n\n return {\n commandHistoryStorage,\n language,\n session,\n sessionId,\n };\n};\n\nconst ConnectedCommandHistoryPanel = connect(mapStateToProps, null, null, {\n forwardRef: true,\n})(CommandHistoryPanel);\n\nexport default ConnectedCommandHistoryPanel;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { type BasePanelProps } from '@deephaven/dashboard';
|
|
2
2
|
import type { dh } from '@deephaven/jsapi-types';
|
|
3
|
+
import { type CoreConsoleSession } from '../ConsoleEvents';
|
|
3
4
|
export type CorePanelProps = BasePanelProps & {
|
|
4
5
|
onClearAllFilters?: (...args: unknown[]) => void;
|
|
5
6
|
onSessionClose?: (session: dh.IdeSession) => void;
|
|
6
|
-
onSessionOpen?: (session:
|
|
7
|
-
language: string;
|
|
8
|
-
sessionId: string;
|
|
9
|
-
}) => void;
|
|
7
|
+
onSessionOpen?: (session: CoreConsoleSession) => void;
|
|
10
8
|
};
|
|
11
9
|
declare const XCorePanel: import("@deephaven/components").XComponentType<CorePanelProps>;
|
|
12
10
|
export default XCorePanel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CorePanel.d.ts","sourceRoot":"","sources":["../../src/panels/CorePanel.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAa,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"CorePanel.d.ts","sourceRoot":"","sources":["../../src/panels/CorePanel.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,cAAc,EAAa,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,kBAAkB,CAAC;AAG1B,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C,iBAAiB,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACjD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC;IAClD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACvD,CAAC;AAqEF,QAAA,MAAM,UAAU,gEAA8B,CAAC;AAE/C,eAAe,UAAU,CAAC"}
|
package/dist/panels/CorePanel.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
var _excluded = ["children"];
|
|
2
2
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
3
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
5
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
4
6
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
7
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
6
8
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
-
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
8
|
-
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
9
9
|
import React, { PureComponent } from 'react';
|
|
10
10
|
import { createXComponent } from '@deephaven/components';
|
|
11
11
|
import { BasePanel } from '@deephaven/dashboard';
|
|
12
|
-
import {
|
|
12
|
+
import { listenForSessionClosed, listenForSessionOpened } from "../ConsoleEvents.js";
|
|
13
|
+
import { InputFilterEvent } from "../events/index.js";
|
|
13
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
15
|
/**
|
|
15
16
|
* Extends the base panel component to handle Session events and input filter events.
|
|
@@ -17,6 +18,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
17
18
|
class CorePanel extends PureComponent {
|
|
18
19
|
constructor(props) {
|
|
19
20
|
super(props);
|
|
21
|
+
_defineProperty(this, "stopListenForSessionClosed", void 0);
|
|
22
|
+
_defineProperty(this, "stopListenForSessionOpened", void 0);
|
|
20
23
|
this.handleClearAllFilters = this.handleClearAllFilters.bind(this);
|
|
21
24
|
this.handleSessionClosed = this.handleSessionClosed.bind(this);
|
|
22
25
|
this.handleSessionOpened = this.handleSessionOpened.bind(this);
|
|
@@ -25,16 +28,17 @@ class CorePanel extends PureComponent {
|
|
|
25
28
|
var {
|
|
26
29
|
glEventHub
|
|
27
30
|
} = this.props;
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
this.stopListenForSessionClosed = listenForSessionClosed(glEventHub, this.handleSessionClosed);
|
|
32
|
+
this.stopListenForSessionOpened = listenForSessionOpened(glEventHub, this.handleSessionOpened);
|
|
30
33
|
glEventHub.on(InputFilterEvent.CLEAR_ALL_FILTERS, this.handleClearAllFilters);
|
|
31
34
|
}
|
|
32
35
|
componentWillUnmount() {
|
|
36
|
+
var _this$stopListenForSe, _this$stopListenForSe2;
|
|
33
37
|
var {
|
|
34
38
|
glEventHub
|
|
35
39
|
} = this.props;
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
(_this$stopListenForSe = this.stopListenForSessionClosed) === null || _this$stopListenForSe === void 0 || _this$stopListenForSe.call(this);
|
|
41
|
+
(_this$stopListenForSe2 = this.stopListenForSessionOpened) === null || _this$stopListenForSe2 === void 0 || _this$stopListenForSe2.call(this);
|
|
38
42
|
glEventHub.off(InputFilterEvent.CLEAR_ALL_FILTERS, this.handleClearAllFilters);
|
|
39
43
|
}
|
|
40
44
|
handleClearAllFilters() {
|
|
@@ -52,11 +56,11 @@ class CorePanel extends PureComponent {
|
|
|
52
56
|
} = this.props;
|
|
53
57
|
onSessionClose === null || onSessionClose === void 0 || onSessionClose(session);
|
|
54
58
|
}
|
|
55
|
-
handleSessionOpened(session
|
|
59
|
+
handleSessionOpened(session) {
|
|
56
60
|
var {
|
|
57
61
|
onSessionOpen
|
|
58
62
|
} = this.props;
|
|
59
|
-
onSessionOpen === null || onSessionOpen === void 0 || onSessionOpen(session
|
|
63
|
+
onSessionOpen === null || onSessionOpen === void 0 || onSessionOpen(session);
|
|
60
64
|
}
|
|
61
65
|
render() {
|
|
62
66
|
var _this$props = this.props,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CorePanel.js","names":["React","PureComponent","createXComponent","BasePanel","
|
|
1
|
+
{"version":3,"file":"CorePanel.js","names":["React","PureComponent","createXComponent","BasePanel","listenForSessionClosed","listenForSessionOpened","InputFilterEvent","jsx","_jsx","CorePanel","constructor","props","_defineProperty","handleClearAllFilters","bind","handleSessionClosed","handleSessionOpened","componentDidMount","glEventHub","stopListenForSessionClosed","stopListenForSessionOpened","on","CLEAR_ALL_FILTERS","componentWillUnmount","_this$stopListenForSe","_this$stopListenForSe2","call","off","onClearAllFilters","_len","arguments","length","args","Array","_key","session","onSessionClose","onSessionOpen","render","_this$props","children","otherProps","_objectWithoutProperties","_excluded","_objectSpread","XCorePanel"],"sources":["../../src/panels/CorePanel.tsx"],"sourcesContent":["import React, { PureComponent, type ReactElement } from 'react';\nimport { createXComponent } from '@deephaven/components';\nimport { type BasePanelProps, BasePanel } from '@deephaven/dashboard';\nimport type { dh } from '@deephaven/jsapi-types';\nimport {\n type CoreConsoleSession,\n listenForSessionClosed,\n listenForSessionOpened,\n} from '../ConsoleEvents';\nimport { InputFilterEvent } from '../events';\n\nexport type CorePanelProps = BasePanelProps & {\n onClearAllFilters?: (...args: unknown[]) => void;\n onSessionClose?: (session: dh.IdeSession) => void;\n onSessionOpen?: (session: CoreConsoleSession) => void;\n};\n\n/**\n * Extends the base panel component to handle Session events and input filter events.\n */\nclass CorePanel extends PureComponent<CorePanelProps> {\n constructor(props: CorePanelProps) {\n super(props);\n\n this.handleClearAllFilters = this.handleClearAllFilters.bind(this);\n this.handleSessionClosed = this.handleSessionClosed.bind(this);\n this.handleSessionOpened = this.handleSessionOpened.bind(this);\n }\n\n componentDidMount(): void {\n const { glEventHub } = this.props;\n\n this.stopListenForSessionClosed = listenForSessionClosed(\n glEventHub,\n this.handleSessionClosed\n );\n this.stopListenForSessionOpened = listenForSessionOpened(\n glEventHub,\n this.handleSessionOpened\n );\n glEventHub.on(\n InputFilterEvent.CLEAR_ALL_FILTERS,\n this.handleClearAllFilters\n );\n }\n\n componentWillUnmount(): void {\n const { glEventHub } = this.props;\n\n this.stopListenForSessionClosed?.();\n this.stopListenForSessionOpened?.();\n glEventHub.off(\n InputFilterEvent.CLEAR_ALL_FILTERS,\n this.handleClearAllFilters\n );\n }\n\n stopListenForSessionClosed?: () => void;\n\n stopListenForSessionOpened?: () => void;\n\n handleClearAllFilters(...args: unknown[]): void {\n const { onClearAllFilters } = this.props;\n onClearAllFilters?.(...args);\n }\n\n handleSessionClosed(session: dh.IdeSession): void {\n const { onSessionClose } = this.props;\n onSessionClose?.(session);\n }\n\n handleSessionOpened(session: CoreConsoleSession): void {\n const { onSessionOpen } = this.props;\n onSessionOpen?.(session);\n }\n\n render(): ReactElement {\n const { children, ...otherProps } = this.props;\n\n // eslint-disable-next-line react/jsx-props-no-spreading\n return <BasePanel {...otherProps}>{children}</BasePanel>;\n }\n}\n\nconst XCorePanel = createXComponent(CorePanel);\n\nexport default XCorePanel;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@ import { type FileStorage, type FileStorageItem } from '@deephaven/file-explorer
|
|
|
3
3
|
import React, { type ReactNode } from 'react';
|
|
4
4
|
import { type ConnectedProps } from 'react-redux';
|
|
5
5
|
import type { dh } from '@deephaven/jsapi-types';
|
|
6
|
+
import { type CoreConsoleSession } from '../ConsoleEvents';
|
|
6
7
|
import './FileExplorerPanel.scss';
|
|
7
8
|
type StateProps = {
|
|
8
9
|
fileStorage: FileStorage;
|
|
@@ -42,9 +43,7 @@ export declare class FileExplorerPanel extends React.Component<FileExplorerPanel
|
|
|
42
43
|
handleSelectionChange(selectedItems: FileStorageItem[]): void;
|
|
43
44
|
handleFileSelect(file: FileStorageItem, event: React.SyntheticEvent): void;
|
|
44
45
|
handleRename(oldName: string, newName: string): void;
|
|
45
|
-
handleSessionOpened(session
|
|
46
|
-
language: string;
|
|
47
|
-
}): void;
|
|
46
|
+
handleSessionOpened({ session, language }: CoreConsoleSession): void;
|
|
48
47
|
handleSessionClosed(): void;
|
|
49
48
|
handleShow(): void;
|
|
50
49
|
isHidden(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerPanel.d.ts","sourceRoot":"","sources":["../../src/panels/FileExplorerPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAqB,EAEnB,KAAK,WAAW,EAChB,KAAK,eAAe,EAIrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAGjD,OAAO,0BAA0B,CAAC;AAKlC,KAAK,UAAU,GAAG;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;CACzB,CAAC;AAEF,KAAK,QAAQ,GAAG,mBAAmB,CAAC;AAkBpC,QAAA,MAAM,SAAS,4JAA6D,CAAC;AAE7E,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAC3C,UAAU,GACV,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC;AAEnC,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAOF;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,SAAS,CACpD,sBAAsB,EACtB,sBAAsB,CACvB;IACC,MAAM,CAAC,SAAS,SAAuB;IAEvC,MAAM,CAAC,KAAK,SAAmB;IAE/B,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAItC;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,GAAG,OAAO;gBAU7C,KAAK,EAAE,sBAAsB;IA4BzC,iBAAiB,IAAI,IAAI;IAMzB,gBAAgB,IAAI,IAAI;IAgBxB,qBAAqB,IAAI,IAAI;IAI7B,2BAA2B,IAAI,IAAI;IAOnC,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOzC,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAa1D,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,IAAI;IAU5C,qBAAqB,CAAC,aAAa,EAAE,eAAe,EAAE,GAAG,IAAI;IAY7D,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI;IAwB1E,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAMpD,mBAAmB,
|
|
1
|
+
{"version":3,"file":"FileExplorerPanel.d.ts","sourceRoot":"","sources":["../../src/panels/FileExplorerPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAqB,EAEnB,KAAK,WAAW,EAChB,KAAK,eAAe,EAIrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAW,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,0BAA0B,CAAC;AAKlC,KAAK,UAAU,GAAG;IAChB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;CACzB,CAAC;AAEF,KAAK,QAAQ,GAAG,mBAAmB,CAAC;AAkBpC,QAAA,MAAM,SAAS,4JAA6D,CAAC;AAE7E,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAC3C,UAAU,GACV,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC;AAEnC,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAOF;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,SAAS,CACpD,sBAAsB,EACtB,sBAAsB,CACvB;IACC,MAAM,CAAC,SAAS,SAAuB;IAEvC,MAAM,CAAC,KAAK,SAAmB;IAE/B,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAItC;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,cAAc,GAAG,OAAO;gBAU7C,KAAK,EAAE,sBAAsB;IA4BzC,iBAAiB,IAAI,IAAI;IAMzB,gBAAgB,IAAI,IAAI;IAgBxB,qBAAqB,IAAI,IAAI;IAI7B,2BAA2B,IAAI,IAAI;IAOnC,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOzC,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAa1D,YAAY,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,IAAI;IAU5C,qBAAqB,CAAC,aAAa,EAAE,eAAe,EAAE,GAAG,IAAI;IAY7D,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI;IAwB1E,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAMpD,mBAAmB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,kBAAkB,GAAG,IAAI;IAOpE,mBAAmB,IAAI,IAAI;IAO3B,UAAU,IAAI,IAAI;IAIlB,QAAQ,IAAI,OAAO;IAMnB,MAAM,IAAI,SAAS;CA0CpB;AAED,QAAA,MAAM,0BAA0B,skBAA+B,CAAC;AAEhE,eAAe,0BAA0B,CAAC"}
|
|
@@ -194,8 +194,9 @@ export class FileExplorerPanel extends React.Component {
|
|
|
194
194
|
log.debug('handleRename', oldName, newName);
|
|
195
195
|
glEventHub.emit(NotebookEvent.RENAME_FILE, oldName, newName);
|
|
196
196
|
}
|
|
197
|
-
handleSessionOpened(
|
|
197
|
+
handleSessionOpened(_ref) {
|
|
198
198
|
var {
|
|
199
|
+
session,
|
|
199
200
|
language
|
|
200
201
|
} = _ref;
|
|
201
202
|
this.setState({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorerPanel.js","names":["Log","getFileStorage","FileExplorer","FileExplorerToolbar","FileUtils","NewItemModal","isDirectory","React","connect","Panel","NotebookEvent","getDashboardSessionWrapper","jsx","_jsx","jsxs","_jsxs","log","module","mapStateToProps","state","ownProps","fileStorage","sessionWrapper","localDashboardId","session","config","sessionConfig","language","type","connector","forwardRef","isMouseEvent","e","mouseEvent","button","FileExplorerPanel","Component","handleError","error","isFocusEvent","event","detail","constructor","props","handleFileSelect","bind","handleCopyFile","handleCreateFile","handleCreateDirectory","handleCreateDirectoryCancel","handleCreateDirectorySubmit","handleDelete","handleRename","handleSessionOpened","handleSessionClosed","handleShow","handleSelectionChange","isShown","showCreateFolder","focusedFilePath","componentDidMount","isHidden","setState","glEventHub","notebookSettings","value","debug","emit","CREATE_NOTEBOOK","path","createDirectory","catch","file","_this","_asyncToGenerator","newName","getUniqueCopyFileName","filename","copyFile","files","forEach","CLOSE_FILE","id","itemName","selectedItems","length","makePath","getPath","shouldFocus","fileMetadata","SELECT_NOTEBOOK","oldName","RENAME_FILE","_ref","undefined","glContainer","render","className","componentPanel","onSessionOpen","onSessionClose","onShow","children","createFile","createFolder","isMultiSelect","storage","onCopy","onCreateFile","onCreateFolder","onDelete","onRename","onSelect","onSelectionChange","isOpen","title","onSubmit","onCancel","defaultValue","_defineProperty","ConnectedFileExplorerPanel"],"sources":["../../src/panels/FileExplorerPanel.tsx"],"sourcesContent":["import { type DashboardPanelProps } from '@deephaven/dashboard';\nimport Log from '@deephaven/log';\nimport { getFileStorage, type RootState } from '@deephaven/redux';\nimport FileExplorer, {\n FileExplorerToolbar,\n type FileStorage,\n type FileStorageItem,\n FileUtils,\n NewItemModal,\n isDirectory,\n} from '@deephaven/file-explorer';\nimport React, { type ReactNode } from 'react';\nimport { connect, type ConnectedProps } from 'react-redux';\nimport type { dh } from '@deephaven/jsapi-types';\nimport Panel from './CorePanel';\nimport { NotebookEvent } from '../events';\nimport './FileExplorerPanel.scss';\nimport { getDashboardSessionWrapper } from '../redux';\n\nconst log = Log.module('FileExplorerPanel');\n\ntype StateProps = {\n fileStorage: FileStorage;\n language?: string;\n session?: dh.IdeSession;\n};\n\ntype OwnProps = DashboardPanelProps;\n\nconst mapStateToProps = (state: RootState, ownProps: OwnProps): StateProps => {\n const fileStorage = getFileStorage(state);\n const sessionWrapper = getDashboardSessionWrapper(\n state,\n ownProps.localDashboardId\n );\n const { session, config: sessionConfig } = sessionWrapper ?? {};\n const language = sessionConfig?.type;\n\n return {\n fileStorage,\n language,\n session,\n };\n};\n\nconst connector = connect(mapStateToProps, null, null, { forwardRef: true });\n\nexport type FileExplorerPanelProps = OwnProps &\n StateProps &\n ConnectedProps<typeof connector>;\n\nexport type FileExplorerPanelState = {\n isShown: boolean;\n language?: string;\n session?: dh.IdeSession;\n showCreateFolder: boolean;\n focusedFilePath: string;\n};\n\nfunction isMouseEvent<T>(e: React.SyntheticEvent<T>): e is React.MouseEvent<T> {\n const mouseEvent = e as React.MouseEvent<T>;\n return mouseEvent != null && typeof mouseEvent.button === 'number';\n}\n\n/**\n * Panel for showing a FileExplorer in a Dashboard.\n */\nexport class FileExplorerPanel extends React.Component<\n FileExplorerPanelProps,\n FileExplorerPanelState\n> {\n static COMPONENT = 'FileExplorerPanel';\n\n static TITLE = 'File Explorer';\n\n static handleError(error: Error): void {\n log.error(error);\n }\n\n /**\n * Return true if the event should open a file and focus it, otherwise false\n * @param event The event to check\n */\n static isFocusEvent(event: React.SyntheticEvent): boolean {\n if (isMouseEvent(event)) {\n // If it's not a double click, then it's a preview event\n return event.detail >= 2;\n }\n\n // Keyboard event should always open with focus\n return true;\n }\n\n constructor(props: FileExplorerPanelProps) {\n super(props);\n\n this.handleFileSelect = this.handleFileSelect.bind(this);\n this.handleCopyFile = this.handleCopyFile.bind(this);\n this.handleCreateFile = this.handleCreateFile.bind(this);\n this.handleCreateDirectory = this.handleCreateDirectory.bind(this);\n this.handleCreateDirectoryCancel =\n this.handleCreateDirectoryCancel.bind(this);\n this.handleCreateDirectorySubmit =\n this.handleCreateDirectorySubmit.bind(this);\n this.handleDelete = this.handleDelete.bind(this);\n this.handleRename = this.handleRename.bind(this);\n this.handleSessionOpened = this.handleSessionOpened.bind(this);\n this.handleSessionClosed = this.handleSessionClosed.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handleSelectionChange = this.handleSelectionChange.bind(this);\n\n const { session, language } = props;\n this.state = {\n isShown: false,\n language,\n session,\n showCreateFolder: false,\n focusedFilePath: '/',\n };\n }\n\n componentDidMount(): void {\n if (!this.isHidden()) {\n this.setState({ isShown: true });\n }\n }\n\n handleCreateFile(): void {\n const { glEventHub } = this.props;\n const { session, language } = this.state;\n const notebookSettings = {\n language,\n value: '',\n };\n log.debug('handleCreateFile', session, language, notebookSettings);\n glEventHub.emit(\n NotebookEvent.CREATE_NOTEBOOK,\n session,\n language,\n notebookSettings\n );\n }\n\n handleCreateDirectory(): void {\n this.setState({ showCreateFolder: true });\n }\n\n handleCreateDirectoryCancel(): void {\n log.debug('handleCreateDirectoryCancel');\n this.setState({\n showCreateFolder: false,\n });\n }\n\n handleCreateDirectorySubmit(path: string): void {\n log.debug('handleCreateDirectorySubmit', path);\n this.setState({ showCreateFolder: false });\n const { fileStorage } = this.props;\n fileStorage.createDirectory(path).catch(FileExplorerPanel.handleError);\n }\n\n async handleCopyFile(file: FileStorageItem): Promise<void> {\n const { fileStorage } = this.props;\n if (isDirectory(file)) {\n log.error('Invalid item in handleCopyItem', file);\n return;\n }\n const newName = await FileUtils.getUniqueCopyFileName(\n fileStorage,\n file.filename\n );\n await fileStorage.copyFile(file.filename, newName);\n }\n\n handleDelete(files: FileStorageItem[]): void {\n const { glEventHub } = this.props;\n files.forEach(file => {\n glEventHub.emit(NotebookEvent.CLOSE_FILE, {\n id: file.filename,\n itemName: file.filename,\n });\n });\n }\n\n handleSelectionChange(selectedItems: FileStorageItem[]): void {\n let path = '/';\n if (selectedItems.length === 1) {\n if (selectedItems[0].type === 'directory') {\n path = FileUtils.makePath(selectedItems[0].filename);\n } else {\n path = FileUtils.getPath(selectedItems[0].filename);\n }\n }\n this.setState({ focusedFilePath: path });\n }\n\n handleFileSelect(file: FileStorageItem, event: React.SyntheticEvent): void {\n log.debug('fileSelect', file);\n if (file.type === 'directory') {\n return;\n }\n\n const shouldFocus = FileExplorerPanel.isFocusEvent(event);\n const fileMetadata = { id: file.filename, itemName: file.filename };\n const { glEventHub } = this.props;\n const { session, language } = this.state;\n const notebookSettings = {\n value: null,\n language,\n };\n glEventHub.emit(\n NotebookEvent.SELECT_NOTEBOOK,\n session,\n language,\n notebookSettings,\n fileMetadata,\n shouldFocus\n );\n }\n\n handleRename(oldName: string, newName: string): void {\n const { glEventHub } = this.props;\n log.debug('handleRename', oldName, newName);\n glEventHub.emit(NotebookEvent.RENAME_FILE, oldName, newName);\n }\n\n handleSessionOpened(\n session: dh.IdeSession,\n { language }: { language: string }\n ): void {\n this.setState({\n session,\n language,\n });\n }\n\n handleSessionClosed(): void {\n this.setState({\n session: undefined,\n language: undefined,\n });\n }\n\n handleShow(): void {\n this.setState({ isShown: true });\n }\n\n isHidden(): boolean {\n const { glContainer } = this.props;\n const { isHidden } = glContainer;\n return isHidden;\n }\n\n render(): ReactNode {\n const { fileStorage, glContainer, glEventHub } = this.props;\n const { isShown, showCreateFolder, focusedFilePath } = this.state;\n return (\n <Panel\n className=\"file-explorer-panel\"\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onSessionOpen={this.handleSessionOpened}\n onSessionClose={this.handleSessionClosed}\n onShow={this.handleShow}\n >\n <FileExplorerToolbar\n createFile={this.handleCreateFile}\n createFolder={this.handleCreateDirectory}\n />\n {isShown && (\n <FileExplorer\n isMultiSelect\n storage={fileStorage}\n onCopy={this.handleCopyFile}\n onCreateFile={this.handleCreateFile}\n onCreateFolder={this.handleCreateDirectory}\n onDelete={this.handleDelete}\n onRename={this.handleRename}\n onSelect={this.handleFileSelect}\n onSelectionChange={this.handleSelectionChange}\n />\n )}\n <NewItemModal\n isOpen={showCreateFolder}\n type=\"directory\"\n title=\"Create New Folder\"\n storage={fileStorage}\n onSubmit={this.handleCreateDirectorySubmit}\n onCancel={this.handleCreateDirectoryCancel}\n defaultValue={focusedFilePath}\n />\n </Panel>\n );\n }\n}\n\nconst ConnectedFileExplorerPanel = connector(FileExplorerPanel);\n\nexport default ConnectedFileExplorerPanel;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FileExplorerPanel.js","names":["Log","getFileStorage","FileExplorer","FileExplorerToolbar","FileUtils","NewItemModal","isDirectory","React","connect","Panel","NotebookEvent","getDashboardSessionWrapper","jsx","_jsx","jsxs","_jsxs","log","module","mapStateToProps","state","ownProps","fileStorage","sessionWrapper","localDashboardId","session","config","sessionConfig","language","type","connector","forwardRef","isMouseEvent","e","mouseEvent","button","FileExplorerPanel","Component","handleError","error","isFocusEvent","event","detail","constructor","props","handleFileSelect","bind","handleCopyFile","handleCreateFile","handleCreateDirectory","handleCreateDirectoryCancel","handleCreateDirectorySubmit","handleDelete","handleRename","handleSessionOpened","handleSessionClosed","handleShow","handleSelectionChange","isShown","showCreateFolder","focusedFilePath","componentDidMount","isHidden","setState","glEventHub","notebookSettings","value","debug","emit","CREATE_NOTEBOOK","path","createDirectory","catch","file","_this","_asyncToGenerator","newName","getUniqueCopyFileName","filename","copyFile","files","forEach","CLOSE_FILE","id","itemName","selectedItems","length","makePath","getPath","shouldFocus","fileMetadata","SELECT_NOTEBOOK","oldName","RENAME_FILE","_ref","undefined","glContainer","render","className","componentPanel","onSessionOpen","onSessionClose","onShow","children","createFile","createFolder","isMultiSelect","storage","onCopy","onCreateFile","onCreateFolder","onDelete","onRename","onSelect","onSelectionChange","isOpen","title","onSubmit","onCancel","defaultValue","_defineProperty","ConnectedFileExplorerPanel"],"sources":["../../src/panels/FileExplorerPanel.tsx"],"sourcesContent":["import { type DashboardPanelProps } from '@deephaven/dashboard';\nimport Log from '@deephaven/log';\nimport { getFileStorage, type RootState } from '@deephaven/redux';\nimport FileExplorer, {\n FileExplorerToolbar,\n type FileStorage,\n type FileStorageItem,\n FileUtils,\n NewItemModal,\n isDirectory,\n} from '@deephaven/file-explorer';\nimport React, { type ReactNode } from 'react';\nimport { connect, type ConnectedProps } from 'react-redux';\nimport type { dh } from '@deephaven/jsapi-types';\nimport Panel from './CorePanel';\nimport { NotebookEvent } from '../events';\nimport { type CoreConsoleSession } from '../ConsoleEvents';\nimport './FileExplorerPanel.scss';\nimport { getDashboardSessionWrapper } from '../redux';\n\nconst log = Log.module('FileExplorerPanel');\n\ntype StateProps = {\n fileStorage: FileStorage;\n language?: string;\n session?: dh.IdeSession;\n};\n\ntype OwnProps = DashboardPanelProps;\n\nconst mapStateToProps = (state: RootState, ownProps: OwnProps): StateProps => {\n const fileStorage = getFileStorage(state);\n const sessionWrapper = getDashboardSessionWrapper(\n state,\n ownProps.localDashboardId\n );\n const { session, config: sessionConfig } = sessionWrapper ?? {};\n const language = sessionConfig?.type;\n\n return {\n fileStorage,\n language,\n session,\n };\n};\n\nconst connector = connect(mapStateToProps, null, null, { forwardRef: true });\n\nexport type FileExplorerPanelProps = OwnProps &\n StateProps &\n ConnectedProps<typeof connector>;\n\nexport type FileExplorerPanelState = {\n isShown: boolean;\n language?: string;\n session?: dh.IdeSession;\n showCreateFolder: boolean;\n focusedFilePath: string;\n};\n\nfunction isMouseEvent<T>(e: React.SyntheticEvent<T>): e is React.MouseEvent<T> {\n const mouseEvent = e as React.MouseEvent<T>;\n return mouseEvent != null && typeof mouseEvent.button === 'number';\n}\n\n/**\n * Panel for showing a FileExplorer in a Dashboard.\n */\nexport class FileExplorerPanel extends React.Component<\n FileExplorerPanelProps,\n FileExplorerPanelState\n> {\n static COMPONENT = 'FileExplorerPanel';\n\n static TITLE = 'File Explorer';\n\n static handleError(error: Error): void {\n log.error(error);\n }\n\n /**\n * Return true if the event should open a file and focus it, otherwise false\n * @param event The event to check\n */\n static isFocusEvent(event: React.SyntheticEvent): boolean {\n if (isMouseEvent(event)) {\n // If it's not a double click, then it's a preview event\n return event.detail >= 2;\n }\n\n // Keyboard event should always open with focus\n return true;\n }\n\n constructor(props: FileExplorerPanelProps) {\n super(props);\n\n this.handleFileSelect = this.handleFileSelect.bind(this);\n this.handleCopyFile = this.handleCopyFile.bind(this);\n this.handleCreateFile = this.handleCreateFile.bind(this);\n this.handleCreateDirectory = this.handleCreateDirectory.bind(this);\n this.handleCreateDirectoryCancel =\n this.handleCreateDirectoryCancel.bind(this);\n this.handleCreateDirectorySubmit =\n this.handleCreateDirectorySubmit.bind(this);\n this.handleDelete = this.handleDelete.bind(this);\n this.handleRename = this.handleRename.bind(this);\n this.handleSessionOpened = this.handleSessionOpened.bind(this);\n this.handleSessionClosed = this.handleSessionClosed.bind(this);\n this.handleShow = this.handleShow.bind(this);\n this.handleSelectionChange = this.handleSelectionChange.bind(this);\n\n const { session, language } = props;\n this.state = {\n isShown: false,\n language,\n session,\n showCreateFolder: false,\n focusedFilePath: '/',\n };\n }\n\n componentDidMount(): void {\n if (!this.isHidden()) {\n this.setState({ isShown: true });\n }\n }\n\n handleCreateFile(): void {\n const { glEventHub } = this.props;\n const { session, language } = this.state;\n const notebookSettings = {\n language,\n value: '',\n };\n log.debug('handleCreateFile', session, language, notebookSettings);\n glEventHub.emit(\n NotebookEvent.CREATE_NOTEBOOK,\n session,\n language,\n notebookSettings\n );\n }\n\n handleCreateDirectory(): void {\n this.setState({ showCreateFolder: true });\n }\n\n handleCreateDirectoryCancel(): void {\n log.debug('handleCreateDirectoryCancel');\n this.setState({\n showCreateFolder: false,\n });\n }\n\n handleCreateDirectorySubmit(path: string): void {\n log.debug('handleCreateDirectorySubmit', path);\n this.setState({ showCreateFolder: false });\n const { fileStorage } = this.props;\n fileStorage.createDirectory(path).catch(FileExplorerPanel.handleError);\n }\n\n async handleCopyFile(file: FileStorageItem): Promise<void> {\n const { fileStorage } = this.props;\n if (isDirectory(file)) {\n log.error('Invalid item in handleCopyItem', file);\n return;\n }\n const newName = await FileUtils.getUniqueCopyFileName(\n fileStorage,\n file.filename\n );\n await fileStorage.copyFile(file.filename, newName);\n }\n\n handleDelete(files: FileStorageItem[]): void {\n const { glEventHub } = this.props;\n files.forEach(file => {\n glEventHub.emit(NotebookEvent.CLOSE_FILE, {\n id: file.filename,\n itemName: file.filename,\n });\n });\n }\n\n handleSelectionChange(selectedItems: FileStorageItem[]): void {\n let path = '/';\n if (selectedItems.length === 1) {\n if (selectedItems[0].type === 'directory') {\n path = FileUtils.makePath(selectedItems[0].filename);\n } else {\n path = FileUtils.getPath(selectedItems[0].filename);\n }\n }\n this.setState({ focusedFilePath: path });\n }\n\n handleFileSelect(file: FileStorageItem, event: React.SyntheticEvent): void {\n log.debug('fileSelect', file);\n if (file.type === 'directory') {\n return;\n }\n\n const shouldFocus = FileExplorerPanel.isFocusEvent(event);\n const fileMetadata = { id: file.filename, itemName: file.filename };\n const { glEventHub } = this.props;\n const { session, language } = this.state;\n const notebookSettings = {\n value: null,\n language,\n };\n glEventHub.emit(\n NotebookEvent.SELECT_NOTEBOOK,\n session,\n language,\n notebookSettings,\n fileMetadata,\n shouldFocus\n );\n }\n\n handleRename(oldName: string, newName: string): void {\n const { glEventHub } = this.props;\n log.debug('handleRename', oldName, newName);\n glEventHub.emit(NotebookEvent.RENAME_FILE, oldName, newName);\n }\n\n handleSessionOpened({ session, language }: CoreConsoleSession): void {\n this.setState({\n session,\n language,\n });\n }\n\n handleSessionClosed(): void {\n this.setState({\n session: undefined,\n language: undefined,\n });\n }\n\n handleShow(): void {\n this.setState({ isShown: true });\n }\n\n isHidden(): boolean {\n const { glContainer } = this.props;\n const { isHidden } = glContainer;\n return isHidden;\n }\n\n render(): ReactNode {\n const { fileStorage, glContainer, glEventHub } = this.props;\n const { isShown, showCreateFolder, focusedFilePath } = this.state;\n return (\n <Panel\n className=\"file-explorer-panel\"\n componentPanel={this}\n glContainer={glContainer}\n glEventHub={glEventHub}\n onSessionOpen={this.handleSessionOpened}\n onSessionClose={this.handleSessionClosed}\n onShow={this.handleShow}\n >\n <FileExplorerToolbar\n createFile={this.handleCreateFile}\n createFolder={this.handleCreateDirectory}\n />\n {isShown && (\n <FileExplorer\n isMultiSelect\n storage={fileStorage}\n onCopy={this.handleCopyFile}\n onCreateFile={this.handleCreateFile}\n onCreateFolder={this.handleCreateDirectory}\n onDelete={this.handleDelete}\n onRename={this.handleRename}\n onSelect={this.handleFileSelect}\n onSelectionChange={this.handleSelectionChange}\n />\n )}\n <NewItemModal\n isOpen={showCreateFolder}\n type=\"directory\"\n title=\"Create New Folder\"\n storage={fileStorage}\n onSubmit={this.handleCreateDirectorySubmit}\n onCancel={this.handleCreateDirectoryCancel}\n defaultValue={focusedFilePath}\n />\n </Panel>\n );\n }\n}\n\nconst ConnectedFileExplorerPanel = connector(FileExplorerPanel);\n\nexport default ConnectedFileExplorerPanel;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,7 @@ import { LogView } from '@deephaven/console';
|
|
|
3
3
|
import type { dh } from '@deephaven/jsapi-types';
|
|
4
4
|
import { type DashboardPanelProps } from '@deephaven/dashboard';
|
|
5
5
|
import './LogPanel.scss';
|
|
6
|
+
import { type CoreConsoleSession } from '../ConsoleEvents';
|
|
6
7
|
interface LogPanelProps extends DashboardPanelProps {
|
|
7
8
|
session?: dh.IdeSession;
|
|
8
9
|
}
|
|
@@ -21,7 +22,7 @@ declare class LogPanel extends PureComponent<LogPanelProps, LogPanelState> {
|
|
|
21
22
|
handleResize(): void;
|
|
22
23
|
handleShow(): void;
|
|
23
24
|
handleHide(): void;
|
|
24
|
-
handleSessionOpened(session:
|
|
25
|
+
handleSessionOpened({ session }: CoreConsoleSession): void;
|
|
25
26
|
handleSessionClosed(session: dh.IdeSession): void;
|
|
26
27
|
updateDimensions(): void;
|
|
27
28
|
render(): JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogPanel.d.ts","sourceRoot":"","sources":["../../src/panels/LogPanel.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAO,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"LogPanel.d.ts","sourceRoot":"","sources":["../../src/panels/LogPanel.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAO,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAK3D,UAAU,aAAc,SAAQ,mBAAmB;IACjD,OAAO,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;CACzB;AAED,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC;CACzB;AAED,cAAM,QAAS,SAAQ,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC;IAChE,MAAM,CAAC,YAAY;;MAEjB;IAEF,MAAM,CAAC,SAAS,SAAc;IAE9B,MAAM,CAAC,KAAK,SAAS;gBAET,KAAK,EAAE,aAAa;IAiBhC,eAAe,EAAE,OAAO,CAAC;IAEzB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAExB,YAAY,IAAI,IAAI;IAIpB,UAAU,IAAI,IAAI;IAWlB,UAAU,IAAI,IAAI;IAMlB,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,kBAAkB,GAAG,IAAI;IAM1D,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI;IAKjD,gBAAgB,IAAI,IAAI;IAMxB,MAAM,IAAI,GAAG,CAAC,OAAO;CA8BtB;AAUD,QAAA,MAAM,iBAAiB;cAnHX,EAAE,CAAC,UAAU;;sBA6GO,MAAM;EAQ1B,CAAC;AAEb,eAAe,iBAAiB,CAAC"}
|
package/dist/panels/LogPanel.js
CHANGED
|
@@ -48,7 +48,10 @@ class LogPanel extends PureComponent {
|
|
|
48
48
|
this.isBottomVisible = this.logView.isBottomVisible();
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
handleSessionOpened(
|
|
51
|
+
handleSessionOpened(_ref) {
|
|
52
|
+
var {
|
|
53
|
+
session
|
|
54
|
+
} = _ref;
|
|
52
55
|
log.debug('Session opened', [session]);
|
|
53
56
|
this.setState({
|
|
54
57
|
session
|