diff options
Diffstat (limited to 'js/stage')
-rwxr-xr-x | js/stage/layout.js | 2 | ||||
-rwxr-xr-x | js/stage/stage-deps.js | 10 | ||||
-rwxr-xr-x | js/stage/stage-view.reel/stage-view.js | 50 | ||||
-rwxr-xr-x | js/stage/stage.reel/stage.html | 3 | ||||
-rwxr-xr-x | js/stage/stage.reel/stage.js | 116 |
5 files changed, 117 insertions, 64 deletions
diff --git a/js/stage/layout.js b/js/stage/layout.js index 0a76dbe5..9c5e2167 100755 --- a/js/stage/layout.js +++ b/js/stage/layout.js | |||
@@ -156,7 +156,7 @@ exports.Layout = Montage.create(Component, { | |||
156 | drawTagOutline: { | 156 | drawTagOutline: { |
157 | value: function (item) { | 157 | value: function (item) { |
158 | 158 | ||
159 | if(!item || (item.nodeType !== 1)) return; | 159 | if(!item || !this.application.ninja.selectionController.isNodeTraversable(item)) return; |
160 | 160 | ||
161 | // TODO Bind the layoutview mode to the current document | 161 | // TODO Bind the layoutview mode to the current document |
162 | // var mode = this.application.ninja.currentDocument.layoutMode; | 162 | // var mode = this.application.ninja.currentDocument.layoutMode; |
diff --git a/js/stage/stage-deps.js b/js/stage/stage-deps.js index a71b77be..1825eb06 100755 --- a/js/stage/stage-deps.js +++ b/js/stage/stage-deps.js | |||
@@ -52,7 +52,7 @@ exports.StageDeps = Montage.create(Component, { | |||
52 | userContentLeft: { | 52 | userContentLeft: { |
53 | get: function() { return this._userContentLeft; }, | 53 | get: function() { return this._userContentLeft; }, |
54 | set: function(value) { | 54 | set: function(value) { |
55 | if(value) { | 55 | if(value != null) { |
56 | viewUtils.setUserContentLeft(value); | 56 | viewUtils.setUserContentLeft(value); |
57 | } | 57 | } |
58 | } | 58 | } |
@@ -65,7 +65,7 @@ exports.StageDeps = Montage.create(Component, { | |||
65 | userContentTop: { | 65 | userContentTop: { |
66 | get: function() { return this._userContentTop; }, | 66 | get: function() { return this._userContentTop; }, |
67 | set: function(value) { | 67 | set: function(value) { |
68 | if(value) { | 68 | if(value != null) { |
69 | viewUtils.setUserContentTop(value); | 69 | viewUtils.setUserContentTop(value); |
70 | } | 70 | } |
71 | } | 71 | } |
@@ -95,12 +95,6 @@ exports.StageDeps = Montage.create(Component, { | |||
95 | handleAppLoaded: { | 95 | handleAppLoaded: { |
96 | value: function() { | 96 | value: function() { |
97 | 97 | ||
98 | Object.defineBinding(this, "currentDocument", { | ||
99 | boundObject: this.application.ninja, | ||
100 | boundObjectPropertyPath: "currentDocument", | ||
101 | oneway: true | ||
102 | }); | ||
103 | |||
104 | Object.defineBinding(this, "userContentLeft", { | 98 | Object.defineBinding(this, "userContentLeft", { |
105 | boundObject: this.stage, | 99 | boundObject: this.stage, |
106 | boundObjectPropertyPath: "_userContentLeft", | 100 | boundObjectPropertyPath: "_userContentLeft", |
diff --git a/js/stage/stage-view.reel/stage-view.js b/js/stage/stage-view.reel/stage-view.js index 518c3bdd..ba94fadf 100755 --- a/js/stage/stage-view.reel/stage-view.js +++ b/js/stage/stage-view.reel/stage-view.js | |||
@@ -25,32 +25,12 @@ exports.StageView = Montage.create(Component, { | |||
25 | } | 25 | } |
26 | }, | 26 | }, |
27 | 27 | ||
28 | templateDidLoad: { | ||
29 | value: function() { | ||
30 | this.eventManager.addEventListener("appLoaded", this, false); | ||
31 | } | ||
32 | }, | ||
33 | |||
34 | didDraw:{ | 28 | didDraw:{ |
35 | value: function() { | 29 | value: function() { |
36 | if(!this.application.ninja.documentController._textHolder) this.application.ninja.documentController._textHolder = this.element; | 30 | if(!this.application.ninja.documentController._textHolder) this.application.ninja.documentController._textHolder = this.element; |
37 | } | 31 | } |
38 | }, | 32 | }, |
39 | 33 | ||
40 | handleAppLoaded: { | ||
41 | value: function() { | ||
42 | |||
43 | // Don't bind for now | ||
44 | /* | ||
45 | Object.defineBinding(this, "docs", { | ||
46 | boundObject: this.application.ninja.documentController, | ||
47 | boundObjectPropertyPath: "_documents" | ||
48 | }); | ||
49 | */ | ||
50 | |||
51 | } | ||
52 | }, | ||
53 | |||
54 | /** | 34 | /** |
55 | * Public method | 35 | * Public method |
56 | * Creates a textarea element which will contain the content of the opened text document. | 36 | * Creates a textarea element which will contain the content of the opened text document. |
@@ -140,7 +120,22 @@ exports.StageView = Montage.create(Component, { | |||
140 | } | 120 | } |
141 | 121 | ||
142 | this.application.ninja.stage._scrollFlag = false; // TODO HACK to prevent type error on Hide/Show Iframe | 122 | this.application.ninja.stage._scrollFlag = false; // TODO HACK to prevent type error on Hide/Show Iframe |
143 | this.application.ninja.documentController._showCurrentDocument(); | 123 | |
124 | |||
125 | // this.application.ninja.documentController._showCurrentDocument(); | ||
126 | // Inline function below | ||
127 | if(this.activeDocument) { | ||
128 | this.activeDocument.container.style["display"] = "block"; | ||
129 | if(this.activeDocument.currentView === "design"){ | ||
130 | this.activeDocument.container.parentNode.style["display"] = "block"; | ||
131 | this.activeDocument.restoreAppState(); | ||
132 | } else { | ||
133 | //hide the iframe when switching to code view | ||
134 | document.getElementById("iframeContainer").style.display = "none"; | ||
135 | } | ||
136 | } | ||
137 | |||
138 | |||
144 | //focus editor | 139 | //focus editor |
145 | if(!!this.application.ninja.documentController.activeDocument && !!this.application.ninja.documentController.activeDocument.editor){ | 140 | if(!!this.application.ninja.documentController.activeDocument && !!this.application.ninja.documentController.activeDocument.editor){ |
146 | this.application.ninja.documentController.activeDocument.editor.focus(); | 141 | this.application.ninja.documentController.activeDocument.editor.focus(); |
@@ -172,17 +167,6 @@ exports.StageView = Montage.create(Component, { | |||
172 | } | 167 | } |
173 | }, | 168 | }, |
174 | 169 | ||
175 | hideOtherDocuments:{ | ||
176 | value:function(docUuid){ | ||
177 | this.application.ninja.documentController._documents.forEach(function(aDoc){ | ||
178 | if(aDoc.currentView === "design"){ | ||
179 | aDoc.container.parentNode.style["display"] = "none"; | ||
180 | }else if((aDoc.currentView === "code") && (aDoc.uuid !== docUuid)){ | ||
181 | aDoc.container.style["display"] = "none"; | ||
182 | } | ||
183 | }, this); | ||
184 | } | ||
185 | }, | ||
186 | showRulers:{ | 170 | showRulers:{ |
187 | value:function(){ | 171 | value:function(){ |
188 | this.application.ninja.rulerTop.style.display = "block"; | 172 | this.application.ninja.rulerTop.style.display = "block"; |
@@ -200,7 +184,7 @@ exports.StageView = Montage.create(Component, { | |||
200 | if(isCodeView === true) { | 184 | if(isCodeView === true) { |
201 | this.application.ninja.editorViewOptions.element.style.display = "block"; | 185 | this.application.ninja.editorViewOptions.element.style.display = "block"; |
202 | this.application.ninja.documentBar.element.style.display = "none"; | 186 | this.application.ninja.documentBar.element.style.display = "none"; |
203 | }else{ | 187 | } else { |
204 | this.application.ninja.documentBar.element.style.display = "block"; | 188 | this.application.ninja.documentBar.element.style.display = "block"; |
205 | this.application.ninja.editorViewOptions.element.style.display = "none"; | 189 | this.application.ninja.editorViewOptions.element.style.display = "none"; |
206 | } | 190 | } |
diff --git a/js/stage/stage.reel/stage.html b/js/stage/stage.reel/stage.html index 30c3d231..88cd6149 100755 --- a/js/stage/stage.reel/stage.html +++ b/js/stage/stage.reel/stage.html | |||
@@ -22,6 +22,9 @@ | |||
22 | "prototype": "js/stage/stage-deps", | 22 | "prototype": "js/stage/stage-deps", |
23 | "properties": { | 23 | "properties": { |
24 | "stage": {"@": "owner"} | 24 | "stage": {"@": "owner"} |
25 | }, | ||
26 | "bindings": { | ||
27 | "currentDocument": {"<-": "@owner.activeDocument"} | ||
25 | } | 28 | } |
26 | }, | 29 | }, |
27 | 30 | ||
diff --git a/js/stage/stage.reel/stage.js b/js/stage/stage.reel/stage.js index b181dc70..cac99326 100755 --- a/js/stage/stage.reel/stage.js +++ b/js/stage/stage.reel/stage.js | |||
@@ -118,6 +118,9 @@ exports.Stage = Montage.create(Component, { | |||
118 | _userContentTop: { value: 0 }, | 118 | _userContentTop: { value: 0 }, |
119 | _userContentBorder: { value: 0 }, | 119 | _userContentBorder: { value: 0 }, |
120 | 120 | ||
121 | _maxHorizontalScroll: { value: 0 }, | ||
122 | _maxVerticalScroll: { value: 0 }, | ||
123 | |||
121 | documentRoot: { | 124 | documentRoot: { |
122 | get: function () { return this._documentRoot; }, | 125 | get: function () { return this._documentRoot; }, |
123 | set: function(value) { this._documentRoot = value; } | 126 | set: function(value) { this._documentRoot = value; } |
@@ -161,6 +164,60 @@ exports.Stage = Montage.create(Component, { | |||
161 | set: function(value) { this._userContentBorder = value; } | 164 | set: function(value) { this._userContentBorder = value; } |
162 | }, | 165 | }, |
163 | 166 | ||
167 | _activeDocument : { | ||
168 | value : null, | ||
169 | enumerable : false | ||
170 | }, | ||
171 | |||
172 | activeDocument : { | ||
173 | get : function() { | ||
174 | return this._activeDocument; | ||
175 | }, | ||
176 | set : function(document) { | ||
177 | ///// If the document is null set default stylesheets to null | ||
178 | |||
179 | if(!document) { | ||
180 | return false; | ||
181 | } | ||
182 | |||
183 | ///// setting document via binding | ||
184 | this._activeDocument = document; | ||
185 | |||
186 | }, | ||
187 | enumerable : false | ||
188 | }, | ||
189 | |||
190 | _userPaddingLeft: { value: 0 }, | ||
191 | _userPaddingTop: { value: 0 }, | ||
192 | |||
193 | userPaddingLeft: { | ||
194 | get: function() { return this._userPaddingLeft; }, | ||
195 | set: function(value) { | ||
196 | this._userPaddingLeft = value; | ||
197 | this._documentOffsetLeft = -value; | ||
198 | if(!this._documentRoot) { | ||
199 | this._documentRoot = this.application.ninja.currentDocument.documentRoot; | ||
200 | } | ||
201 | this._documentRoot.ownerDocument.getElementsByTagName("HTML")[0].style["padding-left"] = -value + "px"; | ||
202 | this.userContentLeft = this._documentOffsetLeft; | ||
203 | this.updatedStage = true; | ||
204 | } | ||
205 | }, | ||
206 | |||
207 | userPaddingTop: { | ||
208 | get: function() { return this._userPaddingTop; }, | ||
209 | set: function(value) { | ||
210 | this._userPaddingTop = value; | ||
211 | this._documentOffsetTop = -value; | ||
212 | if(!this._documentRoot) { | ||
213 | this._documentRoot = |