From c087716a8c05a5f317ed8528a252dc06eae08937 Mon Sep 17 00:00:00 2001 From: Wanderley Santos Teixeira Date: Thu, 16 Feb 2023 19:54:15 -0300 Subject: [PATCH] feat(page-dynamic-search): melhora o disclaimer para campos booleanos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Melhora o disclaimer para campos booleanos, exibindo o atributo `booleanTrue` ou `booleanFalse` quando os mesmos forem diferentes de `undefined` ao invés do atributo `value`. Fixes #1307 --- .../po-page-dynamic-search.component.spec.ts | 36 +++++++++++++++++++ .../po-page-dynamic-search.component.ts | 4 +++ 2 files changed, 40 insertions(+) diff --git a/projects/templates/src/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.spec.ts b/projects/templates/src/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.spec.ts index a93c5d5b5b..5f9673ecd7 100644 --- a/projects/templates/src/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.spec.ts +++ b/projects/templates/src/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.spec.ts @@ -462,6 +462,42 @@ describe('PoPageDynamicSearchComponent:', () => { expect(component['setDisclaimers'](filters)).toEqual(result); }); + it('getFilterValueToDisclaimer: should return true if field type is PoDynamicFieldType.Boolean', () => { + const field = { type: PoDynamicFieldType.Boolean, property: '1', label: 'boolean' }; + const value = true; + + const result = component['getFilterValueToDisclaimer'](field, value); + + expect(result).toBe(true); + }); + + it('getFilterValueToDisclaimer: should return yes if field type is PoDynamicFieldType.Boolean', () => { + const field = { type: PoDynamicFieldType.Boolean, property: '1', label: 'boolean', booleanTrue: 'Yes' }; + const value = true; + + const result = component['getFilterValueToDisclaimer'](field, value); + + expect(result).toBe('Yes'); + }); + + it('getFilterValueToDisclaimer: should return false if field type is PoDynamicFieldType.Boolean', () => { + const field = { type: PoDynamicFieldType.Boolean, property: '1', label: 'boolean' }; + const value = false; + + const result = component['getFilterValueToDisclaimer'](field, value); + + expect(result).toBe(false); + }); + + it('getFilterValueToDisclaimer: should return no if field type is PoDynamicFieldType.Boolean', () => { + const field = { type: PoDynamicFieldType.Boolean, property: '1', label: 'boolean', booleanFalse: 'No' }; + const value = false; + + const result = component['getFilterValueToDisclaimer'](field, value); + + expect(result).toBe('No'); + }); + it('getFilterValueToDisclaimer: should return formated date if field type is PoDynamicFieldType.Date', () => { const field = { type: PoDynamicFieldType.Date, property: '1', label: 'date' }; const value = '2020-08-12'; diff --git a/projects/templates/src/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.ts b/projects/templates/src/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.ts index 58a267189f..9da94f1cde 100644 --- a/projects/templates/src/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.ts +++ b/projects/templates/src/lib/components/po-page-dynamic-search/po-page-dynamic-search.component.ts @@ -243,6 +243,10 @@ export class PoPageDynamicSearchComponent extends PoPageDynamicSearchBaseCompone } private getFilterValueToDisclaimer(field: any, value: any, optionsServiceObjectsList?: Array) { + if (field.type === PoDynamicFieldType.Boolean) { + value = value ? field.booleanTrue || value : field.booleanFalse || value; + } + if (field.optionsService && optionsServiceObjectsList) { return this.optionsServiceDisclaimerLabel(value, optionsServiceObjectsList); }