update task query from firebase

This commit is contained in:
Chneemann 2024-03-26 23:00:15 +01:00
parent cedcb7bc4f
commit 136f280705
3 changed files with 14 additions and 21 deletions

View file

@ -28,10 +28,6 @@ export class BoardComponent {
});
}
ngOnDestroy() {
this.taskService.unsubTask();
}
getTask(status: string) {
if (this.taskService.filteredTasks.length > 0) {
return this.taskService.filteredTasks.filter(

View file

@ -19,7 +19,7 @@ export class SummaryComponent {
urgentTasksDate: String = '';
constructor(private taskService: TaskService) {
this.taskService.tasksLoaded.subscribe(() => {
this.taskService.subTaskList().subscribe(() => {
this.updateTasksCount();
this.updateAllTasksCount();
this.updateUrgentTasksCount();

View file

@ -7,31 +7,32 @@ import {
updateDoc,
} from '@angular/fire/firestore';
import { Task } from '../interfaces/task.interface';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root',
})
export class TaskService {
firestore: Firestore = inject(Firestore);
tasksLoaded: EventEmitter<void> = new EventEmitter<void>();
allTasks: Task[] = [];
filteredTasks: Task[] = [];
unsubTask;
constructor() {
this.unsubTask = this.subTaskList();
}
constructor() {}
subTaskList() {
return onSnapshot(this.getTaskRef(), (list) => {
return new Observable<void>((observer) => {
const unsubscribe = onSnapshot(this.getTaskRef(), (list) => {
this.allTasks = [];
list.forEach((element) => {
const taskData = { ...(element.data() as Task), id: element.id };
this.allTasks.push(taskData);
});
this.tasksLoaded.emit();
observer.next();
});
// Cleanup function
return () => unsubscribe();
});
}
@ -56,8 +57,4 @@ export class TaskService {
status: task.status,
};
}
ngOnDestroy() {
this.unsubTask;
}
}