OLD | NEW |
1 <!-- | 1 <!-- |
2 @license | 2 @license |
3 Copyright (c) 2015 The Polymer Project Authors. All rights reserved. | 3 Copyright (c) 2015 The Polymer Project Authors. All rights reserved. |
4 This code may only be used under the BSD style license found at http://polymer.g
ithub.io/LICENSE.txt | 4 This code may only be used under the BSD style license found at http://polymer.g
ithub.io/LICENSE.txt |
5 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt | 5 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt |
6 The complete set of contributors may be found at http://polymer.github.io/CONTRI
BUTORS.txt | 6 The complete set of contributors may be found at http://polymer.github.io/CONTRI
BUTORS.txt |
7 Code distributed by Google as part of the polymer project is also | 7 Code distributed by Google as part of the polymer project is also |
8 subject to an additional IP rights grant found at http://polymer.github.io/PATEN
TS.txt | 8 subject to an additional IP rights grant found at http://polymer.github.io/PATEN
TS.txt |
9 --> | 9 --> |
10 | 10 |
11 <link rel="import" href="../polymer/polymer.html"> | 11 <link rel="import" href="../polymer/polymer.html"> |
12 <link rel="import" href="../paper-ripple/paper-ripple.html"> | 12 <link rel="import" href="../paper-ripple/paper-ripple.html"> |
13 <link rel="import" href="../paper-behaviors/paper-button-behavior.html"> | 13 <link rel="import" href="../paper-behaviors/paper-radio-button-behavior.html"> |
14 | 14 |
15 <!-- | 15 <!-- |
16 `paper-toggle-button` provides a ON/OFF switch that user can toggle the state | 16 `paper-toggle-button` provides a ON/OFF switch that user can toggle the state |
17 by tapping or by dragging the swtich. | 17 by tapping or by dragging the swtich. |
18 | 18 |
19 Example: | 19 Example: |
20 | 20 |
21 <paper-toggle-button></paper-toggle-button> | 21 <paper-toggle-button></paper-toggle-button> |
22 | 22 |
23 Styling toggle-button: | 23 Styling toggle-button: |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 </div> | 60 </div> |
61 </div> | 61 </div> |
62 | 62 |
63 </template> | 63 </template> |
64 | 64 |
65 <script> | 65 <script> |
66 Polymer({ | 66 Polymer({ |
67 is: 'paper-toggle-button', | 67 is: 'paper-toggle-button', |
68 | 68 |
69 behaviors: [ | 69 behaviors: [ |
70 Polymer.PaperButtonBehavior | 70 Polymer.PaperRadioButtonBehavior |
71 ], | 71 ], |
72 | 72 |
73 // The custom properties shim is currently an opt-in feature. | 73 // The custom properties shim is currently an opt-in feature. |
74 enableCustomStyleProperties: true, | 74 enableCustomStyleProperties: true, |
75 | 75 |
76 hostAttributes: { | 76 hostAttributes: { |
77 role: 'button', | 77 role: 'button', |
78 'aria-pressed': 'false', | 78 'aria-pressed': 'false', |
79 tabindex: 0 | 79 tabindex: 0 |
80 }, | 80 }, |
(...skipping 13 matching lines...) Expand all Loading... |
94 * Gets or sets the state, `true` is checked and `false` is unchecked. | 94 * Gets or sets the state, `true` is checked and `false` is unchecked. |
95 * | 95 * |
96 * @attribute checked | 96 * @attribute checked |
97 * @type boolean | 97 * @type boolean |
98 * @default false | 98 * @default false |
99 */ | 99 */ |
100 checked: { | 100 checked: { |
101 type: Boolean, | 101 type: Boolean, |
102 value: false, | 102 value: false, |
103 reflectToAttribute: true, | 103 reflectToAttribute: true, |
| 104 notify: true, |
104 observer: '_checkedChanged' | 105 observer: '_checkedChanged' |
| 106 }, |
| 107 |
| 108 /** |
| 109 * If true, the button toggles the active state with each tap or press |
| 110 * of the spacebar. |
| 111 * |
| 112 * @attribute toggles |
| 113 * @type boolean |
| 114 * @default true |
| 115 */ |
| 116 toggles: { |
| 117 type: Boolean, |
| 118 value: true, |
| 119 reflectToAttribute: true |
105 } | 120 } |
106 }, | 121 }, |
107 | 122 |
108 listeners: { | 123 listeners: { |
109 // TODO(sjmiles): tracking feature disabled until we can control | 124 // TODO(sjmiles): tracking feature disabled until we can control |
110 // track/tap interaction with confidence | 125 // track/tap interaction with confidence |
111 //xtrack: '_ontrack' | 126 //xtrack: '_ontrack' |
112 }, | 127 }, |
113 | 128 |
114 ready: function() { | |
115 this.toggles = true; | |
116 }, | |
117 | |
118 // button-behavior hook | 129 // button-behavior hook |
119 _buttonStateChanged: function() { | 130 _buttonStateChanged: function() { |
120 this.checked = this.active; | 131 this.checked = this.active; |
121 }, | 132 }, |
122 | 133 |
123 _checkedChanged: function(checked) { | 134 _checkedChanged: function(checked) { |
124 this.active = this.checked; | 135 this.active = this.checked; |
125 this.fire('iron-change'); | 136 this.fire('iron-change'); |
126 }, | 137 }, |
127 | 138 |
(...skipping 25 matching lines...) Expand all Loading... |
153 _trackEnd: function(track) { | 164 _trackEnd: function(track) { |
154 this.$.toggleButton.classList.remove('dragging'); | 165 this.$.toggleButton.classList.remove('dragging'); |
155 this.transform(this, ''); | 166 this.transform(this, ''); |
156 this._userActivate(Math.abs(this._x) > this._width / 2); | 167 this._userActivate(Math.abs(this._x) > this._width / 2); |
157 } | 168 } |
158 | 169 |
159 }); | 170 }); |
160 </script> | 171 </script> |
161 | 172 |
162 </dom-module> | 173 </dom-module> |
OLD | NEW |