diff --git a/packages/nc-gui/composables/useMultiSelect/convertCellData.ts b/packages/nc-gui/composables/useMultiSelect/convertCellData.ts index 7b9560c487..ab6f3dda2d 100644 --- a/packages/nc-gui/composables/useMultiSelect/convertCellData.ts +++ b/packages/nc-gui/composables/useMultiSelect/convertCellData.ts @@ -55,38 +55,24 @@ export default function convertCellData( if (strval === 'false' || strval === '0' || strval === '') return false } return null - case UITypes.Date: { - const isValid = validateDateWithUnknownFormat(value) - let parsedDate = dayjs(value, getDateTimeFormat(value)) - - if (isValid && !parsedDate.isValid()) { - parsedDate = dayjs(value, getDateFormat(value)) - } - - if (!(isValid && 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 isValid = validateDateWithUnknownFormat(value) - let parsedDateTime = dayjs(value, getDateTimeFormat(value)) - if (isValid && !parsedDateTime.isValid()) { - parsedDateTime = dayjs(value, getDateFormat(value)) + let parsedDateOrDateTime = dayjs(value, getDateTimeFormat(value)) + + if (!parsedDateOrDateTime.isValid()) { + parsedDateOrDateTime = dayjs(value, getDateFormat(value)) } - if (!(isValid && parsedDateTime.isValid())) { + 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)