aboutsummaryrefslogtreecommitdiff
path: root/js/document
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/document
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/document')
-rwxr-xr-xjs/document/models/html.js25
-rwxr-xr-xjs/document/views/design.js14
2 files changed, 27 insertions, 12 deletions
diff --git a/js/document/models/html.js b/js/document/models/html.js
index 2764a6d6..b57ff832 100755
--- a/js/document/models/html.js
+++ b/js/document/models/html.js
@@ -24,28 +24,28 @@ exports.HtmlDocumentModel = Montage.create(BaseDocumentModel, {
24 }, 24 },
25 //////////////////////////////////////////////////////////////////// 25 ////////////////////////////////////////////////////////////////////
26 // 26 //
27 baseHref: {
28 value: null
29 },
30 ////////////////////////////////////////////////////////////////////
31 //
27 webGlHelper: { 32 webGlHelper: {
28 value: webGlDocumentHelper 33 value: webGlDocumentHelper
29 }, 34 },
30 //////////////////////////////////////////////////////////////////// 35 ////////////////////////////////////////////////////////////////////
31 //////////////////////////////////////////////////////////////////// 36 //
32 userComponents: { 37 userComponents: {
33 value: {} 38 value: {}
34 }, 39 },
35 40 ////////////////////////////////////////////////////////////////////
36 /** 41 //Add a reference to a component instance to the userComponents hash using the element UUID
37 * Add a reference to a component instance to the userComponents hash using the
38 * element UUID
39 */
40 setComponentInstance: { 42 setComponentInstance: {
41 value: function(instance, el) { 43 value: function(instance, el) {
42 this.userComponents[el.uuid] = instance; 44 this.userComponents[el.uuid] = instance;
43 } 45 }
44 }, 46 },
45 47 ////////////////////////////////////////////////////////////////////
46 /** 48 //Returns the component instance obj from the element
47 * Returns the component instance obj from the element
48 */
49 getComponentFromElement: { 49 getComponentFromElement: {
50 value: function(el) { 50 value: function(el) {
51 if(el) { 51 if(el) {
@@ -55,7 +55,8 @@ exports.HtmlDocumentModel = Montage.create(BaseDocumentModel, {
55 } 55 }
56 } 56 }
57 } 57 }
58 58 ////////////////////////////////////////////////////////////////////
59 ////////////////////////////////////////////////////////////////////
59}); 60});
60//////////////////////////////////////////////////////////////////////// 61////////////////////////////////////////////////////////////////////////
61//////////////////////////////////////////////////////////////////////// \ No newline at end of file 62//////////////////////////////////////////////////////////////////////// \ No newline at end of file
diff --git a/js/document/views/design.js b/js/document/views/design.js
index 9ad088cb..765099e6 100755
--- a/js/document/views/design.js
+++ b/js/document/views/design.js
@@ -42,6 +42,11 @@ exports.DesignDocumentView = Montage.create(BaseDocumentView, {
42 value: null 42 value: null
43 }, 43 },
44 //////////////////////////////////////////////////////////////////// 44 ////////////////////////////////////////////////////////////////////
45 //TODO: Remove usage
46 model: {
47 value: null
48 },
49 ////////////////////////////////////////////////////////////////////
45 // 50 //
46 document: { 51 document: {
47 get: function() {return this._document;}, 52 get: function() {return this._document;},
@@ -78,6 +83,8 @@ exports.DesignDocumentView = Montage.create(BaseDocumentView, {
78 // 83 //
79 onTemplateLoad: { 84 onTemplateLoad: {
80 value: function (e) { 85 value: function (e) {
86 //TODO: Add support to constructing URL with a base HREF
87 var basetag = this.content.document.getElementsByTagName('base');
81 //Removing event 88 //Removing event
82 this.iframe.removeEventListener("load", this.onTemplateLoad.bind(this), false); 89 this.iframe.removeEventListener("load", this.onTemplateLoad.bind(this), false);
83 //TODO: Improve usage of this reference 90 //TODO: Improve usage of this reference
@@ -88,6 +95,13 @@ exports.DesignDocumentView = Montage.create(BaseDocumentView, {
88 this.document.styleSheets[k].ownerNode.setAttribute('data-ninja-template', 'true'); 95 this.document.styleSheets[k].ownerNode.setAttribute('data-ninja-template', 'true');
89 } 96 }
90 } 97 }
98 //Checking for a base URL
99 if (basetag.length) {
100 if (basetag[basetag.length-1].getAttribute && basetag[basetag.length-1].getAttribute('href')) {
101 //Setting base HREF in model
102 this.model.baseHref = basetag[basetag.length-1].getAttribute('href');
103 }
104 }
91 //Creating temp code fragement to load head 105 //Creating temp code fragement to load head
92 this._headFragment = this.document.createElement('head'); 106 this._headFragment = this.document.createElement('head');
93 //Adding event listener to know when head is ready, event only dispatched once when using innerHTML 107 //Adding event listener to know when head is ready, event only dispatched once when using innerHTML