aboutsummaryrefslogtreecommitdiff
path: root/js/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'js/controllers')
-rwxr-xr-xjs/controllers/color-controller.js1
-rwxr-xr-xjs/controllers/document-controller.js14
-rwxr-xr-xjs/controllers/elements/component-controller.js13
-rwxr-xr-xjs/controllers/elements/shapes-controller.js47
-rw-r--r--js/controllers/presets-controller.js108
-rwxr-xr-xjs/controllers/selection-controller.js12
6 files changed, 181 insertions, 14 deletions
diff --git a/js/controllers/color-controller.js b/js/controllers/color-controller.js
index 53573baf..c6d664cf 100755
--- a/js/controllers/color-controller.js
+++ b/js/controllers/color-controller.js
@@ -198,7 +198,6 @@ exports.ColorController = Montage.create(Component, {
198 handleChange: { 198 handleChange: {
199 enumerable: true, 199 enumerable: true,
200 value: function (e) { 200 value: function (e) {
201
202 // 201 //
203 var actionEvent, color, input = e._event.input, panelMode, mode = e._event.mode; 202 var actionEvent, color, input = e._event.input, panelMode, mode = e._event.mode;
204 if (this.colorView) { 203 if (this.colorView) {
diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js
index 4363e440..a308f191 100755
--- a/js/controllers/document-controller.js
+++ b/js/controllers/document-controller.js
@@ -73,22 +73,29 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
73 73
74 this.eventManager.addEventListener("styleSheetDirty", this, false); 74 this.eventManager.addEventListener("styleSheetDirty", this, false);
75 75
76 this.eventManager.addEventListener("addComponentFirstDraw", this, false);
76 } 77 }
77 }, 78 },
78 79
79 80 handleAddComponentFirstDraw: {
81 value: function (e) {
82 //TODO: Add logic to reparse the document for dynamically added styles
83 console.log(e);
84 }
85 },
80 86
81 87
82 88
83 89
84 90
85 //////////////////////////////////////////////////////////////////// 91////////////////////////////////////////////////////////////////////
86 // 92 //
87 handleWebRequest: { 93 handleWebRequest: {
88 value: function (request) { 94 value: function (request) {
89 //TODO: Check if frameId is proper 95 //TODO: Check if frameId is proper
90 if (this._hackRootFlag && request.parentFrameId !== -1) { 96 if (this._hackRootFlag && request.parentFrameId !== -1) {
91 //TODO: Optimize creating string 97 //TODO: Optimize creating string
98 //console.log(request);
92 //console.log(this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1], request.url); 99 //console.log(this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1], request.url);
93 //return {redirectUrl: this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]+request.url.split('/')[request.url.split('/').length-1]}; 100 //return {redirectUrl: this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]+request.url.split('/')[request.url.split('/').length-1]};
94 return {redirectUrl: this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]+request.url.split(chrome.extension.getURL('js/document/templates/montage-html/'))[1]}; 101 return {redirectUrl: this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]+request.url.split(chrome.extension.getURL('js/document/templates/montage-html/'))[1]};
@@ -112,6 +119,7 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
112 }, 119 },
113 //////////////////////////////////////////////////////////////////// 120 ////////////////////////////////////////////////////////////////////
114 121
122
115 123
116 124
117 125
diff --git a/js/controllers/elements/component-controller.js b/js/controllers/elements/component-controller.js
index 83450d0f..260ee8a0 100755
--- a/js/controllers/elements/component-controller.js
+++ b/js/controllers/elements/component-controller.js
@@ -11,6 +11,8 @@ exports.ComponentController = Montage.create(ElementController, {
11 11
12 getProperty: { 12 getProperty: {
13 value: function(el, prop) { 13 value: function(el, prop) {
14 var component = el.controller || this.application.ninja.currentDocument.getComponentFromElement(el);
15
14 switch(prop) { 16 switch(prop) {
15 case "id": 17 case "id":
16 case "class": 18 case "class":
@@ -19,18 +21,20 @@ exports.ComponentController = Montage.create(ElementController, {
19 case "width": 21 case "width":
20 case "height": 22 case "height":
21 if(el.nodeName === "IMG" && (prop === "width" || prop === "height")) { 23 if(el.nodeName === "IMG" && (prop === "width" || prop === "height")) {
22 return this.application.ninja.currentDocument.getComponentFromElement(el)[prop]; 24 return component[prop];
23 } else { 25 } else {
24 return ElementController.getProperty(el, prop, true); 26 return ElementController.getProperty(el, prop, true);
25 } 27 }
26 default: 28 default:
27 return this.application.ninja.currentDocument.getComponentFromElement(el)[prop]; 29 return component[prop];
28 } 30 }
29 } 31 }
30 }, 32 },
31 33
32 setProperty: { 34 setProperty: {
33 value: function(el, p, value) { 35 value: function(el, p, value) {
36 var component = el.controller || this.application.ninja.currentDocument.getComponentFromElement(el);
37
34 switch(p) { 38 switch(p) {
35 case "id": 39 case "id":
36 case "class": 40 case "class":
@@ -39,15 +43,14 @@ exports.ComponentController = Montage.create(ElementController, {
39 case "width": 43 case "width":
40 case "height": 44 case "height":
41 if(el.nodeName === "IMG" && (p === "width" || p === "height")) { 45 if(el.nodeName === "IMG" && (p === "width" || p === "height")) {
42 this.application.ninja.currentDocument.getComponentFromElement(el)[p] = value; 46 component[p] = value;
43 } else { 47 } else {
44 ElementController.setProperty(el, p, value); 48 ElementController.setProperty(el, p, value);
45 } 49 }
46 break; 50 break;
47 default: 51 default:
48 if(p === "min" || p === "max") value = parseFloat(value); 52 if(p === "min" || p === "max") value = parseFloat(value);
49 53 component[p] = value;
50 this.application.ninja.currentDocument.getComponentFromElement(el)[p] = value;
51 break; 54 break;
52 55
53 } 56 }
diff --git a/js/controllers/elements/shapes-controller.js b/js/controllers/elements/shapes-controller.js
index b3ac9ddb..f0e9458b 100755
--- a/js/controllers/elements/shapes-controller.js
+++ b/js/controllers/elements/shapes-controller.js
@@ -105,6 +105,20 @@ exports.ShapesController = Montage.create(CanvasController, {
105 case "editFillMaterial": 105 case "editFillMaterial":
106 NJevent("showMaterialPopup",{materialId : el.elementModel.shapeModel.fillMaterial.getName()}); 106 NJevent("showMaterialPopup",{materialId : el.elementModel.shapeModel.fillMaterial.getName()});
107 break; 107 break;
108 case "animate":
109 if(value)
110 {
111 el.elementModel.shapeModel.animate = true;
112 el.elementModel.shapeModel.GLWorld._previewAnimation = true;
113 el.elementModel.shapeModel.GLWorld.restartRenderLoop();
114 }
115 else
116 {
117 el.elementModel.shapeModel.animate = false;
118 el.elementModel.shapeModel.GLWorld._previewAnimation = false;
119 el.elementModel.shapeModel.GLWorld._canvas.task.stop();
120 }
121 break;
108 default: 122 default:
109 CanvasController.setProperty(el, p, value); 123 CanvasController.setProperty(el, p, value);
110 } 124 }
@@ -123,6 +137,7 @@ exports.ShapesController = Montage.create(CanvasController, {
123 case "border": 137 case "border":
124 case "background": 138 case "background":
125 case "useWebGl": 139 case "useWebGl":
140 case "animate":
126 return this.getShapeProperty(el, p); 141 return this.getShapeProperty(el, p);
127 case "strokeMaterial": 142 case "strokeMaterial":
128 case "fillMaterial": 143 case "fillMaterial":
@@ -259,6 +274,10 @@ exports.ShapesController = Montage.create(CanvasController, {
259 color = this.getShapeProperty(el, "stroke"); 274 color = this.getShapeProperty(el, "stroke");
260 } 275 }
261 276
277 if(!css) {
278 return null;
279 }
280
262 css = this.application.ninja.colorController.colorModel.webGlToCss(color); 281 css = this.application.ninja.colorController.colorModel.webGlToCss(color);
263 return this.application.ninja.colorController.getColorObjFromCss(css); 282 return this.application.ninja.colorController.getColorObjFromCss(css);
264 } 283 }
@@ -489,13 +508,14 @@ exports.ShapesController = Montage.create(CanvasController, {
489 var sm, 508 var sm,
490 fm, 509 fm,
491 world, 510 world,
492 worldData = el.elementModel.shapeModel.GLWorld.export(); 511 worldData = el.elementModel.shapeModel.GLWorld.exportJSON();
493 if(worldData) 512 if(worldData)
494 { 513 {
514 worldData = this.flip3DSense (worldData );
495 world = new World(el, true); 515 world = new World(el, true);
496 el.elementModel.shapeModel.GLWorld = world; 516 el.elementModel.shapeModel.GLWorld = world;
497 el.elementModel.shapeModel.useWebGl = true; 517 el.elementModel.shapeModel.useWebGl = true;
498 world.import(worldData); 518 world.importJSON(worldData);
499 el.elementModel.shapeModel.GLGeomObj = world.getGeomRoot(); 519 el.elementModel.shapeModel.GLGeomObj = world.getGeomRoot();
500 520
501 sm = Object.create(MaterialsModel.getMaterial("FlatMaterial")); 521 sm = Object.create(MaterialsModel.getMaterial("FlatMaterial"));
@@ -525,13 +545,14 @@ exports.ShapesController = Montage.create(CanvasController, {