@deephaven/dashboard-core-plugins 0.5.2-matplotlib.2 → 0.6.1-fixed-deps.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ChartPlugin.js +25 -22
- package/dist/ChartPlugin.js.map +1 -1
- package/dist/ConsolePlugin.d.ts.map +1 -1
- package/dist/ConsolePlugin.js +130 -134
- package/dist/ConsolePlugin.js.map +1 -1
- package/dist/FilterPlugin.d.ts.map +1 -1
- package/dist/FilterPlugin.js +114 -116
- package/dist/FilterPlugin.js.map +1 -1
- package/dist/GridPlugin.js +29 -26
- package/dist/GridPlugin.js.map +1 -1
- package/dist/LinkerPlugin.js +7 -5
- package/dist/LinkerPlugin.js.map +1 -1
- package/dist/MarkdownPlugin.js +44 -45
- package/dist/MarkdownPlugin.js.map +1 -1
- package/dist/PandasPlugin.d.ts +5 -2
- package/dist/PandasPlugin.d.ts.map +1 -1
- package/dist/PandasPlugin.js +12 -12
- package/dist/PandasPlugin.js.map +1 -1
- package/dist/controls/ControlType.d.ts +1 -0
- package/dist/controls/ControlType.d.ts.map +1 -1
- package/dist/controls/ControlType.js +3 -5
- package/dist/controls/ControlType.js.map +1 -1
- package/dist/controls/dropdown-filter/DropdownFilter.d.ts +6 -0
- package/dist/controls/dropdown-filter/DropdownFilter.d.ts.map +1 -1
- package/dist/controls/dropdown-filter/DropdownFilter.js +356 -394
- package/dist/controls/dropdown-filter/DropdownFilter.js.map +1 -1
- package/dist/controls/input-filter/InputFilter.d.ts +6 -0
- package/dist/controls/input-filter/InputFilter.d.ts.map +1 -1
- package/dist/controls/input-filter/InputFilter.js +256 -270
- package/dist/controls/input-filter/InputFilter.js.map +1 -1
- package/dist/controls/markdown/MarkdownContainer.js +18 -56
- package/dist/controls/markdown/MarkdownContainer.js.map +1 -1
- package/dist/controls/markdown/MarkdownEditor.js +36 -75
- package/dist/controls/markdown/MarkdownEditor.js.map +1 -1
- package/dist/controls/markdown/MarkdownStartPage.js +93 -133
- package/dist/controls/markdown/MarkdownStartPage.js.map +1 -1
- package/dist/controls/markdown/MarkdownUtils.js +17 -32
- package/dist/controls/markdown/MarkdownUtils.js.map +1 -1
- package/dist/events/ChartEvent.js +1 -5
- package/dist/events/ChartEvent.js.map +1 -1
- package/dist/events/ConsoleEvent.js +1 -5
- package/dist/events/ConsoleEvent.js.map +1 -1
- package/dist/events/ControlEvent.js +1 -5
- package/dist/events/ControlEvent.js.map +1 -1
- package/dist/events/InputFilterEvent.d.ts +2 -0
- package/dist/events/InputFilterEvent.d.ts.map +1 -1
- package/dist/events/InputFilterEvent.js +3 -5
- package/dist/events/InputFilterEvent.js.map +1 -1
- package/dist/events/IrisGridEvent.js +1 -5
- package/dist/events/IrisGridEvent.js.map +1 -1
- package/dist/events/NotebookEvent.js +1 -5
- package/dist/events/NotebookEvent.js.map +1 -1
- package/dist/events/PQEvent.js +1 -5
- package/dist/events/PQEvent.js.map +1 -1
- package/dist/events/PandasEvent.js +1 -5
- package/dist/events/PandasEvent.js.map +1 -1
- package/dist/events/TabEvent.js +1 -5
- package/dist/events/TabEvent.js.map +1 -1
- package/dist/events/index.d.ts +0 -1
- package/dist/events/index.js +9 -10
- package/dist/events/index.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -11
- package/dist/index.js.map +1 -1
- package/dist/linker/Linker.d.ts +1 -1
- package/dist/linker/Linker.js +594 -606
- package/dist/linker/Linker.js.map +1 -1
- package/dist/linker/LinkerLink.js +92 -126
- package/dist/linker/LinkerLink.js.map +1 -1
- package/dist/linker/LinkerOverlayContent.js +162 -220
- package/dist/linker/LinkerOverlayContent.js.map +1 -1
- package/dist/linker/LinkerUtils.js +105 -114
- package/dist/linker/LinkerUtils.js.map +1 -1
- package/dist/panels/ChartColumnSelectorOverlay.js +19 -25
- package/dist/panels/ChartColumnSelectorOverlay.js.map +1 -1
- package/dist/panels/ChartFilterOverlay.js +18 -24
- package/dist/panels/ChartFilterOverlay.js.map +1 -1
- package/dist/panels/ChartPanel.d.ts +3 -0
- package/dist/panels/ChartPanel.d.ts.map +1 -1
- package/dist/panels/ChartPanel.js +839 -873
- package/dist/panels/ChartPanel.js.map +1 -1
- package/dist/panels/CommandHistoryPanel.d.ts.map +1 -1
- package/dist/panels/CommandHistoryPanel.js +160 -186
- package/dist/panels/CommandHistoryPanel.js.map +1 -1
- package/dist/panels/ConsolePanel.d.ts +1 -1
- package/dist/panels/ConsolePanel.d.ts.map +1 -1
- package/dist/panels/ConsolePanel.js +327 -374
- package/dist/panels/ConsolePanel.js.map +1 -1
- package/dist/panels/DropdownFilterPanel.d.ts +6 -0
- package/dist/panels/DropdownFilterPanel.d.ts.map +1 -1
- package/dist/panels/DropdownFilterPanel.js +537 -566
- package/dist/panels/DropdownFilterPanel.js.map +1 -1
- package/dist/panels/FileExplorerPanel.d.ts +6 -1
- package/dist/panels/FileExplorerPanel.d.ts.map +1 -1
- package/dist/panels/FileExplorerPanel.js +208 -210
- package/dist/panels/FileExplorerPanel.js.map +1 -1
- package/dist/panels/FilterSetManager.css +111 -0
- package/dist/panels/FilterSetManager.css.map +1 -0
- package/dist/panels/FilterSetManager.d.ts +66 -0
- package/dist/panels/FilterSetManager.d.ts.map +1 -0
- package/dist/panels/FilterSetManager.js +732 -0
- package/dist/panels/FilterSetManager.js.map +1 -0
- package/dist/panels/FilterSetManagerPanel.css +33 -0
- package/dist/panels/FilterSetManagerPanel.css.map +1 -0
- package/dist/panels/FilterSetManagerPanel.d.ts +69 -0
- package/dist/panels/FilterSetManagerPanel.d.ts.map +1 -0
- package/dist/panels/FilterSetManagerPanel.js +383 -0
- package/dist/panels/FilterSetManagerPanel.js.map +1 -0
- package/dist/panels/InputFilterPanel.d.ts +7 -0
- package/dist/panels/InputFilterPanel.d.ts.map +1 -1
- package/dist/panels/InputFilterPanel.js +198 -206
- package/dist/panels/InputFilterPanel.js.map +1 -1
- package/dist/panels/IrisGridPanel.d.ts +11 -3
- package/dist/panels/IrisGridPanel.d.ts.map +1 -1
- package/dist/panels/IrisGridPanel.js +779 -771
- package/dist/panels/IrisGridPanel.js.map +1 -1
- package/dist/panels/LogPanel.js +80 -116
- package/dist/panels/LogPanel.js.map +1 -1
- package/dist/panels/MarkdownPanel.js +165 -199
- package/dist/panels/MarkdownPanel.js.map +1 -1
- package/dist/panels/NotebookPanel.d.ts +3 -1
- package/dist/panels/NotebookPanel.d.ts.map +1 -1
- package/dist/panels/NotebookPanel.js +870 -862
- package/dist/panels/NotebookPanel.js.map +1 -1
- package/dist/panels/PandasPanel.js +56 -90
- package/dist/panels/PandasPanel.js.map +1 -1
- package/dist/panels/Panel.js +282 -313
- package/dist/panels/Panel.js.map +1 -1
- package/dist/panels/PanelContextMenu.js +107 -158
- package/dist/panels/PanelContextMenu.js.map +1 -1
- package/dist/panels/RenameDialog.js +144 -172
- package/dist/panels/RenameDialog.js.map +1 -1
- package/dist/panels/Shortcuts.js +1 -1
- package/dist/panels/Shortcuts.js.map +1 -1
- package/dist/panels/WidgetPanel.js +133 -163
- package/dist/panels/WidgetPanel.js.map +1 -1
- package/dist/panels/WidgetPanelTooltip.js +7 -5
- package/dist/panels/WidgetPanelTooltip.js.map +1 -1
- package/dist/panels/index.d.ts +1 -1
- package/dist/panels/index.js +16 -16
- package/dist/panels/index.js.map +1 -1
- package/dist/prop-types/CommonPropTypes.js +4 -8
- package/dist/prop-types/CommonPropTypes.js.map +1 -1
- package/dist/prop-types/UIPropTypes.js +6 -6
- package/dist/prop-types/UIPropTypes.js.map +1 -1
- package/dist/prop-types/index.js +2 -2
- package/dist/prop-types/index.js.map +1 -1
- package/dist/redux/actions.d.ts +1 -0
- package/dist/redux/actions.d.ts.map +1 -1
- package/dist/redux/actions.js +33 -54
- package/dist/redux/actions.js.map +1 -1
- package/dist/redux/index.js +6 -21
- package/dist/redux/index.js.map +1 -1
- package/dist/redux/reducers/index.js +2 -2
- package/dist/redux/reducers/index.js.map +1 -1
- package/dist/redux/reducers/sessionWrapper.js +1 -1
- package/dist/redux/reducers/sessionWrapper.js.map +1 -1
- package/dist/redux/selectors.d.ts +1 -0
- package/dist/redux/selectors.d.ts.map +1 -1
- package/dist/redux/selectors.js +22 -18
- package/dist/redux/selectors.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +27 -54
- package/dist/MatPlotLibPlugin.d.ts +0 -5
- package/dist/MatPlotLibPlugin.d.ts.map +0 -1
- package/dist/MatPlotLibPlugin.js +0 -45
- package/dist/MatPlotLibPlugin.js.map +0 -1
- package/dist/events/MatPlotLibEvent.d.ts +0 -5
- package/dist/events/MatPlotLibEvent.d.ts.map +0 -1
- package/dist/events/MatPlotLibEvent.js +0 -12
- package/dist/events/MatPlotLibEvent.js.map +0 -1
- package/dist/panels/MatPlotLibPanel.d.ts +0 -22
- package/dist/panels/MatPlotLibPanel.d.ts.map +0 -1
- package/dist/panels/MatPlotLibPanel.js +0 -123
- package/dist/panels/MatPlotLibPanel.js.map +0 -1
package/dist/ChartPlugin.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import React, { useCallback, useEffect } from 'react';
|
|
2
2
|
import { DashboardUtils, LayoutUtils, useListener } from '@deephaven/dashboard';
|
|
3
3
|
import shortid from 'shortid';
|
|
4
|
-
import { ChartPanel } from
|
|
5
|
-
import { ChartEvent } from
|
|
6
|
-
export var ChartPlugin =
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
import { ChartPanel } from "./panels/index.js";
|
|
5
|
+
import { ChartEvent } from "./events/index.js";
|
|
6
|
+
export var ChartPlugin = (_ref) => {
|
|
7
|
+
var {
|
|
8
|
+
id,
|
|
9
|
+
layout,
|
|
10
|
+
registerComponent,
|
|
11
|
+
hydrate = DashboardUtils.hydrate
|
|
12
|
+
} = _ref;
|
|
12
13
|
var handleOpen = useCallback(function (title, makeModel) {
|
|
13
14
|
var metadata = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
14
15
|
var panelId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : shortid.generate();
|
|
@@ -19,33 +20,35 @@ export var ChartPlugin = function ChartPlugin(_ref) {
|
|
|
19
20
|
props: {
|
|
20
21
|
localDashboardId: id,
|
|
21
22
|
id: panelId,
|
|
22
|
-
metadata
|
|
23
|
-
makeModel
|
|
23
|
+
metadata,
|
|
24
|
+
makeModel
|
|
24
25
|
},
|
|
25
|
-
title
|
|
26
|
+
title,
|
|
26
27
|
id: panelId
|
|
27
28
|
};
|
|
28
|
-
var
|
|
29
|
+
var {
|
|
30
|
+
root
|
|
31
|
+
} = layout;
|
|
29
32
|
LayoutUtils.openComponent({
|
|
30
|
-
root
|
|
31
|
-
config
|
|
32
|
-
dragEvent
|
|
33
|
+
root,
|
|
34
|
+
config,
|
|
35
|
+
dragEvent
|
|
33
36
|
});
|
|
34
37
|
}, [id, layout]);
|
|
35
|
-
var handleClose = useCallback(
|
|
38
|
+
var handleClose = useCallback(panelId => {
|
|
36
39
|
var config = {
|
|
37
40
|
component: ChartPanel.COMPONENT,
|
|
38
41
|
id: panelId
|
|
39
42
|
};
|
|
40
|
-
var
|
|
43
|
+
var {
|
|
44
|
+
root
|
|
45
|
+
} = layout;
|
|
41
46
|
LayoutUtils.closeComponent(root, config);
|
|
42
47
|
}, [layout]);
|
|
43
|
-
useEffect(
|
|
48
|
+
useEffect(() => {
|
|
44
49
|
var cleanups = [registerComponent(ChartPanel.COMPONENT, ChartPanel, hydrate)];
|
|
45
|
-
return
|
|
46
|
-
cleanups.forEach(
|
|
47
|
-
return cleanup();
|
|
48
|
-
});
|
|
50
|
+
return () => {
|
|
51
|
+
cleanups.forEach(cleanup => cleanup());
|
|
49
52
|
};
|
|
50
53
|
}, [hydrate, registerComponent]);
|
|
51
54
|
useListener(layout.eventHub, ChartEvent.OPEN, handleOpen);
|
package/dist/ChartPlugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ChartPlugin.tsx"],"names":["React","useCallback","useEffect","DashboardUtils","LayoutUtils","useListener","shortid","ChartPanel","ChartEvent","ChartPlugin","id","layout","registerComponent","hydrate","handleOpen","title","makeModel","metadata","panelId","generate","dragEvent","config","type","component","COMPONENT","props","localDashboardId","root","openComponent","handleClose","closeComponent","cleanups","forEach","cleanup","eventHub","OPEN","CLOSE"],"mappings":"AAAA,OAAOA,KAAP,IAA0CC,WAA1C,EAAuDC,SAAvD,QAAwE,OAAxE;AAEA,SAEEC,cAFF,EAGEC,WAHF,EAKEC,WALF,QAMO,sBANP;AAOA,OAAOC,OAAP,MAAoB,SAApB;
|
|
1
|
+
{"version":3,"sources":["../src/ChartPlugin.tsx"],"names":["React","useCallback","useEffect","DashboardUtils","LayoutUtils","useListener","shortid","ChartPanel","ChartEvent","ChartPlugin","id","layout","registerComponent","hydrate","handleOpen","title","makeModel","metadata","panelId","generate","dragEvent","config","type","component","COMPONENT","props","localDashboardId","root","openComponent","handleClose","closeComponent","cleanups","forEach","cleanup","eventHub","OPEN","CLOSE"],"mappings":"AAAA,OAAOA,KAAP,IAA0CC,WAA1C,EAAuDC,SAAvD,QAAwE,OAAxE;AAEA,SAEEC,cAFF,EAGEC,WAHF,EAKEC,WALF,QAMO,sBANP;AAOA,OAAOC,OAAP,MAAoB,SAApB;SACSC,U;SACAC,U;AAMT,OAAO,IAAMC,WAAW,GAAG,UAKmB;AAAA,MALlB;AAC1BC,IAAAA,EAD0B;AAE1BC,IAAAA,MAF0B;AAG1BC,IAAAA,iBAH0B;AAI1BC,IAAAA,OAAO,GAAGV,cAAc,CAACU;AAJC,GAKkB;AAC5C,MAAMC,UAAU,GAAGb,WAAW,CAC5B,UACEc,KADF,EAEEC,SAFF,EAMK;AAAA,QAHHC,QAGG,uEAHiC,EAGjC;AAAA,QAFHC,OAEG,uEAFOZ,OAAO,CAACa,QAAR,EAEP;AAAA,QADHC,SACG;AACH,QAAMC,MAAM,GAAG;AACbC,MAAAA,IAAI,EAAE,iBADO;AAEbC,MAAAA,SAAS,EAAEhB,UAAU,CAACiB,SAFT;AAGbC,MAAAA,KAAK,EAAE;AACLC,QAAAA,gBAAgB,EAAEhB,EADb;AAELA,QAAAA,EAAE,EAAEQ,OAFC;AAGLD,QAAAA,QAHK;AAILD,QAAAA;AAJK,OAHM;AASbD,MAAAA,KATa;AAUbL,MAAAA,EAAE,EAAEQ;AAVS,KAAf;AAaA,QAAM;AAAES,MAAAA;AAAF,QAAWhB,MAAjB;AACAP,IAAAA,WAAW,CAACwB,aAAZ,CAA0B;AAAED,MAAAA,IAAF;AAAQN,MAAAA,MAAR;AAAgBD,MAAAA;AAAhB,KAA1B;AACD,GAvB2B,EAwB5B,CAACV,EAAD,EAAKC,MAAL,CAxB4B,CAA9B;AA2BA,MAAMkB,WAAW,GAAG5B,WAAW,CAC5BiB,OAAD,IAAqB;AACnB,QAAMG,MAAM,GAAG;AAAEE,MAAAA,SAAS,EAAEhB,UAAU,CAACiB,SAAxB;AAAmCd,MAAAA,EAAE,EAAEQ;AAAvC,KAAf;AACA,QAAM;AAAES,MAAAA;AAAF,QAAWhB,MAAjB;AACAP,IAAAA,WAAW,CAAC0B,cAAZ,CAA2BH,IAA3B,EAAiCN,MAAjC;AACD,GAL4B,EAM7B,CAACV,MAAD,CAN6B,CAA/B;AASAT,EAAAA,SAAS,CAAC,MAAM;AACd,QAAM6B,QAAQ,GAAG,CACfnB,iBAAiB,CACfL,UAAU,CAACiB,SADI,EAEdjB,UAFc,EAGfM,OAHe,CADF,CAAjB;AAOA,WAAO,MAAM;AACXkB,MAAAA,QAAQ,CAACC,OAAT,CAAiBC,OAAO,IAAIA,OAAO,EAAnC;AACD,KAFD;AAGD,GAXQ,EAWN,CAACpB,OAAD,EAAUD,iBAAV,CAXM,CAAT;AAaAP,EAAAA,WAAW,CAACM,MAAM,CAACuB,QAAR,EAAkB1B,UAAU,CAAC2B,IAA7B,EAAmCrB,UAAnC,CAAX;AACAT,EAAAA,WAAW,CAACM,MAAM,CAACuB,QAAR,EAAkB1B,UAAU,CAAC4B,KAA7B,EAAoCP,WAApC,CAAX;AAEA,sBAAO,yCAAP;AACD,CA3DM;AA6DP,eAAepB,WAAf","sourcesContent":["import React, { ComponentType, DragEvent, useCallback, useEffect } from 'react';\nimport { ChartModel } from '@deephaven/chart';\nimport {\n DashboardPluginComponentProps,\n DashboardUtils,\n LayoutUtils,\n PanelHydrateFunction,\n useListener,\n} from '@deephaven/dashboard';\nimport shortid from 'shortid';\nimport { ChartPanel } from './panels';\nimport { ChartEvent } from './events';\n\nexport type ChartPluginComponentProps = DashboardPluginComponentProps & {\n hydrate: PanelHydrateFunction;\n};\n\nexport const ChartPlugin = ({\n id,\n layout,\n registerComponent,\n hydrate = DashboardUtils.hydrate,\n}: ChartPluginComponentProps): JSX.Element => {\n const handleOpen = useCallback(\n (\n title: string,\n makeModel: () => ChartModel,\n metadata: Record<string, unknown> = {},\n panelId = shortid.generate(),\n dragEvent?: DragEvent\n ) => {\n const config = {\n type: 'react-component',\n component: ChartPanel.COMPONENT,\n props: {\n localDashboardId: id,\n id: panelId,\n metadata,\n makeModel,\n },\n title,\n id: panelId,\n };\n\n const { root } = layout;\n LayoutUtils.openComponent({ root, config, dragEvent });\n },\n [id, layout]\n );\n\n const handleClose = useCallback(\n (panelId: string) => {\n const config = { component: ChartPanel.COMPONENT, id: panelId };\n const { root } = layout;\n LayoutUtils.closeComponent(root, config);\n },\n [layout]\n );\n\n useEffect(() => {\n const cleanups = [\n registerComponent(\n ChartPanel.COMPONENT,\n (ChartPanel as unknown) as ComponentType,\n hydrate\n ),\n ];\n return () => {\n cleanups.forEach(cleanup => cleanup());\n };\n }, [hydrate, registerComponent]);\n\n useListener(layout.eventHub, ChartEvent.OPEN, handleOpen);\n useListener(layout.eventHub, ChartEvent.CLOSE, handleClose);\n\n return <></>;\n};\n\nexport default ChartPlugin;\n"],"file":"ChartPlugin.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsolePlugin.d.ts","sourceRoot":"","sources":["../src/ConsolePlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,6BAA6B,EAI9B,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ConsolePlugin.d.ts","sourceRoot":"","sources":["../src/ConsolePlugin.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,6BAA6B,EAI9B,MAAM,sBAAsB,CAAC;AAmC9B,eAAO,MAAM,aAAa,qDAKvB,6BAA6B,KAAG,WA2blC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
package/dist/ConsolePlugin.js
CHANGED
|
@@ -1,49 +1,31 @@
|
|
|
1
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
-
|
|
3
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
|
|
5
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6
|
-
|
|
7
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
8
|
-
|
|
9
|
-
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
10
|
-
|
|
11
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
|
-
|
|
13
1
|
import { LayoutUtils, useListener } from '@deephaven/dashboard';
|
|
14
2
|
import { FileUtils } from '@deephaven/file-explorer';
|
|
15
3
|
import Log from '@deephaven/log';
|
|
16
4
|
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
17
5
|
import { useDispatch } from 'react-redux';
|
|
18
6
|
import shortid from 'shortid';
|
|
19
|
-
import { ConsoleEvent, NotebookEvent } from
|
|
20
|
-
import { ConsolePanel, CommandHistoryPanel, FileExplorerPanel, LogPanel, NotebookPanel } from
|
|
21
|
-
import { setDashboardConsoleSettings } from
|
|
7
|
+
import { ConsoleEvent, NotebookEvent } from "./events/index.js";
|
|
8
|
+
import { ConsolePanel, CommandHistoryPanel, FileExplorerPanel, LogPanel, NotebookPanel } from "./panels/index.js";
|
|
9
|
+
import { setDashboardConsoleSettings } from "./redux/index.js";
|
|
22
10
|
var log = Log.module('ConsolePlugin');
|
|
23
11
|
|
|
24
12
|
function isNotebookPanel(panel) {
|
|
25
13
|
return panel.notebook !== undefined;
|
|
26
14
|
}
|
|
27
15
|
|
|
28
|
-
export var ConsolePlugin =
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
16
|
+
export var ConsolePlugin = (_ref) => {
|
|
17
|
+
var {
|
|
18
|
+
id,
|
|
19
|
+
layout,
|
|
20
|
+
panelManager,
|
|
21
|
+
registerComponent
|
|
22
|
+
} = _ref;
|
|
33
23
|
var notebookIndex = useRef(0); // Map from file ID to panel ID
|
|
34
24
|
|
|
35
|
-
var
|
|
36
|
-
|
|
37
|
-
openFileMap = _useState2[0];
|
|
38
|
-
|
|
39
|
-
var _useState3 = useState(new Map()),
|
|
40
|
-
_useState4 = _slicedToArray(_useState3, 1),
|
|
41
|
-
previewFileMap = _useState4[0];
|
|
42
|
-
|
|
25
|
+
var [openFileMap] = useState(new Map());
|
|
26
|
+
var [previewFileMap] = useState(new Map());
|
|
43
27
|
var dispatch = useDispatch();
|
|
44
|
-
var getConsolePanel = useCallback(
|
|
45
|
-
return panelManager.getLastUsedPanelOfType(ConsolePanel.WrappedComponent);
|
|
46
|
-
}, [panelManager]);
|
|
28
|
+
var getConsolePanel = useCallback(() => panelManager.getLastUsedPanelOfType(ConsolePanel.WrappedComponent), [panelManager]);
|
|
47
29
|
var handleSendCommand = useCallback(function (command) {
|
|
48
30
|
var focus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
49
31
|
var execute = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
@@ -63,11 +45,13 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
|
|
|
63
45
|
consolePanel.addCommand(command, focus, execute);
|
|
64
46
|
}
|
|
65
47
|
}, [getConsolePanel]);
|
|
66
|
-
var handleSettingsChanged = useCallback(
|
|
48
|
+
var handleSettingsChanged = useCallback(consoleSettings => {
|
|
67
49
|
dispatch(setDashboardConsoleSettings(id, consoleSettings));
|
|
68
50
|
}, [dispatch, id]);
|
|
69
|
-
var getNotebookFileName = useCallback(
|
|
70
|
-
var
|
|
51
|
+
var getNotebookFileName = useCallback((_ref2) => {
|
|
52
|
+
var {
|
|
53
|
+
language
|
|
54
|
+
} = _ref2;
|
|
71
55
|
var extension = language === 'python' ? 'py' : language;
|
|
72
56
|
var title = null;
|
|
73
57
|
|
|
@@ -83,7 +67,9 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
|
|
|
83
67
|
}, []);
|
|
84
68
|
var getPanelIdForFileMetadata = useCallback(function (fileMetadata) {
|
|
85
69
|
var createIfNecessary = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
86
|
-
var
|
|
70
|
+
var {
|
|
71
|
+
id: fileId
|
|
72
|
+
} = fileMetadata;
|
|
87
73
|
|
|
88
74
|
if (fileId && openFileMap.has(fileId)) {
|
|
89
75
|
return openFileMap.get(fileId);
|
|
@@ -99,18 +85,18 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
|
|
|
99
85
|
|
|
100
86
|
return null;
|
|
101
87
|
}, [openFileMap, previewFileMap]);
|
|
102
|
-
var renamePanel = useCallback(
|
|
88
|
+
var renamePanel = useCallback((panelId, newTitle) => {
|
|
103
89
|
LayoutUtils.renameComponent(layout.root, {
|
|
104
90
|
id: panelId
|
|
105
91
|
}, newTitle);
|
|
106
92
|
}, [layout.root]);
|
|
107
|
-
var renameFilePanel = useCallback(
|
|
93
|
+
var renameFilePanel = useCallback((oldName, newName) => {
|
|
108
94
|
log.debug('Rename file panel', oldName, newName);
|
|
109
95
|
var panelId;
|
|
110
96
|
|
|
111
97
|
if (openFileMap.has(oldName)) {
|
|
112
98
|
panelId = openFileMap.get(oldName);
|
|
113
|
-
openFileMap
|
|
99
|
+
openFileMap.delete(oldName);
|
|
114
100
|
|
|
115
101
|
if (panelId != null) {
|
|
116
102
|
openFileMap.set(newName, panelId);
|
|
@@ -119,7 +105,7 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
|
|
|
119
105
|
|
|
120
106
|
if (previewFileMap.has(oldName)) {
|
|
121
107
|
panelId = previewFileMap.get(oldName);
|
|
122
|
-
previewFileMap
|
|
108
|
+
previewFileMap.delete(oldName);
|
|
123
109
|
|
|
124
110
|
if (panelId != null) {
|
|
125
111
|
previewFileMap.set(newName, panelId);
|
|
@@ -133,7 +119,12 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
|
|
|
133
119
|
|
|
134
120
|
renamePanel(panelId, FileUtils.getBaseName(newName));
|
|
135
121
|
}, [openFileMap, previewFileMap, renamePanel]);
|
|
136
|
-
|
|
122
|
+
/**
|
|
123
|
+
* Show the panel for the given file metadata.
|
|
124
|
+
* If the panel is not already open, then it just logs an error and does nothing.
|
|
125
|
+
*/
|
|
126
|
+
|
|
127
|
+
var showFilePanel = useCallback(fileMetadata => {
|
|
137
128
|
var panelId = getPanelIdForFileMetadata(fileMetadata, false);
|
|
138
129
|
|
|
139
130
|
if (panelId == null) {
|
|
@@ -145,7 +136,7 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
|
|
|
145
136
|
id: panelId
|
|
146
137
|
});
|
|
147
138
|
}, [getPanelIdForFileMetadata, layout.root]);
|
|
148
|
-
var registerFilePanel = useCallback(
|
|
139
|
+
var registerFilePanel = useCallback((panelId, fileMetadata, isPreview) => {
|
|
149
140
|
log.debug('registerFilePanel', panelId, fileMetadata, isPreview);
|
|
150
141
|
|
|
151
142
|
if (!fileMetadata || !fileMetadata.id) {
|
|
@@ -153,7 +144,9 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
|
|
|
153
144
|
return;
|
|
154
145
|
}
|
|
155
146
|
|
|
156
|
-
var
|
|
147
|
+
var {
|
|
148
|
+
id: fileId
|
|
149
|
+
} = fileMetadata;
|
|
157
150
|
|
|
158
151
|
if (isPreview) {
|
|
159
152
|
previewFileMap.set(fileId, panelId);
|
|
@@ -165,7 +158,9 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
|
|
|
165
158
|
|
|
166
159
|
if (panelId === existingPanelId) {
|
|
167
160
|
log.debug("Update tab title for file ".concat(fileId));
|
|
168
|
-
var
|
|
161
|
+
var {
|
|
162
|
+
itemName
|
|
163
|
+
} = fileMetadata;
|
|
169
164
|
renameFilePanel(fileId, FileUtils.getBaseName(itemName));
|
|
170
165
|
} else {
|
|
171
166
|
log.error("File ".concat(fileId, " already associated with a different tab ").concat(existingPanelId));
|
|
@@ -177,10 +172,10 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
|
|
|
177
172
|
openFileMap.set(fileId, panelId); // De-register preview tab
|
|
178
173
|
|
|
179
174
|
if (previewFileMap.has(fileId)) {
|
|
180
|
-
previewFileMap
|
|
175
|
+
previewFileMap.delete(fileId);
|
|
181
176
|
}
|
|
182
177
|
}, [openFileMap, previewFileMap, renameFilePanel]);
|
|
183
|
-
var unregisterFilePanel = useCallback(
|
|
178
|
+
var unregisterFilePanel = useCallback((fileMetadata, isPreview) => {
|
|
184
179
|
// Note: unregister event is triggered AFTER new register when switching from preview to edit mode
|
|
185
180
|
// due to the LayoutUtils implementation (new tab added before deleting the old one)
|
|
186
181
|
// This doesn't cause any issues because previews and editable files are stored in different maps,
|
|
@@ -193,18 +188,22 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
|
|
|
193
188
|
return;
|
|
194
189
|
}
|
|
195
190
|
|
|
196
|
-
var
|
|
191
|
+
var {
|
|
192
|
+
id: fileId
|
|
193
|
+
} = fileMetadata;
|
|
197
194
|
|
|
198
195
|
if (isPreview) {
|
|
199
|
-
previewFileMap
|
|
196
|
+
previewFileMap.delete(fileId);
|
|
200
197
|
return;
|
|
201
198
|
}
|
|
202
199
|
|
|
203
|
-
openFileMap
|
|
200
|
+
openFileMap.delete(fileId);
|
|
204
201
|
}, [openFileMap, previewFileMap]);
|
|
205
|
-
var closeFilePanel = useCallback(
|
|
202
|
+
var closeFilePanel = useCallback(fileMetadata => {
|
|
206
203
|
log.debug('closeFilePanel', fileMetadata);
|
|
207
|
-
var
|
|
204
|
+
var {
|
|
205
|
+
id: fileId
|
|
206
|
+
} = fileMetadata;
|
|
208
207
|
var panelId = null;
|
|
209
208
|
var isPreview = false;
|
|
210
209
|
|
|
@@ -223,53 +222,70 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
|
|
|
223
222
|
id: panelId
|
|
224
223
|
});
|
|
225
224
|
}, [layout.root, openFileMap, previewFileMap, unregisterFilePanel]);
|
|
226
|
-
var getNotebookTitle = useCallback(
|
|
227
|
-
var
|
|
225
|
+
var getNotebookTitle = useCallback(fileMetadata => {
|
|
226
|
+
var {
|
|
227
|
+
itemName
|
|
228
|
+
} = fileMetadata;
|
|
228
229
|
return FileUtils.getBaseName(itemName);
|
|
229
230
|
}, []);
|
|
230
|
-
var fileIsOpen = useCallback(
|
|
231
|
-
var
|
|
231
|
+
var fileIsOpen = useCallback(fileMetadata => {
|
|
232
|
+
var {
|
|
233
|
+
id: fileId
|
|
234
|
+
} = fileMetadata;
|
|
232
235
|
log.debug('fileIsOpen', fileMetadata, fileId, openFileMap);
|
|
233
236
|
return fileId && openFileMap.has(fileId);
|
|
234
237
|
}, [openFileMap]);
|
|
235
|
-
var fileIsOpenAsPreview = useCallback(
|
|
236
|
-
var
|
|
238
|
+
var fileIsOpenAsPreview = useCallback(fileMetadata => {
|
|
239
|
+
var {
|
|
240
|
+
id: fileId
|
|
241
|
+
} = fileMetadata;
|
|
237
242
|
log.debug('fileIsOpenAsPreview', fileMetadata, fileId, previewFileMap);
|
|
238
243
|
return fileId && previewFileMap.has(fileId);
|
|
239
244
|
}, [previewFileMap]);
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
245
|
+
/**
|
|
246
|
+
* Attempts to focus the panel with the provided panelId
|
|
247
|
+
*/
|
|
248
|
+
|
|
249
|
+
var focusPanelById = useCallback(panelId => {
|
|
250
|
+
if (!panelId) {
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
var panel = panelManager.getOpenedPanelById(panelId);
|
|
255
|
+
|
|
256
|
+
if (panel && isNotebookPanel(panel)) {
|
|
257
|
+
panel.focus();
|
|
258
|
+
}
|
|
259
|
+
}, [panelManager]);
|
|
260
|
+
var makeConfig = useCallback((_ref3) => {
|
|
261
|
+
var {
|
|
262
|
+
id: panelId,
|
|
263
|
+
settings,
|
|
264
|
+
fileMetadata,
|
|
265
|
+
session,
|
|
266
|
+
sessionLanguage,
|
|
267
|
+
isPreview = false
|
|
268
|
+
} = _ref3;
|
|
254
269
|
var panelState = {
|
|
255
|
-
settings
|
|
256
|
-
fileMetadata
|
|
270
|
+
settings,
|
|
271
|
+
fileMetadata
|
|
257
272
|
};
|
|
258
273
|
var title = getNotebookTitle(fileMetadata);
|
|
259
274
|
return {
|
|
260
275
|
type: 'react-component',
|
|
261
276
|
component: NotebookPanel.COMPONENT,
|
|
277
|
+
isFocusOnShow: false,
|
|
262
278
|
props: {
|
|
263
279
|
localDashboardId: id,
|
|
264
280
|
metadata: {
|
|
265
281
|
id: panelId
|
|
266
282
|
},
|
|
267
|
-
session
|
|
268
|
-
sessionLanguage
|
|
269
|
-
panelState
|
|
270
|
-
isPreview
|
|
283
|
+
session,
|
|
284
|
+
sessionLanguage,
|
|
285
|
+
panelState,
|
|
286
|
+
isPreview
|
|
271
287
|
},
|
|
272
|
-
title
|
|
288
|
+
title,
|
|
273
289
|
id: panelId
|
|
274
290
|
};
|
|
275
291
|
}, [getNotebookTitle, id]);
|
|
@@ -280,66 +296,50 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
|
|
|
280
296
|
};
|
|
281
297
|
var panelId = getPanelIdForFileMetadata(fileMetadata);
|
|
282
298
|
|
|
283
|
-
if (fileIsOpen(fileMetadata)) {
|
|
284
|
-
log.debug('File is already open, focus
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
});
|
|
299
|
+
if (fileIsOpen(fileMetadata) && panelId) {
|
|
300
|
+
log.debug('File is already open, focus panel');
|
|
301
|
+
showFilePanel(fileMetadata);
|
|
302
|
+
focusPanelById(panelId);
|
|
288
303
|
return;
|
|
289
304
|
}
|
|
290
305
|
|
|
291
306
|
var stack = LayoutUtils.getStackForComponentTypes(layout.root, [NotebookPanel.COMPONENT]);
|
|
292
307
|
var config = makeConfig({
|
|
293
308
|
id: panelId,
|
|
294
|
-
settings
|
|
295
|
-
fileMetadata
|
|
296
|
-
session
|
|
297
|
-
sessionLanguage
|
|
309
|
+
settings,
|
|
310
|
+
fileMetadata,
|
|
311
|
+
session,
|
|
312
|
+
sessionLanguage
|
|
298
313
|
});
|
|
299
314
|
log.debug('createNotebook', config, openFileMap);
|
|
300
315
|
LayoutUtils.openComponentInStack(stack, config);
|
|
301
|
-
}, [fileIsOpen, getNotebookFileName, getPanelIdForFileMetadata, layout.root, makeConfig, openFileMap]);
|
|
316
|
+
}, [fileIsOpen, focusPanelById, getNotebookFileName, getPanelIdForFileMetadata, layout.root, makeConfig, openFileMap, showFilePanel]);
|
|
302
317
|
var selectNotebook = useCallback(function (session, sessionLanguage, settings, fileMetadata) {
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
var isPreview = true;
|
|
318
|
+
var shouldFocus = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
319
|
+
log.debug('selectNotebook', fileMetadata, shouldFocus);
|
|
306
320
|
var isFileOpen = fileIsOpen(fileMetadata);
|
|
307
|
-
var isFileOpenAsPreview = fileIsOpenAsPreview(fileMetadata);
|
|
321
|
+
var isFileOpenAsPreview = fileIsOpenAsPreview(fileMetadata); // If the file is already open, just show and focus it if necessary
|
|
308
322
|
|
|
309
|
-
if (
|
|
310
|
-
|
|
323
|
+
if (isFileOpen) {
|
|
324
|
+
showFilePanel(fileMetadata);
|
|
311
325
|
|
|
312
|
-
if (
|
|
313
|
-
|
|
326
|
+
if (shouldFocus) {
|
|
327
|
+
var _panelId = getPanelIdForFileMetadata(fileMetadata);
|
|
314
328
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
var _Array$from2 = _slicedToArray(_Array$from, 1);
|
|
318
|
-
|
|
319
|
-
previewTabId = _Array$from2[0];
|
|
329
|
+
focusPanelById(_panelId);
|
|
320
330
|
}
|
|
321
|
-
} else {
|
|
322
|
-
// File already open in background
|
|
323
|
-
if (!fileIsActive(fileMetadata)) {
|
|
324
|
-
activateFilePanel(fileMetadata);
|
|
325
|
-
return;
|
|
326
|
-
} // File already open in foreground, not in preview mode
|
|
327
|
-
|
|
328
331
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
} // File already open in foreground in preview mode
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
var _Array$from3 = Array.from(previewFileMap.values());
|
|
332
|
+
return;
|
|
333
|
+
} // If the file is already open as a preview and we're not focusing it, just show it
|
|
334
|
+
// If we're focusing it, that means we need to replace the panel anyway with a non-preview panel, so just fall into the logic below
|
|
336
335
|
|
|
337
|
-
var _Array$from4 = _slicedToArray(_Array$from3, 1);
|
|
338
336
|
|
|
339
|
-
|
|
340
|
-
|
|
337
|
+
if (isFileOpenAsPreview && !shouldFocus) {
|
|
338
|
+
showFilePanel(fileMetadata);
|
|
339
|
+
return;
|
|
341
340
|
}
|
|
342
341
|
|
|
342
|
+
var [previewTabId] = Array.from(previewFileMap.values());
|
|
343
343
|
var panelId = null;
|
|
344
344
|
var stack = null;
|
|
345
345
|
|
|
@@ -358,21 +358,19 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
|
|
|
358
358
|
|
|
359
359
|
var config = makeConfig({
|
|
360
360
|
id: panelId,
|
|
361
|
-
settings
|
|
362
|
-
fileMetadata
|
|
363
|
-
session
|
|
364
|
-
sessionLanguage
|
|
365
|
-
isPreview:
|
|
361
|
+
settings,
|
|
362
|
+
fileMetadata,
|
|
363
|
+
session,
|
|
364
|
+
sessionLanguage,
|
|
365
|
+
isPreview: !shouldFocus
|
|
366
366
|
});
|
|
367
|
-
LayoutUtils.openComponentInStack(stack, config);
|
|
368
|
-
// Focus open tab if it's editable
|
|
367
|
+
LayoutUtils.openComponentInStack(stack, config);
|
|
369
368
|
|
|
370
|
-
if (
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
});
|
|
369
|
+
if (shouldFocus) {
|
|
370
|
+
// Focus the tab we just opened if we're supposed to
|
|
371
|
+
focusPanelById(panelId);
|
|
374
372
|
}
|
|
375
|
-
}, [
|
|
373
|
+
}, [showFilePanel, fileIsOpen, fileIsOpenAsPreview, focusPanelById, getPanelIdForFileMetadata, layout.root, makeConfig, previewFileMap]);
|
|
376
374
|
/** Attempts to send the text to a notebook matching the passed in settings */
|
|
377
375
|
|
|
378
376
|
var sendToNotebook = useCallback(function (session, sessionLanguage) {
|
|
@@ -388,12 +386,10 @@ export var ConsolePlugin = function ConsolePlugin(_ref) {
|
|
|
388
386
|
createNotebook(session, sessionLanguage, settings);
|
|
389
387
|
}
|
|
390
388
|
}, [createNotebook, panelManager]);
|
|
391
|
-
useEffect(
|
|
389
|
+
useEffect(() => {
|
|
392
390
|
var cleanups = [registerComponent(ConsolePanel.COMPONENT, ConsolePanel), registerComponent(CommandHistoryPanel.COMPONENT, CommandHistoryPanel), registerComponent(FileExplorerPanel.COMPONENT, FileExplorerPanel), registerComponent(LogPanel.COMPONENT, LogPanel), registerComponent(NotebookPanel.COMPONENT, NotebookPanel)];
|
|
393
|
-
return
|
|
394
|
-
cleanups.forEach(
|
|
395
|
-
return cleanup();
|
|
396
|
-
});
|
|
391
|
+
return () => {
|
|
392
|
+
cleanups.forEach(cleanup => cleanup());
|
|
397
393
|
};
|
|
398
394
|
}, [registerComponent]);
|
|
399
395
|
useListener(layout.eventHub, ConsoleEvent.SEND_COMMAND, handleSendCommand);
|