aboutsummaryrefslogtreecommitdiff
path: root/js/components/ui/label-checkbox.reel
diff options
context:
space:
mode:
authorAnanya Sen2012-05-31 10:13:40 -0700
committerAnanya Sen2012-05-31 10:13:40 -0700
commit286457b4f23974277274ba388afd283e8aa085cb (patch)
treec21bf791e7c4f572d12f97987ea6b89e74da67fe /js/components/ui/label-checkbox.reel
parent4d9b481c58090e8f1fc7b0e9d73a81b0f49cccc8 (diff)
parentd49c909cff7f0c5e5d0b127ad84a2fefc6677dc6 (diff)
downloadninja-286457b4f23974277274ba388afd283e8aa085cb.tar.gz
Merge branch 'refs/heads/ninja-internal-master' into cut-copy-paste
Conflicts: js/controllers/styles-controller.js Signed-off-by: Ananya Sen <Ananya.Sen@motorola.com>
Diffstat (limited to 'js/components/ui/label-checkbox.reel')
-rw-r--r--js/components/ui/label-checkbox.reel/label-checkbox.css9
-rwxr-xr-xjs/components/ui/label-checkbox.reel/label-checkbox.html54
-rwxr-xr-xjs/components/ui/label-checkbox.reel/label-checkbox.js87
3 files changed, 150 insertions, 0 deletions
diff --git a/js/components/ui/label-checkbox.reel/label-checkbox.css b/js/components/ui/label-checkbox.reel/label-checkbox.css
new file mode 100644
index 00000000..6eb75a0e
--- /dev/null
+++ b/js/components/ui/label-checkbox.reel/label-checkbox.css
@@ -0,0 +1,9 @@
1/* <copyright>
2 This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
3 No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
4 (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
5 </copyright> */
6
7.label-checkbox {
8 display: inline-block;
9} \ No newline at end of file
diff --git a/js/components/ui/label-checkbox.reel/label-checkbox.html b/js/components/ui/label-checkbox.reel/label-checkbox.html
new file mode 100755
index 00000000..0efc7ae0
--- /dev/null
+++ b/js/components/ui/label-checkbox.reel/label-checkbox.html
@@ -0,0 +1,54 @@
1<!DOCTYPE html>
2<!-- <copyright>
3 This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
4 No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
5 (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
6 </copyright> -->
7<html>
8<head>
9 <link rel="stylesheet" href="label-checkbox.css" />
10 <script type="text/montage-serialization">
11 {
12 "owner": {
13 "prototype": "js/components/ui/label-checkbox.reel",
14 "properties": {
15 "element": {"#": "labelCheckbox"},
16
17 "_checkbox": {"@": "checkbox"},
18 "_labelText": {"@": "labelText"}
19 }
20 },
21
22 "checkbox": {
23 "prototype": "montage/ui/checkbox.reel",
24 "properties": {
25 "element": {"#": "checkbox"},
26 "checked": false
27 },
28 "listeners": [
29 {
30 "type": "action",
31 "listener": {"@": "owner"},
32 "capture": false
33 }
34 ]
35 },
36
37 "labelText": {
38 "prototype": "montage/ui/dynamic-text.reel",
39 "properties": {
40 "element": {"#": "label"}
41 }
42 }
43 }
44 </script>
45</head>
46<body>
47 <!--<span data-montage-id="labelCheckbox" class="labelCheckbox">-->
48 <label data-montage-id="labelCheckbox" class="label-checkbox">
49 <input data-montage-id="checkbox" class="nj-skinned" type="checkbox">
50 <span data-montage-id="label" class="checkbox-label"></span>
51 </label>
52 <!--</span>-->
53</body>
54</html> \ No newline at end of file
diff --git a/js/components/ui/label-checkbox.reel/label-checkbox.js b/js/components/ui/label-checkbox.reel/label-checkbox.js
new file mode 100755
index 00000000..21b72cb5
--- /dev/null
+++ b/js/components/ui/label-checkbox.reel/label-checkbox.js
@@ -0,0 +1,87 @@
1/* <copyright>
2This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
3No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
4(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
5</copyright> */
6
7var Montage = require("montage/core/core").Montage;
8var Component = require("montage/ui/component").Component;
9
10exports.LabelCheckbox = Montage.create(Component, {
11
12 _label: {
13 value: ""
14 },
15
16 label: {
17 get: function() {
18 return this._label;
19 },
20 set: function(value) {
21 if(this._label !== value) {
22 this._label = value;
23 this.needsDraw = true;
24 }
25 }
26 },
27
28 _checked: {
29 value: false
30 },
31
32 checked: {
33 serializable: true,
34 get: function() {
35 return this._checked;
36 },
37 set: function(value) {
38 if(this._checked !== value) {
39 this._checked = value;
40 this.needsDraw = true;
41 }
42 }
43 },
44
45 _enabled: {
46 enumerable: false,
47 value: true
48 },
49
50 enabled: {
51 enumerable: true,
52 serializable: true,
53 get: function() {
54 return this._enabled;
55 },
56 set: function(value) {
57 if(value !== this._enabled) {
58 this._enabled = value;
59 this.needsDraw = true;
60 }
61 }
62 },
63
64 value: {
65 value: false
66 },
67
68 handleAction: {
69 value: function(event) {
70 var e = document.createEvent("CustomEvent");
71 e.initEvent("change", true, true);
72 e.type = "change";
73 e.wasSetByCode = false;
74 this.checked = this.value = e.value = this._checkbox.checked;
75 this.dispatchEvent(e);
76 }
77 },
78
79 draw: {
80 value: function() {
81 this._labelText.value = this.label;
82 this._checkbox.checked = this.checked;
83 this._checkbox.disabled = !this._enabled;
84 }
85
86 }
87}); \ No newline at end of file