Ramesh Mane 9 months ago
parent
commit
4e84b6e753
  1. 7
      packages/nc-gui/composables/useMultiSelect/convertCellData.ts
  2. 8
      packages/nc-gui/composables/useMultiSelect/index.ts

7
packages/nc-gui/composables/useMultiSelect/convertCellData.ts

@ -56,7 +56,7 @@ export default function convertCellData(
}
return null
case UITypes.Date: {
const parsedDate = dayjs(value, column?.meta?.date_format ?? 'YYYY-MM-DD')
const parsedDate = dayjs(value, parseProp(column?.meta)?.date_format ?? 'YYYY-MM-DD')
if (!parsedDate.isValid()) {
if (isMultiple) {
return null
@ -67,7 +67,10 @@ export default function convertCellData(
return parsedDate.format('YYYY-MM-DD')
}
case UITypes.DateTime: {
const parsedDateTime = dayjs(value)
const parsedDateTime = dayjs(
value,
`${parseProp(column?.meta)?.date_format ?? 'YYYY-MM-DD'} ${parseProp(column?.meta)?.time_format ?? 'HH:mm'}`,
)
if (!parsedDateTime.isValid()) {
if (isMultiple) {
return null

8
packages/nc-gui/composables/useMultiSelect/index.ts

@ -28,6 +28,7 @@ import {
useI18n,
useMetas,
useUndoRedo,
parseProp,
} from '#imports'
const MAIN_MOUSE_PRESSED = 0
@ -173,7 +174,7 @@ export function useMultiSelect(
})
}
if ([UITypes.DateTime, UITypes.CreatedTime, UITypes.LastModifiedTime].includes(columnObj.uidt)) {
if ([UITypes.DateTime, UITypes.CreatedTime, UITypes.LastModifiedTime].includes(columnObj.uidt as UITypes)) {
// remove `"`
// e.g. "2023-05-12T08:03:53.000Z" -> 2023-05-12T08:03:53.000Z
textToCopy = textToCopy.replace(/["']/g, '')
@ -194,14 +195,15 @@ export function useMultiSelect(
// therefore, here we reformat to the correct datetime format based on the meta
textToCopy = d.format(constructDateTimeFormat(columnObj))
if (!dayjs(textToCopy).isValid()) {
if (!d.isValid()) {
// return empty string for invalid datetime
return ''
}
}
if (columnObj.uidt === UITypes.Date) {
const dateFormat = columnObj.meta?.date_format
const dateFormat = parseProp(columnObj.meta)?.date_format
if (dateFormat && isDateMonthFormat(dateFormat)) {
// any date month format (e.g. YYYY-MM) couldn't be stored in database
// with date type since it is not a valid date

Loading…
Cancel
Save