ソースを参照

Merge branch 'resotre_debug_panel' into panel

Borys Palka 5 年 前
コミット
cdf116db8f
2 ファイル変更14 行追加11 行削除
  1. 0 8
      src/debugger.ts
  2. 14 3
      src/index.ts

+ 0 - 8
src/debugger.ts

@@ -5,8 +5,6 @@ import { IDataConnector } from '@jupyterlab/coreutils';
 
 import { ReadonlyJSONValue } from '@phosphor/coreutils';
 
-import { INotebookTracker } from '@jupyterlab/notebook';
-
 import { IClientSession } from '@jupyterlab/apputils';
 
 import { IDisposable } from '@phosphor/disposable';
@@ -65,7 +63,6 @@ export namespace Debugger {
     }
 
     readonly connector: IDataConnector<ReadonlyJSONValue> | null;
-
     readonly id: string;
 
     get mode(): IDebugger.Mode {
@@ -115,10 +112,6 @@ export namespace Debugger {
       return this._isDisposed;
     }
 
-    get notebookTracker() {
-      return this._notebook;
-    }
-
     dispose(): void {
       this._isDisposed = true;
     }
@@ -135,7 +128,6 @@ export namespace Debugger {
     private _isDisposed = false;
     private _mode: IDebugger.Mode;
     private _modeChanged = new Signal<this, IDebugger.Mode>(this);
-    private _notebook: INotebookTracker;
     private _session: IDebugger.ISession | null;
     private _sessionChanged = new Signal<this, void>(this);
   }

+ 14 - 3
src/index.ts

@@ -235,7 +235,9 @@ const main: JupyterFrontEndPlugin<IDebugger> = {
         if (!widget) {
           return;
         }
+
         const mode = (args.mode as IDebugger.Mode) || 'expanded';
+
         const { sidebar } = widget.content;
         if (!mode) {
           throw new Error(`Could not mount debugger in mode: "${mode}"`);
@@ -323,7 +325,13 @@ const main: JupyterFrontEndPlugin<IDebugger> = {
       label: 'Debugger',
       execute: async args => {
         const id = (args.id as string) || UUID.uuid4();
-        const mode = (args.mode as IDebugger.Mode) || 'expanded';
+        let savedMode: IDebugger.Mode;
+
+        await state.fetch('mode').then(mode => {
+          savedMode = mode as IDebugger.Mode;
+        });
+
+        const mode = savedMode ? savedMode : 'expanded';
 
         if (id) {
           console.log('Debugger ID: ', id);
@@ -342,6 +350,10 @@ const main: JupyterFrontEndPlugin<IDebugger> = {
           void tracker.add(widget);
 
           widget.content.model.mode = mode;
+
+          widget.content.model.modeChanged.connect((_, mode) => {
+            void state.save('mode', mode);
+          });
         }
 
         await commands.execute(CommandIDs.mount, { mode });
@@ -360,8 +372,7 @@ const main: JupyterFrontEndPlugin<IDebugger> = {
       void restorer.restore(tracker, {
         command: CommandIDs.create,
         args: widget => ({
-          id: widget.content.model.id,
-          mode: widget.content.model.mode
+          id: widget.content.model.id
         }),
         name: widget => widget.content.model.id
       });