aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xjs/components/layout/document-bar.reel/document-bar.js13
-rwxr-xr-xjs/document/document-html.js41
2 files changed, 51 insertions, 3 deletions
diff --git a/js/components/layout/document-bar.reel/document-bar.js b/js/components/layout/document-bar.reel/document-bar.js
index 1a580284..dbb4fcad 100755
--- a/js/components/layout/document-bar.reel/document-bar.js
+++ b/js/components/layout/document-bar.reel/document-bar.js
@@ -171,6 +171,14 @@ exports.DocumentBar = Montage.create(Component, {
171 }, 171 },
172 //////////////////////////////////////////////////////////////////// 172 ////////////////////////////////////////////////////////////////////
173 // 173 //
174 renderDesignView: {
175 value: function () {
176 //Reloading in design view (with updates from other view)
177 this.reloadView('design', this.fileTemplate);
178 }
179 },
180 ////////////////////////////////////////////////////////////////////
181 //
174 showViewDesign: { 182 showViewDesign: {
175 value: function () { 183 value: function () {
176 // 184 //
@@ -179,11 +187,14 @@ exports.DocumentBar = Montage.create(Component, {
179 this._currentDocument.model.switchViewTo('design'); 187 this._currentDocument.model.switchViewTo('design');
180 this.btnCode.setAttribute('class', 'inactive'); 188 this.btnCode.setAttribute('class', 'inactive');
181 this.btnDesign.removeAttribute('class'); 189 this.btnDesign.removeAttribute('class');
190 //this._currentDocument.model.file.content.body = '<div class="test">hello</div><div class="test">hello</div>';
191 var render = this.renderDesignView.bind(this._currentDocument);
192 render();
182 } 193 }
183 } 194 }
184 }, 195 },
185 //////////////////////////////////////////////////////////////////// 196 ////////////////////////////////////////////////////////////////////
186 // 197 //TODO: Implement code with that updates the file template through the ninja document parser
187 showViewCode: { 198 showViewCode: {
188 value: function () { 199 value: function () {
189 // 200 //
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 }