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