浏览代码

Minimal build of JupyterLab (empty).

Afshin Darian 8 年之前
父节点
当前提交
ff5a821baf
共有 7 个文件被更改,包括 60 次插入60 次删除
  1. 35 38
      jupyterlab/index.js
  2. 2 3
      jupyterlab/package.json
  3. 3 0
      src/application/index.ts
  4. 1 1
      src/application/shell.ts
  5. 17 17
      src/default-theme/index.css
  6. 1 1
      src/mainmenu/index.css
  7. 1 0
      src/tsconfig.json

+ 35 - 38
jupyterlab/index.js

@@ -1,7 +1,7 @@
 // Copyright (c) Jupyter Development Team.
 // Distributed under the terms of the Modified BSD License.
 
-var phosphide = require('phosphide/lib/core/application');
+var JupyterLab = require('jupyterlab/lib/application').JupyterLab;
 
 // ES6 Promise polyfill
 require('es6-promise').polyfill();
@@ -10,41 +10,38 @@ require('font-awesome/css/font-awesome.min.css');
 require('material-design-icons/iconfont/material-icons.css');
 require('jupyterlab/lib/default-theme/index.css');
 
-var app = new phosphide.Application({
-  extensions: [
-    require('jupyterlab/lib/about/plugin').aboutExtension,
-    require('jupyterlab/lib/console/plugin').consoleExtension,
-    require('jupyterlab/lib/csvwidget/plugin').csvHandlerExtension,
-    require('jupyterlab/lib/editorwidget/plugin').editorHandlerExtension,
-    require('jupyterlab/lib/faq/plugin').faqExtension,
-    require('jupyterlab/lib/filebrowser/plugin').fileBrowserExtension,
-    require('jupyterlab/lib/help/plugin').helpHandlerExtension,
-    require('jupyterlab/lib/imagewidget/plugin').imageHandlerExtension,
-    require('jupyterlab/lib/inspector/plugin').inspectorExtension,
-    require('jupyterlab/lib/leafletwidget/plugin').mapHandlerExtension,
-    require('jupyterlab/lib/landing/plugin').landingExtension,
-    require('jupyterlab/lib/main/plugin').mainExtension,
-    require('jupyterlab/lib/mainmenu/plugin').mainMenuExtension,
-    require('jupyterlab/lib/markdownwidget/plugin').markdownHandlerExtension,
-    require('jupyterlab/lib/notebook/plugin').notebookHandlerExtension,
-    require('jupyterlab/lib/running/plugin').runningSessionsExtension,
-    require('jupyterlab/lib/shortcuts/plugin').shortcutsExtension,
-    require('jupyterlab/lib/terminal/plugin').terminalExtension,
-    require('phosphide/lib/extensions/commandpalette').commandPaletteExtension,
-    require('jupyter-js-widgets-labextension/lib/plugin').widgetManagerExtension
-  ],
-  providers: [
-    require('jupyterlab/lib/clipboard/plugin').clipboardProvider,
-    require('jupyterlab/lib/docregistry/plugin').docRegistryProvider,
-    require('jupyterlab/lib/filebrowser/plugin').fileBrowserProvider,
-    require('jupyterlab/lib/inspector/plugin').inspectorProvider,
-    require('jupyterlab/lib/mainmenu/plugin').mainMenuProvider,
-    require('jupyterlab/lib/notebook/plugin').notebookTrackerProvider,
-    require('jupyterlab/lib/rendermime/plugin').renderMimeProvider,
-    require('jupyterlab/lib/services/plugin').servicesProvider
-  ]
-});
+var lab = new JupyterLab();
 
-window.onload = function() {
-    app.run();
-}
+lab.registerPlugins([
+  // require('jupyterlab/lib/about/plugin').aboutExtension,
+  // require('jupyterlab/lib/console/plugin').consoleExtension,
+  // require('jupyterlab/lib/csvwidget/plugin').csvHandlerExtension,
+  // require('jupyterlab/lib/editorwidget/plugin').editorHandlerExtension,
+  // require('jupyterlab/lib/faq/plugin').faqExtension,
+  // require('jupyterlab/lib/filebrowser/plugin').fileBrowserExtension,
+  // require('jupyterlab/lib/help/plugin').helpHandlerExtension,
+  // require('jupyterlab/lib/imagewidget/plugin').imageHandlerExtension,
+  // require('jupyterlab/lib/inspector/plugin').inspectorExtension,
+  // require('jupyterlab/lib/leafletwidget/plugin').mapHandlerExtension,
+  // require('jupyterlab/lib/landing/plugin').landingExtension,
+  // require('jupyterlab/lib/main/plugin').mainExtension,
+  // require('jupyterlab/lib/mainmenu/plugin').mainMenuExtension,
+  // require('jupyterlab/lib/markdownwidget/plugin').markdownHandlerExtension,
+  // require('jupyterlab/lib/notebook/plugin').notebookHandlerExtension,
+  // require('jupyterlab/lib/running/plugin').runningSessionsExtension,
+  // require('jupyterlab/lib/shortcuts/plugin').shortcutsExtension,
+  // require('jupyterlab/lib/terminal/plugin').terminalExtension,
+  // require('phosphide/lib/extensions/commandpalette').commandPaletteExtension,
+  // require('jupyter-js-widgets-labextension/lib/plugin').widgetManagerExtension,
+
+  // require('jupyterlab/lib/clipboard/plugin').clipboardProvider,
+  // require('jupyterlab/lib/docregistry/plugin').docRegistryProvider,
+  // require('jupyterlab/lib/filebrowser/plugin').fileBrowserProvider,
+  // require('jupyterlab/lib/inspector/plugin').inspectorProvider,
+  // require('jupyterlab/lib/mainmenu/plugin').mainMenuProvider,
+  // require('jupyterlab/lib/notebook/plugin').notebookTrackerProvider,
+  // require('jupyterlab/lib/rendermime/plugin').renderMimeProvider,
+  // require('jupyterlab/lib/services/plugin').servicesProvider
+]);
+
+window.onload = function() { lab.start(); }

