diff options
Diffstat (limited to 'js/controllers')
-rwxr-xr-x | js/controllers/color-controller.js | 17 | ||||
-rwxr-xr-x | js/controllers/elements/body-controller.js | 5 |
2 files changed, 19 insertions, 3 deletions
diff --git a/js/controllers/color-controller.js b/js/controllers/color-controller.js index 3165988d..2a6fe9bd 100755 --- a/js/controllers/color-controller.js +++ b/js/controllers/color-controller.js | |||
@@ -254,7 +254,12 @@ exports.ColorController = Montage.create(Component, { | |||
254 | gradient.css = css; | 254 | gradient.css = css; |
255 | // | 255 | // |
256 | arr = css.split('from('); | 256 | arr = css.split('from('); |
257 | arr = arr[1].split('),'); | 257 | // |
258 | if (arr.length > 1) { | ||
259 | arr = arr[1].split('),'); | ||
260 | } else { | ||
261 | arr = (css.split(css.split('color-stop(')[0])[1]).split('),'); | ||
262 | } | ||
258 | // | 263 | // |
259 | for (i=0; arr[i]; i++) { | 264 | for (i=0; arr[i]; i++) { |
260 | arr[i] = arr[i].replace(/ color-stop\(/i, ""); | 265 | arr[i] = arr[i].replace(/ color-stop\(/i, ""); |
@@ -264,14 +269,20 @@ exports.ColorController = Montage.create(Component, { | |||
264 | arr[i] = arr[i].replace(/\)\)/i, ""); | 269 | arr[i] = arr[i].replace(/\)\)/i, ""); |
265 | } | 270 | } |
266 | // | 271 | // |
267 | if (i === 0) { | 272 | if (i === 0 && arr[i].indexOf('color-stop') === -1) { |
268 | arr[i] = {css: arr[i], percent: 0}; | 273 | arr[i] = {css: arr[i], percent: 0}; |
269 | } else if (i === arr.length-1) { | 274 | } else if (i === arr.length-1) { |
270 | arr[i] = {css: arr[i], percent: 100}; | 275 | temp = arr[i].split(', rgb'); |
276 | if (temp.length > 1) { | ||
277 | arr[i] = {css: 'rgb'+temp[1].replace(/\)\)/i, ""), percent: Math.round(parseFloat(temp[0])*100)}; | ||
278 | } else { | ||
279 | arr[i] = {css: arr[i], percent: 100}; | ||
280 | } | ||
271 | } else { | 281 | } else { |
272 | // | 282 | // |
273 | if (arr[i].indexOf('rgb') >= 0 && arr[i].indexOf('rgba') < 0) { | 283 | if (arr[i].indexOf('rgb') >= 0 && arr[i].indexOf('rgba') < 0) { |
274 | temp = arr[i].split(', rgb'); | 284 | temp = arr[i].split(', rgb'); |
285 | temp[0] = temp[0].replace(/color\-stop\(/gi, ''); | ||
275 | arr[i] = {css: 'rgb'+temp[1], percent: Math.round(parseFloat(temp[0])*100)}; | 286 | arr[i] = {css: 'rgb'+temp[1], percent: Math.round(parseFloat(temp[0])*100)}; |
276 | } else if (arr[i].indexOf('rgba') >= 0) { | 287 | } else if (arr[i].indexOf('rgba') >= 0) { |
277 | temp = arr[i].split(', rgba'); | 288 | temp = arr[i].split(', rgba'); |
diff --git a/js/controllers/elements/body-controller.js b/js/controllers/elements/body-controller.js index 604b22d0..bc4d2e42 100755 --- a/js/controllers/elements/body-controller.js +++ b/js/controllers/elements/body-controller.js | |||
@@ -39,6 +39,8 @@ exports.BodyController = Montage.create(ElementController, { | |||
39 | value: function(el, p) { | 39 | value: function(el, p) { |
40 | switch(p) { | 40 | switch(p) { |
41 | case "background" : | 41 | case "background" : |
42 | case "background-image": | ||
43 | return this.application.ninja.colorController.getColorObjFromCss(this.application.ninja.stylesController.getElementStyle(el, "background-image")); | ||
42 | case "background-color": | 44 | case "background-color": |
43 | if(this.application.ninja.currentDocument.model.views.design._template) { | 45 | if(this.application.ninja.currentDocument.model.views.design._template) { |
44 | return this.application.ninja.colorController.getColorObjFromCss(this.application.ninja.stylesController.getElementStyle(el.parentNode, "background-color")); | 46 | return this.application.ninja.colorController.getColorObjFromCss(this.application.ninja.stylesController.getElementStyle(el.parentNode, "background-color")); |
@@ -62,6 +64,9 @@ exports.BodyController = Montage.create(ElementController, { | |||
62 | value: function(el, p, value) { | 64 | value: function(el, p, value) { |
63 | switch(p) { | 65 | switch(p) { |
64 | case "background": | 66 | case "background": |
67 | case "background-image": | ||
68 | this.application.ninja.stylesController.setElementStyle(el, "background-image", value); | ||
69 | break; | ||
65 | case "background-color": | 70 | case "background-color": |
66 | if(this.application.ninja.currentDocument.model.views.design._template) { | 71 | if(this.application.ninja.currentDocument.model.views.design._template) { |
67 | this.application.ninja.stylesController.setElementStyle(el.parentNode, "background-color", value); | 72 | this.application.ninja.stylesController.setElementStyle(el.parentNode, "background-color", value); |