aboutsummaryrefslogtreecommitdiff
path: root/js/document
diff options
context:
space:
mode:
Diffstat (limited to 'js/document')
-rwxr-xr-xjs/document/document-html.js41
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 }