OSDN Git Service

add the decimal display in the transaction list
authorZhiting Lin <zlin035@uottawa.ca>
Fri, 20 Apr 2018 08:09:09 +0000 (16:09 +0800)
committerZhiting Lin <zlin035@uottawa.ca>
Fri, 20 Apr 2018 08:09:09 +0000 (16:09 +0800)
src/features/transactions/components/Summary/Summary.jsx
src/utility/buildInOutDisplay.js

index e9b6e81..d35cdcf 100644 (file)
@@ -10,6 +10,8 @@ const INOUT_TYPES = {
   retire: 'Retire',
 }
 
+const btmID = 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'
+
 class Summary extends React.Component {
   normalizeInouts(inouts) {
     const normalized = {}
@@ -18,6 +20,7 @@ class Summary extends React.Component {
       let asset = normalized[inout.assetId]
       if (!asset) asset = normalized[inout.assetId] = {
         alias: inout.assetAlias,
+        decimals: (inout.assetDefinition && inout.assetDefinition.decimals && inout.assetId !== btmID)? inout.assetDefinition.decimals : null,
         issue: 0,
         retire: 0
       }
@@ -74,12 +77,14 @@ class Summary extends React.Component {
       const asset = summary[assetId]
       const nonAccountTypes = ['issue','retire']
 
+
+
       nonAccountTypes.forEach((type) => {
         if (asset[type] > 0) {
           items.push({
             type: INOUT_TYPES[type],
             rawAction: type,
-            amount: normalizeBtmAmountUnit(assetId, asset[type], this.props.btmAmountUnit),
+            amount: asset.decimals? converIntToDec(asset[type], asset.decimals) : normalizeBtmAmountUnit(assetId, asset[type], this.props.btmAmountUnit),
             asset: asset.alias ? asset.alias : <code className={styles.rawId}>{assetId}</code>,
             assetId: assetId,
           })
@@ -103,7 +108,7 @@ class Summary extends React.Component {
             items.push({
               type: INOUT_TYPES[type],
               rawAction: type,
-              amount: normalizeBtmAmountUnit(assetId, account[type], this.props.btmAmountUnit),
+              amount: asset.decimals? converIntToDec(account[type], asset.decimals) : normalizeBtmAmountUnit(assetId, account[type], this.props.btmAmountUnit),
               asset: asset.alias ? asset.alias : <code className={styles.rawId}>{assetId}</code>,
               assetId: assetId,
               direction: type == 'spend' ? 'from' : 'to',
index 30ffc40..ccef483 100644 (file)
@@ -117,6 +117,8 @@ const unspentFields = [
   'change',
 ]
 
+const btmID = 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'
+
 const balanceFields = Object.keys(mappings)
 
 const buildDisplay = (item, fields, btmAmountUnit, lang) => {
@@ -168,7 +170,7 @@ const formatIntNumToPosDecimal = (neu,pos) => {
 
 export const normalizeGlobalBTMAmount = (assetID, amount, btmAmountUnit) => {
   //normalize BTM Amount
-  if (assetID === 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff') {
+  if (assetID === btmID) {
     switch (btmAmountUnit){
       case 'BTM':
         return formatIntNumToPosDecimal(amount, 8)+' BTM'
@@ -273,8 +275,10 @@ export function buildUnspentDisplay(output, btmAmountUnit, lang) {
 }
 
 export function buildBalanceDisplay(balance, btmAmountUnit, lang) {
+  let amount = (balance.assetDefinition && balance.assetDefinition.decimals && balance.assetId !== btmID)?
+    formatIntNumToPosDecimal(balance.amount, balance.assetDefinition.decimals): balance.amount
   return buildDisplay({
-    amount: balance.amount,
+    amount: amount,
     assetId: balance.assetId,
     assetAlias: balance.assetAlias,
     accountAlias: balance.accountAlias