|
|
|
@ -4,7 +4,8 @@ var EventManager = require('../lib/eventManager') |
|
|
|
|
var yo = require('yo-yo') |
|
|
|
|
var ui = require('../helpers/ui') |
|
|
|
|
|
|
|
|
|
function Slider (_traceManager) { |
|
|
|
|
class Slider { |
|
|
|
|
constructor (_traceManager) { |
|
|
|
|
this.event = new EventManager() |
|
|
|
|
this.traceManager = _traceManager |
|
|
|
|
this.max |
|
|
|
@ -14,7 +15,7 @@ function Slider (_traceManager) { |
|
|
|
|
this.previousValue = null |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Slider.prototype.render = function () { |
|
|
|
|
render () { |
|
|
|
|
var self = this |
|
|
|
|
var view = yo`<div>
|
|
|
|
|
<input |
|
|
|
@ -34,7 +35,7 @@ Slider.prototype.render = function () { |
|
|
|
|
return view |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Slider.prototype.init = function (length) { |
|
|
|
|
init (length) { |
|
|
|
|
var slider = document.getElementById('slider') |
|
|
|
|
slider.setAttribute('max', length - 1) |
|
|
|
|
this.max = length - 1 |
|
|
|
@ -43,14 +44,14 @@ Slider.prototype.init = function (length) { |
|
|
|
|
this.setValue(0) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Slider.prototype.onChange = function (event) { |
|
|
|
|
onChange (event) { |
|
|
|
|
var value = parseInt(document.getElementById('slider').value) |
|
|
|
|
if (value === this.previousValue) return |
|
|
|
|
this.previousValue = value |
|
|
|
|
this.event.trigger('moved', [value]) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Slider.prototype.setValue = function (value) { |
|
|
|
|
setValue (value) { |
|
|
|
|
var slider = document.getElementById('slider') |
|
|
|
|
var diff = value - slider.value |
|
|
|
|
if (diff > 0) { |
|
|
|
@ -60,7 +61,7 @@ Slider.prototype.setValue = function (value) { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Slider.prototype.updateDisabled = function (disabled) { |
|
|
|
|
updateDisabled (disabled) { |
|
|
|
|
if (disabled) { |
|
|
|
|
document.getElementById('slider').setAttribute('disabled', true) |
|
|
|
|
} else { |
|
|
|
@ -68,4 +69,13 @@ Slider.prototype.updateDisabled = function (disabled) { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
show () { |
|
|
|
|
this.view.style.display = 'block' |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
hide () { |
|
|
|
|
this.view.style.display = 'none' |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
module.exports = Slider |
|
|
|
|