Commit 6242a5f8 authored by yann300's avatar yann300

change Slider to ES6 class

parent 44549a40
......@@ -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
......@@ -12,9 +13,9 @@ function Slider (_traceManager) {
this.view
this.previousValue = null
}
}
Slider.prototype.render = function () {
render () {
var self = this
var view = yo`<div>
<input
......@@ -32,25 +33,25 @@ Slider.prototype.render = function () {
this.view = view
}
return view
}
}
Slider.prototype.init = function (length) {
init (length) {
var slider = document.getElementById('slider')
slider.setAttribute('max', length - 1)
this.max = length - 1
this.updateDisabled(length === 0)
this.disabled = length === 0
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) {
......@@ -58,14 +59,23 @@ Slider.prototype.setValue = function (value) {
} else {
slider.stepDown(Math.abs(diff))
}
}
}
Slider.prototype.updateDisabled = function (disabled) {
updateDisabled (disabled) {
if (disabled) {
document.getElementById('slider').setAttribute('disabled', true)
} else {
document.getElementById('slider').removeAttribute('disabled')
}
}
show () {
this.view.style.display = 'block'
}
hide () {
this.view.style.display = 'none'
}
}
module.exports = Slider
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment