Browse Source

Merge pull request #96 from blink1073/improved-rename

Add rename capability and update deps
Jason Grout 9 years ago
parent
commit
174d8fd0bc
2 changed files with 14 additions and 5 deletions
  1. 2 2
      package.json
  2. 12 3
      src/filebrowser/plugin.ts

+ 2 - 2
package.json

@@ -8,9 +8,9 @@
     "codemirror": "^5.10.0",
     "jquery": "^2.2.0",
     "jquery-ui": "^1.10.5",
-    "jupyter-js-notebook": "^0.9.1",
+    "jupyter-js-notebook": "^0.10.0",
     "jupyter-js-services": "^0.5.0",
-    "jupyter-js-ui": "^0.0.3",
+    "jupyter-js-ui": "^0.1.4",
     "jupyter-js-utils": "^0.3.0",
     "jupyter-js-widgets": "0.0.14",
     "phosphide": "^0.9.0",

+ 12 - 3
src/filebrowser/plugin.ts

@@ -18,6 +18,10 @@ import {
   Application
 } from 'phosphide/lib/core/application';
 
+import {
+  IChangedArgs
+} from 'phosphor-properties';
+
 import {
   Menu, MenuBar, MenuItem
 } from 'phosphor-menus';
@@ -61,6 +65,7 @@ function activateFileBrowser(app: Application, manager: DocumentManager, provide
     menu.popup(x, y);
   });
 
+  let id = 0;
   let onOpenRequested = (model: IContentsModel) => {
     let widget = manager.open(model);
     if (!widget.id) widget.id = `document-manager-${++id}`;
@@ -75,6 +80,13 @@ function activateFileBrowser(app: Application, manager: DocumentManager, provide
     }
   }
 
+  let onFileChanged = (args: IChangedArgs<string>) => {
+    manager.rename(args.oldValue, args.newValue);
+  }
+
+  model.openRequested.connect((bModel, model) => onOpenRequested(model));
+  model.fileChanged.connect((mModel, args) => onFileChanged(args));
+
   // Create a command to add a new empty text file.
   // This requires an id and an instance of a command object.
   let newTextFileId = 'file-operations:new-text-file';
@@ -218,9 +230,6 @@ function activateFileBrowser(app: Application, manager: DocumentManager, provide
     return manager.open(model);
   }
 
-  let id = 0;
-  model.openRequested.connect((bModel, model) => onOpenRequested(model));
-
   widget.title.text = 'Files';
   widget.id = 'file-browser';
   app.shell.addToLeftArea(widget, { rank: 40 });