Browse Source

fix(nc-gui): correct value for datetime filters

pull/7611/head
DarkPhoenix2704 8 months ago
parent
commit
57957e86e2
  1. 91
      packages/nc-gui/composables/useCalendarViewStore.ts

91
packages/nc-gui/composables/useCalendarViewStore.ts

@ -1,5 +1,13 @@
import type { ComputedRef, Ref } from 'vue' import type { ComputedRef, Ref } from 'vue'
import { type Api, type CalendarType, type ColumnType, type PaginatedType, type TableType, type ViewType } from 'nocodb-sdk' import {
type Api,
type CalendarType,
type ColumnType,
type PaginatedType,
type TableType,
UITypes,
type ViewType,
} from 'nocodb-sdk'
import dayjs from 'dayjs' import dayjs from 'dayjs'
import { addDays, addMonths, addYears } from '~/utils' import { addDays, addMonths, addYears } from '~/utils'
import { IsPublicInj, type Row, ref, storeToRefs, useBase, useInjectionState } from '#imports' import { IsPublicInj, type Row, ref, storeToRefs, useBase, useInjectionState } from '#imports'
@ -149,24 +157,49 @@ const [useProvideCalendarViewStore, useCalendarViewStore] = useInjectionState(
switch (sideBarFilterOption.value) { switch (sideBarFilterOption.value) {
case 'day': case 'day':
fromDate = dayjs(selectedDate.value).format('YYYY-MM-DD') if (calDataType.value === UITypes.Date) {
toDate = dayjs(selectedDate.value).format('YYYY-MM-DD') fromDate = dayjs(selectedDate.value).format('YYYY-MM-DD')
toDate = dayjs(selectedDate.value).format('YYYY-MM-DD')
} else if (calDataType.value === UITypes.DateTime) {
fromDate = dayjs(selectedDate.value).startOf('day').format('YYYY-MM-DD HH:mm:ss')
toDate = dayjs(selectedDate.value).endOf('day').format('YYYY-MM-DD HH:mm:ss')
}
break break
case 'week': case 'week':
fromDate = dayjs(selectedDateRange.value.start).format('YYYY-MM-DD') if (calDataType.value === UITypes.Date) {
toDate = dayjs(selectedDateRange.value.end).format('YYYY-MM-DD') fromDate = dayjs(selectedDateRange.value.start).format('YYYY-MM-DD')
toDate = dayjs(selectedDateRange.value.end).format('YYYY-MM-DD')
} else if (calDataType.value === UITypes.DateTime) {
fromDate = dayjs(selectedDateRange.value.start).startOf('day').format('YYYY-MM-DD HH:mm:ss')
toDate = dayjs(selectedDateRange.value.end).endOf('day').format('YYYY-MM-DD HH:mm:ss')
}
break break
case 'month': case 'month':
fromDate = dayjs(selectedDate.value).startOf('month').format('YYYY-MM-DD') if (calDataType.value === UITypes.Date) {
toDate = dayjs(selectedDate.value).endOf('month').format('YYYY-MM-DD') fromDate = dayjs(selectedDate.value).startOf('month').format('YYYY-MM-DD')
toDate = dayjs(selectedDate.value).endOf('month').format('YYYY-MM-DD')
} else if (calDataType.value === UITypes.DateTime) {
fromDate = dayjs(selectedDate.value).startOf('day').format('YYYY-MM-DD HH:mm:ss')
toDate = dayjs(selectedDate.value).endOf('day').format('YYYY-MM-DD HH:mm:ss')
}
break break
case 'year': case 'year':
fromDate = dayjs(selectedDate.value).startOf('year').format('YYYY-MM-DD') if (calDataType.value === UITypes.Date) {
toDate = dayjs(selectedDate.value).endOf('year').format('YYYY-MM-DD') fromDate = dayjs(selectedDate.value).startOf('year').format('YYYY-MM-DD')
toDate = dayjs(selectedDate.value).endOf('year').format('YYYY-MM-DD')
} else if (calDataType.value === UITypes.DateTime) {
fromDate = dayjs(selectedDate.value).startOf('day').format('YYYY-MM-DD HH:mm:ss')
toDate = dayjs(selectedDate.value).endOf('day').format('YYYY-MM-DD HH:mm:ss')
}
break break
case 'selectedDate': case 'selectedDate':
fromDate = dayjs(selectedDate.value).format('YYYY-MM-DD') if (calDataType.value === UITypes.Date) {
toDate = dayjs(selectedDate.value).format('YYYY-MM-DD') fromDate = dayjs(selectedDate.value).format('YYYY-MM-DD')
toDate = dayjs(selectedDate.value).format('YYYY-MM-DD')
} else if (calDataType.value === UITypes.DateTime) {
fromDate = dayjs(selectedDate.value).startOf('day').format('YYYY-MM-DD HH:mm:ss')
toDate = dayjs(selectedDate.value).endOf('day').format('YYYY-MM-DD HH:mm:ss')
}
break break
} }
@ -339,17 +372,37 @@ const [useProvideCalendarViewStore, useCalendarViewStore] = useInjectionState(
let toDate: string | null = null let toDate: string | null = null
if (activeCalendarView.value === 'week') { if (activeCalendarView.value === 'week') {
fromDate = dayjs(selectedDateRange.value.start).format('YYYY-MM-DD') if (calDataType.value === UITypes.Date) {
toDate = dayjs(selectedDateRange.value.end).format('YYYY-MM-DD') fromDate = dayjs(selectedDateRange.value.start).format('YYYY-MM-DD')
toDate = dayjs(selectedDateRange.value.end).format('YYYY-MM-DD')
} else if (calDataType.value === UITypes.DateTime) {
fromDate = dayjs(selectedDateRange.value.start).startOf('day').format('YYYY-MM-DD HH:mm:ss')
toDate = dayjs(selectedDateRange.value.end).endOf('day').format('YYYY-MM-DD HH:mm:ss')
}
} else if (activeCalendarView.value === 'day') { } else if (activeCalendarView.value === 'day') {
fromDate = dayjs(selectedDate.value).format('YYYY-MM-DD') if (calDataType.value === UITypes.Date) {
toDate = dayjs(selectedDate.value).format('YYYY-MM-DD') fromDate = dayjs(selectedDate.value).format('YYYY-MM-DD')
toDate = dayjs(selectedDate.value).format('YYYY-MM-DD')
} else if (calDataType.value === UITypes.DateTime) {
fromDate = dayjs(selectedDate.value).startOf('day').format('YYYY-MM-DD HH:mm:ss')
toDate = dayjs(selectedDate.value).endOf('day').format('YYYY-MM-DD HH:mm:ss')
}
} else if (activeCalendarView.value === 'month') { } else if (activeCalendarView.value === 'month') {
fromDate = dayjs(selectedDate.value).startOf('month').format('YYYY-MM-DD') if (calDataType.value === UITypes.Date) {
toDate = dayjs(selectedDate.value).endOf('month').format('YYYY-MM-DD') fromDate = dayjs(selectedDate.value).startOf('month').format('YYYY-MM-DD')
toDate = dayjs(selectedDate.value).endOf('month').format('YYYY-MM-DD')
} else if (calDataType.value === UITypes.DateTime) {
fromDate = dayjs(selectedDate.value).startOf('day').format('YYYY-MM-DD HH:mm:ss')
toDate = dayjs(selectedDate.value).endOf('day').format('YYYY-MM-DD HH:mm:ss')
}
} else if (activeCalendarView.value === 'year') { } else if (activeCalendarView.value === 'year') {
fromDate = dayjs(selectedDate.value).startOf('year').format('YYYY-MM-DD') if (calDataType.value === UITypes.Date) {
toDate = dayjs(selectedDate.value).endOf('year').format('YYYY-MM-DD') fromDate = dayjs(selectedDate.value).startOf('year').format('YYYY-MM-DD')
toDate = dayjs(selectedDate.value).endOf('year').format('YYYY-MM-DD')
} else if (calDataType.value === UITypes.DateTime) {
fromDate = dayjs(selectedDate.value).startOf('day').format('YYYY-MM-DD HH:mm:ss')
toDate = dayjs(selectedDate.value).endOf('day').format('YYYY-MM-DD HH:mm:ss')
}
} }
calendarRange.value.forEach((range) => { calendarRange.value.forEach((range) => {

Loading…
Cancel
Save