From aa6e28cb8a42129410b2f0f45e90898c136a7404 Mon Sep 17 00:00:00 2001 From: DarkPhoenix2704 Date: Tue, 20 Feb 2024 07:15:44 +0000 Subject: [PATCH] fix(nc-gui): handle date pagination --- packages/nc-gui/composables/useCalendarViewStore.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/nc-gui/composables/useCalendarViewStore.ts b/packages/nc-gui/composables/useCalendarViewStore.ts index bf8e7fe1c0..b7dcb67240 100644 --- a/packages/nc-gui/composables/useCalendarViewStore.ts +++ b/packages/nc-gui/composables/useCalendarViewStore.ts @@ -33,7 +33,7 @@ const [useProvideCalendarViewStore, useCalendarViewStore] = useInjectionState( const selectedDateRange = ref<{ start: Date | null end: Date | null - }>({start: null, end: null}) + }>({start: new Date(), end: null}) const defaultPageSize = 1000 @@ -102,12 +102,23 @@ const [useProvideCalendarViewStore, useCalendarViewStore] = useInjectionState( switch (activeCalendarView.value) { case 'month': selectedDate.value = action === 'next' ? addMonths(selectedDate.value, 1) : addMonths(selectedDate.value, -1) + if(pageDate.value.getFullYear() !== selectedDate.value.getFullYear()) { + pageDate.value = selectedDate.value + } break case 'year': selectedDate.value = action === 'next' ? addYears(selectedDate.value, 1) : addYears(selectedDate.value, -1) + if(pageDate.value.getFullYear() !== selectedDate.value.getFullYear()) { + pageDate.value = selectedDate.value + } break case 'day': selectedDate.value = action === 'next' ? addDays(selectedDate.value, 1) : addDays(selectedDate.value, -1) + if(pageDate.value.getFullYear() !== selectedDate.value.getFullYear()) { + pageDate.value = selectedDate.value + } else if(pageDate.value.getMonth() !== selectedDate.value.getMonth()) { + pageDate.value = selectedDate.value + } break case 'week': selectedDateRange.value = action === 'next' ? {