diff options
author | Jose Antonio Marquez | 2012-05-09 16:28:13 -0700 |
---|---|---|
committer | Jose Antonio Marquez | 2012-05-09 16:28:13 -0700 |
commit | 3811f72f8cd8caaa2d13fa695b918f25facb85c5 (patch) | |
tree | 4198a41aacf42d16d2d0c75574c98d4ec299390e /js/mediators | |
parent | 258f006074616f1c654125059e73d94752afb896 (diff) | |
download | ninja-3811f72f8cd8caaa2d13fa695b918f25facb85c5.tar.gz |
Preliminary Montage Template Cleanup
The template creator is currently not returning serializing code, but does clean the document. Need to investigate reason why, currently all components are removed on save.
Diffstat (limited to 'js/mediators')
-rw-r--r-- | js/mediators/io-mediator.js | 40 |
1 files changed, 30 insertions, 10 deletions
diff --git a/js/mediators/io-mediator.js b/js/mediators/io-mediator.js index 6d146c97..cf44ab9d 100644 --- a/js/mediators/io-mediator.js +++ b/js/mediators/io-mediator.js | |||
@@ -10,7 +10,7 @@ var Montage = require("montage/core/core").Montage, | |||
10 | Component = require("montage/ui/component").Component, | 10 | Component = require("montage/ui/component").Component, |
11 | FileIo = require("js/io/system/fileio").FileIo, | 11 | FileIo = require("js/io/system/fileio").FileIo, |
12 | ProjectIo = require("js/io/system/projectio").ProjectIo, | 12 | ProjectIo = require("js/io/system/projectio").ProjectIo, |
13 | TemplateCreator = require("node_modules/tools/template-creator").TemplateCreator; | 13 | TemplateCreator = require("node_modules/tools/template/template-creator").TemplateCreator; |
14 | //////////////////////////////////////////////////////////////////////// | 14 | //////////////////////////////////////////////////////////////////////// |
15 | // | 15 | // |
16 | exports.IoMediator = Montage.create(Component, { | 16 | exports.IoMediator = Montage.create(Component, { |
@@ -203,20 +203,38 @@ exports.IoMediator = Montage.create(Component, { | |||
203 | var regexRootUrl, rootUrl = this.application.ninja.coreIoApi.rootUrl + escape((this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1])); | 203 | var regexRootUrl, rootUrl = this.application.ninja.coreIoApi.rootUrl + escape((this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1])); |
204 | regexRootUrl = new RegExp(rootUrl.replace(/\//gi, '\\\/'), 'gi'); | 204 | regexRootUrl = new RegExp(rootUrl.replace(/\//gi, '\\\/'), 'gi'); |
205 | //Injecting head and body into old document | 205 | //Injecting head and body into old document |
206 | template.file.content.document.head.innerHTML = template.head.innerHTML.replace(regexRootUrl, ''); | 206 | //template.file.content.document.head.innerHTML = template.head.innerHTML.replace(regexRootUrl, ''); |
207 | template.file.content.document.body.innerHTML = template.body.innerHTML.replace(regexRootUrl, ''); | 207 | //template.file.content.document.body.innerHTML = template.body.innerHTML.replace(regexRootUrl, ''); |
208 | |||
209 | |||
210 | |||
211 | //Testing using montage clean up method | ||
212 | var mjscode, mjsTemp = TemplateCreator.create(); | ||
213 | |||
214 | //mjscode = mjsTemp.initWithHeadAndBodyElements(template.head, template.body); | ||
215 | mjscode = mjsTemp.initWithDocument(template.file.content.document); | ||
216 | |||
217 | console.log(template.head, mjscode._document.head); | ||
218 | template.file.content.document.head.innerHTML = mjscode._document.head.innerHTML.replace(regexRootUrl, ''); | ||
219 | template.file.content.document.body.innerHTML = mjscode._document.body.innerHTML.replace(regexRootUrl, ''); | ||
220 | |||
221 | |||
222 | |||
223 | |||
208 | //Getting all CSS (style or link) tags | 224 | //Getting all CSS (style or link) tags |
209 | var styletags = template.file.content.document.getElementsByTagName('style'), | 225 | var styletags = template.file.content.document.getElementsByTagName('style'), |
210 | linktags = template.file.content.document.getElementsByTagName('link'), | 226 | linktags = template.file.content.document.getElementsByTagName('link'), |
211 | toremovetags = [], | 227 | toremovetags = [], |
212 | njtemplatetags = template.file.content.document.querySelectorAll('[data-ninja-template]'), | 228 | njtemplatetags = template.file.content.document.querySelectorAll('[data-ninja-template]'); |
213 | basetags = template.file.content.document.getElementsByTagName('base'); | ||
214 | 229 | ||
215 | ////////////////////////////////////////////////// | 230 | ////////////////////////////////////////////////// |
216 | //TODO: Remove, temp hack to avoid montage | 231 | //TODO: Remove, temp hack, this is to be fixed by Montage |
232 | /* | ||
233 | var basetags = template.file.content.document.getElementsByTagName('base'); | ||
217 | for (var g in basetags) { | 234 | for (var g in basetags) { |
218 | if (basetags[g].getAttribute) toremovetags.push(basetags[g]); | 235 | if (basetags[g].getAttribute) toremovetags.push(basetags[g]); |
219 | } | 236 | } |
237 | */ | ||
220 | ////////////////////////////////////////////////// | 238 | ////////////////////////////////////////////////// |
221 | 239 | ||
222 | // | 240 | // |
@@ -469,9 +487,9 @@ function loadWebGL (e) {\n\ | |||
469 | 487 | ||
470 | 488 | ||
471 | // | 489 | // |
472 | var mjsCounter = 0, mjsComponents = [], temp = TemplateCreator.create(); | 490 | |
473 | // | 491 | /* |
474 | for (var m in template.mjs) { | 492 | for (var m in template.mjs) { |
475 | mjsComponents.push(template.mjs[m]); | 493 | mjsComponents.push(template.mjs[m]); |
476 | mjsCounter++; | 494 | mjsCounter++; |
477 | } | 495 | } |
@@ -509,6 +527,7 @@ function loadWebGL (e) {\n\ | |||
509 | // | 527 | // |
510 | mjstag.innerHTML = mjscode; | 528 | mjstag.innerHTML = mjscode; |
511 | } | 529 | } |
530 | */ | ||
512 | 531 | ||
513 | 532 | ||
514 | 533 | ||
@@ -570,7 +589,8 @@ function loadWebGL (e) {\n\ | |||
570 | // | 589 | // |
571 | getDocRootUrl: { | 590 | getDocRootUrl: { |
572 | value: function () { | 591 | value: function () { |
573 | return this.application.ninja.coreIoApi.rootUrl + escape((this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]).replace(/\/\//gi, '/')); | 592 | //TODO: Add support for model.baseHref (base tag) |
593 | return this.application.ninja.coreIoApi.rootUrl + escape((this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]).replace(/\/\//gi, '/')); | ||
574 | } | 594 | } |
575 | }, | 595 | }, |
576 | //////////////////////////////////////////////////////////////////// | 596 | //////////////////////////////////////////////////////////////////// |