@datalayer/jupyter-react 0.0.9 → 0.0.12
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/lib/JupyterExample.d.ts +1 -0
- package/lib/JupyterExample.js +56 -0
- package/lib/JupyterExample.js.map +1 -0
- package/lib/JupyterLiteExample.d.ts +1 -0
- package/lib/JupyterLiteExample.js +10 -0
- package/lib/JupyterLiteExample.js.map +1 -0
- package/lib/components/cell/Cell.css +12 -3
- package/lib/components/cell/Cell.d.ts +3 -2
- package/lib/components/cell/Cell.js +35 -28
- package/lib/components/cell/Cell.js.map +1 -1
- package/lib/components/cell/CellAdapter.d.ts +2 -1
- package/lib/components/cell/CellAdapter.js +11 -12
- package/lib/components/cell/CellAdapter.js.map +1 -1
- package/lib/components/cell/CellState.d.ts +1 -1
- package/lib/components/cell/CellState.js +11 -11
- package/lib/components/cell/CellState.js.map +1 -1
- package/lib/components/codemirror/CodeMirrorEditor.d.ts +14 -0
- package/lib/components/codemirror/CodeMirrorEditor.js +110 -0
- package/lib/components/codemirror/CodeMirrorEditor.js.map +1 -0
- package/lib/components/codemirror/CodeMirrorTheme.d.ts +3 -0
- package/lib/components/codemirror/CodeMirrorTheme.js +21 -0
- package/lib/components/codemirror/CodeMirrorTheme.js.map +1 -0
- package/lib/components/commands/Commands.d.ts +1 -1
- package/lib/components/commands/Commands.js +1 -1
- package/lib/components/commands/Commands.js.map +1 -1
- package/lib/components/commands/CommandsState.d.ts +1 -1
- package/lib/components/commands/CommandsState.js +7 -7
- package/lib/components/commands/CommandsState.js.map +1 -1
- package/lib/components/console/{ConsoleAdapter.css → Console.css} +4 -0
- package/lib/components/console/Console.d.ts +2 -1
- package/lib/components/console/Console.js +10 -4
- package/lib/components/console/Console.js.map +1 -1
- package/lib/components/console/ConsoleAdapter.d.ts +4 -2
- package/lib/components/console/ConsoleAdapter.js +63 -65
- package/lib/components/console/ConsoleAdapter.js.map +1 -1
- package/lib/components/console/ConsoleState.d.ts +1 -1
- package/lib/components/console/ConsoleState.js +8 -8
- package/lib/components/console/ConsoleState.js.map +1 -1
- package/lib/components/dialog/Dialog.d.ts +1 -1
- package/lib/components/dialog/Dialog.js +1 -1
- package/lib/components/dialog/Dialog.js.map +1 -1
- package/lib/components/filebrowser/FileBrowser.d.ts +1 -1
- package/lib/components/filebrowser/FileBrowser.js +1 -1
- package/lib/components/filebrowser/FileBrowser.js.map +1 -1
- package/lib/components/filebrowser/FileBrowserState.d.ts +1 -1
- package/lib/components/filebrowser/FileBrowserState.js +7 -7
- package/lib/components/filebrowser/FileBrowserState.js.map +1 -1
- package/lib/components/ipywidgets/IpyWidgetsComponent.d.ts +2 -2
- package/lib/components/ipywidgets/IpyWidgetsComponent.js +3 -3
- package/lib/components/ipywidgets/IpyWidgetsComponent.js.map +1 -1
- package/lib/components/notebook/Notebook.css +2 -26
- package/lib/components/notebook/Notebook.d.ts +17 -6
- package/lib/components/notebook/Notebook.js +111 -50
- package/lib/components/notebook/Notebook.js.map +1 -1
- package/lib/components/notebook/NotebookAdapter.d.ts +28 -16
- package/lib/components/notebook/NotebookAdapter.js +177 -70
- package/lib/components/notebook/NotebookAdapter.js.map +1 -1
- package/lib/components/notebook/NotebookCommands.d.ts +10 -5
- package/lib/components/notebook/NotebookCommands.js +228 -217
- package/lib/components/notebook/NotebookCommands.js.map +1 -1
- package/lib/components/notebook/NotebookState.d.ts +38 -18
- package/lib/components/notebook/NotebookState.js +104 -37
- package/lib/components/notebook/NotebookState.js.map +1 -1
- package/lib/components/notebook/cell/metadata/CellMetadataEditor.d.ts +7 -0
- package/lib/components/notebook/cell/metadata/CellMetadataEditor.js +43 -0
- package/lib/components/notebook/cell/metadata/CellMetadataEditor.js.map +1 -0
- package/lib/components/notebook/cell/metadata/NbGraderCells.d.ts +12 -0
- package/lib/components/notebook/cell/metadata/NbGraderCells.js +138 -0
- package/lib/components/notebook/cell/metadata/NbGraderCells.js.map +1 -0
- package/lib/components/notebook/{content/NotebookInputPrompt.d.ts → cell/prompt/InputPrompt.d.ts} +5 -8
- package/lib/components/notebook/{content/NotebookInputPrompt.js → cell/prompt/InputPrompt.js} +10 -8
- package/lib/components/notebook/cell/prompt/InputPrompt.js.map +1 -0
- package/lib/components/notebook/cell/sidebar/CellSidebarDefault.d.ts +3 -0
- package/lib/components/notebook/cell/sidebar/CellSidebarDefault.js +63 -0
- package/lib/components/notebook/cell/sidebar/CellSidebarDefault.js.map +1 -0
- package/lib/components/notebook/cell/sidebar/CellSidebarRun.d.ts +3 -0
- package/lib/components/notebook/cell/sidebar/CellSidebarRun.js +38 -0
- package/lib/components/notebook/cell/sidebar/CellSidebarRun.js.map +1 -0
- package/lib/components/notebook/cell/sidebar/base/CellSidebarContentFactory.d.ts +19 -0
- package/lib/components/notebook/cell/sidebar/base/CellSidebarContentFactory.js +22 -0
- package/lib/components/notebook/cell/sidebar/base/CellSidebarContentFactory.js.map +1 -0
- package/lib/components/notebook/cell/sidebar/base/CellSidebarWidget.d.ts +16 -0
- package/lib/components/notebook/cell/sidebar/base/CellSidebarWidget.js +25 -0
- package/lib/components/notebook/cell/sidebar/base/CellSidebarWidget.js.map +1 -0
- package/lib/components/notebook/{render → marked}/marked.d.ts +0 -0
- package/lib/components/notebook/{render → marked}/marked.js +3 -3
- package/lib/components/notebook/marked/marked.js.map +1 -0
- package/lib/components/notebook/model/CustomNotebookModelFactory.d.ts +9 -0
- package/lib/components/notebook/model/CustomNotebookModelFactory.js +14 -0
- package/lib/components/notebook/model/CustomNotebookModelFactory.js.map +1 -0
- package/lib/components/outputs/Output.css +8 -0
- package/lib/components/outputs/Output.d.ts +12 -3
- package/lib/components/outputs/Output.js +88 -18
- package/lib/components/outputs/Output.js.map +1 -1
- package/lib/components/outputs/OutputAdapter.d.ts +4 -5
- package/lib/components/outputs/OutputAdapter.js +19 -8
- package/lib/components/outputs/OutputAdapter.js.map +1 -1
- package/lib/components/outputs/OutputState.d.ts +51 -12
- package/lib/components/outputs/OutputState.js +109 -17
- package/lib/components/outputs/OutputState.js.map +1 -1
- package/lib/components/outputs/OutputToolbar.d.ts +12 -0
- package/lib/components/outputs/OutputToolbar.js +42 -0
- package/lib/components/outputs/OutputToolbar.js.map +1 -0
- package/lib/components/settings/Settings.d.ts +1 -1
- package/lib/components/settings/Settings.js +1 -1
- package/lib/components/settings/Settings.js.map +1 -1
- package/lib/components/settings/SettingsState.d.ts +1 -1
- package/lib/components/settings/SettingsState.js +7 -7
- package/lib/components/settings/SettingsState.js.map +1 -1
- package/lib/components/terminal/TerminalState.d.ts +1 -1
- package/lib/components/terminal/TerminalState.js +5 -5
- package/lib/components/terminal/TerminalState.js.map +1 -1
- package/lib/index.d.ts +42 -22
- package/lib/index.js +44 -22
- package/lib/index.js.map +1 -1
- package/lib/jupyter/Jupyter.d.ts +10 -2
- package/lib/jupyter/Jupyter.js +11 -16
- package/lib/jupyter/Jupyter.js.map +1 -1
- package/lib/jupyter/{AuthError.d.ts → JupyterAuthError.d.ts} +2 -2
- package/lib/jupyter/JupyterAuthError.js +8 -0
- package/lib/jupyter/JupyterAuthError.js.map +1 -0
- package/lib/jupyter/JupyterConfig.d.ts +2 -1
- package/lib/jupyter/JupyterConfig.js +35 -11
- package/lib/jupyter/JupyterConfig.js.map +1 -1
- package/lib/jupyter/JupyterContext.d.ts +6 -1
- package/lib/jupyter/JupyterContext.js +49 -15
- package/lib/jupyter/JupyterContext.js.map +1 -1
- package/lib/jupyter/{Handlers.d.ts → JupyterHandlers.d.ts} +1 -1
- package/lib/jupyter/{Handlers.js → JupyterHandlers.js} +4 -4
- package/lib/jupyter/JupyterHandlers.js.map +1 -0
- package/lib/jupyter/ipywidgets/IPyWidgetsAttached.d.ts +1 -1
- package/lib/jupyter/ipywidgets/IPyWidgetsAttached.js +2 -2
- package/lib/jupyter/ipywidgets/IpyWidgetsManager.d.ts +1 -1
- package/lib/jupyter/ipywidgets/IpyWidgetsManager.js +1 -1
- package/lib/jupyter/ipywidgets/IpyWidgetsManager.js.map +1 -1
- package/lib/jupyter/lite/LiteServer.d.ts +2 -0
- package/lib/jupyter/lite/LiteServer.js +87 -0
- package/lib/jupyter/lite/LiteServer.js.map +1 -0
- package/lib/jupyter/lumino/LuminoAttached.d.ts +2 -8
- package/lib/jupyter/lumino/LuminoAttached.js +17 -19
- package/lib/jupyter/lumino/LuminoAttached.js.map +1 -1
- package/lib/jupyter/lumino/LuminoDetached.d.ts +1 -1
- package/lib/jupyter/lumino/LuminoDetached.js +1 -1
- package/lib/jupyter/lumino/LuminoDetached.js.map +1 -1
- package/lib/jupyter/lumino/LuminoNotebook.d.ts +5 -0
- package/lib/jupyter/lumino/LuminoNotebook.js +28 -0
- package/lib/jupyter/lumino/LuminoNotebook.js.map +1 -0
- package/lib/jupyter/services/kernel/Kernel.js +4 -4
- package/lib/jupyter/services/kernel/Kernel.js.map +1 -1
- package/lib/state/State.d.ts +2 -2
- package/lib/state/State.js +4 -4
- package/lib/state/State.js.map +1 -1
- package/lib/state/Store.d.ts +3 -1
- package/lib/state/Store.js +19 -23
- package/lib/state/Store.js.map +1 -1
- package/lib/utils/Ids.d.ts +2 -0
- package/lib/utils/Ids.js +11 -0
- package/lib/utils/Ids.js.map +1 -0
- package/package.json +41 -39
- package/lib/components/editor/CodeMirrorEditor.d.ts +0 -7
- package/lib/components/editor/CodeMirrorEditor.js +0 -62
- package/lib/components/editor/CodeMirrorEditor.js.map +0 -1
- package/lib/components/filebrowser/FileBrowserTree.d.ts +0 -2
- package/lib/components/filebrowser/FileBrowserTree.js +0 -60
- package/lib/components/filebrowser/FileBrowserTree.js.map +0 -1
- package/lib/components/notebook/content/CellSidebar.d.ts +0 -8
- package/lib/components/notebook/content/CellSidebar.js +0 -23
- package/lib/components/notebook/content/CellSidebar.js.map +0 -1
- package/lib/components/notebook/content/ContentFactoryWithSidebar.d.ts +0 -14
- package/lib/components/notebook/content/ContentFactoryWithSidebar.js +0 -20
- package/lib/components/notebook/content/ContentFactoryWithSidebar.js.map +0 -1
- package/lib/components/notebook/content/NotebookInputPrompt.js.map +0 -1
- package/lib/components/notebook/render/marked.js.map +0 -1
- package/lib/components/outputs/OutputAdapter.css +0 -3
- package/lib/jupyter/AuthError.js +0 -8
- package/lib/jupyter/AuthError.js.map +0 -1
- package/lib/jupyter/Handlers.js.map +0 -1
- package/lib/state/init/Init.d.ts +0 -3
- package/lib/state/init/Init.js +0 -12
- package/lib/state/init/Init.js.map +0 -1
- package/lib/state/init/InitState.d.ts +0 -19
- package/lib/state/init/InitState.js +0 -48
- package/lib/state/init/InitState.js.map +0 -1
package/lib/jupyter/Jupyter.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { ThemeProvider, BaseStyles } from "@primer/react";
|
|
3
3
|
import { ErrorBoundary } from 'react-error-boundary';
|
|
4
|
-
import injectableStore from '../state/Store';
|
|
5
4
|
import { JupyterContextProvider } from './JupyterContext';
|
|
6
|
-
import {
|
|
5
|
+
import { getJupyterServerHttpUrl, getJupyterServerWsUrl, loadJupyterConfig } from './JupyterConfig';
|
|
6
|
+
import injectableStore from '../state/Store';
|
|
7
7
|
/**
|
|
8
8
|
* The component to be used as fallback in case of error.
|
|
9
9
|
*/
|
|
@@ -17,19 +17,14 @@ const ErrorFallback = ({ error, resetErrorBoundary }) => {
|
|
|
17
17
|
* are available.
|
|
18
18
|
*/
|
|
19
19
|
export const Jupyter = (props) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const wsUrl = props.jupyterServerWsUrl || getJupyterServerWsUrl();
|
|
29
|
-
PageConfig.setOption('wsUrl', wsUrl);
|
|
30
|
-
return (_jsx(ErrorBoundary, Object.assign({ FallbackComponent: ErrorFallback, onReset: () => {
|
|
31
|
-
console.log('The reset button has been clicked...');
|
|
32
|
-
} }, { children: _jsx(JupyterContextProvider, Object.assign({ variant: "default", baseUrl: baseUrl, wsUrl: wsUrl, injectableStore: props.injectableStore || injectableStore }, { children: props.children }), void 0) }), void 0));
|
|
20
|
+
const { lite } = props;
|
|
21
|
+
loadJupyterConfig(props);
|
|
22
|
+
return (_jsx(ErrorBoundary, Object.assign({ FallbackComponent: ErrorFallback }, { children: _jsx(ThemeProvider, { children: _jsx(BaseStyles, { children: _jsx(JupyterContextProvider, Object.assign({ lite: lite, baseUrl: getJupyterServerHttpUrl(), wsUrl: getJupyterServerWsUrl(), injectableStore: props.injectableStore || injectableStore, variant: "default" }, { children: props.children }), void 0) }, void 0) }, void 0) }), void 0));
|
|
23
|
+
};
|
|
24
|
+
Jupyter.defaultProps = {
|
|
25
|
+
lite: false,
|
|
26
|
+
collaborative: false,
|
|
27
|
+
terminals: false,
|
|
33
28
|
};
|
|
34
29
|
export default Jupyter;
|
|
35
30
|
//# sourceMappingURL=Jupyter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Jupyter.js","sourceRoot":"","sources":["../../src/jupyter/Jupyter.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Jupyter.js","sourceRoot":"","sources":["../../src/jupyter/Jupyter.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,eAAe,MAAM,gBAAgB,CAAC;AAkB7C;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,EAAC,KAAK,EAAE,kBAAkB,EAAM,EAAE,EAAE;IACzD,OAAO,CACL,6BAAK,IAAI,EAAC,OAAO,iBACf,8DAAkC;YAClC,wBAAM,KAAK,CAAC,OAAO,WAAO,aAItB,CACP,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAmB,EAAE,EAAE;IAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvB,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,CACL,KAAC,aAAa,kBACZ,iBAAiB,EAAE,aAAa,gBAGhC,KAAC,aAAa,cACZ,KAAC,UAAU,cACT,KAAC,sBAAsB,kBACrB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,uBAAuB,EAAE,EAClC,KAAK,EAAE,qBAAqB,EAAE,EAC9B,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,eAAe,EACzD,OAAO,EAAC,SAAS,gBAEf,KAAK,CAAC,QAAQ,YACO,WACd,WACC,YACF,CACjB,CAAA;AACH,CAAC,CAAA;AAED,OAAO,CAAC,YAAY,GAAG;IACrB,IAAI,EAAE,KAAK;IACX,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE,KAAK;CACjB,CAAA;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JupyterAuthError.js","sourceRoot":"","sources":["../../src/jupyter/JupyterAuthError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,gBAAiB,SAAQ,KAAK;CAAG;AAEvC,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { JupyterProps } from './Jupyter';
|
|
1
2
|
/**
|
|
2
3
|
* Type of the Jupyter configuration.
|
|
3
4
|
*/
|
|
@@ -34,4 +35,4 @@ export declare const getJupyterToken: () => string;
|
|
|
34
35
|
* Method to load the Jupyter configuration from the
|
|
35
36
|
* host HTML page.
|
|
36
37
|
*/
|
|
37
|
-
export declare const loadJupyterConfig: () =>
|
|
38
|
+
export declare const loadJupyterConfig: (props: JupyterProps) => IJupyterConfig;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PageConfig } from '@jupyterlab/coreutils/lib/pageconfig';
|
|
1
2
|
/**
|
|
2
3
|
* The default Jupyter configuration.
|
|
3
4
|
*/
|
|
@@ -40,20 +41,43 @@ export const getJupyterToken = () => config.jupyterToken;
|
|
|
40
41
|
* Method to load the Jupyter configuration from the
|
|
41
42
|
* host HTML page.
|
|
42
43
|
*/
|
|
43
|
-
export const loadJupyterConfig = () => {
|
|
44
|
-
|
|
44
|
+
export const loadJupyterConfig = (props) => {
|
|
45
|
+
const { lite, jupyterServerHttpUrl, jupyterServerWsUrl, collaborative, terminals, jupyterToken } = props;
|
|
45
46
|
const htmlConfig = document.getElementById('datalayer-config-data');
|
|
46
47
|
if (htmlConfig) {
|
|
47
48
|
config = JSON.parse(htmlConfig.textContent || '');
|
|
48
|
-
if (config['jupyterServerHttpUrl']) {
|
|
49
|
-
setJupyterServerHttpUrl(config['jupyterServerHttpUrl']);
|
|
50
|
-
}
|
|
51
|
-
if (config['jupyterServerWsUrl']) {
|
|
52
|
-
setJupyterServerWsUrl(config['jupyterServerWsUrl']);
|
|
53
|
-
}
|
|
54
|
-
if (config['jupyterToken']) {
|
|
55
|
-
setJupyterToken(config['jupyterToken']);
|
|
56
|
-
}
|
|
57
49
|
}
|
|
50
|
+
if (lite) {
|
|
51
|
+
setJupyterServerHttpUrl(location.protocol + '//' + location.host);
|
|
52
|
+
}
|
|
53
|
+
else if (config.jupyterServerHttpUrl) {
|
|
54
|
+
setJupyterServerHttpUrl(config.jupyterServerHttpUrl);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
setJupyterServerHttpUrl(jupyterServerHttpUrl || location.protocol + '//' + location.host + "/api/jupyter");
|
|
58
|
+
}
|
|
59
|
+
if (lite) {
|
|
60
|
+
setJupyterServerWsUrl(location.protocol === "https" ? "wss://" + location.host : "ws://" + location.host);
|
|
61
|
+
}
|
|
62
|
+
else if (config.jupyterServerWsUrl) {
|
|
63
|
+
setJupyterServerWsUrl(config.jupyterServerWsUrl);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
setJupyterServerWsUrl(jupyterServerWsUrl || location.protocol.replace('http', 'ws') + '//' + location.host + "/api/jupyter");
|
|
67
|
+
}
|
|
68
|
+
if (config.jupyterToken) {
|
|
69
|
+
setJupyterToken(config.jupyterToken);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
setJupyterToken(jupyterToken || '');
|
|
73
|
+
}
|
|
74
|
+
PageConfig.setOption('baseUrl', getJupyterServerHttpUrl());
|
|
75
|
+
PageConfig.setOption('wsUrl', getJupyterServerWsUrl());
|
|
76
|
+
PageConfig.setOption('token', getJupyterToken());
|
|
77
|
+
PageConfig.setOption('collaborative', String(collaborative || false));
|
|
78
|
+
PageConfig.setOption('terminalsAvailable', String(terminals || false));
|
|
79
|
+
PageConfig.setOption('mathjaxUrl', 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js');
|
|
80
|
+
PageConfig.setOption('mathjaxConfig', 'TeX-AMS_CHTML-full,Safe');
|
|
81
|
+
return config;
|
|
58
82
|
};
|
|
59
83
|
//# sourceMappingURL=JupyterConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JupyterConfig.js","sourceRoot":"","sources":["../../src/jupyter/JupyterConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"JupyterConfig.js","sourceRoot":"","sources":["../../src/jupyter/JupyterConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { ServiceManager, ServerConnection } from '@jupyterlab/services';
|
|
2
3
|
/**
|
|
3
4
|
* The type for the Jupyter context.
|
|
4
5
|
*/
|
|
5
6
|
export declare type JupyterContextType = {
|
|
7
|
+
lite: boolean;
|
|
8
|
+
serverSettings?: ServerConnection.ISettings;
|
|
9
|
+
serviceManager?: ServiceManager;
|
|
6
10
|
variant: string;
|
|
7
11
|
setVariant: (value: string) => void;
|
|
8
12
|
baseUrl: string;
|
|
@@ -13,7 +17,7 @@ export declare type JupyterContextType = {
|
|
|
13
17
|
* The instance for the Jupyter context.
|
|
14
18
|
*/
|
|
15
19
|
export declare const JupyterContext: React.Context<JupyterContextType | undefined>;
|
|
16
|
-
export declare
|
|
20
|
+
export declare const useJupyter: () => JupyterContextType;
|
|
17
21
|
/**
|
|
18
22
|
* The type for the Jupyter context consumer.
|
|
19
23
|
*/
|
|
@@ -28,6 +32,7 @@ export declare const ensureJupyterAuth: () => Promise<boolean>;
|
|
|
28
32
|
*/
|
|
29
33
|
export declare const JupyterContextProvider: React.FC<{
|
|
30
34
|
children: React.ReactNode;
|
|
35
|
+
lite: boolean;
|
|
31
36
|
variant: string;
|
|
32
37
|
baseUrl: string;
|
|
33
38
|
wsUrl: string;
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
2
2
|
import { useState, useEffect, useContext, createContext } from "react";
|
|
3
3
|
import { Provider as ReduxProvider } from "react-redux";
|
|
4
|
+
import { ServiceManager, ServerConnection } from '@jupyterlab/services';
|
|
4
5
|
import { getJupyterServerHttpUrl } from './JupyterConfig';
|
|
5
|
-
import { requestAPI } from './
|
|
6
|
+
import { requestAPI } from './JupyterHandlers';
|
|
7
|
+
import { startLiteServer } from './../jupyter/lite/LiteServer';
|
|
6
8
|
/**
|
|
7
9
|
* The instance for the Jupyter context.
|
|
8
10
|
*/
|
|
9
11
|
export const JupyterContext = createContext(undefined);
|
|
10
|
-
export
|
|
12
|
+
export const useJupyter = () => {
|
|
11
13
|
const context = useContext(JupyterContext);
|
|
12
14
|
if (!context)
|
|
13
|
-
throw new Error("useContext must be inside a
|
|
15
|
+
throw new Error("useContext must be inside a provider with a value.");
|
|
14
16
|
return context;
|
|
15
|
-
}
|
|
17
|
+
};
|
|
16
18
|
/**
|
|
17
19
|
* The type for the Jupyter context consumer.
|
|
18
20
|
*/
|
|
@@ -38,27 +40,59 @@ export const ensureJupyterAuth = () => {
|
|
|
38
40
|
return false;
|
|
39
41
|
});
|
|
40
42
|
};
|
|
43
|
+
const headers = new Headers({
|
|
44
|
+
"Cache-Control": "no-cache, no-store, must-revalidate",
|
|
45
|
+
"Pragma": "no-cache",
|
|
46
|
+
"Expires": "0",
|
|
47
|
+
});
|
|
41
48
|
/**
|
|
42
49
|
* The Jupyter context provider.
|
|
43
50
|
*/
|
|
44
|
-
export const JupyterContextProvider = ({ children, variant, baseUrl, wsUrl, injectableStore }) => {
|
|
45
|
-
const [, setVariant] = useState('');
|
|
51
|
+
export const JupyterContextProvider = ({ children, lite, variant, baseUrl, wsUrl, injectableStore }) => {
|
|
52
|
+
const [_, setVariant] = useState('default');
|
|
53
|
+
const [serverSettings, setServerSettings] = useState();
|
|
54
|
+
const [serviceManager, setServiceManager] = useState();
|
|
46
55
|
useEffect(() => {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
56
|
+
if (lite) {
|
|
57
|
+
startLiteServer().then((serviceManager) => {
|
|
58
|
+
setServiceManager(serviceManager);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
ensureJupyterAuth().then(isAuth => {
|
|
63
|
+
if (isAuth) {
|
|
64
|
+
const serverSettings = ServerConnection.makeSettings({
|
|
65
|
+
baseUrl,
|
|
66
|
+
wsUrl,
|
|
67
|
+
appendToken: true,
|
|
68
|
+
init: {
|
|
69
|
+
credentials: "include",
|
|
70
|
+
mode: 'cors',
|
|
71
|
+
headers,
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
setServerSettings(serverSettings);
|
|
75
|
+
const serviceManager = new ServiceManager({ serverSettings });
|
|
76
|
+
setServiceManager(serviceManager);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
const loginUrl = getJupyterServerHttpUrl() + '/login?next=' + window.location;
|
|
80
|
+
console.warn('Redirecting to jupyter login url', loginUrl);
|
|
81
|
+
window.location.replace(loginUrl);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
54
85
|
setVariant(variant);
|
|
55
|
-
}, [variant]);
|
|
86
|
+
}, [lite, variant]);
|
|
56
87
|
return (_jsx(ReduxProvider, Object.assign({ store: injectableStore }, { children: _jsx(JupyterProvider, Object.assign({ value: {
|
|
88
|
+
lite,
|
|
89
|
+
serverSettings,
|
|
90
|
+
serviceManager,
|
|
57
91
|
variant,
|
|
58
92
|
setVariant,
|
|
59
93
|
baseUrl,
|
|
60
94
|
wsUrl,
|
|
61
|
-
injectableStore
|
|
95
|
+
injectableStore,
|
|
62
96
|
} }, { children: children }), void 0) }), void 0));
|
|
63
97
|
};
|
|
64
98
|
//# sourceMappingURL=JupyterContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JupyterContext.js","sourceRoot":"","sources":["../../src/jupyter/JupyterContext.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAC,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"JupyterContext.js","sourceRoot":"","sources":["../../src/jupyter/JupyterContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { URLExt } from '@jupyterlab/coreutils';
|
|
11
11
|
import { ServerConnection } from '@jupyterlab/services';
|
|
12
|
-
import
|
|
12
|
+
import JupyterAuthError from './JupyterAuthError';
|
|
13
13
|
/**
|
|
14
|
-
* Call the API
|
|
14
|
+
* Call the Jupyter server API.
|
|
15
15
|
*
|
|
16
16
|
* @param endPoint API REST end point for the extension
|
|
17
17
|
* @param init Initial values for the request
|
|
@@ -26,7 +26,7 @@ export function requestAPI(namespace = '', endPoint = '', init = {}) {
|
|
|
26
26
|
try {
|
|
27
27
|
response = yield ServerConnection.makeRequest(requestUrl, init, settings);
|
|
28
28
|
if (response.status === 403) {
|
|
29
|
-
throw new
|
|
29
|
+
throw new JupyterAuthError();
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
catch (error) {
|
|
@@ -47,4 +47,4 @@ export function requestAPI(namespace = '', endPoint = '', init = {}) {
|
|
|
47
47
|
return data;
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
|
-
//# sourceMappingURL=
|
|
50
|
+
//# sourceMappingURL=JupyterHandlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JupyterHandlers.js","sourceRoot":"","sources":["../../src/jupyter/JupyterHandlers.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,UAAgB,UAAU,CAC9B,SAAS,GAAG,EAAE,EACd,QAAQ,GAAG,EAAE,EACb,OAAoB,EAAE;;QAEtB,mCAAmC;QACnC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAC5B,QAAQ,CAAC,OAAO,EAChB,SAAS,EACT,QAAQ,CACT,CAAC;QACF,IAAI,QAAkB,CAAC;QACvB,IAAI;YACF,QAAQ,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;gBAC3B,MAAM,IAAI,gBAAgB,EAAE,CAAC;aAC9B;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAChD;QACD,IAAI,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,IAAI;gBACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACzB;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;aACtD;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,gBAAgB,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;SAC1E;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CAAA"}
|
|
@@ -4,10 +4,10 @@ import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
|
4
4
|
* Widget being mounted in the React.js tree.
|
|
5
5
|
*/
|
|
6
6
|
const IPyWidgetsAttached = (props) => {
|
|
7
|
-
const {
|
|
7
|
+
const { Widget } = props;
|
|
8
8
|
return _jsx("div", { ref: ref => {
|
|
9
9
|
if (ref) {
|
|
10
|
-
new
|
|
10
|
+
new Widget(ref);
|
|
11
11
|
}
|
|
12
12
|
} }, void 0);
|
|
13
13
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ManagerBase } from '@jupyter-widgets/base-manager';
|
|
2
2
|
import '@jupyter-widgets/controls/css/widgets.css';
|
|
3
|
-
declare class IpyWidgetManager extends ManagerBase {
|
|
3
|
+
export declare class IpyWidgetManager extends ManagerBase {
|
|
4
4
|
private el;
|
|
5
5
|
constructor(el: any);
|
|
6
6
|
loadClass(className: string, moduleName: string, moduleVersion: string): Promise<any>;
|
|
@@ -12,7 +12,7 @@ import { ManagerBase } from '@jupyter-widgets/base-manager';
|
|
|
12
12
|
import * as base from '@jupyter-widgets/base';
|
|
13
13
|
import * as controls from '@jupyter-widgets/controls';
|
|
14
14
|
import '@jupyter-widgets/controls/css/widgets.css';
|
|
15
|
-
class IpyWidgetManager extends ManagerBase {
|
|
15
|
+
export class IpyWidgetManager extends ManagerBase {
|
|
16
16
|
constructor(el) {
|
|
17
17
|
super();
|
|
18
18
|
this.el = el;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IpyWidgetsManager.js","sourceRoot":"","sources":["../../../src/jupyter/ipywidgets/IpyWidgetsManager.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AAEtD,OAAO,2CAA2C,CAAC;AAEnD,MAAM,gBAAiB,SAAQ,WAAW;
|
|
1
|
+
{"version":3,"file":"IpyWidgetsManager.js","sourceRoot":"","sources":["../../../src/jupyter/ipywidgets/IpyWidgetsManager.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAC;AAEtD,OAAO,2CAA2C,CAAC;AAEnD,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAE/C,YAAY,EAAO;QACjB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IACK,SAAS,CAAC,SAAiB,EAAE,UAAkB,EAAE,aAAqB;;YAC1E,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM;gBAC1C,IAAI,UAAU,KAAK,2BAA2B,EAAE;oBAC9C,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACnB;qBAAM,IAAI,UAAU,KAAK,uBAAuB,EAAE;oBACjD,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;qBAAM;oBACL,IAAI,QAAQ,GAAG,UAAU,GAAQ;wBAC/B,IAAI,QAAQ,GAAG,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;wBAC3D,IAAI,QAAQ,EAAE;4BACZ,OAAO,CAAC,GAAG,CACT,gCAAgC,UAAU,IAAI,aAAa,EAAE,CAC9D,CAAC;4BACD,MAAc,CAAC,OAAO,CACrB;gCACE,gCAAgC,UAAU,IAAI,aAAa,gBAAgB;6BAC5E,EACD,OAAO,EACP,MAAM,CACP,CAAC;yBACH;6BAAM;4BACL,MAAM,GAAG,CAAC;yBACX;oBACH,CAAC,CAAC;oBACD,MAAc,CAAC,OAAO,CAAC,CAAC,GAAG,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;iBAClE;YACH,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,MAAW;gBAC3B,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE;oBACrB,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;iBAC1B;qBAAM;oBACL,OAAO,OAAO,CAAC,MAAM,CACnB,SAAS,SAAS,wBAAwB,UAAU,IAAI,aAAa,EAAE,CACxE,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IACK,YAAY,CAAC,IAAS;;YAC1B,IAAI,IAAI,GAAG,IAAI,CAAC;YAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI;gBAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IACD,cAAc;QACZ,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,YAAY;QACV,OAAO,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { JupyterLiteServer } from '@jupyterlite/server';
|
|
11
|
+
import { PageConfig } from '@jupyterlab/coreutils';
|
|
12
|
+
const serverExtensions = [
|
|
13
|
+
// import('@jupyterlite/javascript-kernel-extension'),
|
|
14
|
+
import('@datalayer/jupyterlite-ipykernel-extension'),
|
|
15
|
+
import('@datalayer/jupyterlite-server-extension')
|
|
16
|
+
];
|
|
17
|
+
// custom list of disabled plugins.
|
|
18
|
+
const disabled = [
|
|
19
|
+
'@jupyterlab/apputils-extension:workspaces',
|
|
20
|
+
'@jupyterlab/application-extension:logo',
|
|
21
|
+
'@jupyterlab/application-extension:main',
|
|
22
|
+
'@jupyterlab/application-extension:tree-resolver',
|
|
23
|
+
'@jupyterlab/apputils-extension:resolver',
|
|
24
|
+
'@jupyterlab/docmanager-extension:download',
|
|
25
|
+
'@jupyterlab/filebrowser-extension:download',
|
|
26
|
+
'@jupyterlab/filebrowser-extension:share-file',
|
|
27
|
+
'@jupyterlab/help-extension:about',
|
|
28
|
+
/*
|
|
29
|
+
'@jupyterlite/server-extension:contents',
|
|
30
|
+
'@jupyterlite/server-extension:contents-routes',
|
|
31
|
+
'@jupyterlite/server-extension:emscripten-filesystem',
|
|
32
|
+
'@jupyterlite/server-extension:licenses',
|
|
33
|
+
'@jupyterlite/server-extension:licenses-routes',
|
|
34
|
+
'@jupyterlite/server-extension:localforage-memory-storage',
|
|
35
|
+
'@jupyterlite/server-extension:localforage',
|
|
36
|
+
'@jupyterlite/server-extension:nbconvert-routes',
|
|
37
|
+
'@jupyterlite/server-extension:service-worker',
|
|
38
|
+
'@jupyterlite/server-extension:settings',
|
|
39
|
+
'@jupyterlite/server-extension:settings-routes',
|
|
40
|
+
'@jupyterlite/server-extension:translation',
|
|
41
|
+
'@jupyterlite/server-extension:translation-routes',
|
|
42
|
+
*/
|
|
43
|
+
];
|
|
44
|
+
export function startLiteServer() {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
const litePluginsToRegister = [];
|
|
47
|
+
/**
|
|
48
|
+
* Iterate over active plugins in an extension.
|
|
49
|
+
*/
|
|
50
|
+
function* activePlugins(extension) {
|
|
51
|
+
// Handle commonjs or es2015 modules.
|
|
52
|
+
let exports;
|
|
53
|
+
if (extension.hasOwnProperty('__esModule')) {
|
|
54
|
+
exports = extension.default;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
// CommonJS exports.
|
|
58
|
+
exports = extension;
|
|
59
|
+
}
|
|
60
|
+
let plugins = Array.isArray(exports) ? exports : [exports];
|
|
61
|
+
for (let plugin of plugins) {
|
|
62
|
+
if (PageConfig.Extension.isDisabled(plugin.id) ||
|
|
63
|
+
disabled.includes(plugin.id) ||
|
|
64
|
+
disabled.includes(plugin.id.split(':')[0])) {
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
yield plugin;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// Add the base serverlite extensions.
|
|
71
|
+
const baseServerExtensions = yield Promise.all(serverExtensions);
|
|
72
|
+
baseServerExtensions.forEach(p => {
|
|
73
|
+
for (let plugin of activePlugins(p)) {
|
|
74
|
+
litePluginsToRegister.push(plugin);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
// Create the in-browser JupyterLite Server.
|
|
78
|
+
const jupyterLiteServer = new JupyterLiteServer({});
|
|
79
|
+
jupyterLiteServer.registerPluginModules(litePluginsToRegister);
|
|
80
|
+
// Start the server.
|
|
81
|
+
yield jupyterLiteServer.start();
|
|
82
|
+
// Retrieve the custom service manager from the server app.
|
|
83
|
+
const { serviceManager } = jupyterLiteServer;
|
|
84
|
+
return serviceManager;
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=LiteServer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiteServer.js","sourceRoot":"","sources":["../../../src/jupyter/lite/LiteServer.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,MAAM,gBAAgB,GAAG;IACzB,uDAAuD;IACrD,MAAM,CAAC,4CAA4C,CAAC;IACpD,MAAM,CAAC,yCAAyC,CAAC;CAClD,CAAC;AAEF,mCAAmC;AACnC,MAAM,QAAQ,GAAG;IACf,2CAA2C;IAC3C,wCAAwC;IACxC,wCAAwC;IACxC,iDAAiD;IACjD,yCAAyC;IACzC,2CAA2C;IAC3C,4CAA4C;IAC5C,8CAA8C;IAC9C,kCAAkC;IACpC;;;;;;;;;;;;;;MAcE;CACD,CAAC;AAEF,MAAM,UAAgB,eAAe;;QAEnC,MAAM,qBAAqB,GAAU,EAAE,CAAC;QAExC;;WAEG;QACH,QAAQ,CAAC,CAAC,aAAa,CAAC,SAAc;YACpC,qCAAqC;YACrC,IAAI,OAAO,CAAC;YACZ,IAAI,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;gBAC1C,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;aAC7B;iBAAM;gBACL,oBAAoB;gBACpB,OAAO,GAAG,SAAS,CAAC;aACrB;YAED,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3D,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE;gBAC1B,IACE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1C,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5B,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1C;oBACA,SAAS;iBACV;gBACD,MAAM,MAAM,CAAC;aACd;QACH,CAAC;QACD,sCAAsC;QACtC,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACjE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC/B,KAAK,IAAI,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;gBACnC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACpC;QACH,CAAC,CAAC,CAAC;QACH,4CAA4C;QAC5C,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,EAAS,CAAC,CAAC;QAC3D,iBAAiB,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;QAC/D,oBAAoB;QACpB,MAAM,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAChC,2DAA2D;QAC3D,MAAM,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAAC;QAC7C,OAAO,cAAc,CAAC;IACxB,CAAC;CAAA"}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
* The LuminoAttached class allows to render a Lumino
|
|
4
|
-
* Widget being mounted in the React.js tree.
|
|
5
|
-
*/
|
|
6
|
-
declare class LuminoAttached extends React.Component<any> {
|
|
7
|
-
render(): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
8
|
-
}
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
export declare const LuminoAttached: (props: PropsWithChildren<any>) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
3
|
export default LuminoAttached;
|
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
-
import
|
|
2
|
+
import { useRef, useEffect } from 'react';
|
|
3
3
|
import { Widget } from '@lumino/widgets';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
}
|
|
4
|
+
export const LuminoAttached = (props) => {
|
|
5
|
+
const ref = useRef(null);
|
|
6
|
+
const { children } = props;
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
Widget.attach(children, ref.current);
|
|
9
|
+
return () => {
|
|
10
|
+
try {
|
|
11
|
+
Widget.detach(children);
|
|
12
|
+
}
|
|
13
|
+
catch (e) {
|
|
14
|
+
console.warn('Exception while detaching Lumino widget.', e);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}, []);
|
|
18
|
+
return _jsx("div", { ref: ref }, void 0);
|
|
19
|
+
};
|
|
22
20
|
export default LuminoAttached;
|
|
23
21
|
//# sourceMappingURL=LuminoAttached.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LuminoAttached.js","sourceRoot":"","sources":["../../../src/jupyter/lumino/LuminoAttached.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"LuminoAttached.js","sourceRoot":"","sources":["../../../src/jupyter/lumino/LuminoAttached.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAqB,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA6B,EAAE,EAAE;IAC9D,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,CAAC,MAAM,CAAC,QAAe,EAAE,GAAG,CAAC,OAAQ,CAAC,CAAC;QAC7C,OAAO,GAAG,EAAE;YACV,IAAI;gBACF,MAAM,CAAC,MAAM,CAAC,QAAe,CAAC,CAAC;aAChC;YAAC,OAAM,CAAC,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;aAC7D;QACH,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,cAAK,GAAG,EAAE,GAAG,WAAG,CAAA;AACzB,CAAC,CAAA;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -3,7 +3,7 @@ import React from 'react';
|
|
|
3
3
|
* The LuminoDetached class allows to render a Lumino
|
|
4
4
|
* Widget not being mounted in the React.js tree.
|
|
5
5
|
*/
|
|
6
|
-
declare class LuminoDetached extends React.Component {
|
|
6
|
+
export declare class LuminoDetached extends React.Component {
|
|
7
7
|
render(): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
8
8
|
}
|
|
9
9
|
export default LuminoDetached;
|
|
@@ -4,7 +4,7 @@ import React from 'react';
|
|
|
4
4
|
* The LuminoDetached class allows to render a Lumino
|
|
5
5
|
* Widget not being mounted in the React.js tree.
|
|
6
6
|
*/
|
|
7
|
-
class LuminoDetached extends React.Component {
|
|
7
|
+
export class LuminoDetached extends React.Component {
|
|
8
8
|
render() {
|
|
9
9
|
return _jsx("div", { ref: ref => { } }, void 0);
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LuminoDetached.js","sourceRoot":"","sources":["../../../src/jupyter/lumino/LuminoDetached.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;GAGG;AACH,MAAM,cAAe,SAAQ,KAAK,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"LuminoDetached.js","sourceRoot":"","sources":["../../../src/jupyter/lumino/LuminoDetached.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK,CAAC,SAAS;IACjD,MAAM;QACJ,OAAO,cAAK,GAAG,EAAE,GAAG,CAAC,EAAE,GAAE,CAAC,WAAQ,CAAC;IACrC,CAAC;CACF;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { useRef, useEffect } from 'react';
|
|
3
|
+
import { Widget } from '@lumino/widgets';
|
|
4
|
+
export const LuminoNotebook = (props) => {
|
|
5
|
+
const { adapter } = props;
|
|
6
|
+
const panel = adapter.panel;
|
|
7
|
+
const ref = useRef(null);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
if (!panel) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
Widget.attach(panel, ref.current);
|
|
13
|
+
return () => {
|
|
14
|
+
if (panel.isAttached) {
|
|
15
|
+
try {
|
|
16
|
+
Widget.detach(panel);
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
console.warn('Exception while detaching Lumino widget.', e);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
adapter.dispose();
|
|
23
|
+
};
|
|
24
|
+
}, [adapter.uid]);
|
|
25
|
+
return _jsx("div", { ref: ref }, void 0);
|
|
26
|
+
};
|
|
27
|
+
export default LuminoNotebook;
|
|
28
|
+
//# sourceMappingURL=LuminoNotebook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LuminoNotebook.js","sourceRoot":"","sources":["../../../src/jupyter/lumino/LuminoNotebook.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAkC,EAAE,EAAE;IACnE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,OAAQ,CAAC,CAAC;QACnC,OAAO,GAAG,EAAE;YACV,IAAI,KAAK,CAAC,UAAU,EAAE;gBACpB,IAAI;oBACF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACtB;gBAAC,OAAM,CAAC,EAAE;oBACT,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;iBAC7D;aACF;YACD,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAClB,OAAO,cAAK,GAAG,EAAE,GAAG,WAAG,CAAA;AACzB,CAAC,CAAA;AAED,eAAe,cAAc,CAAC"}
|