Faster event updates (avoid full re-render)

This commit is contained in:
Leo Vasanko committed 2025-08-25 19:05:14 -06:00
1 parent 895bc96899
commit e50f90f277
2 files changed
+88 -7

No files matched your search

+8 -2
View File
@@ -87,7 +87,7 @@ const vwm = createVirtualWeekManager({
contentHeight,
})
const visibleWeeks = vwm.visibleWeeks
const { scheduleWindowUpdate, resetWeeks } = vwm
const { scheduleWindowUpdate, resetWeeks, refreshEvents } = vwm
// Scroll managers (after scheduleWindowUpdate available)
const scrollManager = createScrollManager({ viewport, scheduleRebuild: scheduleWindowUpdate })
@@ -395,11 +395,17 @@ watch(
watch(
() => calendarStore.events,
() => {
resetWeeks('events')
refreshEvents('events')
},
{ deep: true },
)
// Reflect selection & events by rebuilding day objects in-place
watch(
() => [selection.value.startDate, selection.value.dayCount],
() => refreshEvents('selection'),
)
// Rebuild if viewport height changes (e.g., resize)
window.addEventListener('resize', () => {
if (viewport.value) viewportHeight.value = viewport.value.clientHeight