@datalayer/jupyter-react 1.0.5 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/app/JupyterReact.js +2 -2
- package/lib/app/JupyterReact.js.map +1 -1
- package/lib/app/tabs/ComponentsTab.js.map +1 -1
- package/lib/app/tabs/components/FileBrowserComponent.js +1 -3
- package/lib/app/tabs/components/FileBrowserComponent.js.map +1 -1
- package/lib/app/tabs/components/IPyWidgetsComponent.js +1 -1
- package/lib/app/tabs/components/IPyWidgetsComponent.js.map +1 -1
- package/lib/components/cell/Cell.js +2 -2
- package/lib/components/cell/Cell.js.map +1 -1
- package/lib/components/cell/CellAdapter.js +14 -11
- package/lib/components/cell/CellAdapter.js.map +1 -1
- package/lib/components/cell/CellState.js +2 -2
- package/lib/components/cell/CellState.js.map +1 -1
- package/lib/components/codemirror/{CodeMirrorDatalayerEditor.d.ts → CodeMirrorEditor.d.ts} +12 -1
- package/lib/components/codemirror/{CodeMirrorDatalayerEditor.js → CodeMirrorEditor.js} +5 -3
- package/lib/components/codemirror/CodeMirrorEditor.js.map +1 -0
- package/lib/components/codemirror/index.d.ts +2 -1
- package/lib/components/codemirror/index.js +2 -1
- package/lib/components/codemirror/index.js.map +1 -1
- package/lib/components/console/ConsoleAdapter.js.map +1 -1
- package/lib/components/console/ConsoleState.js.map +1 -1
- package/lib/components/filebrowser/FileBrowser.js +1 -1
- package/lib/components/filebrowser/FileBrowser.js.map +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +1 -1
- package/lib/components/index.js.map +1 -1
- package/lib/components/jupyterlab/JupyterLabApp.js +5 -4
- package/lib/components/jupyterlab/JupyterLabApp.js.map +1 -1
- package/lib/components/jupyterlab/JupyterLabAppAdapter.js +6 -4
- package/lib/components/jupyterlab/JupyterLabAppAdapter.js.map +1 -1
- package/lib/components/jupyterlab/JupyterLabAppPlugins.js.map +1 -1
- package/lib/components/kernel/KernelDetective.d.ts +1 -1
- package/lib/components/kernel/KernelDetective.js +5 -6
- package/lib/components/kernel/KernelDetective.js.map +1 -1
- package/lib/components/kernel/KernelSelector.js +6 -6
- package/lib/components/kernel/KernelSelector.js.map +1 -1
- package/lib/components/kernel/Kernelndicator.js +5 -3
- package/lib/components/kernel/Kernelndicator.js.map +1 -1
- package/lib/components/kernel/Kernels.js +1 -1
- package/lib/components/kernel/Kernels.js.map +1 -1
- package/lib/components/kernel/inspector/widget.js.map +1 -1
- package/lib/components/lumino/Lumino.js +32 -6
- package/lib/components/lumino/Lumino.js.map +1 -1
- package/lib/components/notebook/Notebook.d.ts +4 -17
- package/lib/components/notebook/Notebook.js +86 -111
- package/lib/components/notebook/Notebook.js.map +1 -1
- package/lib/components/notebook/Notebook2.d.ts +5 -5
- package/lib/components/notebook/Notebook2.js +8 -6
- package/lib/components/notebook/Notebook2.js.map +1 -1
- package/lib/components/notebook/Notebook2Base.d.ts +24 -40
- package/lib/components/notebook/Notebook2Base.js +48 -104
- package/lib/components/notebook/Notebook2Base.js.map +1 -1
- package/lib/components/notebook/NotebookAdapter.js +61 -49
- package/lib/components/notebook/NotebookAdapter.js.map +1 -1
- package/lib/components/notebook/NotebookCommands.js +1 -1
- package/lib/components/notebook/NotebookCommands.js.map +1 -1
- package/lib/components/notebook/NotebookExtensions.d.ts +14 -0
- package/lib/{state/IDatalayerConfig.js → components/notebook/NotebookExtensions.js} +1 -1
- package/lib/components/notebook/NotebookExtensions.js.map +1 -0
- package/lib/components/notebook/NotebookState.js +34 -10
- package/lib/components/notebook/NotebookState.js.map +1 -1
- package/lib/components/notebook/cell/prompt/Countdown.js.map +1 -1
- package/lib/components/notebook/cell/sidebar/CellSidebarButton.js +4 -4
- package/lib/components/notebook/cell/sidebar/CellSidebarButton.js.map +1 -1
- package/lib/components/notebook/cell/sidebar/CellSidebarExtension.d.ts +4 -4
- package/lib/components/notebook/cell/sidebar/CellSidebarExtension.js +0 -5
- package/lib/components/notebook/cell/sidebar/CellSidebarExtension.js.map +1 -1
- package/lib/components/notebook/index.d.ts +1 -0
- package/lib/components/notebook/index.js +1 -0
- package/lib/components/notebook/index.js.map +1 -1
- package/lib/components/notebook/model/JupyterReactNotebookModelFactory.js +1 -1
- package/lib/components/notebook/model/JupyterReactNotebookModelFactory.js.map +1 -1
- package/lib/components/output/Output.js +6 -6
- package/lib/components/output/Output.js.map +1 -1
- package/lib/components/output/OutputAdapter.js +1 -1
- package/lib/components/output/OutputAdapter.js.map +1 -1
- package/lib/components/output/OutputState.js.map +1 -1
- package/lib/components/terminal/TerminalAdapter.js +24 -3
- package/lib/components/terminal/TerminalAdapter.js.map +1 -1
- package/lib/components/terminal/TerminalState.js.map +1 -1
- package/lib/components/utils/SpinnerCentered.js +2 -2
- package/lib/components/utils/SpinnerCentered.js.map +1 -1
- package/lib/examples/Cell.js +1 -1
- package/lib/examples/Cell.js.map +1 -1
- package/lib/examples/Cells.js.map +1 -1
- package/lib/examples/CellsExecute.js +2 -2
- package/lib/examples/CellsExecute.js.map +1 -1
- package/lib/examples/FileBrowser.js +1 -4
- package/lib/examples/FileBrowser.js.map +1 -1
- package/lib/examples/JupyterLabApp.js +1 -7
- package/lib/examples/JupyterLabApp.js.map +1 -1
- package/lib/examples/JupyterLabAppHeadless.js +3 -8
- package/lib/examples/JupyterLabAppHeadless.js.map +1 -1
- package/lib/examples/JupyterLabAppHeadlessServerless.js +3 -8
- package/lib/examples/JupyterLabAppHeadlessServerless.js.map +1 -1
- package/lib/examples/JupyterLabAppServerless.js +1 -3
- package/lib/examples/JupyterLabAppServerless.js.map +1 -1
- package/lib/examples/JupyterLabAppServiceManager.js +1 -3
- package/lib/examples/JupyterLabAppServiceManager.js.map +1 -1
- package/lib/examples/JupyterLabTheme.js +16 -14
- package/lib/examples/JupyterLabTheme.js.map +1 -1
- package/lib/examples/KernelExecute.js +3 -2
- package/lib/examples/KernelExecute.js.map +1 -1
- package/lib/examples/KernelExecutor.js.map +1 -1
- package/lib/examples/Kernels.js +2 -2
- package/lib/examples/Kernels.js.map +1 -1
- package/lib/examples/Notebook2.js +4 -7
- package/lib/examples/Notebook2.js.map +1 -1
- package/lib/examples/Notebook2Collaborative.js +23 -0
- package/lib/examples/Notebook2Collaborative.js.map +1 -0
- package/lib/examples/NotebookCollaborative.js +4 -1
- package/lib/examples/NotebookCollaborative.js.map +1 -1
- package/lib/examples/NotebookColormode.js.map +1 -1
- package/lib/examples/NotebookExtension.js +1 -1
- package/lib/examples/NotebookExtension.js.map +1 -1
- package/lib/examples/NotebookKernel.js +1 -1
- package/lib/examples/NotebookKernel.js.map +1 -1
- package/lib/examples/NotebookKernelChange.js +2 -3
- package/lib/examples/NotebookKernelChange.js.map +1 -1
- package/lib/examples/NotebookLite.js.map +1 -1
- package/lib/examples/NotebookNbformat.js +3 -6
- package/lib/examples/NotebookNbformat.js.map +1 -1
- package/lib/examples/NotebookNbformatChange.js +6 -1
- package/lib/examples/NotebookNbformatChange.js.map +1 -1
- package/lib/examples/NotebookPathChange.js +6 -1
- package/lib/examples/NotebookPathChange.js.map +1 -1
- package/lib/examples/Output.js +1 -2
- package/lib/examples/Output.js.map +1 -1
- package/lib/examples/OutputIPyWidgets.js +3 -2
- package/lib/examples/OutputIPyWidgets.js.map +1 -1
- package/lib/examples/RunningSessions.js +2 -6
- package/lib/examples/RunningSessions.js.map +1 -1
- package/lib/examples/Viewer.js.map +1 -1
- package/lib/examples/extensions/cellsidebars/CellSidebarSource.js +2 -2
- package/lib/examples/extensions/cellsidebars/CellSidebarSource.js.map +1 -1
- package/lib/examples/extensions/celltoolbar/CellToolbar.d.ts +2 -2
- package/lib/examples/extensions/celltoolbar/CellToolbar.js.map +1 -1
- package/lib/examples/extensions/celltoolbar/CellToolbarComponent.d.ts +2 -2
- package/lib/examples/extensions/celltoolbar/CellToolbarComponent.js.map +1 -1
- package/lib/examples/extensions/celltoolbar/CellToolbarExtension.d.ts +3 -3
- package/lib/examples/extensions/celltoolbar/CellToolbarExtension.js.map +1 -1
- package/lib/examples/extensions/celltoolbar/CellToolbarWidget.d.ts +2 -2
- package/lib/examples/extensions/celltoolbar/CellToolbarWidget.js +1 -2
- package/lib/examples/extensions/celltoolbar/CellToolbarWidget.js.map +1 -1
- package/lib/examples/extensions/exectime/ExecTimeExtension.d.ts +3 -3
- package/lib/examples/extensions/exectime/ExecTimeExtension.js +1 -2
- package/lib/examples/extensions/exectime/ExecTimeExtension.js.map +1 -1
- package/lib/examples/extensions/exectime/ExecTimeWidget.js +1 -1
- package/lib/examples/extensions/exectime/ExecTimeWidget.js.map +1 -1
- package/lib/examples/extensions/exectime/utils.js +6 -1
- package/lib/examples/extensions/exectime/utils.js.map +1 -1
- package/lib/examples/extensions/toc/TocExtension.d.ts +3 -3
- package/lib/examples/extensions/toc/TocExtension.js +2 -2
- package/lib/examples/extensions/toc/TocExtension.js.map +1 -1
- package/lib/examples/notebooks/Lite.ipynb.json +10 -28
- package/lib/examples/notebooks/NotebookExample1.ipynb.json +3 -11
- package/lib/examples/notebooks/NotebookOutputs.ipynb.json +3 -9
- package/lib/examples/notebooks/NotebookToCExample.ipynb.json +7 -22
- package/lib/examples/toolbars/NotebookToolbarAutoSave.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/jupyter/Jupyter.js +3 -2
- package/lib/jupyter/Jupyter.js.map +1 -1
- package/lib/jupyter/JupyterConfig.js +16 -63
- package/lib/jupyter/JupyterConfig.js.map +1 -1
- package/lib/jupyter/JupyterContext.js +4 -3
- package/lib/jupyter/JupyterContext.js.map +1 -1
- package/lib/jupyter/JupyterDefaults.js.map +1 -1
- package/lib/jupyter/collaboration/CollaborationContext.d.ts +70 -0
- package/lib/jupyter/collaboration/CollaborationContext.js +110 -0
- package/lib/jupyter/collaboration/CollaborationContext.js.map +1 -0
- package/lib/jupyter/collaboration/ICollaborationProvider.d.ts +120 -0
- package/lib/jupyter/collaboration/ICollaborationProvider.js +93 -0
- package/lib/jupyter/collaboration/ICollaborationProvider.js.map +1 -0
- package/lib/jupyter/collaboration/JupyterCollaboration.d.ts +1 -1
- package/lib/jupyter/collaboration/JupyterCollaboration.js +1 -1
- package/lib/jupyter/collaboration/JupyterCollaboration.js.map +1 -1
- package/lib/jupyter/collaboration/index.d.ts +3 -2
- package/lib/jupyter/collaboration/index.js +3 -2
- package/lib/jupyter/collaboration/index.js.map +1 -1
- package/lib/jupyter/collaboration/providers/JupyterCollaborationProvider.d.ts +38 -0
- package/lib/jupyter/collaboration/providers/JupyterCollaborationProvider.js +98 -0
- package/lib/jupyter/collaboration/providers/JupyterCollaborationProvider.js.map +1 -0
- package/lib/jupyter/collaboration/providers/NoOpCollaborationProvider.d.ts +23 -0
- package/lib/jupyter/collaboration/providers/NoOpCollaborationProvider.js +39 -0
- package/lib/jupyter/collaboration/providers/NoOpCollaborationProvider.js.map +1 -0
- package/lib/jupyter/collaboration/providers/index.d.ts +2 -0
- package/lib/jupyter/collaboration/providers/index.js +8 -0
- package/lib/jupyter/collaboration/providers/index.js.map +1 -0
- package/lib/jupyter/ipywidgets/classic/htmlmanager.d.ts +1 -1
- package/lib/jupyter/ipywidgets/classic/htmlmanager.js +4 -4
- package/lib/jupyter/ipywidgets/classic/htmlmanager.js.map +1 -1
- package/lib/jupyter/ipywidgets/classic/manager.js +2 -1
- package/lib/jupyter/ipywidgets/classic/manager.js.map +1 -1
- package/lib/jupyter/ipywidgets/lab/manager.js +1 -1
- package/lib/jupyter/ipywidgets/lab/manager.js.map +1 -1
- package/lib/jupyter/ipywidgets/lab/renderer.js +2 -1
- package/lib/jupyter/ipywidgets/lab/renderer.js.map +1 -1
- package/lib/jupyter/ipywidgets/libembed-amd.js +4 -3
- package/lib/jupyter/ipywidgets/libembed-amd.js.map +1 -1
- package/lib/jupyter/ipywidgets/libembed.js +3 -2
- package/lib/jupyter/ipywidgets/libembed.js.map +1 -1
- package/lib/jupyter/ipywidgets/mimetypes.js.map +1 -1
- package/lib/jupyter/ipywidgets/semvercache.js.map +1 -1
- package/lib/jupyter/kernel/Kernel.js.map +1 -1
- package/lib/jupyter/kernel/KernelExecutor.js +6 -3
- package/lib/jupyter/kernel/KernelExecutor.js.map +1 -1
- package/lib/jupyter/kernel/KernelState.js +1 -1
- package/lib/jupyter/kernel/KernelState.js.map +1 -1
- package/lib/jupyter/lite/LiteServer.js +1 -1
- package/lib/jupyter/lite/LiteServer.js.map +1 -1
- package/lib/jupyter/services/ServiceManagerLess.js +15 -14
- package/lib/jupyter/services/ServiceManagerLess.js.map +1 -1
- package/lib/jupyter/services/ServiceManagerLite.js +2 -2
- package/lib/jupyter/services/ServiceManagerLite.js.map +1 -1
- package/lib/state/JupyterReactState.d.ts +0 -3
- package/lib/state/JupyterReactState.js +7 -20
- package/lib/state/JupyterReactState.js.map +1 -1
- package/lib/state/index.d.ts +1 -2
- package/lib/state/index.js +1 -2
- package/lib/state/index.js.map +1 -1
- package/lib/theme/JupyterLabCss.d.ts +9 -9
- package/lib/theme/JupyterLabCss.js +9 -11
- package/lib/theme/JupyterLabCss.js.map +1 -1
- package/lib/theme/JupyterReactTheme.js.map +1 -1
- package/lib/theme/themes/JupyterLabTheme.js.map +1 -1
- package/lib/utils/cursorExtension.js +2 -2
- package/lib/utils/cursorExtension.js.map +1 -1
- package/package.json +3 -4
- package/lib/components/codemirror/CodeMirrorDatalayerEditor.js.map +0 -1
- package/lib/examples/NotebookMutationsKernel.js +0 -119
- package/lib/examples/NotebookMutationsKernel.js.map +0 -1
- package/lib/examples/NotebookMutationsServiceManager.d.ts +0 -1
- package/lib/examples/NotebookMutationsServiceManager.js +0 -124
- package/lib/examples/NotebookMutationsServiceManager.js.map +0 -1
- package/lib/jupyter/collaboration/DatalayerCollaboration.d.ts +0 -9
- package/lib/jupyter/collaboration/DatalayerCollaboration.js +0 -30
- package/lib/jupyter/collaboration/DatalayerCollaboration.js.map +0 -1
- package/lib/jupyter/collaboration/ICollaborative.d.ts +0 -2
- package/lib/jupyter/collaboration/ICollaborative.js +0 -7
- package/lib/jupyter/collaboration/ICollaborative.js.map +0 -1
- package/lib/providers/index.d.ts +0 -1
- package/lib/providers/index.js +0 -7
- package/lib/providers/index.js.map +0 -1
- package/lib/providers/kernels/DatalayerKernels.d.ts +0 -25
- package/lib/providers/kernels/DatalayerKernels.js +0 -58
- package/lib/providers/kernels/DatalayerKernels.js.map +0 -1
- package/lib/providers/kernels/index.d.ts +0 -1
- package/lib/providers/kernels/index.js +0 -7
- package/lib/providers/kernels/index.js.map +0 -1
- package/lib/state/IDatalayerConfig.d.ts +0 -22
- package/lib/state/IDatalayerConfig.js.map +0 -1
- /package/lib/examples/{NotebookMutationsKernel.d.ts → Notebook2Collaborative.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotebookToolbarAutoSave.js","sourceRoot":"","sources":["../../../src/examples/toolbars/NotebookToolbarAutoSave.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,QAAQ,GACT,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AAEvE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAA6B,EAAE,EAAE;IACvE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC7B,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,aAAa,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"NotebookToolbarAutoSave.js","sourceRoot":"","sources":["../../../src/examples/toolbars/NotebookToolbarAutoSave.tsx"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
package/lib/jupyter/Jupyter.js
CHANGED
|
@@ -31,8 +31,9 @@ export const Jupyter = (props) => {
|
|
|
31
31
|
terminals,
|
|
32
32
|
});
|
|
33
33
|
}, [props]);
|
|
34
|
-
return (_jsx(ErrorBoundary, { FallbackComponent: ErrorFallback, onReset: () => {
|
|
35
|
-
|
|
34
|
+
return (_jsx(ErrorBoundary, { FallbackComponent: ErrorFallback, onReset: () => {
|
|
35
|
+
console.log('Error Boundary reset has been invoked...');
|
|
36
|
+
}, children: _jsx(ThemeProvider, { theme: theme, colorMode: colormode === 'light' ? 'day' : 'night', dayScheme: "light", nightScheme: "dark", children: _jsx(BaseStyles, { children: _jsxs(Box, { color: "fg.default", bg: "canvas.default", children: [!config.insideJupyterLab && !disableCssLoading && (_jsx(JupyterLabCss, { colormode: colormode })), _jsx(JupyterContextProvider, { collaborative: collaborative, defaultKernelName: defaultKernelName, initCode: initCode, lite: lite, serverless: serverless, serviceManager: serviceManager, skeleton: skeleton, startDefaultKernel: startDefaultKernel, useRunningKernelId: useRunningKernelId, useRunningKernelIndex: useRunningKernelIndex, children: children })] }) }) }) }));
|
|
36
37
|
};
|
|
37
38
|
Jupyter.defaultProps = {
|
|
38
39
|
colormode: 'light',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Jupyter.js","sourceRoot":"","sources":["../../src/jupyter/Jupyter.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAuB,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAa,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"Jupyter.js","sourceRoot":"","sources":["../../src/jupyter/Jupyter.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAuB,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAa,aAAa,EAAE,MAAM,UAAU,CAAC;AAarE;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAO,EAAE,EAAE;IAC3D,OAAO,CACL,eAAK,IAAI,EAAC,OAAO,aACf,sDAAkC,EAClC,wBAAM,KAAK,CAAC,OAAO,GAAO,EAC1B,cAAK,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,YAClC,iBAAQ,OAAO,EAAE,kBAAkB,0BAAoB,GACnD,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAmB,EAAE,EAAE;IAC7C,MAAM,EACJ,QAAQ,EACR,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,iBAAiB,GAAG,KAAK,EACzB,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,IAAI,EACJ,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,SAAS,EACT,KAAK,EACL,kBAAkB,EAClB,qBAAqB,GACtB,GAAG,KAAK,CAAC;IACV,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,OAAO,iBAAiB,CAAC;YACvB,aAAa;YACb,gBAAgB;YAChB,kBAAkB;YAClB,IAAI;YACJ,SAAS;SACV,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,OAAO,CACL,KAAC,aAAa,IACZ,iBAAiB,EAAE,aAAa,EAChC,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAC1D,CAAC,YAED,KAAC,aAAa,IACZ,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAClD,SAAS,EAAC,OAAO,EACjB,WAAW,EAAC,MAAM,YAElB,KAAC,UAAU,cACT,MAAC,GAAG,IAAC,KAAK,EAAC,YAAY,EAAC,EAAE,EAAC,gBAAgB,aACxC,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,iBAAiB,IAAI,CACjD,KAAC,aAAa,IAAC,SAAS,EAAE,SAAS,GAAI,CACxC,EACD,KAAC,sBAAsB,IACrB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,EAAE,kBAAkB,EACtC,kBAAkB,EAAE,kBAAkB,EACtC,qBAAqB,EAAE,qBAAqB,YAE3C,QAAQ,GACc,IACrB,GACK,GACC,GACF,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,CAAC,YAAY,GAAG;IACrB,SAAS,EAAE,OAAO;IAClB,iBAAiB,EAAE,KAAK;IACxB,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,eAAe;CACvB,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -4,21 +4,17 @@
|
|
|
4
4
|
* MIT License
|
|
5
5
|
*/
|
|
6
6
|
import { PageConfig } from '@jupyterlab/coreutils';
|
|
7
|
-
import { DEFAULT_JUPYTER_SERVER_URL, DEFAULT_JUPYTER_SERVER_TOKEN, DEFAULT_API_KERNEL_PREFIX_URL } from './JupyterDefaults';
|
|
7
|
+
import { DEFAULT_JUPYTER_SERVER_URL, DEFAULT_JUPYTER_SERVER_TOKEN, DEFAULT_API_KERNEL_PREFIX_URL, } from './JupyterDefaults';
|
|
8
8
|
/**
|
|
9
9
|
* The current Jupyter configuration.
|
|
10
10
|
*/
|
|
11
11
|
let config = undefined;
|
|
12
|
-
/**
|
|
13
|
-
* Datalayer configuration is loaded.
|
|
14
|
-
*/
|
|
15
|
-
let datalayerConfigLoaded = false;
|
|
16
12
|
/**
|
|
17
13
|
* Setter for jupyterServerUrl.
|
|
18
14
|
*/
|
|
19
15
|
export const setJupyterServerUrl = (jupyterServerUrl) => {
|
|
20
16
|
if (!config) {
|
|
21
|
-
throw new Error(
|
|
17
|
+
throw new Error('Jupyter React Config must be loaded first.');
|
|
22
18
|
}
|
|
23
19
|
PageConfig.setOption('baseUrl', jupyterServerUrl);
|
|
24
20
|
PageConfig.setOption('wsUrl', jupyterServerUrl.replace(/^http/, 'ws'));
|
|
@@ -29,7 +25,7 @@ export const setJupyterServerUrl = (jupyterServerUrl) => {
|
|
|
29
25
|
*/
|
|
30
26
|
export const getJupyterServerUrl = () => {
|
|
31
27
|
if (!config) {
|
|
32
|
-
throw new Error(
|
|
28
|
+
throw new Error('Jupyter React Config must be loaded first.');
|
|
33
29
|
}
|
|
34
30
|
return config.jupyterServerUrl;
|
|
35
31
|
};
|
|
@@ -38,7 +34,7 @@ export const getJupyterServerUrl = () => {
|
|
|
38
34
|
*/
|
|
39
35
|
export const setJupyterServerToken = (jupyterServerToken) => {
|
|
40
36
|
if (!config) {
|
|
41
|
-
throw new Error(
|
|
37
|
+
throw new Error('Jupyter React Config must be loaded first.');
|
|
42
38
|
}
|
|
43
39
|
PageConfig.setOption('token', jupyterServerToken);
|
|
44
40
|
config.jupyterServerToken = jupyterServerToken;
|
|
@@ -48,40 +44,10 @@ export const setJupyterServerToken = (jupyterServerToken) => {
|
|
|
48
44
|
*/
|
|
49
45
|
export const getJupyterServerToken = () => {
|
|
50
46
|
if (!config) {
|
|
51
|
-
throw new Error(
|
|
47
|
+
throw new Error('Jupyter React Config must be loaded first.');
|
|
52
48
|
}
|
|
53
49
|
return config.jupyterServerToken;
|
|
54
50
|
};
|
|
55
|
-
/**
|
|
56
|
-
* Get the datalayer configuration fully
|
|
57
|
-
* or for a particular parameter.
|
|
58
|
-
*
|
|
59
|
-
* @param name The parameter name
|
|
60
|
-
* @returns The parameter value if {@link name} is specified, otherwise the full configuration.
|
|
61
|
-
*/
|
|
62
|
-
function loadDatalayerConfig(name) {
|
|
63
|
-
if (!datalayerConfigLoaded) {
|
|
64
|
-
const datalayerConfigData = document.getElementById('datalayer-config-data');
|
|
65
|
-
if (datalayerConfigData?.textContent) {
|
|
66
|
-
console.log('Found Datalayer config data in page', datalayerConfigData);
|
|
67
|
-
try {
|
|
68
|
-
config = {
|
|
69
|
-
...config,
|
|
70
|
-
...JSON.parse(datalayerConfigData.textContent)
|
|
71
|
-
};
|
|
72
|
-
datalayerConfigLoaded = true;
|
|
73
|
-
}
|
|
74
|
-
catch (error) {
|
|
75
|
-
console.error('Failed to parse the Datalayer configuration.', error);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
console.log('No Datalayer config data found in page');
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
// @ts-expect-error IJupyterConfig does not have index signature
|
|
83
|
-
return name ? config[name] : config;
|
|
84
|
-
}
|
|
85
51
|
/**
|
|
86
52
|
* Method to load the Jupyter configuration from the host HTML page.
|
|
87
53
|
*/
|
|
@@ -106,32 +72,19 @@ export const loadJupyterConfig = (props = {}) => {
|
|
|
106
72
|
}
|
|
107
73
|
// Hub related information ('hubHost' 'hubPrefix' 'hubUser' ,'hubServerName').
|
|
108
74
|
config.insideJupyterHub = PageConfig.getOption('hubHost') !== '';
|
|
109
|
-
//
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
setJupyterServerToken(jupyterServerToken
|
|
75
|
+
// Look for a Jupyter config...
|
|
76
|
+
if (jupyterConfig) {
|
|
77
|
+
setJupyterServerUrl(jupyterServerUrl ??
|
|
78
|
+
jupyterConfig.baseUrl ??
|
|
79
|
+
location.protocol + '//' + location.host + jupyterConfig.baseUrl);
|
|
80
|
+
setJupyterServerToken(jupyterServerToken ?? jupyterConfig.token ?? '');
|
|
115
81
|
}
|
|
116
82
|
else {
|
|
117
|
-
// No
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
setJupyterServerToken(jupyterServerToken ??
|
|
123
|
-
jupyterConfig.token ??
|
|
124
|
-
'');
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
// No Datalayer and no Jupyter config, rely on location...
|
|
128
|
-
setJupyterServerUrl(jupyterServerUrl ??
|
|
129
|
-
config.jupyterServerUrl ??
|
|
130
|
-
location.protocol + '//' + location.host + DEFAULT_API_KERNEL_PREFIX_URL);
|
|
131
|
-
setJupyterServerToken(jupyterServerToken ??
|
|
132
|
-
config.jupyterServerToken ??
|
|
133
|
-
'');
|
|
134
|
-
}
|
|
83
|
+
// No Jupyter config, rely on location...
|
|
84
|
+
setJupyterServerUrl(jupyterServerUrl ??
|
|
85
|
+
config.jupyterServerUrl ??
|
|
86
|
+
location.protocol + '//' + location.host + DEFAULT_API_KERNEL_PREFIX_URL);
|
|
87
|
+
setJupyterServerToken(jupyterServerToken ?? config.jupyterServerToken ?? '');
|
|
135
88
|
}
|
|
136
89
|
if (lite) {
|
|
137
90
|
setJupyterServerUrl(location.protocol + '//' + location.host);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JupyterConfig.js","sourceRoot":"","sources":["../../src/jupyter/JupyterConfig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,
|
|
1
|
+
{"version":3,"file":"JupyterConfig.js","sourceRoot":"","sources":["../../src/jupyter/JupyterConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
5
5
|
* MIT License
|
|
6
6
|
*/
|
|
7
7
|
import { createContext, useContext } from 'react';
|
|
8
|
-
import { ServerConnection } from '@jupyterlab/services';
|
|
8
|
+
import { ServerConnection, } from '@jupyterlab/services';
|
|
9
9
|
import { useJupyterReactStoreFromProps } from '../state';
|
|
10
10
|
import { requestAPI } from './JupyterHandlers';
|
|
11
11
|
/**
|
|
@@ -25,6 +25,8 @@ const JupyterProvider = JupyterContext.Provider;
|
|
|
25
25
|
*/
|
|
26
26
|
export const useJupyter = (props) => {
|
|
27
27
|
const context = useContext(JupyterContext);
|
|
28
|
+
// Always call the hook, but only use its result if there's no context
|
|
29
|
+
const { jupyterConfig, kernel, kernelIsLoading, serviceManager } = useJupyterReactStoreFromProps(props ?? {});
|
|
28
30
|
if (context) {
|
|
29
31
|
// We are within a React Context, just return the JupyterContext.
|
|
30
32
|
// The provided props are irrelevant in this case.
|
|
@@ -32,7 +34,6 @@ export const useJupyter = (props) => {
|
|
|
32
34
|
}
|
|
33
35
|
// We are not within a React Context....
|
|
34
36
|
// so create a JupyterContext from the store based on the provided props.
|
|
35
|
-
const { jupyterConfig, kernel, kernelIsLoading, serviceManager, } = useJupyterReactStoreFromProps(props ?? {});
|
|
36
37
|
const storeContext = {
|
|
37
38
|
defaultKernel: kernel,
|
|
38
39
|
jupyterServerUrl: jupyterConfig.jupyterServerUrl,
|
|
@@ -79,7 +80,7 @@ export const createServerSettings = (jupyterServerUrl, jupyterServerToken) => {
|
|
|
79
80
|
/**
|
|
80
81
|
* The Jupyter context provider.
|
|
81
82
|
*/
|
|
82
|
-
export const JupyterContextProvider =
|
|
83
|
+
export const JupyterContextProvider = props => {
|
|
83
84
|
const { children, skeleton } = props;
|
|
84
85
|
const { jupyterServerUrl, kernel, kernelIsLoading, lite, serverSettings, serviceManager, } = useJupyter(props);
|
|
85
86
|
return (_jsxs(JupyterProvider, { value: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JupyterContext.js","sourceRoot":"","sources":["../../src/jupyter/JupyterContext.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"JupyterContext.js","sourceRoot":"","sources":["../../src/jupyter/JupyterContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JupyterDefaults.js","sourceRoot":"","sources":["../../src/jupyter/JupyterDefaults.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"JupyterDefaults.js","sourceRoot":"","sources":["../../src/jupyter/JupyterDefaults.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,0BAA0B,GACrC,8CAA8C,CAAC;AAEjD,MAAM,CAAC,MAAM,4BAA4B,GACvC,kEAAkE,CAAC;AAErE;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAAC;AAEnE,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { YNotebook } from '@jupyter/ydoc';
|
|
3
|
+
import { ICollaborationProvider, CollaborationStatus } from './ICollaborationProvider';
|
|
4
|
+
/**
|
|
5
|
+
* Collaboration context value
|
|
6
|
+
*/
|
|
7
|
+
export interface ICollaborationContext {
|
|
8
|
+
/**
|
|
9
|
+
* The collaboration provider instance
|
|
10
|
+
*/
|
|
11
|
+
provider: ICollaborationProvider | null;
|
|
12
|
+
/**
|
|
13
|
+
* Current connection status
|
|
14
|
+
*/
|
|
15
|
+
status: CollaborationStatus;
|
|
16
|
+
/**
|
|
17
|
+
* Whether the provider is connected
|
|
18
|
+
*/
|
|
19
|
+
isConnected: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Whether the document is synchronized
|
|
22
|
+
*/
|
|
23
|
+
isSynced: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Error if any
|
|
26
|
+
*/
|
|
27
|
+
error: Error | null;
|
|
28
|
+
/**
|
|
29
|
+
* Connect to collaboration service
|
|
30
|
+
*/
|
|
31
|
+
connect: (sharedModel: YNotebook, documentId: string, options?: Record<string, any>) => Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Disconnect from collaboration service
|
|
34
|
+
*/
|
|
35
|
+
disconnect: () => void;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Props for CollaborationProvider component
|
|
39
|
+
*/
|
|
40
|
+
export interface ICollaborationProviderProps {
|
|
41
|
+
/**
|
|
42
|
+
* Collaboration provider instance
|
|
43
|
+
*/
|
|
44
|
+
provider?: ICollaborationProvider;
|
|
45
|
+
/**
|
|
46
|
+
* Children components
|
|
47
|
+
*/
|
|
48
|
+
children: React.ReactNode;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Collaboration provider component
|
|
52
|
+
*
|
|
53
|
+
* This component provides collaboration context to its children.
|
|
54
|
+
*/
|
|
55
|
+
export declare function CollaborationProvider({ provider: providerProp, children, }: ICollaborationProviderProps): JSX.Element;
|
|
56
|
+
/**
|
|
57
|
+
* Hook to use collaboration context
|
|
58
|
+
*
|
|
59
|
+
* @returns The collaboration context value
|
|
60
|
+
* @throws Error if used outside of CollaborationProvider
|
|
61
|
+
*/
|
|
62
|
+
export declare function useCollaboration(): ICollaborationContext;
|
|
63
|
+
/**
|
|
64
|
+
* Hook to get collaboration status
|
|
65
|
+
*/
|
|
66
|
+
export declare function useCollaborationStatus(): CollaborationStatus;
|
|
67
|
+
/**
|
|
68
|
+
* Hook to check if collaboration is connected
|
|
69
|
+
*/
|
|
70
|
+
export declare function useIsCollaborationConnected(): boolean;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2021-2023 Datalayer, Inc.
|
|
4
|
+
*
|
|
5
|
+
* MIT License
|
|
6
|
+
*/
|
|
7
|
+
import { createContext, useContext, useEffect, useMemo, useState, } from 'react';
|
|
8
|
+
import { CollaborationStatus, } from './ICollaborationProvider';
|
|
9
|
+
const CollaborationContext = createContext(undefined);
|
|
10
|
+
/**
|
|
11
|
+
* Collaboration provider component
|
|
12
|
+
*
|
|
13
|
+
* This component provides collaboration context to its children.
|
|
14
|
+
*/
|
|
15
|
+
export function CollaborationProvider({ provider: providerProp, children, }) {
|
|
16
|
+
const [status, setStatus] = useState(CollaborationStatus.Disconnected);
|
|
17
|
+
const [isSynced, setIsSynced] = useState(false);
|
|
18
|
+
const [error, setError] = useState(null);
|
|
19
|
+
// Use the provider instance
|
|
20
|
+
const provider = useMemo(() => {
|
|
21
|
+
return providerProp || null;
|
|
22
|
+
}, [providerProp]);
|
|
23
|
+
// Subscribe to provider events
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
if (!provider) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const statusHandler = (sender, newStatus) => {
|
|
29
|
+
setStatus(newStatus);
|
|
30
|
+
};
|
|
31
|
+
const errorHandler = (sender, error) => {
|
|
32
|
+
setError(error);
|
|
33
|
+
};
|
|
34
|
+
const syncHandler = (sender, synced) => {
|
|
35
|
+
setIsSynced(synced);
|
|
36
|
+
};
|
|
37
|
+
provider.events.statusChanged.connect(statusHandler);
|
|
38
|
+
provider.events.errorOccurred.connect(errorHandler);
|
|
39
|
+
provider.events.syncStateChanged.connect(syncHandler);
|
|
40
|
+
// Set initial status
|
|
41
|
+
setStatus(provider.status);
|
|
42
|
+
return () => {
|
|
43
|
+
provider.events.statusChanged.disconnect(statusHandler);
|
|
44
|
+
provider.events.errorOccurred.disconnect(errorHandler);
|
|
45
|
+
provider.events.syncStateChanged.disconnect(syncHandler);
|
|
46
|
+
};
|
|
47
|
+
}, [provider]);
|
|
48
|
+
// Cleanup on unmount
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
return () => {
|
|
51
|
+
provider?.dispose();
|
|
52
|
+
};
|
|
53
|
+
}, [provider]);
|
|
54
|
+
const connect = async (sharedModel, documentId, options) => {
|
|
55
|
+
if (!provider) {
|
|
56
|
+
throw new Error('No collaboration provider configured');
|
|
57
|
+
}
|
|
58
|
+
setError(null);
|
|
59
|
+
try {
|
|
60
|
+
await provider.connect(sharedModel, documentId, options);
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
setError(err);
|
|
64
|
+
throw err;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
const disconnect = () => {
|
|
68
|
+
provider?.disconnect();
|
|
69
|
+
setIsSynced(false);
|
|
70
|
+
setError(null);
|
|
71
|
+
};
|
|
72
|
+
const value = {
|
|
73
|
+
provider,
|
|
74
|
+
status,
|
|
75
|
+
isConnected: status === CollaborationStatus.Connected,
|
|
76
|
+
isSynced,
|
|
77
|
+
error,
|
|
78
|
+
connect,
|
|
79
|
+
disconnect,
|
|
80
|
+
};
|
|
81
|
+
return (_jsx(CollaborationContext.Provider, { value: value, children: children }));
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Hook to use collaboration context
|
|
85
|
+
*
|
|
86
|
+
* @returns The collaboration context value
|
|
87
|
+
* @throws Error if used outside of CollaborationProvider
|
|
88
|
+
*/
|
|
89
|
+
export function useCollaboration() {
|
|
90
|
+
const context = useContext(CollaborationContext);
|
|
91
|
+
if (!context) {
|
|
92
|
+
throw new Error('useCollaboration must be used within a CollaborationProvider');
|
|
93
|
+
}
|
|
94
|
+
return context;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Hook to get collaboration status
|
|
98
|
+
*/
|
|
99
|
+
export function useCollaborationStatus() {
|
|
100
|
+
const { status } = useCollaboration();
|
|
101
|
+
return status;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Hook to check if collaboration is connected
|
|
105
|
+
*/
|
|
106
|
+
export function useIsCollaborationConnected() {
|
|
107
|
+
const { isConnected } = useCollaboration();
|
|
108
|
+
return isConnected;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=CollaborationContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollaborationContext.js","sourceRoot":"","sources":["../../../src/jupyter/collaboration/CollaborationContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { YNotebook } from '@jupyter/ydoc';
|
|
2
|
+
import { WebsocketProvider } from 'y-websocket';
|
|
3
|
+
import { IDisposable } from '@lumino/disposable';
|
|
4
|
+
import { ISignal, Signal } from '@lumino/signaling';
|
|
5
|
+
/**
|
|
6
|
+
* Collaboration provider connection status
|
|
7
|
+
*/
|
|
8
|
+
export declare enum CollaborationStatus {
|
|
9
|
+
Disconnected = "disconnected",
|
|
10
|
+
Connecting = "connecting",
|
|
11
|
+
Connected = "connected",
|
|
12
|
+
Error = "error"
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Events emitted by collaboration providers
|
|
16
|
+
*/
|
|
17
|
+
export interface ICollaborationProviderEvents {
|
|
18
|
+
/**
|
|
19
|
+
* Signal emitted when connection status changes
|
|
20
|
+
*/
|
|
21
|
+
statusChanged: ISignal<ICollaborationProvider, CollaborationStatus>;
|
|
22
|
+
/**
|
|
23
|
+
* Signal emitted when an error occurs
|
|
24
|
+
*/
|
|
25
|
+
errorOccurred: ISignal<ICollaborationProvider, Error>;
|
|
26
|
+
/**
|
|
27
|
+
* Signal emitted when synchronization state changes
|
|
28
|
+
*/
|
|
29
|
+
syncStateChanged: ISignal<ICollaborationProvider, boolean>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Interface for collaboration providers
|
|
33
|
+
*
|
|
34
|
+
* This interface defines the contract that all collaboration providers must implement.
|
|
35
|
+
* It provides a uniform way to connect to different collaboration backends while
|
|
36
|
+
* maintaining the same API for the notebook components.
|
|
37
|
+
*/
|
|
38
|
+
export interface ICollaborationProvider extends IDisposable {
|
|
39
|
+
/**
|
|
40
|
+
* Provider type identifier
|
|
41
|
+
*/
|
|
42
|
+
readonly type: string;
|
|
43
|
+
/**
|
|
44
|
+
* Current connection status
|
|
45
|
+
*/
|
|
46
|
+
readonly status: CollaborationStatus;
|
|
47
|
+
/**
|
|
48
|
+
* Whether the provider is currently connected
|
|
49
|
+
*/
|
|
50
|
+
readonly isConnected: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Provider events
|
|
53
|
+
*/
|
|
54
|
+
readonly events: ICollaborationProviderEvents;
|
|
55
|
+
/**
|
|
56
|
+
* Connect to the collaboration service
|
|
57
|
+
*
|
|
58
|
+
* @param sharedModel - The shared notebook model
|
|
59
|
+
* @param documentId - Document identifier
|
|
60
|
+
* @param options - Additional connection options
|
|
61
|
+
* @returns Promise that resolves when connected
|
|
62
|
+
*/
|
|
63
|
+
connect(sharedModel: YNotebook, documentId: string, options?: Record<string, any>): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Disconnect from the collaboration service
|
|
66
|
+
*/
|
|
67
|
+
disconnect(): void;
|
|
68
|
+
/**
|
|
69
|
+
* Get the underlying WebSocket provider
|
|
70
|
+
*
|
|
71
|
+
* @returns The WebSocket provider or null if not connected
|
|
72
|
+
*/
|
|
73
|
+
getProvider(): WebsocketProvider | null;
|
|
74
|
+
/**
|
|
75
|
+
* Get the shared model
|
|
76
|
+
*
|
|
77
|
+
* @returns The shared model or null if not connected
|
|
78
|
+
*/
|
|
79
|
+
getSharedModel(): YNotebook | null;
|
|
80
|
+
/**
|
|
81
|
+
* Handle connection close event
|
|
82
|
+
*
|
|
83
|
+
* @param event - Close event
|
|
84
|
+
*/
|
|
85
|
+
handleConnectionClose(event: CloseEvent): void;
|
|
86
|
+
/**
|
|
87
|
+
* Handle synchronization event
|
|
88
|
+
*
|
|
89
|
+
* @param isSynced - Whether the document is synchronized
|
|
90
|
+
*/
|
|
91
|
+
handleSync(isSynced: boolean): void;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Abstract base class for collaboration providers
|
|
95
|
+
*
|
|
96
|
+
* This class provides common functionality for all collaboration providers.
|
|
97
|
+
*/
|
|
98
|
+
export declare abstract class CollaborationProviderBase implements ICollaborationProvider {
|
|
99
|
+
readonly type: string;
|
|
100
|
+
protected _status: CollaborationStatus;
|
|
101
|
+
protected _provider: WebsocketProvider | null;
|
|
102
|
+
protected _sharedModel: YNotebook | null;
|
|
103
|
+
protected _statusChanged: Signal<this, CollaborationStatus>;
|
|
104
|
+
protected _errorOccurred: Signal<this, Error>;
|
|
105
|
+
protected _syncStateChanged: Signal<this, boolean>;
|
|
106
|
+
protected _isDisposed: boolean;
|
|
107
|
+
constructor(type: string);
|
|
108
|
+
get status(): CollaborationStatus;
|
|
109
|
+
get isConnected(): boolean;
|
|
110
|
+
get isDisposed(): boolean;
|
|
111
|
+
get events(): ICollaborationProviderEvents;
|
|
112
|
+
abstract connect(sharedModel: YNotebook, documentId: string, options?: Record<string, any>): Promise<void>;
|
|
113
|
+
disconnect(): void;
|
|
114
|
+
getProvider(): WebsocketProvider | null;
|
|
115
|
+
getSharedModel(): YNotebook | null;
|
|
116
|
+
handleConnectionClose(event: CloseEvent): void;
|
|
117
|
+
handleSync(isSynced: boolean): void;
|
|
118
|
+
dispose(): void;
|
|
119
|
+
protected setStatus(status: CollaborationStatus): void;
|
|
120
|
+
}
|