### What? - Fixed an issue where virtual relationship fields (`virtual: string`, e.g. `post.title`) could not be used in the WhereBuilder filter dropdown. - Ensured regular virtual fields (`virtual: true`) are still excluded since they are not backed by database fields. ### Why? Previously, attempting to filter by a virtual relationship caused runtime errors because the field was treated as a plain text field. At the same time, non-queryable virtuals needed to remain excluded to avoid invalid queries. ### How? - Updated `reduceFieldsToOptions` to recognize `virtual: string` fields and map them to their underlying path while keeping their declared type and operators. - Continued to filter out `virtual: true` fields in the same guard used for hidden/disabled fields.
67 lines
2.4 KiB
TypeScript
67 lines
2.4 KiB
TypeScript
export const usersCollectionSlug = 'users'
|
|
export const customViews1CollectionSlug = 'custom-views-one'
|
|
export const customViews2CollectionSlug = 'custom-views-two'
|
|
export const reorderTabsSlug = 'reorder-tabs'
|
|
export const geoCollectionSlug = 'geo'
|
|
export const arrayCollectionSlug = 'array'
|
|
export const postsCollectionSlug = 'posts'
|
|
export const group1Collection1Slug = 'group-one-collection-ones'
|
|
export const group1Collection2Slug = 'group-one-collection-twos'
|
|
export const group2Collection1Slug = 'group-two-collection-ones'
|
|
export const group2Collection2Slug = 'group-two-collection-twos'
|
|
|
|
export const useAsTitleGroupFieldSlug = 'use-as-title-group-field'
|
|
export const hiddenCollectionSlug = 'hidden-collection'
|
|
export const notInViewCollectionSlug = 'not-in-view-collection'
|
|
export const noApiViewCollectionSlug = 'collection-no-api-view'
|
|
export const disableDuplicateSlug = 'disable-duplicate'
|
|
export const disableCopyToLocale = 'disable-copy-to-locale'
|
|
export const uploadCollectionSlug = 'uploads'
|
|
export const placeholderCollectionSlug = 'placeholder'
|
|
|
|
export const uploadTwoCollectionSlug = 'uploads-two'
|
|
export const customFieldsSlug = 'custom-fields'
|
|
|
|
export const listDrawerSlug = 'with-list-drawer'
|
|
export const virtualsSlug = 'virtuals'
|
|
export const collectionSlugs = [
|
|
usersCollectionSlug,
|
|
customViews1CollectionSlug,
|
|
customViews2CollectionSlug,
|
|
geoCollectionSlug,
|
|
arrayCollectionSlug,
|
|
postsCollectionSlug,
|
|
group1Collection1Slug,
|
|
group1Collection2Slug,
|
|
group2Collection1Slug,
|
|
group2Collection2Slug,
|
|
hiddenCollectionSlug,
|
|
noApiViewCollectionSlug,
|
|
customFieldsSlug,
|
|
disableDuplicateSlug,
|
|
listDrawerSlug,
|
|
virtualsSlug,
|
|
]
|
|
|
|
export const customGlobalViews1GlobalSlug = 'custom-global-views-one'
|
|
export const customGlobalViews2GlobalSlug = 'custom-global-views-two'
|
|
export const globalSlug = 'global'
|
|
export const group1GlobalSlug = 'group-globals-one'
|
|
export const group2GlobalSlug = 'group-globals-two'
|
|
export const hiddenGlobalSlug = 'hidden-global'
|
|
|
|
export const notInViewGlobalSlug = 'not-in-view-global'
|
|
export const settingsGlobalSlug = 'settings'
|
|
export const noApiViewGlobalSlug = 'global-no-api-view'
|
|
export const globalSlugs = [
|
|
customGlobalViews1GlobalSlug,
|
|
customGlobalViews2GlobalSlug,
|
|
globalSlug,
|
|
group1GlobalSlug,
|
|
group2GlobalSlug,
|
|
hiddenGlobalSlug,
|
|
noApiViewGlobalSlug,
|
|
]
|
|
export const with300DocumentsSlug = 'with300documents'
|
|
export const editMenuItemsSlug = 'edit-menu-items'
|