diff options
Diffstat (limited to 'js/io/system')
-rwxr-xr-x | js/io/system/coreioapi.js | 64 | ||||
-rwxr-xr-x | js/io/system/fileio.js | 4 | ||||
-rw-r--r-- | js/io/system/ninjalibrary.js | 2 |
3 files changed, 67 insertions, 3 deletions
diff --git a/js/io/system/coreioapi.js b/js/io/system/coreioapi.js index a06f45c6..1e6518fe 100755 --- a/js/io/system/coreioapi.js +++ b/js/io/system/coreioapi.js | |||
@@ -193,6 +193,23 @@ exports.CoreIoApi = Montage.create(Component, { | |||
193 | this._fileServiceURL = value; | 193 | this._fileServiceURL = value; |
194 | } | 194 | } |
195 | }, | 195 | }, |
196 | //////////////////////////////////////////////////////////////////// | ||
197 | //File service API URL | ||
198 | _webServiceURL: { | ||
199 | enumerable: false, | ||
200 | value: '/web' | ||
201 | }, | ||
202 | //////////////////////////////////////////////////////////////////// | ||
203 | // | ||
204 | webServiceURL: { | ||
205 | enumerable: false, | ||
206 | get: function() { | ||
207 | return String(this.rootUrl+this._webServiceURL); | ||
208 | }, | ||
209 | set: function(value) { | ||
210 | this._webServiceURL = value; | ||
211 | } | ||
212 | }, | ||
196 | //////////////////////////////////////////////////////////////////// | 213 | //////////////////////////////////////////////////////////////////// |
197 | //Directory service API URL | 214 | //Directory service API URL |
198 | _directoryServiceURL: { | 215 | _directoryServiceURL: { |
@@ -647,6 +664,53 @@ exports.CoreIoApi = Montage.create(Component, { | |||
647 | } | 664 | } |
648 | }, | 665 | }, |
649 | //////////////////////////////////////////////////////////////////// | 666 | //////////////////////////////////////////////////////////////////// |
667 | // Reads an external file (cross-domain) | ||
668 | // Parameters: | ||
669 | // the file parameter must contain the following properties | ||
670 | // url: string value containing the full file path/URL i.e. "http://google.com/motorola.html" | ||
671 | // binary parameter is optional if the content is to be binary | ||
672 | // Return values: | ||
673 | // returns an object with two properties | ||
674 | // success: boolean indicating if the call succeeded or failed | ||
675 | // content: string containing the file contents | ||
676 | // status: int indicating the request HTTP status code | ||
677 | // 200 - the file was read and its contents were returned | ||
678 | // 404 - the file does not exist | ||
679 | // 500 - unknown server error occurred | ||
680 | readExternalFile: { | ||
681 | enumerable: false, | ||
682 | value: function(file) { | ||
683 | // | ||
684 | var retValue = {success:null, content:null, status:null}; | ||
685 | // | ||
686 | if(file && file.url && file.url.length) { | ||
687 | try { | ||
688 | var serviceURL = this._prepareServiceURL(this.webServiceURL, ''), | ||
689 | xhr = new XMLHttpRequest(); | ||
690 | // | ||
691 | xhr.open("GET", serviceURL+"?url="+file.url, false); | ||
692 | if (file.binary) xhr.setRequestHeader("return-type", "binary"); | ||
693 | xhr.setRequestHeader("Content-Type", "text/plain"); | ||
694 | xhr.send(); | ||
695 | // | ||
696 | if (xhr.readyState === 4) { | ||
697 | retValue.status = xhr.status; | ||
698 | if(xhr.status == 200) { | ||
699 | retValue.content = xhr.response; | ||
700 | } | ||
701 | retValue.success = true; | ||
702 | } | ||
703 | } | ||
704 | catch(error) { | ||
705 | xhr = null; | ||
706 | retValue.success = false; | ||
707 | } | ||
708 | } | ||
709 | // | ||
710 | return retValue; | ||
711 | } | ||
712 | }, | ||
713 | //////////////////////////////////////////////////////////////////// | ||
650 | // Create a new directory/folder | 714 | // Create a new directory/folder |
651 | // Parameters: | 715 | // Parameters: |
652 | // the dir parameter must contain the following properties | 716 | // the dir parameter must contain the following properties |
diff --git a/js/io/system/fileio.js b/js/io/system/fileio.js index f78ad173..1680ca7f 100755 --- a/js/io/system/fileio.js +++ b/js/io/system/fileio.js | |||
@@ -146,7 +146,7 @@ exports.FileIo = Montage.create(Component, { | |||
146 | } | 146 | } |
147 | }, | 147 | }, |
148 | //////////////////////////////////////////////////////////////////// | 148 | //////////////////////////////////////////////////////////////////// |
149 | // | 149 | //TODO: Add functionality |
150 | deleteFile: { | 150 | deleteFile: { |
151 | enumerable: true, | 151 | enumerable: true, |
152 | value: function() { | 152 | value: function() { |
@@ -159,7 +159,7 @@ exports.FileIo = Montage.create(Component, { | |||
159 | } | 159 | } |
160 | }, | 160 | }, |
161 | //////////////////////////////////////////////////////////////////// | 161 | //////////////////////////////////////////////////////////////////// |
162 | // | 162 | //TODO: Add functionality |
163 | copyFile: { | 163 | copyFile: { |
164 | enumerable: true, | 164 | enumerable: true, |
165 | value: function() { | 165 | value: function() { |
diff --git a/js/io/system/ninjalibrary.js b/js/io/system/ninjalibrary.js index 201598fc..78bdbe53 100644 --- a/js/io/system/ninjalibrary.js +++ b/js/io/system/ninjalibrary.js | |||
@@ -213,7 +213,7 @@ exports.NinjaLibrary = Montage.create(Object.prototype, { | |||
213 | xhr.responseType = "arraybuffer"; | 213 | xhr.responseType = "arraybuffer"; |
214 | xhr.send(); | 214 | xhr.send(); |
215 | //Checking for status | 215 | //Checking for status |
216 | if (xhr.readyState === 4) { //TODO: add check for mime type | 216 | if (xhr.readyState === 4) { |
217 | //Creating new file from loaded content | 217 | //Creating new file from loaded content |
218 | this.chromeApi.fileNew('/'+tocopylibs[i].name+'/'+tocopylibs[i].file, xhr.response, function (status) {if(status) this.libraryCopied()}.bind(this)); | 218 | this.chromeApi.fileNew('/'+tocopylibs[i].name+'/'+tocopylibs[i].file, xhr.response, function (status) {if(status) this.libraryCopied()}.bind(this)); |
219 | } else { | 219 | } else { |