diff options
Diffstat (limited to 'js/document')
-rwxr-xr-x | js/document/document-html.js | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/js/document/document-html.js b/js/document/document-html.js index 5079cfca..b7dacf6a 100755 --- a/js/document/document-html.js +++ b/js/document/document-html.js | |||
@@ -76,7 +76,7 @@ exports.HtmlDocument = Montage.create(Component, { | |||
76 | //////////////////////////////////////////////////////////////////// | 76 | //////////////////////////////////////////////////////////////////// |
77 | // | 77 | // |
78 | init: { | 78 | init: { |
79 | value:function(file, context, callback, view, template) { | 79 | value: function(file, context, callback, view, template) { |
80 | //Storing callback data for loaded dispatch | 80 | //Storing callback data for loaded dispatch |
81 | this.loaded.callback = callback; | 81 | this.loaded.callback = callback; |
82 | this.loaded.context = context; | 82 | this.loaded.context = context; |
@@ -122,6 +122,44 @@ exports.HtmlDocument = Montage.create(Component, { | |||
122 | } | 122 | } |
123 | }, | 123 | }, |
124 | //////////////////////////////////////////////////////////////////// | 124 | //////////////////////////////////////////////////////////////////// |
125 | //TODO: Make into one method to use here and one init | ||
126 | reloadView: { | ||
127 | value: function (view, template) { | ||
128 | // | ||
129 | this.model.parentContainer.removeChild(this.model.views.design.iframe); | ||
130 | //Initiliazing views and hiding | ||
131 | if (this.model.views.design.initialize(this.model.parentContainer)) { | ||
132 | //Hiding iFrame, just initiliazing | ||
133 | this.model.views.design.hide(); | ||
134 | //Setting the iFrame property for reference in helper class | ||
135 | this.model.webGlHelper.iframe = this.model.views.design.iframe; | ||
136 | } else { | ||
137 | //ERROR: Design View not initialized | ||
138 | } | ||
139 | // | ||
140 | if (view === 'design') { | ||
141 | //TODO: Remove reference and use as part of model | ||
142 | this.currentView = 'design'; | ||
143 | //Setting current view object to design | ||
144 | this.model.currentView = this.model.views.design; | ||
145 | //Showing design iFrame | ||
146 | this.model.views.design.show(); | ||
147 | this.model.views.design.iframe.style.opacity = 0; | ||
148 | this.model.views.design.content = this.model.file.content; | ||
149 | //TODO: Improve reference (probably through binding values) | ||
150 | this.model.views.design._webGlHelper = this.model.webGlHelper; | ||
151 | //Rendering design view, using observers to know when template is ready | ||
152 | this.model.views.design.render(function () { | ||
153 | //Adding observer to know when template is ready | ||
154 | this._observer = new WebKitMutationObserver(this.handleTemplateReady.bind(this)); | ||
155 | this._observer.observe(this.model.views.design.document.head, {childList: true}); | ||
156 | }.bind(this), template, {viewCallback: this.handleViewReady, context: this}); | ||
157 | } else { | ||
158 | //TODO: Identify default view (probably code) | ||
159 | } | ||
160 | } | ||
161 | }, | ||
162 | //////////////////////////////////////////////////////////////////// | ||
125 | // | 163 | // |
126 | handleTemplateReady: { | 164 | handleTemplateReady: { |
127 | value: function (e) { | 165 | value: function (e) { |
@@ -140,7 +178,6 @@ exports.HtmlDocument = Montage.create(Component, { | |||
140 | if(typeof this.model.domContainer !== "undefined") { | 178 | if(typeof this.model.domContainer !== "undefined") { |
141 | this.model.domContainer = this.model.documentRoot; | 179 | this.model.domContainer = this.model.documentRoot; |
142 | } | 180 | } |
143 | |||
144 | //Making callback after view is loaded | 181 | //Making callback after view is loaded |
145 | this.loaded.callback.call(this.loaded.context, this); | 182 | this.loaded.callback.call(this.loaded.context, this); |
146 | } | 183 | } |