OSDN Git Service

fixed the value error
authorZhiting Lin <zlin035@uottawa.ca>
Wed, 16 Oct 2019 06:13:05 +0000 (14:13 +0800)
committerZhiting Lin <zlin035@uottawa.ca>
Wed, 16 Oct 2019 06:13:05 +0000 (14:13 +0800)
src/features/shared/components/ObjectSelectorField/ObjectSelectorField.jsx
src/features/transactions/components/New/IssueAssets.jsx
src/features/transactions/components/New/NormalTransactionForm.jsx
src/features/transactions/transactions.js

index c6df296..eaf9e5f 100644 (file)
@@ -43,27 +43,33 @@ class ObjectSelectorField extends React.Component {
   }
 
   render() {
+    const {
+      fieldProps: { id, alias },
+      t,
+      title,
+      hint
+    } = this.props
+
     const idOnChange = (event) => {
-      this.props.fieldProps.id.onChange(event.target.value)
-      this.props.fieldProps.alias.onChange('')
+      id.onChange(event.target.value)
+      alias.onChange('')
     }
 
     const aliasOnChange = value => {
-      this.props.fieldProps.alias.onChange(value)
-      this.props.fieldProps.id.onChange('')
+      alias.onChange(value)
+      id.onChange('')
     }
 
-    const t = this.props.t
     const alias_title = t('form.alias')
 
-    const idProps = Object.assign({...this.props.fieldProps.id}, {onChange: idOnChange})
-    const aliasProps = Object.assign({...this.props.fieldProps.alias}, {onChange: aliasOnChange})
+    const idProps = Object.assign({...id}, {onChange: idOnChange})
+    const aliasProps = Object.assign({...alias}, {onChange: aliasOnChange})
 
 
 
     return(
       <div className='form-group'>
-        {this.props.title && <FieldLabel>{this.props.title}</FieldLabel>}
+        {title && <FieldLabel>{title}</FieldLabel>}
         <div className='input-group'>
           <div className={`input-group-btn ${this.state.showDropdown && 'open'}`}>
             <DropdownButton
@@ -88,11 +94,11 @@ class ObjectSelectorField extends React.Component {
             <this.props.aliasField
               className={styles.aliasFieldGroupItem}
               disabled={this.props.disabled}
-              placeholder={  t('form.objectField.aliasPlaceholder' , {title: this.props.title.toLowerCase()}) }
+              placeholder={  t('form.objectField.aliasPlaceholder' , {title: title.toLowerCase()}) }
               fieldProps={aliasProps} />}
 
         </div>
-        {this.props.hint && <span className='help-block'>{this.props.hint}</span>}
+        {hint && <span className='help-block'>{hint}</span>}
       </div>
     )
   }
index 1cd2776..cea91d5 100644 (file)
@@ -118,14 +118,14 @@ class IssueAssets extends React.Component {
   }
 
   estimateNormalTransactionGas() {
-    const transaction = this.props.fields
-    const accountAlias = transaction.accountAlias.value
-    const accountId = transaction.accountId.value
-    const assetAlias = transaction.assetAlias.value
-    const assetId = transaction.assetId.value
+    const transaction = this.props.values
+    const accountAlias = transaction.accountAlias
+    const accountId = transaction.accountId
+    const assetAlias = transaction.assetAlias
+    const assetId = transaction.assetId
     const receivers = transaction.receivers
-    const addresses = receivers.map(x => x.address.value)
-    const amounts = receivers.map(x => Number(x.amount.value))
+    const addresses = receivers.map(x => x.address)
+    const amounts = receivers.map(x => Number(x.amount))
 
     const {t, i18n} = this.props
 
@@ -137,28 +137,21 @@ class IssueAssets extends React.Component {
       return
     }
 
-    const actions = issueAssetTxActionBuilder(transaction, Math.pow(10, 7), 'amount.value' )
+    const actions = issueAssetTxActionBuilder(transaction, Math.pow(10, 7), 'amount' )
 
     const body = {actions, ttl: 1}
     this.connection.request('/build-transaction', body).then(resp => {
-      if (resp.status === 'fail') {
-        this.setState({estimateGas: null})
-        const errorMsg =  resp.code && i18n.exists(`btmError.${resp.code}`) && t(`btmError.${resp.code}`) || resp.msg
-        this.props.showError(new Error(errorMsg))
-        return
-      }
-
       return this.connection.request('/estimate-transaction-gas', {
         transactionTemplate: resp.data
       }).then(resp => {
-        if (resp.status === 'fail') {
-          this.setState({estimateGas: null})
-          const errorMsg =  resp.code && i18n.exists(`btmError.${resp.code}`) && t(`btmError.${resp.code}`) || resp.msg
-          this.props.showError(new Error(errorMsg))
-          return
-        }
         this.setState({estimateGas: Math.ceil(resp.data.totalNeu/100000)*100000})
+      }).catch(err =>{
+        throw err
       })
+    }).catch(err=>{
+      this.setState({estimateGas: null, address: null})
+      const errorMsg =  err.code && i18n.exists(`btmError.${err.code}`) && t(`btmError.${err.code}`) || err.msg
+      this.props.showError(new Error(errorMsg))
     })
   }
 
index 67a77c8..9de7074 100644 (file)
@@ -91,14 +91,14 @@ class NormalTxForm extends React.Component {
   }
 
   estimateNormalTransactionGas() {
-    const transaction = this.props.fields
-    const accountAlias = transaction.accountAlias.value
-    const accountId = transaction.accountId.value
-    const assetAlias = transaction.assetAlias.value
-    const assetId = transaction.assetId.value
+    const transaction = this.props.values
+    const accountAlias = transaction.accountAlias
+    const accountId = transaction.accountId
+    const assetAlias = transaction.assetAlias
+    const assetId = transaction.assetId
     const receivers = transaction.receivers
-    const addresses = receivers.map(x => x.address.value)
-    const amounts = receivers.map(x => Number(x.amount.value))
+    const addresses = receivers.map(x => x.address)
+    const amounts = receivers.map(x => Number(x.amount))
 
     const {t, i18n} = this.props
 
@@ -110,7 +110,7 @@ class NormalTxForm extends React.Component {
       return
     }
 
-    const actions = normalTxActionBuilder(transaction, Math.pow(10, 7), 'amount.value' )
+    const actions = normalTxActionBuilder(transaction, Math.pow(10, 7), 'amount' )
 
     const body = {actions, ttl: 1}
     this.connection.request('/build-transaction', body).then(resp => {
@@ -149,7 +149,7 @@ class NormalTxForm extends React.Component {
     const showAvailableBalance = (accountAlias.value || accountId.value) &&
       (assetAlias.value || assetId.value)
 
-    const availableBalance = balance(this.props.fields, assetDecimal, this.props.balances, this.props.btmAmountUnit)
+    const availableBalance = balance(this.props.values, assetDecimal, this.props.balances, this.props.btmAmountUnit)
 
     const showBtmAmountUnit = (assetAlias.value === 'BTM' || assetId.value === btmID)
 
index fbf53fe..be2f60b 100644 (file)
@@ -4,17 +4,17 @@ import { sum } from 'utility/math'
 
 export const balance = (values, assetDecimal, balances, btmAmountUnit) => {
   let filteredBalances = balances
-  if (values.accountAlias.value) {
-    filteredBalances = filteredBalances.filter(balance => balance.accountAlias === values.accountAlias.value)
+  if (values.accountAlias) {
+    filteredBalances = filteredBalances.filter(balance => balance.accountAlias === values.accountAlias)
   }
-  if (values.accountId.value) {
-    filteredBalances = filteredBalances.filter(balance => balance.accountId === values.accountId.value)
+  if (values.accountId) {
+    filteredBalances = filteredBalances.filter(balance => balance.accountId === values.accountId)
   }
-  if (values.assetAlias.value) {
-    filteredBalances = filteredBalances.filter(balance => balance.assetAlias === values.assetAlias.value)
+  if (values.assetAlias) {
+    filteredBalances = filteredBalances.filter(balance => balance.assetAlias === values.assetAlias)
   }
-  if (values.assetId.value) {
-    filteredBalances = filteredBalances.filter(balance => balance.assetId === values.assetId.value)
+  if (values.assetId) {
+    filteredBalances = filteredBalances.filter(balance => balance.assetId === values.assetId)
   }
 
   if(filteredBalances.length === 1){
@@ -44,10 +44,10 @@ export const getAssetDecimal = (values, asset) => {
 }
 
 export const normalTxActionBuilder = (transaction, gas, prop) =>{
-  const accountAlias = transaction.accountAlias.value || transaction.accountAlias
-  const accountId = transaction.accountId.value || transaction.accountId
-  const assetAlias = transaction.assetAlias.value || transaction.assetAlias
-  const assetId = transaction.assetId.value || transaction.assetId
+  const accountAlias =  transaction.accountAlias
+  const accountId = transaction.accountId
+  const assetAlias = transaction.assetAlias
+  const assetId = transaction.assetId
   const receivers = transaction.receivers
 
   const totalAmount = sum(receivers, prop )
@@ -73,10 +73,10 @@ export const normalTxActionBuilder = (transaction, gas, prop) =>{
   receivers.forEach((receiver)=>{
     actions.push(
       {
-        address: receiver.address.value || receiver.address,
+        address: receiver.address,
         assetAlias,
         assetId,
-        amount: Number(receiver.amount.value || receiver.amount),
+        amount: Number(receiver.amount),
         type: 'control_address'
       }
     )
@@ -86,10 +86,10 @@ export const normalTxActionBuilder = (transaction, gas, prop) =>{
 }
 
 export const issueAssetTxActionBuilder = (transaction, gas,prop) =>{
-  const accountAlias = transaction.accountAlias.value || transaction.accountAlias
-  const accountId = transaction.accountId.value || transaction.accountId
-  const assetAlias = transaction.assetAlias.value || transaction.assetAlias
-  const assetId = transaction.assetId.value || transaction.assetId
+  const accountAlias = transaction.accountAlias
+  const accountId = transaction.accountId
+  const assetAlias = transaction.assetAlias
+  const assetId =  transaction.assetId
   const receivers = transaction.receivers
 
   const totalAmount = sum(receivers, prop )
@@ -113,10 +113,10 @@ export const issueAssetTxActionBuilder = (transaction, gas,prop) =>{
   receivers.forEach((receiver)=>{
     actions.push(
       {
-        address: receiver.address.value || receiver.address,
+        address: receiver.address,
         assetAlias,
         assetId,
-        amount: Number(receiver.amount.value || receiver.amount),
+        amount: Number(receiver.amount),
         type: 'control_address'
       }
     )