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 lockedBalanceAlternative = rateService.toFiat(self.lockedBalanceSat, self.alternativeIsoCode);
|
||||||
var alternativeConversionRate = rateService.toFiat(100000000, self.alternativeIsoCode);
|
var alternativeConversionRate = rateService.toFiat(100000000, self.alternativeIsoCode);
|
||||||
|
|
||||||
self.totalBalanceAlternative = $filter('noFractionNumber')(totalBalanceAlternative, 2);
|
self.totalBalanceAlternative = $filter('formatFiatAmount')(totalBalanceAlternative);
|
||||||
self.lockedBalanceAlternative = $filter('noFractionNumber')(lockedBalanceAlternative, 2);
|
self.lockedBalanceAlternative = $filter('formatFiatAmount')(lockedBalanceAlternative);
|
||||||
self.alternativeConversionRate = $filter('noFractionNumber')(alternativeConversionRate, 2);
|
self.alternativeConversionRate = $filter('formatFiatAmount')(alternativeConversionRate);
|
||||||
|
|
||||||
self.alternativeBalanceAvailable = true;
|
self.alternativeBalanceAvailable = true;
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@ angular.module('copayApp.controllers').controller('customAmountController', func
|
||||||
var amountSat = parseInt((amount * $scope.unitToSatoshi).toFixed(0));
|
var amountSat = parseInt((amount * $scope.unitToSatoshi).toFixed(0));
|
||||||
$timeout(function() {
|
$timeout(function() {
|
||||||
$scope.customizedAmountUnit = amount + ' ' + $scope.unitName;
|
$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') {
|
if ($scope.unitName == 'bits') {
|
||||||
amount = (amountSat * satToBtc).toFixed(8);
|
amount = (amountSat * satToBtc).toFixed(8);
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,7 +74,7 @@ angular.module('copayApp.controllers').controller('txDetailsController', functio
|
||||||
var alternativeAmountBtc = ($scope.btx.amount * satToBtc).toFixed(8);
|
var alternativeAmountBtc = ($scope.btx.amount * satToBtc).toFixed(8);
|
||||||
$scope.rateDate = res.fetchedOn;
|
$scope.rateDate = res.fetchedOn;
|
||||||
$scope.rateStr = res.rate + ' ' + $scope.alternativeIsoCode;
|
$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();
|
$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',
|
var fractionSize = 2;
|
||||||
function(filter, locale, configService) {
|
var value = numberFilter(amount, fractionSize);
|
||||||
var numberFilter = filter('number');
|
var sep = value.indexOf(formats.DECIMAL_SEP);
|
||||||
var formats = locale.NUMBER_FORMATS;
|
var group = value.indexOf(formats.GROUP_SEP);
|
||||||
var config = configService.getSync().wallet.settings;
|
|
||||||
return function(amount, n) {
|
|
||||||
if (typeof(n) === 'undefined' && !config) return amount;
|
|
||||||
|
|
||||||
var fractionSize = (typeof(n) !== 'undefined') ?
|
if (amount >= 0) {
|
||||||
n : config.unitToSatoshi.toString().length - 1;
|
if (group > 0) {
|
||||||
var value = numberFilter(amount, fractionSize);
|
if (sep < 0) {
|
||||||
var sep = value.indexOf(formats.DECIMAL_SEP);
|
return value;
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
var intValue = value.substring(0, sep);
|
||||||
|
var floatValue = parseFloat(value.substring(sep));
|
||||||
|
floatValue = floatValue.toFixed(2);
|
||||||
floatValue = floatValue.toString().substring(1);
|
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