Files
payload/test/select/collections/Posts/index.ts
Sasha 3175541c80 fix: select with unnamed tabs (#8966)
### What?
Fixes `select` handling for properties inside of unnamed tabs using the
mongodb adapter.
Additionally, refactors `traverseFields` in drizzle to reuse logic from
groups / collapsible or rows if unnamed.

### Why?
`select` must work for any fields.

### How?
Fixes the `'tab'` case in `buildProjectionFromSelect` to handle when the
field is an unnamed tab.
Adds extra tests for named tabs / unnamed.
2024-10-31 12:06:05 -04:00

110 lines
1.9 KiB
TypeScript

import type { CollectionConfig } from 'payload'
export const PostsCollection: CollectionConfig = {
slug: 'posts',
admin: {
useAsTitle: 'text',
},
fields: [
{
name: 'text',
type: 'text',
},
{
name: 'number',
type: 'number',
},
{
name: 'group',
type: 'group',
fields: [
{
name: 'text',
type: 'text',
},
{
name: 'number',
type: 'number',
},
],
},
{
name: 'array',
type: 'array',
fields: [
{
name: 'text',
type: 'text',
},
{
name: 'number',
type: 'number',
},
],
},
{
name: 'blocks',
type: 'blocks',
blocks: [
{
slug: 'intro',
fields: [
{
name: 'text',
type: 'text',
},
{
name: 'introText',
type: 'text',
},
],
},
{
slug: 'cta',
fields: [
{
name: 'text',
type: 'text',
},
{
name: 'ctaText',
type: 'text',
},
],
},
],
},
{
type: 'tabs',
tabs: [
{
name: 'tab',
fields: [
{
type: 'text',
name: 'text',
},
{
type: 'number',
name: 'number',
},
],
},
{
label: 'Tab Unnamed',
fields: [
{
type: 'text',
name: 'unnamedTabText',
},
{
type: 'number',
name: 'unnamedTabNumber',
},
],
},
],
},
],
}