Add functionalty to add task

This commit is contained in:
2025-05-18 16:15:34 +02:00
parent f72cc8a802
commit 61694e340f
8 changed files with 124 additions and 35 deletions

View File

@@ -1,7 +1,10 @@
import { Location } from '@angular/common';
import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { ActivatedRoute } from '@angular/router';
import { ActivatedRoute, Router } from '@angular/router';
import { User } from 'src/app/models/user';
import { TaskService } from 'src/app/services/task.service';
import { UserService } from 'src/app/services/user.service';
@Component({
selector: 'app-edit-task',
@@ -13,25 +16,30 @@ export class EditTaskPage implements OnInit {
form: FormGroup;
id: number;
isAddMode: boolean;
users: Array<User> = [{id: 0, name: 'unassigned'}];
constructor(
private route: ActivatedRoute,
private formBuilder: FormBuilder,
private taskService: TaskService,
private userService: UserService,
private router: Router
) {
console.log('Test?')
this.id = this.route.snapshot.params['id'];
this.isAddMode = !this.id;
this.form = this.formBuilder.group({
name: ['', Validators.required],
reward: ['', Validators.required],
assigned: ['', Validators.required]
reward: ['', [Validators.required, Validators.pattern("^[0-9]*$")]],
assigned: [0, Validators.required]
});
}
ngOnInit() {
console.log('Test?')
this.userService.getUserList().subscribe(users => {
this.users.push(...users);
});
if (!this.isAddMode) {
this.taskService.getTaskById(this.id).subscribe(task => {
this.form.setValue({
@@ -43,4 +51,23 @@ export class EditTaskPage implements OnInit {
}
}
submit() {
const formValue = this.form.value;
let assigned: number | null = Number(formValue.assigned);
if (assigned === 0) {
assigned = null;
}
const task = {
name: formValue.name,
reward: formValue.reward,
assigned
}
if (this.isAddMode) {
this.taskService.createTask(task);
} else {}
this.router.navigate(['/tabs/tasks']);
}
}