aboutsummaryrefslogtreecommitdiff
path: root/js/components/layout/document-bar.reel/document-bar.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/components/layout/document-bar.reel/document-bar.js')
-rwxr-xr-xjs/components/layout/document-bar.reel/document-bar.js248
1 files changed, 133 insertions, 115 deletions
diff --git a/js/components/layout/document-bar.reel/document-bar.js b/js/components/layout/document-bar.reel/document-bar.js
index fa0c8788..5623f825 100755
--- a/js/components/layout/document-bar.reel/document-bar.js
+++ b/js/components/layout/document-bar.reel/document-bar.js
@@ -29,140 +29,127 @@ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29POSSIBILITY OF SUCH DAMAGE. 29POSSIBILITY OF SUCH DAMAGE.
30</copyright> */ 30</copyright> */
31 31
32var Montage = require("montage/core/core").Montage; 32////////////////////////////////////////////////////////////////////////
33var Component = require("montage/ui/component").Component; 33//
34 34var Montage = require("montage/core/core").Montage,
35 Component = require("montage/ui/component").Component;
36////////////////////////////////////////////////////////////////////////
37//
35exports.DocumentBar = Montage.create(Component, { 38exports.DocumentBar = Montage.create(Component, {
36 39 ////////////////////////////////////////////////////////////////////
37 _currentDocument: { 40 //
38 enumerable: false, 41 _currentDocument: {value: null},
39 value: null 42 ////////////////////////////////////////////////////////////////////
40 }, 43 //
41
42 currentDocument: { 44 currentDocument: {
43 enumerable: false, 45 get: function() {return this._currentDocument;},
44 get: function() {
45 return this._currentDocument;
46 },
47 set: function(value) { 46 set: function(value) {
47 //
48 if (value === this._currentDocument) { 48 if (value === this._currentDocument) {
49 return; 49 return;
50 } 50 }
51 51 //
52 this._currentDocument = value; 52 this._currentDocument = value;
53
54 this.disabled = !this._currentDocument; 53 this.disabled = !this._currentDocument;
55 54 //
56 if(this._currentDocument && this._currentDocument.currentView === "design") { 55 if(this._currentDocument && this._currentDocument.model && this._currentDocument.model.currentView === this._currentDocument.model.views.design) {
57 this.visible = true; 56 this.btnCode.setAttribute('class', 'inactive');
58 } else if(this._currentDocument && this._currentDocument.currentView === "code") { 57 this.btnDesign.removeAttribute('class');
59 this.visible = false; 58 } else if(this._currentDocument && this._currentDocument.model && this._currentDocument.model.currentView === this._currentDocument.model.views.code) {
59 this.btnDesign.setAttribute('class', 'inactive');
60 this.btnCode.removeAttribute('class');
60 } 61 }
62 //
63 this.visible = true;
61 } 64 }
62 }, 65 },
63 66 ////////////////////////////////////////////////////////////////////
67 //
68 btnCode: {
69 value: null
70 },
71 btnDesign: {
72 value: null
73 },
74 btnPreview: {
75 value: null
76 },
77 ////////////////////////////////////////////////////////////////////
78 //
64 _visible: { 79 _visible: {
65 value: false 80 value: false
66 }, 81 },
67 82 ////////////////////////////////////////////////////////////////////
83 //
68 visible: { 84 visible: {
69 get: function() { 85 get: function() {return this._visible;},
70 return this._visible;
71 },
72 set: function(value) { 86 set: function(value) {
87 //
73 if(this._visible !== value) { 88 if(this._visible !== value) {
74 this._visible = value; 89 this._visible = value;
75 this.needsDraw = true; 90 this.needsDraw = true;
76 } 91 }
77 } 92 }
78 }, 93 },
79 94 ////////////////////////////////////////////////////////////////////
80 designView: { 95 //
81 value: null
82 },
83
84 codeView: {
85 value: null
86 },
87
88 zoomControl: { 96 zoomControl: {
89 value: null, 97 value: null,
90 serializable: true 98 serializable: true
91 }, 99 },
92 100 ////////////////////////////////////////////////////////////////////
93 _type: { 101 //
94 value: null
95 },
96
97 type: {
98 enumerable: false,
99 get: function() { return this._type; },
100 set: function(value) {
101 if (this._type === value) {
102 return;
103 }
104
105 this._type = value;
106 this.needsDraw = true;
107
108 }
109 },
110
111 _currentView: {
112 value: null
113 },
114
115 currentView: {
116 get: function() { return this._currentView},
117 set: function(value) {
118 if (this._currentView === value) {
119 return;
120 }
121
122 this._currentView = value;
123 this.needsDraw = true;
124 }
125 },
126
127 _zoomFactor: { 102 _zoomFactor: {
128 value: 100 103 value: 100
129 }, 104 },
130 105 ////////////////////////////////////////////////////////////////////
106 //
131 zoomFactor: { 107 zoomFactor: {
132 get: function() { return this._zoomFactor; }, 108 get: function() {return this._zoomFactor;},
133 109 set: function(value) {
134 set: function(value) 110 if(value !== this._zoomFactor) {
135 { 111 //
136 if(value !== this._zoomFactor)
137 {
138 this._zoomFactor = value; 112 this._zoomFactor = value;
139 if (!this._firstDraw) 113 //
140 { 114 if (!this._firstDraw) {
141 this.application.ninja.stage.setZoom(value); 115 this.application.ninja.stage.setZoom(value);
142 } 116 }
143 } 117 }
144 } 118 }
145 }, 119 },
146 120 ////////////////////////////////////////////////////////////////////
147 draw: { 121 //
122 prepareForDraw: {
148 value: function() { 123 value: function() {
149 /* 124 //
150 if(this.type === "htm" || this.type === "html") { 125 this.btnCode.addEventListener('click', this.showViewCode.bind(this), false);
151 this.designView.classList.add("active"); 126 this.btnDesign.addEventListener('click', this.showViewDesign.bind(this), false);
152 this.codeView.classList.add("active"); 127 this.btnPreview.addEventListener('click', this, false);
153 128 }
154 if(this.currentView === "design") { 129 },
155 this.designView.classList.add("selected"); 130 ////////////////////////////////////////////////////////////////////
156 if(this.codeView.classList.contains("selected")) this.codeView.classList.toggle("selected"); 131 //
157 } else { 132 willDraw: {
158 this.codeView.classList.add("selected"); 133 value: function() {
159 if(this.designView.classList.contains("selected")) this.designView.classList.toggle("selected"); 134 //
135 this.btnCode.setAttribute('class', 'inactive');
136 this.btnDesign.setAttribute('class', 'inactive');
137 //
138 if (this._currentDocument && this._currentDocument.model && this._currentDocument.model.currentView) {
139 //
140 if (this._currentDocument.model.currentView === this._currentDocument.model.views.design) {
141 this.btnDesign.removeAttribute('class');
142 } else if (this._currentDocument.model.currentView === this._currentDocument.model.views.code) {
143 this.btnCode.removeAttribute('class');
160 } 144 }
161
162 } else if(this.type) {