@deephaven/dashboard-core-plugins 1.21.1 → 1.22.1-alpha-pivot-builder.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/ConsoleEvents.d.ts +50 -0
  2. package/dist/ConsoleEvents.d.ts.map +1 -0
  3. package/dist/ConsoleEvents.js +52 -0
  4. package/dist/ConsoleEvents.js.map +1 -0
  5. package/dist/GridWidgetPlugin.d.ts +11 -1
  6. package/dist/GridWidgetPlugin.d.ts.map +1 -1
  7. package/dist/GridWidgetPlugin.js +18 -6
  8. package/dist/GridWidgetPlugin.js.map +1 -1
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/panels/CommandHistoryPanel.d.ts +3 -5
  14. package/dist/panels/CommandHistoryPanel.d.ts.map +1 -1
  15. package/dist/panels/CommandHistoryPanel.js +2 -1
  16. package/dist/panels/CommandHistoryPanel.js.map +1 -1
  17. package/dist/panels/CorePanel.d.ts +2 -4
  18. package/dist/panels/CorePanel.d.ts.map +1 -1
  19. package/dist/panels/CorePanel.js +13 -9
  20. package/dist/panels/CorePanel.js.map +1 -1
  21. package/dist/panels/FileExplorerPanel.d.ts +2 -3
  22. package/dist/panels/FileExplorerPanel.d.ts.map +1 -1
  23. package/dist/panels/FileExplorerPanel.js +2 -1
  24. package/dist/panels/FileExplorerPanel.js.map +1 -1
  25. package/dist/panels/IrisGridPanel.d.ts +28 -6
  26. package/dist/panels/IrisGridPanel.d.ts.map +1 -1
  27. package/dist/panels/IrisGridPanel.js +42 -23
  28. package/dist/panels/IrisGridPanel.js.map +1 -1
  29. package/dist/panels/LogPanel.d.ts +2 -1
  30. package/dist/panels/LogPanel.d.ts.map +1 -1
  31. package/dist/panels/LogPanel.js +4 -1
  32. package/dist/panels/LogPanel.js.map +1 -1
  33. package/dist/panels/NotebookPanel.d.ts +2 -3
  34. package/dist/panels/NotebookPanel.d.ts.map +1 -1
  35. package/dist/panels/NotebookPanel.js +2 -1
  36. package/dist/panels/NotebookPanel.js.map +1 -1
  37. package/dist/useIrisGridModel.d.ts +2 -2
  38. package/dist/useIrisGridModel.d.ts.map +1 -1
  39. package/dist/useIrisGridModel.js +16 -3
  40. package/dist/useIrisGridModel.js.map +1 -1
  41. 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":[]}
@@ -1,5 +1,15 @@
1
1
  import { type WidgetComponentProps } from '@deephaven/plugin';
2
2
  import { type dh as DhType } from '@deephaven/jsapi-types';
3
- export declare function GridWidgetPlugin({ fetch, }: WidgetComponentProps<DhType.Table>): JSX.Element | null;
3
+ import { type IrisGridViewProps, type IrisGridModel, type IrisGridTableOptionsWidgetProps, type IrisGridModelWidgetProps } from '@deephaven/iris-grid';
4
+ export declare function GridWidgetPlugin({ fetch, transformTableOptions, transformModel, irisGridProps, onModelChanged, }: WidgetComponentProps<DhType.Table> & IrisGridTableOptionsWidgetProps & IrisGridModelWidgetProps & {
5
+ /**
6
+ * View-concern overrides (theme, renderer, mouse handlers, metric
7
+ * calculator) forwarded as a single bag to `<IrisGrid>`. Lets a plugin
8
+ * contribute presentation without this host knowing each concern by name.
9
+ */
10
+ irisGridProps?: Partial<IrisGridViewProps>;
11
+ /** Called once the model is built, so middleware can observe it. */
12
+ onModelChanged?: (model: IrisGridModel) => void;
13
+ }): JSX.Element | null;
4
14
  export default GridWidgetPlugin;
