diff options
-rwxr-xr-x | js/document/mediators/template.js | 29 | ||||
-rwxr-xr-x | js/document/views/design.js | 11 |
2 files changed, 27 insertions, 13 deletions
diff --git a/js/document/mediators/template.js b/js/document/mediators/template.js index e770e07f..c5b46c3a 100755 --- a/js/document/mediators/template.js +++ b/js/document/mediators/template.js | |||
@@ -146,13 +146,28 @@ exports.TemplateDocumentMediator = Montage.create(Component, { | |||
146 | } | 146 | } |
147 | } | 147 | } |
148 | // | 148 | // |
149 | if (template.body && template.body.getAttribute('data-ninja-style') !== null) { | 149 | if(template.template) { |
150 | template.file.content.document.body.setAttribute('style', template.body.getAttribute('data-ninja-style')); | 150 | // |
151 | template.file.content.document.body.removeAttribute('data-ninja-style'); | 151 | // TODO - Need to handle banner and animation templates. |
152 | } else if (template.body && template.body.getAttribute('data-ninja-style') === null) { | 152 | //Copying attributes to maintain same properties as <ninja-content> |
153 | template.file.content.document.body.removeAttribute('style'); | 153 | var ninjaContentTagMem = template.document.getElementsByTagName('ninja-content')[0], ninjaContentTagDoc = template.file.content.document.getElementsByTagName('ninja-content')[0]; |
154 | template.file.content.document.body.removeAttribute('data-ninja-style'); | 154 | if (ninjaContentTagMem && ninjaContentTagMem.getAttribute('data-ninja-style') !== null) { |
155 | } | 155 | ninjaContentTagDoc.setAttribute('style', ninjaContentTagMem.getAttribute('data-ninja-style')); |
156 | ninjaContentTagDoc.removeAttribute('data-ninja-style'); | ||
157 | } else if (ninjaContentTagMem && ninjaContentTagMem.getAttribute('data-ninja-style') === null) { | ||
158 | ninjaContentTagDoc.removeAttribute('style'); | ||
159 | ninjaContentTagDoc.removeAttribute('data-ninja-style'); | ||
160 | } | ||
161 | } else { | ||
162 | if (template.body && template.body.getAttribute('data-ninja-style') !== null) { | ||
163 | template.file.content.document.body.setAttribute('style', template.body.getAttribute('data-ninja-style')); | ||
164 | template.file.content.document.body.removeAttribute('data-ninja-style'); | ||
165 | } else if (template.body && template.body.getAttribute('data-ninja-style') === null) { | ||
166 | template.file.content.document.body.removeAttribute('style'); | ||
167 | template.file.content.document.body.removeAttribute('data-ninja-style'); | ||
168 | } | ||
169 | } | ||
170 | |||
156 | wipeAttributes(template.file.content.document.head); | 171 | wipeAttributes(template.file.content.document.head); |
157 | //Copying attributes to maintain same properties as the <head> | 172 | //Copying attributes to maintain same properties as the <head> |
158 | for (var m in template.document.head.attributes) { | 173 | for (var m in template.document.head.attributes) { |
diff --git a/js/document/views/design.js b/js/document/views/design.js index 325259ea..44c61617 100755 --- a/js/document/views/design.js +++ b/js/document/views/design.js | |||
@@ -281,7 +281,6 @@ exports.DesignDocumentView = Montage.create(BaseDocumentView, { | |||
281 | this.document.body.removeChild(this.document.getElementsByTagName('ninjaloadinghack')[0]); | 281 | this.document.body.removeChild(this.document.getElementsByTagName('ninjaloadinghack')[0]); |
282 | //Getting style and link tags in document | 282 | //Getting style and link tags in document |
283 | var htags = this.document.getElementsByTagName('html'), | 283 | var htags = this.document.getElementsByTagName('html'), |
284 | btags = this.document.getElementsByTagName('body'), | ||
285 | userStyles, | 284 | userStyles, |
286 | stags = this.document.getElementsByTagName('style'), | 285 | stags = this.document.getElementsByTagName('style'), |
287 | ltags = this.document.getElementsByTagName('link'), i, orgNodes, | 286 | ltags = this.document.getElementsByTagName('link'), i, orgNodes, |
@@ -339,18 +338,18 @@ exports.DesignDocumentView = Montage.create(BaseDocumentView, { | |||
339 | if (orgNodes[n].getAttribute) orgNodes[n].setAttribute('data-ninja-node', 'true'); | 338 | if (orgNodes[n].getAttribute) orgNodes[n].setAttribute('data-ninja-node', 'true'); |
340 | } | 339 | } |
341 | 340 | ||
342 | // Save initial HTML and Body style attributes so we don't override them on save | 341 | // Save initial HTML and Body/ninja-content style attributes so we don't override them on save |
343 | if(htags.length) { | 342 | if(htags.length) { |
344 | if(userStyles = htags[0].getAttribute('style')) { | 343 | if(userStyles = htags[0].getAttribute('style')) { |
345 | htags[0].setAttribute('data-ninja-style', userStyles); | 344 | htags[0].setAttribute('data-ninja-style', userStyles); |
346 | } | 345 | } |
347 | } | 346 | } |
348 | if(btags.length) { | 347 | if(this.documentRoot) { |
349 | if(userStyles = btags[0].getAttribute('style')) { | 348 | if(userStyles = this.documentRoot.getAttribute('style')) { |
350 | btags[0].setAttribute('data-ninja-style', userStyles); | 349 | this.documentRoot.setAttribute('data-ninja-style', userStyles); |
351 | } | 350 | } |
352 | } | 351 | } |
353 | //Makign callback if specified | 352 | //Making callback if specified |
354 | if (this._callback) this._callback(); | 353 | if (this._callback) this._callback(); |
355 | } | 354 | } |
356 | }, | 355 | }, |