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 return null
case UITypes.Date: { 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 (!parsedDate.isValid()) {
if (isMultiple) { if (isMultiple) {
return null return null
@ -67,7 +67,10 @@ export default function convertCellData(
return parsedDate.format('YYYY-MM-DD') return parsedDate.format('YYYY-MM-DD')
} }
case UITypes.DateTime: { 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 (!parsedDateTime.isValid()) {
if (isMultiple) { if (isMultiple) {
return null return null

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

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

Loading…
Cancel
Save