aboutsummaryrefslogtreecommitdiff
path: root/js/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'js/controllers')
-rwxr-xr-xjs/controllers/document-controller.js11
-rwxr-xr-xjs/controllers/elements/canvas-controller.js14
-rwxr-xr-xjs/controllers/elements/component-controller.js2
-rwxr-xr-xjs/controllers/elements/element-controller.js169
-rwxr-xr-xjs/controllers/elements/shapes-controller.js428
-rwxr-xr-xjs/controllers/elements/stage-controller.js94
-rw-r--r--js/controllers/presets-controller.js9
-rwxr-xr-xjs/controllers/selection-controller.js7
-rwxr-xr-xjs/controllers/styles-controller.js69
9 files changed, 467 insertions, 336 deletions
diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js
index 9792c7f6..079eb754 100755
--- a/js/controllers/document-controller.js
+++ b/js/controllers/document-controller.js
@@ -32,9 +32,6 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
32 _iframeHolder: { value: null, enumerable: false }, 32 _iframeHolder: { value: null, enumerable: false },
33 _textHolder: { value: null, enumerable: false }, 33 _textHolder: { value: null, enumerable: false },
34 _codeMirrorCounter: {value: 1, enumerable: false}, 34 _codeMirrorCounter: {value: 1, enumerable: false},
35
36 canSave:{value: false},//for Save menu state update
37 canSaveAll:{value: false},//for Save All menu state update
38 35
39 activeDocument: { 36 activeDocument: {
40 get: function() { 37 get: function() {
@@ -50,12 +47,6 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
50 if(!!this._activeDocument.editor){ 47 if(!!this._activeDocument.editor){
51 this._activeDocument.editor.focus(); 48 this._activeDocument.editor.focus();
52 } 49 }
53
54 this.canSave = doc.needsSave;
55 this.canSaveAll = doc.needsSave;
56 }else{
57 this.canSave = false;
58 this.canSaveAll = false;
59 } 50 }
60 } 51 }
61 }, 52 },
@@ -80,7 +71,7 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
80 handleAddComponentFirstDraw: { 71 handleAddComponentFirstDraw: {
81 value: function (e) { 72 value: function (e) {
82 //TODO: Add logic to reparse the document for dynamically added styles 73 //TODO: Add logic to reparse the document for dynamically added styles
83 console.log(e); 74 //console.log(e);
84 } 75 }
85 }, 76 },
86 77
diff --git a/js/controllers/elements/canvas-controller.js b/js/controllers/elements/canvas-controller.js
index b5df3911..b8894c18 100755
--- a/js/controllers/elements/canvas-controller.js
+++ b/js/controllers/elements/canvas-controller.js
@@ -34,12 +34,12 @@ exports.CanvasController = Montage.create(ElementController, {
34 } 34 }
35 } 35 }
36 }, 36 },
37 37
38 setProperties: { 38 setProperties: {
39 value: function(el, props, index) { 39 value: function(element, properties) {
40 for(var p in props) { 40 for(var property in properties) {
41 el.elementModel.controller.setProperty(el, p, props[p][index]); 41 this.setProperty(element, property, properties[property]);
42 } 42 }
43 } 43 }
44 } 44 }
45}); \ No newline at end of file 45}); \ No newline at end of file
diff --git a/js/controllers/elements/component-controller.js b/js/controllers/elements/component-controller.js
index 260ee8a0..d902e4a1 100755
--- a/js/controllers/elements/component-controller.js
+++ b/js/controllers/elements/component-controller.js
@@ -16,6 +16,7 @@ exports.ComponentController = Montage.create(ElementController, {
16 switch(prop) { 16 switch(prop) {
17 case "id": 17 case "id":
18 case "class": 18 case "class":
19 case "-webkit-transform-style":
19 case "left": 20 case "left":
20 case "top": 21 case "top":
21 case "width": 22 case "width":
@@ -38,6 +39,7 @@ exports.ComponentController = Montage.create(ElementController, {
38 switch(p) { 39 switch(p) {
39 case "id": 40 case "id":
40 case "class": 41 case "class":
42 case "-webkit-transform-style":
41 case "left": 43 case "left":
42 case "top": 44 case "top":
43 case "width": 45 case "width":
diff --git a/js/controllers/elements/element-controller.js b/js/controllers/elements/element-controller.js
index efb33292..35a543ac 100755
--- a/js/controllers/elements/element-controller.js
+++ b/js/controllers/elements/element-controller.js
@@ -47,10 +47,10 @@ exports.ElementController = Montage.create(Component, {
47 }, 47 },
48 48
49 setProperties: { 49 setProperties: {
50 value: function(el, props, index) { 50 value: function(element, properties) {
51 for(var p in props) { 51 for(var property in properties) {
52 this.application.ninja.stylesController.setElementStyle(el, p, props[p][index]); 52 this.application.ninja.stylesController.setElementStyle(element, property, properties[property]);
53 } 53 }
54 } 54 }
55 }, 55 },
56 56
@@ -65,37 +65,29 @@ exports.ElementController = Montage.create(Component, {
65 // borderSide : "top", "right", "bottom", or "left" 65 // borderSide : "top", "right", "bottom", or "left"
66 getColor: { 66 getColor: {
67 value: function(el, isFill, borderSide) { 67 value: function(el, isFill, borderSide) {
68 var colorObj, 68 var colorObj, color, image;
69 color,
70 image;
71 69
72 // Return cached value if one exists 70 // Return cached value if one exists
73 if(isFill) 71 if(isFill) {
74 { 72 if(el.elementModel.fill) {
75 if(el.elementModel.fill)
76 {
77 return el.elementModel.fill; 73 return el.elementModel.fill;
78 } 74 }
79 //TODO: Once logic for color and gradient is established, this needs to be revised 75 //TODO: Once logic for color and gradient is established, this needs to be revised
80 color = this.getProperty(el, "background-color"); 76 color = this.getProperty(el, "background-color");
81 image = this.getProperty(el, "background-image"); 77 image = this.getProperty(el, "background-image");
82 } 78 } else {
83 else
84 {
85 // Try getting border color from specific side first 79 // Try getting border color from specific side first
86 if(borderSide) 80 if(borderSide) {
87 {
88 color = this.getProperty(el, "border-" + borderSide + "-color"); 81 color = this.getProperty(el, "border-" + borderSide + "-color");
89 image = this.getProperty(el, "border-" + borderSide + "-image"); 82 image = this.getProperty(el, "border-" + borderSide + "-image");
90 } 83 }
91 84
92 // If no color was found, look up the shared border color 85 // If no color was found, look up the shared border color
93 if(!color && !image) 86 if(!color && !image) {
94 { 87 if(el.elementModel.stroke) {
95 if(el.elementModel.stroke)
96 {
97 return el.elementModel.stroke; 88 return el.elementModel.stroke;
98 } 89 }
90
99 color = this.getProperty(el, "border-color"); 91 color = this.getProperty(el, "border-color");
100 image = this.getProperty(el, "border-image"); 92 image = this.getProperty(el, "border-image");
101 } 93 }
@@ -112,17 +104,12 @@ exports.ElementController = Montage.create(Component, {
112 } 104 }
113 105
114 // Update cache 106 // Update cache
115 if(isFill) 107 if(isFill) {
116 {
117 el.elementModel.fill = colorObj; 108 el.elementModel.fill = colorObj;
118 } 109 } else if(!borderSide) {
119 else if(!borderSide)
120 {
121 // TODO - Need to update border style and width also 110 // TODO - Need to update border style and width also
122 el.elementModel.stroke = colorObj; 111 el.elementModel.stroke = colorObj;
123 } 112 } else {
124 else
125 {
126 // TODO - Should update specific border sides too 113 // TODO - Should update specific border sides too
127 } 114 }
128 115
@@ -133,10 +120,9 @@ exports.ElementController = Montage.create(Component, {
133 setColor: { 120 setColor: {
134 value: function(el, color, isFill) { 121 value: function(el, color, isFill) {
135 var mode = color.mode; 122 var mode = color.mode;
136 if(isFill) 123
137 { 124 if(isFill) {
138 if(mode) 125 if(mode) {
139 {
140 switch (mode) { 126 switch (mode) {
141 case 'nocolor': 127 case 'nocolor':
142 this.setProperty(el, "background-image", "none"); 128 this.setProperty(el, "background-image", "none");
@@ -152,12 +138,10 @@ exports.ElementController = Montage.create(Component, {
152 this.setProperty(el, "background-color", color.color.css); 138 this.setProperty(el, "background-color", color.color.css);
153 } 139 }
154 } 140 }
141
155 el.elementModel.fill = color; 142 el.elementModel.fill = color;
156 } 143 } else {
157 else