@datalayer/jupyter-react 0.0.8 → 0.0.11
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 +16 -0
- package/lib/components/cell/Cell.js +56 -0
- package/lib/components/cell/Cell.js.map +1 -0
- package/lib/components/cell/CellAdapter.d.ts +15 -0
- package/lib/components/cell/CellAdapter.js +133 -0
- package/lib/components/cell/CellAdapter.js.map +1 -0
- package/lib/components/cell/CellCommands.d.ts +6 -0
- package/lib/components/cell/CellCommands.js +38 -0
- package/lib/components/cell/CellCommands.js.map +1 -0
- package/lib/components/cell/CellState.d.ts +22 -0
- package/lib/components/cell/CellState.js +46 -0
- package/lib/components/cell/CellState.js.map +1 -0
- 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 +2 -0
- package/lib/components/commands/Commands.js +9 -0
- package/lib/components/commands/Commands.js.map +1 -0
- package/lib/components/commands/CommandsAdapter.d.ts +9 -0
- package/lib/components/commands/CommandsAdapter.js +36 -0
- package/lib/components/commands/CommandsAdapter.js.map +1 -0
- package/lib/components/commands/CommandsState.d.ts +15 -0
- package/lib/components/commands/CommandsState.js +30 -0
- package/lib/components/commands/CommandsState.js.map +1 -0
- package/lib/components/console/{ConsoleAdapter.css → Console.css} +4 -0
- package/lib/components/console/Console.d.ts +3 -0
- package/lib/components/console/Console.js +15 -0
- package/lib/components/console/Console.js.map +1 -0
- package/lib/components/console/ConsoleAdapter.d.ts +13 -0
- package/lib/components/console/ConsoleAdapter.js +84 -0
- package/lib/components/console/ConsoleAdapter.js.map +1 -0
- package/lib/components/console/ConsoleState.d.ts +15 -0
- package/lib/components/console/ConsoleState.js +30 -0
- package/lib/components/console/ConsoleState.js.map +1 -0
- package/lib/components/dialog/Dialog.d.ts +2 -0
- package/lib/components/dialog/Dialog.js +13 -0
- package/lib/components/dialog/Dialog.js.map +1 -0
- package/lib/components/dialog/DialogAdapter.d.ts +10 -0
- package/lib/components/dialog/DialogAdapter.js +19 -0
- package/lib/components/dialog/DialogAdapter.js.map +1 -0
- package/lib/components/filebrowser/FileBrowser.d.ts +2 -0
- package/lib/components/filebrowser/FileBrowser.js +9 -0
- package/lib/components/filebrowser/FileBrowser.js.map +1 -0
- package/lib/components/filebrowser/FileBrowserAdapter.d.ts +13 -0
- package/lib/components/filebrowser/FileBrowserAdapter.js +267 -0
- package/lib/components/filebrowser/FileBrowserAdapter.js.map +1 -0
- package/lib/components/filebrowser/FileBrowserState.d.ts +15 -0
- package/lib/components/filebrowser/FileBrowserState.js +30 -0
- package/lib/components/filebrowser/FileBrowserState.js.map +1 -0
- package/lib/components/ipywidgets/IpyWidgetsComponent.d.ts +5 -0
- package/lib/components/ipywidgets/IpyWidgetsComponent.js +9 -0
- package/lib/components/ipywidgets/IpyWidgetsComponent.js.map +1 -0
- package/lib/components/notebook/Notebook.css +2 -26
- package/lib/components/notebook/Notebook.d.ts +36 -0
- package/lib/components/notebook/Notebook.js +138 -0
- package/lib/components/notebook/Notebook.js.map +1 -0
- package/lib/components/notebook/NotebookAdapter.d.ts +38 -0
- package/lib/components/notebook/NotebookAdapter.js +301 -0
- package/lib/components/notebook/NotebookAdapter.js.map +1 -0
- package/lib/components/notebook/NotebookCommands.d.ts +43 -0
- package/lib/components/notebook/NotebookCommands.js +380 -0
- package/lib/components/notebook/NotebookCommands.js.map +1 -0
- package/lib/components/notebook/NotebookState.d.ts +69 -0
- package/lib/components/notebook/NotebookState.js +184 -0
- package/lib/components/notebook/NotebookState.js.map +1 -0
- 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/cell/prompt/InputPrompt.d.ts +18 -0
- package/lib/components/notebook/cell/prompt/InputPrompt.js +69 -0
- 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/marked/marked.d.ts +3 -0
- package/lib/components/notebook/marked/marked.js +72 -0
- 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 +25 -0
- package/lib/components/outputs/Output.js +126 -0
- package/lib/components/outputs/Output.js.map +1 -0
- package/lib/components/outputs/OutputAdapter.d.ts +19 -0
- package/lib/components/outputs/OutputAdapter.js +81 -0
- package/lib/components/outputs/OutputAdapter.js.map +1 -0
- package/lib/components/outputs/OutputState.d.ts +54 -0
- package/lib/components/outputs/OutputState.js +122 -0
- package/lib/components/outputs/OutputState.js.map +1 -0
- 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 +2 -0
- package/lib/components/settings/Settings.js +9 -0
- package/lib/components/settings/Settings.js.map +1 -0
- package/lib/components/settings/SettingsAdapter.d.ts +10 -0
- package/lib/components/settings/SettingsAdapter.js +16 -0
- package/lib/components/settings/SettingsAdapter.js.map +1 -0
- package/lib/components/settings/SettingsState.d.ts +15 -0
- package/lib/components/settings/SettingsState.js +30 -0
- package/lib/components/settings/SettingsState.js.map +1 -0
- package/lib/components/terminal/Terminal.d.ts +2 -0
- package/lib/components/terminal/Terminal.js +16 -0
- package/lib/components/terminal/Terminal.js.map +1 -0
- package/lib/components/terminal/TerminalAdapter.d.ts +13 -0
- package/lib/components/terminal/TerminalAdapter.js +28 -0
- package/lib/components/terminal/TerminalAdapter.js.map +1 -0
- package/lib/components/terminal/TerminalState.d.ts +15 -0
- package/lib/components/terminal/TerminalState.js +38 -0
- package/lib/components/terminal/TerminalState.js.map +1 -0
- package/lib/index.d.ts +43 -0
- package/lib/index.js +58 -0
- package/lib/index.js.map +1 -0
- package/lib/jupyter/Jupyter.d.ts +31 -0
- package/lib/jupyter/Jupyter.js +30 -0
- package/lib/jupyter/Jupyter.js.map +1 -0
- package/lib/jupyter/JupyterAuthError.d.ts +7 -0
- package/lib/jupyter/JupyterAuthError.js +8 -0
- package/lib/jupyter/JupyterAuthError.js.map +1 -0
- package/lib/jupyter/JupyterConfig.d.ts +38 -0
- package/lib/jupyter/JupyterConfig.js +83 -0
- package/lib/jupyter/JupyterConfig.js.map +1 -0
- package/lib/jupyter/JupyterContext.d.ts +39 -0
- package/lib/jupyter/JupyterContext.js +89 -0
- package/lib/jupyter/JupyterContext.js.map +1 -0
- package/lib/jupyter/JupyterHandlers.d.ts +8 -0
- package/lib/jupyter/JupyterHandlers.js +50 -0
- package/lib/jupyter/JupyterHandlers.js.map +1 -0
- package/lib/jupyter/ipywidgets/IPyWidgetsAttached.d.ts +8 -0
- package/lib/jupyter/ipywidgets/IPyWidgetsAttached.js +15 -0
- package/lib/jupyter/ipywidgets/IPyWidgetsAttached.js.map +1 -0
- package/lib/jupyter/ipywidgets/IPyWidgetsClassicManager.d.ts +18 -0
- package/lib/jupyter/ipywidgets/IPyWidgetsClassicManager.js +76 -0
- package/lib/jupyter/ipywidgets/IPyWidgetsClassicManager.js.map +1 -0
- package/lib/jupyter/ipywidgets/IPyWidgetsJupyterLabPlugin.d.ts +15 -0
- package/lib/jupyter/ipywidgets/IPyWidgetsJupyterLabPlugin.js +178 -0
- package/lib/jupyter/ipywidgets/IPyWidgetsJupyterLabPlugin.js.map +1 -0
- package/lib/jupyter/ipywidgets/IpyWidgetsManager.d.ts +11 -0
- package/lib/jupyter/ipywidgets/IpyWidgetsManager.js +71 -0
- package/lib/jupyter/ipywidgets/IpyWidgetsManager.js.map +1 -0
- package/lib/jupyter/ipywidgets/plotly/Figure.d.ts +587 -0
- package/lib/jupyter/ipywidgets/plotly/Figure.js +1697 -0
- package/lib/jupyter/ipywidgets/plotly/Figure.js.map +1 -0
- package/lib/jupyter/ipywidgets/plotly/JupyterlabPlugin.d.ts +5 -0
- package/lib/jupyter/ipywidgets/plotly/JupyterlabPlugin.js +12 -0
- package/lib/jupyter/ipywidgets/plotly/JupyterlabPlugin.js.map +1 -0
- package/lib/jupyter/ipywidgets/plotly/Version.d.ts +8 -0
- package/lib/jupyter/ipywidgets/plotly/Version.js +16 -0
- package/lib/jupyter/ipywidgets/plotly/Version.js.map +1 -0
- package/lib/jupyter/ipywidgets/plotly/index.d.ts +2 -0
- package/lib/jupyter/ipywidgets/plotly/index.js +4 -0
- package/lib/jupyter/ipywidgets/plotly/index.js.map +1 -0
- 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 +3 -0
- package/lib/jupyter/lumino/LuminoAttached.js +21 -0
- package/lib/jupyter/lumino/LuminoAttached.js.map +1 -0
- package/lib/jupyter/lumino/LuminoDetached.d.ts +9 -0
- package/lib/jupyter/lumino/LuminoDetached.js +13 -0
- package/lib/jupyter/lumino/LuminoDetached.js.map +1 -0
- 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/lumino/LuminoObservable.d.ts +6 -0
- package/lib/jupyter/lumino/LuminoObservable.js +16 -0
- package/lib/jupyter/lumino/LuminoObservable.js.map +1 -0
- package/lib/jupyter/lumino/LuminoReactPortal.d.ts +180 -0
- package/lib/jupyter/lumino/LuminoReactPortal.js +195 -0
- package/lib/jupyter/lumino/LuminoReactPortal.js.map +1 -0
- package/lib/jupyter/lumino/LuminoRedux.d.ts +8 -0
- package/lib/jupyter/lumino/LuminoRedux.js +2 -0
- package/lib/jupyter/lumino/LuminoRedux.js.map +1 -0
- package/lib/jupyter/services/Services.d.ts +16 -0
- package/lib/jupyter/services/Services.js +41 -0
- package/lib/jupyter/services/Services.js.map +1 -0
- package/lib/jupyter/services/kernel/Kernel.d.ts +15 -0
- package/lib/jupyter/services/kernel/Kernel.js +65 -0
- package/lib/jupyter/services/kernel/Kernel.js.map +1 -0
- package/lib/jupyter/services/kernel/KernelModel.d.ts +18 -0
- package/lib/jupyter/services/kernel/KernelModel.js +52 -0
- package/lib/jupyter/services/kernel/KernelModel.js.map +1 -0
- package/lib/state/State.d.ts +14 -0
- package/lib/state/State.js +32 -0
- package/lib/state/State.js.map +1 -0
- package/lib/state/Store.d.ts +6 -0
- package/lib/state/Store.js +35 -0
- package/lib/state/Store.js.map +1 -0
- 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/outputs/OutputAdapter.css +0 -3
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { INotebookModel, NotebookModelFactory } from "@jupyterlab/notebook";
|
|
2
|
+
import { IModelDB } from "@jupyterlab/observables";
|
|
3
|
+
export declare class CustomNotebookModelFactory extends NotebookModelFactory {
|
|
4
|
+
/** @override */
|
|
5
|
+
constructor(options: NotebookModelFactory.IOptions);
|
|
6
|
+
/** @override */
|
|
7
|
+
createNew(languagePreference?: string, modelDB?: IModelDB, isInitialized?: boolean): INotebookModel;
|
|
8
|
+
}
|
|
9
|
+
export default CustomNotebookModelFactory;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { NotebookModelFactory } from "@jupyterlab/notebook";
|
|
2
|
+
export class CustomNotebookModelFactory extends NotebookModelFactory {
|
|
3
|
+
/** @override */
|
|
4
|
+
constructor(options) {
|
|
5
|
+
super(options);
|
|
6
|
+
}
|
|
7
|
+
/** @override */
|
|
8
|
+
createNew(languagePreference, modelDB, isInitialized) {
|
|
9
|
+
const model = super.createNew(languagePreference, modelDB, isInitialized);
|
|
10
|
+
return model;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export default CustomNotebookModelFactory;
|
|
14
|
+
//# sourceMappingURL=CustomNotebookModelFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomNotebookModelFactory.js","sourceRoot":"","sources":["../../../../src/components/notebook/model/CustomNotebookModelFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5E,MAAM,OAAO,0BAA2B,SAAQ,oBAAoB;IAElE,gBAAgB;IAChB,YAAY,OAAsC;QAChD,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED,gBAAgB;IAChB,SAAS,CACP,kBAA2B,EAC3B,OAAkB,EAClB,aAAuB;QAEvB,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,kBAAkB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAC1E,OAAO,KAAK,CAAC;IACf,CAAC;CAEF;AAED,eAAe,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as nbformat from '@jupyterlab/nbformat';
|
|
2
|
+
import Kernel from './../../jupyter/services/kernel/Kernel';
|
|
3
|
+
import '@lumino/default-theme/style/index.css';
|
|
4
|
+
import './Output.css';
|
|
5
|
+
export declare type IOutputProps = {
|
|
6
|
+
initialOutput?: [nbformat.IOutput];
|
|
7
|
+
kernel: Kernel;
|
|
8
|
+
autoRun: boolean;
|
|
9
|
+
disableRun: boolean;
|
|
10
|
+
showEditor: boolean;
|
|
11
|
+
code: string;
|
|
12
|
+
codePre?: string;
|
|
13
|
+
clearTrigger: number;
|
|
14
|
+
sourceId: string;
|
|
15
|
+
receipt?: string;
|
|
16
|
+
store?: any;
|
|
17
|
+
executeTrigger: number;
|
|
18
|
+
toolbarPosition: 'up' | 'middle' | 'none';
|
|
19
|
+
insertText?: (payload?: any) => string;
|
|
20
|
+
};
|
|
21
|
+
export declare const Output: {
|
|
22
|
+
(props: IOutputProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
23
|
+
defaultProps: Partial<IOutputProps>;
|
|
24
|
+
};
|
|
25
|
+
export default Output;
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { useState, useMemo, useEffect } from 'react';
|
|
3
|
+
import { useDispatch } from 'react-redux';
|
|
4
|
+
import Stack from '@mui/material/Stack';
|
|
5
|
+
import LinearProgress from '@mui/material/LinearProgress';
|
|
6
|
+
import { OutputAreaModel } from '@jupyterlab/outputarea';
|
|
7
|
+
import OutputAdapter from './OutputAdapter';
|
|
8
|
+
import { selectExecute, outputActions, outputReducer } from './OutputState';
|
|
9
|
+
import LuminoAttached from './../../jupyter/lumino/LuminoAttached';
|
|
10
|
+
import CodeMirrorEditor from '././../codemirror/CodeMirrorEditor';
|
|
11
|
+
import injectableStore from '../../state/Store';
|
|
12
|
+
import '@lumino/default-theme/style/index.css';
|
|
13
|
+
/*
|
|
14
|
+
import "@jupyterlab/outputarea/style/index.css";
|
|
15
|
+
import '@jupyterlab/json-extension/style/index.css';
|
|
16
|
+
import "@jupyterlab/theme-light-extension/style/theme.css";
|
|
17
|
+
import "@@jupyter-widgets/base/css/index.css";
|
|
18
|
+
import "@jupyter-widgets/controls/css/widgets-base.css";
|
|
19
|
+
*/
|
|
20
|
+
import './Output.css';
|
|
21
|
+
const KernelRunning = () => (_jsx(Stack, Object.assign({ sx: { width: '100%', color: 'grey.500' }, spacing: 2 }, { children: _jsx(LinearProgress, { color: "primary" }, void 0) }), void 0));
|
|
22
|
+
export const Output = (props) => {
|
|
23
|
+
const { initialOutput, autoRun, code, kernel, showEditor, clearTrigger, executeTrigger, sourceId, receipt, disableRun, insertText, toolbarPosition, codePre } = props;
|
|
24
|
+
const [kernelStatus, setKernelStatus] = useState('unknown');
|
|
25
|
+
const store = props.store || injectableStore;
|
|
26
|
+
useMemo(() => {
|
|
27
|
+
store.inject('outputs', outputReducer);
|
|
28
|
+
}, []);
|
|
29
|
+
const dispatch = useDispatch();
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
kernel.getJupyterKernel().then((kernelConnection) => {
|
|
32
|
+
setKernelStatus(kernelConnection.status);
|
|
33
|
+
kernelConnection.statusChanged.connect((kernelConnection, status) => {
|
|
34
|
+
setKernelStatus(status);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
return () => {
|
|
38
|
+
// kernel.getJupyterKernel().then(k => k.shutdown().then(() => console.log(`Kernel ${k.clientId} is terminated.`)));
|
|
39
|
+
};
|
|
40
|
+
}, []);
|
|
41
|
+
const [model] = useState(new OutputAreaModel({
|
|
42
|
+
trusted: true,
|
|
43
|
+
values: initialOutput,
|
|
44
|
+
}));
|
|
45
|
+
const outputAdapter = useMemo(() => {
|
|
46
|
+
const outputAdapter = new OutputAdapter(kernel.getJupyterKernel(), model, {});
|
|
47
|
+
if (receipt) {
|
|
48
|
+
outputAdapter.outputArea.model.changed.connect((sender, change) => {
|
|
49
|
+
if (change.type === 'add') {
|
|
50
|
+
change.newValues.map(val => {
|
|
51
|
+
if (val && val.data) {
|
|
52
|
+
// const out = val.data['application/vnd.jupyter.stdout'];
|
|
53
|
+
const out = val.data['text/html'];
|
|
54
|
+
if (out) {
|
|
55
|
+
if (out.indexOf(receipt) > -1) {
|
|
56
|
+
dispatch(outputActions.grade({
|
|
57
|
+
sourceId,
|
|
58
|
+
success: true,
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
return outputAdapter;
|
|
68
|
+
}, [sourceId]);
|
|
69
|
+
const executeRequest = selectExecute(sourceId);
|
|
70
|
+
useEffect(() => {
|
|
71
|
+
if (executeRequest) {
|
|
72
|
+
outputAdapter.execute(executeRequest.source);
|
|
73
|
+
}
|
|
74
|
+
}, [executeRequest]);
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
if (autoRun) {
|
|
77
|
+
outputAdapter.execute(code);
|
|
78
|
+
}
|
|
79
|
+
}, [executeTrigger]);
|
|
80
|
+
useEffect(() => {
|
|
81
|
+
if (showEditor) {
|
|
82
|
+
outputAdapter.clearOutput();
|
|
83
|
+
}
|
|
84
|
+
}, [clearTrigger]);
|
|
85
|
+
return (_jsxs(_Fragment, { children: [showEditor &&
|
|
86
|
+
_jsx("div", Object.assign({ css: {
|
|
87
|
+
'& .cm-editor': {
|
|
88
|
+
borderRadius: '5px',
|
|
89
|
+
},
|
|
90
|
+
} }, { children: _jsx(CodeMirrorEditor, { autoRun: autoRun, code: code, codePre: codePre, kernel: kernel, outputAdapter: outputAdapter, sourceId: sourceId, disableRun: disableRun, insertText: insertText, toolbarPosition: toolbarPosition }, void 0) }), void 0),
|
|
91
|
+
(kernelStatus !== 'idle') && _jsx(KernelRunning, {}, void 0),
|
|
92
|
+
_jsx("div", Object.assign({ css: {
|
|
93
|
+
'& .jp-OutputPrompt': {
|
|
94
|
+
display: 'none',
|
|
95
|
+
},
|
|
96
|
+
'& .jp-OutputArea': {
|
|
97
|
+
fontSize: '10px',
|
|
98
|
+
},
|
|
99
|
+
'& pre': {
|
|
100
|
+
fontSize: '12px',
|
|
101
|
+
wordBreak: 'break-all',
|
|
102
|
+
wordWrap: 'break-word',
|
|
103
|
+
whiteSpace: 'pre-wrap',
|
|
104
|
+
},
|
|
105
|
+
} }, { children: _jsx(LuminoAttached, { children: outputAdapter.panel }, void 0) }), void 0)] }, void 0));
|
|
106
|
+
};
|
|
107
|
+
Output.defaultProps = {
|
|
108
|
+
initialOutput: [
|
|
109
|
+
{
|
|
110
|
+
"output_type": "execute_result",
|
|
111
|
+
"data": {
|
|
112
|
+
"text/html": [
|
|
113
|
+
"<h3>I am the default output... 👉 Run the snippet to update me... 👀</h3>"
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
"execution_count": 0,
|
|
117
|
+
"metadata": {},
|
|
118
|
+
}
|
|
119
|
+
],
|
|
120
|
+
disableRun: false,
|
|
121
|
+
toolbarPosition: 'up',
|
|
122
|
+
executeTrigger: 0,
|
|
123
|
+
clearTrigger: 0,
|
|
124
|
+
};
|
|
125
|
+
export default Output;
|
|
126
|
+
//# sourceMappingURL=Output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Output.js","sourceRoot":"","sources":["../../../src/components/outputs/Output.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { OutputArea, OutputAreaModel } from '@jupyterlab/outputarea';
|
|
2
|
+
import { Kernel } from '@jupyterlab/services';
|
|
3
|
+
export declare class OutputAdapter {
|
|
4
|
+
private _kernelConnectionPromise?;
|
|
5
|
+
private _renderers;
|
|
6
|
+
private _outputArea;
|
|
7
|
+
private _msgLoading;
|
|
8
|
+
private _rendermime;
|
|
9
|
+
private _iPyWidgetsClassicManager;
|
|
10
|
+
constructor(kernel: Promise<Kernel.IKernelConnection>, model: OutputAreaModel, options?: any);
|
|
11
|
+
get outputArea(): OutputArea;
|
|
12
|
+
private renderCell;
|
|
13
|
+
execute(code: string): void;
|
|
14
|
+
interrupt(): void;
|
|
15
|
+
clearOutput(): void;
|
|
16
|
+
private render;
|
|
17
|
+
get panel(): OutputArea;
|
|
18
|
+
}
|
|
19
|
+
export default OutputAdapter;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { OutputArea } from '@jupyterlab/outputarea';
|
|
2
|
+
import { RenderMimeRegistry, standardRendererFactories } from '@jupyterlab/rendermime';
|
|
3
|
+
import { rendererFactory as jsonRendererFactory } from '@jupyterlab/json-extension';
|
|
4
|
+
import { rendererFactory as javascriptRendererFactory } from '@jupyterlab/javascript-extension';
|
|
5
|
+
import { requireLoader } from "@jupyter-widgets/html-manager";
|
|
6
|
+
import { WIDGET_MIMETYPE, WidgetRenderer } from "@jupyter-widgets/html-manager/lib/output_renderers";
|
|
7
|
+
import { IPyWidgetsClassicManager } from "./../../jupyter/ipywidgets/IPyWidgetsClassicManager";
|
|
8
|
+
// import { activateWidgetExtension } from "./../../jupyter/ipywidgets/IPyWidgetsJupyterLabPlugin";
|
|
9
|
+
// import { activatePlotlyWidgetExtension } from "./../../jupyter/ipywidgets/plotly/JupyterlabPlugin";
|
|
10
|
+
export class OutputAdapter {
|
|
11
|
+
constructor(kernel, model, options = {}) {
|
|
12
|
+
this._kernelConnectionPromise = kernel;
|
|
13
|
+
this._msgLoading = options.msgLoading || 'Loading...';
|
|
14
|
+
this._iPyWidgetsClassicManager = new IPyWidgetsClassicManager({ loader: requireLoader });
|
|
15
|
+
this._renderers = standardRendererFactories.filter(factory => factory.mimeTypes[0] !== 'text/javascript');
|
|
16
|
+
this._renderers.push(jsonRendererFactory);
|
|
17
|
+
this._renderers.push(javascriptRendererFactory);
|
|
18
|
+
this._rendermime = new RenderMimeRegistry({
|
|
19
|
+
initialFactories: this._renderers,
|
|
20
|
+
});
|
|
21
|
+
this._outputArea = new OutputArea({
|
|
22
|
+
model: model,
|
|
23
|
+
rendermime: this._rendermime,
|
|
24
|
+
});
|
|
25
|
+
this._rendermime.addFactory({
|
|
26
|
+
safe: false,
|
|
27
|
+
mimeTypes: [WIDGET_MIMETYPE],
|
|
28
|
+
createRenderer: (options) => new WidgetRenderer(options, this._iPyWidgetsClassicManager),
|
|
29
|
+
}, 0);
|
|
30
|
+
// const widgetRegistry = activateWidgetExtension(this._rendermime, null, null, null);
|
|
31
|
+
// activatePlotlyWidgetExtension(widgetRegistry);
|
|
32
|
+
if (this._kernelConnectionPromise) {
|
|
33
|
+
this._kernelConnectionPromise.then((kernelConnection) => {
|
|
34
|
+
this._iPyWidgetsClassicManager.registerWithKernel(kernelConnection);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
if (!options.noAutoInit) {
|
|
38
|
+
this.renderCell(model);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
get outputArea() {
|
|
42
|
+
return this._outputArea;
|
|
43
|
+
}
|
|
44
|
+
renderCell(model) {
|
|
45
|
+
this._outputArea = new OutputArea({
|
|
46
|
+
model: model,
|
|
47
|
+
rendermime: this._rendermime,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
execute(code) {
|
|
51
|
+
if (this._kernelConnectionPromise) {
|
|
52
|
+
this._outputArea.model.clear();
|
|
53
|
+
this.render(code);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
interrupt() {
|
|
58
|
+
this._kernelConnectionPromise.then((kernelConnection) => {
|
|
59
|
+
kernelConnection.interrupt();
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
clearOutput() {
|
|
63
|
+
this._outputArea.model.clear();
|
|
64
|
+
}
|
|
65
|
+
render(code) {
|
|
66
|
+
this._kernelConnectionPromise.then((kernelConnection) => {
|
|
67
|
+
this._outputArea.future = kernelConnection.requestExecute({ code });
|
|
68
|
+
});
|
|
69
|
+
this._outputArea.model.add({
|
|
70
|
+
output_type: 'stream',
|
|
71
|
+
name: 'loading',
|
|
72
|
+
text: this._msgLoading,
|
|
73
|
+
});
|
|
74
|
+
this._outputArea.model.clear(true);
|
|
75
|
+
}
|
|
76
|
+
get panel() {
|
|
77
|
+
return this._outputArea;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
export default OutputAdapter;
|
|
81
|
+
//# sourceMappingURL=OutputAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputAdapter.js","sourceRoot":"","sources":["../../../src/components/outputs/OutputAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
declare namespace OutputState {
|
|
2
|
+
type ISource = {
|
|
3
|
+
sourceId: string;
|
|
4
|
+
source: string;
|
|
5
|
+
increment?: number;
|
|
6
|
+
};
|
|
7
|
+
type IDataset = {
|
|
8
|
+
sourceId: string;
|
|
9
|
+
dataset: any;
|
|
10
|
+
increment?: number;
|
|
11
|
+
};
|
|
12
|
+
type IExecute = {
|
|
13
|
+
sourceId: string;
|
|
14
|
+
source: string;
|
|
15
|
+
increment?: number;
|
|
16
|
+
};
|
|
17
|
+
type IGrade = {
|
|
18
|
+
sourceId: string;
|
|
19
|
+
success: boolean;
|
|
20
|
+
increment?: number;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export declare type IOutputState = {
|
|
24
|
+
source?: OutputState.ISource;
|
|
25
|
+
dataset?: OutputState.IDataset;
|
|
26
|
+
setSource?: OutputState.ISource;
|
|
27
|
+
execute?: OutputState.IExecute;
|
|
28
|
+
grade?: OutputState.IGrade;
|
|
29
|
+
};
|
|
30
|
+
export interface IOutputsState {
|
|
31
|
+
outputs: Map<string, IOutputState>;
|
|
32
|
+
}
|
|
33
|
+
export declare const outputInitialState: IOutputsState;
|
|
34
|
+
export declare const selectJupyterSource: (id: string) => OutputState.ISource | undefined;
|
|
35
|
+
export declare const selectJupyterSetSource: (id: string) => OutputState.ISource | undefined;
|
|
36
|
+
export declare const selectDataset: (id: string) => OutputState.IDataset | undefined;
|
|
37
|
+
export declare const selectExecute: (id: string) => OutputState.IExecute | undefined;
|
|
38
|
+
export declare const selectGrade: (id: string) => OutputState.IGrade | undefined;
|
|
39
|
+
export declare enum OutputActionType {
|
|
40
|
+
SOURCE = "output/SOURCE",
|
|
41
|
+
DATASET = "output/DATASET",
|
|
42
|
+
EXECUTE = "output/EXECUTE",
|
|
43
|
+
SET_SOURCE = "output/SET_SOURCE",
|
|
44
|
+
GRADE = "output/GRADE"
|
|
45
|
+
}
|
|
46
|
+
export declare const outputActions: {
|
|
47
|
+
source: import("typescript-fsa").ActionCreator<OutputState.ISource>;
|
|
48
|
+
dataset: import("typescript-fsa").ActionCreator<OutputState.IDataset>;
|
|
49
|
+
execute: import("typescript-fsa").ActionCreator<OutputState.IExecute>;
|
|
50
|
+
setSource: import("typescript-fsa").ActionCreator<OutputState.IExecute>;
|
|
51
|
+
grade: import("typescript-fsa").ActionCreator<OutputState.IGrade>;
|
|
52
|
+
};
|
|
53
|
+
export declare const outputReducer: import("typescript-fsa-reducers").ReducerBuilder<IOutputsState, IOutputsState>;
|
|
54
|
+
export {};
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { useSelector } from "react-redux";
|
|
2
|
+
import actionCreatorFactory from "typescript-fsa";
|
|
3
|
+
import { reducerWithInitialState } from "typescript-fsa-reducers";
|
|
4
|
+
export const outputInitialState = {
|
|
5
|
+
outputs: new Map(),
|
|
6
|
+
};
|
|
7
|
+
/* Selectors */
|
|
8
|
+
export const selectJupyterSource = (id) => useSelector((state) => {
|
|
9
|
+
var _a;
|
|
10
|
+
if (state.outputs) {
|
|
11
|
+
return (_a = state.outputs.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.source;
|
|
12
|
+
}
|
|
13
|
+
return undefined;
|
|
14
|
+
});
|
|
15
|
+
export const selectJupyterSetSource = (id) => useSelector((state) => {
|
|
16
|
+
var _a;
|
|
17
|
+
if (state.outputs) {
|
|
18
|
+
return (_a = state.outputs.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.setSource;
|
|
19
|
+
}
|
|
20
|
+
return undefined;
|
|
21
|
+
});
|
|
22
|
+
export const selectDataset = (id) => useSelector((state) => {
|
|
23
|
+
var _a;
|
|
24
|
+
if (state.outputs) {
|
|
25
|
+
return (_a = state.outputs.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.dataset;
|
|
26
|
+
}
|
|
27
|
+
return undefined;
|
|
28
|
+
});
|
|
29
|
+
export const selectExecute = (id) => useSelector((state) => {
|
|
30
|
+
var _a;
|
|
31
|
+
if (state.outputs) {
|
|
32
|
+
return (_a = state.outputs.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.execute;
|
|
33
|
+
}
|
|
34
|
+
return undefined;
|
|
35
|
+
});
|
|
36
|
+
export const selectGrade = (id) => useSelector((state) => {
|
|
37
|
+
var _a;
|
|
38
|
+
if (state.outputs) {
|
|
39
|
+
return (_a = state.outputs.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.grade;
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
});
|
|
43
|
+
/* Actions */
|
|
44
|
+
export var OutputActionType;
|
|
45
|
+
(function (OutputActionType) {
|
|
46
|
+
OutputActionType["SOURCE"] = "output/SOURCE";
|
|
47
|
+
OutputActionType["DATASET"] = "output/DATASET";
|
|
48
|
+
OutputActionType["EXECUTE"] = "output/EXECUTE";
|
|
49
|
+
OutputActionType["SET_SOURCE"] = "output/SET_SOURCE";
|
|
50
|
+
OutputActionType["GRADE"] = "output/GRADE";
|
|
51
|
+
})(OutputActionType || (OutputActionType = {}));
|
|
52
|
+
const actionCreator = actionCreatorFactory('jupyterOutput');
|
|
53
|
+
export const outputActions = {
|
|
54
|
+
source: actionCreator(OutputActionType.SOURCE),
|
|
55
|
+
dataset: actionCreator(OutputActionType.DATASET),
|
|
56
|
+
execute: actionCreator(OutputActionType.EXECUTE),
|
|
57
|
+
setSource: actionCreator(OutputActionType.SET_SOURCE),
|
|
58
|
+
grade: actionCreator(OutputActionType.GRADE),
|
|
59
|
+
};
|
|
60
|
+
/* Reducers */
|
|
61
|
+
export const outputReducer = reducerWithInitialState(outputInitialState)
|
|
62
|
+
.case(outputActions.source, (state, source) => {
|
|
63
|
+
const sourceId = source.sourceId;
|
|
64
|
+
const outputs = state.outputs;
|
|
65
|
+
const s = outputs.get(sourceId);
|
|
66
|
+
if (s) {
|
|
67
|
+
s.source = source;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
outputs.set(sourceId, { source });
|
|
71
|
+
}
|
|
72
|
+
return Object.assign(Object.assign({}, state), { outputs });
|
|
73
|
+
})
|
|
74
|
+
.case(outputActions.dataset, (state, dataset) => {
|
|
75
|
+
const sourceId = dataset.sourceId;
|
|
76
|
+
const outputs = state.outputs;
|
|
77
|
+
const d = outputs.get(dataset.sourceId);
|
|
78
|
+
if (d) {
|
|
79
|
+
d.dataset = dataset;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
outputs.set(sourceId, { dataset });
|
|
83
|
+
}
|
|
84
|
+
return Object.assign(Object.assign({}, state), { outputs });
|
|
85
|
+
})
|
|
86
|
+
.case(outputActions.execute, (state, execute) => {
|
|
87
|
+
const sourceId = execute.sourceId;
|
|
88
|
+
const outputs = state.outputs;
|
|
89
|
+
const e = outputs.get(sourceId);
|
|
90
|
+
if (e) {
|
|
91
|
+
e.execute = execute;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
outputs.set(sourceId, { execute });
|
|
95
|
+
}
|
|
96
|
+
return Object.assign(Object.assign({}, state), { outputs });
|
|
97
|
+
})
|
|
98
|
+
.case(outputActions.setSource, (state, setSource) => {
|
|
99
|
+
const sourceId = setSource.sourceId;
|
|
100
|
+
const outputs = state.outputs;
|
|
101
|
+
const s = outputs.get(sourceId);
|
|
102
|
+
if (s) {
|
|
103
|
+
s.setSource = setSource;
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
outputs.set(sourceId, { setSource });
|
|
107
|
+
}
|
|
108
|
+
return Object.assign(Object.assign({}, state), { outputs });
|
|
109
|
+
})
|
|
110
|
+
.case(outputActions.grade, (state, grade) => {
|
|
111
|
+
const sourceId = grade.sourceId;
|
|
112
|
+
const outputs = state.outputs;
|
|
113
|
+
const g = outputs.get(sourceId);
|
|
114
|
+
if (g) {
|
|
115
|
+
g.grade = grade;
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
outputs.set(sourceId, { grade });
|
|
119
|
+
}
|
|
120
|
+
return Object.assign(Object.assign({}, state), { outputs });
|
|
121
|
+
});
|
|
122
|
+
//# sourceMappingURL=OutputState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputState.js","sourceRoot":"","sources":["../../../src/components/outputs/OutputState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EditorView } from 'codemirror';
|
|
2
|
+
import OutputAdapter from './OutputAdapter';
|
|
3
|
+
import Kernel from './../../jupyter/services/kernel/Kernel';
|
|
4
|
+
declare type Props = {
|
|
5
|
+
editorView?: EditorView;
|
|
6
|
+
codePre?: string;
|
|
7
|
+
kernel: Kernel;
|
|
8
|
+
outputAdapter: OutputAdapter;
|
|
9
|
+
executeCode: (editorView?: EditorView, code?: string) => void;
|
|
10
|
+
};
|
|
11
|
+
export declare const OutputToolbar: (props: Props) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
12
|
+
export default OutputToolbar;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState, useMemo } from 'react';
|
|
3
|
+
import { useTheme, ActionMenu, ActionList, IconButton, Box } from '@primer/react';
|
|
4
|
+
import { KebabHorizontalIcon, ArrowRightIcon, StopIcon, PaintbrushIcon } from '@primer/octicons-react';
|
|
5
|
+
const OutputToolbarMenu = (props) => {
|
|
6
|
+
const { executeCode, outputAdapter, editorView } = props;
|
|
7
|
+
return (_jsxs(ActionMenu, { children: [_jsx(ActionMenu.Anchor, { children: _jsx(IconButton, { icon: KebabHorizontalIcon, variant: "invisible" }, void 0) }, void 0),
|
|
8
|
+
_jsx(ActionMenu.Overlay, { children: _jsxs(ActionList, { children: [_jsxs(ActionList.Item, Object.assign({ onSelect: e => { e.preventDefault(); executeCode(editorView); } }, { children: [_jsx(ActionList.LeadingVisual, { children: _jsx(ArrowRightIcon, {}, void 0) }, void 0),
|
|
9
|
+
_jsx(ActionList.TrailingVisual, { children: "\u21E7 \u21B5" }, void 0), "Run code"] }), void 0),
|
|
10
|
+
_jsxs(ActionList.Item, Object.assign({ onSelect: e => { e.preventDefault(); outputAdapter.interrupt(); } }, { children: [_jsx(ActionList.LeadingVisual, { children: _jsx(StopIcon, {}, void 0) }, void 0), "Interrupt kernel"] }), void 0),
|
|
11
|
+
_jsxs(ActionList.Item, Object.assign({ variant: "danger", onClick: e => { e.preventDefault(); outputAdapter.clearOutput(); } }, { children: [_jsx(ActionList.LeadingVisual, { children: _jsx(PaintbrushIcon, {}, void 0) }, void 0), "Clear outputs"] }), void 0)] }, void 0) }, void 0)] }, void 0));
|
|
12
|
+
};
|
|
13
|
+
const KernelStatus = ({ color }) => (_jsx(Box, { sx: { backgroundColor: color, width: '14px', height: '14px', borderRadius: 3 } }, void 0));
|
|
14
|
+
export const OutputToolbar = (props) => {
|
|
15
|
+
const { executeCode, editorView, kernel, codePre } = props;
|
|
16
|
+
const { theme } = useTheme();
|
|
17
|
+
const okColor = useMemo(() => theme === null || theme === void 0 ? void 0 : theme.colorSchemes.light.colors.success.muted, []);
|
|
18
|
+
const nokColor = useMemo(() => theme === null || theme === void 0 ? void 0 : theme.colorSchemes.light.colors.severe.muted, []);
|
|
19
|
+
const [kernelStatus, setKernelStatus] = useState('unknown');
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
kernel.getJupyterKernel().then((kernelConnection) => {
|
|
22
|
+
if (codePre) {
|
|
23
|
+
executeCode(editorView, codePre);
|
|
24
|
+
}
|
|
25
|
+
setKernelStatus(kernelConnection.status);
|
|
26
|
+
kernelConnection.statusChanged.connect((kernelConnection, status) => {
|
|
27
|
+
setKernelStatus(status);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
}, []);
|
|
31
|
+
const getKernelStatusColor = (status) => {
|
|
32
|
+
if (status === "idle") {
|
|
33
|
+
return okColor;
|
|
34
|
+
}
|
|
35
|
+
return nokColor;
|
|
36
|
+
};
|
|
37
|
+
return (_jsxs(Box, Object.assign({ display: "flex" }, { children: [_jsx(Box, { flexGrow: 1 }, void 0),
|
|
38
|
+
_jsx(Box, Object.assign({ sx: { paddingTop: '6px' } }, { children: _jsx(KernelStatus, { color: getKernelStatusColor(kernelStatus) }, void 0) }), void 0),
|
|
39
|
+
_jsx(Box, { children: _jsx(OutputToolbarMenu, Object.assign({}, props), void 0) }, void 0)] }), void 0));
|
|
40
|
+
};
|
|
41
|
+
export default OutputToolbar;
|
|
42
|
+
//# sourceMappingURL=OutputToolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputToolbar.js","sourceRoot":"","sources":["../../../src/components/outputs/OutputToolbar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import SettingsAdapter from './SettingsAdapter';
|
|
3
|
+
import LuminoAttached from '../../jupyter/lumino/LuminoAttached';
|
|
4
|
+
export const Settings = () => {
|
|
5
|
+
const settingsAdapter = new SettingsAdapter();
|
|
6
|
+
return _jsx(_Fragment, { children: _jsx(LuminoAttached, { children: settingsAdapter.panel }, void 0) }, void 0);
|
|
7
|
+
};
|
|
8
|
+
export default Settings;
|
|
9
|
+
//# sourceMappingURL=Settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../../src/components/settings/Settings.tsx"],"names":[],"mappings":";AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,cAAc,MAAM,qCAAqC,CAAC;AAEjE,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,OAAO,4BACL,KAAC,cAAc,cAAE,eAAe,CAAC,KAAK,WAAkB,WACvD,CAAA;AACL,CAAC,CAAA;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DockPanel } from '@lumino/widgets';
|
|
2
|
+
import '@jupyterlab/theme-light-extension/style/theme.css';
|
|
3
|
+
import '@jupyterlab/theme-light-extension/style/variables.css';
|
|
4
|
+
import './SettingsAdapter.css';
|
|
5
|
+
declare class SettingsAdapter {
|
|
6
|
+
private settingsPanel;
|
|
7
|
+
constructor();
|
|
8
|
+
get panel(): DockPanel;
|
|
9
|
+
}
|
|
10
|
+
export default SettingsAdapter;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DockPanel } from '@lumino/widgets';
|
|
2
|
+
import '@jupyterlab/theme-light-extension/style/theme.css';
|
|
3
|
+
import '@jupyterlab/theme-light-extension/style/variables.css';
|
|
4
|
+
import './SettingsAdapter.css';
|
|
5
|
+
class SettingsAdapter {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.settingsPanel = new DockPanel();
|
|
8
|
+
this.settingsPanel.id = 'dla-jlab-settings';
|
|
9
|
+
this.settingsPanel.spacing = 0;
|
|
10
|
+
}
|
|
11
|
+
get panel() {
|
|
12
|
+
return this.settingsPanel;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export default SettingsAdapter;
|
|
16
|
+
//# sourceMappingURL=SettingsAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsAdapter.js","sourceRoot":"","sources":["../../../src/components/settings/SettingsAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,mDAAmD,CAAC;AAC3D,OAAO,uDAAuD,CAAC;AAE/D,OAAO,uBAAuB,CAAC;AAE/B,MAAM,eAAe;IAGnB;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,SAAS,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,mBAAmB,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;CAEF;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare type ISettings = number;
|
|
2
|
+
export interface ISettingsState {
|
|
3
|
+
outputs: ISettings;
|
|
4
|
+
}
|
|
5
|
+
export declare const settingsInitialState: ISettingsState;
|
|
6
|
+
export declare const selectSettings: () => ISettingsState;
|
|
7
|
+
export declare enum SettingsActionType {
|
|
8
|
+
OUTPUTS = "settings/OUTPUTS",
|
|
9
|
+
EXECUTE = "settings/EXECUTE"
|
|
10
|
+
}
|
|
11
|
+
export declare const settingsActions: {
|
|
12
|
+
outputs: import("typescript-fsa").ActionCreator<number>;
|
|
13
|
+
execute: import("typescript-fsa").ActionCreator<void>;
|
|
14
|
+
};
|
|
15
|
+
export declare const settingsReducer: import("typescript-fsa-reducers").ReducerBuilder<ISettingsState, ISettingsState>;
|