@datalayer/jupyter-react 0.0.12 → 0.0.15

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.
Files changed (94) hide show
  1. package/lib/components/cell/Cell.js +15 -8
  2. package/lib/components/cell/Cell.js.map +1 -1
  3. package/lib/components/cell/CellAdapter.d.ts +2 -2
  4. package/lib/components/cell/CellAdapter.js +12 -15
  5. package/lib/components/cell/CellAdapter.js.map +1 -1
  6. package/lib/components/codemirror/CodeMirrorEditor.d.ts +2 -2
  7. package/lib/components/codemirror/CodeMirrorEditor.js +8 -8
  8. package/lib/components/codemirror/CodeMirrorEditor.js.map +1 -1
  9. package/lib/components/codemirror/CodeMirrorOutputToolbar.d.ts +12 -0
  10. package/lib/components/{outputs/OutputToolbar.js → codemirror/CodeMirrorOutputToolbar.js} +16 -14
  11. package/lib/components/codemirror/CodeMirrorOutputToolbar.js.map +1 -0
  12. package/lib/components/commands/Commands.js +2 -2
  13. package/lib/components/commands/Commands.js.map +1 -1
  14. package/lib/components/console/Console.js +2 -2
  15. package/lib/components/console/Console.js.map +1 -1
  16. package/lib/components/filebrowser/FileBrowser.js +2 -2
  17. package/lib/components/filebrowser/FileBrowser.js.map +1 -1
  18. package/lib/components/notebook/Notebook.d.ts +0 -2
  19. package/lib/components/notebook/Notebook.js +41 -52
  20. package/lib/components/notebook/Notebook.js.map +1 -1
  21. package/lib/components/notebook/NotebookAdapter.d.ts +3 -4
  22. package/lib/components/notebook/NotebookAdapter.js +13 -17
  23. package/lib/components/notebook/NotebookAdapter.js.map +1 -1
  24. package/lib/components/notebook/NotebookCommands.js +2 -2
  25. package/lib/components/notebook/NotebookCommands.js.map +1 -1
  26. package/lib/components/notebook/NotebookState.js +1 -3
  27. package/lib/components/notebook/NotebookState.js.map +1 -1
  28. package/lib/components/notebook/cell/sidebar/CellSidebarDefault.js +8 -7
  29. package/lib/components/notebook/cell/sidebar/CellSidebarDefault.js.map +1 -1
  30. package/lib/components/notebook/cell/sidebar/base/CellSidebarWidget.js +2 -2
  31. package/lib/components/notebook/cell/sidebar/base/CellSidebarWidget.js.map +1 -1
  32. package/lib/components/{outputs → output}/Output.css +0 -0
  33. package/lib/components/{outputs → output}/Output.d.ts +7 -5
  34. package/lib/components/output/Output.js +184 -0
  35. package/lib/components/output/Output.js.map +1 -0
  36. package/lib/components/output/OutputAdapter.d.ts +19 -0
  37. package/lib/components/{outputs → output}/OutputAdapter.js +38 -44
  38. package/lib/components/output/OutputAdapter.js.map +1 -0
  39. package/lib/components/output/OutputRenderer.d.ts +6 -0
  40. package/lib/components/output/OutputRenderer.js +88 -0
  41. package/lib/components/output/OutputRenderer.js.map +1 -0
  42. package/lib/components/{outputs → output}/OutputState.d.ts +0 -0
  43. package/lib/components/{outputs → output}/OutputState.js +10 -10
  44. package/lib/components/output/OutputState.js.map +1 -0
  45. package/lib/components/settings/Settings.js +2 -2
  46. package/lib/components/settings/Settings.js.map +1 -1
  47. package/lib/components/terminal/Terminal.js +8 -3
  48. package/lib/components/terminal/Terminal.js.map +1 -1
  49. package/lib/index.d.ts +5 -5
  50. package/lib/index.js +5 -6
  51. package/lib/index.js.map +1 -1
  52. package/lib/jupyter/Jupyter.d.ts +2 -0
  53. package/lib/jupyter/Jupyter.js +3 -2
  54. package/lib/jupyter/Jupyter.js.map +1 -1
  55. package/lib/jupyter/JupyterContext.d.ts +8 -3
  56. package/lib/jupyter/JupyterContext.js +45 -28
  57. package/lib/jupyter/JupyterContext.js.map +1 -1
  58. package/lib/jupyter/JupyterHandlers.d.ts +2 -1
  59. package/lib/jupyter/JupyterHandlers.js +3 -4
  60. package/lib/jupyter/JupyterHandlers.js.map +1 -1
  61. package/lib/jupyter/lite/LiteServer.js +1 -1
  62. package/lib/jupyter/lite/LiteServer.js.map +1 -1
  63. package/lib/jupyter/lumino/Lumino.d.ts +3 -0
  64. package/lib/jupyter/lumino/{LuminoAttached.js → Lumino.js} +14 -6
  65. package/lib/jupyter/lumino/Lumino.js.map +1 -0
  66. package/lib/jupyter/services/kernel/Kernel.d.ts +5 -6
  67. package/lib/jupyter/services/kernel/Kernel.js +12 -35
  68. package/lib/jupyter/services/kernel/Kernel.js.map +1 -1
  69. package/lib/{utils → jupyter/utils}/Ids.d.ts +0 -0
  70. package/lib/{utils → jupyter/utils}/Ids.js +0 -0
  71. package/lib/jupyter/utils/Ids.js.map +1 -0
  72. package/lib/state/State.d.ts +5 -5
  73. package/lib/state/State.js +3 -3
  74. package/lib/state/State.js.map +1 -1
  75. package/lib/state/Store.js +1 -4
  76. package/lib/state/Store.js.map +1 -1
  77. package/package.json +5 -5
  78. package/style/index.css +27 -1
  79. package/lib/JupyterExample.d.ts +0 -1
  80. package/lib/JupyterExample.js +0 -56
  81. package/lib/JupyterExample.js.map +0 -1
  82. package/lib/JupyterLiteExample.d.ts +0 -1
  83. package/lib/JupyterLiteExample.js +0 -10
  84. package/lib/JupyterLiteExample.js.map +0 -1
  85. package/lib/components/outputs/Output.js +0 -126
  86. package/lib/components/outputs/Output.js.map +0 -1
  87. package/lib/components/outputs/OutputAdapter.d.ts +0 -19
  88. package/lib/components/outputs/OutputAdapter.js.map +0 -1
  89. package/lib/components/outputs/OutputState.js.map +0 -1
  90. package/lib/components/outputs/OutputToolbar.d.ts +0 -12
  91. package/lib/components/outputs/OutputToolbar.js.map +0 -1
  92. package/lib/jupyter/lumino/LuminoAttached.d.ts +0 -3
  93. package/lib/jupyter/lumino/LuminoAttached.js.map +0 -1
  94. package/lib/utils/Ids.js.map +0 -1
