diff options
author | Valerio Virgillito | 2012-03-13 11:15:34 -0700 |
---|---|---|
committer | Valerio Virgillito | 2012-03-13 11:15:34 -0700 |
commit | f6b958360d82854bdaf51848e7fd715d1f633179 (patch) | |
tree | 80f6c08bb730089bdd3f26310df8d2363f9ba863 /js/io | |
parent | c24f58c10231c30d3a8a4c9fb9a4f395dd746180 (diff) | |
parent | 4d7b86f55c504ee4e8c2460cf6b60cb9a2cf18f0 (diff) | |
download | ninja-f6b958360d82854bdaf51848e7fd715d1f633179.tar.gz |
Merge pull request #105 from joseeight/FileIO-Build-Candidate
File I/O adding webGL/canvas data functionality
Diffstat (limited to 'js/io')
-rw-r--r-- | js/io/system/ninjalibrary.js | 10 | ||||
-rw-r--r-- | js/io/system/ninjalibrary.json | 2 | ||||
-rwxr-xr-x | js/io/ui/file-picker/file-picker-controller.js | 2 | ||||
-rwxr-xr-x | js/io/ui/file-picker/file-picker-model.js | 6 | ||||
-rw-r--r-- | js/io/ui/file-picker/picker-navigator.reel/picker-navigator.js | 7 | ||||
-rw-r--r-- | js/io/ui/save-as-dialog.reel/save-as-dialog.js | 4 |
6 files changed, 22 insertions, 9 deletions
diff --git a/js/io/system/ninjalibrary.js b/js/io/system/ninjalibrary.js index 960bdef9..201598fc 100644 --- a/js/io/system/ninjalibrary.js +++ b/js/io/system/ninjalibrary.js | |||
@@ -82,7 +82,7 @@ exports.NinjaLibrary = Montage.create(Object.prototype, { | |||
82 | // | 82 | // |
83 | copyLibToCloud: { | 83 | copyLibToCloud: { |
84 | enumerable: false, | 84 | enumerable: false, |
85 | value: function (path, libName) { | 85 | value: function (path, libName, callback) { |
86 | // | 86 | // |
87 | if(this.coreApi.directoryExists({uri: path+libName}).status === 404) { | 87 | if(this.coreApi.directoryExists({uri: path+libName}).status === 404) { |
88 | this.chromeApi.directoryContents(this.chromeApi.fileSystem.root, function (contents) { | 88 | this.chromeApi.directoryContents(this.chromeApi.fileSystem.root, function (contents) { |
@@ -91,7 +91,7 @@ exports.NinjaLibrary = Montage.create(Object.prototype, { | |||
91 | //Getting contents of library to be copied | 91 | //Getting contents of library to be copied |
92 | this.chromeApi.directoryContents(contents[i], function (lib) { | 92 | this.chromeApi.directoryContents(contents[i], function (lib) { |
93 | //Creating directory structure from subfolders | 93 | //Creating directory structure from subfolders |
94 | this.copyDirectoryToCloud(path, contents[i], path, function (status) {console.log(status)}); | 94 | this.copyDirectoryToCloud(path, contents[i], path, callback); |
95 | }.bind(this)); | 95 | }.bind(this)); |
96 | break; | 96 | break; |
97 | } | 97 | } |
@@ -116,7 +116,7 @@ exports.NinjaLibrary = Montage.create(Object.prototype, { | |||
116 | dir = folder.name; | 116 | dir = folder.name; |
117 | } | 117 | } |
118 | // | 118 | // |
119 | if (!this.coreApi.createDirectory({uri: dir})) { | 119 | if (!this.coreApi.createDirectory({uri: dir.replace(/\/\//gi, '/')})) { |
120 | //Error occured while creating folders | 120 | //Error occured while creating folders |
121 | return; | 121 | return; |
122 | } | 122 | } |
@@ -132,12 +132,14 @@ exports.NinjaLibrary = Montage.create(Object.prototype, { | |||
132 | this.chromeApi.fileContent(contents[i].fullPath, function (result) { | 132 | this.chromeApi.fileContent(contents[i].fullPath, function (result) { |
133 | // | 133 | // |
134 | //this.coreApi.createFile({uri: fileRoot+result.file.fullPath, contents: blob.getBlob(result.data.type), contentType: result.data.type}); | 134 | //this.coreApi.createFile({uri: fileRoot+result.file.fullPath, contents: blob.getBlob(result.data.type), contentType: result.data.type}); |
135 | this.coreApi.createFile({uri: fileRoot+result.file.fullPath, contents: result.content}); | 135 | this.coreApi.createFile({uri: (fileRoot+result.file.fullPath).replace(/\/\//gi, '/'), contents: result.content}); |
136 | }.bind(this)); | 136 | }.bind(this)); |
137 | } | 137 | } |
138 | } | 138 | } |
139 | }.bind(this)); | 139 | }.bind(this)); |
140 | } | 140 | } |
141 | //TODO Add logic for proper callback status(es) | ||
142 | if (callback) callback(true); | ||
141 | } | 143 | } |
142 | }, | 144 | }, |
143 | //////////////////////////////////////////////////////////////////// | 145 | //////////////////////////////////////////////////////////////////// |
diff --git a/js/io/system/ninjalibrary.json b/js/io/system/ninjalibrary.json index a61c30d1..00ee7ed2 100644 --- a/js/io/system/ninjalibrary.json +++ b/js/io/system/ninjalibrary.json | |||
@@ -1,6 +1,6 @@ | |||
1 | { | 1 | { |
2 | "libraries": [ | 2 | "libraries": [ |
3 | {"name": "Montage", "path": "/node_modules/descriptor.json", "version": "0.6.0.0"}, | 3 | {"name": "Montage", "path": "/node_modules/descriptor.json", "version": "0.6.0.0"}, |
4 | {"name": "RDGE", "path": "/assets/descriptor.json", "version": "0.5.0.1"} | 4 | {"name": "RDGE", "path": "/assets/descriptor.json", "version": "0.5.1.0"} |
5 | ] | 5 | ] |
6 | } \ No newline at end of file | 6 | } \ No newline at end of file |
diff --git a/js/io/ui/file-picker/file-picker-controller.js b/js/io/ui/file-picker/file-picker-controller.js index 3b19de83..105dc223 100755 --- a/js/io/ui/file-picker/file-picker-controller.js +++ b/js/io/ui/file-picker/file-picker-controller.js | |||
@@ -104,7 +104,7 @@ var FilePickerController = exports.FilePickerController = Montage.create(require | |||
104 | aModel.topLevelDirectories = topLevelDirectories; | 104 | aModel.topLevelDirectories = topLevelDirectories; |
105 | 105 | ||
106 | if(!!topLevelDirectories && !!topLevelDirectories[0]){ | 106 | if(!!topLevelDirectories && !!topLevelDirectories[0]){ |
107 | aModel.currentRoot = topLevelDirectories[0].uri; | 107 | aModel.currentRoot = aModel.currentLogicalDrive = topLevelDirectories[0].uri; |
108 | } | 108 | } |
109 | 109 | ||
110 | //populate the last opened folder first, if none then populate default root | 110 | //populate the last opened folder first, if none then populate default root |
diff --git a/js/io/ui/file-picker/file-picker-model.js b/js/io/ui/file-picker/file-picker-model.js index 09c3ae9c..c92ec586 100755 --- a/js/io/ui/file-picker/file-picker-model.js +++ b/js/io/ui/file-picker/file-picker-model.js | |||
@@ -73,6 +73,12 @@ exports.FilePickerModel = (require("montage/core/core").Montage).create(require( | |||
73 | value:"" | 73 | value:"" |
74 | }, | 74 | }, |
75 | 75 | ||
76 | currentLogicalDrive:{ | ||
77 | writable:true, | ||
78 | enumerable:true, | ||
79 | value:"" | ||
80 | }, | ||
81 | |||
76 | callback:{ | 82 | callback:{ |
77 | writable:true, | 83 | writable:true, |
78 | enumerable:true, | 84 | enumerable:true, |
diff --git a/js/io/ui/file-picker/picker-navigator.reel/picker-navigator.js b/js/io/ui/file-picker/picker-navigator.reel/picker-navigator.js index 3d99ae4d..7a9d90b4 100644 --- a/js/io/ui/file-picker/picker-navigator.reel/picker-navigator.js +++ b/js/io/ui/file-picker/picker-navigator.reel/picker-navigator.js | |||
@@ -346,6 +346,11 @@ var PickerNavigator = exports.PickerNavigator = Montage.create(Component, { | |||
346 | var arr = []; | 346 | var arr = []; |
347 | var temp = new String(uri); | 347 | var temp = new String(uri); |
348 | while(temp.indexOf("/") != -1){ | 348 | while(temp.indexOf("/") != -1){ |
349 | |||
350 | if(""+temp === this.pickerModel.currentLogicalDrive){//stop at the logical drive | ||
351 | break; | ||
352 | } | ||
353 | |||
349 | temp = temp.substring(0, temp.lastIndexOf("/")); | 354 | temp = temp.substring(0, temp.lastIndexOf("/")); |
350 | 355 | ||
351 | //populate dropdown irrespective of validity | 356 | //populate dropdown irrespective of validity |
@@ -560,7 +565,7 @@ var PickerNavigator = exports.PickerNavigator = Montage.create(Component, { | |||
560 | enumerable: true, | 565 | enumerable: true, |
561 | writable: false, | 566 | writable: false, |
562 | value : function(evt, dirObj){ | 567 | value : function(evt, dirObj){ |
563 | this.currentURI = dirObj.uri; | 568 | this.currentURI = this.pickerModel.currentLogicalDrive = dirObj.uri; |
564 | 569 | ||
565 | var status = this.pickerViews()[this.selectedPickerView].call(this, dirObj.uri);//dynamically calls the update function of the current picker view | 570 | var status = this.pickerViews()[this.selectedPickerView].call(this, dirObj.uri);//dynamically calls the update function of the current picker view |
566 | 571 | ||
diff --git a/js/io/ui/save-as-dialog.reel/save-as-dialog.js b/js/io/ui/save-as-dialog.reel/save-as-dialog.js index 0a322b99..c60a92f9 100644 --- a/js/io/ui/save-as-dialog.reel/save-as-dialog.js +++ b/js/io/ui/save-as-dialog.reel/save-as-dialog.js | |||
@@ -111,7 +111,7 @@ var SaveAsDialog = exports.SaveAsDialog = Montage.create(Component, { | |||
111 | handleOkButtonAction:{ | 111 | handleOkButtonAction:{ |
112 | value: function(evt){ | 112 | value: function(evt){ |
113 | var filename = this.fileName, | 113 | var filename = this.fileName, |
114 | newFileDirectory = this.newFileDirectory, | 114 | newFileDirectory = this.folderUri, |
115 | success = true; | 115 | success = true; |
116 | if(this.isValidFileName(this.fileName) && this.isValidUri(this.folderUri) && !this.checkFileExists(this.fileName, this.folderUri)){ | 116 | if(this.isValidFileName(this.fileName) && this.isValidUri(this.folderUri) && !this.checkFileExists(this.fileName, this.folderUri)){ |
117 | try{ | 117 | try{ |
@@ -128,7 +128,7 @@ var SaveAsDialog = exports.SaveAsDialog = Montage.create(Component, { | |||
128 | } | 128 | } |
129 | }catch(e){ | 129 | }catch(e){ |
130 | success = false; | 130 | success = false; |
131 | console.log("[ERROR] Failed to save: "+ this.fileName + " at "+ this.newFileDirectory); | 131 | console.log("[ERROR] Failed to save: "+ this.fileName + " at "+ newFileDirectory); |
132 | console.log(e.stack); | 132 | console.log(e.stack); |
133 | } | 133 | } |
134 | 134 | ||