diff --git a/packages/nc-gui/components/smartsheet/column/EditOrAdd.vue b/packages/nc-gui/components/smartsheet/column/EditOrAdd.vue index 303020633d..8d9893beb2 100644 --- a/packages/nc-gui/components/smartsheet/column/EditOrAdd.vue +++ b/packages/nc-gui/components/smartsheet/column/EditOrAdd.vue @@ -115,12 +115,13 @@ const showDeprecated = ref(false) const isSystemField = (t: { name: UITypes }) => [UITypes.CreatedBy, UITypes.CreatedTime, UITypes.LastModifiedBy, UITypes.LastModifiedTime].includes(t.name) -const uiFilters = (t: { name: UITypes; virtual?: number }) => { +const uiFilters = (t: { name: UITypes; virtual?: number; deprecated?: boolean }) => { const systemFiledNotEdited = !isSystemField(t) || formState.value.uidt === t.name || !isEdit.value const geoDataToggle = geoDataToggleCondition(t) && (!isEdit.value || !t.virtual || t.name === formState.value.uidt) const specificDBType = t.name === UITypes.SpecificDBType && isXcdbBase(meta.value?.source_id) + const showDeprecatedField = !t.deprecated || showDeprecated.value - return systemFiledNotEdited && geoDataToggle && !specificDBType + return systemFiledNotEdited && geoDataToggle && !specificDBType && showDeprecatedField } const uiTypesOptions = computed(() => { @@ -329,7 +330,6 @@ const filterOption = (input: string, option: { value: UITypes }) => { 'w-[384px]': !props.embedMode, 'min-w-500px': formState.uidt === UITypes.LinkToAnotherRecord || formState.uidt === UITypes.Links, '!w-116 overflow-visible': formState.uidt === UITypes.Formula && !props.embedMode, - '!w-[500px]': formState.uidt === UITypes.Attachment && !props.embedMode && !appInfo.ee, '!w-[600px]': formState.uidt === UITypes.LinkToAnotherRecord || formState.uidt === UITypes.Links, 'shadow-lg border-1 border-gray-200 shadow-gray-300 rounded-xl p-5': !embedMode, }" diff --git a/packages/nocodb/src/models/KanbanView.ts b/packages/nocodb/src/models/KanbanView.ts index 6a192b6d4d..de70a07cf6 100644 --- a/packages/nocodb/src/models/KanbanView.ts +++ b/packages/nocodb/src/models/KanbanView.ts @@ -109,7 +109,7 @@ export default class KanbanView implements KanbanType { insertObj.meta = { fk_cover_image_object_fit: - parseMetaProp(insertObj)?.fk_cover_image_object_fit || 'cover', + parseMetaProp(insertObj)?.fk_cover_image_object_fit || 'fit', }; insertObj.meta = stringifyMetaProp(insertObj); diff --git a/packages/nocodb/src/modules/jobs/jobs/export-import/export.service.ts b/packages/nocodb/src/modules/jobs/jobs/export-import/export.service.ts index dbe1b49f40..2866fb01de 100644 --- a/packages/nocodb/src/modules/jobs/jobs/export-import/export.service.ts +++ b/packages/nocodb/src/modules/jobs/jobs/export-import/export.service.ts @@ -279,6 +279,9 @@ export class ExportService { if (view.type === ViewTypes.KANBAN) { const meta = parseMetaProp(view.view) as Record; for (const [k, v] of Object.entries(meta)) { + // keep non-array meta as it is + if (!Array.isArray(v)) continue; + const colId = idMap.get(k as string); for (const op of v) { op.fk_column_id = idMap.get(op.fk_column_id); diff --git a/packages/nocodb/src/modules/jobs/jobs/export-import/import.service.ts b/packages/nocodb/src/modules/jobs/jobs/export-import/import.service.ts index 5261a83c43..90a7e2888c 100644 --- a/packages/nocodb/src/modules/jobs/jobs/export-import/import.service.ts +++ b/packages/nocodb/src/modules/jobs/jobs/export-import/import.service.ts @@ -1563,6 +1563,12 @@ export class ImportService { case 'meta': { const meta = {}; for (const [mk, mv] of Object.entries(v as any)) { + // copy non-array meta as it is + if (!Array.isArray(mv)) { + meta[mk] = mv; + continue; + } + const tempVal = []; for (const vl of mv as any) { if (vl.fk_column_id) {