diff options
author | Nivesh Rajbhandari | 2012-05-24 13:54:00 -0700 |
---|---|---|
committer | Nivesh Rajbhandari | 2012-05-24 13:54:00 -0700 |
commit | fd4af6d81725dfa0630ac5e52ba95405336f4074 (patch) | |
tree | 868197f79862e98b9c7f5a1f296d64832c68d48f /js/document | |
parent | de25d2b7d05476d4f0d385b5e910db189f682d21 (diff) | |
parent | 70ff8dd670bc37c14caf850e06791d1e293b1e4b (diff) | |
download | ninja-fd4af6d81725dfa0630ac5e52ba95405336f4074.tar.gz |
Merge branch 'refs/heads/dom-architecture-master' into Dom-Architecture
Diffstat (limited to 'js/document')
-rwxr-xr-x | js/document/_toDelete/html-document.js (renamed from js/document/html-document.js) | 0 | ||||
-rwxr-xr-x | js/document/_toDelete/text-document.js (renamed from js/document/text-document.js) | 0 | ||||
-rwxr-xr-x | js/document/document-html.js | 34 | ||||
-rwxr-xr-x | js/document/models/html.js | 5 | ||||
-rwxr-xr-x | js/document/views/base.js | 2 | ||||
-rwxr-xr-x | js/document/views/design.js | 15 |
6 files changed, 27 insertions, 29 deletions
diff --git a/js/document/html-document.js b/js/document/_toDelete/html-document.js index 447d90e3..447d90e3 100755 --- a/js/document/html-document.js +++ b/js/document/_toDelete/html-document.js | |||
diff --git a/js/document/text-document.js b/js/document/_toDelete/text-document.js index 2574b67c..2574b67c 100755 --- a/js/document/text-document.js +++ b/js/document/_toDelete/text-document.js | |||
diff --git a/js/document/document-html.js b/js/document/document-html.js index 2fc32791..c60a12a2 100755 --- a/js/document/document-html.js +++ b/js/document/document-html.js | |||
@@ -6,10 +6,10 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
6 | 6 | ||
7 | //////////////////////////////////////////////////////////////////////// | 7 | //////////////////////////////////////////////////////////////////////// |
8 | // | 8 | // |
9 | var Montage = require("montage/core/core").Montage, | 9 | var Montage = require("montage/core/core").Montage, |
10 | Component = require("montage/ui/component").Component, | 10 | Component = require("montage/ui/component").Component, |
11 | HtmlDocumentModel = require("js/document/models/html").HtmlDocumentModel, | 11 | HtmlDocumentModel = require("js/document/models/html").HtmlDocumentModel, |
12 | DesignDocumentView = require("js/document/views/design").DesignDocumentView; | 12 | DesignDocumentView = require("js/document/views/design").DesignDocumentView; |
13 | //////////////////////////////////////////////////////////////////////// | 13 | //////////////////////////////////////////////////////////////////////// |
14 | // | 14 | // |
15 | exports.HtmlDocument = Montage.create(Component, { | 15 | exports.HtmlDocument = Montage.create(Component, { |
@@ -33,15 +33,10 @@ exports.HtmlDocument = Montage.create(Component, { | |||
33 | _observer: { | 33 | _observer: { |
34 | value: null | 34 | value: null |
35 | }, | 35 | }, |
36 | //////////////////////////////////////////////////////////////////// | ||
37 | // | ||
38 | _document: { | ||
39 | value: null //TODO: Figure out if this will be needed, probably not | ||
40 | }, | ||
41 | //////////////////////////////////////////////////////////////////// | 36 | //////////////////////////////////////////////////////////////////// |
42 | // | 37 | // |
43 | exclusionList: { | 38 | exclusionList: { |
44 | value: ["HTML", "BODY", "NINJA-CONTENT"] //TODO: Update to correct list | 39 | value: ["HTML", "BODY", "NINJA-CONTENT"] |
45 | }, | 40 | }, |
46 | //////////////////////////////////////////////////////////////////// | 41 | //////////////////////////////////////////////////////////////////// |
47 | // | 42 | // |
@@ -72,7 +67,7 @@ exports.HtmlDocument = Montage.create(Component, { | |||
72 | //Hiding iFrame, just initiliazing | 67 | //Hiding iFrame, just initiliazing |
73 | this.model.views.design.hide(); | 68 | this.model.views.design.hide(); |
74 | } else { | 69 | } else { |
75 | //ERROR: Design View not initilized | 70 | //ERROR: Design View not initialized |
76 | } | 71 | } |
77 | // | 72 | // |
78 | if (view === 'design') { | 73 | if (view === 'design') { |
@@ -84,23 +79,10 @@ exports.HtmlDocument = Montage.create(Component, { | |||
84 | this.model.views.design.show(); | 79 | this.model.views.design.show(); |
85 | this.model.views.design.iframe.style.opacity = 0; | 80 | this.model.views.design.iframe.style.opacity = 0; |
86 | this.model.views.design.content = this.model.file.content; | 81 | this.model.views.design.content = this.model.file.content; |
87 | //TODO: Improve reference | 82 | //TODO: Improve reference (probably through binding values) |
88 | this.model.views.design.model = this.model; | 83 | this.model.views.design.model = this.model; |
89 | // | 84 | //Rendering design view, using observers to know when template is ready |
90 | //TODO: Clean up | ||
91 | this.model.views.design.render(function () { | 85 | this.model.views.design.render(function () { |
92 | //TODO: Identify and remove usage of '_document' | ||
93 | this._document = this.model.views.design.document; | ||
94 | //TODO: Remove usage, seems as not needed | ||
95 | if (template && template.type === 'banner') { | ||
96 | this.documentRoot = this.model.views.design.document.body.getElementsByTagName('ninja-content')[0]; | ||
97 | } else { | ||
98 | this.documentRoot = this.model.views.design.document.body; | ||
99 | } | ||
100 | //TODO: Why is this needed? | ||
101 | this.model.views.design._liveNodeList = this.documentRoot.getElementsByTagName('*'); | ||
102 | //Initiliazing document model | ||
103 | document.application.njUtils.makeElementModel(this.documentRoot, "Body", "body"); | ||
104 | //Adding observer to know when template is ready | 86 | //Adding observer to know when template is ready |
105 | this._observer = new WebKitMutationObserver(this.handleTemplateReady.bind(this)); | 87 | this._observer = new WebKitMutationObserver(this.handleTemplateReady.bind(this)); |
106 | this._observer.observe(this.model.views.design.document.head, {childList: true}); | 88 | this._observer.observe(this.model.views.design.document.head, {childList: true}); |
diff --git a/js/document/models/html.js b/js/document/models/html.js index 9cc8ce92..fd42d4de 100755 --- a/js/document/models/html.js +++ b/js/document/models/html.js | |||
@@ -64,6 +64,11 @@ exports.HtmlDocumentModel = Montage.create(BaseDocumentModel, { | |||
64 | userComponents: { | 64 | userComponents: { |
65 | value: {} | 65 | value: {} |
66 | }, | 66 | }, |
67 | //////////////////////////////////////////////////////////////////// | ||
68 | // | ||
69 | documentRoot: { | ||
70 | value: null | ||
71 | }, | ||
67 | //////////////////////////////////////////////////////////////////// | 72 | //////////////////////////////////////////////////////////////////// |
68 | //Add a reference to a component instance to the userComponents hash using the element UUID | 73 | //Add a reference to a component instance to the userComponents hash using the element UUID |
69 | setComponentInstance: { | 74 | setComponentInstance: { |
diff --git a/js/document/views/base.js b/js/document/views/base.js index db72cc60..d13dce1a 100755 --- a/js/document/views/base.js +++ b/js/document/views/base.js | |||
@@ -28,7 +28,7 @@ exports.BaseDocumentView = Montage.create(Component, { | |||
28 | value: null | 28 | value: null |
29 | }, | 29 | }, |
30 | //////////////////////////////////////////////////////////////////// | 30 | //////////////////////////////////////////////////////////////////// |
31 | // | 31 | //TODO: This should be renamed to better illustrate it's a container (iframe for design, div for code view) |
32 | iframe: { | 32 | iframe: { |
33 | get: function() {return this._iframe;}, | 33 | get: function() {return this._iframe;}, |
34 | set: function(value) {this._iframe= value;} | 34 | set: function(value) {this._iframe= value;} |
diff --git a/js/document/views/design.js b/js/document/views/design.js index 13f89692..d772aa86 100755 --- a/js/document/views/design.js +++ b/js/document/views/design.js | |||
@@ -113,7 +113,7 @@ exports.DesignDocumentView = Montage.create(BaseDocumentView, { | |||
113 | render: { | 113 | render: { |
114 | value: function (callback, template) { | 114 | value: function (callback, template) { |
115 | //TODO: Remove, this is a temp patch for webRequest API gate | 115 | //TODO: Remove, this is a temp patch for webRequest API gate |
116 | this.application.ninja.documentController._hackRootFlag = false; | 116 | this.application.ninja.documentController.redirectRequests = false; |
117 | //Storing callback for dispatch ready | 117 | //Storing callback for dispatch ready |
118 | this._callback = callback; | 118 | this._callback = callback; |
119 | this._template = template; | 119 | this._template = template; |
@@ -131,7 +131,8 @@ exports.DesignDocumentView = Montage.create(BaseDocumentView, { | |||
131 | // | 131 | // |
132 | onTemplateLoad: { | 132 | onTemplateLoad: { |
133 | value: function (e) { | 133 | value: function (e) { |
134 | this.application.ninja.documentController._hackRootFlag = true; | 134 | //console.log(this.iframe.contentWindow); |
135 | this.application.ninja.documentController.redirectRequests = true; | ||
135 | //TODO: Add support to constructing URL with a base HREF | 136 | //TODO: Add support to constructing URL with a base HREF |
136 | var basetag = this.content.document.getElementsByTagName('base'); | 137 | var basetag = this.content.document.getElementsByTagName('base'); |
137 | //Removing event | 138 | //Removing event |
@@ -279,6 +280,16 @@ exports.DesignDocumentView = Montage.create(BaseDocumentView, { | |||
279 | } else { | 280 | } else { |
280 | //Else there is not data to parse | 281 | //Else there is not data to parse |
281 | } | 282 | } |
283 | //TODO: Verify appropiate location for this operation | ||
284 | if (this._template && this._template.type === 'banner') { | ||
285 | this.model.documentRoot = this.document.body.getElementsByTagName('ninja-content')[0]; | ||
286 | } else { | ||
287 | this.model.documentRoot = this.document.body; | ||
288 | } | ||
289 | //Storing node list for reference (might need to store in the model) | ||
290 | this._liveNodeList = this.model.documentRoot.getElementsByTagName('*'); | ||
291 | //Initiliazing document model | ||
292 | document.application.njUtils.makeElementModel(this.model.documentRoot, "Body", "body"); | ||
282 | //Makign callback if specified | 293 | //Makign callback if specified |
283 | if (this._callback) this._callback(); | 294 | if (this._callback) this._callback(); |
284 | } | 295 | } |