import React from 'react'; import { translate } from '../../translate/translate'; import { addCoin, toggleAddcoinModal } from '../../actions/actionCreators'; import Store from '../../store'; import AddCoinOptionsCrypto from './addcoinOptionsCrypto'; import AddCoinOptionsAC from './addcoinOptionsAC'; import AddCoinOptionsACFiat from './addcoinOptionsACFiat'; class AddCoin extends React.Component { constructor(props) { super(props); this.state = { selectedCoin: null, fullMode: { disabled: true, checked: false, }, basiliskMode: { disabled: true, checked: false, }, nativeMode: { disabled: true, checked: false, }, mode: -2, display: false, }; this.updateSelectedCoin = this.updateSelectedCoin.bind(this); this.updateSelectedMode = this.updateSelectedMode.bind(this); this.setNativeMode = this.setNativeMode.bind(this); this.setBasiliskMode = this.setBasiliskMode.bind(this); this.setFullMode = this.setFullMode.bind(this); this.activateCoin = this.activateCoin.bind(this); this.dismiss = this.dismiss.bind(this); } componentWillReceiveProps(props) { if (props) { this.setState(Object.assign({}, this.state, { display: props.display, })); } } updateSelectedCoin(e) { const coin = e.target.value.split('|'); const defaultMode = coin[1]; const modeToValue = { 'full': 1, 'basilisk': 0, 'native': -1, }; this.setState(Object.assign({}, this.state, { [e.target.name]: e.target.value, fullMode: { disabled: e.target.value.indexOf('full') > -1 ? false : true, checked: defaultMode === 'full' ? true : false, }, basiliskMode: { disabled: e.target.value.indexOf('basilisk') > -1 ? false : true, checked: defaultMode === 'basilisk' ? true : false, }, nativeMode: { disabled: e.target.value.indexOf('native') > -1 ? false : true, checked: defaultMode === 'native' ? true : false, }, mode: modeToValue[defaultMode] !== undefined ? modeToValue[defaultMode] : -2, })); } updateSelectedMode(_value) { this.setState(Object.assign({}, this.state, { fullMode: { ...this.state.fullMode, checked: _value === '1' ? true : false, }, basiliskMode: { ...this.state.basiliskMode, checked: _value === '0' ? true : false, }, nativeMode: { ...this.state.nativeMode, checked: _value === '-1' ? true : false, }, mode: _value, })); } setNativeMode() { this.updateSelectedMode('-1'); } setBasiliskMode() { this.updateSelectedMode('0'); } setFullMode() { this.updateSelectedMode('1'); } /*handleForm(e) { e.preventDefault(); e.target.reset(); this.setState({ mode: '', selectedCoin: null, }); }*/ activateCoin() { Store.dispatch(addCoin(this.state.selectedCoin.split('|')[0], this.state.mode)); } dismiss() { Store.dispatch(toggleAddcoinModal(false, false)); } render() { return (
); } } export default AddCoin;