feat(next): add support for custom collection views#16243
Merged
Conversation
- 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
Contributor
📦 esbuild Bundle Analysis for payloadThis analysis was generated by esbuild-bundle-analyzer. 🤖
Largest pathsThese visualization shows top 20 largest paths in the bundle.Meta file: packages/next/meta_index.json, Out file: esbuild/index.js
Meta file: packages/payload/meta_index.json, Out file: esbuild/index.js
Meta file: packages/payload/meta_shared.json, Out file: esbuild/exports/shared.js
Meta file: packages/richtext-lexical/meta_client.json, Out file: esbuild/exports/client_optimized/index.js
Meta file: packages/ui/meta_client.json, Out file: esbuild/exports/client_optimized/index.js
Meta file: packages/ui/meta_shared.json, Out file: esbuild/exports/shared_optimized/index.js
DetailsNext to the size is how much the size has increased or decreased compared with the base branch of this PR.
|
PatrikKozak
requested changes
Apr 13, 2026
PatrikKozak
approved these changes
Apr 15, 2026
Contributor
|
🚀 This is included in version v3.83.0 |
milamer
pushed a commit
to milamer/payload
that referenced
this pull request
Apr 20, 2026
Originally this PR with extra changes: payloadcms#15410 - Adds ability to register custom views at the collection level via `admin.components.views[key]` with a `Component` and `path` — resolves payloadcms#15386 - Folders take routing precedence over custom views when both are defined on an upload collection - Adds a startup `console.warn` when a custom view is misconfigured without a `path` property ## Usage ```ts { slug: 'products', admin: { components: { views: { grid: { Component: '/components/GridView', path: '/grid', exact: true, }, }, }, }, } --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: robinscholz <8195463+robinscholz@users.noreply.github.com> Co-authored-by: Robin Scholz <robin@maas.engineering> Co-authored-by: Robin Vey <mail@robinscholz.com>
milamer
pushed a commit
to milamer/payload
that referenced
this pull request
Apr 20, 2026
…ews (payloadcms#16312) Allows client components to also be used as custom collection views, bringing it inline with internal views. A continuation of payloadcms#16243
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Originally this PR with extra changes: #15410
admin.components.views[key]with aComponentandpath— resolves Can’t add custom view under new path to collection #15386console.warnwhen a custom view is misconfigured without apathpropertyUsage