diff --git a/bemani/frontend/static/components/slider.react.js b/bemani/frontend/static/components/slider.react.js index 0a294c8..f8365b3 100644 --- a/bemani/frontend/static/components/slider.react.js +++ b/bemani/frontend/static/components/slider.react.js @@ -1,6 +1,30 @@ /** @jsx React.DOM */ var Slider = createReactClass({ + key: function(e) { + if (e.keyCode == 32) { + // Toggle on space. + if (this.props.onChange) { + this.props.onChange(!this.props.value); + } + } else if (e.keyCode == 39) { + // Slide with cursor keys. + if (this.props.onChange && this.props.value) { + this.props.onChange(!this.props.value); + } + } else if (e.keyCode == 37) { + // Slide with cursor keys. + if (this.props.onChange && !this.props.value) { + this.props.onChange(!this.props.value); + } + } else { + // Don't handle, so don't hit the default prevent below. + return; + } + e.preventDefault(); + e.stopPropagation(); + }, + render: function() { return (