aboutsummaryrefslogtreecommitdiff
path: root/js/controllers/document-controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/controllers/document-controller.js')
-rwxr-xr-xjs/controllers/document-controller.js26
1 files changed, 22 insertions, 4 deletions
diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js
index 588481bb..83c1f58c 100755
--- a/js/controllers/document-controller.js
+++ b/js/controllers/document-controller.js
@@ -68,7 +68,7 @@ exports.DocumentController = Montage.create(Component, {
68 return; 68 return;
69 } 69 }
70 70
71 if(this._currentDocument) { 71 if(this._currentDocument && this._currentDocument.model.currentView) {
72 this._currentDocument.model.currentView.hide(); 72 this._currentDocument.model.currentView.hide();
73 } 73 }
74 74
@@ -80,17 +80,35 @@ exports.DocumentController = Montage.create(Component, {
80 } else if(this._currentDocument.currentView === "design") { 80 } else if(this._currentDocument.currentView === "design") {
81 document.getElementById("codeViewContainer").style.display = "none"; 81 document.getElementById("codeViewContainer").style.display = "none";
82 document.getElementById("iframeContainer").style.display = "block"; 82 document.getElementById("iframeContainer").style.display = "block";
83 this._currentDocument.model.currentView.show(); 83 this._currentDocument.addPropertyChangeListener("model.currentViewIdentifier", this, false);
84 if (this._currentDocument.model.currentView) this._currentDocument.model.currentView.show();
84 this._currentDocument.model.views.design._liveNodeList = this._currentDocument.model.documentRoot.getElementsByTagName('*'); 85 this._currentDocument.model.views.design._liveNodeList = this._currentDocument.model.documentRoot.getElementsByTagName('*');
85 } else { 86 } else {
86 document.getElementById("iframeContainer").style.display = "none"; 87 document.getElementById("iframeContainer").style.display = "none";
87 this._currentDocument.model.parentContainer.style["display"] = "block"; 88 this._currentDocument.model.parentContainer.style["display"] = "block";
88 this._currentDocument.model.currentView.show(); 89 if (this._currentDocument.model.currentView) this._currentDocument.model.currentView.show();
89 } 90 }
90 91
91 } 92 }
92 }, 93 },
93 94
95 handleChange: {
96 value: function(notification) {
97 if(notification.currentPropertyPath === "model.currentViewIdentifier") {
98 if(this.currentDocument.model.currentView.identifier === "design-code") {
99// document.getElementById("iframeContainer").style.display = "none";
100// this._currentDocument.model.parentContainer.style["display"] = "block";
101// if (this._currentDocument.model.currentView) this._currentDocument.model.currentView.show();
102 } else {
103 document.getElementById("codeViewContainer").style.display = "none";
104 document.getElementById("iframeContainer").style.display = "block";
105 if (this._currentDocument.model.currentView) this._currentDocument.model.currentView.show();
106 this._currentDocument.model.views.design._liveNodeList = this._currentDocument.model.documentRoot.getElementsByTagName('*');
107 }
108 }
109 }
110 },
111
94 deserializedFromTemplate: { 112 deserializedFromTemplate: {
95 value: function() { //TODO: Add event naming consistency (save, fileOpen and newFile should be consistent, all file events should be executeFile[operation name]) 113 value: function() { //TODO: Add event naming consistency (save, fileOpen and newFile should be consistent, all file events should be executeFile[operation name])
96 this.eventManager.addEventListener("appLoaded", this, false); 114 this.eventManager.addEventListener("appLoaded", this, false);
@@ -356,7 +374,7 @@ exports.DocumentController = Montage.create(Component, {
356 break; 374 break;
357 default: 375 default:
358 //Open in code view 376 //Open in code view
359 Montage.create(TextDocument).init(file, this.application.ninja, this.application.ninja.openDocument, 'code'); 377 Montage.create(TextDocument).init(file, this.application.ninja, this.application.ninja.openDocument, 'code', document.getElementById("codeViewContainer"));
360 break; 378 break;
361 } 379 }
362 } 380 }