diff --git a/packages/nc-gui/components/smartsheet/calendar/DayView/DateTimeField.vue b/packages/nc-gui/components/smartsheet/calendar/DayView/DateTimeField.vue index a6e0be0c10..d086a45c43 100644 --- a/packages/nc-gui/components/smartsheet/calendar/DayView/DateTimeField.vue +++ b/packages/nc-gui/components/smartsheet/calendar/DayView/DateTimeField.vue @@ -7,7 +7,7 @@ import { generateRandomNumber, isRowEmpty } from '~/utils' const emit = defineEmits(['expandRecord', 'new-record']) const { - activeCalendarView, + // activeCalendarView, selectedDate, selectedTime, formattedData, diff --git a/packages/nc-gui/composables/useMultiSelect/convertCellData.ts b/packages/nc-gui/composables/useMultiSelect/convertCellData.ts index 1ca5e60c32..922c285554 100644 --- a/packages/nc-gui/composables/useMultiSelect/convertCellData.ts +++ b/packages/nc-gui/composables/useMultiSelect/convertCellData.ts @@ -1,6 +1,6 @@ import dayjs from 'dayjs' import type { AttachmentType, ColumnType, LinkToAnotherRecordType, SelectOptionsType } from 'nocodb-sdk' -import { UITypes, populateUniqueFileName } from 'nocodb-sdk' +import { UITypes, getDateFormat, getDateTimeFormat, populateUniqueFileName } from 'nocodb-sdk' import type { AppInfo } from '~/composables/useGlobal' import { isBt, isMm, parseProp } from '#imports' @@ -55,30 +55,24 @@ export default function convertCellData( if (strval === 'false' || strval === '0' || strval === '') return false } return null - case UITypes.Date: { - const parsedDate = dayjs(value, parseProp(column?.meta)?.date_format ?? 'YYYY-MM-DD') - if (!parsedDate.isValid()) { - if (isMultiple) { - return null - } else { - throw new Error('Not a valid date') - } - } - return parsedDate.format('YYYY-MM-DD') - } + case UITypes.Date: case UITypes.DateTime: { - const parsedDateTime = dayjs( - value, - `${parseProp(column?.meta)?.date_format ?? 'YYYY-MM-DD'} ${parseProp(column?.meta)?.time_format ?? 'HH:mm'}`, - ) - if (!parsedDateTime.isValid()) { + let parsedDateOrDateTime = dayjs(value, getDateTimeFormat(value)) + + if (!parsedDateOrDateTime.isValid()) { + parsedDateOrDateTime = dayjs(value, getDateFormat(value)) + } + + if (!parsedDateOrDateTime.isValid()) { if (isMultiple) { return null } else { - throw new Error('Not a valid datetime value') + throw new Error(`Not a valid '${to}' value`) } } - return parsedDateTime.utc().format('YYYY-MM-DD HH:mm:ssZ') + return to === UITypes.Date + ? parsedDateOrDateTime.format('YYYY-MM-DD') + : parsedDateOrDateTime.utc().format('YYYY-MM-DD HH:mm:ssZ') } case UITypes.Time: { let parsedTime = dayjs(value) diff --git a/packages/nc-gui/utils/iconUtils.ts b/packages/nc-gui/utils/iconUtils.ts index 0754125c7d..6832a054a4 100644 --- a/packages/nc-gui/utils/iconUtils.ts +++ b/packages/nc-gui/utils/iconUtils.ts @@ -128,9 +128,6 @@ import NcItalic from '~icons/nc-icons/italic' import NcBold from '~icons/nc-icons/bold' import NcUnderline from '~icons/nc-icons/underline' import NcCrop from '~icons/nc-icons/crop' -import NcItalic from '~icons/nc-icons/italic' -import NcBold from '~icons/nc-icons/bold' -import NcUnderline from '~icons/nc-icons/underline' // keep it for reference // todo: remove it after all icons are migrated diff --git a/packages/nocodb-sdk/src/lib/dateTimeHelper.ts b/packages/nocodb-sdk/src/lib/dateTimeHelper.ts index e0652f13b3..1c75886faf 100644 --- a/packages/nocodb-sdk/src/lib/dateTimeHelper.ts +++ b/packages/nocodb-sdk/src/lib/dateTimeHelper.ts @@ -64,7 +64,7 @@ export function getDateTimeFormat(v: string) { } } } - return 'YYYY/MM/DD'; + return 'YYYY/MM/DD HH:mm'; } export function parseStringDate(v: string, dateFormat: string) {