import React, { PropTypes } from 'react' import { parseNumber, formatNumber } from './NumberUtils' class NumberTextInput extends React.Component { static propTypes = { value: PropTypes.number, parseNumber: PropTypes.func, formatNumber: PropTypes.func, onChange: PropTypes.func } static defaultProps = { value: 0, parseNumber, formatNumber } componentWillMount = () => this.setState({ value: this.props.value }) handleChange = (event) => { const value = this.props.parseNumber(event.target.value) this.setState({ value }, () => { if (this.props.onChange) this.props.onChange(value) }) } render = () => { const { value } = this.state const { parseNumber, formatNumber, ...props } = this.props // eslint-disable-line no-unused-vars const displayValue = formatNumber(value) return ( ) } } export default NumberTextInput