@@ -1,81 +1,75 @@
1
- import { OutputArea } from '@jupyterlab/outputarea';
1
+ import { OutputArea, OutputAreaModel } from '@jupyterlab/outputarea';
2
2
  import { RenderMimeRegistry, standardRendererFactories } from '@jupyterlab/rendermime';
3
3
  import { rendererFactory as jsonRendererFactory } from '@jupyterlab/json-extension';
4
4
  import { rendererFactory as javascriptRendererFactory } from '@jupyterlab/javascript-extension';
5
5
  import { requireLoader } from "@jupyter-widgets/html-manager";
6
6
  import { WIDGET_MIMETYPE, WidgetRenderer } from "@jupyter-widgets/html-manager/lib/output_renderers";
7
- import { IPyWidgetsClassicManager } from "./../../jupyter/ipywidgets/IPyWidgetsClassicManager";
7
+ import { IPyWidgetsClassicManager } from "../../jupyter/ipywidgets/IPyWidgetsClassicManager";
8
8
  // import { activateWidgetExtension } from "./../../jupyter/ipywidgets/IPyWidgetsJupyterLabPlugin";
9
9
  // import { activatePlotlyWidgetExtension } from "./../../jupyter/ipywidgets/plotly/JupyterlabPlugin";
10
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 });
11
+ constructor(kernel, outputs) {
12
+ this._kernel = kernel;
15
13
  this._renderers = standardRendererFactories.filter(factory => factory.mimeTypes[0] !== 'text/javascript');
16
14
  this._renderers.push(jsonRendererFactory);
17
15
  this._renderers.push(javascriptRendererFactory);
18
16
  this._rendermime = new RenderMimeRegistry({
19
17
  initialFactories: this._renderers,
20
18
  });
21
- this._outputArea = new OutputArea({
22
- model: model,
23
- rendermime: this._rendermime,
24
- });
25
- this._rendermime.addFactory({
19
+ this._iPyWidgetsClassicManager = new IPyWidgetsClassicManager({ loader: requireLoader });
20
+ const iPyWidgetsRendererFactory = {
26
21
  safe: false,
27
22
  mimeTypes: [WIDGET_MIMETYPE],
28
23
  createRenderer: (options) => new WidgetRenderer(options, this._iPyWidgetsClassicManager),
29
- }, 0);
24
+ };
25
+ this._rendermime.addFactory(iPyWidgetsRendererFactory, 0);
30
26
  // const widgetRegistry = activateWidgetExtension(this._rendermime, null, null, null);
31
27
  // 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) {
28
+ const outputAreaModel = new OutputAreaModel({
29
+ trusted: true,
30
+ values: outputs,
31
+ });
45
32
  this._outputArea = new OutputArea({
46
- model: model,
33
+ model: outputAreaModel,
47
34
  rendermime: this._rendermime,
48
35
  });
36
+ this.initKernel();
49
37
  }
