srumboard_frontend/src/app/task-list/task-list.component.ts

72 lines
2.0 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { BackendService, ScrumTask, ScrumSprint } from '../services/backend.service';
import { TaskFormComponent } from '../task-form/task-form.component';
import { SprintFormComponent } from '../sprint-form/sprint-form.component';
@Component({
selector: 'app-task-list',
templateUrl: './task-list.component.html',
styleUrls: ['./task-list.component.css']
})
export class TaskListComponent implements OnInit {
public tasks: ScrumTask[] = [];
public sprints: ScrumSprint[] = [];
constructor(private backendService: BackendService, private modalService: NgbModal) {
backendService.getTasks().subscribe(response => {
if (response.status > 399) {
alert('Fehler');
}
else {
this.tasks.push(...response.body);
}
});
}
ngOnInit(): void {
}
public deleteTask(task: ScrumTask) {
this.backendService.deleteTask(task).subscribe(response => {
if (response.status > 399) {
alert('Fehler');
}
});
const index = this.tasks.indexOf(task);
if (index !== -1) {
this.tasks.splice(index, 1);
}
}
public openTaskForm(editTask: ScrumTask) {
const modalRef = this.modalService.open(TaskFormComponent, {
backdrop: 'static',
keyboard: true,
});
if (editTask === null) {
modalRef.result.then(result => {
this.tasks.push(result);
});
}
modalRef.componentInstance.task = editTask;
}
public openSprintForm(editSprint: ScrumSprint) {
const modalRef = this.modalService.open(SprintFormComponent, {
backdrop: 'static',
keyboard: true,
});
if (editSprint === null) {
modalRef.result.then(result => {
this.sprints.push(result);
});
}
modalRef.componentInstance.userstory = editSprint;
}
}