mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ADF-1999] i18n support for file size pipe (#2803)
* i18n support for fileSize pipe * remove unused declaration * update unit test
This commit is contained in:
committed by
Eugenio Romano
parent
f9fb7dc7dd
commit
e98d904363
@@ -22,7 +22,23 @@ describe('FileSizePipe', () => {
|
||||
let pipe: FileSizePipe;
|
||||
|
||||
beforeEach(() => {
|
||||
pipe = new FileSizePipe();
|
||||
const translation: any = {
|
||||
instant(key) {
|
||||
const enUs = {
|
||||
'CORE.FILE_SIZE.BYTES': 'Bytes',
|
||||
'CORE.FILE_SIZE.KB': 'KB',
|
||||
'CORE.FILE_SIZE.MB': 'MB',
|
||||
'CORE.FILE_SIZE.GB': 'GB',
|
||||
'CORE.FILE_SIZE.TB': 'TB',
|
||||
'CORE.FILE_SIZE.PB': 'PB',
|
||||
'CORE.FILE_SIZE.EB': 'EB',
|
||||
'CORE.FILE_SIZE.ZB': 'ZB',
|
||||
'CORE.FILE_SIZE.YB': 'YB'
|
||||
};
|
||||
return enUs[key];
|
||||
}
|
||||
};
|
||||
pipe = new FileSizePipe(translation);
|
||||
});
|
||||
|
||||
it('returns empty string with invalid input', () => {
|
||||
|
@@ -16,12 +16,17 @@
|
||||
*/
|
||||
|
||||
import { Pipe, PipeTransform } from '@angular/core';
|
||||
import { TranslationService } from '../services/translation.service';
|
||||
|
||||
@Pipe({
|
||||
name: 'adfFileSize'
|
||||
name: 'adfFileSize',
|
||||
pure: false
|
||||
})
|
||||
export class FileSizePipe implements PipeTransform {
|
||||
|
||||
constructor(private translation: TranslationService) {
|
||||
}
|
||||
|
||||
transform(bytes: number, decimals: number = 2): string {
|
||||
if (bytes == null || bytes === undefined) {
|
||||
return '';
|
||||
@@ -33,10 +38,12 @@ export class FileSizePipe implements PipeTransform {
|
||||
|
||||
const k = 1024,
|
||||
dm = decimals || 2,
|
||||
sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
|
||||
sizes = ['BYTES', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
|
||||
i = Math.floor(Math.log(bytes) / Math.log(k));
|
||||
|
||||
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
|
||||
const i18nSize = this.translation.instant(`CORE.FILE_SIZE.${sizes[i]}`);
|
||||
|
||||
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + i18nSize;
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user