diff options
author | Valerio Virgillito | 2012-07-24 16:56:52 -0700 |
---|---|---|
committer | Valerio Virgillito | 2012-07-24 16:56:52 -0700 |
commit | 8f4a3e260622cd51dfa93b8dfd765f764c80fa6b (patch) | |
tree | 7f5004c61a3486cc0f547cf1e2d3d11183a1e36e /js/document | |
parent | 5454cc462903c83a8c3651065b03cc1855db125e (diff) | |
download | ninja-8f4a3e260622cd51dfa93b8dfd765f764c80fa6b.tar.gz |
adding a viewIdentifier to the model to enable design/code switch
Todo:
- Cleanup and remove listeners
- Finish stage reload
- Add remaining bindings.
Signed-off-by: Valerio Virgillito <valerio@motorola.com>
Diffstat (limited to 'js/document')
-rwxr-xr-x | js/document/document-html.js | 15 | ||||
-rwxr-xr-x | js/document/models/base.js | 15 | ||||
-rwxr-xr-x | js/document/views/code.js | 4 | ||||
-rw-r--r-- | js/document/views/design-code.js | 27 | ||||
-rwxr-xr-x | js/document/views/design.js | 4 |
5 files changed, 35 insertions, 30 deletions
diff --git a/js/document/document-html.js b/js/document/document-html.js index a59f5848..f3163339 100755 --- a/js/document/document-html.js +++ b/js/document/document-html.js | |||
@@ -164,7 +164,7 @@ exports.HtmlDocument = Montage.create(Component, { | |||
164 | //Adding observer to know when template is ready | 164 | //Adding observer to know when template is ready |
165 | this._observer = new WebKitMutationObserver(this.handleTemplateReady.bind(this)); | 165 | this._observer = new WebKitMutationObserver(this.handleTemplateReady.bind(this)); |
166 | this._observer.observe(this.model.views.design.document.head, {childList: true}); | 166 | this._observer.observe(this.model.views.design.document.head, {childList: true}); |
167 | }.bind(this), template, {viewCallback: this.handleViewReady, context: this}); | 167 | }.bind(this), template, {viewCallback: this.handleReloadViewReady, context: this}); |
168 | } else if(view === 'code'){ | 168 | } else if(view === 'code'){ |
169 | //TODO: Add logic to handle external changed files | 169 | //TODO: Add logic to handle external changed files |
170 | //Checking for template type and not saving external data | 170 | //Checking for template type and not saving external data |
@@ -176,6 +176,7 @@ exports.HtmlDocument = Montage.create(Component, { | |||
176 | //Setting current view object to code | 176 | //Setting current view object to code |
177 | this.currentView = 'code'; | 177 | this.currentView = 'code'; |
178 | this.model.currentView = this.model.views.code; | 178 | this.model.currentView = this.model.views.code; |
179 | this.model.currentViewIdentifier = this.model.currentView.identifier; | ||
179 | } else { | 180 | } else { |
180 | //TODO: Identify default view (probably code) - Error handling | 181 | //TODO: Identify default view (probably code) - Error handling |
181 | } | 182 | } |
@@ -200,10 +201,22 @@ exports.HtmlDocument = Montage.create(Component, { | |||
200 | if(typeof this.model.domContainer !== "undefined") { | 201 | if(typeof this.model.domContainer !== "undefined") { |
201 | this.model.domContainer = this.model.documentRoot; | 202 | this.model.domContainer = this.model.documentRoot; |
202 | } | 203 | } |
204 | this.model.currentViewIdentifier = this.model.currentView.identifier; | ||
203 | //Making callback after view is loaded | 205 | //Making callback after view is loaded |
204 | this.loaded.callback.call(this.loaded.context, this); | 206 | this.loaded.callback.call(this.loaded.context, this); |
205 | } | 207 | } |
206 | }, | 208 | }, |
209 | handleReloadViewReady: { | ||
210 | value: function(mObjects) { | ||
211 | this.model.mObjects = mObjects; | ||
212 | // TODO: Find a better way to initialize this property | ||
213 | // Assign the domContainer to be the document root on open | ||
214 | if(typeof this.model.domContainer !== "undefined") { | ||
215 | this.model.domContainer = this.model.documentRoot; | ||
216 | } | ||
217 | this.model.currentViewIdentifier = this.model.currentView.identifier; | ||
218 | } | ||
219 | }, | ||
207 | //////////////////////////////////////////////////////////////////// | 220 | //////////////////////////////////////////////////////////////////// |
208 | // | 221 | // |
209 | closeDocument: { | 222 | closeDocument: { |
diff --git a/js/document/models/base.js b/js/document/models/base.js index a9bbd6db..03c792c9 100755 --- a/js/document/models/base.js +++ b/js/document/models/base.js | |||
@@ -88,6 +88,21 @@ exports.BaseDocumentModel = Montage.create(Component, { | |||
88 | }, | 88 | }, |
89 | //////////////////////////////////////////////////////////////////// | 89 | //////////////////////////////////////////////////////////////////// |
90 | // | 90 | // |
91 | _currentViewIdentifier: { | ||
92 | value: "" | ||
93 | }, | ||
94 | //////////////////////////////////////////////////////////////////// | ||
95 | // | ||
96 | currentViewIdentifier: { | ||
97 | get: function() { | ||
98 | return this._currentViewIdentifier; | ||
99 | }, | ||
100 | set: function(value) { | ||
101 | this._currentViewIdentifier = value; | ||
102 | } | ||
103 | }, | ||
104 | //////////////////////////////////////////////////////////////////// | ||
105 | // | ||
91 | _selection: { | 106 | _selection: { |
92 | value: [] | 107 | value: [] |
93 | }, | 108 | }, |
diff --git a/js/document/views/code.js b/js/document/views/code.js index 05f671b2..0ca87fa9 100755 --- a/js/document/views/code.js +++ b/js/document/views/code.js | |||
@@ -39,8 +39,8 @@ var Montage = require("montage/core/core").Montage, | |||
39 | exports.CodeDocumentView = Montage.create(BaseDocumentView, { | 39 | exports.CodeDocumentView = Montage.create(BaseDocumentView, { |
40 | //////////////////////////////////////////////////////////////////// | 40 | //////////////////////////////////////////////////////////////////// |
41 | // | 41 | // |
42 | hasTemplate: { | 42 | identifier: { |
43 | value: false | 43 | value: "code" |
44 | }, | 44 | }, |
45 | //////////////////////////////////////////////////////////////////// | 45 | //////////////////////////////////////////////////////////////////// |
46 | // | 46 | // |
diff --git a/js/document/views/design-code.js b/js/document/views/design-code.js index 25073833..44d12549 100644 --- a/js/document/views/design-code.js +++ b/js/document/views/design-code.js | |||
@@ -40,8 +40,8 @@ var Montage = require("montage/core/core").Montage, | |||
40 | exports.DesignCodeView = Montage.create(CodeDocumentView, { | 40 | exports.DesignCodeView = Montage.create(CodeDocumentView, { |
41 | //////////////////////////////////////////////////////////////////// | 41 | //////////////////////////////////////////////////////////////////// |
42 | // | 42 | // |
43 | hasTemplate: { | 43 | identifier: { |
44 | value: false | 44 | value: "design-code" |
45 | }, | 45 | }, |
46 | //////////////////////////////////////////////////////////////////// | 46 | //////////////////////////////////////////////////////////////////// |
47 | // | 47 | // |
@@ -75,22 +75,6 @@ exports.DesignCodeView = Montage.create(CodeDocumentView, { | |||
75 | this.textViewContainer.style.background = "white"; | 75 | this.textViewContainer.style.background = "white"; |
76 | this.textViewContainer.style.height = "100%"; | 76 | this.textViewContainer.style.height = "100%"; |
77 | 77 | ||
78 | |||
79 | ///todo-remove after the switch view logic is added in all the components | ||
80 | this.application.ninja.stage.collapseAllPanels(); | ||
81 | this.application.ninja.stage.hideCanvas(true); | ||
82 | this.application.ninja.stage.hideRulers(); | ||
83 | |||
84 | document.getElementsByClassName("bindingView")[0].style.display = "none"; | ||
85 | |||
86 | //bindingView div needs to be display noned | ||
87 | //timeline error on switching back to design view | ||
88 | |||
89 | ///-end todo-remove | ||
90 | |||
91 | |||
92 | |||
93 | |||
94 | //todo : update options bar | 78 | //todo : update options bar |
95 | 79 | ||
96 | // | 80 | // |
@@ -106,13 +90,6 @@ exports.DesignCodeView = Montage.create(CodeDocumentView, { | |||
106 | } | 90 | } |
107 | this.textViewContainer.style.display = "none"; | 91 | this.textViewContainer.style.display = "none"; |
108 | 92 | ||
109 | ///todo-remove after the switch view logic is added in all the components | ||
110 | this.application.ninja.stage.restoreAllPanels(false); | ||
111 | this.application.ninja.stage.hideCanvas(false); | ||
112 | this.application.ninja.stage.showRulers(); | ||
113 | ///-end todo-remove | ||
114 | |||
115 | |||
116 | //todo : update options bar | 93 | //todo : update options bar |
117 | 94 | ||
118 | // | 95 | // |
diff --git a/js/document/views/design.js b/js/document/views/design.js index 548e45e9..97558408 100755 --- a/js/document/views/design.js +++ b/js/document/views/design.js | |||
@@ -39,8 +39,8 @@ var Montage = require("montage/core/core").Montage, | |||
39 | exports.DesignDocumentView = Montage.create(BaseDocumentView, { | 39 | exports.DesignDocumentView = Montage.create(BaseDocumentView, { |
40 | //////////////////////////////////////////////////////////////////// | 40 | //////////////////////////////////////////////////////////////////// |
41 | // | 41 | // |
42 | hasTemplate: { | 42 | identifier: { |
43 | value: false | 43 | value: "design" |
44 | }, | 44 | }, |
45 | //////////////////////////////////////////////////////////////////// | 45 | //////////////////////////////////////////////////////////////////// |
46 | // | 46 | // |