aboutsummaryrefslogtreecommitdiff
path: root/js/mediators/io-mediator.js
diff options
context:
space:
mode:
authorJose Antonio Marquez2012-05-09 16:28:13 -0700
committerJose Antonio Marquez2012-05-09 16:28:13 -0700
commit3811f72f8cd8caaa2d13fa695b918f25facb85c5 (patch)
tree4198a41aacf42d16d2d0c75574c98d4ec299390e /js/mediators/io-mediator.js
parent258f006074616f1c654125059e73d94752afb896 (diff)
downloadninja-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/io-mediator.js')
-rw-r--r--js/mediators/io-mediator.js40
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//
16exports.IoMediator = Montage.create(Component, { 16exports.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 /*
233var 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) { 492for (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 ////////////////////////////////////////////////////////////////////