Merge wallet-balance that includes formatted-amount

This commit is contained in:
Brendon Duncan 2018-08-10 13:56:48 +12:00
commit cb9feb99ce
3 changed files with 22 additions and 14 deletions

View file

@ -17,8 +17,7 @@
} }
}); });
function walletBalanceController($log, $scope, $timeout, uxLanguage) { function walletBalanceController($log, $scope, txFormatService) {
console.log('walletBalanceController');
var cryptoBalanceHasBeenDisplayed = false; var cryptoBalanceHasBeenDisplayed = false;
formatBalance(); formatBalance();
@ -29,7 +28,7 @@
function displayCryptoBalance(wallet) { function displayCryptoBalance(wallet) {
console.log('displayCryptoBalance()'); console.log('displayCryptoBalance()');
if (wallet.status && wallet.status.totalBalanceStr) { if (wallet.status && wallet.status.isValid && wallet.status.totalBalanceStr) {
setDisplay(wallet.status.totalBalanceStr, ''); setDisplay(wallet.status.totalBalanceStr, '');
cryptoBalanceHasBeenDisplayed = true; cryptoBalanceHasBeenDisplayed = true;
return; return;
@ -40,7 +39,7 @@
return; return;
} }
if (wallet.cachedStatus && wallet.cachedStatus.totalBalanceStr) { if (wallet.cachedStatus && wallet.status.isValid && wallet.cachedStatus.totalBalanceStr) {
setDisplay(wallet.cachedStatus.totalBalanceStr, ''); setDisplay(wallet.cachedStatus.totalBalanceStr, '');
return; return;
} }
@ -50,13 +49,13 @@
function displayFiatBalance(wallet) { function displayFiatBalance(wallet) {
var displayAmount = ''; var displayAmount = '';
if (wallet.status && wallet.status.alternativeBalanceAvailable) { if (wallet.status && wallet.status.isValid && wallet.status.alternativeBalanceAvailable) {
displayAmount = wallet.status.totalBalanceAlternative + ' ' + wallet.status.alternativeIsoCode; displayAmount = wallet.status.totalBalanceAlternative + ' ' + wallet.status.alternativeIsoCode;
setDisplay(displayAmount, ''); setDisplay(displayAmount, '');
return; return;
} }
if (wallet.cachedStatus && wallet.cachedStatus.alternativeBalanceAvailable) { if (wallet.cachedStatus && wallet.cachedStatus.isValid && wallet.cachedStatus.alternativeBalanceAvailable) {
displayAmount = wallet.cachedStatus.totalBalanceAlternative + ' ' + wallet.cachedStatus.alternativeIsoCode; displayAmount = wallet.cachedStatus.totalBalanceAlternative + ' ' + wallet.cachedStatus.alternativeIsoCode;
setDisplay(displayAmount, ''); setDisplay(displayAmount, '');
return; return;
@ -66,27 +65,36 @@
} }
function formatBalance() { function formatBalance() {
//console.log('formatBalance() with wallet:', $scope.wallet,); var displayAsFiat = $scope.displayAsFiat === 'true';
console.log('formatBalance() with displayAsFiat: "' + $scope.displayAsFiat + '"');
var wallet = null; var wallet = null;
try { try {
wallet = JSON.parse($scope.wallet); wallet = JSON.parse($scope.wallet);
} catch (e) { } catch (e) {
$log.error('Error parsing wallet to display balance.', e); $log.error('Error parsing wallet to display balance.', e);
$scope.displayAmount = ''; setDisplay('', '');
$scope.cachedBalanceUpdatedOn = ''; return;
} }
if (!$scope.displayAsFiat || $scope.displayAsFiat && !cryptoBalanceHasBeenDisplayed) { if (!displayAsFiat || displayAsFiat && !cryptoBalanceHasBeenDisplayed) {
displayCryptoBalance(wallet); displayCryptoBalance(wallet);
} }
if ($scope.displayAsFiat) { if (displayAsFiat) {
displayFiatBalance(wallet); displayFiatBalance(wallet);
} }
} }
function getFiatBalance(wallet) { function getFiatBalance(wallet) {
if (!(wallet.status && wallet.status.isValid)) {
$log.warn('Abandoning call to get fiat balance, because no valid wallet status.');
return;
}
txFormatService.formatAlternativeStr(wallet.coin, wallet.status.totalBalanceSat, function onFormatAlernativeStr(formatted) {
if (formatted) {
setDisplay(formatted, '');
}
});
} }
function setDisplay(amount, cachedBalanceUpdatedOn) { function setDisplay(amount, cachedBalanceUpdatedOn) {

View file

@ -1,3 +1,3 @@
<div class="wallet-balance-directive"> <div class="wallet-balance-directive">
<span>{{displayAmount}}</span><span ng-if="age">{{&middot; (cachedBalanceUpdatedOn * 1000 | amTimeAgo)}}</span> <formatted-amount value="{{displayAmount}}"></formatted-amount><span ng-if="age">{{&middot; (cachedBalanceUpdatedOn * 1000 | amTimeAgo)}}</span>
</div> </div>

View file

@ -16,7 +16,7 @@
></div> ></div>
</i> </i>
<h2>{{fromWallet.name}}</h2> <h2>{{fromWallet.name}}</h2>
<wallet-balance display-as-fiat="{{displayBalanceAsFiat}}" wallet="{{fromWallet}}" total-balance-sat={{fromWallet.status.totalBalanceSat}}></wallet-balance> <wallet-balance display-as-fiat={{displayBalanceAsFiat}} wallet={{fromWallet}} total-balance-sat={{fromWallet.status.totalBalanceSat}}></wallet-balance>
<!--<p ng-show="vm.origin.balanceAmount">{{vm.origin.balanceAmount}} {{vm.origin.balanceCurrency}}</p>--> <!--<p ng-show="vm.origin.balanceAmount">{{vm.origin.balanceAmount}} {{vm.origin.balanceCurrency}}</p>-->
<!--<formatted-amount value="{{fromWallet.status.totalBalanceStr ? fromWallet.status.totalBalanceStr : ( fromWallet.cachedBalance ? fromWallet.cachedBalance + (fromWallet.cachedBalanceUpdatedOn ? ' &middot; ' + ( fromWallet.cachedBalanceUpdatedOn * 1000 | amTimeAgo) : '') : '' ) }}"></formatted-amount>--> <!--<formatted-amount value="{{fromWallet.status.totalBalanceStr ? fromWallet.status.totalBalanceStr : ( fromWallet.cachedBalance ? fromWallet.cachedBalance + (fromWallet.cachedBalanceUpdatedOn ? ' &middot; ' + ( fromWallet.cachedBalanceUpdatedOn * 1000 | amTimeAgo) : '') : '' ) }}"></formatted-amount>-->
</div> </div>