projects/core/src/i18n/numeric.pipe.ts
| Name | cxNumeric |
| Protected getActiveLang |
getActiveLang()
|
|
Defined in projects/core/src/i18n/numeric.pipe.ts:28
|
|
Returns :
string
|
| Protected getLang |
getLang()
|
|
Defined in projects/core/src/i18n/numeric.pipe.ts:17
|
|
Returns :
string
|
| Protected reportMissingLocaleData | ||||||
reportMissingLocaleData(lang: string)
|
||||||
|
Defined in projects/core/src/i18n/numeric.pipe.ts:37
|
||||||
|
Parameters :
Returns :
void
|
| transform | |||||||||
transform(value: any | number | string, digitsInfo?: string)
|
|||||||||
|
Defined in projects/core/src/i18n/numeric.pipe.ts:11
|
|||||||||
|
Parameters :
Returns :
string | null
|
| transform | |||||||||
transform(value: null | undefined, digitsInfo?: string)
|
|||||||||
|
Defined in projects/core/src/i18n/numeric.pipe.ts:12
|
|||||||||
|
Parameters :
Returns :
null
|
| transform |
transform(value: any, digitsInfo?: string)
|
|
Defined in projects/core/src/i18n/numeric.pipe.ts:13
|
|
Returns :
string | null
|
import { DecimalPipe, getLocaleId } from '@angular/common';
import { isDevMode, Pipe, PipeTransform } from '@angular/core';
import { LanguageService } from '../site-context/facade/language.service';
@Pipe({ name: 'cxNumeric' })
export class CxNumericPipe extends DecimalPipe implements PipeTransform {
constructor(protected language: LanguageService) {
super(null);
}
transform(value: any | number | string, digitsInfo?: string): string | null;
transform(value: null | undefined, digitsInfo?: string): null;
transform(value: any, digitsInfo?: string): string | null {
return super.transform(value, digitsInfo, this.getLang());
}
protected getLang(): string {
const lang = this.getActiveLang();
try {
getLocaleId(lang);
return lang;
} catch {
this.reportMissingLocaleData(lang);
return 'en';
}
}
protected getActiveLang(): string {
let result;
this.language
.getActive()
.subscribe((lang) => (result = lang))
.unsubscribe();
return result;
}
protected reportMissingLocaleData(lang: string): void {
if (isDevMode()) {
console.warn(
`cxNumeric pipe: No locale data registered for '${lang}' (see https://angular.io/api/common/registerLocaleData).`
);
}
}
}