OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 /** | 5 /** |
6 * @fileoverview | 6 * @fileoverview |
7 * `cr-checkbox` is a button that can be either checked or unchecked. User | 7 * `cr-checkbox` is a button that can be either checked or unchecked. User |
8 * can tap the checkbox to check or uncheck it. Usually you use checkboxes | 8 * can tap the checkbox to check or uncheck it. Usually you use checkboxes |
9 * to allow user to select multiple options from a set. If you have a single | 9 * to allow user to select multiple options from a set. If you have a single |
10 * ON/OFF option, avoid using a single checkbox and use `cr-toggle-button` | 10 * ON/OFF option, avoid using a single checkbox and use `cr-toggle-button` |
11 * instead. | 11 * instead. |
12 * | 12 * |
13 * Example: | 13 * Example: |
14 * <cr-checkbox></cr-checkbox> | 14 * <cr-checkbox></cr-checkbox> |
15 * <cr-checkbox checked></cr-checkbox> | 15 * <cr-checkbox checked></cr-checkbox> |
16 * | 16 * |
17 * @element cr-checkbox | 17 * @element cr-checkbox |
18 */ | 18 */ |
19 Polymer({ | 19 Polymer({ |
20 publish: { | 20 is: 'cr-checkbox', |
| 21 |
| 22 properties: { |
21 /** | 23 /** |
22 * Gets or sets the state. `true` is checked and `false` is unchecked. | 24 * Gets or sets the state. `true` is checked and `false` is unchecked. |
23 * | 25 * |
24 * @attribute checked | 26 * @attribute checked |
25 * @type boolean | 27 * @type {boolean} |
26 * @default false | 28 * @default false |
27 */ | 29 */ |
28 checked: {value: false, reflect: true}, | 30 checked: { |
29 | 31 type: Boolean, |
30 /** | 32 value: false, |
31 * The label for the checkbox. | 33 reflectToAttribute: true |
32 * | 34 }, |
33 * @attribute label | |
34 * @type string | |
35 * @default '' | |
36 */ | |
37 label: '', | |
38 | 35 |
39 /** | 36 /** |
40 * If true, the user cannot interact with this element. | 37 * If true, the user cannot interact with this element. |
41 * | 38 * |
42 * @attribute disabled | 39 * @attribute disabled |
43 * @type boolean | 40 * @type {boolean} |
44 * @default false | 41 * @default false |
45 */ | 42 */ |
46 disabled: {value: false, reflect: true}, | 43 disabled: { |
| 44 type: Boolean, |
| 45 value: false, |
| 46 reflectToAttribute: true |
| 47 }, |
47 }, | 48 }, |
48 | 49 |
49 toggle: function() { | 50 toggle: function() { |
50 this.$.checkbox.toggle(); | 51 this.$.checkbox.toggle(); |
51 }, | 52 }, |
52 | |
53 ready: function() { | |
54 this.$.events.forward(this.$.checkbox, ['change']); | |
55 }, | |
56 }); | 53 }); |
OLD | NEW |