issue-14 #74
@ -19,8 +19,9 @@ export class ScheduleDashboardComponent implements OnInit{
|
||||
|
||||
@Input('taskgroup') taskgroup: TaskgroupEntityInfo | undefined
|
||||
@Input('task') task: TaskEntityInfo | undefined
|
||||
@Input('schedules') schedules: ScheduleInfo[] = []
|
||||
|
||||
|
||||
schedules: ScheduleInfo[] = []
|
||||
|
||||
constructor(private scheduleService: ScheduleService,
|
||||
private snackbar: MatSnackBar) {
|
||||
@ -28,11 +29,7 @@ export class ScheduleDashboardComponent implements OnInit{
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.scheduleService.schedulesTaskIDGet(this.task!.taskID).subscribe({
|
||||
next: resp => {
|
||||
this.schedules = resp;
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
reschedule() {
|
||||
|
@ -5,7 +5,7 @@
|
||||
<mat-card-title>
|
||||
<div class="task-header-container">
|
||||
<div class="left">
|
||||
<div>🟢 {{task!.taskName}}</div>
|
||||
<div>{{taskStatus + " " + task!.taskName}}</div>
|
||||
</div>
|
||||
<button class="right lightBlueBtn" mat-raised-button style="margin-left: auto">Add Subtask</button>
|
||||
</div>
|
||||
@ -39,7 +39,7 @@
|
||||
<mat-expansion-panel *ngIf="taskgroup != undefined && task != undefined" style="margin-top: 20px" expanded>
|
||||
<mat-expansion-panel-header>Schedules</mat-expansion-panel-header>
|
||||
<div>
|
||||
<app-schedule-dashboard [taskgroup]="taskgroup" [task]="task"></app-schedule-dashboard>
|
||||
<app-schedule-dashboard [taskgroup]="taskgroup" [task]="task" #scheduleDashboard [schedules]="schedules"></app-schedule-dashboard>
|
||||
</div>
|
||||
</mat-expansion-panel>
|
||||
</div>
|
||||
|
@ -1,11 +1,20 @@
|
||||
import {Component, OnInit, ViewChild} from '@angular/core';
|
||||
import {NavigationLink, NavigationLinkListComponent} from "../../navigation-link-list/navigation-link-list.component";
|
||||
import {ActivatedRoute, Router} from "@angular/router";
|
||||
import {ScheduleService, TaskEntityInfo, TaskgroupEntityInfo, TaskgroupService, TaskService} from "../../../api";
|
||||
import {
|
||||
ScheduleInfo,
|
||||
ScheduleService,
|
||||
TaskEntityInfo,
|
||||
TaskgroupEntityInfo,
|
||||
TaskgroupService,
|
||||
TaskService
|
||||
} from "../../../api";
|
||||
import {TaskDashboardComponent} from "../task-dashboard/task-dashboard.component";
|
||||
import {MatDialog} from "@angular/material/dialog";
|
||||
import {TaskEditorComponent} from "../task-editor/task-editor.component";
|
||||
import {TaskEditorData} from "../task-editor/TaskEditorData";
|
||||
import * as moment from "moment";
|
||||
import {ScheduleDashboardComponent} from "../../schedules/schedule-dashboard/schedule-dashboard.component";
|
||||
|
||||
@Component({
|
||||
selector: 'app-task-detail-overview',
|
||||
@ -31,6 +40,9 @@ export class TaskDetailOverviewComponent implements OnInit {
|
||||
@ViewChild('navLinkList') navLinkListComponent: NavigationLinkListComponent | undefined
|
||||
|
||||
task: TaskEntityInfo | undefined
|
||||
schedules: ScheduleInfo[] = []
|
||||
|
||||
taskStatus: string = "🟢"
|
||||
|
||||
constructor(private activatedRoute: ActivatedRoute,
|
||||
private taskgroupService: TaskgroupService,
|
||||
@ -70,15 +82,26 @@ export class TaskDetailOverviewComponent implements OnInit {
|
||||
this.taskService.tasksTaskIDGet(Number(params.get('taskID'))).subscribe({
|
||||
next: resp => {
|
||||
this.task = resp;
|
||||
this.taskStatus = this.getStatusOfTask(resp)
|
||||
}
|
||||
});
|
||||
this.scheduleService.schedulesTaskIDGet(Number(params.get('taskID'))).subscribe({
|
||||
next: resp => {
|
||||
this.schedules = resp;
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
getStatusOfTask(task: TaskEntityInfo | undefined) {
|
||||
return "green";
|
||||
|
||||
getStatusOfTask(task: TaskEntityInfo ) {
|
||||
if(moment(task.deadline, 'YYYY-MM-DDTHH:mm:ss.SSSZ').isBefore(moment())) {
|
||||
return "🔴";
|
||||
} else if(this.schedules.length == 0){
|
||||
return "🟠";
|
||||
} else {
|
||||
return "🟢";
|
||||
}
|
||||
}
|
||||
|
||||
openTaskEditor() {
|
||||
|
@ -53,11 +53,11 @@ export class TaskEditorComponent implements OnInit {
|
||||
createTask() {
|
||||
let endDate_formatted: string|undefined = undefined;
|
||||
let startDate_formatted: string|undefined = undefined;
|
||||
if(this.endDate.value.length > 0) {
|
||||
if(this.endDate.value !== "") {
|
||||
endDate_formatted = moment(this.endDate.value).format('YYYY-MM-DDTHH:mm:ss.SSSZ');
|
||||
}
|
||||
|
||||
if(this.startDate.value.length > 0) {
|
||||
if(this.startDate.value !== "") {
|
||||
startDate_formatted = moment(this.startDate.value).format('YYYY-MM-DDTHH:mm:ss.SSSZ');
|
||||
}
|
||||
this.taskService.tasksTaskgroupIDPut(this.editorData.taskgroupID, {
|
||||
@ -85,13 +85,20 @@ export class TaskEditorComponent implements OnInit {
|
||||
}
|
||||
|
||||
editTask() {
|
||||
const startingDate = this.startDate.value.length == 0? null:this.startDate.value
|
||||
const deadline = this.endDate.value.length == 0? null:this.endDate.value
|
||||
let endDate_formatted: string|undefined = undefined;
|
||||
let startDate_formatted: string|undefined = undefined;
|
||||
if(this.endDate.value !== "") {
|
||||
endDate_formatted = moment(this.endDate.value).format('YYYY-MM-DDTHH:mm:ss.SSSZ');
|
||||
}
|
||||
|
||||
if(this.startDate.value !== "") {
|
||||
startDate_formatted = moment(this.startDate.value).format('YYYY-MM-DDTHH:mm:ss.SSSZ');
|
||||
}
|
||||
this.taskService.tasksTaskIDPost(this.editorData.task!.taskID, {
|
||||
taskName: this.nameCtrl.value,
|
||||
eta: this.etaCtrl.value,
|
||||
startDate: startingDate,
|
||||
deadline: deadline,
|
||||
startDate: startDate_formatted,
|
||||
deadline: endDate_formatted,
|
||||
finishable: this.finishable
|
||||
}).subscribe({
|
||||
next: resp => {
|
||||
|
Loading…
Reference in New Issue
Block a user