|
|
@ -5,11 +5,12 @@ import { RelationTypes, UITypes, isLinksOrLTAR, isSystemColumn } from 'nocodb-sd |
|
|
|
const props = defineProps<{ |
|
|
|
const props = defineProps<{ |
|
|
|
// As we need to focus search box when the parent is opened |
|
|
|
// As we need to focus search box when the parent is opened |
|
|
|
isParentOpen: boolean |
|
|
|
isParentOpen: boolean |
|
|
|
|
|
|
|
columns?: ColumnType[] |
|
|
|
}>() |
|
|
|
}>() |
|
|
|
|
|
|
|
|
|
|
|
const emits = defineEmits(['created']) |
|
|
|
const emits = defineEmits(['created']) |
|
|
|
|
|
|
|
|
|
|
|
const { isParentOpen } = toRefs(props) |
|
|
|
const { isParentOpen, columns } = toRefs(props) |
|
|
|
|
|
|
|
|
|
|
|
const inputRef = ref() |
|
|
|
const inputRef = ref() |
|
|
|
|
|
|
|
|
|
|
@ -27,22 +28,23 @@ const { groupBy } = useViewGroupBy(activeView) |
|
|
|
|
|
|
|
|
|
|
|
const options = computed<ColumnType[]>( |
|
|
|
const options = computed<ColumnType[]>( |
|
|
|
() => |
|
|
|
() => |
|
|
|
meta.value?.columns |
|
|
|
(columns.value || meta.value?.columns) |
|
|
|
?.filter((c: ColumnType) => { |
|
|
|
?.filter((c: ColumnType) => { |
|
|
|
if (c.uidt === UITypes.Links) { |
|
|
|
if (c.uidt === UITypes.Links) { |
|
|
|
return true |
|
|
|
return true |
|
|
|
} |
|
|
|
} |
|
|
|
if (isSystemColumn(metaColumnById?.value?.[c.id!])) { |
|
|
|
if (isSystemColumn(metaColumnById?.value?.[c.id!])) { |
|
|
|
return ( |
|
|
|
|
|
|
|
/** hide system columns if not enabled */ |
|
|
|
/** hide system columns if not enabled */ |
|
|
|
showSystemFields.value |
|
|
|
if (c?.colOptions) { |
|
|
|
) |
|
|
|
/** ignore virtual fields which are system fields ( mm relation ) and qr code fields */ |
|
|
|
|
|
|
|
return false |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return showSystemFields.value |
|
|
|
} else if (c.uidt === UITypes.QrCode || c.uidt === UITypes.Barcode || c.uidt === UITypes.ID) { |
|
|
|
} else if (c.uidt === UITypes.QrCode || c.uidt === UITypes.Barcode || c.uidt === UITypes.ID) { |
|
|
|
return false |
|
|
|
return false |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
/** ignore hasmany and manytomany relations if it's using within group menu */ |
|
|
|
/** ignore hasmany and manytomany relations if it's using within group menu */ |
|
|
|
return !(isLinksOrLTAR(c) && (c.colOptions as LinkToAnotherRecordType).type !== RelationTypes.BELONGS_TO) |
|
|
|
return !(isLinksOrLTAR(c) && (c.colOptions as LinkToAnotherRecordType).type !== RelationTypes.BELONGS_TO) |
|
|
|
/** ignore virtual fields which are system fields ( mm relation ) and qr code fields */ |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
.filter((c: ColumnType) => !groupBy.value.find((g) => g.column?.id === c.id)) |
|
|
|
.filter((c: ColumnType) => !groupBy.value.find((g) => g.column?.id === c.id)) |
|
|
|