change Slider to ES6 class

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

@ -4,19 +4,20 @@ var EventManager = require('../lib/eventManager')
var yo = require('yo-yo')
var ui = require('../helpers/ui')
function Slider (_traceManager) {
this.event = new EventManager()
this.traceManager = _traceManager
this.max
this.disabled = true
this.view
class Slider {
constructor (_traceManager) {
this.event = new EventManager()
this.traceManager = _traceManager
this.max
this.disabled = true
this.view
this.previousValue = null
}
this.previousValue = null
}
Slider.prototype.render = function () {
var self = this
var view = yo`<div>
render () {
var self = this
var view = yo`<div>
<input
id='slider'
style=${ui.formatCss(style.rule)}
@ -28,43 +29,52 @@ Slider.prototype.render = function () {
oninput=${function () { self.onChange() }}
disabled=${this.disabled} />
</div>`
if (!this.view) {
this.view = view
if (!this.view) {
this.view = view
}
return view
}
return view
}
Slider.prototype.init = function (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)
}
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) {
var value = parseInt(document.getElementById('slider').value)
if (value === this.previousValue) return
this.previousValue = value
this.event.trigger('moved', [value])
}
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) {
var slider = document.getElementById('slider')
var diff = value - slider.value
if (diff > 0) {
slider.stepUp(diff)
} else {
slider.stepDown(Math.abs(diff))
setValue (value) {
var slider = document.getElementById('slider')
var diff = value - slider.value
if (diff > 0) {
slider.stepUp(diff)
} else {
slider.stepDown(Math.abs(diff))
}
}
updateDisabled (disabled) {
if (disabled) {
document.getElementById('slider').setAttribute('disabled', true)
} else {
document.getElementById('slider').removeAttribute('disabled')
}
}
show () {
this.view.style.display = 'block'
}
}
Slider.prototype.updateDisabled = function (disabled) {
if (disabled) {
document.getElementById('slider').setAttribute('disabled', true)
} else {
document.getElementById('slider').removeAttribute('disabled')
hide () {
this.view.style.display = 'none'
}
}

Loading…
Cancel
Save