[Master task] Modal fix

This commit is contained in:
Matej Glasnák committed 2023-04-11 19:11:15 +02:00
1 parent f3adc68c73
commit aac8620a0f
3 files changed
+28 -22

No files matched your search

@@ -3,10 +3,15 @@ import moment from 'moment'
export default {
generateTimelineTasks(subtasks, date, employee) {
return [
...this.generateTimelineEvents(subtasks, employee, date),
...this.generateTimelineNonWorkingHours(date, employee)
]
const { tasks, blockers, homeoffices } = this.generateTimelineEvents(subtasks, employee, date)
const { nonWorkingHours } = this.generateTimelineNonWorkingHours(date, employee)
return {
tasks,
blockers,
nonWorkingHours,
homeoffices
}
},
getUnscheduledTime(subtasks) {
@@ -21,19 +26,24 @@ export default {
},
generateTimelineEvents(subtasks, employee, date) {
let events = []
let blockers = []
const tasks = []
subtasks.forEach(subtask => {
if (['blocker', 'adhoc', 'home_office', 'vacation', 'free_day'].includes(subtask.type)) {
events = [...events, ...this._generateEventsFromBlocker(subtask, date)]
blockers = [...blockers, ...this._generateEventsFromBlocker(subtask, date)]
} else {
subtask.timeblocks?.forEach((timeblock) => {
events.push(this._composeTimelineEvent(subtask, employee, date, timeblock))
tasks.push(this._composeTimelineEvent(subtask, employee, date, timeblock))
})
}
})
return events
return {
tasks,
blockers: blockers.filter(blocker => blocker.type != 'home_office'),
homeoffices: blockers.filter(blocker => blocker.type == 'home_office')
}
},
_composeTimelineEvent(subtask, employee, date, timeblock) {
@@ -118,7 +128,7 @@ export default {
})
}
return events
return {nonWorkingHours: events}
},
_getSplitFromDate(date, start) {
+8 -5
View File
@@ -44,16 +44,16 @@ export default {
if (!workingHours[task.split])
workingHours[task.split] = 0
if (task.type == 'home_office') {
return homeoffice[task.split] = true
}
if (task.type == 'non-working-hours' || task.subtask?.is_finished || task.blocker?.is_finished)
return
workingHours[task.split] += timelineUtils._getDifferenceInHours(task.end, task.start)
})
this.timelineData.homeoffices.forEach(task => {
homeoffice[task.split] = true
})
for (let i = 0; i < 7; i++) {
days.push({
id: i + 1,
@@ -80,11 +80,14 @@ export default {
if (!this.subtasks || !this.filter)
return null
const { tasks, blockers, nonWorkingHours, homeoffices } = timelineUtils.generateTimelineTasks(this.subtasks, new Date(this.filter.start), this.filter.employee)
return {
name: this.filter.employee.name,
surname: this.filter.employee.surname,
unscheduledTime: this.unscheduledTime,
tasks: timelineUtils.generateTimelineTasks(this.subtasks, new Date(this.filter.start), this.filter.employee)
tasks: [...tasks, ...blockers, ...nonWorkingHours],
homeoffices
}
}
},