diff options
Diffstat (limited to 'js/document/mediators')
-rwxr-xr-x | js/document/mediators/template.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/js/document/mediators/template.js b/js/document/mediators/template.js index 50fad1c3..0d48355f 100755 --- a/js/document/mediators/template.js +++ b/js/document/mediators/template.js | |||
@@ -155,6 +155,7 @@ exports.TemplateDocumentMediator = Montage.create(Component, { | |||
155 | //Copying attributes to maintain same properties as the <html> | 155 | //Copying attributes to maintain same properties as the <html> |
156 | var htmlTagMem = template.document.getElementsByTagName('html')[0], htmlTagDoc = template.file.content.document.getElementsByTagName('html')[0]; | 156 | var htmlTagMem = template.document.getElementsByTagName('html')[0], htmlTagDoc = template.file.content.document.getElementsByTagName('html')[0]; |
157 | wipeAttributes(htmlTagDoc); | 157 | wipeAttributes(htmlTagDoc); |
158 | // | ||
158 | for (var m in htmlTagMem.attributes) { | 159 | for (var m in htmlTagMem.attributes) { |
159 | if (htmlTagMem.attributes[m].value) { | 160 | if (htmlTagMem.attributes[m].value) { |
160 | if (htmlTagMem.attributes[m].value.replace(/montage-app-bootstrapping/gi, '').length>0) { | 161 | if (htmlTagMem.attributes[m].value.replace(/montage-app-bootstrapping/gi, '').length>0) { |
@@ -162,16 +163,33 @@ exports.TemplateDocumentMediator = Montage.create(Component, { | |||
162 | } | 163 | } |
163 | } | 164 | } |
164 | } | 165 | } |
166 | // | ||
167 | if (htmlTagMem && htmlTagMem.getAttribute('data-ninja-style') !== null) { | ||
168 | htmlTagDoc.setAttribute('style', htmlTagMem.getAttribute('data-ninja-style')); | ||
169 | htmlTagDoc.removeAttribute('data-ninja-style'); | ||
170 | } else if (htmlTagMem && htmlTagMem.getAttribute('data-ninja-style') === null) { | ||
171 | htmlTagDoc.removeAttribute('style'); | ||
172 | htmlTagDoc.removeAttribute('data-ninja-style'); | ||
173 | } | ||
165 | //Getting list of current nodes (Ninja DOM) | 174 | //Getting list of current nodes (Ninja DOM) |
166 | presentNodes = template.file.content.document.getElementsByTagName('*'); | 175 | presentNodes = template.file.content.document.getElementsByTagName('*'); |
167 | //Looping through nodes to determine origin and removing if not inserted by Ninja | 176 | //Looping through nodes to determine origin and removing if not inserted by Ninja |
168 | for (var n in presentNodes) { | 177 | for (var n in presentNodes) { |
178 | // | ||
169 | if (presentNodes[n].getAttribute && presentNodes[n].getAttribute('data-ninja-node') === null) { | 179 | if (presentNodes[n].getAttribute && presentNodes[n].getAttribute('data-ninja-node') === null) { |
170 | toremovetags.push(presentNodes[n]); | 180 | toremovetags.push(presentNodes[n]); |
171 | } else if (presentNodes[n].getAttribute && presentNodes[n].getAttribute('data-ninja-node') !== null) { | 181 | } else if (presentNodes[n].getAttribute && presentNodes[n].getAttribute('data-ninja-node') !== null) { |
172 | //Removing attribute | 182 | //Removing attribute |
173 | presentNodes[n].removeAttribute('data-ninja-node'); | 183 | presentNodes[n].removeAttribute('data-ninja-node'); |
174 | } | 184 | } |
185 | // | ||
186 | if (presentNodes[n].getAttribute && presentNodes[n].getAttribute('data-ninja-style') !== null) { | ||
187 | presentNodes[n].setAttribute('style', presentNodes[n].getAttribute('data-ninja-style')); | ||
188 | presentNodes[n].removeAttribute('data-ninja-style'); | ||
189 | } else if (presentNodes[n].getAttribute && presentNodes[n].getAttribute('data-ninja-style') === null) { | ||
190 | presentNodes[n].removeAttribute('style'); | ||
191 | presentNodes[n].removeAttribute('data-ninja-style'); | ||
192 | } | ||
175 | } | 193 | } |
176 | //Getting all CSS (style or link) tags | 194 | //Getting all CSS (style or link) tags |
177 | var styletags = template.file.content.document.getElementsByTagName('style'), | 195 | var styletags = template.file.content.document.getElementsByTagName('style'), |