Skip to content

Commit edd2dde

Browse files
ricmelloalvarocamillont
authored andcommitted
fix(password): sobrescreve a propriedade autocomplete
O campo é preenchido automaticamente com a senha salva mesmo com o autocomplete desabilitado. Sobrescreve a propriedade autocomplete do `po-input-generic` para que retorne o valor `new-password` pra desabilitar o autocomplete conforme a documentação oficial da Mozilla. Fixes #633
1 parent 1a9aef5 commit edd2dde

File tree

4 files changed

+19
-1
lines changed

4 files changed

+19
-1
lines changed

projects/ui/src/lib/components/po-field/po-input-generic/po-input-generic.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export abstract class PoInputGeneric extends PoInputBaseComponent implements Aft
1414
valueBeforeChange: any;
1515
timeoutChange: any;
1616

17-
get autocomplete() {
17+
get autocomplete(): string {
1818
return this.noAutocomplete ? 'off' : 'on';
1919
}
2020

projects/ui/src/lib/components/po-field/po-input/po-input-base.component.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ export abstract class PoInputBaseComponent implements ControlValueAccessor, Vali
7272
*
7373
* Define a propriedade nativa `autocomplete` do campo como `off`.
7474
*
75+
* > No componente `po-password` será definido como `new-password`.
76+
*
7577
* @default `false`
7678
*/
7779
@Input('p-no-autocomplete') set noAutocomplete(value: boolean) {

projects/ui/src/lib/components/po-field/po-password/po-password.component.spec.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,18 @@ describe('PoNumberComponent:', () => {
109109
expect(component.visiblePassword).toBe(true);
110110
expect(component.type).toEqual(expectedValue);
111111
});
112+
113+
it('autocomplete: should return `new-password` if `noAutocomplete` is true', () => {
114+
component.noAutocomplete = true;
115+
116+
expect(component.autocomplete).toBe('new-password');
117+
});
118+
119+
it('autocomplete: should return `on` if `noAutocomplete` is false', () => {
120+
component.noAutocomplete = false;
121+
122+
expect(component.autocomplete).toBe('on');
123+
});
112124
});
113125

114126
describe('Methods:', () => {

projects/ui/src/lib/components/po-field/po-password/po-password.component.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ export class PoPasswordComponent extends PoInputGeneric {
7070
return this._hidePasswordPeek;
7171
}
7272

73+
get autocomplete(): string {
74+
return this.noAutocomplete ? 'new-password' : 'on';
75+
}
76+
7377
/* istanbul ignore next */
7478
constructor(el: ElementRef) {
7579
super(el);

0 commit comments

Comments
 (0)