import { Component } from '@angular/core'; import { FormGroup, FormBuilder, Validators } from '@angular/forms'; import { MatDialogRef } from '@angular/material/dialog'; import { MatInputModule } from '@angular/material/input'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatDatepickerModule } from '@angular/material/datepicker'; import { MatButtonModule } from '@angular/material/button'; import { ReactiveFormsModule } from '@angular/forms'; import { CommonModule } from '@angular/common'; import { MatIconModule } from '@angular/material/icon'; import { MatCardModule } from '@angular/material/card'; @Component({ selector: 'bgui-ajout-tpe', standalone: true, imports: [ CommonModule, ReactiveFormsModule, MatInputModule, MatFormFieldModule, MatDatepickerModule, MatButtonModule, MatIconModule, MatCardModule, ], templateUrl: './ajout-tpe.component.html', styleUrls: ['./ajout-tpe.component.scss'], }) export class AjoutTpeComponent { myForm: FormGroup; showAlert: any; constructor( private fb: FormBuilder, private dialogRef: MatDialogRef ) { this.myForm = this.fb.group({ nom: ['', Validators.required], description: ['', Validators.required], date: ['', Validators.required], }); } // eslint-disable-next-line @angular-eslint/no-empty-lifecycle-method ngOnInit(): void {} onSubmit(): void { if (this.myForm.valid) { this.onSave(); } } onSave(): void { if (this.myForm.valid) { // Perform save action here, for example: console.log(this.myForm.value); this.dialogRef.close(this.myForm.value); // Close the dialog and pass the form data back } } onCancel(): void { this.dialogRef.close(); // Just close the dialog without passing any data } }