change Slider to ES6 class

pull/7/head
yann300 8 years ago
parent 44549a406c
commit 6242a5f865
  1. 32
      src/ui/Slider.js

@ -4,7 +4,8 @@ var EventManager = require('../lib/eventManager')
var yo = require('yo-yo') var yo = require('yo-yo')
var ui = require('../helpers/ui') var ui = require('../helpers/ui')
function Slider (_traceManager) { class Slider {
constructor (_traceManager) {
this.event = new EventManager() this.event = new EventManager()
this.traceManager = _traceManager this.traceManager = _traceManager
this.max this.max
@ -12,9 +13,9 @@ function Slider (_traceManager) {
this.view this.view
this.previousValue = null this.previousValue = null
} }
Slider.prototype.render = function () { render () {
var self = this var self = this
var view = yo`<div> var view = yo`<div>
<input <input
@ -32,25 +33,25 @@ Slider.prototype.render = function () {
this.view = view this.view = view
} }
return view return view
} }
Slider.prototype.init = function (length) { init (length) {
var slider = document.getElementById('slider') var slider = document.getElementById('slider')
slider.setAttribute('max', length - 1) slider.setAttribute('max', length - 1)
this.max = length - 1 this.max = length - 1
this.updateDisabled(length === 0) this.updateDisabled(length === 0)
this.disabled = length === 0 this.disabled = length === 0
this.setValue(0) this.setValue(0)
} }
Slider.prototype.onChange = function (event) { onChange (event) {
var value = parseInt(document.getElementById('slider').value) var value = parseInt(document.getElementById('slider').value)
if (value === this.previousValue) return if (value === this.previousValue) return
this.previousValue = value this.previousValue = value
this.event.trigger('moved', [value]) this.event.trigger('moved', [value])
} }
Slider.prototype.setValue = function (value) { setValue (value) {
var slider = document.getElementById('slider') var slider = document.getElementById('slider')
var diff = value - slider.value var diff = value - slider.value
if (diff > 0) { if (diff > 0) {
@ -58,14 +59,23 @@ Slider.prototype.setValue = function (value) {
} else { } else {
slider.stepDown(Math.abs(diff)) slider.stepDown(Math.abs(diff))
} }
} }
Slider.prototype.updateDisabled = function (disabled) { updateDisabled (disabled) {
if (disabled) { if (disabled) {
document.getElementById('slider').setAttribute('disabled', true) document.getElementById('slider').setAttribute('disabled', true)
} else { } else {
document.getElementById('slider').removeAttribute('disabled') document.getElementById('slider').removeAttribute('disabled')
} }
}
show () {
this.view.style.display = 'block'
}
hide () {
this.view.style.display = 'none'
}
} }
module.exports = Slider module.exports = Slider

Loading…
Cancel
Save