Skip to content

Commit ba9bdf7

Browse files
committed
fix(number): fix the result for 0 and other edge cases
1 parent 31c7d51 commit ba9bdf7

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

src/global/number/number.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ angular.module('ui.utils.masks.global.number', [
2525
var viewMask = NumberMasks.viewMask(decimals, decimalDelimiter, thousandsDelimiter),
2626
modelMask = NumberMasks.modelMask(decimals);
2727

28-
function parse(value) {
29-
if(!value) {
28+
function parser(value) {
29+
if(ctrl.$isEmpty(value)) {
3030
return value;
3131
}
3232

@@ -54,21 +54,22 @@ angular.module('ui.utils.masks.global.number', [
5454
return actualNumber;
5555
}
5656

57-
ctrl.$formatters.push(function(value) {
57+
function formatter(value) {
58+
if(ctrl.$isEmpty(value)) {
59+
return value;
60+
}
61+
5862
var prefix = '';
5963
if(angular.isDefined(attrs.uiNegativeNumber) && value < 0){
6064
prefix = '-';
6165
}
6266

63-
if(!value) {
64-
return value;
65-
}
66-
6767
var valueToFormat = PreFormatters.prepareNumberToFormatter(value, decimals);
6868
return prefix + viewMask.apply(valueToFormat);
69-
});
69+
}
7070

71-
ctrl.$parsers.push(parse);
71+
ctrl.$formatters.push(formatter);
72+
ctrl.$parsers.push(parser);
7273

7374
if (attrs.uiNumberMask) {
7475
scope.$watch(attrs.uiNumberMask, function(decimals) {
@@ -78,7 +79,7 @@ angular.module('ui.utils.masks.global.number', [
7879
viewMask = NumberMasks.viewMask(decimals, decimalDelimiter, thousandsDelimiter);
7980
modelMask = NumberMasks.modelMask(decimals);
8081

81-
parse(ctrl.$viewValue || '');
82+
parser(ctrl.$viewValue);
8283
});
8384
}
8485

0 commit comments

Comments
 (0)