aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--js/controllers/elements/component-controller.js14
-rw-r--r--js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.js8
-rw-r--r--node_modules/components-data/checkbox.json38
-rw-r--r--node_modules/components-data/image.json16
-rw-r--r--node_modules/components-data/number-input.json17
-rw-r--r--node_modules/components-data/radio-button.json39
-rw-r--r--node_modules/components-data/range-input.json17
-rw-r--r--node_modules/components-data/textarea.json21
-rw-r--r--node_modules/components-data/toggle-button.json25
9 files changed, 155 insertions, 40 deletions
diff --git a/js/controllers/elements/component-controller.js b/js/controllers/elements/component-controller.js
index 7fa62d1e..83450d0f 100644
--- a/js/controllers/elements/component-controller.js
+++ b/js/controllers/elements/component-controller.js
@@ -18,7 +18,11 @@ exports.ComponentController = Montage.create(ElementController, {
18 case "top": 18 case "top":
19 case "width": 19 case "width":
20 case "height": 20 case "height":
21 return ElementController.getProperty(el, prop, true); 21 if(el.nodeName === "IMG" && (prop === "width" || prop === "height")) {
22 return this.application.ninja.currentDocument.getComponentFromElement(el)[prop];
23 } else {
24 return ElementController.getProperty(el, prop, true);
25 }
22 default: 26 default:
23 return this.application.ninja.currentDocument.getComponentFromElement(el)[prop]; 27 return this.application.ninja.currentDocument.getComponentFromElement(el)[prop];
24 } 28 }
@@ -34,9 +38,15 @@ exports.ComponentController = Montage.create(ElementController, {
34 case "top": 38 case "top":
35 case "width": 39 case "width":
36 case "height": 40 case "height":
37 ElementController.setProperty(el, p, value); 41 if(el.nodeName === "IMG" && (p === "width" || p === "height")) {
42 this.application.ninja.currentDocument.getComponentFromElement(el)[p] = value;
43 } else {
44 ElementController.setProperty(el, p, value);
45 }
38 break; 46 break;
39 default: 47 default:
48 if(p === "min" || p === "max") value = parseFloat(value);
49
40 this.application.ninja.currentDocument.getComponentFromElement(el)[p] = value; 50 this.application.ninja.currentDocument.getComponentFromElement(el)[p] = value;
41 break; 51 break;
42 52
diff --git a/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.js b/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.js
index 987cd6b5..bcb14013 100644
--- a/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.js
+++ b/js/panels/Components/ComponentsPanelBase.reel/ComponentsPanelBase.js
@@ -195,6 +195,8 @@ var ComponentsPanelBase = exports.ComponentsPanelBase = Montage.create(Component
195 return "checkbox"; 195 return "checkbox";
196 case "select": 196 case "select":
197 return "dropdown"; 197 return "dropdown";
198 case "number":
199 return "hottext";
198 default: 200 default:
199 alert("Conversion not implemented for ", type); 201 alert("Conversion not implemented for ", type);
200 } 202 }
@@ -287,7 +289,9 @@ var ComponentsPanelBase = exports.ComponentsPanelBase = Montage.create(Component
287 break; 289 break;
288 case "imageComponent": 290 case "imageComponent":
289 el = NJUtils.makeNJElement("image", "Image", "component"); 291 el = NJUtils.makeNJElement("image", "Image", "component");
290 el.elementModel.pi = "ImageComponentPi"; 292 el.elementModel.pi = "ImagePi";
293 el.setAttribute("width", 200);
294 el.setAttribute("height", 200);
291 break; 295 break;
292 case "numberInput": 296 case "numberInput":
293 el = NJUtils.makeNJElement("input", "Number Input", "component"); 297 el = NJUtils.makeNJElement("input", "Number Input", "component");
@@ -315,7 +319,7 @@ var ComponentsPanelBase = exports.ComponentsPanelBase = Montage.create(Component
315 break; 319 break;
316 case "textarea": 320 case "textarea":
317 el = NJUtils.makeNJElement("textarea", "TextArea", "component"); 321 el = NJUtils.makeNJElement("textarea", "TextArea", "component");
318 el.elementModel.pi = "TextArea"; 322 el.elementModel.pi = "TextAreaPi";
319 break; 323 break;
320 case "toggleButton": 324 case "toggleButton":
321 el = NJUtils.makeNJElement("button", "Toggle Button", "component"); 325 el = NJUtils.makeNJElement("button", "Toggle Button", "component");
diff --git a/node_modules/components-data/checkbox.json b/node_modules/components-data/checkbox.json
index 8991d210..a03ee00f 100644
--- a/node_modules/components-data/checkbox.json
+++ b/node_modules/components-data/checkbox.json
@@ -8,14 +8,44 @@
8 "properties": [ 8 "properties": [
9 9
10 { 10 {
11 "name": "label", 11 "name": "autofocus",
12 "type": "boolean",
13 "default": "false"
14 },
15 {
16 "name": "disabled",
17 "type": "boolean",
18 "default": "false"
19 },
20 {
21 "name": "checked",
22 "type": "boolean",
23 "default": "false"
24 },
25 {
26 "name": "form",
12 "type": "string", 27 "type": "string",
13 "default": "Button" 28 "default": ""
14 }, 29 },
15 { 30 {
16 "name": "enabled", 31 "name": "name",
32 "type": "string",
33 "default": ""
34 },
35 {
36 "name": "readonly",
17 "type": "boolean", 37 "type": "boolean",
18 "default": "true" 38 "default": null
39 },
40 {
41 "name": "title",
42 "type": "string",
43 "default": ""
44 },
45 {
46 "name": "value",
47 "type": "string",
48 "default": "on"
19 } 49 }
20 ] 50 ]
21} \ No newline at end of file 51} \ No newline at end of file
diff --git a/node_modules/components-data/image.json b/node_modules/components-data/image.json
index 4a90ec5b..d6080196 100644
--- a/node_modules/components-data/image.json
+++ b/node_modules/components-data/image.json
@@ -8,14 +8,20 @@
8 "properties": [ 8 "properties": [
9 9
10 { 10 {
11 "name": "label", 11 "name": "alt",
12 "type": "string", 12 "type": "string",
13 "default": "Button" 13 "default": ""
14 }, 14 },
15 { 15 {
16 "name": "enabled", 16 "name": "src",
17 "type": "boolean", 17 "type": "string",
18 "default": "true" 18 "default": ""
19 },
20 {
21 "name": "title",
22 "type": "string",
23 "default": ""
19 } 24 }
25
20 ] 26 ]
21} \ No newline at end of file 27} \ No newline at end of file
diff --git a/node_modules/components-data/number-input.json b/node_modules/components-data/number-input.json
index 1898ec4f..d446fc37 100644
--- a/node_modules/components-data/number-input.json
+++ b/node_modules/components-data/number-input.json
@@ -8,14 +8,19 @@
8 "properties": [ 8 "properties": [
9 9
10 { 10 {
11 "name": "label", 11 "name": "min",
12 "type": "string", 12 "type": "number",
13 "default": "Button" 13 "default": null
14 },
15 {
16 "name": "max",
17 "type": "number",
18 "default": null
14 }, 19 },
15 { 20 {
16 "name": "enabled", 21 "name": "step",
17 "type": "boolean", 22 "type": "string",
18 "default": "true" 23 "default": null
19 } 24 }
20 ] 25 ]
21} \ No newline at end of file 26} \ No newline at end of file
diff --git a/node_modules/components-data/radio-button.json b/node_modules/components-data/radio-button.json
index e76cc6b4..4763453a 100644
--- a/node_modules/components-data/radio-button.json
+++ b/node_modules/components-data/radio-button.json
@@ -6,16 +6,45 @@
6 "name": "RadioButton", 6 "name": "RadioButton",
7 7
8 "properties": [ 8 "properties": [
9
10 { 9 {
11 "name": "label", 10 "name": "autofocus",
11 "type": "boolean",
12 "default": "false"
13 },
14 {
15 "name": "disabled",
16 "type": "boolean",
17 "default": "false"
18 },
19 {
20 "name": "checked",