refactor: pass form instance to form component, reset on save

This commit is contained in:
2025-12-17 20:15:53 -03:00
parent cb13d9d81a
commit 9efb64eea8
2 changed files with 7 additions and 2 deletions

View File

@@ -2,6 +2,7 @@
<app-card bgColor="var(--secondary)"> <app-card bgColor="var(--secondary)">
<app-contact-form <app-contact-form
(contact)="save($event)" (contact)="save($event)"
[form]="form"
[submitText]="strings.add" [submitText]="strings.add"
class="form" class="form"
><app-form-header ><app-form-header

View File

@@ -8,6 +8,7 @@ import { FormHeader } from '../../components/form-header/form-header';
import { STRINGS_INJECTOR } from '../../app.config'; import { STRINGS_INJECTOR } from '../../app.config';
import { UpperfirstPipe } from '../../pipes/upperfirst-pipe'; import { UpperfirstPipe } from '../../pipes/upperfirst-pipe';
import { MainHeader } from '../../components/main-header/main-header'; import { MainHeader } from '../../components/main-header/main-header';
import { FormGroupContact } from '../../utils/form-group-contact';
@Component({ @Component({
selector: 'app-main', selector: 'app-main',
@@ -16,10 +17,13 @@ import { MainHeader } from '../../components/main-header/main-header';
styleUrl: './main.scss', styleUrl: './main.scss',
}) })
export class Main { export class Main {
private readonly contactService = inject(ContactService); protected readonly form = new FormGroupContact();
protected readonly strings = inject(STRINGS_INJECTOR); protected readonly strings = inject(STRINGS_INJECTOR);
private readonly contactService = inject(ContactService);
save(contactDTO: ContactDTO) { save(contactDTO: ContactDTO) {
this.contactService.save(contactDTO).subscribe(); this.contactService.save(contactDTO).subscribe({
next: () => this.form.reset(),
});
} }
} }