From 3ebb1560ae7586ac2f00bcc6f921a5ebd6ac217d Mon Sep 17 00:00:00 2001 From: Florian THIERRY Date: Sun, 6 Mar 2022 15:10:07 +0100 Subject: [PATCH] Add snack messages after some actions. --- .../task-display.component.spec.ts | 25 -- .../task-display/task-display.component.ts | 25 +- .../components/header/header.component.html | 4 +- .../components/header/header.component.ts | 7 +- src/app/core/service/task-list.service.ts | 355 +++++++++--------- 5 files changed, 212 insertions(+), 204 deletions(-) delete mode 100644 src/app/active-list-tasks/task-display/task-display.component.spec.ts diff --git a/src/app/active-list-tasks/task-display/task-display.component.spec.ts b/src/app/active-list-tasks/task-display/task-display.component.spec.ts deleted file mode 100644 index 5c074a0..0000000 --- a/src/app/active-list-tasks/task-display/task-display.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { TaskDisplayComponent } from './task-display.component'; - -describe('TaskDisplayComponent', () => { - let component: TaskDisplayComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ TaskDisplayComponent ] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(TaskDisplayComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/src/app/active-list-tasks/task-display/task-display.component.ts b/src/app/active-list-tasks/task-display/task-display.component.ts index f2be344..9eea60d 100644 --- a/src/app/active-list-tasks/task-display/task-display.component.ts +++ b/src/app/active-list-tasks/task-display/task-display.component.ts @@ -1,7 +1,9 @@ import { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core'; import { FormControl } from '@angular/forms'; +import { MatDialog } from '@angular/material/dialog'; import { Subscription } from 'rxjs'; import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; +import { ConfirmDialogComponent, ConfirmDialogModel } from 'src/app/core/components/confirm-dialog/confirm-dialog.component'; import { Task } from 'src/app/core/entity/task'; import { TaskListService } from 'src/app/core/service/task-list.service'; @@ -21,6 +23,7 @@ export class TaskDisplayComponent implements AfterViewInit, OnDestroy { private _subscriptions: Subscription[] = []; constructor( + private _dialog: MatDialog, private _taskListService: TaskListService ) {} @@ -74,7 +77,27 @@ export class TaskDisplayComponent implements AfterViewInit, OnDestroy { delete(): void { if (this.task) { - this._taskListService.delete(this.task); + const confirmData = { + title: `Supprimer la tâche ${this.task.title} ?`, + description: 'Une fois supprimé, sa description sera perdue définitivement.', + confirmButtonLabel: 'Supprimer la tâche', + confirmButtonType: 'alert' + } as ConfirmDialogModel; + + const dialogRef = this._dialog.open( + ConfirmDialogComponent, + { + width: '30rem', + data: confirmData + } + ); + + const afterDialogCloseSubscription = dialogRef.afterClosed().subscribe(result => { + if (result && this.task) { + this._taskListService.delete(this.task); + } + }) + this._subscriptions.push(afterDialogCloseSubscription); } } } diff --git a/src/app/core/components/header/header.component.html b/src/app/core/components/header/header.component.html index 1726334..e5fe3d6 100644 --- a/src/app/core/components/header/header.component.html +++ b/src/app/core/components/header/header.component.html @@ -18,8 +18,8 @@ chevron_left -
- test +
+ {{activeTaskList.name}}