50
38
  execute(code) {
51
- if (this._kernelConnectionPromise) {
52
- this._outputArea.model.clear();
53
- this.render(code);
54
- return;
39
+ if (this._kernel) {
40
+ this.clearOutput();
41
+ this._kernel.getJupyterKernel().then((kernelConnection) => {
42
+ this._outputArea.future = kernelConnection.requestExecute({ code });
43
+ });
55
44
  }
56
45
  }
57
46
  interrupt() {
58
- this._kernelConnectionPromise.then((kernelConnection) => {
59
- kernelConnection.interrupt();
60
- });
47
+ if (this._kernel) {
48
+ this._kernel.getJupyterKernel().then((kernelConnection) => {
49
+ kernelConnection.interrupt();
50
+ });
51
+ }
61
52
  }
62
53
  clearOutput() {
63
54
  this._outputArea.model.clear();
64
55
  }
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);
56
+ get kernel() {
57
+ return this._kernel;
75
58
  }
76
- get panel() {
59
+ set kernel(kernel) {
60
+ this._kernel = kernel;
61
+ this.initKernel();
62
+ }
63
+ get outputArea() {
77
64
  return this._outputArea;
78
65
  }
66
+ initKernel() {
67
+ if (this._kernel) {
68
+ this._kernel.getJupyterKernel().then((kernelConnection) => {
69
+ this._iPyWidgetsClassicManager.registerWithKernel(kernelConnection);
70
+ });
71
+ }
72
+ }
79
73
  }
80
74
  export default OutputAdapter;
81
75
  //# sourceMappingURL=OutputAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutputAdapter.js","sourceRoot":"","sources":["../../../src/components/output/OutputAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { IOutput } from '@jupyterlab/nbformat';
