diff --git a/packages/nc-gui/components/smartsheet/toolbar/Calendar/Range.vue b/packages/nc-gui/components/smartsheet/toolbar/Calendar/Range.vue index 7a17443cdb..75d012ff7b 100644 --- a/packages/nc-gui/components/smartsheet/toolbar/Calendar/Range.vue +++ b/packages/nc-gui/components/smartsheet/toolbar/Calendar/Range.vue @@ -44,6 +44,26 @@ const calendarRange = computed(() => { // We keep the calendar range here and update it when the user selects a new range const _calendar_ranges = ref(calendarRange.value) +const isSetup = computed(() => { + return _calendar_ranges.value.length > 0 && _calendar_ranges.value[0].fk_from_column_id +}) + +watch( + calendarRangeDropdown, + (newVal) => { + if (!newVal && !isSetup.value) { + calendarRangeDropdown.value = true + if (_calendar_ranges.value.length === 0) { + _calendar_ranges.value.push({ + fk_from_column_id: undefined, + fk_to_column_id: null, + }) + } + } + }, + { immediate: true }, +) + const saveCalendarRanges = async () => { if (activeView.value) { try { @@ -56,8 +76,12 @@ const saveCalendarRanges = async () => { await $api.dbView.calendarUpdate(activeView.value?.id as string, { calendar_range: calRanges as CalendarRangeType[], }) + + if (activeView.value.view) activeView.value.view.calendar_range = calRanges + await loadCalendarMeta() await Promise.all([loadCalendarData(), loadSidebarData(), fetchActiveDates()]) + calendarRangeDropdown.value = false } catch (e) { console.log(e) message.error('There was an error while updating view!') @@ -78,13 +102,6 @@ const dateFieldOptions = computed(() => { })) ?? [] ) }) -const addCalendarRange = async () => { - _calendar_ranges.value.push({ - fk_from_column_id: dateFieldOptions.value![0].value as string, - fk_to_column_id: null, - }) - await saveCalendarRanges() -} /* const removeRange = async (id: number) => { _calendar_ranges.value = _calendar_ranges.value.filter((_, i) => i !== id) @@ -235,22 +252,14 @@ const saveCalendarRange = async (range: CalendarRangeType, value?) => { --> +
+ + Date field is required! +
- - - - Add date field -