+ 2 - 3
jupyterlab/package.json

@@ -1,7 +1,7 @@
 {
   "private": true,
   "name": "jupyterlab-extension",
-  "version": "0.0.1",
+  "version": "0.1.0",
   "description": "JupyterLab extension",
   "main": "lib/index.js",
   "typings": "lib/index.d.ts",
@@ -10,8 +10,7 @@
     "font-awesome": "^4.6.1",
     "jupyter-js-widgets-labextension": "^0.1.0",
     "jupyterlab": "file:../",
-    "material-design-icons": "^2.2.3",
-    "phosphide": "^0.10.0"
+    "material-design-icons": "^2.2.3"
   },
   "devDependencies": {
     "css-loader": "^0.23.1",

+ 3 - 0
src/application/index.ts

@@ -11,6 +11,9 @@ import {
 
 export
 class JupyterLab extends Application<ApplicationShell> {
+  /**
+   * Create the application shell for the JupyterLab application.
+   */
   protected createShell(): ApplicationShell {
     return new ApplicationShell();
   }

+ 1 - 1
src/application/shell.ts

@@ -92,7 +92,7 @@ class ApplicationShell extends Widget {
     rightHandler.sideBar.addClass('jp-mod-right');
     leftHandler.stackedPanel.id = 'jp-left-stack';
     rightHandler.stackedPanel.id = 'jp-right-stack';
-    dockPanel.id = 'p-main-dock-panel';
+    dockPanel.id = 'jp-main-dock-panel';
 
     dockPanel.spacing = 8;
 

+ 17 - 17
src/default-theme/index.css

@@ -33,7 +33,7 @@ body {
 }
 
 
-.p-ApplicationShell.p-Widget {
+.jp-ApplicationShell.p-Widget {
   position: absolute;
   top: 0;
   left: 0;
@@ -43,7 +43,7 @@ body {
 }
 
 
-#p-top-panel {
+#jp-top-panel {
   display: flex;
   min-height: 24px;
 }
@@ -72,15 +72,15 @@ body {
 }
 
 
-#p-right-stack {
+#jp-right-stack {
   border-left: 1px solid #BDBDBD;
 }
 
-#p-left-stack {
+#jp-left-stack {
   border-right: 1px solid #BDBDBD;
 }
 
-.p-SideBar {
+.jp-SideBar {
   min-width: 36px;
   max-width: 36px;
   font-size: 14px;
@@ -89,67 +89,67 @@ body {
 }
 
 
-.p-SideBar.p-Widget {
+.jp-SideBar.p-Widget {
   overflow: visible;
 }
 
 
-.p-SideBar.p-mod-left {
+.jp-SideBar.jp-mod-left {
   border-right: 1px solid #BDBDBD;
 }
 
 
-.p-SideBar.p-mod-right {
+.jp-SideBar.jp-mod-right {
   border-left: 1px solid #BDBDBD;
 }
 
 
-.p-SideBar-content {
+.jp-SideBar-content {
   height: 35px;
   transform-origin: 0 0 0;
 }
 
 
-.p-SideBar.p-mod-left > .p-SideBar-content {
+.jp-SideBar.jp-mod-left > .jp-SideBar-content {
   flex-direction: row-reverse;
   transform: rotate(-90deg) translateX(-100%);
 }
 
 
-.p-SideBar.p-mod-right > .p-SideBar-content {
+.jp-SideBar.jp-mod-right > .jp-SideBar-content {
   flex-direction: row;
   transform: rotate(90deg) translateY(-100%);
 }
 
 
-.p-SideBar-button {
+.jp-SideBar-button {
   padding: 0 18px;
   line-height: 35px;
 }
 
 
-.p-SideBar-button:hover:not(.p-mod-current) {
+.jp-SideBar-button:hover:not(.p-mod-current) {
   background: #FAFAFA;
 }
 
 
-.p-SideBar-button.p-mod-current {
+.jp-SideBar-button.p-mod-current {
   color: #2196F3;
   background: #FAFAFA;
 }
 
 
-.p-SideBar.p-mod-left .p-SideBar-button {
+.jp-SideBar.jp-mod-left .jp-SideBar-button {
   border-left: 1px solid #BDBDBD;
 }
 
 
-.p-SideBar.p-mod-right .p-SideBar-button {
+.jp-SideBar.jp-mod-right .jp-SideBar-button {
   border-right: 1px solid #BDBDBD;
 }
 
 
-#p-main-dock-panel {
+#jp-main-dock-panel {
   padding: 8px;
 }
 

+ 1 - 1
src/mainmenu/index.css

@@ -7,7 +7,7 @@
    background: white;
 }
 
-#p-top-panel.p-Widget.p-Panel {
+#jp-top-panel.p-Widget.p-Panel {
    border-bottom: 1px solid #BDBDBD;
    background: white;
    top: 0px;

+ 1 - 0
src/tsconfig.json

@@ -10,6 +10,7 @@
   },
   "files": [
     "application/index",
+    "index",
     "typings"
   ]
 }