2
+ declare type Props = {
3
+ output: IOutput;
4
+ };
5
+ export declare const OutputRenderer: (props: Props) => import("@emotion/react/jsx-runtime").JSX.Element;
6
+ export default OutputRenderer;
@@ -0,0 +1,88 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
2
+ /*
3
+ {
4
+ "execution_count": 2,
5
+ "output_type": "execute_result",
6
+ "data": {
7
+ "text/plain": "IntSlider(value=7, max=10)",
8
+ "application/vnd.jupyter.widget-view+json": {
9
+ "version_major": 2,
10
+ "version_minor": 0,
11
+ "model_id": "cf2eac02dda44b08befe1657e1de73a2"
12
+ }
13
+ },
14
+ "metadata": {}
15
+ }
16
+ {
17
+ "name": "stdout",
18
+ "text": "1\n1\n",
19
+ "output_type": "stream"
20
+ }
21
+ {
22
+ "traceback": [
23
+ "\u001b[0;36m Input \u001b[0;32mIn [4]\u001b[0;36m\u001b[0m\n\u001b[0;31m x=1sdfsq\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid decimal literal\n"
24
+ ],
25
+ "ename": "SyntaxError",
26
+ "evalue": "invalid decimal literal (2376046737.py, line 1)",
27
+ "output_type": "error"
28
+ }
29
+ */
30
+ export const OutputRenderer = (props) => {
31
+ const { output } = props;
32
+ let plain;
33
+ let html;
34
+ switch (output.output_type) {
35
+ case "error": {
36
+ plain = output.traceback.join('\n');
37
+ break;
38
+ }
39
+ case "stream": {
40
+ const t = output.text;
41
+ if (typeof t === "string") {
42
+ plain = t;
43
+ }
44
+ else if (typeof t === "boolean") {
45
+ plain = t ? "true" : "false";
46
+ }
47
+ else if (Array.isArray(t)) {
48
+ plain = t.join('\n');
49
+ }
50
+ else
51
+ plain = t === null || t === void 0 ? void 0 : t.toString();
52
+ break;
53
+ }
54
+ case "execute_result": {
55
+ const data = output.data;
56
+ if (data) {
57
+ const text_plain = data["text/plain"];
58
+ if (text_plain) {
59
+ if (typeof text_plain === "string") {
60
+ plain = text_plain;
61
+ }
62
+ else if (Array.isArray(text_plain)) {
63
+ plain = text_plain.join('\n');
64
+ }
65
+ else
66
+ plain = text_plain.toString();
67
+ }
68
+ const text_html = data["text/html"];
69
+ if (text_html) {
70
+ if (typeof text_html === "string") {
71
+ html = text_html;
72
+ }
73
+ else {
74
+ html = text_html.join('\n');
75
+ }
76
+ }
77
+ }
78
+ break;
79
+ }
80
+ }
81
+ // console.log('---', output, plain, html);
82
+ return (_jsxs(_Fragment, { children: [plain &&
83
+ _jsx("pre", Object.assign({ style: { color: "black" } }, { children: plain }), void 0),
84
+ html &&
85
+ _jsx("div", Object.assign({ style: { color: "black" } }, { children: _jsx("div", { dangerouslySetInnerHTML: { __html: html } }, void 0) }), void 0)] }, void 0));
86
+ };
87
+ export default OutputRenderer;
88
+ //# sourceMappingURL=OutputRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutputRenderer.js","sourceRoot":"","sources":["../../../src/components/output/OutputRenderer.tsx"],"names":[],"mappings":";AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BE;AACF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAY,EAAE,EAAE;IAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,IAAI,KAAyB,CAAC;IAC9B,IAAI,IAAwB,CAAC;IAC7B,QAAQ,MAAM,CAAC,WAAW,EAAE;QAC1B,KAAK,OAAO,CAAC,CAAC;YACZ,KAAK,GAAI,MAAM,CAAC,SAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM;SACP;QACD,KAAK,QAAQ,CAAC,CAAC;YACb,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;YACtB,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;gBACzB,KAAK,GAAG,CAAC,CAAC;aACX;iBACI,IAAI,OAAO,CAAC,KAAK,SAAS,EAAE;gBAC/B,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;aAC9B;iBACI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACzB,KAAK,GAAI,CAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpC;;gBACI,KAAK,GAAG,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,EAAE,CAAC;YAC3B,MAAM;SACP;QACD,KAAK,gBAAgB,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAW,CAAC;YAChC,IAAI,IAAI,EAAE;gBACR,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;gBACtC,IAAI,UAAU,EAAE;oBACd,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;wBAClC,KAAK,GAAG,UAAU,CAAC;qBACpB;yBACI,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;wBAClC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC/B;;wBACI,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;iBACpC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;gBACpC,IAAI,SAAS,EAAE;oBACb,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;wBACjC,IAAI,GAAG,SAAS,CAAC;qBAClB;yBAAM;wBACL,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC7B;iBACF;aACF;YACD,MAAM;SACP;KACF;IACH,4CAA4C;IAC1C,OAAO,CACL,8BACI,KAAK;gBACL,4BAAK,KAAK,EAAE,EAAC,KAAK,EAAE,OAAO,EAAC,gBACzB,KAAK,YACF;YAEN,IAAI;gBACJ,4BAAK,KAAK,EAAE,EAAC,KAAK,EAAE,OAAO,EAAC,gBAC1B,cAAK,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,WAAI,YAC9C,YAEP,CACJ,CAAA;AACH,CAAC,CAAA;AAED,eAAe,cAAc,CAAC"}
@@ -7,36 +7,36 @@ export const outputInitialState = {
7
7
  /* Selectors */
8
8
  export const selectJupyterSource = (id) => useSelector((state) => {
9
9
  var _a;
10
- if (state.outputs) {
11
- return (_a = state.outputs.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.source;
10
+ if (state.output) {
11
+ return (_a = state.output.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.source;
12
12
  }
13
13
  return undefined;
14
14
  });
15
15
  export const selectJupyterSetSource = (id) => useSelector((state) => {
16
16
  var _a;
17
- if (state.outputs) {
18
- return (_a = state.outputs.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.setSource;
17
+ if (state.output) {
18
+ return (_a = state.output.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.setSource;
19
19
  }
20
20
  return undefined;
21
21
  });
22
22
  export const selectDataset = (id) => useSelector((state) => {
23
23
  var _a;
24
- if (state.outputs) {
25
- return (_a = state.outputs.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.dataset;
24
+ if (state.output) {
25
+ return (_a = state.output.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.dataset;
26
26
  }
27
27
  return undefined;
28
28
  });
29
29
  export const selectExecute = (id) => useSelector((state) => {
30
30
  var _a;
31
- if (state.outputs) {
32
- return (_a = state.outputs.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.execute;
31
+ if (state.output) {
32
+ return (_a = state.output.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.execute;
33
33
  }
34
34
  return undefined;
35
35
  });
36
36
  export const selectGrade = (id) => useSelector((state) => {
37
37
  var _a;
38
- if (state.outputs) {
39
- return (_a = state.outputs.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.grade;
38
+ if (state.output) {
39
+ return (_a = state.output.outputs.get(id)) === null || _a === void 0 ? void 0 : _a.grade;
40
40
  }
41
41
  return undefined;
42
42
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutputState.js","sourceRoot":"","sources":["../../../src/components/output/OutputState.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment } from "@emotion/react/jsx-runtime";
2
2
  import SettingsAdapter from './SettingsAdapter';
3
- import LuminoAttached from '../../jupyter/lumino/LuminoAttached';
3
+ import Lumino from '../../jupyter/lumino/Lumino';
4
4
  export const Settings = () => {
5
5
  const settingsAdapter = new SettingsAdapter();
6
- return _jsx(_Fragment, { children: _jsx(LuminoAttached, { children: settingsAdapter.panel }, void 0) }, void 0);
6
+ return _jsx(_Fragment, { children: _jsx(Lumino, { children: settingsAdapter.panel }, void 0) }, void 0);
7
7
  };
8
8
  export default Settings;
9
9
  //# sourceMappingURL=Settings.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../../src/components/settings/Settings.tsx"],"names":[],"mappings":";AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,MAAM,MAAM,6BAA6B,CAAC;AAEjD,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,OAAO,4BACL,KAAC,MAAM,cAAE,eAAe,CAAC,KAAK,WAAU,WACvC,CAAA;AACL,CAAC,CAAA;AAED,eAAe,QAAQ,CAAC"}
@@ -2,15 +2,20 @@ import { jsx as _jsx } from "@emotion/react/jsx-runtime";
2
2
  import { useEffect, useMemo } from 'react';
3
3
  import { useDispatch } from "react-redux";
4
4
  import TerminalAdapter from './TerminalAdapter';
5
- import { terminalActions } from './TerminalState';
6
- import LuminoAttached from '../../jupyter/lumino/LuminoAttached';
5
+ import { terminalActions, terminalReducer } from './TerminalState';
6
+ import { useJupyter } from './../../jupyter/JupyterContext';
7
+ import Lumino from '../../jupyter/lumino/Lumino';
7
8
  export const Terminal = () => {
9
+ const { injectableStore } = useJupyter();
8
10
  const dispatch = useDispatch();
9
11
  const adapter = useMemo(() => new TerminalAdapter(), []);
12
+ useMemo(() => {
13
+ injectableStore.inject('terminal', terminalReducer);
14
+ }, []);
10
15
  useEffect(() => {
11
16
  dispatch(terminalActions.update({ adapter }));
12
17
  }, []);
13
- return _jsx(LuminoAttached, { children: adapter.panel }, void 0);
18
+ return _jsx(Lumino, { children: adapter.panel }, void 0);
14
19
  };
15
20
  export default Terminal;
16
21
  //# sourceMappingURL=Terminal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Terminal.js","sourceRoot":"","sources":["../../../src/components/terminal/Terminal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,cAAc,MAAM,qCAAqC,CAAC;AAEjE,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,KAAC,cAAc,cAAE,OAAO,CAAC,KAAK,WAAkB,CAAA;AACzD,CAAC,CAAA;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Terminal.js","sourceRoot":"","sources":["../../../src/components/terminal/Terminal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,MAAM,MAAM,6BAA6B,CAAC;AAEjD,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,EAAE;QACV,eAAuB,CAAC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC/D,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,KAAC,MAAM,cAAE,OAAO,CAAC,KAAK,WAAU,CAAA;AACzC,CAAC,CAAA;AAED,eAAe,QAAQ,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,13 +1,14 @@
1
1
  export * from './jupyter/Jupyter';
2
2
  export * from './jupyter/JupyterContext';
3
3
  export * from './jupyter/JupyterConfig';
4
- export * from './jupyter/lumino/LuminoAttached';
4
+ export * from './jupyter/lumino/Lumino';
5
5
  export * from './jupyter/lumino/LuminoDetached';
6
6
  export * from './jupyter/lumino/LuminoNotebook';
7
7
  export * from './jupyter/lumino/LuminoObservable';
8
8
  export * from './jupyter/lumino/LuminoReactPortal';
9
9
  export * from './jupyter/lumino/LuminoRedux';
10
10
  export * from './jupyter/lite/LiteServer';
11
+ export * from './jupyter/utils/Ids';
11
12
  export * from './jupyter/services/Services';
12
13
  export * from './jupyter/services/kernel/Kernel';
13
14
  export * from './jupyter/services/kernel/KernelModel';
@@ -33,11 +34,10 @@ export * from './components/console/ConsoleState';
33
34
  export * from './components/dialog/Dialog';
34
35
  export * from './components/filebrowser/FileBrowser';
35
36
  export * from './components/filebrowser/FileBrowserState';
36
- export * from './components/outputs/Output';
37
- export * from './components/outputs/OutputAdapter';
38
- export * from './components/outputs/OutputState';
37
+ export * from './components/output/Output';
38
+ export * from './components/output/OutputAdapter';
39
+ export * from './components/output/OutputState';
39
40
  export * from './components/settings/Settings';
40
41
  export * from './components/settings/SettingsState';
41
42
  export * from './components/terminal/Terminal';
42
43
  export * from './components/terminal/TerminalState';
43
- export * from './utils/Ids';
package/lib/index.js CHANGED
@@ -2,13 +2,14 @@
2
2
  export * from './jupyter/Jupyter';
3
3
  export * from './jupyter/JupyterContext';
4
4
  export * from './jupyter/JupyterConfig';
5
- export * from './jupyter/lumino/LuminoAttached';
5
+ export * from './jupyter/lumino/Lumino';
6
6
  export * from './jupyter/lumino/LuminoDetached';
7
7
  export * from './jupyter/lumino/LuminoNotebook';
8
8
  export * from './jupyter/lumino/LuminoObservable';
9
9
  export * from './jupyter/lumino/LuminoReactPortal';
10
10
  export * from './jupyter/lumino/LuminoRedux';
11
11
  export * from './jupyter/lite/LiteServer';
12
+ export * from './jupyter/utils/Ids';
12
13
  // Services.
13
14
  export * from './jupyter/services/Services';
14
15
  export * from './jupyter/services/kernel/Kernel';
@@ -44,15 +45,13 @@ export * from './components/dialog/Dialog';
44
45
  export * from './components/filebrowser/FileBrowser';
45
46
  export * from './components/filebrowser/FileBrowserState';
46
47
  // Outputs.
47
- export * from './components/outputs/Output';
48
- export * from './components/outputs/OutputAdapter';
49
- export * from './components/outputs/OutputState';
48
+ export * from './components/output/Output';
49
+ export * from './components/output/OutputAdapter';
50
+ export * from './components/output/OutputState';
50
51
  // Settings.
51
52
  export * from './components/settings/Settings';
52
53
  export * from './components/settings/SettingsState';
53
54
  // Terminal.
54
55
  export * from './components/terminal/Terminal';
55
56
  export * from './components/terminal/TerminalState';
56
- // Utils.
57
- export * from './utils/Ids';
58
57
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,YAAY;AACZ,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc;AACd,cAAc,wCAAwC,CAAC;AACvD,cAAc,6CAA6C,CAAC;AAC5D,QAAQ;AACR,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,qBAAqB;AACrB,cAAc,0CAA0C,CAAC;AACzD,YAAY;AACZ,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wDAAwD,CAAC;AACvE,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mEAAmE,CAAC;AAClF,cAAc,2DAA2D,CAAC;AAC1E,cAAc,uDAAuD,CAAC;AACtE,cAAc,mDAAmD,CAAC;AAClE,YAAY;AACZ,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,WAAW;AACX,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,UAAU;AACV,cAAc,4BAA4B,CAAC;AAC3C,eAAe;AACf,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,WAAW;AACX,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,YAAY;AACZ,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,YAAY;AACZ,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,SAAS;AACT,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,YAAY;AACZ,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc;AACd,cAAc,wCAAwC,CAAC;AACvD,cAAc,6CAA6C,CAAC;AAC5D,QAAQ;AACR,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,qBAAqB;AACrB,cAAc,0CAA0C,CAAC;AACzD,YAAY;AACZ,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wDAAwD,CAAC;AACvE,cAAc,mDAAmD,CAAC;AAClE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mEAAmE,CAAC;AAClF,cAAc,2DAA2D,CAAC;AAC1E,cAAc,uDAAuD,CAAC;AACtE,cAAc,mDAAmD,CAAC;AAClE,YAAY;AACZ,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,WAAW;AACX,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,UAAU;AACV,cAAc,4BAA4B,CAAC;AAC3C,eAAe;AACf,cAAc,sCAAsC,CAAC;AACrD,cAAc,2CAA2C,CAAC;AAC1D,WAAW;AACX,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,YAAY;AACZ,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,YAAY;AACZ,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC"}
@@ -7,6 +7,7 @@ import { Store } from 'redux';
7
7
  export declare type JupyterProps = {
8
8
  children: React.ReactNode;
9
9
  lite: boolean;
10
+ startDefaultKernel: boolean;
10
11
  injectableStore?: Store | any;
11
12
  collaborative?: boolean;
12
13
  jupyterServerHttpUrl?: string;
@@ -24,6 +25,7 @@ export declare const Jupyter: {
24
25
  (props: JupyterProps): import("@emotion/react/jsx-runtime").JSX.Element;
25
26
  defaultProps: {
26
27
  lite: boolean;
28
+ startDefaultKernel: boolean;
27
29
  collaborative: boolean;
28
30
  terminals: boolean;
29
31
  };
@@ -17,12 +17,13 @@ const ErrorFallback = ({ error, resetErrorBoundary }) => {
17
17
  * are available.
18
18
  */
19
19
  export const Jupyter = (props) => {
20
- const { lite } = props;
20
+ const { lite, startDefaultKernel } = props;
21
21
  loadJupyterConfig(props);
22
- return (_jsx(ErrorBoundary, Object.assign({ FallbackComponent: ErrorFallback }, { children: _jsx(ThemeProvider, { children: _jsx(BaseStyles, { children: _jsx(JupyterContextProvider, Object.assign({ lite: lite, baseUrl: getJupyterServerHttpUrl(), wsUrl: getJupyterServerWsUrl(), injectableStore: props.injectableStore || injectableStore, variant: "default" }, { children: props.children }), void 0) }, void 0) }, void 0) }), void 0));
22
+ return (_jsx(ErrorBoundary, Object.assign({ FallbackComponent: ErrorFallback }, { children: _jsx(ThemeProvider, Object.assign({ colorMode: "day" }, { children: _jsx(BaseStyles, { children: _jsx(JupyterContextProvider, Object.assign({ lite: lite, startDefaultKernel: startDefaultKernel, baseUrl: getJupyterServerHttpUrl(), wsUrl: getJupyterServerWsUrl(), injectableStore: props.injectableStore || injectableStore, variant: "default" }, { children: props.children }), void 0) }, void 0) }), void 0) }), void 0));
23
23
  };
24
24
  Jupyter.defaultProps = {
25
25
  lite: false,
26
+ startDefaultKernel: true,
26
27
  collaborative: false,
27
28
  terminals: false,
28
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Jupyter.js","sourceRoot":"","sources":["../../src/jupyter/Jupyter.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,eAAe,MAAM,gBAAgB,CAAC;AAkB7C;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,EAAC,KAAK,EAAE,kBAAkB,EAAM,EAAE,EAAE;IACzD,OAAO,CACL,6BAAK,IAAI,EAAC,OAAO,iBACf,8DAAkC;YAClC,wBAAM,KAAK,CAAC,OAAO,WAAO,aAItB,CACP,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAmB,EAAE,EAAE;IAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvB,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,CACL,KAAC,aAAa,kBACZ,iBAAiB,EAAE,aAAa,gBAGhC,KAAC,aAAa,cACZ,KAAC,UAAU,cACT,KAAC,sBAAsB,kBACrB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,uBAAuB,EAAE,EAClC,KAAK,EAAE,qBAAqB,EAAE,EAC9B,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,eAAe,EACzD,OAAO,EAAC,SAAS,gBAEf,KAAK,CAAC,QAAQ,YACO,WACd,WACC,YACF,CACjB,CAAA;AACH,CAAC,CAAA;AAED,OAAO,CAAC,YAAY,GAAG;IACrB,IAAI,EAAE,KAAK;IACX,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE,KAAK;CACjB,CAAA;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Jupyter.js","sourceRoot":"","sources":["../../src/jupyter/Jupyter.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,eAAe,MAAM,gBAAgB,CAAC;AAmB7C;;GAEG;AACH,MAAM,aAAa,GAAG,CAAC,EAAC,KAAK,EAAE,kBAAkB,EAAM,EAAE,EAAE;IACzD,OAAO,CACL,6BAAK,IAAI,EAAC,OAAO,iBACf,8DAAkC;YAClC,wBAAM,KAAK,CAAC,OAAO,WAAO,aAItB,CACP,CAAA;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAmB,EAAE,EAAE;IAC7C,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;IAC3C,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,CACL,KAAC,aAAa,kBACZ,iBAAiB,EAAE,aAAa,gBAGhC,KAAC,aAAa,kBAAC,SAAS,EAAC,KAAK,gBAC5B,KAAC,UAAU,cACT,KAAC,sBAAsB,kBACrB,IAAI,EAAE,IAAI,EACV,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE,uBAAuB,EAAE,EAClC,KAAK,EAAE,qBAAqB,EAAE,EAC9B,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,eAAe,EACzD,OAAO,EAAC,SAAS,gBAEf,KAAK,CAAC,QAAQ,YACO,WACd,YACC,YACF,CACjB,CAAA;AACH,CAAC,CAAA;AAED,OAAO,CAAC,YAAY,GAAG;IACrB,IAAI,EAAE,KAAK;IACX,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE,KAAK;CACjB,CAAA;AAED,eAAe,OAAO,CAAC"}
@@ -1,12 +1,16 @@
1
1
  import React from "react";
2
- import { ServiceManager, ServerConnection } from '@jupyterlab/services';
2
+ import { ServiceManager, ServerConnection, KernelManager } from '@jupyterlab/services';
3
+ import Kernel from './services/kernel/Kernel';
3
4
  /**
4
5
  * The type for the Jupyter context.
5
6
  */
6
7
  export declare type JupyterContextType = {
7
8
  lite: boolean;
8
- serverSettings?: ServerConnection.ISettings;
9
+ serverSettings: ServerConnection.ISettings;
9
10
  serviceManager?: ServiceManager;
11
+ kernelManager?: KernelManager;
12
+ kernel?: Kernel;
13
+ startDefaultKernel: boolean;
10
14
  variant: string;
11
15
  setVariant: (value: string) => void;
12
16
  baseUrl: string;
@@ -26,13 +30,14 @@ export declare const JupyterContextConsumer: React.Consumer<JupyterContextType |
26
30
  * Utiliy method to ensure the Jupyter context is authenticated
27
31
  * with the Jupyter server.
28
32
  */
29
- export declare const ensureJupyterAuth: () => Promise<boolean>;
33
+ export declare const ensureJupyterAuth: (serverSettings: ServerConnection.ISettings) => Promise<boolean>;
30
34
  /**
31
35
  * The Jupyter context provider.
32
36
  */
33
37
  export declare const JupyterContextProvider: React.FC<{
34
38
  children: React.ReactNode;
35
39
  lite: boolean;
40
+ startDefaultKernel: boolean;
36
41
  variant: string;
37
42
  baseUrl: string;
38
43
  wsUrl: string;
@@ -5,6 +5,7 @@ import { ServiceManager, ServerConnection } from '@jupyterlab/services';
5
5
  import { getJupyterServerHttpUrl } from './JupyterConfig';
6
6
  import { requestAPI } from './JupyterHandlers';
7
7
  import { startLiteServer } from './../jupyter/lite/LiteServer';
8
+ import Kernel from './services/kernel/Kernel';
8
9
  /**
9
10
  * The instance for the Jupyter context.
10
11
  */
@@ -27,12 +28,8 @@ const JupyterProvider = JupyterContext.Provider;
27
28
  * Utiliy method to ensure the Jupyter context is authenticated
28
29
  * with the Jupyter server.
29
30
  */
30
- export const ensureJupyterAuth = () => {
31
- return requestAPI('api', '', {
32
- credentials: 'include',
33
- mode: 'cors',
34
- })
35
- .then(data => {
31
+ export const ensureJupyterAuth = (serverSettings) => {
32
+ return requestAPI(serverSettings, 'api', '').then(data => {
36
33
  return true;
37
34
  })
38
35
  .catch(reason => {
@@ -40,47 +37,64 @@ export const ensureJupyterAuth = () => {
40
37
  return false;
41
38
  });
42
39
  };
40
+ /*
43
41
  const headers = new Headers({
44
- "Cache-Control": "no-cache, no-store, must-revalidate",
45
- "Pragma": "no-cache",
46
- "Expires": "0",
42
+ "Cache-Control": "no-cache, no-store, must-revalidate",
43
+ "Pragma": "no-cache",
44
+ "Expires": "0",
47
45
  });
46
+ */
48
47
  /**
49
48
  * The Jupyter context provider.
50
49
  */
51
- export const JupyterContextProvider = ({ children, lite, variant, baseUrl, wsUrl, injectableStore }) => {
50
+ export const JupyterContextProvider = ({ children, lite, startDefaultKernel, variant, baseUrl, wsUrl, injectableStore }) => {
52
51
  const [_, setVariant] = useState('default');
53
- const [serverSettings, setServerSettings] = useState();
52
+ const [serverSettings] = useState(ServerConnection.makeSettings({
53
+ baseUrl,
54
+ wsUrl,
55
+ appendToken: true,
56
+ init: {
57
+ credentials: "include",
58
+ mode: 'cors',
59
+ cache: 'no-cache',
60
+ // headers,
61
+ }
62
+ }));
54
63
  const [serviceManager, setServiceManager] = useState();
64
+ const [kernelManager, setKernelManager] = useState();
65
+ const [kernel, setKernel] = useState();
55
66
  useEffect(() => {
56
67
  if (lite) {
57
68
  startLiteServer().then((serviceManager) => {
58
69
  setServiceManager(serviceManager);
70
+ setKernelManager(serviceManager.sessions._kernelManager);
59
71
  });
60
72
  }
61
73
  else {
62
- ensureJupyterAuth().then(isAuth => {
63
- if (isAuth) {
64
- const serverSettings = ServerConnection.makeSettings({
65
- baseUrl,
66
- wsUrl,
67
- appendToken: true,
68
- init: {
69
- credentials: "include",
70
- mode: 'cors',
71
- headers,
72
- }
73
- });
74
- setServerSettings(serverSettings);
75
- const serviceManager = new ServiceManager({ serverSettings });
76
- setServiceManager(serviceManager);
77
- }
78
- else {
74
+ ensureJupyterAuth(serverSettings).then(isAuth => {
75
+ if (!isAuth) {
79
76
  const loginUrl = getJupyterServerHttpUrl() + '/login?next=' + window.location;
80
77
  console.warn('Redirecting to jupyter login url', loginUrl);
81
78
  window.location.replace(loginUrl);
82
79
  }
83
80
  });
81
+ const serviceManager = new ServiceManager({ serverSettings });
82
+ setServiceManager(serviceManager);
83
+ const kernelManager = serviceManager.sessions._kernelManager;
84
+ setKernelManager(kernelManager);
85
+ kernelManager.ready.then(() => {
86
+ if (startDefaultKernel) {
87
+ // console.log('Kernel Manager is ready.');
88
+ const kernel = new Kernel({ kernelManager });
89
+ kernel.getJupyterKernel().then(k => {
90
+ console.log(`Kernel started with session id:client_id ${k.id}:${k.clientId}`);
91
+ k.info.then(info => {
92
+ // console.log('Kernel information', info);
93
+ });
94
+ setKernel(kernel);
95
+ });
96
+ }
97
+ });
84
98
  }
85
99
  setVariant(variant);
86
100
  }, [lite, variant]);
@@ -88,6 +102,9 @@ export const JupyterContextProvider = ({ children, lite, variant, baseUrl, wsUrl
88
102
  lite,
89
103
  serverSettings,
90
104
  serviceManager,
105
+ kernelManager,
106
+ kernel,
107
+ startDefaultKernel,
91
108
  variant,
92
109
  setVariant,
93
110
  baseUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"JupyterContext.js","sourceRoot":"","sources":["../../src/jupyter/JupyterContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JupyterContext.js","sourceRoot":"","sources":["../../src/jupyter/JupyterContext.tsx"],"names":[],"mappings":"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"}