issue-47 #60
@ -6,9 +6,8 @@
 | 
			
		||||
  <component name="ChangeListManager">
 | 
			
		||||
    <list default="true" id="3a869f59-290a-4ab2-b036-a878ce801bc4" name="Changes" comment="Fix parsing datetime (diesmal hoffentlich wirklich)">
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/src/main/java/core/api/controller/ScheduleController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/core/api/controller/ScheduleController.java" afterDir="false" />
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/src/main/java/core/api/models/timemanager/taskSchedule/scheduleInfos/BasicScheduleFieldInfo.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/core/api/models/timemanager/taskSchedule/scheduleInfos/BasicScheduleFieldInfo.java" afterDir="false" />
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/../frontend/src/app/app.module.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../frontend/src/app/app.module.ts" afterDir="false" />
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/src/main/java/core/api/models/timemanager/tasks/TaskOverviewInfo.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/core/api/models/timemanager/tasks/TaskOverviewInfo.java" afterDir="false" />
 | 
			
		||||
      <change beforePath="$PROJECT_DIR$/../openapi.yaml" beforeDir="false" afterPath="$PROJECT_DIR$/../openapi.yaml" afterDir="false" />
 | 
			
		||||
    </list>
 | 
			
		||||
    <option name="SHOW_DIALOG" value="false" />
 | 
			
		||||
    <option name="HIGHLIGHT_CONFLICTS" value="true" />
 | 
			
		||||
 | 
			
		||||
@ -1,8 +1,11 @@
 | 
			
		||||
package core.api.models.timemanager.tasks;
 | 
			
		||||
 | 
			
		||||
import core.api.models.timemanager.taskgroup.TaskgroupEntityInfo;
 | 
			
		||||
import core.entities.timemanager.Task;
 | 
			
		||||
import core.entities.timemanager.Taskgroup;
 | 
			
		||||
 | 
			
		||||
import java.time.LocalDate;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
public class TaskOverviewInfo {
 | 
			
		||||
 | 
			
		||||
@ -13,6 +16,7 @@ public class TaskOverviewInfo {
 | 
			
		||||
    private LocalDate limit;
 | 
			
		||||
    private boolean overdue;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public TaskOverviewInfo(Task task) {
 | 
			
		||||
        this.taskID = task.getTaskID();
 | 
			
		||||
        this.taskName = task.getTaskName();
 | 
			
		||||
 | 
			
		||||
@ -3,15 +3,16 @@
 | 
			
		||||
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 | 
			
		||||
 *
 | 
			
		||||
 * The version of the OpenAPI document: 1.0
 | 
			
		||||
 * 
 | 
			
		||||
 *
 | 
			
		||||
 *
 | 
			
		||||
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 | 
			
		||||
 * https://openapi-generator.tech
 | 
			
		||||
 * Do not edit the class manually.
 | 
			
		||||
 */
 | 
			
		||||
import { TaskgroupEntityInfo } from './taskgroupEntityInfo';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
export interface TaskOverviewInfo { 
 | 
			
		||||
export interface TaskOverviewInfo {
 | 
			
		||||
    /**
 | 
			
		||||
     * internal id of task
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
@ -22,28 +22,29 @@
 | 
			
		||||
      </mwl-calendar-week-view>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div style="width: 23%;">
 | 
			
		||||
      <app-taskgroup-overview (taskgroupSelected)="onSelectTaskgroup($event)"></app-taskgroup-overview>
 | 
			
		||||
 | 
			
		||||
      <div *ngIf="tasks.length > 0">
 | 
			
		||||
        <mat-action-list style="padding: 0; margin-top: 20px" >
 | 
			
		||||
        <mat-action-list style="padding: 0;">
 | 
			
		||||
          <button mat-list-item class="lightBlueBtn" [routerLink]="['/scheduler']">Tasks</button>
 | 
			
		||||
        </mat-action-list>
 | 
			
		||||
        <div mwlDroppable
 | 
			
		||||
             (drop)="externalDrop($event.dropData.event)"
 | 
			
		||||
             dragOverClass="drag-over">
 | 
			
		||||
          <div *ngFor="let event of tasks"  mwlDraggable
 | 
			
		||||
                    [dropData]="{event: event}"
 | 
			
		||||
                    [touchStartLongPress]="{ delay: 300, delta: 30 }"
 | 
			
		||||
                    dragActiveClass="drag-active" class="task-card">
 | 
			
		||||
            <div>
 | 
			
		||||
              <a href="javascript:;" [style.color]="event.color" style="text-decoration: none; color: black; margin-left: 20px">
 | 
			
		||||
                {{ event.title }}
 | 
			
		||||
              </a>
 | 
			
		||||
        <div style="margin-bottom: 20px">
 | 
			
		||||
          <div mwlDroppable
 | 
			
		||||
               (drop)="externalDrop($event.dropData.event)"
 | 
			
		||||
               dragOverClass="drag-over">
 | 
			
		||||
            <div *ngFor="let event of tasks"  mwlDraggable
 | 
			
		||||
                 [dropData]="{event: event}"
 | 
			
		||||
                 [touchStartLongPress]="{ delay: 300, delta: 30 }"
 | 
			
		||||
                 dragActiveClass="drag-active" class="task-card">
 | 
			
		||||
              <div>
 | 
			
		||||
                <a href="javascript:;" [style.color]="event.color" style="text-decoration: none; color: black; margin-left: 20px">
 | 
			
		||||
                  {{ event.title }}
 | 
			
		||||
                </a>
 | 
			
		||||
              </div>
 | 
			
		||||
            </div>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
      </div>
 | 
			
		||||
      <app-taskgroup-overview (taskgroupSelected)="onSelectTaskgroup($event)"></app-taskgroup-overview>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -7,7 +7,7 @@ import {
 | 
			
		||||
    ScheduleService,
 | 
			
		||||
    TaskEntityInfo,
 | 
			
		||||
    TaskgroupEntityInfo,
 | 
			
		||||
    TaskOverviewInfo
 | 
			
		||||
    TaskOverviewInfo, TaskShortInfo
 | 
			
		||||
} from "../../../api";
 | 
			
		||||
import {Subject} from "rxjs";
 | 
			
		||||
import {CalendarEvent, CalendarEventTimesChangedEvent, CalendarView} from "angular-calendar";
 | 
			
		||||
@ -80,7 +80,7 @@ export class DraggableSchedulerComponent {
 | 
			
		||||
            if(schedule.scheduleType == 'BASIC') {
 | 
			
		||||
              const basicSchedule = schedule as BasicScheduleInfo
 | 
			
		||||
                this.events.push({
 | 
			
		||||
                    title:  schedule.task.taskName,
 | 
			
		||||
                    title: this.computeTaskPath(schedule.taskgroupPath, schedule.task),
 | 
			
		||||
                    color: colors['red'],
 | 
			
		||||
                    start: new Date(basicSchedule.scheduleDate),
 | 
			
		||||
                    allDay: true,
 | 
			
		||||
@ -97,7 +97,7 @@ export class DraggableSchedulerComponent {
 | 
			
		||||
            } else {
 | 
			
		||||
                const advancedSchedule = schedule as AdvancedScheduleInfo
 | 
			
		||||
                this.events.push({
 | 
			
		||||
                    title:  schedule.task.taskName,
 | 
			
		||||
                    title:  this.computeTaskPath(schedule.taskgroupPath, schedule.task),
 | 
			
		||||
                    color: colors['red'],
 | 
			
		||||
                    start: new Date(advancedSchedule.scheduleStartTime),
 | 
			
		||||
                    end: new Date(advancedSchedule.scheduleStopTime),
 | 
			
		||||
@ -176,7 +176,8 @@ export class DraggableSchedulerComponent {
 | 
			
		||||
        }).subscribe({
 | 
			
		||||
            next: resp => {
 | 
			
		||||
              event.meta.scheduleID = resp.scheduleID;
 | 
			
		||||
              event.color = colors['red']
 | 
			
		||||
              event.color = colors['red'];
 | 
			
		||||
              event.title = this.computeTaskPath(resp.taskgroupPath, resp.task)
 | 
			
		||||
            }
 | 
			
		||||
        })
 | 
			
		||||
      } else {
 | 
			
		||||
@ -191,7 +192,8 @@ export class DraggableSchedulerComponent {
 | 
			
		||||
        }).subscribe({
 | 
			
		||||
            next: resp => {
 | 
			
		||||
                event.meta.scheduleID = resp.scheduleID;
 | 
			
		||||
                event.color = colors['red']
 | 
			
		||||
                event.color = colors['red'];
 | 
			
		||||
                event.title = this.computeTaskPath(resp.taskgroupPath, resp.task)
 | 
			
		||||
            }
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
@ -217,5 +219,13 @@ export class DraggableSchedulerComponent {
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
    computeTaskPath(taskgroupPath: TaskgroupEntityInfo[], task: TaskShortInfo | TaskEntityInfo) {
 | 
			
		||||
        let result = "";
 | 
			
		||||
        taskgroupPath.forEach(taskgroupPathPart => {
 | 
			
		||||
            result += taskgroupPathPart.taskgroupName + "/"
 | 
			
		||||
        });
 | 
			
		||||
        result += task!.taskName
 | 
			
		||||
        return result;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -2421,6 +2421,7 @@ components:
 | 
			
		||||
        - eta
 | 
			
		||||
        - limit
 | 
			
		||||
        - overdue
 | 
			
		||||
        - taskgroupPath
 | 
			
		||||
      additionalProperties: false
 | 
			
		||||
      properties:
 | 
			
		||||
        taskID:
 | 
			
		||||
@ -2448,6 +2449,10 @@ components:
 | 
			
		||||
          type: number
 | 
			
		||||
          description: number in minutes that was already worked on this task
 | 
			
		||||
          example: 10
 | 
			
		||||
        taskgroupPath:
 | 
			
		||||
          type: array
 | 
			
		||||
          items:
 | 
			
		||||
            $ref: '#/components/schemas/TaskgroupEntityInfo'
 | 
			
		||||
    ScheduleStatus:
 | 
			
		||||
      required:
 | 
			
		||||
        - activeMinutes
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user