diff options
author | Nivesh Rajbhandari | 2012-05-09 18:13:07 -0700 |
---|---|---|
committer | Nivesh Rajbhandari | 2012-05-09 18:13:07 -0700 |
commit | 454ba956b0d6f48d37a5ad3f50eb00aaaaa7271b (patch) | |
tree | b3826880c843435cdaf2d8981400909127466313 /js/document | |
parent | 9ff89d41048d056ddab4c15b4e9e74bc5417c883 (diff) | |
parent | 2e9a6b271439d934439514f6386424567853f93c (diff) | |
download | ninja-454ba956b0d6f48d37a5ad3f50eb00aaaaa7271b.tar.gz |
Merge branch 'refs/heads/dom-architecture-master' into Dom-Architecture
Diffstat (limited to 'js/document')
-rwxr-xr-x | js/document/models/html.js | 28 | ||||
-rwxr-xr-x | js/document/views/design.js | 14 |
2 files changed, 42 insertions, 0 deletions
diff --git a/js/document/models/html.js b/js/document/models/html.js index 1639a8e2..b57ff832 100755 --- a/js/document/models/html.js +++ b/js/document/models/html.js | |||
@@ -24,8 +24,36 @@ 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 |
34 | }, | ||
35 | //////////////////////////////////////////////////////////////////// | ||
36 | // | ||
37 | userComponents: { | ||
38 | value: {} | ||
39 | }, | ||
40 | //////////////////////////////////////////////////////////////////// | ||
41 | //Add a reference to a component instance to the userComponents hash using the element UUID | ||
42 | setComponentInstance: { | ||
43 | value: function(instance, el) { | ||
44 | this.userComponents[el.uuid] = instance; | ||
45 | } | ||
46 | }, | ||
47 | //////////////////////////////////////////////////////////////////// | ||
48 | //Returns the component instance obj from the element | ||
49 | getComponentFromElement: { | ||
50 | value: function(el) { | ||
51 | if(el) { | ||
52 | if(el.uuid) return this.userComponents[el.uuid]; | ||
53 | } else { | ||
54 | return null; | ||
55 | } | ||
56 | } | ||
29 | } | 57 | } |
30 | //////////////////////////////////////////////////////////////////// | 58 | //////////////////////////////////////////////////////////////////// |
31 | //////////////////////////////////////////////////////////////////// | 59 | //////////////////////////////////////////////////////////////////// |
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 |