issue-52 #64

Merged
sebastian merged 17 commits from issue-52 into docker-deployment 2023-11-13 22:48:50 +01:00
6 changed files with 45 additions and 25 deletions
Showing only changes of commit cfd1bfe7cb - Show all commits

View File

@ -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" />

View File

@ -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();

View File

@ -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
*/

View File

@ -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>

View File

@ -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;
}
}

View File

@ -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