Add complete task functionality (#71)
closes #61 closes #58 Reviewed-on: #71
This commit is contained in:
parent
f04529067a
commit
5bcbde46ea
@ -15,13 +15,15 @@
|
|||||||
<mat-icon>filter_alt</mat-icon>
|
<mat-icon>filter_alt</mat-icon>
|
||||||
</div>
|
</div>
|
||||||
<div class="list">
|
<div class="list">
|
||||||
<div class="task" (click)="updateTask(task.id)" *ngFor="let task of tasks$ | async">
|
<div class="task" *ngFor="let task of tasks$ | async">
|
||||||
<button>Done</button>
|
<button (click)="completeTask(task.id)">Done</button>
|
||||||
<div class="name">{{ task.name }}</div>
|
<div (click)="updateTask(task.id)" class="item">
|
||||||
<div
|
<div class="name">{{ task.name }}</div>
|
||||||
class="reward"
|
<div
|
||||||
[ngClass]="{ 'negative': task.reward < 0 }"
|
class="reward"
|
||||||
>{{ task.reward.toFixed(2) }} SP</div>
|
[ngClass]="{ 'negative': task.reward < 0 }"
|
||||||
|
>{{ task.reward.toFixed(2) }} SP</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -33,6 +33,13 @@ mat-icon {
|
|||||||
padding: 5px;
|
padding: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.item {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
.name {
|
.name {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
color: var(--font-color);
|
color: var(--font-color);
|
||||||
|
@ -28,9 +28,11 @@ export class TasksPage implements ViewWillEnter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getTasks() {
|
getTasks() {
|
||||||
this.taskService.getTaskList().subscribe(tasks => {
|
setTimeout(() => {
|
||||||
this.tasks$.next(tasks);
|
this.taskService.getTaskList().subscribe(tasks => {
|
||||||
});
|
this.tasks$.next(tasks);
|
||||||
|
});
|
||||||
|
}, 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
createTask() {
|
createTask() {
|
||||||
@ -40,4 +42,9 @@ export class TasksPage implements ViewWillEnter {
|
|||||||
updateTask(id: number) {
|
updateTask(id: number) {
|
||||||
this.router.navigate(['edit', id], { relativeTo: this.route });
|
this.router.navigate(['edit', id], { relativeTo: this.route });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
completeTask(id: number) {
|
||||||
|
this.taskService.completeTask(id);
|
||||||
|
this.getTasks();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,4 +26,8 @@ export class TaskService {
|
|||||||
updateTask(id: number, task: Partial<Task>) {
|
updateTask(id: number, task: Partial<Task>) {
|
||||||
this.http.put(`${this.url}/task/${id}`, task).subscribe();
|
this.http.put(`${this.url}/task/${id}`, task).subscribe();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
completeTask(id: number) {
|
||||||
|
this.http.post(`${this.url}/task/${id}/complete`, {}).subscribe();
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user