override step using callback

pull/7/head
yann300 8 years ago
parent 5e9c4f2826
commit c585be9204
  1. 15
      src/ui/Slider.js
  2. 8
      src/ui/StepManager.js

@ -5,13 +5,14 @@ var yo = require('yo-yo')
var ui = require('../helpers/ui')
class Slider {
constructor (_traceManager) {
constructor (_traceManager, _stepOverride) {
this.event = new EventManager()
this.traceManager = _traceManager
this.max
this.disabled = true
this.view
this.solidityMode = false
this.stepOverride = _stepOverride
this.previousValue = null
}
@ -47,19 +48,17 @@ class Slider {
onChange (event) {
var value = parseInt(this.view.querySelector('#slider').value)
if (this.stepOverride) {
value = this.stepOverride(value)
this.setValue(value)
}
if (value === this.previousValue) return
this.previousValue = value
this.event.trigger('moved', [value])
}
setValue (value) {
var slider = this.view.querySelector('#slider')
var diff = value - slider.value
if (diff > 0) {
slider.stepUp(diff)
} else {
slider.stepDown(Math.abs(diff))
}
this.view.querySelector('#slider').value = value
}
setReducedTrace (trace) {

@ -24,7 +24,9 @@ function StepManager (_parent, _traceManager) {
})
})
this.slider = new Slider(this.traceManager)
this.slider = new Slider(this.traceManager, (step) => {
return this.solidityMode ? this.resolveToReducedTrace(step, 0) : step
})
this.slider.event.register('moved', this, function (step) {
self.sliderMoved(step)
})
@ -108,10 +110,6 @@ StepManager.prototype.sliderMoved = function (step) {
if (!this.traceManager.inRange(step)) {
return
}
if (this.solidityMode) {
step = this.resolveToReducedTrace(step, 0)
this.slider.setValue(step)
}
this.changeState(step)
}

Loading…
Cancel
Save