update task query from firebase
This commit is contained in:
parent
cedcb7bc4f
commit
136f280705
3 changed files with 14 additions and 21 deletions
|
|
@ -28,10 +28,6 @@ export class BoardComponent {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnDestroy() {
|
|
||||||
this.taskService.unsubTask();
|
|
||||||
}
|
|
||||||
|
|
||||||
getTask(status: string) {
|
getTask(status: string) {
|
||||||
if (this.taskService.filteredTasks.length > 0) {
|
if (this.taskService.filteredTasks.length > 0) {
|
||||||
return this.taskService.filteredTasks.filter(
|
return this.taskService.filteredTasks.filter(
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ export class SummaryComponent {
|
||||||
urgentTasksDate: String = '';
|
urgentTasksDate: String = '';
|
||||||
|
|
||||||
constructor(private taskService: TaskService) {
|
constructor(private taskService: TaskService) {
|
||||||
this.taskService.tasksLoaded.subscribe(() => {
|
this.taskService.subTaskList().subscribe(() => {
|
||||||
this.updateTasksCount();
|
this.updateTasksCount();
|
||||||
this.updateAllTasksCount();
|
this.updateAllTasksCount();
|
||||||
this.updateUrgentTasksCount();
|
this.updateUrgentTasksCount();
|
||||||
|
|
|
||||||
|
|
@ -7,31 +7,32 @@ import {
|
||||||
updateDoc,
|
updateDoc,
|
||||||
} from '@angular/fire/firestore';
|
} from '@angular/fire/firestore';
|
||||||
import { Task } from '../interfaces/task.interface';
|
import { Task } from '../interfaces/task.interface';
|
||||||
|
import { Observable } from 'rxjs';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
})
|
})
|
||||||
export class TaskService {
|
export class TaskService {
|
||||||
firestore: Firestore = inject(Firestore);
|
firestore: Firestore = inject(Firestore);
|
||||||
tasksLoaded: EventEmitter<void> = new EventEmitter<void>();
|
|
||||||
|
|
||||||
allTasks: Task[] = [];
|
allTasks: Task[] = [];
|
||||||
filteredTasks: Task[] = [];
|
filteredTasks: Task[] = [];
|
||||||
|
|
||||||
unsubTask;
|
constructor() {}
|
||||||
|
|
||||||
constructor() {
|
|
||||||
this.unsubTask = this.subTaskList();
|
|
||||||
}
|
|
||||||
|
|
||||||
subTaskList() {
|
subTaskList() {
|
||||||
return onSnapshot(this.getTaskRef(), (list) => {
|
return new Observable<void>((observer) => {
|
||||||
|
const unsubscribe = onSnapshot(this.getTaskRef(), (list) => {
|
||||||
this.allTasks = [];
|
this.allTasks = [];
|
||||||
list.forEach((element) => {
|
list.forEach((element) => {
|
||||||
const taskData = { ...(element.data() as Task), id: element.id };
|
const taskData = { ...(element.data() as Task), id: element.id };
|
||||||
this.allTasks.push(taskData);
|
this.allTasks.push(taskData);
|
||||||
});
|
});
|
||||||
this.tasksLoaded.emit();
|
observer.next();
|
||||||
|
});
|
||||||
|
|
||||||
|
// Cleanup function
|
||||||
|
return () => unsubscribe();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -56,8 +57,4 @@ export class TaskService {
|
||||||
status: task.status,
|
status: task.status,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnDestroy() {
|
|
||||||
this.unsubTask;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue