Browse Source

make onChange methods

master
Gaëtan Renaudeau 7 years ago
parent
commit
b08995cc3c
  1. 11
      src/components/modals/Send/AmountField.js
  2. 27
      src/components/modals/Send/RecipientField.js

11
src/components/modals/Send/AmountField.js

@ -30,8 +30,13 @@ class AmountField extends Component<*, { canBeSpent: boolean }> {
this.setState({ canBeSpent })
}
onChange = (amount: number) => {
const { bridge, account, transaction, onChangeTransaction } = this.props
onChangeTransaction(bridge.editTransactionAmount(account, transaction, amount))
}
render() {
const { bridge, account, transaction, onChangeTransaction, t } = this.props
const { bridge, account, transaction, t } = this.props
const { canBeSpent } = this.state
return (
<Box flow={1}>
@ -40,9 +45,7 @@ class AmountField extends Component<*, { canBeSpent: boolean }> {
withMax={false}
account={account}
canBeSpent={canBeSpent}
onChange={amount =>
onChangeTransaction(bridge.editTransactionAmount(account, transaction, amount))
}
onChange={this.onChange}
value={bridge.getTransactionAmount(account, transaction)}
/>
</Box>

27
src/components/modals/Send/RecipientField.js

@ -45,8 +45,21 @@ class RecipientField<Transaction> extends Component<Props<Transaction>, { isVali
this.setState({ isValid })
}
onChange = (recipient: string, maybeExtra: ?Object) => {
const { bridge, account, transaction, onChangeTransaction } = this.props
const { amount, currency } = maybeExtra || {}
if (currency && currency.scheme !== account.currency.scheme) return false
let t = transaction
if (amount) {
t = bridge.editTransactionAmount(account, t, amount)
}
t = bridge.editTransactionRecipient(account, t, recipient)
onChangeTransaction(t)
return true
}
render() {
const { bridge, account, transaction, onChangeTransaction, t } = this.props
const { bridge, account, transaction, t } = this.props
const { isValid } = this.state
const value = bridge.getTransactionRecipient(account, transaction)
return (
@ -59,17 +72,7 @@ class RecipientField<Transaction> extends Component<Props<Transaction>, { isVali
withQrCode
error={!value || isValid ? null : `This is not a valid ${account.currency.name} address`}
value={value}
onChange={(recipient, maybeExtra) => {
const { amount, currency } = maybeExtra || {}
if (currency && currency.scheme !== account.currency.scheme) return false
let t = transaction
if (amount) {
t = bridge.editTransactionAmount(account, t, amount)
}
t = bridge.editTransactionRecipient(account, t, recipient)
onChangeTransaction(t)
return true
}}
onChange={this.onChange}
/>
</Box>
)

Loading…
Cancel
Save