| | |
| | | |
| | | mkFormHandle = (type, uuid, value) => { |
| | | if (uuid !== this.props.config.uuid) return |
| | | |
| | | if (type === 'focus') { |
| | | let node = document.getElementById(uuid) |
| | | node.select() |
| | | node && node.select() |
| | | } else if (type === 'input') { |
| | | this.setState({value}) |
| | | this.props.onChange(value, true) |
| | |
| | | |
| | | handleChange = (val) => { |
| | | this.setState({value: val}) |
| | | this.props.onChange(val) |
| | | |
| | | let _val = val |
| | | |
| | | if (typeof(_val) !== 'number') { |
| | | _val = parseFloat(_val) |
| | | |
| | | if (isNaN(_val)) { |
| | | _val = '' |
| | | } |
| | | } |
| | | |
| | | this.props.onChange(_val) |
| | | } |
| | | |
| | | handleSubmit = () => { |
| | |
| | | MKEmitter.emit('mkFC', 'focus', config.tabUuid) |
| | | } else { |
| | | MKEmitter.emit('mkFC', 'focus', config.tabUuid) |
| | | this.props.onSubmit() |
| | | this.props.onSubmit(config.tabUuid, config.errTabUuid) |
| | | } |
| | | } |
| | | |
| | | render() { |
| | | const { config } = this.props |
| | | const { value, precision } = this.state |
| | | |
| | | if (precision === null) { |
| | | |
| | | if (config.format === 'thdSeparator') { |
| | | if (precision === null) { |
| | | return (<InputNumber id={config.uuid} formatter={value => `${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')} parser={value => value.replace(/,*/g, '')} value={value} disabled={config.readonly} onChange={this.handleChange} onPressEnter={this.handleSubmit}/>) |
| | | } else { |
| | | return (<InputNumber id={config.uuid} formatter={value => `${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')} parser={value => value.replace(/,*/g, '')} value={value} precision={precision} disabled={config.readonly} onChange={this.handleChange} onPressEnter={this.handleSubmit} />) |
| | | } |
| | | } else if (precision === null) { |
| | | return (<InputNumber id={config.uuid} value={value} disabled={config.readonly} onChange={this.handleChange} onPressEnter={this.handleSubmit}/>) |
| | | } else { |
| | | return (<InputNumber id={config.uuid} value={value} precision={precision} disabled={config.readonly} onChange={this.handleChange} onPressEnter={this.handleSubmit} />) |