5
15
  //# sourceMappingURL=GridWidgetPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GridWidgetPlugin.d.ts","sourceRoot":"","sources":["../src/GridWidgetPlugin.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AA4B3D,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,GACN,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAsJzD;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"GridWidgetPlugin.d.ts","sourceRoot":"","sources":["../src/GridWidgetPlugin.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAOL,KAAK,iBAAiB,EAGtB,KAAK,aAAa,EAClB,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC9B,MAAM,sBAAsB,CAAC;AAkB9B,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,cAAc,GACf,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,GACnC,+BAA+B,GAC/B,wBAAwB,GAAG;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3C,oEAAoE;IACpE,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CACjD,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAgKvB;AAED,eAAe,gBAAgB,CAAC"}
@@ -6,7 +6,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
6
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; }
7
7
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
8
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); }
9
- import { useCallback, useMemo, useRef, useState } from 'react';
9
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
10
10
  import { IrisGrid, IrisGridCacheUtils, IrisGridUtils, isIrisGridTableModelTemplate } from '@deephaven/iris-grid';
11
11
  import { useSelector } from 'react-redux';
12
12
  import { getSettings } from '@deephaven/redux';
@@ -23,14 +23,25 @@ import { jsx as _jsx } from "react/jsx-runtime";
23
23
  export function GridWidgetPlugin(_ref) {
24
24
  var _model$columns;
25
25
  var {
26
- fetch
26
+ fetch,
27
+ transformTableOptions,
28
+ transformModel,
29
+ irisGridProps,
30
+ onModelChanged
27
31
  } = _ref;
28
32
  var settings = useSelector(getSettings);
29
33
  var {
30
34
  eventHub
31
35
  } = useLayoutManager();
32
- var fetchResult = useIrisGridModel(fetch);
36
+ var fetchResult = useIrisGridModel(fetch, transformModel);
33
37
  var model = fetchResult.status === 'success' ? fetchResult.model : undefined;
38
+
39
+ // Notify observers (e.g. middleware) when the built model changes.
40
+ useEffect(() => {
41
+ if (model != null) {
42
+ onModelChanged === null || onModelChanged === void 0 || onModelChanged(model);
43
+ }
44
+ }, [model, onModelChanged]);
34
45
  var dh = useApi();
35
46
  var irisGridUtils = useMemo(() => new IrisGridUtils(dh), [dh]);
36
47
  var [state, setState] = usePersistentState(undefined, {
@@ -96,7 +107,7 @@ export function GridWidgetPlugin(_ref) {
96
107
  });
97
108
  }
98
109
  assertNotNull(model, 'Model should be defined when fetch is successful');
99
- return /*#__PURE__*/_jsx(IrisGrid, _objectSpread(_objectSpread(_objectSpread({
110
+ return /*#__PURE__*/_jsx(IrisGrid, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
100
111
  ref: irisGridRef,
101
112
  model: model,
102
113
  settings: settings,
@@ -104,9 +115,10 @@ export function GridWidgetPlugin(_ref) {
104
115
  onSelectionChanged: setSelection,
105
116
  onContextMenu: onContextMenu,
106
117
  inputFilters: inputFilters,
107
- customFilters: customFilters
118
+ customFilters: customFilters,
119
+ transformTableOptions: transformTableOptions
108
120
  // eslint-disable-next-line react/jsx-props-no-spreading
109
- }, linkerProps), {}, {
121
+ }, irisGridProps), linkerProps), {}, {
110
122
  alwaysFetchColumns: alwaysFetchColumns
111
123
  // eslint-disable-next-line react/jsx-props-no-spreading
112
124
  }, hydratedState), {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"GridWidgetPlugin.js","names":["useCallback","useMemo","useRef","useState","IrisGrid","IrisGridCacheUtils","IrisGridUtils","isIrisGridTableModelTemplate","useSelector","getSettings","LoadingOverlay","useLayoutManager","useListener","usePersistentState","assertNotNull","getErrorMessage","useApi","useIrisGridModel","useDashboardColumnFilters","InputFilterEvent","useGridLinker","useTablePlugin","jsx","_jsx","GridWidgetPlugin","_ref","_model$columns","fetch","settings","eventHub","fetchResult","model","status","undefined","dh","irisGridUtils","state","setState","version","type","initialState","hydratedState","current","_objectSpread","hydrateIrisGridState","hydrateGridState","dehydrateIrisGridState","makeMemoizedCombinedGridStateDehydrator","handleIrisGridChange","irisGridState","gridState","newState","inputFilters","columns","table","irisGridRef","_useGridLinker","alwaysFetchColumns","linkerAlwaysFetchColumns","linkerProps","_objectWithoutProperties","_excluded","handleClearAllFilters","clearAllFilters","CLEAR_ALL_FILTERS","selection","setSelection","Plugin","customFilters","filterFetchColumns","onContextMenu","selectedRanges","columnSet","Set","isLoading","errorMessage","error","ref","onStateChange","onSelectionChanged","children"],"sources":["../src/GridWidgetPlugin.tsx"],"sourcesContent":["import { useCallback, useMemo, useRef, useState } from 'react';\nimport { type WidgetComponentProps } from '@deephaven/plugin';\nimport { type dh as DhType } from '@deephaven/jsapi-types';\nimport {\n type DehydratedGridState,\n type DehydratedIrisGridState,\n IrisGrid,\n IrisGridCacheUtils,\n type IrisGridState,\n type IrisGridType,\n IrisGridUtils,\n isIrisGridTableModelTemplate,\n} from '@deephaven/iris-grid';\nimport { useSelector } from 'react-redux';\nimport { getSettings, type RootState } from '@deephaven/redux';\nimport { LoadingOverlay } from '@deephaven/components';\nimport {\n useLayoutManager,\n useListener,\n usePersistentState,\n} from '@deephaven/dashboard';\nimport { assertNotNull, getErrorMessage } from '@deephaven/utils';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { type GridRange, type GridState } from '@deephaven/grid';\nimport { useIrisGridModel } from './useIrisGridModel';\nimport useDashboardColumnFilters from './useDashboardColumnFilters';\nimport { InputFilterEvent } from './events';\nimport useGridLinker from './useGridLinker';\nimport { useTablePlugin } from './useTablePlugin';\n\nexport function GridWidgetPlugin({\n fetch,\n}: WidgetComponentProps<DhType.Table>): JSX.Element | null {\n const settings = useSelector(getSettings<RootState>);\n const { eventHub } = useLayoutManager();\n\n const fetchResult = useIrisGridModel(fetch);\n const model =\n fetchResult.status === 'success' ? fetchResult.model : undefined;\n\n const dh = useApi();\n const irisGridUtils = useMemo(() => new IrisGridUtils(dh), [dh]);\n\n const [state, setState] = usePersistentState<\n (DehydratedIrisGridState & DehydratedGridState) | undefined\n >(undefined, {\n version: 1,\n type: 'GridWidgetPlugin',\n });\n const initialState = useRef(state);\n const hydratedState = useMemo(() => {\n if (\n fetchResult.status !== 'success' ||\n initialState.current === undefined\n ) {\n return;\n }\n return {\n ...irisGridUtils.hydrateIrisGridState(\n fetchResult.model,\n initialState.current\n ),\n ...IrisGridUtils.hydrateGridState(\n fetchResult.model,\n initialState.current\n ),\n };\n }, [fetchResult, irisGridUtils]);\n\n const dehydrateIrisGridState = useMemo(\n () => IrisGridCacheUtils.makeMemoizedCombinedGridStateDehydrator(),\n []\n );\n\n const handleIrisGridChange = useCallback(\n (irisGridState: IrisGridState, gridState: GridState) => {\n if (\n fetchResult.status !== 'success' ||\n irisGridState == null ||\n gridState == null\n ) {\n return;\n }\n\n const newState = dehydrateIrisGridState(\n fetchResult.model,\n irisGridState,\n gridState\n );\n\n setState(newState);\n },\n [fetchResult, setState, dehydrateIrisGridState]\n );\n\n const inputFilters = useDashboardColumnFilters(\n model?.columns ?? null,\n model != null && isIrisGridTableModelTemplate(model)\n ? model.table\n : undefined\n );\n\n const irisGridRef = useRef<IrisGridType | null>(null);\n\n const { alwaysFetchColumns: linkerAlwaysFetchColumns, ...linkerProps } =\n useGridLinker(\n fetchResult.status === 'success' ? fetchResult.model : null,\n irisGridRef.current\n );\n\n const handleClearAllFilters = useCallback(() => {\n if (irisGridRef.current == null) {\n return;\n }\n irisGridRef.current.clearAllFilters();\n }, []);\n\n useListener(\n eventHub,\n InputFilterEvent.CLEAR_ALL_FILTERS,\n handleClearAllFilters\n );\n\n const [selection, setSelection] = useState<readonly GridRange[]>([]);\n\n const {\n Plugin,\n customFilters,\n alwaysFetchColumns: filterFetchColumns,\n onContextMenu,\n } = useTablePlugin({\n model,\n irisGridRef,\n irisGridUtils,\n selectedRanges: selection,\n });\n\n const alwaysFetchColumns = useMemo(() => {\n const columnSet = new Set([\n ...linkerAlwaysFetchColumns,\n ...filterFetchColumns,\n ]);\n return [...columnSet];\n }, [linkerAlwaysFetchColumns, filterFetchColumns]);\n\n if (fetchResult.status === 'loading') {\n return (\n <LoadingOverlay isLoading data-testid=\"grid-widget-plugin-loading\" />\n );\n }\n\n if (fetchResult.status === 'error') {\n return (\n <LoadingOverlay\n data-testid=\"grid-widget-plugin-loading-error\"\n errorMessage={getErrorMessage(fetchResult.error)}\n isLoading={false}\n />\n );\n }\n\n assertNotNull(model, 'Model should be defined when fetch is successful');\n\n return (\n <IrisGrid\n ref={irisGridRef}\n model={model}\n settings={settings}\n onStateChange={handleIrisGridChange}\n onSelectionChanged={setSelection}\n onContextMenu={onContextMenu}\n inputFilters={inputFilters}\n customFilters={customFilters}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...linkerProps}\n alwaysFetchColumns={alwaysFetchColumns}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...hydratedState}\n >\n {Plugin}\n </IrisGrid>\n );\n}\n\nexport default GridWidgetPlugin;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"GridWidgetPlugin.js","names":["useCallback","useEffect","useMemo","useRef","useState","IrisGrid","IrisGridCacheUtils","IrisGridUtils","isIrisGridTableModelTemplate","useSelector","getSettings","LoadingOverlay","useLayoutManager","useListener","usePersistentState","assertNotNull","getErrorMessage","useApi","useIrisGridModel","useDashboardColumnFilters","InputFilterEvent","useGridLinker","useTablePlugin","jsx","_jsx","GridWidgetPlugin","_ref","_model$columns","fetch","transformTableOptions","transformModel","irisGridProps","onModelChanged","settings","eventHub","fetchResult","model","status","undefined","dh","irisGridUtils","state","setState","version","type","initialState","hydratedState","current","_objectSpread","hydrateIrisGridState","hydrateGridState","dehydrateIrisGridState","makeMemoizedCombinedGridStateDehydrator","handleIrisGridChange","irisGridState","gridState","newState","inputFilters","columns","table","irisGridRef","_useGridLinker","alwaysFetchColumns","linkerAlwaysFetchColumns","linkerProps","_objectWithoutProperties","_excluded","handleClearAllFilters","clearAllFilters","CLEAR_ALL_FILTERS","selection","setSelection","Plugin","customFilters","filterFetchColumns","onContextMenu","selectedRanges","columnSet","Set","isLoading","errorMessage","error","ref","onStateChange","onSelectionChanged","children"],"sources":["../src/GridWidgetPlugin.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { type WidgetComponentProps } from '@deephaven/plugin';\nimport { type dh as DhType } from '@deephaven/jsapi-types';\nimport {\n type DehydratedGridState,\n type DehydratedIrisGridState,\n IrisGrid,\n IrisGridCacheUtils,\n type IrisGridState,\n type IrisGridType,\n type IrisGridViewProps,\n IrisGridUtils,\n isIrisGridTableModelTemplate,\n type IrisGridModel,\n type IrisGridTableOptionsWidgetProps,\n type IrisGridModelWidgetProps,\n} from '@deephaven/iris-grid';\nimport { useSelector } from 'react-redux';\nimport { getSettings, type RootState } from '@deephaven/redux';\nimport { LoadingOverlay } from '@deephaven/components';\nimport {\n useLayoutManager,\n useListener,\n usePersistentState,\n} from '@deephaven/dashboard';\nimport { assertNotNull, getErrorMessage } from '@deephaven/utils';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\nimport { type GridRange, type GridState } from '@deephaven/grid';\nimport { useIrisGridModel } from './useIrisGridModel';\nimport useDashboardColumnFilters from './useDashboardColumnFilters';\nimport { InputFilterEvent } from './events';\nimport useGridLinker from './useGridLinker';\nimport { useTablePlugin } from './useTablePlugin';\n\nexport function GridWidgetPlugin({\n fetch,\n transformTableOptions,\n transformModel,\n irisGridProps,\n onModelChanged,\n}: WidgetComponentProps<DhType.Table> &\n IrisGridTableOptionsWidgetProps &\n IrisGridModelWidgetProps & {\n /**\n * View-concern overrides (theme, renderer, mouse handlers, metric\n * calculator) forwarded as a single bag to `<IrisGrid>`. Lets a plugin\n * contribute presentation without this host knowing each concern by name.\n */\n irisGridProps?: Partial<IrisGridViewProps>;\n /** Called once the model is built, so middleware can observe it. */\n onModelChanged?: (model: IrisGridModel) => void;\n }): JSX.Element | null {\n const settings = useSelector(getSettings<RootState>);\n const { eventHub } = useLayoutManager();\n\n const fetchResult = useIrisGridModel(fetch, transformModel);\n const model =\n fetchResult.status === 'success' ? fetchResult.model : undefined;\n\n // Notify observers (e.g. middleware) when the built model changes.\n useEffect(() => {\n if (model != null) {\n onModelChanged?.(model);\n }\n }, [model, onModelChanged]);\n\n const dh = useApi();\n const irisGridUtils = useMemo(() => new IrisGridUtils(dh), [dh]);\n\n const [state, setState] = usePersistentState<\n (DehydratedIrisGridState & DehydratedGridState) | undefined\n >(undefined, {\n version: 1,\n type: 'GridWidgetPlugin',\n });\n const initialState = useRef(state);\n const hydratedState = useMemo(() => {\n if (\n fetchResult.status !== 'success' ||\n initialState.current === undefined\n ) {\n return;\n }\n return {\n ...irisGridUtils.hydrateIrisGridState(\n fetchResult.model,\n initialState.current\n ),\n ...IrisGridUtils.hydrateGridState(\n fetchResult.model,\n initialState.current\n ),\n };\n }, [fetchResult, irisGridUtils]);\n\n const dehydrateIrisGridState = useMemo(\n () => IrisGridCacheUtils.makeMemoizedCombinedGridStateDehydrator(),\n []\n );\n\n const handleIrisGridChange = useCallback(\n (irisGridState: IrisGridState, gridState: GridState) => {\n if (\n fetchResult.status !== 'success' ||\n irisGridState == null ||\n gridState == null\n ) {\n return;\n }\n\n const newState = dehydrateIrisGridState(\n fetchResult.model,\n irisGridState,\n gridState\n );\n\n setState(newState);\n },\n [fetchResult, setState, dehydrateIrisGridState]\n );\n\n const inputFilters = useDashboardColumnFilters(\n model?.columns ?? null,\n model != null && isIrisGridTableModelTemplate(model)\n ? model.table\n : undefined\n );\n\n const irisGridRef = useRef<IrisGridType | null>(null);\n\n const { alwaysFetchColumns: linkerAlwaysFetchColumns, ...linkerProps } =\n useGridLinker(\n fetchResult.status === 'success' ? fetchResult.model : null,\n irisGridRef.current\n );\n\n const handleClearAllFilters = useCallback(() => {\n if (irisGridRef.current == null) {\n return;\n }\n irisGridRef.current.clearAllFilters();\n }, []);\n\n useListener(\n eventHub,\n InputFilterEvent.CLEAR_ALL_FILTERS,\n handleClearAllFilters\n );\n\n const [selection, setSelection] = useState<readonly GridRange[]>([]);\n\n const {\n Plugin,\n customFilters,\n alwaysFetchColumns: filterFetchColumns,\n onContextMenu,\n } = useTablePlugin({\n model,\n irisGridRef,\n irisGridUtils,\n selectedRanges: selection,\n });\n\n const alwaysFetchColumns = useMemo(() => {\n const columnSet = new Set([\n ...linkerAlwaysFetchColumns,\n ...filterFetchColumns,\n ]);\n return [...columnSet];\n }, [linkerAlwaysFetchColumns, filterFetchColumns]);\n\n if (fetchResult.status === 'loading') {\n return (\n <LoadingOverlay isLoading data-testid=\"grid-widget-plugin-loading\" />\n );\n }\n\n if (fetchResult.status === 'error') {\n return (\n <LoadingOverlay\n data-testid=\"grid-widget-plugin-loading-error\"\n errorMessage={getErrorMessage(fetchResult.error)}\n isLoading={false}\n />\n );\n }\n\n assertNotNull(model, 'Model should be defined when fetch is successful');\n\n return (\n <IrisGrid\n ref={irisGridRef}\n model={model}\n settings={settings}\n onStateChange={handleIrisGridChange}\n onSelectionChanged={setSelection}\n onContextMenu={onContextMenu}\n inputFilters={inputFilters}\n customFilters={customFilters}\n transformTableOptions={transformTableOptions}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...irisGridProps}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...linkerProps}\n alwaysFetchColumns={alwaysFetchColumns}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...hydratedState}\n >\n {Plugin}\n </IrisGrid>\n );\n}\n\nexport default GridWidgetPlugin;\n"],"mappings":"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","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';
@@ -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: dh.IdeSession, { language, sessionId }: {
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" | "sessionId" | "session" | "commandHistoryStorage"> & {
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,CACjB,OAAO,EAAE,EAAE,CAAC,UAAU,EACtB,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAC/D,IAAI;IAaP,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"}
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(session, _ref) {
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: dh.IdeSession, { language, sessionId }: {
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;AAGjD,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,CACd,OAAO,EAAE,EAAE,CAAC,UAAU,EACtB,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAC7D,IAAI,CAAC;CACX,CAAC;AA8DF,QAAA,MAAM,UAAU,gEAA8B,CAAC;AAE/C,eAAe,UAAU,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"}
@@ -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 { ConsoleEvent, InputFilterEvent } from "../events/index.js";
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
- glEventHub.on(ConsoleEvent.SESSION_CLOSED, this.handleSessionClosed);
29
- glEventHub.on(ConsoleEvent.SESSION_OPENED, this.handleSessionOpened);
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
- glEventHub.off(ConsoleEvent.SESSION_CLOSED, this.handleSessionClosed);
37
- glEventHub.off(ConsoleEvent.SESSION_OPENED, this.handleSessionOpened);
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, params) {
59
+ handleSessionOpened(session) {
56
60
  var {
57
61
  onSessionOpen
58
62
  } = this.props;
59
- onSessionOpen === null || onSessionOpen === void 0 || onSessionOpen(session, params);
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","ConsoleEvent","InputFilterEvent","jsx","_jsx","CorePanel","constructor","props","handleClearAllFilters","bind","handleSessionClosed","handleSessionOpened","componentDidMount","glEventHub","on","SESSION_CLOSED","SESSION_OPENED","CLEAR_ALL_FILTERS","componentWillUnmount","off","onClearAllFilters","_len","arguments","length","args","Array","_key","session","onSessionClose","params","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 { ConsoleEvent, InputFilterEvent } from '../events';\n\nexport type CorePanelProps = BasePanelProps & {\n onClearAllFilters?: (...args: unknown[]) => void;\n onSessionClose?: (session: dh.IdeSession) => void;\n onSessionOpen?: (\n session: dh.IdeSession,\n { language, sessionId }: { language: string; sessionId: string }\n ) => 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 glEventHub.on(ConsoleEvent.SESSION_CLOSED, this.handleSessionClosed);\n glEventHub.on(ConsoleEvent.SESSION_OPENED, this.handleSessionOpened);\n glEventHub.on(\n InputFilterEvent.CLEAR_ALL_FILTERS,\n this.handleClearAllFilters\n );\n }\n\n componentWillUnmount(): void {\n const { glEventHub } = this.props;\n\n glEventHub.off(ConsoleEvent.SESSION_CLOSED, this.handleSessionClosed);\n glEventHub.off(ConsoleEvent.SESSION_OPENED, this.handleSessionOpened);\n glEventHub.off(\n InputFilterEvent.CLEAR_ALL_FILTERS,\n this.handleClearAllFilters\n );\n }\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(\n session: dh.IdeSession,\n params: { language: string; sessionId: string }\n ): void {\n const { onSessionOpen } = this.props;\n onSessionOpen?.(session, params);\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":[]}
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: dh.IdeSession, { language }: {
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,CACjB,OAAO,EAAE,EAAE,CAAC,UAAU,EACtB,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GACjC,IAAI;IAOP,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"}
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(session, _ref) {
197
+ handleSessionOpened(_ref) {
198
198
  var {
199
+ session,
199
200
  language
200
201
  } = _ref;
201
202
  this.setState({