diff options
Diffstat (limited to 'js/io')
-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 | ||||
-rw-r--r-- | js/io/system/ninjalibrary.json | 2 | ||||
-rw-r--r-- | js/io/templates/descriptor.json | 68 | ||||
-rwxr-xr-x | js/io/templates/files/animation.txt | 23 | ||||
-rwxr-xr-x | js/io/templates/files/banner.txt | 23 | ||||
-rwxr-xr-x | js/io/templates/files/html.txt | 1 | ||||
-rwxr-xr-x | js/io/ui/file-picker/file-input-field.reel/file-input-field.js | 2 | ||||
-rwxr-xr-x | js/io/ui/new-file-dialog/new-file-location.reel/new-file-location.js | 2 | ||||
-rw-r--r-- | js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.js | 11 | ||||
-rw-r--r-- | js/io/ui/save-as-dialog.reel/save-as-dialog.js | 2 |
12 files changed, 190 insertions, 14 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 f4915a91..3de5fb69 100644 --- a/js/io/system/ninjalibrary.js +++ b/js/io/system/ninjalibrary.js | |||
@@ -209,7 +209,7 @@ exports.NinjaLibrary = Montage.create(Object.prototype, { | |||
209 | xhr.responseType = "arraybuffer"; | 209 | xhr.responseType = "arraybuffer"; |
210 | xhr.send(); | 210 | xhr.send(); |
211 | //Checking for status | 211 | //Checking for status |
212 | if (xhr.readyState === 4) { //TODO: add check for mime type | 212 | if (xhr.readyState === 4) { |
213 | //Creating new file from loaded content | 213 | //Creating new file from loaded content |
214 | this.chromeApi.fileNew('/'+tocopylibs[i].name+'/'+tocopylibs[i].file, xhr.response, function (status) {if(status) this.libraryCopied()}.bind(this)); | 214 | this.chromeApi.fileNew('/'+tocopylibs[i].name+'/'+tocopylibs[i].file, xhr.response, function (status) {if(status) this.libraryCopied()}.bind(this)); |
215 | } else { | 215 | } else { |
diff --git a/js/io/system/ninjalibrary.json b/js/io/system/ninjalibrary.json index feced079..041e7ed7 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.8.0.0"}, | 3 | {"name": "Montage", "path": "/node_modules/descriptor.json", "version": "0.10.0.0"}, |
4 | {"name": "RDGE", "path": "/assets/descriptor.json", "version": "0.5.6.0"} | 4 | {"name": "RDGE", "path": "/assets/descriptor.json", "version": "0.5.6.0"} |
5 | ] | 5 | ] |
6 | } \ No newline at end of file | 6 | } \ No newline at end of file |
diff --git a/js/io/templates/descriptor.json b/js/io/templates/descriptor.json index 21c4b58c..9c9c4ac8 100644 --- a/js/io/templates/descriptor.json +++ b/js/io/templates/descriptor.json | |||
@@ -1,13 +1,21 @@ | |||
1 | { | 1 | { |
2 | "categories":{ | 2 | "categories":{ |
3 | "children":["/"] | 3 | "children":["/basic", "/template"] |
4 | }, | 4 | }, |
5 | "/":{ | 5 | |
6 | "/basic":{ | ||
6 | "name":"Blank File", | 7 | "name":"Blank File", |
7 | "uri":"/", | 8 | "uri":"/basic", |
8 | "type":"directory", | 9 | "type":"directory", |
9 | "children":["js/io/templates/files/html.txt", "js/io/templates/files/js.txt", "js/io/templates/files/css.txt", "js/io/templates/files/json.txt", "js/io/templates/files/php.txt", "js/io/templates/files/pl.txt", "js/io/templates/files/py.txt", "js/io/templates/files/rb.txt", "js/io/templates/files/xml.txt"] | 10 | "children":["js/io/templates/files/html.txt", "js/io/templates/files/js.txt", "js/io/templates/files/css.txt", "js/io/templates/files/json.txt", "js/io/templates/files/php.txt", "js/io/templates/files/pl.txt", "js/io/templates/files/py.txt", "js/io/templates/files/rb.txt", "js/io/templates/files/xml.txt"] |
10 | }, | 11 | }, |
12 | "/template":{ | ||
13 | "name":"Template", | ||
14 | "uri":"/template", | ||
15 | "type":"directory", | ||
16 | "children":["js/io/templates/files/banner.txt", "js/io/templates/files/animation.txt"] | ||
17 | }, | ||
18 | |||
11 | "js/io/templates/files/html.txt":{ | 19 | "js/io/templates/files/html.txt":{ |
12 | "name":"HTML", | 20 | "name":"HTML", |
13 | "uri":"js/io/templates/files/html.txt", | 21 | "uri":"js/io/templates/files/html.txt", |
@@ -75,6 +83,58 @@ | |||
75 | "name": "Basic", | 83 | "name": "Basic", |
76 | "uri": "defaultTemplate", | 84 | "uri": "defaultTemplate", |
77 | "type":"file" | 85 | "type":"file" |
86 | }, | ||
87 | |||
88 | "js/io/templates/files/banner.txt":{ | ||
89 | "name":"Banner", | ||
90 | "uri":"js/io/templates/files/banner.txt", | ||
91 | "type":"file", | ||
92 | "fileExtension":".html", | ||
93 | "children":["120x600", "160x600", "200x200", "250x250", "300x250", "336x280"] | ||
94 | }, | ||
95 | |||
96 | "120x600":{ | ||
97 | "name": "Skyscraper", | ||
98 | "uri": "120x600", | ||
99 | "type":"file" | ||
100 | }, | ||
101 | "160x600":{ | ||
102 | "name": "Wide Skyscraper", | ||
103 | "uri": "160x600", | ||
104 | "type":"file" | ||
105 | }, | ||
106 | "200x200":{ | ||
107 | "name": "Small Square", | ||
108 | "uri": "200x200", | ||
109 | "type":"file" | ||
110 | }, | ||
111 | "250x250":{ | ||
112 | "name": "Square", | ||
113 | "uri": "250x250", | ||
114 | "type":"file" | ||
115 | }, | ||
116 | "300x250":{ | ||
117 | "name": "Medium Rectangle", | ||
118 | "uri": "300x250", | ||
119 | "type":"file" | ||
120 | }, | ||
121 | "336x280":{ | ||
122 | "name": "Large Rectangle", | ||
123 | "uri": "336x280", | ||
124 | "type":"file" | ||
125 | }, | ||
126 | |||
127 | "js/io/templates/files/animation.txt":{ | ||
128 | "name":"Animation", | ||
129 | "uri":"js/io/templates/files/animation.txt", | ||
130 | "type":"file", | ||
131 | "fileExtension":".html", | ||
132 | "children":["550x400"] | ||
133 | }, | ||
134 | |||
135 | "550x400":{ | ||
136 | "name": "Default", | ||
137 | "uri": "550x400", | ||
138 | "type":"file" | ||