Переглянути джерело

Merge pull request #289 from blink1073/no-shutdown-request

Remove shutdown request in favor of using the running tab
A. Darian 8 роки тому
батько
коміт
23d494fb1f
3 змінених файлів з 11 додано та 42 видалено
  1. 0 41
      src/docmanager/widgetmanager.ts
  2. 1 1
      src/filebrowser/browser.ts
  3. 10 0
      src/running/index.ts

+ 0 - 41
src/docmanager/widgetmanager.ts

@@ -204,12 +204,6 @@ class DocumentWidgetManager {
   protected onClose(widget: Widget): void {
     // Handle dirty state.
     this._maybeClose(widget).then(result => {
-      if (result) {
-        // Perform close tasks.
-        return this._actuallyClose(widget);
-      }
-      return result;
-    }).then(result => {
       if (result) {
         this._closeGuard = true;
         widget.close();
@@ -245,41 +239,6 @@ class DocumentWidgetManager {
     });
   }
 
-  /**
-   * Perform closing tasks for the widget.
-   */
-  private _actuallyClose(widget: Widget): Promise<boolean> {
-    let id = Private.idProperty.get(widget);
-    let context = this._contextManager.getContext(id);
-    // Check for a dangling kernel.
-    let widgets = this._widgets[id];
-    let kernelId = context.kernel ? context.kernel.id : '';
-    if (!kernelId || widgets.length > 1) {
-      return Promise.resolve(true);
-    }
-    for (let otherId in this._widgets) {
-      if (otherId === id) {
-        continue;
-      }
-      let otherContext = this._contextManager.getContext(id);
-      let kId = otherContext.kernel || otherContext.kernel.id;
-      if (kId === kernelId) {
-        return Promise.resolve(true);
-      }
-    }
-    return showDialog({
-      title: 'Shut down kernel?',
-      body: `Shut down ${context.kernel.name}?`,
-      host: widget.node
-    }).then(value => {
-      if (value && value.text === 'OK') {
-        return context.changeKernel(null);
-      }
-    }).then(() => {
-      return true;
-    });
-  }
-
   private _closeGuard = false;
   private _contextManager: ContextManager = null;
   private _registry: DocumentRegistry = null;

+ 1 - 1
src/filebrowser/browser.ts

@@ -60,7 +60,7 @@ const LISTING_CLASS = 'jp-FileBrowser-listing';
 /**
  * The duration of auto-refresh in ms.
  */
-const REFRESH_DURATION = 30000;
+const REFRESH_DURATION = 10000;
 
 
 /**

+ 10 - 0
src/running/index.ts

@@ -116,6 +116,11 @@ const FILE_ICON_CLASS = 'jp-mod-file';
  */
 const TERMINAL_ICON_CLASS = 'jp-mod-terminal';
 
+/**
+ * The duration of auto-refresh in ms.
+ */
+const REFRESH_DURATION = 10000;
+
 
 /**
  * A class that exposes the running terminal and kernel sessions.
@@ -234,6 +239,7 @@ class RunningSessions extends Widget {
    * Refresh the widget.
    */
   refresh(): Promise<void> {
+    clearTimeout(this._refreshId);
     return this._manager.terminals.listRunning().then(running => {
       this._runningTerminals = running;
       return this._manager.sessions.listRunning();
@@ -247,6 +253,9 @@ class RunningSessions extends Widget {
         }
       }
       this.update();
+      this._refreshId = setTimeout(() => {
+        this.refresh();
+      }, REFRESH_DURATION);
     });
   }
 
@@ -384,6 +393,7 @@ class RunningSessions extends Widget {
   private _renderer: RunningSessions.IRenderer = null;
   private _runningSessions: ISession.IModel[] = [];
   private _runningTerminals: ITerminalSession.IModel[] = [];
+  private _refreshId = -1;
 }