mirror of https://github.com/BTCPrivate/copay.git
Merge pull request #4585 from JDonadio/fix/filter-decimals
Fix filter decimals
This commit is contained in:
commit
0c0651014a
|
@ -634,9 +634,9 @@ angular.module('copayApp.controllers').controller('indexController', function($r
|
|||
var lockedBalanceAlternative = rateService.toFiat(self.lockedBalanceSat, self.alternativeIsoCode);
|
||||
var alternativeConversionRate = rateService.toFiat(100000000, self.alternativeIsoCode);
|
||||
|
||||
self.totalBalanceAlternative = $filter('noFractionNumber')(totalBalanceAlternative, 2);
|
||||
self.lockedBalanceAlternative = $filter('noFractionNumber')(lockedBalanceAlternative, 2);
|
||||
self.alternativeConversionRate = $filter('noFractionNumber')(alternativeConversionRate, 2);
|
||||
self.totalBalanceAlternative = $filter('formatFiatAmount')(totalBalanceAlternative);
|
||||
self.lockedBalanceAlternative = $filter('formatFiatAmount')(lockedBalanceAlternative);
|
||||
self.alternativeConversionRate = $filter('formatFiatAmount')(alternativeConversionRate);
|
||||
|
||||
self.alternativeBalanceAvailable = true;
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ angular.module('copayApp.controllers').controller('customAmountController', func
|
|||
var amountSat = parseInt((amount * $scope.unitToSatoshi).toFixed(0));
|
||||
$timeout(function() {
|
||||
$scope.customizedAmountUnit = amount + ' ' + $scope.unitName;
|
||||
$scope.customizedAlternativeUnit = $filter('noFractionNumber')(form.alternative.$modelValue, 2) + ' ' + $scope.alternativeIsoCode;
|
||||
$scope.customizedAlternativeUnit = $filter('formatFiatAmount')(form.alternative.$modelValue) + ' ' + $scope.alternativeIsoCode;
|
||||
if ($scope.unitName == 'bits') {
|
||||
amount = (amountSat * satToBtc).toFixed(8);
|
||||
}
|
||||
|
|
|
@ -74,7 +74,7 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio
|
|||
var alternativeAmountBtc = ($scope.btx.amount * satToBtc).toFixed(8);
|
||||
$scope.rateDate = res.fetchedOn;
|
||||
$scope.rateStr = res.rate + ' ' + $scope.alternativeIsoCode;
|
||||
$scope.alternativeAmountStr = $filter('noFractionNumber')(alternativeAmountBtc * res.rate, 2) + ' ' + $scope.alternativeIsoCode;
|
||||
$scope.alternativeAmountStr = $filter('formatFiatAmount')(alternativeAmountBtc * res.rate) + ' ' + $scope.alternativeIsoCode;
|
||||
$scope.$apply();
|
||||
}
|
||||
});
|
||||
|
|
|
@ -26,59 +26,49 @@ angular.module('copayApp.filters', [])
|
|||
});
|
||||
}
|
||||
})
|
||||
.filter('formatFiatAmount', ['$filter', '$locale', 'configService',
|
||||
function(filter, locale, configService) {
|
||||
var numberFilter = filter('number');
|
||||
var formats = locale.NUMBER_FORMATS;
|
||||
var config = configService.getSync().wallet.settings;
|
||||
return function(amount) {
|
||||
if (!config) return amount;
|
||||
|
||||
.filter('noFractionNumber', ['$filter', '$locale', 'configService',
|
||||
function(filter, locale, configService) {
|
||||
var numberFilter = filter('number');
|
||||
var formats = locale.NUMBER_FORMATS;
|
||||
var config = configService.getSync().wallet.settings;
|
||||
return function(amount, n) {
|
||||
if (typeof(n) === 'undefined' && !config) return amount;
|
||||
var fractionSize = 2;
|
||||
var value = numberFilter(amount, fractionSize);
|
||||
var sep = value.indexOf(formats.DECIMAL_SEP);
|
||||
var group = value.indexOf(formats.GROUP_SEP);
|
||||
|
||||
var fractionSize = (typeof(n) !== 'undefined') ?
|
||||
n : config.unitToSatoshi.toString().length - 1;
|
||||
var value = numberFilter(amount, fractionSize);
|
||||
var sep = value.indexOf(formats.DECIMAL_SEP);
|
||||
var group = value.indexOf(formats.GROUP_SEP);
|
||||
if (amount >= 0) {
|
||||
if (group > 0) {
|
||||
if (sep < 0) {
|
||||
return value;
|
||||
}
|
||||
var intValue = value.substring(0, sep);
|
||||
var floatValue = parseFloat(value.substring(sep));
|
||||
if (floatValue === 0) {
|
||||
floatValue = '';
|
||||
} else {
|
||||
if (floatValue % 1 === 0) {
|
||||
floatValue = floatValue.toFixed(0);
|
||||
if (amount >= 0) {
|
||||
if (group > 0) {
|
||||
if (sep < 0) {
|
||||
return value;
|
||||
}
|
||||
var intValue = value.substring(0, sep);
|
||||
var floatValue = parseFloat(value.substring(sep));
|
||||
floatValue = floatValue.toFixed(2);
|
||||
floatValue = floatValue.toString().substring(1);
|
||||
var finalValue = intValue + floatValue;
|
||||
return finalValue;
|
||||
} else {
|
||||
value = parseFloat(value);
|
||||
return value.toFixed(2);
|
||||
}
|
||||
var finalValue = intValue + floatValue;
|
||||
return finalValue;
|
||||
} else {
|
||||
value = parseFloat(value);
|
||||
if (value % 1 === 0) {
|
||||
value = value.toFixed(0);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return 0;
|
||||
};
|
||||
}
|
||||
])
|
||||
.filter('orderObjectBy', function() {
|
||||
return function(items, field, reverse) {
|
||||
var filtered = [];
|
||||
angular.forEach(items, function(item) {
|
||||
filtered.push(item);
|
||||
});
|
||||
filtered.sort(function(a, b) {
|
||||
return (a[field] > b[field] ? 1 : -1);
|
||||
});
|
||||
if (reverse) filtered.reverse();
|
||||
return filtered;
|
||||
};
|
||||
}
|
||||
])
|
||||
.filter('orderObjectBy', function() {
|
||||
return function(items, field, reverse) {
|
||||
var filtered = [];
|
||||
angular.forEach(items, function(item) {
|
||||
filtered.push(item);
|
||||
});
|
||||
filtered.sort(function (a, b) {
|
||||
return (a[field] > b[field] ? 1 : -1);
|
||||
});
|
||||
if(reverse) filtered.reverse();
|
||||
return filtered;
|
||||
};
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue