diff options
Diffstat (limited to 'js/mediators/io-mediator.js')
-rw-r--r-- | js/mediators/io-mediator.js | 83 |
1 files changed, 42 insertions, 41 deletions
diff --git a/js/mediators/io-mediator.js b/js/mediators/io-mediator.js index c69cbafa..f9fd5bc9 100644 --- a/js/mediators/io-mediator.js +++ b/js/mediators/io-mediator.js | |||
@@ -1,24 +1,25 @@ | |||
1 | /* <copyright> | 1 | /* <copyright> |
2 | Copyright (c) 2012, Motorola Mobility, Inc | 2 | Copyright (c) 2012, Motorola Mobility LLC. |
3 | All Rights Reserved. | 3 | All Rights Reserved. |
4 | BSD License. | ||
5 | 4 | ||
6 | Redistribution and use in source and binary forms, with or without | 5 | Redistribution and use in source and binary forms, with or without |
7 | modification, are permitted provided that the following conditions are met: | 6 | modification, are permitted provided that the following conditions are met: |
8 | 7 | ||
9 | - Redistributions of source code must retain the above copyright notice, | 8 | * Redistributions of source code must retain the above copyright notice, |
10 | this list of conditions and the following disclaimer. | 9 | this list of conditions and the following disclaimer. |
11 | - Redistributions in binary form must reproduce the above copyright | 10 | |
12 | notice, this list of conditions and the following disclaimer in the | 11 | * Redistributions in binary form must reproduce the above copyright notice, |
13 | documentation and/or other materials provided with the distribution. | 12 | this list of conditions and the following disclaimer in the documentation |
14 | - Neither the name of Motorola Mobility nor the names of its contributors | 13 | and/or other materials provided with the distribution. |
15 | may be used to endorse or promote products derived from this software | 14 | |
16 | without specific prior written permission. | 15 | * Neither the name of Motorola Mobility LLC nor the names of its |
16 | contributors may be used to endorse or promote products derived from this | ||
17 | software without specific prior written permission. | ||
17 | 18 | ||
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
21 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | 22 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 23 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 24 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
24 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 25 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
@@ -30,11 +31,11 @@ POSSIBILITY OF SUCH DAMAGE. | |||
30 | 31 | ||
31 | //////////////////////////////////////////////////////////////////////// | 32 | //////////////////////////////////////////////////////////////////////// |
32 | // | 33 | // |
33 | var Montage = require("montage/core/core").Montage, | 34 | var Montage = require("montage/core/core").Montage, |
34 | Component = require("montage/ui/component").Component, | 35 | Component = require("montage/ui/component").Component, |
35 | FileIo = require("js/io/system/fileio").FileIo, | 36 | FileIo = require("js/io/system/fileio").FileIo, |
36 | ProjectIo = require("js/io/system/projectio").ProjectIo, | 37 | ProjectIo = require("js/io/system/projectio").ProjectIo, |
37 | TemplateMediator = require("js/document/mediators/template").TemplateDocumentMediator; | 38 | TemplateMediator = require("js/document/mediators/template").TemplateDocumentMediator; |
38 | //////////////////////////////////////////////////////////////////////// | 39 | //////////////////////////////////////////////////////////////////////// |
39 | // | 40 | // |
40 | exports.IoMediator = Montage.create(Component, { | 41 | exports.IoMediator = Montage.create(Component, { |
@@ -68,11 +69,11 @@ exports.IoMediator = Montage.create(Component, { | |||
68 | //////////////////////////////////////////////////////////////////// | 69 | //////////////////////////////////////////////////////////////////// |
69 | // | 70 | // |
70 | parseToTemplate: { | 71 | parseToTemplate: { |
71 | value: function(content, template) { | 72 | value: function(content, template) { |
72 | // | 73 | // |
73 | if (template.name.toLowerCase() === 'banner' || template.name.toLowerCase() === 'animation') { | 74 | if (template.name.toLowerCase() === 'banner' || template.name.toLowerCase() === 'animation') { |
74 | //Getting dimensions of banner | 75 | //Getting dimensions of banner |
75 | var dimensions = template.id.split('x'); | 76 | var dimensions = template.id.split('x'); |
76 | dimensions = {width: String(dimensions[0])+'px', height: String(dimensions[1])+'px'}; | 77 | dimensions = {width: String(dimensions[0])+'px', height: String(dimensions[1])+'px'}; |
77 | // | 78 | // |
78 | content = content.replace(/Dimensions@@@/gi, "Dimensions@@@"+template.id); | 79 | content = content.replace(/Dimensions@@@/gi, "Dimensions@@@"+template.id); |
@@ -81,7 +82,7 @@ exports.IoMediator = Montage.create(Component, { | |||
81 | } | 82 | } |
82 | // | 83 | // |
83 | return content; | 84 | return content; |
84 | } | 85 | } |
85 | }, | 86 | }, |
86 | //////////////////////////////////////////////////////////////////// | 87 | //////////////////////////////////////////////////////////////////// |
87 | // | 88 | // |
@@ -113,8 +114,8 @@ exports.IoMediator = Montage.create(Component, { | |||
113 | //Sending result to callback if requested for handling | 114 | //Sending result to callback if requested for handling |
114 | if (callback) callback(result); | 115 | if (callback) callback(result); |
115 | //Codes | 116 | //Codes |
116 | // 204: File exists | 400: File exists | 117 | // 204: File exists | 400: File exists |
117 | // 201: File succesfully created | 500: Unknown (Probably cloud API not running) | 118 | // 201: File succesfully created | 500: Unknown (Probably cloud API not running) |
118 | } | 119 | } |
119 | }, | 120 | }, |
120 | //////////////////////////////////////////////////////////////////// | 121 | //////////////////////////////////////////////////////////////////// |
@@ -159,9 +160,9 @@ exports.IoMediator = Montage.create(Component, { | |||
159 | 204: File exists (Success) | 160 | 204: File exists (Success) |
160 | 404: File does not exists (Failure) | 161 | 404: File does not exists (Failure) |
161 | 500: Unknown (Probably cloud API not running) | 162 | 500: Unknown (Probably cloud API not running) |
162 | 163 | ||
163 | (Below only present if succesfull 204) | 164 | (Below only present if succesfull 204) |
164 | 165 | ||
165 | Object.content | 166 | Object.content |
166 | Object.extension | 167 | Object.extension |
167 | Object.name | 168 | Object.name |
@@ -186,9 +187,9 @@ exports.IoMediator = Montage.create(Component, { | |||
186 | case 'html': | 187 | case 'html': |
187 | //Getting content from function to properly handle saving assets (as in external if flagged) | 188 | //Getting content from function to properly handle saving assets (as in external if flagged) |
188 | if (doc.template && (doc.template.type === 'banner' || doc.template.type === 'animation')) { | 189 | if (doc.template && (doc.template.type === 'banner' || doc.template.type === 'animation')) { |
189 | parsedDoc = this.tmplt.parseNinjaTemplateToHtml(true, doc, true, libCopyCallback); | 190 | parsedDoc = this.tmplt.parseNinjaTemplateToHtml(true, doc, true, libCopyCallback); |
190 | } else { | 191 | } else { |
191 | parsedDoc = this.tmplt.parseNinjaTemplateToHtml(true, doc, false, libCopyCallback); | 192 | parsedDoc = this.tmplt.parseNinjaTemplateToHtml(true, doc, false, libCopyCallback); |
192 | } | 193 | } |
193 | break; | 194 | break; |
194 | default: | 195 | default: |
@@ -196,21 +197,21 @@ exports.IoMediator = Montage.create(Component, { | |||
196 | break; | 197 | break; |
197 | } | 198 | } |
198 | if (parsedDoc) { | 199 | if (parsedDoc) { |
199 | //Making call to save file | 200 | //Making call to save file |
200 | save = this.fio.saveFile({uri: doc.file.uri, contents: parsedDoc.content}); | 201 | save = this.fio.saveFile({uri: doc.file.uri, contents: parsedDoc.content}); |
201 | //Checking for callback | 202 | //Checking for callback |
202 | if (callback) callback(save); | 203 | if (callback) callback(save); |
203 | //Checking for libraries, making callback if specified | 204 | //Checking for libraries, making callback if specified |
204 | if (!parsedDoc.libs && libCopyCallback) libCopyCallback(true); | 205 | if (!parsedDoc.libs && libCopyCallback) libCopyCallback(true); |
205 | // | 206 | // |
206 | return {montageId: parsedDoc.montageId, canvasId: parsedDoc.canvasId}; | 207 | return {montageId: parsedDoc.montageId, canvasId: parsedDoc.canvasId}; |
207 | } else { | 208 | } else { |
208 | //Making call to save file | 209 | //Making call to save file |
209 | save = this.fio.saveFile({uri: doc.file.uri, contents: content}); | 210 | save = this.fio.saveFile({uri: doc.file.uri, contents: content}); |
210 | //Checking for callback | 211 | //Checking for callback |
211 | if (callback) callback(save); | 212 | if (callback) callback(save); |
212 | // | 213 | // |
213 | return null; | 214 | return null; |
214 | } | 215 | } |
215 | } | 216 | } |
216 | }, | 217 | }, |