Add functionalty to add task
This commit is contained in:
@@ -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']);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user