import { Component, OnInit } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { MatDialogRef } from '@angular/material/dialog'; import { MatSnackBar } from '@angular/material/snack-bar'; import { TaskList } from 'src/app/core/entity/task-list'; import { TaskListService } from 'src/app/core/service/task-list.service'; @Component({ selector: 'app-rename-task-list', templateUrl: './rename-task-list.component.html', styleUrls: ['./rename-task-list.component.scss'] }) export class RenameTaskListComponent implements OnInit { renameTaskListFormGroup: FormGroup = this._formBuilder.group({ name: [undefined, Validators.required] }); selectedTaskList?: TaskList; constructor( private _dialogRef: MatDialogRef, private _formBuilder: FormBuilder, private _snackBar: MatSnackBar, private _taskListService: TaskListService ) {} ngOnInit(): void { this.selectedTaskList = this._taskListService.selectedTaskList; if (this.selectedTaskList) { this.renameTaskListFormGroup.controls.name.setValue(this.selectedTaskList.name); } else { this._snackBar.open('Impossible de renommer la task-list : aucune task-list n\'est sélectionnée.', 'Fermer', {duration: 5000}); this._dialogRef.close(); } } get form(): any { return this.renameTaskListFormGroup.controls; } onSubmit(): void { if (this.selectedTaskList) { if (this.renameTaskListFormGroup.valid) { this.selectedTaskList.name = this.renameTaskListFormGroup.controls.name.value; this._taskListService.updateTaskListName(this.selectedTaskList); this._snackBar.open('La task-list a été renommée.', 'Fermer', {duration: 5000}); this.close(); } else { this._snackBar.open('Veuillez vérifier les informations saisies.', 'Fermer', {duration: 5000}); } } } close(): void { this._dialogRef.close(); } }