Skip to content

Commit 4a6e2dc

Browse files
CSimoesJrrafaellmarques
authored andcommitted
fix(dynamic-search): corrige formatação de valores do filtro avançado
Corrige formatação de valores do tipo currency no filtro avançado fixes po-ui#890, DTHFUI-5026
1 parent 8e9aa43 commit 4a6e2dc

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

projects/templates/src/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.spec.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -456,6 +456,23 @@ describe('PoPageDynamicSearchComponent:', () => {
456456
expect(result).toBe('12/08/2020');
457457
});
458458

459+
it('getFilterValueToDisclaimer: should return formated currency in locale default if field type is PoDynamicFieldType.Currency', () => {
460+
component['languageService'].setLanguage('pt');
461+
const field = { type: PoDynamicFieldType.Currency, property: '1', label: 'currency' };
462+
const value = 322;
463+
464+
const result = component['getFilterValueToDisclaimer'](field, value);
465+
expect(result).toBe('322,00');
466+
});
467+
468+
it("getFilterValueToDisclaimer: should return formated currency in locale 'En' if field type is PoDynamicFieldType.Currency and locale is 'en'", () => {
469+
const field = { type: PoDynamicFieldType.Currency, property: '1', label: 'currency', locale: 'en' };
470+
const value = 322;
471+
472+
const result = component['getFilterValueToDisclaimer'](field, value);
473+
expect(result).toBe('322.00');
474+
});
475+
459476
it('getFilterValueToDisclaimer: should return formated date if field type is PoDynamicFieldType.Date with range', () => {
460477
const field = { type: PoDynamicFieldType.Date, property: '1', label: 'date', range: true };
461478
const originalValue = { start: '2020-08-12', end: '2020-08-12' };

projects/templates/src/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ export class PoPageDynamicSearchComponent extends PoPageDynamicSearchBaseCompone
6363
};
6464

6565
constructor(
66-
languageService: PoLanguageService,
66+
private languageService: PoLanguageService,
6767
private poPageCustomizationService: PoPageCustomizationService,
6868
private changeDetector: ChangeDetectorRef
6969
) {
@@ -225,6 +225,13 @@ export class PoPageDynamicSearchComponent extends PoPageDynamicSearchBaseCompone
225225
return formattedObject;
226226
}
227227

228+
private formatValueToCurrency(field: any, value: any) {
229+
const language = this.languageService.getLanguage();
230+
return new Intl.NumberFormat(field.locale ? field.locale : language, {
231+
minimumFractionDigits: 2
232+
}).format(value);
233+
}
234+
228235
private getFieldByProperty(fields: Array<PoDynamicFormField>, fieldName: string) {
229236
return fields.find((field: PoDynamicFormField) => field.property === fieldName);
230237
}
@@ -234,6 +241,10 @@ export class PoPageDynamicSearchComponent extends PoPageDynamicSearchBaseCompone
234241
return this.optionsServiceDisclaimerLabel(value, optionsServiceObjectsList);
235242
}
236243

244+
if (field.type === PoDynamicFieldType.Currency && value) {
245+
return this.formatValueToCurrency(field, value);
246+
}
247+
237248
if (field.type === PoDynamicFieldType.Date) {
238249
return field.range ? this.formatDate(value.start) + ' - ' + this.formatDate(value.end) : this.formatDate(value);
239250
}

0 commit comments

Comments
 (0)