Browse Source

fix: Group-by didn't display Attachment field earlier. It gets listed now

pull/7173/head
Ramesh Mane 9 months ago
parent
commit
3bec8215c5
  1. 16
      packages/nc-gui/components/smartsheet/toolbar/CreateGroupBy.vue
  2. 13
      packages/nc-gui/components/smartsheet/toolbar/GroupByMenu.vue

16
packages/nc-gui/components/smartsheet/toolbar/CreateGroupBy.vue

@ -5,11 +5,12 @@ import { RelationTypes, UITypes, isLinksOrLTAR, isSystemColumn } from 'nocodb-sd
const props = defineProps<{
// As we need to focus search box when the parent is opened
isParentOpen: boolean
columns?: ColumnType[]
}>()
const emits = defineEmits(['created'])
const { isParentOpen } = toRefs(props)
const { isParentOpen, columns } = toRefs(props)
const inputRef = ref()
@ -27,22 +28,23 @@ const { groupBy } = useViewGroupBy(activeView)
const options = computed<ColumnType[]>(
() =>
meta.value?.columns
(columns.value || meta.value?.columns)
?.filter((c: ColumnType) => {
if (c.uidt === UITypes.Links) {
return true
}
if (isSystemColumn(metaColumnById?.value?.[c.id!])) {
return (
/** hide system columns if not enabled */
showSystemFields.value
)
/** hide system columns if not enabled */
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) {
return false
} else {
/** ignore hasmany and manytomany relations if it's using within group menu */
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))

13
packages/nc-gui/components/smartsheet/toolbar/GroupByMenu.vue

@ -243,7 +243,12 @@ watch(meta, async () => {
</a-button>
</div>
<template #overlay>
<SmartsheetToolbarCreateGroupBy v-if="!_groupBy.length" :is-parent-open="open" @created="addFieldToGroupBy" />
<SmartsheetToolbarCreateGroupBy
v-if="!_groupBy.length"
:is-parent-open="open"
:columns="fieldsToGroupBy"
@created="addFieldToGroupBy"
/>
<div
v-else
:class="{ ' min-w-[400px]': _groupBy.length }"
@ -318,7 +323,11 @@ watch(meta, async () => {
</div>
</NcButton>
<template #overlay>
<SmartsheetToolbarCreateGroupBy :is-parent-open="showCreateGroupBy" @created="addFieldToGroupBy" />
<SmartsheetToolbarCreateGroupBy
:is-parent-open="showCreateGroupBy"
:columns="fieldsToGroupBy"
@created="addFieldToGroupBy"
/>
</template>
</NcDropdown>
</div>

Loading…
Cancel
Save