浏览代码

Simplify typings.

Afshin Darian 8 年之前
父节点
当前提交
8d0986820f
共有 4 个文件被更改,包括 59 次插入76 次删除
  1. 11 17
      src/console/plugin.ts
  2. 3 3
      src/console/tracker.ts
  3. 42 53
      src/notebook/plugin.ts
  4. 3 3
      src/notebook/tracker.ts

+ 11 - 17
src/console/plugin.ts

@@ -109,7 +109,7 @@ interface ICreateConsoleArgs extends JSONObject {
  * Activate the console extension.
  */
 function activateConsole(app: JupyterLab, services: IServiceManager, rendermime: IRenderMime, mainMenu: IMainMenu, inspector: IInspector, palette: ICommandPalette, pathTracker: IPathTracker, renderer: ConsoleContent.IRenderer): IConsoleTracker {
-  let tracker = new FocusTracker<Widget>();
+  let tracker = new FocusTracker<ConsolePanel>();
   let manager = services.sessions;
   let specs = services.kernelspecs;
 
@@ -123,9 +123,9 @@ function activateConsole(app: JupyterLab, services: IServiceManager, rendermime:
 
   // Set the source of the code inspector to the current console.
   app.shell.currentChanged.connect((shell, args) => {
-    let widget = args.newValue;
+    let widget = args.newValue as ConsolePanel;
     if (tracker.has(widget)) {
-      inspector.source = (widget as ConsolePanel).content.inspectionHandler;
+      inspector.source = widget.content.inspectionHandler;
     }
   });
 
@@ -147,8 +147,7 @@ function activateConsole(app: JupyterLab, services: IServiceManager, rendermime:
     label: 'Clear Cells',
     execute: () => {
       if (tracker.currentWidget) {
-        let content = (tracker.currentWidget as ConsolePanel).content;
-        content.clear();
+        tracker.currentWidget.content.clear();
       }
     }
   });
@@ -159,8 +158,7 @@ function activateConsole(app: JupyterLab, services: IServiceManager, rendermime:
   commands.addCommand(command, {
     execute: () => {
       if (tracker.currentWidget) {
-        let content = (tracker.currentWidget as ConsolePanel).content;
-        content.dismissCompleter();
+        tracker.currentWidget.content.dismissCompleter();
       }
     }
   });
@@ -170,8 +168,7 @@ function activateConsole(app: JupyterLab, services: IServiceManager, rendermime:
     label: 'Run Cell',
     execute: () => {
       if (tracker.currentWidget) {
-        let content = (tracker.currentWidget as ConsolePanel).content;
-        content.execute();
+        tracker.currentWidget.content.execute();
       }
     }
   });
@@ -184,8 +181,7 @@ function activateConsole(app: JupyterLab, services: IServiceManager, rendermime:
     label: 'Run Cell (forced)',
     execute: () => {
       if (tracker.currentWidget) {
-        let content = (tracker.currentWidget as ConsolePanel).content;
-        content.execute(true);
+        tracker.currentWidget.content.execute(true);
       }
     }
   });
@@ -197,8 +193,7 @@ function activateConsole(app: JupyterLab, services: IServiceManager, rendermime:
     label: 'Insert Line Break',
     execute: () => {
       if (tracker.currentWidget) {
-        let content = (tracker.currentWidget as ConsolePanel).content;
-        content.insertLinebreak();
+        tracker.currentWidget.content.insertLinebreak();
       }
     }
   });
