| Index: third_party/pkg/angular/lib/formatter/number.dart
|
| diff --git a/third_party/pkg/angular/lib/filter/number.dart b/third_party/pkg/angular/lib/formatter/number.dart
|
| similarity index 69%
|
| rename from third_party/pkg/angular/lib/filter/number.dart
|
| rename to third_party/pkg/angular/lib/formatter/number.dart
|
| index 469bb6f39227275ea4a3519425b4b31bf2e7bba9..1cb2514b6b49aae9bfc93fe5bf8c3c1f153bf5d9 100644
|
| --- a/third_party/pkg/angular/lib/filter/number.dart
|
| +++ b/third_party/pkg/angular/lib/formatter/number.dart
|
| @@ -1,4 +1,4 @@
|
| -part of angular.filter;
|
| +part of angular.formatter_internal;
|
|
|
| /**
|
| * Formats a number as text.
|
| @@ -11,10 +11,10 @@ part of angular.filter;
|
| * {{ number_expression | number[:fractionSize] }}
|
| *
|
| */
|
| -@NgFilter(name:'number')
|
| -class NumberFilter {
|
| +@Formatter(name:'number')
|
| +class Number {
|
|
|
| - Map<num, NumberFormat> nfs = new Map<num, NumberFormat>();
|
| + var _nfs = new Map<String, Map<num, NumberFormat>>();
|
|
|
| /**
|
| * [value]: the value to format
|
| @@ -28,14 +28,16 @@ class NumberFilter {
|
| if (value is String) value = double.parse(value);
|
| if (!(value is num)) return value;
|
| if (value.isNaN) return '';
|
| - var nf = nfs[fractionSize];
|
| + var verifiedLocale = Intl.verifiedLocale(Intl.getCurrentLocale(), NumberFormat.localeExists);
|
| + _nfs.putIfAbsent(verifiedLocale, () => new Map<num, NumberFormat>());
|
| + var nf = _nfs[verifiedLocale][fractionSize];
|
| if (nf == null) {
|
| nf = new NumberFormat()..maximumIntegerDigits = 9;
|
| if (fractionSize != null) {
|
| nf.minimumFractionDigits = fractionSize;
|
| nf.maximumFractionDigits = fractionSize;
|
| }
|
| - nfs[fractionSize] = nf;
|
| + _nfs[verifiedLocale][fractionSize] = nf;
|
| }
|
| return nf.format(value);
|
| }
|
|
|