When using the `admin.hidden: true` property on a collection, it rightfully removes all navigation and routing for that particular collection. However, this also affects the expected behavior of hidden entities when they are rendered within a drawer, such as the document drawer or list drawer. For example, when creating a new _admin.hidden_ document through the relationship or join field, the drawer should still render the view, despite the underlying route for that view being disabled. This change was a result of the introduction of on-demand server components in #8364, where we now make a server roundtrip to render the view in its entirety, which include the logic that redirects these hidden entities. Now, we pass a new `overrideEntityVisibility` argument through the server function that, when true, skips this step. This way documents can continue to respect `admin.hidden` while also having the ability to override on a case-by-case basis throughout the UI.
24 lines
459 B
TypeScript
24 lines
459 B
TypeScript
import type { CollectionConfig } from 'payload'
|
|
|
|
import { categoriesSlug, hiddenPostsSlug } from '../shared.js'
|
|
|
|
export const HiddenPosts: CollectionConfig = {
|
|
slug: hiddenPostsSlug,
|
|
admin: {
|
|
useAsTitle: 'title',
|
|
hidden: true,
|
|
defaultColumns: ['title', 'category'],
|
|
},
|
|
fields: [
|
|
{
|
|
name: 'title',
|
|
type: 'text',
|
|
},
|
|
{
|
|
name: 'category',
|
|
type: 'relationship',
|
|
relationTo: categoriesSlug,
|
|
},
|
|
],
|
|
}
|