@@ -210,8 +205,7 @@ function activateConsole(app: JupyterLab, services: IServiceManager, rendermime:
     label: 'Interrupt Kernel',
     execute: () => {
       if (tracker.currentWidget) {
-        let content = (tracker.currentWidget as ConsolePanel).content;
-        let kernel = content.session.kernel;
+        let kernel = tracker.currentWidget.content.session.kernel;
         if (kernel) {
           kernel.interrupt();
         }
@@ -270,7 +264,7 @@ function activateConsole(app: JupyterLab, services: IServiceManager, rendermime:
     execute: (args: JSONObject) => {
       let id = args['id'];
       for (let i = 0; i < tracker.widgets.length; i++) {
-        let widget = tracker.widgets.at(i) as ConsolePanel;
+        let widget = tracker.widgets.at(i);
         if (widget.content.session.id === id) {
           widget.content.inject(args['code'] as string);
         }
@@ -352,7 +346,7 @@ function activateConsole(app: JupyterLab, services: IServiceManager, rendermime:
       if (!tracker.currentWidget) {
         return;
       }
-      let widget = (tracker.currentWidget as ConsolePanel).content;
+      let widget = tracker.currentWidget.content;
       let session = widget.session;
       let lang = '';
       if (session.kernel) {

+ 3 - 3
src/console/tracker.ts

@@ -10,8 +10,8 @@ import {
 } from 'phosphor/lib/ui/focustracker';
 
 import {
-  Widget
-} from 'phosphor/lib/ui/widget';
+  ConsolePanel
+} from './';
 
 
 /* tslint:disable */
@@ -27,4 +27,4 @@ const IConsoleTracker = new Token<IConsoleTracker>('jupyter.services.consoles');
  * A class that tracks console widgets.
  */
 export
-interface IConsoleTracker extends FocusTracker<Widget> {}
+interface IConsoleTracker extends FocusTracker<ConsolePanel> {}

+ 42 - 53
src/notebook/plugin.ts

@@ -149,8 +149,8 @@ function activateNotebookHandler(app: JupyterLab, registry: IDocumentRegistry, s
   // Set the source of the code inspector to the current notebook.
   app.shell.currentChanged.connect((shell, args) => {
     let widget = args.newValue;
-    if (tracker.has(widget)) {
-      inspector.source = (widget as NotebookPanel).content.inspectionHandler;
+    if (tracker.has(widget as NotebookPanel)) {
+      inspector.source = tracker.currentWidget.content.inspectionHandler;
     }
   });
 
@@ -196,7 +196,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Run Cell(s) and Advance',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         let content = nbWidget.content;
         NotebookActions.runAndAdvance(content, nbWidget.context.kernel);
       }
@@ -206,7 +206,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Run Cell(s)',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.run(nbWidget.content, nbWidget.context.kernel);
       }
     }
@@ -215,7 +215,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Run Cell(s) and Insert',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.runAndInsert(nbWidget.content, nbWidget.context.kernel);
       }
     }
@@ -224,7 +224,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Run All Cells',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.runAll(nbWidget.content, nbWidget.context.kernel);
       }
     }
@@ -233,7 +233,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Restart Kernel',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         restartKernel(nbWidget.kernel, nbWidget.node);
       }
     }
@@ -242,7 +242,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Restart Kernel & Clear Outputs',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         let promise = restartKernel(nbWidget.kernel, nbWidget.node);
         promise.then(result => {
           if (result) {
@@ -256,7 +256,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Restart Kernel & Run All',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         let promise = restartKernel(nbWidget.kernel, nbWidget.node);
         promise.then(result => {
           NotebookActions.runAll(nbWidget.content, nbWidget.context.kernel);
@@ -268,7 +268,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Clear All Outputs',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.clearAllOutputs(nbWidget.content);
       }
     }
@@ -277,7 +277,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Clear Output(s)',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.clearOutputs(nbWidget.content);
       }
     }
@@ -286,8 +286,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Interrupt Kernel',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
-        let kernel = nbWidget.context.kernel;
+        let kernel = tracker.currentWidget.context.kernel;
         if (kernel) {
           kernel.interrupt();
         }
@@ -298,7 +297,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Convert to Code',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.changeCellType(nbWidget.content, 'code');
       }
     }
@@ -307,7 +306,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Convert to Markdown',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.changeCellType(nbWidget.content, 'markdown');
       }
     }
@@ -316,7 +315,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Convert to Raw',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.changeCellType(nbWidget.content, 'raw');
       }
     }
@@ -325,7 +324,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Cut Cell(s)',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.cut(nbWidget.content, nbWidget.clipboard);
       }
     }
@@ -334,7 +333,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Copy Cell(s)',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.copy(nbWidget.content, nbWidget.clipboard);
       }
     }
@@ -343,7 +342,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Paste Cell(s)',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.paste(nbWidget.content, nbWidget.clipboard);
       }
     }
@@ -352,7 +351,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Delete Cell(s)',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.deleteCells(nbWidget.content);
       }
     }
@@ -361,7 +360,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Split Cell',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.splitCell(nbWidget.content);
       }
     }
@@ -370,7 +369,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Merge Selected Cell(s)',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.mergeCells(nbWidget.content);
       }
     }
@@ -379,7 +378,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Insert Cell Above',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.insertAbove(nbWidget.content);
       }
     }
@@ -388,7 +387,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Insert Cell Below',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.insertBelow(nbWidget.content);
       }
     }
