import { Component, inject, Inject } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { CommonModule } from '@angular/common'; import { FormBuilder, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms'; import { AngularMaterialModule } from '../shared/module/angular-material.module'; @Component({ selector: 'app-carnet-dialog', imports: [AngularMaterialModule, CommonModule, ReactiveFormsModule], template: `

{{title}}

Carnet Number Carnet number is required
`, styles: [` .form-row { display: flex; gap: 16px; margin-top: 0.5rem; align-items: start; mat-form-field { flex: 1; margin-bottom: 6px; } } `] }) export class CarnetDialogComponent { carnetAction: any | null = null; carnetForm: FormGroup; title: string = ''; private fb = inject(FormBuilder); constructor( public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: { carnetAction: string } ) { this.carnetAction = data.carnetAction; this.carnetForm = this.fb.group({ carnetNumber: ['', Validators.required] }); } ngOnInit(): void { this.setTitle(); } setTitle(): void { if (this.carnetAction === 'duplicate') { this.title = 'Duplicate Carnet'; } else if (this.carnetAction === 'extend') { this.title = 'Extend Carnet'; } else if (this.carnetAction === 'additional') { this.title = 'Additional Sets'; } } onSubmit(): void { this.dialogRef.close(this.carnetForm.value.carnetNumber); } onCancel(): void { this.dialogRef.close(); } }