Skip to content

fix(next): allow custom views for collections #15410

Closed
robinscholz wants to merge 9 commits intopayloadcms:mainfrom
magicasaservice:main
Closed

fix(next): allow custom views for collections #15410
robinscholz wants to merge 9 commits intopayloadcms:mainfrom
magicasaservice:main

Conversation

@robinscholz
Copy link
Copy Markdown

This PR tries to add a documented but missing feature, which is custom views for collections under arbitrary keys besides list and edit. The feature is documented here, but I believe it has not been implemented.

The PR tries to solve #15386.

The logic for route resolution should now be: trash → folders → custom views → edit views.

Full disclosure: I am not entirely familiar with payload’s rather large codebase, so this PR was written in parts by Copilot. However, I believe it is a step in the right direction. Any feedback would be appreciated, I’ll happily try to make any requested changes.

Copilot AI and others added 8 commits January 29, 2026 09:47
- Update CollectionAdminOptions type to allow custom views at collection level
- Create getCustomCollectionViewByRoute helper function
- Modify getRouteData.ts to check for custom collection views before defaulting to edit views
- Add test collection with custom grid view
- Add test to verify custom collection view routing

Co-authored-by: robinscholz <8195463+robinscholz@users.noreply.github.com>
Co-authored-by: robinscholz <8195463+robinscholz@users.noreply.github.com>
Co-authored-by: robinscholz <8195463+robinscholz@users.noreply.github.com>
- Add null check for views object
- Change viewKey return value from null to undefined for consistency
- Address code cleanliness issues

Co-authored-by: robinscholz <8195463+robinscholz@users.noreply.github.com>
Reordered the routing logic so that folder views are checked before custom collection views.
Order is now: trash → folders → custom views → edit views

Co-authored-by: robinscholz <8195463+robinscholz@users.noreply.github.com>
…inition

Changed the index signature to use a union type that includes undefined, allowing it to be compatible with optional properties like edit and list.

This fixes the build error in @payloadcms/plugin-search and other packages.

Co-authored-by: robinscholz <8195463+robinscholz@users.noreply.github.com>
feat(next): support custom collection-level views
@paulpopus
Copy link
Copy Markdown
Contributor

Closing in favour of #16243

Since I couldnt push to your PR, the history was maintained though!

@paulpopus paulpopus closed this Apr 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants