From 76210d8d0dc776c92fb663e3b240f52f52498658 Mon Sep 17 00:00:00 2001 From: Niggl Date: Fri, 10 Jul 2020 22:20:14 +0200 Subject: [PATCH] First round of comments for userstory inner table --- .../userstory-inner-table.component.ts | 36 ++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/src/app/components/tabels/userstory-inner-table/userstory-inner-table.component.ts b/src/app/components/tabels/userstory-inner-table/userstory-inner-table.component.ts index 1dd157c..dbec7f9 100644 --- a/src/app/components/tabels/userstory-inner-table/userstory-inner-table.component.ts +++ b/src/app/components/tabels/userstory-inner-table/userstory-inner-table.component.ts @@ -15,20 +15,22 @@ import { ActivatedRoute, ParamMap, Router } from '@angular/router'; @Component({ selector: 'app-userstory-inner-table', templateUrl: './userstory-inner-table.component.html', - styleUrls: ['./userstory-inner-table.component.css'] + styleUrls: ['./userstory-inner-table.component.css'], }) -export class UserstoryInnerTableComponent extends TableComponentBase { +export class UserstoryInnerTableComponent extends TableComponentBase< + ScrumUserstory +> { public tasks: ScrumTask[] = []; public filterPriority: string | null = null; public status: ScrumStatus[] = []; public categories: ScrumCategory[] = []; @Input() public storys: ScrumUserstory[] = []; - + constructor( private backendService: BackendService, private modalService: NgbModal, - protected route: ActivatedRoute, + protected route: ActivatedRoute ) { super(route); this.items = this.storys; @@ -64,8 +66,10 @@ export class UserstoryInnerTableComponent extends TableComponentBase t.priority == this.filterPriority); + if (this.filterPriority == null) { + return this.items; + } + return this.items.filter((t) => t.priority == this.filterPriority); } public getNumberOfTasks(userstory: ScrumUserstory) { @@ -104,28 +108,45 @@ export class UserstoryInnerTableComponent extends TableComponentBase getNumberForPriority(us.priority)); } + /** + * Sorts the tabel's items by amount of related tasks + */ public sortByTasks() { this.doNumericSort('tasks', (us) => this.getNumberOfTasks(us)); } + /** + * Sorts the tabel's items by statusid + */ public sortByStatus() { this.doNumericSort('statusid', (us) => us.statusid); } + + /** + * Sorts the tabel's items by categoryid + */ public sortByCategory() { this.doNumericSort('categoryid', (us) => us.categoryid); } //#endregion sorters //#region modals + /** + * Opens a UserstoryForm popup for editing a existing userstory or creating a new one. + * @param editUserstory optional: userstory to edit (only needed if a userstory should be edited, not newly created) + */ public openUserstoryForm(editUserstory?: ScrumUserstory) { const modalRef = this.modalService.open(UserstoryFormComponent, { backdrop: 'static', keyboard: true, - size: "lg", + size: 'lg', }); if (editUserstory === null) { modalRef.result.then((result) => { @@ -136,4 +157,3 @@ export class UserstoryInnerTableComponent extends TableComponentBase