diff --git a/frontend/src/app/plan-time-bar/plan-time-bar.component.html b/frontend/src/app/plan-time-bar/plan-time-bar.component.html index 4caa511..67583bb 100644 --- a/frontend/src/app/plan-time-bar/plan-time-bar.component.html +++ b/frontend/src/app/plan-time-bar/plan-time-bar.component.html @@ -1,6 +1,7 @@ { + console.log(`Kalenderwoche ${index + 1}: ${week.start} - ${week.end}`); + + + this.data.push( + { + TaskID: '' + this.getWeekNumber(new Date(calendarWeeks[index].start.toISOString())), index , TaskName: "Woche " + this.getWeekNumber(new Date(calendarWeeks[index].start.toISOString())), StartDate: calendarWeeks[index].start.toISOString(),EndDate: calendarWeeks[index].end.toISOString() , planzeit: 1, + resources: [{resourceId: this.resources[0].resourceId},], Progress: 0, work: 0, isRes: false + }); + }); - this.data.push( - { - TaskID: '04', TaskName: "Woche 4", StartDate: new Date ('01.26.2023'), Duration: 7, planzeit: 11, - resources: [{resourceId: this.resources[0].resourceId},], Progress: 0, work: 0, isRes: false - }); - console.log(this.getWeekNumber(new Date())); this.timelineSettings = { bottomTier: { @@ -87,8 +82,8 @@ export class PlanTimeBarComponent implements OnInit { id: 'TaskID', name: 'TaskName', startDate: 'StartDate', - endDate: 'EndDate', duration: 'Duration', + endDate: 'EndDate', progress: 'Progress', dependency: 'Predecessor', resourceInfo: 'resources', @@ -114,9 +109,27 @@ export class PlanTimeBarComponent implements OnInit { // Calculate full weeks to nearest Thursday let weekNo = Math.ceil(( ( (d - yearStart) / 86400000) + 1)/7); // Return array of year and week number - return [d.getUTCFullYear(), weekNo]; + return '' + d.getUTCFullYear() + weekNo; } - calculate +getCalendarWeeks(startDate: Date, endDate: Date): { start: Date, end: Date }[] { + const weeks: { start: Date, end: Date }[] = []; + + let currentDate = moment(startDate).startOf('isoWeek'); + let endMoment = moment(endDate).startOf('isoWeek'); + + while (currentDate.isSameOrBefore(endMoment)) { + let startOfWeek = currentDate.clone().toDate(); + let endOfWeek = currentDate.clone().add(6, 'days').toDate(); + + weeks.push({ start: startOfWeek, end: endOfWeek }); + + currentDate = currentDate.add(7, 'days'); + } + + return weeks; +} + + }