@@ -397,7 +396,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Select Cell Above',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.selectAbove(nbWidget.content);
       }
     }
@@ -406,7 +405,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Select Cell Below',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.selectBelow(nbWidget.content);
       }
     }
@@ -415,7 +414,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Extend Selection Above',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.extendSelectionAbove(nbWidget.content);
       }
     }
@@ -424,7 +423,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Extend Selection Below',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.extendSelectionBelow(nbWidget.content);
       }
     }
@@ -433,7 +432,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Move Cell(s) Up',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.moveUp(nbWidget.content);
       }
     }
@@ -442,7 +441,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Move Cell(s) Down',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.moveDown(nbWidget.content);
       }
     }
@@ -451,7 +450,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Toggle Line Numbers',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.toggleLineNumbers(nbWidget.content);
       }
     }
@@ -460,7 +459,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Toggle All Line Numbers',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
+        let nbWidget = tracker.currentWidget;
         NotebookActions.toggleAllLineNumbers(nbWidget.content);
       }
     }
@@ -469,8 +468,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'To Command Mode',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
-        nbWidget.content.mode = 'command';
+        tracker.currentWidget.content.mode = 'command';
       }
     }
   });
@@ -478,8 +476,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'To Edit Mode',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
-        nbWidget.content.mode = 'edit';
+        tracker.currentWidget.content.mode = 'edit';
       }
     }
   });
@@ -487,8 +484,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Undo Cell Operation',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
-        NotebookActions.undo(nbWidget.content);
+        NotebookActions.undo(tracker.currentWidget.content);
       }
     }
   });
@@ -496,8 +492,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Redo Cell Operation',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
-        NotebookActions.redo(nbWidget.content);
+        NotebookActions.redo(tracker.currentWidget.content);
       }
     }
   });
@@ -505,7 +500,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Switch Kernel',
     execute: () => {
       if (tracker.currentWidget) {
-        let { context, node } = tracker.currentWidget as NotebookPanel;
+        let { context, node } = tracker.currentWidget;
         selectKernelForContext(context, node);
       }
     }
@@ -514,8 +509,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Markdown Header 1',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
-        NotebookActions.setMarkdownHeader(nbWidget.content, 1);
+        NotebookActions.setMarkdownHeader(tracker.currentWidget.content, 1);
       }
     }
   });
@@ -523,8 +517,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Markdown Header 2',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
-        NotebookActions.setMarkdownHeader(nbWidget.content, 2);
+        NotebookActions.setMarkdownHeader(tracker.currentWidget.content, 2);
       }
     }
   });
@@ -532,8 +525,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Markdown Header 3',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
-        NotebookActions.setMarkdownHeader(nbWidget.content, 3);
+        NotebookActions.setMarkdownHeader(tracker.currentWidget.content, 3);
       }
     }
   });
@@ -541,8 +533,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Markdown Header 4',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
-        NotebookActions.setMarkdownHeader(nbWidget.content, 4);
+        NotebookActions.setMarkdownHeader(tracker.currentWidget.content, 4);
       }
     }
   });
@@ -550,8 +541,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Markdown Header 5',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
-        NotebookActions.setMarkdownHeader(nbWidget.content, 5);
+        NotebookActions.setMarkdownHeader(tracker.currentWidget.content, 5);
       }
     }
   });
@@ -559,8 +549,7 @@ function addCommands(app: JupyterLab, tracker: INotebookTracker): void {
     label: 'Markdown Header 6',
     execute: () => {
       if (tracker.currentWidget) {
-        let nbWidget = tracker.currentWidget as NotebookPanel;
-        NotebookActions.setMarkdownHeader(nbWidget.content, 6);
+        NotebookActions.setMarkdownHeader(tracker.currentWidget.content, 6);
       }
     }
   });

+ 3 - 3
src/notebook/tracker.ts

@@ -10,8 +10,8 @@ import {
 } from 'phosphor/lib/ui/focustracker';
 
 import {
-  Widget
-} from 'phosphor/lib/ui/widget';
+  NotebookPanel
+} from './';
 
 
 /* tslint:disable */
@@ -27,4 +27,4 @@ const INotebookTracker = new Token<INotebookTracker>('jupyter.services.notebooks
  * A class that tracks notebook widgets.
  */
 export
-interface INotebookTracker extends FocusTracker<Widget> {}
+interface INotebookTracker extends FocusTracker<NotebookPanel> {}