aboutsummaryrefslogtreecommitdiff
path: root/js/controllers/elements/element-controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/controllers/elements/element-controller.js')
-rwxr-xr-xjs/controllers/elements/element-controller.js26
1 files changed, 24 insertions, 2 deletions
diff --git a/js/controllers/elements/element-controller.js b/js/controllers/elements/element-controller.js
index 20225c61..01e132d7 100755
--- a/js/controllers/elements/element-controller.js
+++ b/js/controllers/elements/element-controller.js
@@ -11,6 +11,9 @@ exports.ElementController = Montage.create(Component, {
11 11
12 addElement: { 12 addElement: {
13 value: function(el, styles) { 13 value: function(el, styles) {
14
15 if (el.getAttribute) el.setAttribute('data-ninja-node', 'true');
16
14 if(this.application.ninja.timeline.currentLayerSelected) { 17 if(this.application.ninja.timeline.currentLayerSelected) {
15 var selectedLayerIndex = this.application.ninja.timeline.getLayerIndexByID(this.application.ninja.timeline.currentLayerSelected.layerData.layerID); 18 var selectedLayerIndex = this.application.ninja.timeline.getLayerIndexByID(this.application.ninja.timeline.currentLayerSelected.layerData.layerID);
16 19
@@ -159,8 +162,6 @@ exports.ElementController = Montage.create(Component, {
159 el.elementModel.stroke = null; 162 el.elementModel.stroke = null;
160 return; 163 return;
161 case 'gradient': 164 case 'gradient':
162 this.setProperty(el, "border-image", color.color.css);
163 this.setProperty(el, "border-color", "none");
164 if(color.borderInfo) { 165 if(color.borderInfo) {
165 if(color.borderInfo.borderWidth) { 166 if(color.borderInfo.borderWidth) {
166 this.setProperty(el, "border-width", color.borderInfo.borderWidth + color.borderInfo.borderUnits); 167 this.setProperty(el, "border-width", color.borderInfo.borderWidth + color.borderInfo.borderUnits);
@@ -169,9 +170,11 @@ exports.ElementController = Montage.create(Component, {
169 this.setProperty(el, "border-style", color.borderInfo.borderStyle); 170 this.setProperty(el, "border-style", color.borderInfo.borderStyle);
170 } 171 }
171 } 172 }
173 this.setGradientBorder(el, color.color.gradientMode, color.color.css);
172 break; 174 break;
173 default: 175 default:
174 this.setProperty(el, "border-image", "none"); 176 this.setProperty(el, "border-image", "none");
177 this.setProperty(el, "border-image-slice", "");
175 this.setProperty(el, "border-color", color.color.css); 178 this.setProperty(el, "border-color", color.color.css);
176 if(color.borderInfo) { 179 if(color.borderInfo) {
177 if(color.borderInfo.borderWidth) { 180 if(color.borderInfo.borderWidth) {
@@ -188,6 +191,25 @@ exports.ElementController = Montage.create(Component, {
188 } 191 }
189 }, 192 },
190 193
194 setGradientBorder: {
195 value: function(el, gradientMode, css) {
196 if(gradientMode === "radial") {
197 this.setProperty(el, "border-image", css.replace("ellipse", "circle"));
198 } else {
199 this.setProperty(el, "border-image", css);
200 }
201 this.setProperty(el, "border-color", "none");
202 // gradient slice = borderWidth/totalWidth
203 var b = parseInt(this.getProperty(el, "border-left-width", true)),
204 w = parseInt(this.getProperty(el, "width", true)),
205 h = parseInt(this.getProperty(el, "height", true));
206 if(h > w) {
207 w = h;
208 }
209 this.setProperty(el, "border-image-slice", Math.floor(b/(w+b+b) * 100) + "%");
210 }
211 },
212
191 getStroke: { 213 getStroke: {
192 value: function(el) { 214 value: function(el) {
193 // TODO - Need to figure out which border side user wants 215 // TODO - Need to figure out which border side user wants