OLD | NEW |
1 <!-- | 1 <!-- |
2 Copyright (c) 2014 The Polymer Project Authors. All rights reserved. | 2 Copyright (c) 2014 The Polymer Project Authors. All rights reserved. |
3 This code may only be used under the BSD style license found at http://polymer.g
ithub.io/LICENSE.txt | 3 This code may only be used under the BSD style license found at http://polymer.g
ithub.io/LICENSE.txt |
4 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt | 4 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt |
5 The complete set of contributors may be found at http://polymer.github.io/CONTRI
BUTORS.txt | 5 The complete set of contributors may be found at http://polymer.github.io/CONTRI
BUTORS.txt |
6 Code distributed by Google as part of the polymer project is also | 6 Code distributed by Google as part of the polymer project is also |
7 subject to an additional IP rights grant found at http://polymer.github.io/PATEN
TS.txt | 7 subject to an additional IP rights grant found at http://polymer.github.io/PATEN
TS.txt |
8 --> | 8 --> |
9 | 9 |
10 <!-- | 10 <!-- |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 editable: false, | 182 editable: false, |
183 | 183 |
184 /** | 184 /** |
185 * The immediate value of the slider. This value is updated while the user | 185 * The immediate value of the slider. This value is updated while the user |
186 * is dragging the slider. | 186 * is dragging the slider. |
187 * | 187 * |
188 * @attribute immediateValue | 188 * @attribute immediateValue |
189 * @type number | 189 * @type number |
190 * @default 0 | 190 * @default 0 |
191 */ | 191 */ |
| 192 maxMarkers: 100, |
192 | 193 |
193 maxMarkers: 100, | 194 /** |
194 | 195 * True when the user is dragging the slider. |
| 196 * |
| 197 * @attribute dragging |
| 198 * @type boolean |
| 199 * @default false |
| 200 */ |
| 201 dragging: false, |
| 202 |
195 observe: { | 203 observe: { |
196 'step snaps': 'update' | 204 'step snaps': 'update' |
197 }, | 205 }, |
198 | 206 |
199 ready: function() { | 207 ready: function() { |
200 this.update(); | 208 this.update(); |
201 }, | 209 }, |
202 | 210 |
203 update: function() { | 211 update: function() { |
204 this.positionKnob(this.calcRatio(this.value)); | 212 this.positionKnob(this.calcRatio(this.value)); |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 }, | 305 }, |
298 | 306 |
299 bardown: function(e) { | 307 bardown: function(e) { |
300 e.preventDefault(); | 308 e.preventDefault(); |
301 this.transiting = true; | 309 this.transiting = true; |
302 this._w = this.$.sliderBar.offsetWidth; | 310 this._w = this.$.sliderBar.offsetWidth; |
303 var rect = this.$.sliderBar.getBoundingClientRect(); | 311 var rect = this.$.sliderBar.getBoundingClientRect(); |
304 var ratio = (e.x - rect.left) / this._w; | 312 var ratio = (e.x - rect.left) / this._w; |
305 this.positionKnob(ratio); | 313 this.positionKnob(ratio); |
306 this.expandJob = this.job(this.expandJob, this.expandKnob, 60); | 314 this.expandJob = this.job(this.expandJob, this.expandKnob, 60); |
307 this.fire('change'); | 315 this.asyncFire('change'); |
308 }, | 316 }, |
309 | 317 |
310 knobTransitionEnd: function(e) { | 318 knobTransitionEnd: function(e) { |
311 if (e.target === this.$.sliderKnob) { | 319 if (e.target === this.$.sliderKnob) { |
312 this.transiting = false; | 320 this.transiting = false; |
313 } | 321 } |
314 }, | 322 }, |
315 | 323 |
316 updateMarkers: function() { | 324 updateMarkers: function() { |
317 this.markers = []; | 325 this.markers = []; |
318 var l = (this.max - this.min) / this.step; | 326 var l = (this.max - this.min) / this.step; |
319 if (!this.snaps && l > this.maxMarkers) { | 327 if (!this.snaps && l > this.maxMarkers) { |
320 return; | 328 return; |
321 } | 329 } |
322 for (var i = 0; i < l; i++) { | 330 for (var i = 0; i < l; i++) { |
323 this.markers.push(''); | 331 this.markers.push(''); |
324 } | 332 } |
325 }, | 333 }, |
326 | 334 |
| 335 /** |
| 336 * Increases value by `step` but not above `max`. |
| 337 * @method increment |
| 338 */ |
327 increment: function() { | 339 increment: function() { |
328 this.value = this.clampValue(this.value + this.step); | 340 this.value = this.clampValue(this.value + this.step); |
329 }, | 341 }, |
330 | 342 |
| 343 /** |
| 344 * Decreases value by `step` but not below `min`. |
| 345 * @method decrement |
| 346 */ |
331 decrement: function() { | 347 decrement: function() { |
332 this.value = this.clampValue(this.value - this.step); | 348 this.value = this.clampValue(this.value - this.step); |
333 }, | 349 }, |
334 | 350 |
335 incrementKey: function(ev, keys) { | 351 incrementKey: function(ev, keys) { |
336 if (keys.key === "end") { | 352 if (keys.key === "end") { |
337 this.value = this.max; | 353 this.value = this.max; |
338 } else { | 354 } else { |
339 this.increment(); | 355 this.increment(); |
340 } | 356 } |
341 this.fire('change'); | 357 this.fire('change'); |
342 }, | 358 }, |
343 | 359 |
344 decrementKey: function(ev, keys) { | 360 decrementKey: function(ev, keys) { |
345 if (keys.key === "home") { | 361 if (keys.key === "home") { |
346 this.value = this.min; | 362 this.value = this.min; |
347 } else { | 363 } else { |
348 this.decrement(); | 364 this.decrement(); |
349 } | 365 } |
350 this.fire('change'); | 366 this.fire('change'); |
351 } | 367 } |
352 | 368 |
353 }); | 369 }); |
354 | 370 |
355 </script> | 371 </script> |
356 </polymer-element> | 372 </polymer-element> |
OLD | NEW |