issue-14 #74
@ -24,6 +24,8 @@ public class TaskEntityInfo {
|
||||
|
||||
private boolean finishable;
|
||||
|
||||
private boolean hasActiveSchedules;
|
||||
|
||||
public TaskEntityInfo(Task task) {
|
||||
this.taskID = task.getTaskID();
|
||||
this.taskName = task.getTaskName();
|
||||
@ -36,6 +38,7 @@ public class TaskEntityInfo {
|
||||
this.finished = task.isFinished();
|
||||
this.workTime = task.getWorkTime();
|
||||
this.finishable = task.isFinishable();
|
||||
this.hasActiveSchedules = task.hasActiveSchedule();
|
||||
}
|
||||
|
||||
public long getTaskID() {
|
||||
@ -109,4 +112,12 @@ public class TaskEntityInfo {
|
||||
public void setFinishable(boolean finishable) {
|
||||
this.finishable = finishable;
|
||||
}
|
||||
|
||||
public boolean isHasActiveSchedules() {
|
||||
return hasActiveSchedules;
|
||||
}
|
||||
|
||||
public void setHasActiveSchedules(boolean hasActiveSchedules) {
|
||||
this.hasActiveSchedules = hasActiveSchedules;
|
||||
}
|
||||
}
|
||||
|
@ -48,5 +48,9 @@ export interface TaskEntityInfo {
|
||||
* determines whether the task can be finished
|
||||
*/
|
||||
finishable: boolean;
|
||||
/**
|
||||
* determines whether the task has active schedules
|
||||
*/
|
||||
hasActiveSchedules: boolean;
|
||||
}
|
||||
|
||||
|
@ -35,7 +35,7 @@
|
||||
<ng-container matColumnDef="status">
|
||||
<th mat-header-cell *matHeaderCellDef mat-sort-header> Status </th>
|
||||
<td mat-cell *matCellDef="let task">
|
||||
<div class="status-indicator" [style.background-color]="getStatusOfTask(task)"></div>
|
||||
<p>{{getStatusOfTask(task)}}</p>
|
||||
</td>
|
||||
</ng-container>
|
||||
<ng-container matColumnDef="edit">
|
||||
|
@ -8,6 +8,7 @@ import {TaskEditorData} from "../task-editor/TaskEditorData";
|
||||
import {MatDialog} from "@angular/material/dialog";
|
||||
import {MatSnackBar} from "@angular/material/snack-bar";
|
||||
import {ClearTaskDialogComponent, ClearTaskDialogData} from "../clear-task-dialog/clear-task-dialog.component";
|
||||
import * as moment from "moment/moment";
|
||||
|
||||
@Component({
|
||||
selector: 'app-task-dashboard',
|
||||
@ -52,7 +53,13 @@ export class TaskDashboardComponent implements OnChanges{
|
||||
}
|
||||
|
||||
getStatusOfTask(task: TaskEntityInfo) {
|
||||
return "green";
|
||||
if(moment(task.deadline, 'YYYY-MM-DDTHH:mm:ss.SSSZ').isBefore(moment())) {
|
||||
return "🔴";
|
||||
} else if(task.finishable){
|
||||
return "🟠";
|
||||
} else {
|
||||
return "🟢";
|
||||
}
|
||||
}
|
||||
|
||||
deleteTask(deletedTask: TaskEntityInfo) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
import {TaskEntityInfo} from "../../../api";
|
||||
import {TaskEntityInfo, TaskTaskgroupInfo} from "../../../api";
|
||||
|
||||
export interface TaskEditorData {
|
||||
taskgroupID: number;
|
||||
task: TaskEntityInfo | undefined
|
||||
task: TaskTaskgroupInfo | TaskEntityInfo | undefined
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ export class TaskEditorComponent implements OnInit {
|
||||
eta: this.etaCtrl.value,
|
||||
startDate: startDate_formatted,
|
||||
deadline: endDate_formatted,
|
||||
finishable: this.finishable
|
||||
finishable: this.finishable,
|
||||
}).subscribe({
|
||||
next: resp => {
|
||||
this.dialog.close(resp);
|
||||
|
@ -2148,6 +2148,7 @@ components:
|
||||
- finished
|
||||
- workTime
|
||||
- finishable
|
||||
- hasActiveSchedules
|
||||
additionalProperties: false
|
||||
properties:
|
||||
taskID:
|
||||
@ -2186,6 +2187,9 @@ components:
|
||||
finishable:
|
||||
type: boolean
|
||||
description: determines whether the task can be finished
|
||||
hasActiveSchedules:
|
||||
type: boolean
|
||||
description: determines whether the task has active schedules
|
||||
TaskTaskgroupInfo:
|
||||
required:
|
||||
- taskID
|
||||
|
Loading…
Reference in New Issue
Block a user