Implements task saving and retrieving.

This commit is contained in:
florian
2021-10-20 13:37:45 +02:00
parent c1a7ccb535
commit 89b50142c7
18 changed files with 229 additions and 504 deletions

View File

@@ -0,0 +1,32 @@
import { Injectable } from '@angular/core';
import { BehaviorSubject, Observable } from 'rxjs';
import { Task } from '../entity/task';
import { TaskPersistenceService } from './task-persistence.service';
@Injectable({
providedIn: 'root'
})
export class TaskService {
_tasks: BehaviorSubject<Task[]> = new BehaviorSubject<Task[]>([]);
constructor(
private _taskPersistenceService: TaskPersistenceService
) {
const tasks = this._taskPersistenceService.getAll() || [];
this._tasks.next(tasks);
}
get tasks(): Observable<Task[]> {
return this._tasks.asObservable();
}
add(task: Task): void {
const tasks = this._tasks.value;
tasks.push(task);
this._tasks.next(tasks);
}
_saveTasks(): void {
this._taskPersistenceService.save(this._tasks.value);
}
}