aboutsummaryrefslogtreecommitdiff
path: root/js/panels/properties.reel
diff options
context:
space:
mode:
Diffstat (limited to 'js/panels/properties.reel')
-rwxr-xr-xjs/panels/properties.reel/properties.html5
-rwxr-xr-xjs/panels/properties.reel/properties.js64
-rwxr-xr-xjs/panels/properties.reel/sections/three-d-view.reel/three-d-view.js95
3 files changed, 92 insertions, 72 deletions
diff --git a/js/panels/properties.reel/properties.html b/js/panels/properties.reel/properties.html
index ac0dab5a..b9aa206b 100755
--- a/js/panels/properties.reel/properties.html
+++ b/js/panels/properties.reel/properties.html
@@ -56,7 +56,10 @@
56 } 56 }
57 }, 57 },
58 "threeDProperties": { 58 "threeDProperties": {
59 "prototype": "js/panels/properties.reel/sections/three-d-view.reel[ThreeD]" 59 "prototype": "js/panels/properties.reel/sections/three-d-view.reel[ThreeD]",
60 "bindings": {
61 "currentDocument": {"<-": "@owner.currentDocument"}
62 }
60 }, 63 },
61 64
62 "CustomSections": { 65 "CustomSections": {
diff --git a/js/panels/properties.reel/properties.js b/js/panels/properties.reel/properties.js
index 7f8197ea..d3362474 100755
--- a/js/panels/properties.reel/properties.js
+++ b/js/panels/properties.reel/properties.js
@@ -13,6 +13,35 @@ var ElementsMediator = require("js/mediators/element-mediator").ElementMediator;
13 13
14exports.Properties = Montage.create(Component, { 14exports.Properties = Montage.create(Component, {
15 15
16 _currentDocument: {
17 value : null
18 },
19
20 currentDocument : {
21 get : function() {
22 return this._currentDocument;
23 },
24 set : function(value) {
25 if (value === this._currentDocument) {
26 return;
27 }
28
29 this._currentDocument = value;
30
31// if(!value) {
32 this.clear();
33// }
34
35 /*
36 else if(this._currentDocument.currentView === "design") {
37 // Display the default document root PI
38 //this.displayElementProperties(this._currentDocument.model.documentRoot);
39// this.displaySelection(this._currentDocument.model.selection);
40 }
41 */
42 }
43 },
44
16 elementName: { 45 elementName: {
17 value: null 46 value: null
18 }, 47 },
@@ -46,9 +75,8 @@ exports.Properties = Montage.create(Component, {
46 75
47 prepareForDraw: { 76 prepareForDraw: {
48 value : function() { 77 value : function() {
49 this.eventManager.addEventListener("openDocument", this, false); 78 this.eventManager.addEventListener("elementChange", this, false);
50 this.eventManager.addEventListener("selectionChange", this, false); 79 this.eventManager.addEventListener("selectionChange", this, false);
51 this.eventManager.addEventListener("closeDocument", this, false);
52 80
53 // This will be a toggle option 81 // This will be a toggle option
54 if(this.application.ninja.appData.PILiveUpdate) { 82 if(this.application.ninja.appData.PILiveUpdate) {
@@ -65,24 +93,6 @@ exports.Properties = Montage.create(Component, {
65 } 93 }
66 }, 94 },
67 95
68 handleOpenDocument: {
69 value: function() {
70 this.eventManager.addEventListener( "elementChange", this, false);
71
72 // Save a reference of the pi inside the document view to be able to clear
73 this.application.ninja.currentDocument.model.views.design.propertiesPanel = this;
74
75 // Display the default document root PI
76 this.displayElementProperties(this.application.ninja.currentDocument.model.documentRoot);
77 }
78 },
79
80 handleCloseDocument: {
81 value: function(){
82 this.clear();
83 }
84 },
85
86 /** 96 /**
87 * Blur and Key up to handle change in the Element ID field. 97 * Blur and Key up to handle change in the Element ID field.
88 */ 98 */
@@ -174,6 +184,20 @@ exports.Properties = Montage.create(Component, {
174 } 184 }
175 }, 185 },
176 186
187 displaySelection: {
188 value: function(selection) {
189 if(selection.length === 0) {
190 this.displayElementProperties(this._currentDocument.model.documentRoot);
191 } else {
192 if(selection.length === 1) {
193 this.displayElementProperties(this.application.ninja.selectedElements[0]);
194 } else {
195 this.displayGroupProperties(this.application.ninja.selectedElements);
196 }
197 }
198 }
199 },
200
177 clear: { 201 clear: {
178 value: function() { 202 value: function() {
179 this.elementName.value = ""; 203 this.elementName.value = "";
diff --git a/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js b/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js
index e16e3509..104d474d 100755
--- a/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js
+++ b/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js
@@ -26,8 +26,7 @@ exports.ThreeD = Montage.create(Component, {
26 set: function(value) { 26 set: function(value) {
27 this._axisMode = value; 27 this._axisMode = value;
28 28
29 if(value === 0) 29 if(value === 0) {
30 {
31 this.inGlobalMode = false; 30 this.inGlobalMode = false;
32 this.x3D = 0; 31 this.x3D = 0;
33 this.y3D = 0; 32 this.y3D = 0;
@@ -36,13 +35,10 @@ exports.ThreeD = Montage.create(Component, {
36 this.xAngle = 0; 35 this.xAngle = 0;
37 this.yAngle = 0; 36 this.yAngle = 0;
38 this.zAngle = 0; 37 this.zAngle = 0;
39 } 38 } else {
40 else
41 {
42 this.inGlobalMode = true; 39 this.inGlobalMode = true;
43 var item = this.item; 40 var item = this.item;
44 if(item) 41 if(item) {
45 {
46 this.x3D = item.elementModel.props3D.x3D; 42 this.x3D = item.elementModel.props3D.x3D;
47 this.y3D = item.elementModel.props3D.y3D; 43 this.y3D = item.elementModel.props3D.y3D;
48 this.z3D = item.elementModel.props3D.z3D; 44 this.z3D = item.elementModel.props3D.z3D;
@@ -114,8 +110,7 @@ exports.ThreeD = Montage.create(Component, {
114 handleAction: { 110 handleAction: {
115 value: function(event) { 111 value: function(event) {
116 if(event.currentTarget.identifier === "flatten") { 112 if(event.currentTarget.identifier === "flatten") {
117 this.application.ninja.elementMediator.setProperty([this.item], 113 this.application.ninja.elementMediator.setProperty([this.item], "-webkit-transform-style",
118 "-webkit-transform-style",
119 event.currentTarget.checked ? ["flat"] : ["preserve-3d"]); 114 event.currentTarget.checked ? ["flat"] : ["preserve-3d"]);
120 } 115 }
121 } 116 }
@@ -127,11 +122,7 @@ exports.ThreeD = Montage.create(Component, {
127 return; 122 return;
128 } 123 }
129 124
130 this.apply3DProperties(event.currentTarget.identifier, 125 this.apply3DProperties(event.currentTarget.identifier, event.currentTarget, this.item, this.inGlobalMode, false);
131 event.currentTarget,
132 this.item,
133 this.inGlobalMode,
134 false);
135 126
136 this._curMat = null; 127 this._curMat = null;
137 this._curProp = null; 128 this._curProp = null;
@@ -144,28 +135,24 @@ exports.ThreeD = Montage.create(Component, {
144 return; 135 return;
145 } 136 }
146 137
147 this.apply3DProperties(event.currentTarget.identifier, 138 this.apply3DProperties(event.currentTarget.identifier, event.currentTarget, this.item, this.inGlobalMode, true);
148 event.currentTarget,
149 this.item,
150 this.inGlobalMode,
151 true);
152 } 139 }
153 }, 140 },
154 141
155 apply3DProperties : { 142 apply3DProperties : {
156 value : function(prop, value, item, inGlobalMode, isChanging){ 143 value : function(prop, value, item, inGlobalMode, isChanging){
157 if(!this._curMat) 144 if(!this._curMat) {
158 {
159 this._curMat = this.application.ninja.elementMediator.getMatrix(item); 145 this._curMat = this.application.ninja.elementMediator.getMatrix(item);
160 } 146 }
147
161 var curMat = this._curMat; 148 var curMat = this._curMat;
162 var delta = value.value; 149 var delta = value.value;
163 if(inGlobalMode) 150 if(inGlobalMode) {
164 { 151
165 if(!this._curProp) 152 if(!this._curProp) {
166