Renommer
-
+
\ No newline at end of file
diff --git a/src/app/task-lists/task-lists.component.scss b/src/app/task-lists/task-lists.component.scss
index 21aaa5a..41d104b 100644
--- a/src/app/task-lists/task-lists.component.scss
+++ b/src/app/task-lists/task-lists.component.scss
@@ -1,3 +1,10 @@
+.no-task-list {
+ display: flex;
+ margin: auto;
+ margin-top: 3rem;
+ font-size: 1.5rem;
+}
+
.task-lists {
display: flex;
flex-direction: row;
diff --git a/src/app/task-lists/task-lists.component.ts b/src/app/task-lists/task-lists.component.ts
index 33bd7e5..1f984bb 100644
--- a/src/app/task-lists/task-lists.component.ts
+++ b/src/app/task-lists/task-lists.component.ts
@@ -1,6 +1,7 @@
import { Component, NgZone, OnDestroy, OnInit } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { Subscription } from 'rxjs';
+import { ConfirmDialogComponent, ConfirmDialogModel } from '../core/components/confirm-dialog/confirm-dialog.component';
import { TaskList } from '../core/entity/task-list';
import { TaskListService } from '../core/service/task-list.service';
import { AddTaskListComponent } from './add-task-list/add-task-list.component';
@@ -14,6 +15,7 @@ import { RenameTaskListComponent } from './rename-task-list/rename-task-list.com
export class TaskListsComponent implements OnInit, OnDestroy {
taskLists: TaskList[] = [];
private _storeSubscription?: Subscription;
+ private _subscriptions: Subscription[] = [];
constructor(
private _dialog: MatDialog,
@@ -22,13 +24,14 @@ export class TaskListsComponent implements OnInit, OnDestroy {
ngOnInit(): void {
this.taskLists = this._taskListService.getAll();
- this._storeSubscription = this._taskListService.store$.subscribe(store => {
+ const storeSubscription = this._taskListService.store$.subscribe(store => {
this.taskLists = store.taskLists;
});
+ this._subscriptions.push(storeSubscription);
}
ngOnDestroy(): void {
- this._storeSubscription?.unsubscribe();
+ this._subscriptions.forEach(subscription => subscription.unsubscribe());
}
selectActiveTaskList(taskList: TaskList): void {
@@ -63,4 +66,28 @@ export class TaskListsComponent implements OnInit, OnDestroy {
}
);
}
+
+ deleteSelectedTaskLists(): void {
+ const confirmData = {
+ title: 'Supprimer les task-lists sélectionnées ?',
+ description: 'Une fois supprimées, les task-lists seront perdues définitivement.',
+ confirmButtonLabel: 'Supprimer les task-lists',
+ confirmButtonType: 'alert'
+ } as ConfirmDialogModel;
+
+ const dialogRef = this._dialog.open(
+ ConfirmDialogComponent,
+ {
+ width: '30rem',
+ data: confirmData
+ }
+ );
+
+ const afterDialogCloseSubscription = dialogRef.afterClosed().subscribe(result => {
+ if (result) {
+ this._taskListService.deleteSelectedTaskLists();
+ }
+ })
+ this._subscriptions.push(afterDialogCloseSubscription);
+ }
}