@datalayer/jupyter-react 0.6.1 → 0.6.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/README.md +4 -0
- package/lib/app/JupyterReact.d.ts +5 -1
- package/lib/app/JupyterReact.js +5 -4
- package/lib/app/JupyterReact.js.map +1 -1
- package/lib/app/tabs/AboutTab.js +9 -3
- package/lib/app/tabs/AboutTab.js.map +1 -1
- package/lib/app/tabs/ComponentsTab.d.ts +3 -0
- package/lib/app/tabs/ComponentsTab.js +16 -0
- package/lib/app/tabs/ComponentsTab.js.map +1 -0
- package/lib/app/tabs/content/Content.d.ts +3 -0
- package/lib/app/tabs/content/Content.js +7 -0
- package/lib/app/tabs/content/Content.js.map +1 -0
- package/lib/components/cell/CellAdapter.js +3 -3
- package/lib/components/cell/CellAdapter.js.map +1 -1
- package/lib/components/notebook/Notebook.d.ts +18 -9
- package/lib/components/notebook/Notebook.js +10 -7
- package/lib/components/notebook/Notebook.js.map +1 -1
- package/lib/components/notebook/NotebookAdapter.d.ts +15 -12
- package/lib/components/notebook/NotebookAdapter.js +91 -87
- package/lib/components/notebook/NotebookAdapter.js.map +1 -1
- package/lib/components/notebook/NotebookCommands.d.ts +2 -2
- package/lib/components/notebook/NotebookCommands.js +18 -1
- package/lib/components/notebook/NotebookCommands.js.map +1 -1
- package/lib/components/notebook/NotebookState.js +1 -1
- package/lib/components/notebook/model/JupyterReactNotebookModelFactory.d.ts +2 -0
- package/lib/components/notebook/model/JupyterReactNotebookModelFactory.js +10 -4
- package/lib/components/notebook/model/JupyterReactNotebookModelFactory.js.map +1 -1
- package/lib/components/output/OutputAdapter.js +2 -2
- package/lib/components/output/OutputAdapter.js.map +1 -1
- package/lib/components/terminal/Terminal.js +4 -7
- package/lib/components/terminal/Terminal.js.map +1 -1
- package/lib/components/terminal/TerminalAdapter.js +2 -2
- package/lib/components/terminal/TerminalAdapter.js.map +1 -1
- package/lib/examples/All.js +32 -108
- package/lib/examples/All.js.map +1 -1
- package/lib/examples/Bokeh.js +3 -3
- package/lib/examples/Bokeh.js.map +1 -1
- package/lib/examples/Bqplot.js +5 -3
- package/lib/examples/Bqplot.js.map +1 -1
- package/lib/examples/Cell.js +1 -1
- package/lib/examples/Cell.js.map +1 -1
- package/lib/examples/Cells.js +1 -1
- package/lib/examples/Cells.js.map +1 -1
- package/lib/examples/Dashboard.js +1 -1
- package/lib/examples/Dashboard.js.map +1 -1
- package/lib/examples/FileBrowser.js +1 -1
- package/lib/examples/FileBrowser.js.map +1 -1
- package/lib/examples/{NotebookGeoJson.js → GeoJson.js} +6 -7
- package/lib/examples/GeoJson.js.map +1 -0
- package/lib/examples/IPyReact.js +4 -2
- package/lib/examples/IPyReact.js.map +1 -1
- package/lib/examples/IPyWidgets.js +2 -2
- package/lib/examples/IPyWidgets.js.map +1 -1
- package/lib/examples/{NotebookRedux.js → InjectableStore.js} +1 -1
- package/lib/examples/InjectableStore.js.map +1 -0
- package/lib/examples/Matplotlib.js +17 -0
- package/lib/examples/Matplotlib.js.map +1 -0
- package/lib/examples/Notebook.js +2 -2
- package/lib/examples/Notebook.js.map +1 -1
- package/lib/examples/NotebookKernelChange.js +2 -2
- package/lib/examples/NotebookKernelChange.js.map +1 -1
- package/lib/examples/NotebookModel.js +2 -2
- package/lib/examples/NotebookModel.js.map +1 -1
- package/lib/examples/NotebookModelChange.js +3 -2
- package/lib/examples/NotebookModelChange.js.map +1 -1
- package/lib/examples/{NotebookPanel.js → Panel.js} +6 -3
- package/lib/examples/Panel.js.map +1 -0
- package/lib/examples/{NotebookPlotly.js → Plotly.js} +4 -4
- package/lib/examples/Plotly.js.map +1 -0
- package/lib/examples/Terminal.js +1 -1
- package/lib/examples/Terminal.js.map +1 -1
- package/lib/examples/Vega.d.ts +1 -0
- package/lib/examples/Vega.js +17 -0
- package/lib/examples/Vega.js.map +1 -0
- package/lib/examples/samples/IPyWidgetsExample1.ipynb.json +6 -32
- package/lib/examples/samples/{NotebookMatplotlib.ipynb.json → Matplotlib.ipynb.json} +16 -18
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/jupyter/Jupyter.d.ts +7 -27
- package/lib/jupyter/Jupyter.js +10 -24
- package/lib/jupyter/Jupyter.js.map +1 -1
- package/lib/jupyter/JupyterConfig.d.ts +3 -0
- package/lib/jupyter/JupyterConfig.js +52 -25
- package/lib/jupyter/JupyterConfig.js.map +1 -1
- package/lib/jupyter/JupyterContext.js +1 -2
- package/lib/jupyter/JupyterContext.js.map +1 -1
- package/lib/jupyter/ipywidgets/IPyWidgetsManager.d.ts +16 -7
- package/lib/jupyter/ipywidgets/IPyWidgetsManager.js +67 -48
- package/lib/jupyter/ipywidgets/IPyWidgetsManager.js.map +1 -1
- package/lib/jupyter/ipywidgets/IPyWidgetsViewManager.d.ts +10 -0
- package/lib/jupyter/ipywidgets/IPyWidgetsViewManager.js +58 -0
- package/lib/jupyter/ipywidgets/IPyWidgetsViewManager.js.map +1 -0
- package/lib/jupyter/ipywidgets/lab/manager.d.ts +185 -0
- package/lib/jupyter/ipywidgets/lab/manager.js +466 -0
- package/lib/jupyter/ipywidgets/lab/manager.js.map +1 -0
- package/lib/jupyter/ipywidgets/lab/output.d.ts +38 -0
- package/lib/jupyter/ipywidgets/lab/output.js +133 -0
- package/lib/jupyter/ipywidgets/lab/output.js.map +1 -0
- package/lib/jupyter/ipywidgets/lab/plugin.d.ts +50 -0
- package/lib/jupyter/ipywidgets/lab/plugin.js +254 -0
- package/lib/jupyter/ipywidgets/lab/plugin.js.map +1 -0
- package/lib/jupyter/ipywidgets/lab/renderer.d.ts +26 -0
- package/lib/jupyter/ipywidgets/lab/renderer.js +98 -0
- package/lib/jupyter/ipywidgets/lab/renderer.js.map +1 -0
- package/lib/jupyter/ipywidgets/lab/semvercache.d.ts +9 -0
- package/lib/jupyter/ipywidgets/lab/semvercache.js +35 -0
- package/lib/jupyter/ipywidgets/lab/semvercache.js.map +1 -0
- package/lib/jupyter/lab/JupyterLabCss.d.ts +20 -0
- package/lib/jupyter/lab/JupyterLabCss.js +21 -0
- package/lib/jupyter/lab/JupyterLabCss.js.map +1 -0
- package/lib/jupyter/lab/index.js +2 -2
- package/lib/jupyter/lab/index.js.map +1 -1
- package/lib/jupyter/lab/widget.d.ts +3 -1
- package/lib/jupyter/lab/widget.js +4 -2
- package/lib/jupyter/lab/widget.js.map +1 -1
- package/lib/jupyter/lumino/IPyWidgetsAttached.js +2 -2
- package/lib/jupyter/lumino/IPyWidgetsAttached.js.map +1 -1
- package/lib/jupyter/services/kernel/Kernel.d.ts +6 -2
- package/lib/jupyter/services/kernel/Kernel.js +20 -6
- package/lib/jupyter/services/kernel/Kernel.js.map +1 -1
- package/package.json +9 -7
- package/style/base.css +0 -20
- package/lib/app/tabs/PluginsTab.d.ts +0 -2
- package/lib/app/tabs/PluginsTab.js +0 -6
- package/lib/app/tabs/PluginsTab.js.map +0 -1
- package/lib/examples/NotebookGeoJson.js.map +0 -1
- package/lib/examples/NotebookMatplotlib.js +0 -15
- package/lib/examples/NotebookMatplotlib.js.map +0 -1
- package/lib/examples/NotebookPanel.js.map +0 -1
- package/lib/examples/NotebookPlotly.js.map +0 -1
- package/lib/examples/NotebookRedux.js.map +0 -1
- package/lib/jupyter/ipywidgets/IPyWidgetsClassicManager.d.ts +0 -18
- package/lib/jupyter/ipywidgets/IPyWidgetsClassicManager.js +0 -76
- package/lib/jupyter/ipywidgets/IPyWidgetsClassicManager.js.map +0 -1
- package/lib/jupyter/ipywidgets/IPyWidgetsJupyterLabPlugin.d.ts +0 -13
- package/lib/jupyter/ipywidgets/IPyWidgetsJupyterLabPlugin.js +0 -182
- package/lib/jupyter/ipywidgets/IPyWidgetsJupyterLabPlugin.js.map +0 -1
- /package/lib/examples/{NotebookGeoJson.d.ts → GeoJson.d.ts} +0 -0
- /package/lib/examples/{NotebookMatplotlib.d.ts → InjectableStore.d.ts} +0 -0
- /package/lib/examples/{NotebookPanel.d.ts → Matplotlib.d.ts} +0 -0
- /package/lib/examples/{NotebookPlotly.d.ts → Panel.d.ts} +0 -0
- /package/lib/examples/{NotebookRedux.d.ts → Plotly.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -39,3 +39,7 @@ Jupyter React can be used in any React.js application. Install the latest `@data
|
|
|
39
39
|
<div align="center" style="text-align: center">
|
|
40
40
|
<img alt="Jupyter React Slate" src="https://datalayer-jupyter-examples.s3.amazonaws.com/jupyter-react-notebook.png" />
|
|
41
41
|
</div>
|
|
42
|
+
|
|
43
|
+
## Releases
|
|
44
|
+
|
|
45
|
+
Jupyter React is released in [Npm.js](https://www.npmjs.com/package/@datalayer/jupyter-react) and [PyPI](https://pypi.org/project/jupyter-react).
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
import { JupyterFrontEnd } from '@jupyterlab/application';
|
|
2
|
+
export type JupyterFrontEndProps = {
|
|
3
|
+
app?: JupyterFrontEnd;
|
|
4
|
+
};
|
|
5
|
+
declare const JupyterReact: (props: JupyterFrontEndProps) => JSX.Element;
|
|
2
6
|
export default JupyterReact;
|
package/lib/app/JupyterReact.js
CHANGED
|
@@ -2,12 +2,13 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { useState, useEffect } from 'react';
|
|
3
3
|
import { ThemeProvider, BaseStyles, Box } from '@primer/react';
|
|
4
4
|
import { UnderlineNav } from '@primer/react/drafts';
|
|
5
|
-
import { ReactJsIcon
|
|
5
|
+
import { ReactJsIcon, RingedPlanetIcon } from '@datalayer/icons-react';
|
|
6
6
|
import { ServerConnection } from '@jupyterlab/services';
|
|
7
7
|
import AboutTab from './tabs/AboutTab';
|
|
8
|
-
import
|
|
8
|
+
import ComponentsTab from './tabs/ComponentsTab';
|
|
9
9
|
import { requestAPI } from '../jupyter/JupyterHandlers';
|
|
10
|
-
const JupyterReact = () => {
|
|
10
|
+
const JupyterReact = (props) => {
|
|
11
|
+
const { app } = props;
|
|
11
12
|
const [tab, setTab] = useState(1);
|
|
12
13
|
const [version, setVersion] = useState('');
|
|
13
14
|
useEffect(() => {
|
|
@@ -19,7 +20,7 @@ const JupyterReact = () => {
|
|
|
19
20
|
console.error(`The Jupyter Server jupyter_react extension appears to be missing.\n${reason}`);
|
|
20
21
|
});
|
|
21
22
|
});
|
|
22
|
-
return (_jsx(_Fragment, { children: _jsx(ThemeProvider, { children: _jsx(BaseStyles, { children: _jsxs(Box, { style: { maxWidth: 700 }, children: [_jsx(Box, { mb: 3, children: _jsxs(UnderlineNav, { "aria-label": "jupyter-react", children: [_jsx(UnderlineNav.Item, { "aria-current": "page", icon:
|
|
23
|
+
return (_jsx(_Fragment, { children: _jsx(ThemeProvider, { children: _jsx(BaseStyles, { children: _jsxs(Box, { style: { maxWidth: 700 }, children: [_jsx(Box, { mb: 3, children: _jsxs(UnderlineNav, { "aria-label": "jupyter-react", children: [_jsx(UnderlineNav.Item, { "aria-current": "page", icon: RingedPlanetIcon, onSelect: e => { e.preventDefault(); setTab(1); }, children: "Components" }), _jsx(UnderlineNav.Item, { icon: ReactJsIcon, onSelect: e => { e.preventDefault(); setTab(2); }, children: "About" })] }) }), _jsxs(Box, { m: 3, children: [(tab === 1) && _jsx(ComponentsTab, { app: app }), (tab === 2) && _jsx(AboutTab, { version: version })] })] }) }) }) }));
|
|
23
24
|
};
|
|
24
25
|
export default JupyterReact;
|
|
25
26
|
//# sourceMappingURL=JupyterReact.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JupyterReact.js","sourceRoot":"","sources":["../../src/app/JupyterReact.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"JupyterReact.js","sourceRoot":"","sources":["../../src/app/JupyterReact.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,aAAa,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAMxD,MAAM,YAAY,GAAG,CAAC,KAA2B,EAAe,EAAE;IAChE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACtB,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3C,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAM,gBAAgB,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC;aAC9E,IAAI,CAAC,IAAI,CAAC,EAAE;YACX,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC;aACD,KAAK,CAAC,MAAM,CAAC,EAAE;YACd,OAAO,CAAC,KAAK,CACX,sEAAsE,MAAM,EAAE,CAC/E,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,CACL,4BACE,KAAC,aAAa,cACZ,KAAC,UAAU,cACT,MAAC,GAAG,IAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,GAAG,EAAC,aACzB,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,YACR,MAAC,YAAY,kBAAY,eAAe,aACtC,KAAC,YAAY,CAAC,IAAI,oBAAc,MAAM,EAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,2BAE1F,EACpB,KAAC,YAAY,CAAC,IAAI,IAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,sBAEjE,IACP,GACX,EACN,MAAC,GAAG,IAAC,CAAC,EAAE,CAAC,aACN,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,KAAC,aAAa,IAAC,GAAG,EAAE,GAAG,GAAG,EACzC,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,KAAC,QAAQ,IAAC,OAAO,EAAE,OAAO,GAAG,IACzC,IACF,GACK,GACC,GACf,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
package/lib/app/tabs/AboutTab.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Pagehead, Label, Text, Link, Box } from '@primer/react';
|
|
4
|
+
import PirateSkull2Icon from '@datalayer/icons-react/eggs/PirateSkull2Icon';
|
|
3
5
|
const AboutTab = (props) => {
|
|
4
6
|
const { version } = props;
|
|
5
|
-
|
|
7
|
+
const [pirate, setPirate] = useState(false);
|
|
8
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Pagehead, { as: "h3", children: ["Jupyter React", _jsx(Label, { sx: { marginLeft: 1 }, children: version })] }), _jsx(Box, { children: _jsx(Text, { children: "\uD83E\uDE90 \u269B\uFE0F React.js components \uD83D\uDCAF% compatible with Jupyter." }) }), _jsx(Box, { mt: 3, children: !pirate ?
|
|
9
|
+
_jsx("img", { src: "https://assets.datalayer.tech/releases/0.2.0-omalley.png", onClick: e => setPirate(true) })
|
|
10
|
+
:
|
|
11
|
+
_jsx(PirateSkull2Icon, { size: 500, onClick: e => setPirate(false) }) }), _jsx(Box, { children: _jsx(Link, { href: "https://datalayer.tech/docs/releases/0.2.0-omalley", target: "_blank", children: _jsx(Text, { as: "h4", children: "O'Malley release" }) }) }), _jsx(Box, { children: _jsx(Link, { href: "https://github.com/datalayer/jupyter-ui/tree/main/packages/react", target: "_blank", children: _jsx(Text, { as: "h4", children: "Source code" }) }) })] }));
|
|
6
12
|
};
|
|
7
13
|
export default AboutTab;
|
|
8
14
|
//# sourceMappingURL=AboutTab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AboutTab.js","sourceRoot":"","sources":["../../../src/app/tabs/AboutTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"AboutTab.js","sourceRoot":"","sources":["../../../src/app/tabs/AboutTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAM5E,MAAM,QAAQ,GAAG,CAAC,KAAY,EAAe,EAAE;IAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,OAAO,CACL,8BACE,MAAC,QAAQ,IAAC,EAAE,EAAC,IAAI,8BAAc,KAAC,KAAK,IAAC,EAAE,EAAE,EAAC,UAAU,EAAE,CAAC,EAAC,YAAG,OAAO,GAAS,IAAW,EACvF,KAAC,GAAG,cACF,KAAC,IAAI,uGAA8D,GAC/D,EACN,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,YACP,CAAC,MAAM,CAAC,CAAC;oBACR,cAAK,GAAG,EAAC,0DAA0D,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;oBAClG,CAAC;wBACH,KAAC,gBAAgB,IAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAE5D,EACN,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,IAAI,EAAC,oDAAoD,EAAC,MAAM,EAAC,QAAQ,YAC7E,KAAC,IAAI,IAAC,EAAE,EAAC,IAAI,iCAAwB,GAChC,GACH,EACN,KAAC,GAAG,cACF,KAAC,IAAI,IAAC,IAAI,EAAC,kEAAkE,EAAC,MAAM,EAAC,QAAQ,YAC3F,KAAC,IAAI,IAAC,EAAE,EAAC,IAAI,4BAAmB,GAC3B,GACH,IACL,CACJ,CAAC;AACJ,CAAC,CAAA;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { RingedPlanetIcon } from '@datalayer/icons-react';
|
|
4
|
+
import { Box, NavList } from '@primer/react';
|
|
5
|
+
import Content from './content/Content';
|
|
6
|
+
const MainTab = (props) => {
|
|
7
|
+
const { app } = props;
|
|
8
|
+
const [nav, setNav] = useState(1);
|
|
9
|
+
return (_jsx(_Fragment, { children: _jsxs(Box, { sx: { display: 'flex' }, children: [_jsx(Box, { children: _jsx(NavList, { sx: {
|
|
10
|
+
'> *': {
|
|
11
|
+
paddingTop: '0px'
|
|
12
|
+
}
|
|
13
|
+
}, children: _jsxs(NavList.Item, { "aria-current": nav === 1 ? 'page' : undefined, onClick: e => setNav(1), children: [_jsx(NavList.LeadingVisual, { children: _jsx(RingedPlanetIcon, {}) }), "Jupyter React"] }) }) }), _jsx(Box, { ml: 3, sx: { width: '100%' }, children: (nav === 1) && _jsx(Content, { app: app }) })] }) }));
|
|
14
|
+
};
|
|
15
|
+
export default MainTab;
|
|
16
|
+
//# sourceMappingURL=ComponentsTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComponentsTab.js","sourceRoot":"","sources":["../../../src/app/tabs/ComponentsTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAExC,MAAM,OAAO,GAAG,CAAC,KAA2B,EAAE,EAAE;IAC9C,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACtB,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClC,OAAO,CACL,4BACE,MAAC,GAAG,IAAC,EAAE,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,aACxB,KAAC,GAAG,cACF,KAAC,OAAO,IAAC,EAAE,EAAE;4BACX,KAAK,EAAE;gCACL,UAAU,EAAE,KAAK;6BAClB;yBACF,YACC,MAAC,OAAO,CAAC,IAAI,oBAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,aACjF,KAAC,OAAO,CAAC,aAAa,cACpB,KAAC,gBAAgB,KAAG,GACE,qBAEX,GACP,GACN,EACN,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAC,YAC7B,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,KAAC,OAAO,IAAC,GAAG,EAAE,GAAG,GAAI,GACjC,IACF,GACL,CACJ,CAAC;AACJ,CAAC,CAAA;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Text } from '@primer/react';
|
|
3
|
+
const Content = (props) => {
|
|
4
|
+
return (_jsx(_Fragment, { children: _jsx(Text, { children: "Jupyter React" }) }));
|
|
5
|
+
};
|
|
6
|
+
export default Content;
|
|
7
|
+
//# sourceMappingURL=Content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Content.js","sourceRoot":"","sources":["../../../../src/app/tabs/content/Content.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,MAAM,OAAO,GAAG,CAAC,KAA2B,EAAE,EAAE;IAC9C,OAAO,CACL,4BACE,KAAC,IAAI,gCAAqB,GACzB,CACJ,CAAA;AACH,CAAC,CAAA;AAED,eAAe,OAAO,CAAC"}
|
|
@@ -10,7 +10,7 @@ import { SessionManager, KernelManager, KernelSpecManager } from '@jupyterlab/se
|
|
|
10
10
|
import { createStandaloneCell } from '@jupyter/ydoc';
|
|
11
11
|
import { requireLoader } from "@jupyter-widgets/html-manager";
|
|
12
12
|
import { WIDGET_MIMETYPE, WidgetRenderer } from "@jupyter-widgets/html-manager/lib/output_renderers";
|
|
13
|
-
import {
|
|
13
|
+
import { IPyWidgetsManager } from "../../jupyter/ipywidgets/IPyWidgetsManager";
|
|
14
14
|
import CellCommands from './CellCommands';
|
|
15
15
|
export class CellAdapter {
|
|
16
16
|
_panel;
|
|
@@ -29,7 +29,7 @@ export class CellAdapter {
|
|
|
29
29
|
});
|
|
30
30
|
const kernelPreference = kernel
|
|
31
31
|
? {
|
|
32
|
-
id: kernel.
|
|
32
|
+
id: kernel.serverId,
|
|
33
33
|
shouldStart: true,
|
|
34
34
|
autoStartDefault: false,
|
|
35
35
|
} : {
|
|
@@ -88,7 +88,7 @@ export class CellAdapter {
|
|
|
88
88
|
commands.processKeydownEvent(event);
|
|
89
89
|
}, useCapture);
|
|
90
90
|
const rendermime = new RenderMimeRegistry({ initialFactories });
|
|
91
|
-
const iPyWidgetsClassicManager = new
|
|
91
|
+
const iPyWidgetsClassicManager = new IPyWidgetsManager({ loader: requireLoader });
|
|
92
92
|
rendermime.addFactory({
|
|
93
93
|
safe: false,
|
|
94
94
|
mimeTypes: [WIDGET_MIMETYPE],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellAdapter.js","sourceRoot":"","sources":["../../../src/components/cell/CellAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC5K,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrI,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC3G,OAAO,EAA6B,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAqB,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AACrG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CellAdapter.js","sourceRoot":"","sources":["../../../src/components/cell/CellAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,21 +4,30 @@ import { INotebookContent } from '@jupyterlab/nbformat';
|
|
|
4
4
|
import { Kernel } from "./../../jupyter/services/kernel/Kernel";
|
|
5
5
|
import { CellSidebarProps } from './cell/sidebar/lumino/CellSidebarWidget';
|
|
6
6
|
import './Notebook.css';
|
|
7
|
+
export type ExternalIPyWidgets = {
|
|
8
|
+
name: string;
|
|
9
|
+
version: string;
|
|
10
|
+
};
|
|
11
|
+
export type BundledIPyWidgets = ExternalIPyWidgets & {
|
|
12
|
+
module: any;
|
|
13
|
+
};
|
|
7
14
|
export type INotebookProps = {
|
|
8
|
-
uid: string;
|
|
9
|
-
path: string;
|
|
10
|
-
nbformat: INotebookContent;
|
|
11
|
-
kernel?: Kernel;
|
|
12
|
-
readOnly: boolean;
|
|
13
|
-
nbgrader: boolean;
|
|
14
|
-
ipywidgets: 'classic' | 'lab';
|
|
15
15
|
cellMetadataPanel: boolean;
|
|
16
|
-
CellSidebar?: (props: CellSidebarProps) => JSX.Element;
|
|
17
16
|
cellSidebarMargin: number;
|
|
18
|
-
Toolbar?: (props: any) => JSX.Element;
|
|
19
17
|
height?: string;
|
|
18
|
+
ipywidgets: 'classic' | 'lab';
|
|
19
|
+
bundledIPyWidgets?: BundledIPyWidgets[];
|
|
20
|
+
externalIPyWidgets?: ExternalIPyWidgets[];
|
|
21
|
+
kernel?: Kernel;
|
|
20
22
|
maxHeight?: string;
|
|
23
|
+
nbformat?: INotebookContent;
|
|
24
|
+
nbgrader: boolean;
|
|
25
|
+
path?: string;
|
|
26
|
+
readOnly: boolean;
|
|
21
27
|
renderers: IRenderMime.IRendererFactory[];
|
|
28
|
+
uid: string;
|
|
29
|
+
CellSidebar?: (props: CellSidebarProps) => JSX.Element;
|
|
30
|
+
Toolbar?: (props: any) => JSX.Element;
|
|
22
31
|
};
|
|
23
32
|
/**
|
|
24
33
|
* This component creates a Notebook as a collection of snippets
|
|
@@ -20,8 +20,8 @@ import './Notebook.css';
|
|
|
20
20
|
*/
|
|
21
21
|
export const Notebook = (props) => {
|
|
22
22
|
const { serviceManager, defaultKernel, kernelManager, injectableStore } = useJupyter();
|
|
23
|
-
const { kernel, readOnly, nbgrader,
|
|
24
|
-
const [uid] = useState(
|
|
23
|
+
const { kernel, readOnly, nbgrader, height, maxHeight, nbformat, Toolbar } = props;
|
|
24
|
+
const [uid] = useState(props.uid || newUuid());
|
|
25
25
|
const effectiveKernel = kernel || defaultKernel;
|
|
26
26
|
const dispatch = useDispatch();
|
|
27
27
|
const portals = selectNotebookPortals(uid);
|
|
@@ -85,14 +85,17 @@ export const Notebook = (props) => {
|
|
|
85
85
|
dispatch(notebookActions.dispose(uid));
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
|
-
}, [uid, serviceManager, kernelManager, effectiveKernel]);
|
|
89
|
-
return (_jsxs("div", { style: { height, width: '100%', position: "relative" }, id: "dla-Jupyter-Notebook", children: [
|
|
88
|
+
}, [uid, serviceManager, kernelManager, effectiveKernel, nbformat]);
|
|
89
|
+
return (_jsxs("div", { style: { height, width: '100%', position: "relative" }, id: "dla-Jupyter-Notebook", children: [Toolbar && _jsx(Toolbar, { notebookId: props.uid }), _jsxs(Box, { className: "box-notebook", sx: {
|
|
90
90
|
'& .dla-Jupyter-Notebook': {
|
|
91
91
|
height,
|
|
92
92
|
maxHeight,
|
|
93
93
|
width: '100%',
|
|
94
94
|
overflowY: 'hidden',
|
|
95
95
|
},
|
|
96
|
+
'& .dla-NotebookPanel-header': {
|
|
97
|
+
minHeight: '50px',
|
|
98
|
+
},
|
|
96
99
|
'& .jp-Notebook': {
|
|
97
100
|
flex: '1 1 auto !important',
|
|
98
101
|
height: '100%',
|
|
@@ -142,13 +145,13 @@ export const Notebook = (props) => {
|
|
|
142
145
|
_jsx(Lumino, { children: adapter.panel }) })] })] }));
|
|
143
146
|
};
|
|
144
147
|
Notebook.defaultProps = {
|
|
145
|
-
ipywidgets: 'classic',
|
|
146
|
-
readOnly: false,
|
|
147
|
-
nbgrader: false,
|
|
148
148
|
cellMetadataPanel: false,
|
|
149
149
|
cellSidebarMargin: 120,
|
|
150
150
|
height: '100vh',
|
|
151
|
+
ipywidgets: 'lab',
|
|
151
152
|
maxHeight: '100vh',
|
|
153
|
+
nbgrader: false,
|
|
154
|
+
readOnly: false,
|
|
152
155
|
renderers: [],
|
|
153
156
|
};
|
|
154
157
|
export default Notebook;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Notebook.js","sourceRoot":"","sources":["../../../src/components/notebook/Notebook.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAIpC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,MAAM,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AAEpE,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEzG,OAAO,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"Notebook.js","sourceRoot":"","sources":["../../../src/components/notebook/Notebook.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,27 +8,30 @@ import { Kernel } from "./../../jupyter/services/kernel/Kernel";
|
|
|
8
8
|
import { INotebookProps } from './Notebook';
|
|
9
9
|
export declare class NotebookAdapter {
|
|
10
10
|
private _boxPanel;
|
|
11
|
-
private _notebookPanel?;
|
|
12
|
-
private _uid;
|
|
13
|
-
private _serviceManager;
|
|
14
11
|
private _commandRegistry;
|
|
15
|
-
private
|
|
16
|
-
private
|
|
17
|
-
private
|
|
18
|
-
private _kernel?;
|
|
19
|
-
private _store?;
|
|
20
|
-
private _ipywidgets?;
|
|
12
|
+
private _context?;
|
|
13
|
+
private _bundledIPyWidgets?;
|
|
14
|
+
private _externalIPyWidgets?;
|
|
21
15
|
private _iPyWidgetsClassicManager?;
|
|
22
|
-
private
|
|
16
|
+
private _ipywidgets;
|
|
17
|
+
private _kernel;
|
|
18
|
+
private _nbformat?;
|
|
23
19
|
private _nbgrader;
|
|
24
|
-
private
|
|
20
|
+
private _notebookPanel?;
|
|
21
|
+
private _path?;
|
|
22
|
+
private _readOnly;
|
|
25
23
|
private _renderers;
|
|
26
24
|
private _rendermime?;
|
|
25
|
+
private _serviceManager;
|
|
26
|
+
private _store?;
|
|
27
|
+
private _tracker?;
|
|
28
|
+
private _uid;
|
|
29
|
+
private _CellSidebar?;
|
|
27
30
|
constructor(props: INotebookProps, store: any, serviceManager: ServiceManager);
|
|
28
31
|
private loadNotebook;
|
|
29
32
|
setNbformat(nbformat: INotebookContent): void;
|
|
30
33
|
setupCompleter(notebookPanel: NotebookPanel): CompletionHandler;
|
|
31
|
-
|
|
34
|
+
assignKernel(kernel: Kernel): void;
|
|
32
35
|
get uid(): string;
|
|
33
36
|
get notebookPanel(): NotebookPanel | undefined;
|
|
34
37
|
get commands(): CommandRegistry;
|
|
@@ -4,7 +4,7 @@ import { DocumentRegistry, Context } from '@jupyterlab/docregistry';
|
|
|
4
4
|
import { standardRendererFactories, RenderMimeRegistry } from '@jupyterlab/rendermime';
|
|
5
5
|
import { rendererFactory as jsonRendererFactory } from '@jupyterlab/json-extension';
|
|
6
6
|
import { rendererFactory as javascriptRendererFactory } from '@jupyterlab/javascript-extension';
|
|
7
|
-
import { NotebookPanel, NotebookWidgetFactory, NotebookTracker
|
|
7
|
+
import { NotebookPanel, NotebookWidgetFactory, NotebookTracker } from '@jupyterlab/notebook';
|
|
8
8
|
import { CodeMirrorEditorFactory, CodeMirrorMimeTypeService, EditorLanguageRegistry, EditorExtensionRegistry, EditorThemeRegistry, ybinding } from '@jupyterlab/codemirror';
|
|
9
9
|
import { Completer, CompleterModel, CompletionHandler, ProviderReconciliator, KernelCompleterProvider } from '@jupyterlab/completer';
|
|
10
10
|
import { MathJaxTypesetter } from '@jupyterlab/mathjax-extension';
|
|
@@ -13,46 +13,53 @@ import { WIDGET_MIMETYPE, WidgetRenderer } from "@jupyter-widgets/html-manager/l
|
|
|
13
13
|
import JupyterReactContentFactory from './content/JupyterReactContentFactory';
|
|
14
14
|
import JupyterReactNotebookModelFactory from './model/JupyterReactNotebookModelFactory';
|
|
15
15
|
import { NotebookCommands } from './NotebookCommands';
|
|
16
|
-
import {
|
|
17
|
-
import { activateWidgetExtension } from "./../../jupyter/ipywidgets/IPyWidgetsJupyterLabPlugin";
|
|
16
|
+
import { IPyWidgetsManager } from "../../jupyter/ipywidgets/IPyWidgetsManager";
|
|
18
17
|
import getMarked from './marked/marked';
|
|
18
|
+
import { managerPlugin, baseWidgetsPlugin, controlWidgetsPlugin, outputWidgetPlugin, externalIPyWidgetsPlugin, bundledIPyWidgetsPlugin } from "../../jupyter/ipywidgets/lab/plugin";
|
|
19
|
+
// import { activateWidgetExtension } from "../../jupyter/ipywidgets/lab2/IPyWidgetsJupyterLab";
|
|
19
20
|
// import { activatePlotlyWidgetExtension } from "./../../jupyter/ipywidgets/plotly/JupyterlabPlugin";
|
|
21
|
+
const FALLBACK_PATH = "ping.ipynb";
|
|
20
22
|
export class NotebookAdapter {
|
|
21
23
|
_boxPanel;
|
|
22
|
-
_notebookPanel;
|
|
23
|
-
_uid;
|
|
24
|
-
_serviceManager;
|
|
25
24
|
_commandRegistry;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
_kernel;
|
|
30
|
-
_store;
|
|
31
|
-
_ipywidgets;
|
|
25
|
+
_context;
|
|
26
|
+
_bundledIPyWidgets;
|
|
27
|
+
_externalIPyWidgets;
|
|
32
28
|
_iPyWidgetsClassicManager;
|
|
33
|
-
|
|
29
|
+
_ipywidgets;
|
|
30
|
+
_kernel;
|
|
31
|
+
_nbformat;
|
|
34
32
|
_nbgrader;
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
_notebookPanel;
|
|
34
|
+
_path;
|
|
35
|
+
_readOnly;
|
|
37
36
|
_renderers;
|
|
38
37
|
_rendermime;
|
|
38
|
+
_serviceManager;
|
|
39
|
+
_store;
|
|
40
|
+
_tracker;
|
|
41
|
+
_uid;
|
|
42
|
+
_CellSidebar;
|
|
39
43
|
constructor(props, store, serviceManager) {
|
|
40
|
-
this.
|
|
41
|
-
this.
|
|
42
|
-
this._serviceManager = serviceManager;
|
|
43
|
-
this._nbformat = props.nbformat;
|
|
44
|
-
this._CellSidebar = props.CellSidebar;
|
|
45
|
-
this._nbgrader = props.nbgrader;
|
|
46
|
-
// this._readOnly = props.readOnly;
|
|
44
|
+
this._bundledIPyWidgets = props.bundledIPyWidgets;
|
|
45
|
+
this._externalIPyWidgets = props.externalIPyWidgets;
|
|
47
46
|
this._ipywidgets = props.ipywidgets;
|
|
48
47
|
this._kernel = props.kernel;
|
|
49
|
-
this.
|
|
48
|
+
this._nbformat = props.nbformat;
|
|
49
|
+
this._nbgrader = props.nbgrader;
|
|
50
|
+
this._path = props.path;
|
|
51
|
+
this._readOnly = props.readOnly;
|
|
50
52
|
this._renderers = props.renderers;
|
|
53
|
+
this._serviceManager = serviceManager;
|
|
54
|
+
this._store = store;
|
|
55
|
+
this._uid = props.uid;
|
|
56
|
+
this._CellSidebar = props.CellSidebar;
|
|
57
|
+
//
|
|
51
58
|
this._boxPanel = new BoxPanel();
|
|
52
59
|
this._boxPanel.addClass('dla-Jupyter-Notebook');
|
|
53
60
|
this._boxPanel.spacing = 0;
|
|
54
61
|
this._commandRegistry = new CommandRegistry();
|
|
55
|
-
//
|
|
62
|
+
//
|
|
56
63
|
this.loadNotebook();
|
|
57
64
|
}
|
|
58
65
|
loadNotebook() {
|
|
@@ -122,22 +129,6 @@ export class NotebookAdapter {
|
|
|
122
129
|
:
|
|
123
130
|
new NotebookPanel.ContentFactory({ editorFactory });
|
|
124
131
|
this._tracker = new NotebookTracker({ namespace: this._uid });
|
|
125
|
-
switch (this._ipywidgets) {
|
|
126
|
-
case 'classic': {
|
|
127
|
-
this._iPyWidgetsClassicManager = new IPyWidgetsClassicManager({ loader: requireLoader });
|
|
128
|
-
this._rendermime.addFactory({
|
|
129
|
-
safe: false,
|
|
130
|
-
mimeTypes: [WIDGET_MIMETYPE],
|
|
131
|
-
createRenderer: (options) => new WidgetRenderer(options, this._iPyWidgetsClassicManager),
|
|
132
|
-
}, 1);
|
|
133
|
-
break;
|
|
134
|
-
}
|
|
135
|
-
case 'lab': {
|
|
136
|
-
activateWidgetExtension(this._rendermime, this._tracker, null, null);
|
|
137
|
-
// activatePlotlyWidgetExtension(widgetRegistry);
|
|
138
|
-
break;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
132
|
const notebookWidgetFactory = new NotebookWidgetFactory({
|
|
142
133
|
name: 'Notebook',
|
|
143
134
|
modelName: 'notebook',
|
|
@@ -151,29 +142,50 @@ export class NotebookAdapter {
|
|
|
151
142
|
});
|
|
152
143
|
notebookWidgetFactory.widgetCreated.connect((sender, notebookPanel) => {
|
|
153
144
|
notebookPanel.context.pathChanged.connect(() => {
|
|
154
|
-
|
|
145
|
+
this._tracker?.save(notebookPanel);
|
|
155
146
|
});
|
|
156
|
-
|
|
147
|
+
this._tracker?.add(notebookPanel);
|
|
157
148
|
});
|
|
158
149
|
documentRegistry.addWidgetFactory(notebookWidgetFactory);
|
|
159
150
|
const notebookModelFactory = new JupyterReactNotebookModelFactory({
|
|
160
151
|
nbformat: this._nbformat,
|
|
152
|
+
readOnly: this._readOnly,
|
|
161
153
|
});
|
|
162
154
|
documentRegistry.addModelFactory(notebookModelFactory);
|
|
155
|
+
switch (this._ipywidgets) {
|
|
156
|
+
case 'classic': {
|
|
157
|
+
this._iPyWidgetsClassicManager = new IPyWidgetsManager({ loader: requireLoader });
|
|
158
|
+
this._rendermime.addFactory({
|
|
159
|
+
safe: false,
|
|
160
|
+
mimeTypes: [WIDGET_MIMETYPE],
|
|
161
|
+
createRenderer: (options) => new WidgetRenderer(options, this._iPyWidgetsClassicManager),
|
|
162
|
+
}, 1);
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
case 'lab': {
|
|
166
|
+
const jupyterWidgetRegistry = managerPlugin.activate(this._rendermime, this._tracker, null, null, null, null);
|
|
167
|
+
baseWidgetsPlugin.activate(jupyterWidgetRegistry);
|
|
168
|
+
controlWidgetsPlugin.activate(jupyterWidgetRegistry);
|
|
169
|
+
outputWidgetPlugin.activate(jupyterWidgetRegistry);
|
|
170
|
+
break;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
163
173
|
this._context = new Context({
|
|
164
174
|
manager: this._serviceManager,
|
|
165
175
|
factory: notebookModelFactory,
|
|
166
|
-
path: this._path
|
|
176
|
+
path: this._path ?? FALLBACK_PATH,
|
|
167
177
|
kernelPreference: {
|
|
168
|
-
|
|
169
|
-
shouldStart:
|
|
178
|
+
id: this._kernel.serverId,
|
|
179
|
+
shouldStart: true,
|
|
180
|
+
canStart: true,
|
|
170
181
|
autoStartDefault: false,
|
|
171
182
|
shutdownOnDispose: false,
|
|
172
183
|
}
|
|
173
184
|
});
|
|
174
185
|
/*
|
|
186
|
+
// Alternative way to create a NotebookPanel.
|
|
175
187
|
const content = new Notebook({
|
|
176
|
-
rendermime: this._rendermime
|
|
188
|
+
rendermime: this._rendermime!,
|
|
177
189
|
contentFactory,
|
|
178
190
|
mimeTypeService,
|
|
179
191
|
notebookConfig: {
|
|
@@ -184,47 +196,36 @@ export class NotebookAdapter {
|
|
|
184
196
|
this._notebookPanel = new NotebookPanel({
|
|
185
197
|
context: this._context,
|
|
186
198
|
content,
|
|
187
|
-
})
|
|
199
|
+
});
|
|
188
200
|
*/
|
|
189
201
|
this._notebookPanel = documentRegistry.getWidgetFactory('Notebook')?.createNew(this._context);
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
this.
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
this._context.initialize(isNew).then(() => {
|
|
197
|
-
if (this._kernel) {
|
|
198
|
-
// this._kernel.getJupyterKernel().then(kernelConnection => {
|
|
199
|
-
this.changeKernel(this._kernel);
|
|
200
|
-
// });
|
|
202
|
+
switch (this._ipywidgets) {
|
|
203
|
+
case 'classic': {
|
|
204
|
+
this._notebookPanel.sessionContext.kernelChanged.connect((sender, args) => {
|
|
205
|
+
this._iPyWidgetsClassicManager?.registerWithKernel(args.newValue);
|
|
206
|
+
});
|
|
207
|
+
break;
|
|
201
208
|
}
|
|
202
|
-
|
|
203
|
-
|
|
209
|
+
case 'lab': {
|
|
210
|
+
if (this._bundledIPyWidgets) {
|
|
211
|
+
bundledIPyWidgetsPlugin(this._context, this._tracker, this._bundledIPyWidgets);
|
|
212
|
+
}
|
|
213
|
+
if (this._externalIPyWidgets) {
|
|
214
|
+
externalIPyWidgetsPlugin(this._context, this._tracker, this._externalIPyWidgets);
|
|
215
|
+
}
|
|
216
|
+
break;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
const completerHandler = this.setupCompleter(this._notebookPanel);
|
|
220
|
+
NotebookCommands(this._commandRegistry, this._notebookPanel, completerHandler, this._tracker, this._path);
|
|
204
221
|
this._boxPanel.addWidget(this._notebookPanel);
|
|
222
|
+
BoxPanel.setStretch(this._notebookPanel, 0);
|
|
205
223
|
window.addEventListener('resize', () => {
|
|
206
224
|
this._notebookPanel?.update();
|
|
207
225
|
});
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
//
|
|
211
|
-
return this._tracker.currentWidget;
|
|
212
|
-
}
|
|
213
|
-
function isEnabled() {
|
|
214
|
-
return (
|
|
215
|
-
// this._tracker.currentWidget !== null
|
|
216
|
-
this._tracker.currentWidget !== null);
|
|
217
|
-
}
|
|
218
|
-
this._commandRegistry.addCommand('run-selected-codecell', {
|
|
219
|
-
label: 'Run Cell',
|
|
220
|
-
execute: args => {
|
|
221
|
-
const current = getCurrent(args);
|
|
222
|
-
if (current) {
|
|
223
|
-
const { context, content } = current;
|
|
224
|
-
NotebookActions.run(content, context.sessionContext);
|
|
225
|
-
}
|
|
226
|
-
},
|
|
227
|
-
isEnabled,
|
|
226
|
+
const isNew = ((this._path !== undefined) && (this._path !== "")) ? false : true;
|
|
227
|
+
this._context.initialize(isNew).then(() => {
|
|
228
|
+
// this.assignKernel(this._kernel!);
|
|
228
229
|
});
|
|
229
230
|
}
|
|
230
231
|
setNbformat(nbformat) {
|
|
@@ -267,15 +268,18 @@ export class NotebookAdapter {
|
|
|
267
268
|
Widget.attach(completer, document.body);
|
|
268
269
|
return handler;
|
|
269
270
|
}
|
|
270
|
-
|
|
271
|
+
assignKernel(kernel) {
|
|
271
272
|
this._kernel = kernel;
|
|
272
273
|
this._kernel.connection.then(kernelConnection => {
|
|
273
|
-
this._context?.sessionContext.changeKernel(
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
this.
|
|
277
|
-
|
|
278
|
-
|
|
274
|
+
this._context?.sessionContext.changeKernel({
|
|
275
|
+
id: this._kernel?.serverId,
|
|
276
|
+
}).then(() => {
|
|
277
|
+
switch (this._ipywidgets) {
|
|
278
|
+
case 'classic': {
|
|
279
|
+
this._iPyWidgetsClassicManager?.registerWithKernel(kernelConnection);
|
|
280
|
+
break;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
279
283
|
});
|
|
280
284
|
});
|
|
281
285
|
}
|