diff options
Diffstat (limited to 'js/io/document')
-rwxr-xr-x | js/io/document/document-controller.js | 57 |
1 files changed, 47 insertions, 10 deletions
diff --git a/js/io/document/document-controller.js b/js/io/document/document-controller.js index e36181bf..6f67b57c 100755 --- a/js/io/document/document-controller.js +++ b/js/io/document/document-controller.js | |||
@@ -78,8 +78,9 @@ var DocumentController = exports.DocumentController = Montage.create(Component, | |||
78 | handleExecuteFileOpen: { | 78 | handleExecuteFileOpen: { |
79 | value: function(event) { | 79 | value: function(event) { |
80 | var pickerSettings = event._event.settings || {}; | 80 | var pickerSettings = event._event.settings || {}; |
81 | pickerSettings.callback = this.openFileWithURI; | 81 | pickerSettings.callback = this.openFileWithURI.bind(this); |
82 | pickerSettings.callbackScope = this; | 82 | pickerSettings.pickerMode = "read"; |
83 | pickerSettings.inFileMode = true; | ||
83 | this.application.ninja.filePickerController.showFilePicker(pickerSettings); | 84 | this.application.ninja.filePickerController.showFilePicker(pickerSettings); |
84 | } | 85 | } |
85 | }, | 86 | }, |
@@ -87,8 +88,7 @@ var DocumentController = exports.DocumentController = Montage.create(Component, | |||
87 | handleExecuteNewFile: { | 88 | handleExecuteNewFile: { |
88 | value: function(event) { | 89 | value: function(event) { |
89 | var newFileSettings = event._event.settings || {}; | 90 | var newFileSettings = event._event.settings || {}; |
90 | newFileSettings.callback = this.createNewFile; | 91 | newFileSettings.callback = this.createNewFile.bind(this); |
91 | newFileSettings.callbackScope = this; | ||
92 | this.application.ninja.newFileController.showNewFileDialog(newFileSettings); | 92 | this.application.ninja.newFileController.showNewFileDialog(newFileSettings); |
93 | } | 93 | } |
94 | }, | 94 | }, |
@@ -123,9 +123,9 @@ var DocumentController = exports.DocumentController = Montage.create(Component, | |||
123 | */ | 123 | */ |
124 | openNewFileCallback:{ | 124 | openNewFileCallback:{ |
125 | value:function(doc){ | 125 | value:function(doc){ |
126 | var response = doc || {"uri":"/Users/xhdq84/Documents/test.js", "success":true};//default just for testing | 126 | var response = doc || null;//default just for testing |
127 | if(!!response && response.success && !!response.uri){ | 127 | if(!!response && response.success && !!response.uri){ |
128 | this.application.ninja.ioMediator.fileOpen({"uri":response.uri}, this.openFileCallback.bind(this)); | 128 | this.application.ninja.ioMediator.fileOpen(response.uri, this.openFileCallback.bind(this)); |
129 | } | 129 | } |
130 | } | 130 | } |
131 | }, | 131 | }, |
@@ -137,8 +137,9 @@ var DocumentController = exports.DocumentController = Montage.create(Component, | |||
137 | uri = uriArrayObj.uri[0]; | 137 | uri = uriArrayObj.uri[0]; |
138 | } | 138 | } |
139 | //console.log("URI is: ", uri); | 139 | //console.log("URI is: ", uri); |
140 | 140 | if(!!uri){ | |
141 | this.application.ninja.ioMediator.fileOpen({"uri":uri}, this.openFileCallback.bind(this)); | 141 | this.application.ninja.ioMediator.fileOpen(uri, this.openFileCallback.bind(this)); |
142 | } | ||
142 | } | 143 | } |
143 | }, | 144 | }, |
144 | 145 | ||
@@ -151,8 +152,44 @@ var DocumentController = exports.DocumentController = Montage.create(Component, | |||
151 | * uri : file uri | 152 | * uri : file uri |
152 | */ | 153 | */ |
153 | openFileCallback:{ | 154 | openFileCallback:{ |
154 | value:function(doc){ | 155 | value:function(response){ |
155 | this.openDocument(doc); | 156 | //Return Object Description |
157 | // Object.status (Always presents for handling) | ||
158 | // 204: File exists (Success) | ||
159 | // 404: File does not exists (Failure) | ||
160 | // 500: Unknown (Probably cloud API not running) | ||
161 | // | ||
162 | // (Below only present if succesfull 204) | ||
163 | // | ||
164 | // Object.content | ||
165 | // Object.extension | ||
166 | // Object.name | ||
167 | // Object.uri | ||
168 | // Object.creationDate | ||
169 | // Object.modifiedDate | ||
170 | // Object.readOnly | ||
171 | // Object.size | ||
172 | |||
173 | var fileDetails = {}; | ||
174 | if(!!response && (response.status === 204)){ | ||
175 | /** | ||
176 | * fileDetails format: | ||
177 | * {"type": "js", "name": "test", "source": fileContent, "uri": uri} | ||
178 | */ | ||
179 | fileDetails.type = response.extension; | ||
180 | fileDetails.source = response.content; | ||
181 | fileDetails.name = response.name; | ||
182 | fileDetails.uri = response.uri; | ||
183 | |||
184 | this.openDocument(fileDetails); | ||
185 | }else if(!!response && (response.status === 404)){ | ||
186 | alert("Unable to open file.\n [Error: File does not exist]"); | ||
187 | }else if(!!response && (response.status === 500)){ | ||
188 | alert("Unable to open file.\n Check if Ninja Local Cloud is running."); | ||
189 | }else{ | ||
190 | alert("Unable to open file."); | ||
191 | } | ||
192 | |||
156 | } | 193 | } |
157 | }, | 194 | }, |
158 | 195 | ||