More Userstory cleanuo

This commit is contained in:
Nicolai Ort 2020-07-10 19:26:08 +02:00
parent bec66aa69d
commit 3f6682fd8a

View File

@ -24,26 +24,20 @@ export class UserstoryInnerTableComponent extends TableComponentBase<ScrumUserst
public status: ScrumStatus[] = [];
public categories: ScrumCategory[] = [];
@Input() public items: ScrumUserstory[] = [];
public get filteredItems() {
return this.items.filter(
(task) =>
this.filterPriority === null || task.priority === this.filterPriority
);
}
constructor(
private backendService: BackendService,
private modalService: NgbModal,
private route: ActivatedRoute,
private router: Router
) {
super();
this.applyFilterParameters(this.route.snapshot.paramMap);
this.route.paramMap.subscribe((map) => this.applyFilterParameters(map));
backendService.getUserstories().subscribe((response) => {
if (response.status > 399) {
alert('Fehler');
} else {
this.items.push(...response.body);
}
});
backendService.getTasks().subscribe((response) => {
if (response.status > 399) {
alert('Fehler');
@ -67,57 +61,16 @@ export class UserstoryInnerTableComponent extends TableComponentBase<ScrumUserst
});
}
private applyFilterParameters(params: ParamMap) {
if (params.has('id')) {
this.highlightId = parseInt(params.get('id'));
}
}
public deleteUserstory(userstory: ScrumUserstory) {
this.backendService.deleteUserstory(userstory).subscribe((response) => {
if (response.status > 399) {
alert('Fehler');
}
});
const index = this.items.indexOf(userstory);
if (index !== -1) {
this.items.splice(index, 1);
}
}
public openUserstoryForm(editUserstory?: ScrumUserstory) {
const modalRef = this.modalService.open(UserstoryFormComponent, {
backdrop: 'static',
keyboard: true,
size: "lg",
});
if (editUserstory === null) {
modalRef.result.then((result) => {
this.items.push(result);
});
}
modalRef.componentInstance.userstory = editUserstory;
//#region getters
public get filteredItems() {
if(this.filterPriority == null){return this.items;}
return this.items.filter(t => t.priority == this.filterPriority);
}
public getNumberOfTasks(userstory: ScrumUserstory) {
return this.tasks.filter((t) => t.userstoryid === userstory.id).length;
}
public sortByPrio() {
this.doNumericSort('priority', (us) => getNumberForPriority(us.priority));
}
public sortByTasks() {
this.doNumericSort('tasks', (us) => this.getNumberOfTasks(us));
}
sortByStatus() {
this.doNumericSort('statusid', (us) => us.statusid);
}
sortByCategory() {
this.doNumericSort('categoryid', (us) => us.categoryid);
}
getStatusTitleById(id) {
var status = this.status.find((x) => x.id === id);
if (!status) {
@ -133,4 +86,59 @@ export class UserstoryInnerTableComponent extends TableComponentBase<ScrumUserst
}
return category.title;
}
//#endregion getters
//#region userstoryTableFunctions
private applyFilterParameters(params: ParamMap) {
if (params.has('id')) {
this.highlightId = parseInt(params.get('id'));
}
}
public deleteUserstory(userstory: ScrumUserstory) {
this.backendService.deleteUserstory(userstory).subscribe((response) => {
if (response.status > 399) {
alert('Fehler');
}
});
const index = this.items.indexOf(userstory);
if (index !== -1) {
this.items.splice(index, 1);
}
}
//#endregion userstoryTableFunctions
//#region sorters
public sortByPrio() {
this.doNumericSort('priority', (us) => getNumberForPriority(us.priority));
}
public sortByTasks() {
this.doNumericSort('tasks', (us) => this.getNumberOfTasks(us));
}
public sortByStatus() {
this.doNumericSort('statusid', (us) => us.statusid);
}
public sortByCategory() {
this.doNumericSort('categoryid', (us) => us.categoryid);
}
//#endregion sorters
//#region modals
public openUserstoryForm(editUserstory?: ScrumUserstory) {
const modalRef = this.modalService.open(UserstoryFormComponent, {
backdrop: 'static',
keyboard: true,
size: "lg",
});
if (editUserstory === null) {
modalRef.result.then((result) => {
this.items.push(result);
});
}
modalRef.componentInstance.userstory = editUserstory;
}
//#endregion modals
}