Skip to content

Commit c3a296f

Browse files
authored
fix(agenda): handle calendar view events that spread across multiple days (#8685)
1 parent 3356505 commit c3a296f

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

client/agenda/AgendaScheduleCalendar.vue

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ function refreshData () {
187187
let earliestDate = DateTime.fromISO('2200-01-01')
188188
let latestDate = DateTime.fromISO('1990-01-01')
189189
let nowDate = DateTime.now()
190+
let hasCrossDayEvents = false
190191
191192
calendarOptions.events = agendaStore.scheduleAdjusted.map(ev => {
192193
// -> Determine boundaries
@@ -202,6 +203,9 @@ function refreshData () {
202203
if (ev.adjustedEnd < latestDate) {
203204
latestDate = ev.adjustedEnd
204205
}
206+
if (ev.adjustedStart.day !== ev.adjustedEnd.day) {
207+
hasCrossDayEvents = true
208+
}
205209
// -> Build event object
206210
return {
207211
id: ev.id,
@@ -214,8 +218,8 @@ function refreshData () {
214218
})
215219
216220
// -> Display settings
217-
calendarOptions.slotMinTime = `${earliestHour.toString().padStart(2, '0')}:00:00`
218-
calendarOptions.slotMaxTime = `${latestHour.toString().padStart(2, '0')}:00:00`
221+
calendarOptions.slotMinTime = hasCrossDayEvents ? '00:00:00' : `${earliestHour.toString().padStart(2, '0')}:00:00`
222+
calendarOptions.slotMaxTime = hasCrossDayEvents ? '23:59:59' : `${latestHour.toString().padStart(2, '0')}:00:00`
219223
calendarOptions.validRange.start = earliestDate.minus({ days: 1 }).toISODate()
220224
calendarOptions.validRange.end = latestDate.plus({ days: 1 }).toISODate()
221225
// calendarOptions.scrollTime = `${earliestHour.toString().padStart(2, '0')}:00:00`

0 commit comments

Comments
 (0)