UNPKG

react-toolbox

Version:
59 lines (50 loc) 1.35 kB
import React from 'react'; import utils from '../../utils'; import style from './style'; import Face from './face'; import Hand from './hand'; const minutes = utils.range(0, 60, 5); const step = 360 / 60; class Minutes extends React.Component { static propTypes = { selected: React.PropTypes.number, onChange: React.PropTypes.func }; static defaultProps = { selected: 0, onChange: null }; handleHandMove = (degrees) => { this.props.onChange(degrees / step); }; handleMouseDown = (event) => { this.refs.hand.mouseStart(event); }; handleTouchStart = (event) => { this.refs.hand.touchStart(event); }; render () { return ( <div> <Face onTouchStart={this.handleTouchStart} onMouseDown={this.handleMouseDown} numbers={minutes} spacing={this.props.spacing} radius={this.props.radius} twoDigits={true} active={this.props.selected} /> <Hand ref='hand' className={minutes.indexOf(this.props.selected) === -1 ? style.small : ''} angle={this.props.selected * step} length={this.props.radius - this.props.spacing} onMove={this.handleHandMove} origin={this.props.center} step={step} /> </div> ); } } export default Minutes;