Browse Source

Fix ability to start a new notebook

Steven Silvester 9 năm trước cách đây
mục cha
commit
9627e7a781
4 tập tin đã thay đổi với 15 bổ sung14 xóa
  1. 2 2
      examples/lab/example.ipynb
  2. 3 3
      package.json
  3. 10 8
      src/notebook/plugin.ts
  4. 0 1
      src/readonly-notebook/plugin.ts

+ 2 - 2
examples/lab/example.ipynb

@@ -2,7 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 16,
+   "execution_count": 1,
    "metadata": {
     "collapsed": false
    },
@@ -133,7 +133,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.5.1"
+   "version": "3.4.4"
   }
  },
  "nbformat": 4,

+ 3 - 3
package.json

@@ -10,9 +10,9 @@
     "file-loader": "^0.8.5",
     "jquery": "^2.2.0",
     "jquery-ui": "^1.10.5",
-    "jupyter-js-notebook": "^0.15.5",
-    "jupyter-js-services": "^0.6.5",
-    "jupyter-js-ui": "^0.4.0",
+    "jupyter-js-notebook": "^0.17.1",
+    "jupyter-js-services": "^0.7.1",
+    "jupyter-js-ui": "^0.6.0",
     "jupyter-js-utils": "^0.3.0",
     "jupyter-js-widgets": "0.0.17",
     "phosphide": "^0.9.4",

+ 10 - 8
src/notebook/plugin.ts

@@ -390,7 +390,6 @@ class NotebookPane extends Panel {
   /**
    * Construct a new NotebookPane.
    */
-  constructor(manager: IContentsManager) {
     super();
     this.addClass(NB_PANE);
     this._model = new NotebookModel();
@@ -398,7 +397,6 @@ class NotebookPane extends Panel {
     let widgetArea = new Panel();
     widgetArea.addClass(WIDGET_CLASS);
     this._widgetManager = new WidgetManager(widgetArea);
-    this._notebook = new NotebookWidget(this._model);
 
     this.addChild(widgetArea);
     this.addChild(new NotebookToolbar(this._nbManager));
@@ -595,7 +593,6 @@ class NotebookFileHandler extends AbstractFileHandler<NotebookPane> {
    * Create the widget from an `IContentsModel`.
    */
   protected createWidget(contents: IContentsModel): NotebookPane {
-    let panel = new NotebookPane(this.manager);
     panel.model.stateChanged.connect(this._onModelChanged, this);
     panel.title.text = contents.name;
     return panel;
@@ -606,11 +603,16 @@ class NotebookFileHandler extends AbstractFileHandler<NotebookPane> {
    */
   protected populateWidget(widget: NotebookPane, model: IContentsModel): Promise<IContentsModel> {
     deserialize(model.content, widget.model);
-    return this._kernelSpecs.then(specs => {
-      let name = findKernel(widget.model, specs);
-      return this._session.startNew({
-        kernelName: name,
-        notebookPath: model.path
+    return this._session.findByPath(model.path).then(sessionId => {
+      if (sessionId !== void 0) {
+        return this._session.connectTo(sessionId.id);
+      }
+      return this._kernelSpecs.then(specs => {
+        let name = findKernel(widget.model, specs);
+        return this._session.startNew({
+          kernelName: name,
+          notebookPath: model.path
+        });
       });
     }).then(session => {
       widget.setSession(session);

+ 0 - 1
src/readonly-notebook/plugin.ts

@@ -83,7 +83,6 @@ class NotebookFileHandler extends AbstractFileHandler<NotebookWidget> {
   protected createWidget(contents: IContentsModel): NotebookWidget {
     let model = new NotebookModel();
     model.readOnly = true;
-    return new NotebookWidget(model);
   }
 
   /**