@payloadcms/next 3.62.0-internal.7fb5145 → 3.62.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/prod/styles.css +1 -1
- package/dist/views/Root/getRouteData.d.ts.map +1 -1
- package/dist/views/Root/getRouteData.js +4 -25
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Root/isPathMatchingRoute.d.ts.map +1 -1
- package/dist/views/Root/isPathMatchingRoute.js +4 -4
- package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRouteData.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getRouteData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EAChB,yBAAyB,EAEzB,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsC9B,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAA;IAC1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAA;CAC1D,CAAA;AAaD,KAAK,kBAAkB,GAAG;IACxB,mBAAmB,EAAE,cAAc,EAAE,CAAA;IACrC,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,WAAW,EAAE,cAAc,CAAA;IAC3B,mBAAmB,CAAC,EAAE,oBAAoB,CAAA;IAC1C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,WAAW,EAAE;QACX,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAC5B,CAAA;IACD,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;IACnC,WAAW,CAAC,EAAE,eAAe,EAAE,CAAA;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,YAAY,4GAQtB,gBAAgB,KAAG,
|
|
1
|
+
{"version":3,"file":"getRouteData.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getRouteData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EAChB,yBAAyB,EAEzB,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsC9B,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAA;IAC1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAA;CAC1D,CAAA;AAaD,KAAK,kBAAkB,GAAG;IACxB,mBAAmB,EAAE,cAAc,EAAE,CAAA;IACrC,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,WAAW,EAAE,cAAc,CAAA;IAC3B,mBAAmB,CAAC,EAAE,oBAAoB,CAAA;IAC1C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,WAAW,EAAE;QACX,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAC5B,CAAA;IACD,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;IACnC,WAAW,CAAC,EAAE,eAAe,EAAE,CAAA;IAC/B,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,KAAK,gBAAgB,GAAG;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,qBAAqB,CAAA;IAC7C,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,YAAY,4GAQtB,gBAAgB,KAAG,kBA2WrB,CAAA"}
|
|
@@ -67,11 +67,6 @@ export const getRouteData = ({
|
|
|
67
67
|
return acc;
|
|
68
68
|
}, []) || [];
|
|
69
69
|
const viewActions = [...(config?.admin?.components?.actions || [])];
|
|
70
|
-
console.log('getRouteData segments', {
|
|
71
|
-
adminRoute,
|
|
72
|
-
currentRoute,
|
|
73
|
-
segments
|
|
74
|
-
});
|
|
75
70
|
switch (segments.length) {
|
|
76
71
|
case 0:
|
|
77
72
|
{
|
|
@@ -90,34 +85,21 @@ export const getRouteData = ({
|
|
|
90
85
|
// users can override the default routes via `admin.routes` config
|
|
91
86
|
// i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}
|
|
92
87
|
let viewKey;
|
|
93
|
-
console.log('admin.routes', config.admin.routes, {
|
|
94
|
-
entries: Object.entries(config.admin.routes)
|
|
95
|
-
});
|
|
96
88
|
if (config.admin.routes) {
|
|
97
89
|
const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {
|
|
98
|
-
const path = formatAdminURL({
|
|
99
|
-
adminRoute,
|
|
100
|
-
path: route
|
|
101
|
-
});
|
|
102
|
-
if (!path) {
|
|
103
|
-
return false;
|
|
104
|
-
}
|
|
105
90
|
return isPathMatchingRoute({
|
|
106
91
|
currentRoute,
|
|
107
92
|
exact: true,
|
|
108
|
-
path
|
|
93
|
+
path: formatAdminURL({
|
|
94
|
+
adminRoute,
|
|
95
|
+
path: route
|
|
96
|
+
})
|
|
109
97
|
});
|
|
110
98
|
});
|
|
111
|
-
console.log({
|
|
112
|
-
matchedRoute
|
|
113
|
-
});
|
|
114
99
|
if (matchedRoute) {
|
|
115
100
|
viewKey = matchedRoute[0];
|
|
116
101
|
}
|
|
117
102
|
}
|
|
118
|
-
console.log({
|
|
119
|
-
viewKey
|
|
120
|
-
});
|
|
121
103
|
// Check if a custom view is configured for this viewKey
|
|
122
104
|
// First try to get custom view by the known viewKey, then fallback to route matching
|
|
123
105
|
const customView = viewKey && getCustomViewByKey({
|
|
@@ -127,9 +109,6 @@ export const getRouteData = ({
|
|
|
127
109
|
config,
|
|
128
110
|
currentRoute
|
|
129
111
|
});
|
|
130
|
-
console.log({
|
|
131
|
-
customView
|
|
132
|
-
});
|
|
133
112
|
if (customView?.view?.payloadComponent || customView?.view?.Component) {
|
|
134
113
|
// User has configured a custom view (either overriding a built-in or a new custom view)
|
|
135
114
|
ViewToRender = customView.view;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRouteData.js","names":["parseDocumentID","formatAdminURL","isNumber","AccountView","BrowseByFolder","CollectionFolderView","TrashView","CreateFirstUserView","DashboardView","DocumentView","forgotPasswordBaseClass","ForgotPasswordView","ListView","loginBaseClass","LoginView","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getSubViewActions","getViewActions","getCustomViewByKey","getCustomViewByRoute","getDocumentViewInfo","isPathMatchingRoute","baseClasses","account","folders","forgot","login","reset","verify","oneSegmentViews","browseByFolder","createFirstUser","inactivity","logout","unauthorized","getRouteData","adminRoute","collectionConfig","collectionPreferences","undefined","currentRoute","globalConfig","payload","segments","config","ViewToRender","templateClassName","templateType","documentSubViewType","viewType","routeParams","segmentOne","segmentTwo","segmentThree","segmentFour","segmentFive","segmentSix","isBrowseByFolderEnabled","browseByFolderSlugs","collections","reduce","acc","slug","viewActions","admin","components","actions","console","log","length","Component","viewKey","routes","entries","Object","matchedRoute","find","route","path","exact","customView","view","payloadComponent","folderID","collection","listViewType","push","views","list","global","editConfig","edit","token","id","versionID","viewInfo","collectionOrGlobal","viewKeyArg","folderCollection","collectionSlug","db","defaultIDType","Number","reverse","DefaultView"],"sources":["../../../src/views/Root/getRouteData.ts"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n CollectionSlug,\n CustomComponent,\n DocumentSubViewTypes,\n Payload,\n PayloadComponent,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n ViewTypes,\n} from 'payload'\nimport type React from 'react'\n\nimport { parseDocumentID } from 'payload'\nimport { formatAdminURL, isNumber } from 'payload/shared'\n\nimport { AccountView } from '../Account/index.js'\nimport { BrowseByFolder } from '../BrowseByFolder/index.js'\nimport { CollectionFolderView } from '../CollectionFolders/index.js'\nimport { TrashView } from '../CollectionTrash/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { DashboardView } from '../Dashboard/index.js'\nimport { DocumentView } from '../Document/index.js'\nimport { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass, LoginView } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getSubViewActions, getViewActions } from './attachViewActions.js'\nimport { getCustomViewByKey } from './getCustomViewByKey.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getDocumentViewInfo } from './getDocumentViewInfo.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n folders: 'folders',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewServerProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewServerProps>\n payloadComponent?: PayloadComponent<AdminViewServerProps>\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: AccountView,\n browseByFolder: BrowseByFolder,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\ntype GetRouteDataResult = {\n browseByFolderSlugs: CollectionSlug[]\n collectionConfig?: SanitizedCollectionConfig\n DefaultView: ViewFromConfig\n documentSubViewType?: DocumentSubViewTypes\n globalConfig?: SanitizedGlobalConfig\n routeParams: {\n collection?: string\n folderCollection?: string\n folderID?: number | string\n global?: string\n id?: number | string\n token?: string\n versionID?: number | string\n }\n templateClassName: string\n templateType: 'default' | 'minimal'\n viewActions?: CustomComponent[]\n viewType?: ViewTypes\n}\n\ntype GetRouteDataArgs = {\n adminRoute: string\n collectionConfig?: SanitizedCollectionConfig\n /**\n * User preferences for a collection.\n *\n * These preferences are normally undefined\n * unless the user is on the list view and the\n * collection is folder enabled.\n */\n collectionPreferences?: CollectionPreferences\n currentRoute: string\n globalConfig?: SanitizedGlobalConfig\n payload: Payload\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}\n\nexport const getRouteData = ({\n adminRoute,\n collectionConfig,\n collectionPreferences = undefined,\n currentRoute,\n globalConfig,\n payload,\n segments,\n}: GetRouteDataArgs): GetRouteDataResult => {\n const { config } = payload\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n let documentSubViewType: DocumentSubViewTypes\n let viewType: ViewTypes\n const routeParams: GetRouteDataResult['routeParams'] = {}\n\n const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive, segmentSix] = segments\n\n const isBrowseByFolderEnabled = config.folders && config.folders.browseByFolder\n const browseByFolderSlugs =\n (isBrowseByFolderEnabled &&\n config.collections.reduce((acc, { slug, folders }) => {\n if (folders && folders.browseByFolder) {\n return [...acc, slug]\n }\n return acc\n }, [])) ||\n []\n\n const viewActions: CustomComponent[] = [...(config?.admin?.components?.actions || [])]\n console.log('getRouteData segments', { adminRoute, currentRoute, segments })\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: DashboardView,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n viewType = 'dashboard'\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n console.log('admin.routes', config.admin.routes, {\n entries: Object.entries(config.admin.routes),\n })\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n const path = formatAdminURL({ adminRoute, path: route })\n\n if (!path) {\n return false\n }\n\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path,\n })\n })\n\n console.log({ matchedRoute })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n console.log({ viewKey })\n\n // Check if a custom view is configured for this viewKey\n // First try to get custom view by the known viewKey, then fallback to route matching\n const customView =\n (viewKey && getCustomViewByKey({ config, viewKey })) ||\n getCustomViewByRoute({ config, currentRoute })\n\n console.log({ customView })\n\n if (customView?.view?.payloadComponent || customView?.view?.Component) {\n // User has configured a custom view (either overriding a built-in or a new custom view)\n ViewToRender = customView.view\n\n // If this custom view is overriding a built-in view (viewKey matches a built-in),\n // use the built-in's template settings and viewType\n if (viewKey && oneSegmentViews[viewKey]) {\n viewType = viewKey as ViewTypes\n templateClassName = baseClasses[viewKey] || viewKey\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n }\n\n if (isBrowseByFolderEnabled && viewKey === 'browseByFolder') {\n templateType = 'default'\n viewType = 'folders'\n }\n }\n } else if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /browse-by-folder\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n viewType = viewKey as ViewTypes\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n }\n\n if (isBrowseByFolderEnabled && viewKey === 'browseByFolder') {\n templateType = 'default'\n viewType = 'folders'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n viewType = 'reset'\n } else if (\n isBrowseByFolderEnabled &&\n `/${segmentOne}` === config.admin.routes.browseByFolder\n ) {\n // --> /browse-by-folder/:folderID\n routeParams.folderID = segmentTwo\n\n ViewToRender = {\n Component: oneSegmentViews.browseByFolder,\n }\n templateClassName = baseClasses.folders\n templateType = 'default'\n viewType = 'folders'\n } else if (collectionConfig) {\n // --> /collections/:collectionSlug'\n routeParams.collection = collectionConfig.slug\n\n if (\n collectionPreferences?.listViewType &&\n collectionPreferences.listViewType === 'folders'\n ) {\n // Render folder view by default if set in preferences\n ViewToRender = {\n Component: CollectionFolderView,\n }\n\n templateClassName = `collection-folders`\n templateType = 'default'\n viewType = 'collection-folders'\n } else {\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n viewType = 'list'\n }\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else if (globalConfig) {\n // --> /globals/:globalSlug\n routeParams.global = globalConfig.slug\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n viewType = 'document'\n\n // add default view actions\n viewActions.push(\n ...getViewActions({\n editConfig: globalConfig.admin?.components?.views?.edit,\n viewKey: 'default',\n }),\n )\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n routeParams.collection = segmentOne\n routeParams.token = segmentThree\n\n ViewToRender = {\n Component: Verify,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n viewType = 'verify'\n } else if (collectionConfig) {\n routeParams.collection = collectionConfig.slug\n\n if (segmentThree === 'trash' && typeof segmentFour === 'string') {\n // --> /collections/:collectionSlug/trash/:id (read-only)\n // --> /collections/:collectionSlug/trash/:id/api\n // --> /collections/:collectionSlug/trash/:id/preview\n // --> /collections/:collectionSlug/trash/:id/versions\n // --> /collections/:collectionSlug/trash/:id/versions/:versionID\n routeParams.id = segmentFour\n routeParams.versionID = segmentSix\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFive, segmentSix])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: collectionConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n } else if (segmentThree === 'trash') {\n // --> /collections/:collectionSlug/trash\n ViewToRender = {\n Component: TrashView,\n }\n\n templateClassName = `${segmentTwo}-trash`\n templateType = 'default'\n viewType = 'trash'\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else {\n if (config.folders && segmentThree === config.folders.slug && collectionConfig.folders) {\n // Collection Folder Views\n // --> /collections/:collectionSlug/:folderCollectionSlug\n // --> /collections/:collectionSlug/:folderCollectionSlug/:folderID\n routeParams.folderCollection = segmentThree\n routeParams.folderID = segmentFour\n\n ViewToRender = {\n Component: CollectionFolderView,\n }\n\n templateClassName = `collection-folders`\n templateType = 'default'\n viewType = 'collection-folders'\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else {\n // Collection Edit Views\n // --> /collections/:collectionSlug/create\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionID\n routeParams.id = segmentThree === 'create' ? undefined : segmentThree\n routeParams.versionID = segmentFive\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFour, segmentFive])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: collectionConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n }\n }\n } else if (globalConfig) {\n // Global Edit Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:versionID\n // --> /globals/:globalSlug/api\n routeParams.global = globalConfig.slug\n routeParams.versionID = segmentFour\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentThree, segmentFour])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: globalConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n if (collectionConfig) {\n if (routeParams.id) {\n routeParams.id = parseDocumentID({\n id: routeParams.id,\n collectionSlug: collectionConfig.slug,\n payload,\n })\n }\n\n if (routeParams.versionID) {\n routeParams.versionID = parseDocumentID({\n id: routeParams.versionID,\n collectionSlug: collectionConfig.slug,\n payload,\n })\n }\n }\n\n if (config.folders && routeParams.folderID) {\n routeParams.folderID = parseDocumentID({\n id: routeParams.folderID,\n collectionSlug: config.folders.slug,\n payload,\n })\n }\n\n if (globalConfig && routeParams.versionID) {\n routeParams.versionID =\n payload.db.defaultIDType === 'number' && isNumber(routeParams.versionID)\n ? Number(routeParams.versionID)\n : routeParams.versionID\n }\n\n if (viewActions.length) {\n viewActions.reverse()\n }\n\n return {\n browseByFolderSlugs,\n collectionConfig,\n DefaultView: ViewToRender,\n documentSubViewType,\n globalConfig,\n routeParams,\n templateClassName,\n templateType,\n viewActions: viewActions.length ? viewActions : undefined,\n viewType,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"getRouteData.js","names":["parseDocumentID","formatAdminURL","isNumber","AccountView","BrowseByFolder","CollectionFolderView","TrashView","CreateFirstUserView","DashboardView","DocumentView","forgotPasswordBaseClass","ForgotPasswordView","ListView","loginBaseClass","LoginView","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","getSubViewActions","getViewActions","getCustomViewByKey","getCustomViewByRoute","getDocumentViewInfo","isPathMatchingRoute","baseClasses","account","folders","forgot","login","reset","verify","oneSegmentViews","browseByFolder","createFirstUser","inactivity","logout","unauthorized","getRouteData","adminRoute","collectionConfig","collectionPreferences","undefined","currentRoute","globalConfig","payload","segments","config","ViewToRender","templateClassName","templateType","documentSubViewType","viewType","routeParams","segmentOne","segmentTwo","segmentThree","segmentFour","segmentFive","segmentSix","isBrowseByFolderEnabled","browseByFolderSlugs","collections","reduce","acc","slug","viewActions","admin","components","actions","length","Component","viewKey","routes","matchedRoute","Object","entries","find","route","exact","path","customView","view","payloadComponent","folderID","collection","listViewType","push","views","list","global","editConfig","edit","token","id","versionID","viewInfo","collectionOrGlobal","viewKeyArg","folderCollection","collectionSlug","db","defaultIDType","Number","reverse","DefaultView"],"sources":["../../../src/views/Root/getRouteData.ts"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n CollectionSlug,\n CustomComponent,\n DocumentSubViewTypes,\n Payload,\n PayloadComponent,\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n ViewTypes,\n} from 'payload'\nimport type React from 'react'\n\nimport { parseDocumentID } from 'payload'\nimport { formatAdminURL, isNumber } from 'payload/shared'\n\nimport { AccountView } from '../Account/index.js'\nimport { BrowseByFolder } from '../BrowseByFolder/index.js'\nimport { CollectionFolderView } from '../CollectionFolders/index.js'\nimport { TrashView } from '../CollectionTrash/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { DashboardView } from '../Dashboard/index.js'\nimport { DocumentView } from '../Document/index.js'\nimport { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass, LoginView } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { getSubViewActions, getViewActions } from './attachViewActions.js'\nimport { getCustomViewByKey } from './getCustomViewByKey.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getDocumentViewInfo } from './getDocumentViewInfo.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n folders: 'folders',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewServerProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewServerProps>\n payloadComponent?: PayloadComponent<AdminViewServerProps>\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: AccountView,\n browseByFolder: BrowseByFolder,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\ntype GetRouteDataResult = {\n browseByFolderSlugs: CollectionSlug[]\n collectionConfig?: SanitizedCollectionConfig\n DefaultView: ViewFromConfig\n documentSubViewType?: DocumentSubViewTypes\n globalConfig?: SanitizedGlobalConfig\n routeParams: {\n collection?: string\n folderCollection?: string\n folderID?: number | string\n global?: string\n id?: number | string\n token?: string\n versionID?: number | string\n }\n templateClassName: string\n templateType: 'default' | 'minimal'\n viewActions?: CustomComponent[]\n viewType?: ViewTypes\n}\n\ntype GetRouteDataArgs = {\n adminRoute: string\n collectionConfig?: SanitizedCollectionConfig\n /**\n * User preferences for a collection.\n *\n * These preferences are normally undefined\n * unless the user is on the list view and the\n * collection is folder enabled.\n */\n collectionPreferences?: CollectionPreferences\n currentRoute: string\n globalConfig?: SanitizedGlobalConfig\n payload: Payload\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}\n\nexport const getRouteData = ({\n adminRoute,\n collectionConfig,\n collectionPreferences = undefined,\n currentRoute,\n globalConfig,\n payload,\n segments,\n}: GetRouteDataArgs): GetRouteDataResult => {\n const { config } = payload\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n let documentSubViewType: DocumentSubViewTypes\n let viewType: ViewTypes\n const routeParams: GetRouteDataResult['routeParams'] = {}\n\n const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive, segmentSix] = segments\n\n const isBrowseByFolderEnabled = config.folders && config.folders.browseByFolder\n const browseByFolderSlugs =\n (isBrowseByFolderEnabled &&\n config.collections.reduce((acc, { slug, folders }) => {\n if (folders && folders.browseByFolder) {\n return [...acc, slug]\n }\n return acc\n }, [])) ||\n []\n\n const viewActions: CustomComponent[] = [...(config?.admin?.components?.actions || [])]\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: DashboardView,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n viewType = 'dashboard'\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({ adminRoute, path: route }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n // Check if a custom view is configured for this viewKey\n // First try to get custom view by the known viewKey, then fallback to route matching\n const customView =\n (viewKey && getCustomViewByKey({ config, viewKey })) ||\n getCustomViewByRoute({ config, currentRoute })\n\n if (customView?.view?.payloadComponent || customView?.view?.Component) {\n // User has configured a custom view (either overriding a built-in or a new custom view)\n ViewToRender = customView.view\n\n // If this custom view is overriding a built-in view (viewKey matches a built-in),\n // use the built-in's template settings and viewType\n if (viewKey && oneSegmentViews[viewKey]) {\n viewType = viewKey as ViewTypes\n templateClassName = baseClasses[viewKey] || viewKey\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n }\n\n if (isBrowseByFolderEnabled && viewKey === 'browseByFolder') {\n templateType = 'default'\n viewType = 'folders'\n }\n }\n } else if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /browse-by-folder\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n viewType = viewKey as ViewTypes\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n }\n\n if (isBrowseByFolderEnabled && viewKey === 'browseByFolder') {\n templateType = 'default'\n viewType = 'folders'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n viewType = 'reset'\n } else if (\n isBrowseByFolderEnabled &&\n `/${segmentOne}` === config.admin.routes.browseByFolder\n ) {\n // --> /browse-by-folder/:folderID\n routeParams.folderID = segmentTwo\n\n ViewToRender = {\n Component: oneSegmentViews.browseByFolder,\n }\n templateClassName = baseClasses.folders\n templateType = 'default'\n viewType = 'folders'\n } else if (collectionConfig) {\n // --> /collections/:collectionSlug'\n routeParams.collection = collectionConfig.slug\n\n if (\n collectionPreferences?.listViewType &&\n collectionPreferences.listViewType === 'folders'\n ) {\n // Render folder view by default if set in preferences\n ViewToRender = {\n Component: CollectionFolderView,\n }\n\n templateClassName = `collection-folders`\n templateType = 'default'\n viewType = 'collection-folders'\n } else {\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n viewType = 'list'\n }\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else if (globalConfig) {\n // --> /globals/:globalSlug\n routeParams.global = globalConfig.slug\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n viewType = 'document'\n\n // add default view actions\n viewActions.push(\n ...getViewActions({\n editConfig: globalConfig.admin?.components?.views?.edit,\n viewKey: 'default',\n }),\n )\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n routeParams.collection = segmentOne\n routeParams.token = segmentThree\n\n ViewToRender = {\n Component: Verify,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n viewType = 'verify'\n } else if (collectionConfig) {\n routeParams.collection = collectionConfig.slug\n\n if (segmentThree === 'trash' && typeof segmentFour === 'string') {\n // --> /collections/:collectionSlug/trash/:id (read-only)\n // --> /collections/:collectionSlug/trash/:id/api\n // --> /collections/:collectionSlug/trash/:id/preview\n // --> /collections/:collectionSlug/trash/:id/versions\n // --> /collections/:collectionSlug/trash/:id/versions/:versionID\n routeParams.id = segmentFour\n routeParams.versionID = segmentSix\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFive, segmentSix])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: collectionConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n } else if (segmentThree === 'trash') {\n // --> /collections/:collectionSlug/trash\n ViewToRender = {\n Component: TrashView,\n }\n\n templateClassName = `${segmentTwo}-trash`\n templateType = 'default'\n viewType = 'trash'\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else {\n if (config.folders && segmentThree === config.folders.slug && collectionConfig.folders) {\n // Collection Folder Views\n // --> /collections/:collectionSlug/:folderCollectionSlug\n // --> /collections/:collectionSlug/:folderCollectionSlug/:folderID\n routeParams.folderCollection = segmentThree\n routeParams.folderID = segmentFour\n\n ViewToRender = {\n Component: CollectionFolderView,\n }\n\n templateClassName = `collection-folders`\n templateType = 'default'\n viewType = 'collection-folders'\n\n viewActions.push(...(collectionConfig.admin.components?.views?.list?.actions || []))\n } else {\n // Collection Edit Views\n // --> /collections/:collectionSlug/create\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionID\n routeParams.id = segmentThree === 'create' ? undefined : segmentThree\n routeParams.versionID = segmentFive\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFour, segmentFive])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: collectionConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n }\n }\n } else if (globalConfig) {\n // Global Edit Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/versions/:versionID\n // --> /globals/:globalSlug/api\n routeParams.global = globalConfig.slug\n routeParams.versionID = segmentFour\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentThree, segmentFour])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n viewActions.push(\n ...getSubViewActions({\n collectionOrGlobal: globalConfig,\n viewKeyArg: documentSubViewType,\n }),\n )\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n if (collectionConfig) {\n if (routeParams.id) {\n routeParams.id = parseDocumentID({\n id: routeParams.id,\n collectionSlug: collectionConfig.slug,\n payload,\n })\n }\n\n if (routeParams.versionID) {\n routeParams.versionID = parseDocumentID({\n id: routeParams.versionID,\n collectionSlug: collectionConfig.slug,\n payload,\n })\n }\n }\n\n if (config.folders && routeParams.folderID) {\n routeParams.folderID = parseDocumentID({\n id: routeParams.folderID,\n collectionSlug: config.folders.slug,\n payload,\n })\n }\n\n if (globalConfig && routeParams.versionID) {\n routeParams.versionID =\n payload.db.defaultIDType === 'number' && isNumber(routeParams.versionID)\n ? Number(routeParams.versionID)\n : routeParams.versionID\n }\n\n if (viewActions.length) {\n viewActions.reverse()\n }\n\n return {\n browseByFolderSlugs,\n collectionConfig,\n DefaultView: ViewToRender,\n documentSubViewType,\n globalConfig,\n routeParams,\n templateClassName,\n templateType,\n viewActions: viewActions.length ? viewActions : undefined,\n viewType,\n }\n}\n"],"mappings":"AAeA,SAASA,eAAe,QAAQ;AAChC,SAASC,cAAc,EAAEC,QAAQ,QAAQ;AAEzC,SAASC,WAAW,QAAQ;AAC5B,SAASC,cAAc,QAAQ;AAC/B,SAASC,oBAAoB,QAAQ;AACrC,SAASC,SAAS,QAAQ;AAC1B,SAASC,mBAAmB,QAAQ;AACpC,SAASC,aAAa,QAAQ;AAC9B,SAASC,YAAY,QAAQ;AAC7B,SAASC,uBAAuB,EAAEC,kBAAkB,QAAQ;AAC5D,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,EAAEC,SAAS,QAAQ;AAC1C,SAASC,gBAAgB,EAAEC,UAAU,QAAQ;AAC7C,SAASC,aAAa,EAAEC,sBAAsB,QAAQ;AACtD,SAASC,gBAAgB,QAAQ;AACjC,SAASC,MAAM,EAAEC,eAAe,QAAQ;AACxC,SAASC,iBAAiB,EAAEC,cAAc,QAAQ;AAClD,SAASC,kBAAkB,QAAQ;AACnC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,mBAAmB,QAAQ;AAEpC,MAAMC,WAAA,GAAc;EAClBC,OAAA,EAAS;EACTC,OAAA,EAAS;EACTC,MAAA,EAAQrB,uBAAA;EACRsB,KAAA,EAAOnB,cAAA;EACPoB,KAAA,EAAOf,sBAAA;EACPgB,MAAA,EAAQb;AACV;AAWA,MAAMc,eAAA,GAAmC;EACvCN,OAAA,EAAS1B,WAAA;EACTiC,cAAA,EAAgBhC,cAAA;EAChBiC,eAAA,EAAiB9B,mBAAA;EACjBwB,MAAA,EAAQpB,kBAAA;EACR2B,UAAA,EAAYvB,gBAAA;EACZiB,KAAA,EAAOlB,SAAA;EACPyB,MAAA,EAAQvB,UAAA;EACRwB,YAAA,EAAcrB;AAChB;AA2CA,OAAO,MAAMsB,YAAA,GAAeA,CAAC;EAC3BC,UAAU;EACVC,gBAAgB;EAChBC,qBAAA,GAAwBC,SAAS;EACjCC,YAAY;EACZC,YAAY;EACZC,OAAO;EACPC;AAAQ,CACS;EACjB,MAAM;IAAEC;EAAM,CAAE,GAAGF,OAAA;EACnB,IAAIG,YAAA,GAA+B;EACnC,IAAIC,iBAAA;EACJ,IAAIC,YAAA;EACJ,IAAIC,mBAAA;EACJ,IAAIC,QAAA;EACJ,MAAMC,WAAA,GAAiD,CAAC;EAExD,MAAM,CAACC,UAAA,EAAYC,UAAA,EAAYC,YAAA,EAAcC,WAAA,EAAaC,WAAA,EAAaC,UAAA,CAAW,GAAGb,QAAA;EAErF,MAAMc,uBAAA,GAA0Bb,MAAA,CAAOpB,OAAO,IAAIoB,MAAA,CAAOpB,OAAO,CAACM,cAAc;EAC/E,MAAM4B,mBAAA,GACJD,uBAAC,IACCb,MAAA,CAAOe,WAAW,CAACC,MAAM,CAAC,CAACC,GAAA,EAAK;IAAEC,IAAI;IAAEtC;EAAO,CAAE;IAC/C,IAAIA,OAAA,IAAWA,OAAA,CAAQM,cAAc,EAAE;MACrC,OAAO,C,GAAI+B,GAAA,EAAKC,IAAA,CAAK;IACvB;IACA,OAAOD,GAAA;EACT,GAAG,EAAE,KACP,EAAE;EAEJ,MAAME,WAAA,GAAiC,C,IAAKnB,MAAA,EAAQoB,KAAA,EAAOC,UAAA,EAAYC,OAAA,IAAW,EAAE,EAAE;EAEtF,QAAQvB,QAAA,CAASwB,MAAM;IACrB,KAAK;MAAG;QACN,IAAI3B,YAAA,KAAiBJ,UAAA,EAAY;UAC/BS,YAAA,GAAe;YACbuB,SAAA,EAAWlE;UACb;UACA4C,iBAAA,GAAoB;UACpBC,YAAA,GAAe;UACfE,QAAA,GAAW;QACb;QACA;MACF;IACA,KAAK;MAAG;QACN;QACA;QACA,IAAIoB,OAAA;QAEJ,IAAIzB,MAAA,CAAOoB,KAAK,CAACM,MAAM,EAAE;UACvB,MAAMC,YAAA,GAAeC,MAAA,CAAOC,OAAO,CAAC7B,MAAA,CAAOoB,KAAK,CAACM,MAAM,EAAEI,IAAI,CAAC,CAAC,GAAGC,KAAA,CAAM;YACtE,OAAOtD,mBAAA,CAAoB;cACzBmB,YAAA;cACAoC,KAAA,EAAO;cACPC,IAAA,EAAMlF,cAAA,CAAe;gBAAEyC,UAAA;gBAAYyC,IAAA,EAAMF;cAAM;YACjD;UACF;UAEA,IAAIJ,YAAA,EAAc;YAChBF,OAAA,GAAUE,YAAY,CAAC,EAAE;UAC3B;QACF;QAEA;QACA;QACA,MAAMO,UAAA,GACJT,OAAC,IAAWnD,kBAAA,CAAmB;UAAE0B,MAAA;UAAQyB;QAAQ,MACjDlD,oBAAA,CAAqB;UAAEyB,MAAA;UAAQJ;QAAa;QAE9C,IAAIsC,UAAA,EAAYC,IAAA,EAAMC,gBAAA,IAAoBF,UAAA,EAAYC,IAAA,EAAMX,SAAA,EAAW;UACrE;UACAvB,YAAA,GAAeiC,UAAA,CAAWC,IAAI;UAE9B;UACA;UACA,IAAIV,OAAA,IAAWxC,eAAe,CAACwC,OAAA,CAAQ,EAAE;YACvCpB,QAAA,GAAWoB,OAAA;YACXvB,iBAAA,GAAoBxB,WAAW,CAAC+C,OAAA,CAAQ,IAAIA,OAAA;YAC5CtB,YAAA,GAAe;YAEf,IAAIsB,OAAA,KAAY,WAAW;cACzBtB,YAAA,GAAe;YACjB;YAEA,IAAIU,uBAAA,IAA2BY,OAAA,KAAY,kBAAkB;cAC3DtB,YAAA,GAAe;cACfE,QAAA,GAAW;YACb;UACF;QACF,OAAO,IAAIpB,eAAe,CAACwC,OAAA,CAAQ,EAAE;UACnC;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UAEAxB,YAAA,GAAe;YACbuB,SAAA,EAAWvC,eAAe,CAACwC,OAAA;UAC7B;UAEApB,QAAA,GAAWoB,OAAA;UAEXvB,iBAAA,GAAoBxB,WAAW,CAAC+C,OAAA,CAAQ;UACxCtB,YAAA,GAAe;UAEf,IAAIsB,OAAA,KAAY,WAAW;YACzBtB,YAAA,GAAe;UACjB;UAEA,IAAIU,uBAAA,IAA2BY,OAAA,KAAY,kBAAkB;YAC3DtB,YAAA,GAAe;YACfE,QAAA,GAAW;UACb;QACF;QACA;MACF;IACA,KAAK;MAAG;QACN,IAAI,IAAIE,UAAA,EAAY,KAAKP,MAAA,CAAOoB,KAAK,CAACM,MAAM,CAAC3C,KAAK,EAAE;UAClD;UACAkB,YAAA,GAAe;YACbuB,SAAA,EAAWzD;UACb;UACAmC,iBAAA,GAAoBxB,WAAW,CAAC8B,UAAA,CAAW;UAC3CL,YAAA,GAAe;UACfE,QAAA,GAAW;QACb,OAAO,IACLQ,uBAAA,IACA,IAAIN,UAAA,EAAY,KAAKP,MAAA,CAAOoB,KAAK,CAACM,MAAM,CAACxC,cAAc,EACvD;UACA;UACAoB,WAAA,CAAY+B,QAAQ,GAAG7B,UAAA;UAEvBP,YAAA,GAAe;YACbuB,SAAA,EAAWvC,eAAA,CAAgBC;UAC7B;UACAgB,iBAAA,GAAoBxB,WAAA,CAAYE,OAAO;UACvCuB,YAAA,GAAe;UACfE,QAAA,GAAW;QACb,OAAO,IAAIZ,gBAAA,EAAkB;UAC3B;UACAa,WAAA,CAAYgC,UAAU,GAAG7C,gBAAA,CAAiByB,IAAI;UAE9C,IACExB,qBAAA,EAAuB6C,YAAA,IACvB7C,qBAAA,CAAsB6C,YAAY,KAAK,WACvC;YACA;YACAtC,YAAA,GAAe;cACbuB,SAAA,EAAWrE;YACb;YAEA+C,iBAAA,GAAoB,oBAAoB;YACxCC,YAAA,GAAe;YACfE,QAAA,GAAW;UACb,OAAO;YACLJ,YAAA,GAAe;cACbuB,SAAA,EAAW9D;YACb;YAEAwC,iBAAA,GAAoB,GAAGM,UAAA,OAAiB;YACxCL,YAAA,GAAe;YACfE,QAAA,GAAW;UACb;UAEAc,WAAA,CAAYqB,IAAI,KAAK/C,gBAAA,CAAiB2B,KAAK,CAACC,UAAU,EAAEoB,KAAA,EAAOC,IAAA,EAAMpB,OAAA,IAAW,EAAE;QACpF,OAAO,IAAIzB,YAAA,EAAc;UACvB;UACAS,WAAA,CAAYqC,MAAM,GAAG9C,YAAA,CAAaqB,IAAI;UAEtCjB,YAAA,GAAe;YACbuB,SAAA,EAAWjE;UACb;UAEA2C,iBAAA,GAAoB;UACpBC,YAAA,GAAe;UACfE,QAAA,GAAW;UAEX;UACAc,WAAA,CAAYqB,IAAI,IACXnE,cAAA,CAAe;YAChBuE,UAAA,EAAY/C,YAAA,CAAauB,KAAK,EAAEC,UAAA,EAAYoB,KAAA,EAAOI,IAAA;YACnDpB,OAAA,EAAS;UACX;QAEJ;QACA;MACF;IACA;MACE,IAAIjB,UAAA,KAAe,UAAU;QAC3B;QACAF,WAAA,CAAYgC,UAAU,GAAG/B,UAAA;QACzBD,WAAA,CAAYwC,KAAK,GAAGrC,YAAA;QAEpBR,YAAA,GAAe;UACbuB,SAAA,EAAWtD;QACb;QAEAgC,iBAAA,GAAoB;QACpBC,YAAA,GAAe;QACfE,QAAA,GAAW;MACb,OAAO,IAAIZ,gBAAA,EAAkB;QAC3Ba,WAAA,CAAYgC,UAAU,GAAG7C,gBAAA,CAAiByB,IAAI;QAE9C,IAAIT,YAAA,KAAiB,WAAW,OAAOC,WAAA,KAAgB,UAAU;UAC/D;UACA;UACA;UACA;UACA;UACAJ,WAAA,CAAYyC,EAAE,GAAGrC,WAAA;UACjBJ,WAAA,CAAY0C,SAAS,GAAGpC,UAAA;UAExBX,YAAA,GAAe;YACbuB,SAAA,EAAWjE;UACb;UAEA2C,iBAAA,GAAoB,yBAAyB;UAC7CC,YAAA,GAAe;UAEf,MAAM8C,QAAA,GAAWzE,mBAAA,CAAoB,CAACmC,WAAA,EAAaC,UAAA,CAAW;UAC9DP,QAAA,GAAW4C,QAAA,CAAS5C,QAAQ;UAC5BD,mBAAA,GAAsB6C,QAAA,CAAS7C,mBAAmB;UAElDe,WAAA,CAAYqB,IAAI,IACXpE,iBAAA,CAAkB;YACnB8E,kBAAA,EAAoBzD,gBAAA;YACpB0D,UAAA,EAAY/C;UACd;QAEJ,OAAO,IAAIK,YAAA,KAAiB,SAAS;UACnC;UACAR,YAAA,GAAe;YACbuB,SAAA,EAAWpE;UACb;UAEA8C,iBAAA,GAAoB,GAAGM,UAAA,QAAkB;UACzCL,YAAA,GAAe;UACfE,QAAA,GAAW;UAEXc,WAAA,CAAYqB,IAAI,KAAK/C,gBAAA,CAAiB2B,KAAK,CAACC,UAAU,EAAEoB,KAAA,EAAOC,IAAA,EAAMpB,OAAA,IAAW,EAAE;QACpF,OAAO;UACL,IAAItB,MAAA,CAAOpB,OAAO,IAAI6B,YAAA,KAAiBT,MAAA,CAAOpB,OAAO,CAACsC,IAAI,IAAIzB,gBAAA,CAAiBb,OAAO,EAAE;YACtF;YACA;YACA;YACA0B,WAAA,CAAY8C,gBAAgB,GAAG3C,YAAA;YAC/BH,WAAA,CAAY+B,QAAQ,GAAG3B,WAAA;YAEvBT,YAAA,GAAe;cACbuB,SAAA,EAAWrE;YACb;YAEA+C,iBAAA,GAAoB,oBAAoB;YACxCC,YAAA,GAAe;YACfE,QAAA,GAAW;YAEXc,WAAA,CAAYqB,IAAI,KAAK/C,gBAAA,CAAiB2B,KAAK,CAACC,UAAU,EAAEoB,KAAA,EAAOC,IAAA,EAAMpB,OAAA,IAAW,EAAE;UACpF,OAAO;YACL;YACA;YACA;YACA;YACA;YACA;YACAhB,WAAA,CAAYyC,EAAE,GAAGtC,YAAA,KAAiB,WAAWd,SAAA,GAAYc,YAAA;YACzDH,WAAA,CAAY0C,SAAS,GAAGrC,WAAA;YAExBV,YAAA,GAAe;cACbuB,SAAA,EAAWjE;YACb;YAEA2C,iBAAA,GAAoB,yBAAyB;YAC7CC,YAAA,GAAe;YAEf,MAAM8C,QAAA,GAAWzE,mBAAA,CAAoB,CAACkC,WAAA,EAAaC,WAAA,CAAY;YAC/DN,QAAA,GAAW4C,QAAA,CAAS5C,QAAQ;YAC5BD,mBAAA,GAAsB6C,QAAA,CAAS7C,mBAAmB;YAElDe,WAAA,CAAYqB,IAAI,IACXpE,iBAAA,CAAkB;cACnB8E,kBAAA,EAAoBzD,gBAAA;cACpB0D,UAAA,EAAY/C;YACd;UAEJ;QACF;MACF,OAAO,IAAIP,YAAA,EAAc;QACvB;QACA;QACA;QACA;QACAS,WAAA,CAAYqC,MAAM,GAAG9C,YAAA,CAAaqB,IAAI;QACtCZ,WAAA,CAAY0C,SAAS,GAAGtC,WAAA;QAExBT,YAAA,GAAe;UACbuB,SAAA,EAAWjE;QACb;QAEA2C,iBAAA,GAAoB,aAAa;QACjCC,YAAA,GAAe;QAEf,MAAM8C,QAAA,GAAWzE,mBAAA,CAAoB,CAACiC,YAAA,EAAcC,WAAA,CAAY;QAChEL,QAAA,GAAW4C,QAAA,CAAS5C,QAAQ;QAC5BD,mBAAA,GAAsB6C,QAAA,CAAS7C,mBAAmB;QAElDe,WAAA,CAAYqB,IAAI,IACXpE,iBAAA,CAAkB;UACnB8E,kBAAA,EAAoBrD,YAAA;UACpBsD,UAAA,EAAY/C;QACd;MAEJ;MACA;EACJ;EAEA,IAAI,CAACH,YAAA,EAAc;IACjBA,YAAA,GAAe1B,oBAAA,CAAqB;MAAEyB,MAAA;MAAQJ;IAAa,IAAIuC,IAAA;EACjE;EAEA,IAAI1C,gBAAA,EAAkB;IACpB,IAAIa,WAAA,CAAYyC,EAAE,EAAE;MAClBzC,WAAA,CAAYyC,EAAE,GAAGjG,eAAA,CAAgB;QAC/BiG,EAAA,EAAIzC,WAAA,CAAYyC,EAAE;QAClBM,cAAA,EAAgB5D,gBAAA,CAAiByB,IAAI;QACrCpB;MACF;IACF;IAEA,IAAIQ,WAAA,CAAY0C,SAAS,EAAE;MACzB1C,WAAA,CAAY0C,SAAS,GAAGlG,eAAA,CAAgB;QACtCiG,EAAA,EAAIzC,WAAA,CAAY0C,SAAS;QACzBK,cAAA,EAAgB5D,gBAAA,CAAiByB,IAAI;QACrCpB;MACF;IACF;EACF;EAEA,IAAIE,MAAA,CAAOpB,OAAO,IAAI0B,WAAA,CAAY+B,QAAQ,EAAE;IAC1C/B,WAAA,CAAY+B,QAAQ,GAAGvF,eAAA,CAAgB;MACrCiG,EAAA,EAAIzC,WAAA,CAAY+B,QAAQ;MACxBgB,cAAA,EAAgBrD,MAAA,CAAOpB,OAAO,CAACsC,IAAI;MACnCpB;IACF;EACF;EAEA,IAAID,YAAA,IAAgBS,WAAA,CAAY0C,SAAS,EAAE;IACzC1C,WAAA,CAAY0C,SAAS,GACnBlD,OAAA,CAAQwD,EAAE,CAACC,aAAa,KAAK,YAAYvG,QAAA,CAASsD,WAAA,CAAY0C,SAAS,IACnEQ,MAAA,CAAOlD,WAAA,CAAY0C,SAAS,IAC5B1C,WAAA,CAAY0C,SAAS;EAC7B;EAEA,IAAI7B,WAAA,CAAYI,MAAM,EAAE;IACtBJ,WAAA,CAAYsC,OAAO;EACrB;EAEA,OAAO;IACL3C,mBAAA;IACArB,gBAAA;IACAiE,WAAA,EAAazD,YAAA;IACbG,mBAAA;IACAP,YAAA;IACAS,WAAA;IACAJ,iBAAA;IACAC,YAAA;IACAgB,WAAA,EAAaA,WAAA,CAAYI,MAAM,GAAGJ,WAAA,GAAcxB,SAAA;IAChDU;EACF;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isPathMatchingRoute.d.ts","sourceRoot":"","sources":["../../../src/views/Root/isPathMatchingRoute.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,gEAM7B;IACD,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,
|
|
1
|
+
{"version":3,"file":"isPathMatchingRoute.d.ts","sourceRoot":"","sources":["../../../src/views/Root/isPathMatchingRoute.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,gEAM7B;IACD,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,YAwBA,CAAA"}
|
|
@@ -6,11 +6,11 @@ export const isPathMatchingRoute = ({
|
|
|
6
6
|
sensitive,
|
|
7
7
|
strict
|
|
8
8
|
}) => {
|
|
9
|
+
// if no path is defined, we cannot match it so return false early
|
|
10
|
+
if (!viewPath) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
9
13
|
const keys = [];
|
|
10
|
-
console.log('isPathMatchingRoute', {
|
|
11
|
-
keys,
|
|
12
|
-
viewPath
|
|
13
|
-
});
|
|
14
14
|
// run the view path through `pathToRegexp` to resolve any dynamic segments
|
|
15
15
|
// i.e. `/admin/custom-view/:id` -> `/admin/custom-view/123`
|
|
16
16
|
const regex = pathToRegexp(viewPath, keys, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isPathMatchingRoute.js","names":["pathToRegexp","isPathMatchingRoute","currentRoute","exact","path","viewPath","sensitive","strict","keys","
|
|
1
|
+
{"version":3,"file":"isPathMatchingRoute.js","names":["pathToRegexp","isPathMatchingRoute","currentRoute","exact","path","viewPath","sensitive","strict","keys","regex","match","exec","viewRoute","startsWith"],"sources":["../../../src/views/Root/isPathMatchingRoute.ts"],"sourcesContent":["import { pathToRegexp } from 'path-to-regexp'\n\nexport const isPathMatchingRoute = ({\n currentRoute,\n exact,\n path: viewPath,\n sensitive,\n strict,\n}: {\n currentRoute: string\n exact?: boolean\n path?: string\n sensitive?: boolean\n strict?: boolean\n}) => {\n // if no path is defined, we cannot match it so return false early\n if (!viewPath) {\n return false\n }\n\n const keys = []\n\n // run the view path through `pathToRegexp` to resolve any dynamic segments\n // i.e. `/admin/custom-view/:id` -> `/admin/custom-view/123`\n const regex = pathToRegexp(viewPath, keys, {\n sensitive,\n strict,\n })\n\n const match = regex.exec(currentRoute)\n const viewRoute = match?.[0] || viewPath\n\n if (exact) {\n return currentRoute === viewRoute\n }\n if (!exact) {\n return viewRoute.startsWith(currentRoute)\n }\n}\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ;AAE7B,OAAO,MAAMC,mBAAA,GAAsBA,CAAC;EAClCC,YAAY;EACZC,KAAK;EACLC,IAAA,EAAMC,QAAQ;EACdC,SAAS;EACTC;AAAM,CAOP;EACC;EACA,IAAI,CAACF,QAAA,EAAU;IACb,OAAO;EACT;EAEA,MAAMG,IAAA,GAAO,EAAE;EAEf;EACA;EACA,MAAMC,KAAA,GAAQT,YAAA,CAAaK,QAAA,EAAUG,IAAA,EAAM;IACzCF,SAAA;IACAC;EACF;EAEA,MAAMG,KAAA,GAAQD,KAAA,CAAME,IAAI,CAACT,YAAA;EACzB,MAAMU,SAAA,GAAYF,KAAA,GAAQ,EAAE,IAAIL,QAAA;EAEhC,IAAIF,KAAA,EAAO;IACT,OAAOD,YAAA,KAAiBU,SAAA;EAC1B;EACA,IAAI,CAACT,KAAA,EAAO;IACV,OAAOS,SAAA,CAAUC,UAAU,CAACX,YAAA;EAC9B;AACF","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/next",
|
|
3
|
-
"version": "3.62.0
|
|
3
|
+
"version": "3.62.0",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -97,9 +97,9 @@
|
|
|
97
97
|
"qs-esm": "7.0.2",
|
|
98
98
|
"sass": "1.77.4",
|
|
99
99
|
"uuid": "10.0.0",
|
|
100
|
-
"@payloadcms/graphql": "3.62.0
|
|
101
|
-
"@payloadcms/
|
|
102
|
-
"@payloadcms/
|
|
100
|
+
"@payloadcms/graphql": "3.62.0",
|
|
101
|
+
"@payloadcms/ui": "3.62.0",
|
|
102
|
+
"@payloadcms/translations": "3.62.0"
|
|
103
103
|
},
|
|
104
104
|
"devDependencies": {
|
|
105
105
|
"@babel/cli": "7.27.2",
|
|
@@ -116,13 +116,13 @@
|
|
|
116
116
|
"esbuild": "0.25.5",
|
|
117
117
|
"esbuild-sass-plugin": "3.3.1",
|
|
118
118
|
"swc-plugin-transform-remove-imports": "4.0.4",
|
|
119
|
-
"
|
|
120
|
-
"
|
|
119
|
+
"payload": "3.62.0",
|
|
120
|
+
"@payloadcms/eslint-config": "3.28.0"
|
|
121
121
|
},
|
|
122
122
|
"peerDependencies": {
|
|
123
123
|
"graphql": "^16.8.1",
|
|
124
124
|
"next": "^15.2.3",
|
|
125
|
-
"payload": "3.62.0
|
|
125
|
+
"payload": "3.62.0"
|
|
126
126
|
},
|
|
127
127
|
"engines": {
|
|
128
128
|
"node": "^18.20.2 || >=20.9.0"
|