diff options
Diffstat (limited to 'js/controllers/document-controller.js')
-rwxr-xr-x | js/controllers/document-controller.js | 26 |
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 | } |