瀏覽代碼

Make sure a console is running before opening it

Steven Silvester 8 年之前
父節點
當前提交
229465f35e
共有 2 個文件被更改,包括 13 次插入1 次删除
  1. 1 0
      packages/console-extension/package.json
  2. 12 1
      packages/console-extension/src/index.ts

+ 1 - 0
packages/console-extension/package.json

@@ -22,6 +22,7 @@
     "@jupyterlab/launcher": "^0.1.3",
     "@jupyterlab/rendermime": "^0.1.4",
     "@jupyterlab/services": "^0.40.1",
+    "@phosphor/algorithm": "^1.0.0",
     "@phosphor/coreutils": "^1.0.0",
     "@phosphor/widgets": "^1.0.0"
   },

+ 12 - 1
packages/console-extension/src/index.ts

@@ -5,6 +5,10 @@ import {
   IServiceManager
 } from '@jupyterlab/services';
 
+import {
+  find
+} from '@phosphor/algorithm';
+
 import {
   JSONObject
 } from '@phosphor/coreutils';
@@ -197,7 +201,14 @@ function activateConsole(app: JupyterLab, manager: IServiceManager, rendermime:
       if (widget) {
         tracker.activate(widget);
       } else {
-        return createConsole(args);
+        return manager.ready.then(() => {
+          let model = find(manager.sessions.running(), item => {
+            return item.path === path;
+          });
+          if (model) {
+            return createConsole(args);
+          }
+        });
       }
     }
   });