Manage the currency state

This commit is contained in:
Jean-Baptiste Dominguez 2018-08-13 14:13:49 +09:00
commit 52e1b5e811
2 changed files with 19 additions and 11 deletions

View file

@ -26,9 +26,14 @@
} }
}); });
function formattedAmountController($scope, $timeout, uxLanguage) { function formattedAmountController($scope, uxLanguage) {
$scope.canShow = false; $scope.vm = {};
var vm = $scope.vm;
vm.currency = '';
vm.value = '';
$scope.canShow = false
$scope.displaySizeEqual = !!$scope.sizeEqual; $scope.displaySizeEqual = !!$scope.sizeEqual;
var decimalPlaces = { var decimalPlaces = {
@ -90,17 +95,19 @@
// During watch, may be changed from having a separate currency value, // During watch, may be changed from having a separate currency value,
// to both being in value. Don't want to use previous currency value. // to both being in value. Don't want to use previous currency value.
// Try to extract currency from value.. // Try to extract currency from value..
$scope.currency = $scope.currency || ''; if (!$scope.currency || $scope.currency.length === 0) {
var currencySplit = $scope.value.split(" ");
var currencySplit = $scope.value.split(" "); if (currencySplit.length >= 2) {
if (currencySplit.length >= 2 && $scope.currency.length === 0) { vm.currency = currencySplit[currencySplit.length - 1];
$scope.currency = currencySplit[currencySplit.length - 1]; }
} else {
vm.currency = $scope.currency;
} }
// Redo this when we have proper formatting for low fees // Redo this when we have proper formatting for low fees
if ($scope.value.indexOf("<") === 0) { if ($scope.value.indexOf("<") === 0) {
buildAmount($scope.value, '', ''); buildAmount($scope.value, '', '');
$scope.currency = ''; vm.currency = '';
$scope.canShow = true; $scope.canShow = true;
return; return;
} }
@ -111,7 +118,7 @@
var parsed = parseFloat($scope.value); var parsed = parseFloat($scope.value);
var valueFormatted = ''; var valueFormatted = '';
var valueProcessing = ''; var valueProcessing = '';
switch (getDecimalPlaces($scope.currency)) { switch (getDecimalPlaces(vm.currency)) {
case '0': case '0':
if (isNaN(parsed)) { if (isNaN(parsed)) {
buildAmount('-', '', ''); buildAmount('-', '', '');
@ -158,6 +165,7 @@
break; break;
} }
$scope.canShow = true; $scope.canShow = true;
$scope.$apply();
}; };
function getDecimalPlaces(currency) { function getDecimalPlaces(currency) {

View file

@ -1,4 +1,4 @@
<div class="formatted-amount" <div class="formatted-amount"
ng-class="{ 'size-equal': displaySizeEqual }" ng-show="canShow"> ng-class="{ 'size-equal': displaySizeEqual }" ng-show="canShow">
<span ng-if="start.length > 0" class="start">{{start}}</span><span ng-if="middle.length > 0" class="middle">{{middle}}</span><span ng-if="end.length > 0" class="end">{{end}}</span><span ng-if="currency.length > 0" class="currency">{{currency}}</span> <span ng-if="start.length > 0" class="start">{{start}}</span><span ng-if="middle.length > 0" class="middle">{{middle}}</span><span ng-if="end.length > 0" class="end">{{end}}</span><span ng-if="vm.currency.length > 0" class="currency">{{vm.currency}}</span>
</div> </div>