aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rwxr-xr-xjs/controllers/elements/component-controller.js53
-rwxr-xr-xjs/controllers/elements/shapes-controller.js1
-rw-r--r--js/document/templates/montage-html/main.reel/main.js5
-rwxr-xr-xjs/lib/NJUtils.js22
-rwxr-xr-xjs/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.js99
-rwxr-xr-xjs/tools/BrushTool.js2
-rwxr-xr-xjs/tools/LineTool.js2
-rwxr-xr-xjs/tools/PenTool.js2
-rwxr-xr-xjs/tools/ShapeTool.js2
9 files changed, 153 insertions, 35 deletions
diff --git a/js/controllers/elements/component-controller.js b/js/controllers/elements/component-controller.js
index 33b9b79a..83450d0f 100755
--- a/js/controllers/elements/component-controller.js
+++ b/js/controllers/elements/component-controller.js
@@ -12,20 +12,19 @@ exports.ComponentController = Montage.create(ElementController, {
12 getProperty: { 12 getProperty: {
13 value: function(el, prop) { 13 value: function(el, prop) {
14 switch(prop) { 14 switch(prop) {
15 case "label": 15 case "id":
16 return this.application.ninja.currentDocument.getComponentFromElement(el).label; 16 case "class":
17 break; 17 case "left":
18 case "enabled": 18 case "top":
19 return this.application.ninja.currentDocument.getComponentFromElement(el).enabled; 19 case "width":
20 break; 20 case "height":
21 case "disabled": 21 if(el.nodeName === "IMG" && (prop === "width" || prop === "height")) {
22 return this.application.ninja.currentDocument.getComponentFromElement(el).disabled; 22 return this.application.ninja.currentDocument.getComponentFromElement(el)[prop];
23 break; 23 } else {
24 case "value": 24 return ElementController.getProperty(el, prop, true);
25 return this.application.ninja.currentDocument.getComponentFromElement(el).value; 25 }
26 break;
27 default: 26 default:
28 return ElementController.getProperty(el, prop, true); 27 return this.application.ninja.currentDocument.getComponentFromElement(el)[prop];
29 } 28 }
30 } 29 }
31 }, 30 },
@@ -33,20 +32,24 @@ exports.ComponentController = Montage.create(ElementController, {
33 setProperty: { 32 setProperty: {
34 value: function(el, p, value) { 33 value: function(el, p, value) {
35 switch(p) { 34 switch(p) {
36 case "label": 35 case "id":
37 this.application.ninja.currentDocument.getComponentFromElement(el).label = value; 36 case "class":
38 break; 37 case "left":
39 case "enabled": 38 case "top":
40 this.application.ninja.currentDocument.getComponentFromElement(el).enabled = value; 39 case "width":
41 break; 40 case "height":
42 case "disabled": 41 if(el.nodeName === "IMG" && (p === "width" || p === "height")) {
43 this.application.ninja.currentDocument.getComponentFromElement(el).disabled = value; 42 this.application.ninja.currentDocument.getComponentFromElement(el)[p] = value;
44 break; 43 } else {
45 case "value": 44 ElementController.setProperty(el, p, value);
46 this.application.ninja.currentDocument.getComponentFromElement(el).value = value; 45 }
47 break; 46 break;
48 default: 47 default:
49 ElementController.setProperty(el, p, value); 48 if(p === "min" || p === "max") value = parseFloat(value);
49
50 this.application.ninja.currentDocument.getComponentFromElement(el)[p] = value;
51 break;
52
50 } 53 }
51 } 54 }
52 } 55 }
diff --git a/js/controllers/elements/shapes-controller.js b/js/controllers/elements/shapes-controller.js
index 640119c4..15a18a51 100755
--- a/js/controllers/elements/shapes-controller.js
+++ b/js/controllers/elements/shapes-controller.js
@@ -59,6 +59,7 @@ exports.ShapesController = Montage.create(CanvasController, {
59 break; 59 break;
60 case "useWebGl": 60 case "useWebGl":
61 var canvas = njModule.NJUtils.makeNJElement("canvas", "Canvas", "shape", el.className, true); 61 var canvas = njModule.NJUtils.makeNJElement("canvas", "Canvas", "shape", el.className, true);
62 canvas.setAttribute("data-RDGE-id", njModule.NJUtils.generateRandom());
62 canvas.width = el.width; 63 canvas.width = el.width;
63 canvas.height = el.height; 64 canvas.height = el.height;
64 this.application.ninja.elementMediator.replaceElement(el, canvas); 65 this.application.ninja.elementMediator.replaceElement(el, canvas);
diff --git a/js/document/templates/montage-html/main.reel/main.js b/js/document/templates/montage-html/main.reel/main.js
index 86871fd3..567f481c 100644
--- a/js/document/templates/montage-html/main.reel/main.js
+++ b/js/document/templates/montage-html/main.reel/main.js
@@ -6,8 +6,6 @@
6var Montage = require("montage/core/core").Montage, 6var Montage = require("montage/core/core").Montage,
7 Component = require("montage/ui/component").Component; 7 Component = require("montage/ui/component").Component;
8 8
9//var Button = ("montage/ui/button.reel").Button;
10
11exports.Main = Montage.create(Component, { 9exports.Main = Montage.create(Component, {
12 10
13 hasTemplate: { 11 hasTemplate: {
@@ -31,6 +29,7 @@ exports.Main = Montage.create(Component, {
31 } 29 }
32 }, 30 },
33 31
32 // Adding components to the user document by using a async require.
34 addComponentToUserDocument:{ 33 addComponentToUserDocument:{
35 value:function(element, data, callback){ 34 value:function(element, data, callback){
36 35
@@ -42,7 +41,7 @@ exports.Main = Montage.create(Component, {
42 var componentInstance = componentRequire.create(); 41 var componentInstance = componentRequire.create();
43 42
44 componentInstance.element = element; 43 componentInstance.element = element;
45 componentInstance.deserializedFromTemplate(); 44 //componentInstance.deserializedFromTemplate();
46 componentInstance.needsDraw = true; 45 componentInstance.needsDraw = true;
47 46
48 callback(componentInstance, element); 47 callback(componentInstance, element);
diff --git a/js/lib/NJUtils.js b/js/lib/NJUtils.js
index 8daafa42..887743c5 100755
--- a/js/lib/NJUtils.js
+++ b/js/lib/NJUtils.js
@@ -5,6 +5,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
5</copyright> */ 5</copyright> */
6 6
7var Montage = require("montage/core/core").Montage, 7var Montage = require("montage/core/core").Montage,
8 Uuid = require("montage/core/uuid").Uuid,
8 ElementModel = require("js/models/element-model").ElementModel, 9 ElementModel = require("js/models/element-model").ElementModel,
9 Properties3D = require("js/models/properties-3d").Properties3D, 10 Properties3D = require("js/models/properties-3d").Properties3D,
10 ShapeModel = require("js/models/shape-model").ShapeModel, 11 ShapeModel = require("js/models/shape-model").ShapeModel,
@@ -56,13 +57,18 @@ exports.NJUtils = Object.create(Object.prototype, {
56 57
57 ///// Quick "createElement" function "attr" can be classname or object 58 ///// Quick "createElement" function "attr" can be classname or object
58 ///// with attribute key/values 59 ///// with attribute key/values
60 ///// Suppor for data attributes
59 make : { 61 make : {
60 value: function(tag, attr) { 62 value: function(tag, attr) {
61 var el = document.createElement(tag); 63 var el = document.createElement(tag);
62 if (typeof attr === 'object') { 64 if (typeof attr === 'object') {
63 for (var a in attr) { 65 for (var a in attr) {
64 if (attr.hasOwnProperty(a)) { 66 if (attr.hasOwnProperty(a)) {
65 el[a] = attr[a]; 67 if(a.indexOf("data-") > -1) {
68 el.setAttribute(a, attr[a]);
69 } else {
70 el[a] = attr[a];
71 }
66 } 72 }
67 } 73 }
68 } else if (typeof attr === 'string') { 74 } else if (typeof attr === 'string') {
@@ -247,6 +253,20 @@ exports.NJUtils = Object.create(Object.prototype, {
247 } 253 }
248 return status; 254 return status;
249 } 255 }
256 },
257
258 /* ================= misc methods ================= */
259
260 // Generates an alpha-numeric random number
261 // len: number of chars
262 // default length is '8'
263 generateRandom: {
264 value: function(len) {
265 var length;
266 len ? length = len : length = 8;
267
268 return Uuid.generate().substring(0,length);
269 }
250 } 270 }
251 271
252}); 272});
diff --git a/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.js b/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.js
index 7e5a76ee..b4eec771 100755
--- a/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.js
+++ b/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.js
@@ -26,14 +26,59 @@ var ComponentsPanelBase = exports.ComponentsPanelBase = Montage.create(Component
26 "text": "Montage Components", 26 "text": "Montage Components",
27 "children": [ 27 "children": [
28 { 28 {
29 "text": "Anchor",
30 "dataFile" : "node_modules/components-data/anchor.json",
31 "component": "anchor"
32 },
33 {
29 "text": "Button", 34 "text": "Button",
30 "dataFile" : "node_modules/components-data/button.json", 35 "dataFile" : "node_modules/components-data/button.json",
31 "component": "button" 36 "component": "button"
32 }, 37 },
33 { 38 {
39 "text": "Checkbox",
40 "dataFile" : "node_modules/components-data/checkbox.json",
41 "component": "checkbox"
42 },
43 {
44