@payloadcms/next 3.47.0-internal.b17506e → 3.47.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/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +20 -8
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +3 -0
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/renderListViewSlots.d.ts +2 -1
- package/dist/views/List/renderListViewSlots.d.ts.map +1 -1
- package/dist/views/List/renderListViewSlots.js +22 -6
- package/dist/views/List/renderListViewSlots.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +27 -0
- package/dist/views/Root/index.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAEpB,IAAI,EACJ,uBAAuB,EACvB,uBAAuB,EAEvB,iBAAiB,EAEjB,gBAAgB,EAChB,gCAAgC,EACjC,MAAM,SAAS,CAAA;AAchB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAcrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAEhG,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,gBAAgB,CAAC,uBAAuB,CAAC,GACzC,KAAK,CAAC,EAAE,GACR,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAA;AAErC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,uOAexB;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,EAAE,gCAAgC,CAAA;CAC5C,GAAG,oBAAoB,KAAG,OAAO,CAAC;IACjC,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAEpB,IAAI,EACJ,uBAAuB,EACvB,uBAAuB,EAEvB,iBAAiB,EAEjB,gBAAgB,EAChB,gCAAgC,EACjC,MAAM,SAAS,CAAA;AAchB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAcrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAEhG,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,gBAAgB,CAAC,uBAAuB,CAAC,GACzC,KAAK,CAAC,EAAE,GACR,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAA;AAErC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,uOAexB;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,EAAE,gCAAgC,CAAA;CAC5C,GAAG,oBAAoB,KAAG,OAAO,CAAC;IACjC,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CA4VA,CAAA;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,+QAezD"}
|
|
@@ -84,7 +84,18 @@ export const renderDocument = async ({
|
|
|
84
84
|
user
|
|
85
85
|
}));
|
|
86
86
|
if (isEditing && !doc) {
|
|
87
|
-
|
|
87
|
+
// If it's a collection document that doesn't exist, redirect to collection list
|
|
88
|
+
if (collectionSlug) {
|
|
89
|
+
const redirectURL = formatAdminURL({
|
|
90
|
+
adminRoute,
|
|
91
|
+
path: `/collections/${collectionSlug}?notFound=${encodeURIComponent(idFromArgs)}`,
|
|
92
|
+
serverURL
|
|
93
|
+
});
|
|
94
|
+
redirect(redirectURL);
|
|
95
|
+
} else {
|
|
96
|
+
// For globals or other cases, keep the 404 behavior
|
|
97
|
+
throw new Error('not-found');
|
|
98
|
+
}
|
|
88
99
|
}
|
|
89
100
|
const [docPreferences, {
|
|
90
101
|
docPermissions,
|
|
@@ -249,23 +260,24 @@ export const renderDocument = async ({
|
|
|
249
260
|
documentSubViewType,
|
|
250
261
|
viewType
|
|
251
262
|
};
|
|
263
|
+
const isLivePreviewEnabled = Boolean(config.admin?.livePreview?.collections?.includes(collectionSlug) || config.admin?.livePreview?.globals?.includes(globalSlug) || collectionConfig?.admin?.livePreview || globalConfig?.admin?.livePreview);
|
|
252
264
|
const livePreviewConfig = {
|
|
253
|
-
...(config.admin.livePreview
|
|
265
|
+
...(isLivePreviewEnabled ? config.admin.livePreview : {}),
|
|
254
266
|
...(collectionConfig?.admin?.livePreview || {}),
|
|
255
267
|
...(globalConfig?.admin?.livePreview || {})
|
|
256
268
|
};
|
|
257
|
-
const livePreviewURL = typeof livePreviewConfig?.url === 'function' ? await livePreviewConfig.url({
|
|
269
|
+
const livePreviewURL = operation !== 'create' ? typeof livePreviewConfig?.url === 'function' ? await livePreviewConfig.url({
|
|
258
270
|
collectionConfig,
|
|
259
271
|
data: doc,
|
|
260
272
|
globalConfig,
|
|
261
273
|
locale,
|
|
262
274
|
req,
|
|
263
275
|
/**
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
276
|
+
* @deprecated
|
|
277
|
+
* Use `req.payload` instead. This will be removed in the next major version.
|
|
278
|
+
*/
|
|
267
279
|
payload: initPageResult.req.payload
|
|
268
|
-
}) : livePreviewConfig?.url;
|
|
280
|
+
}) : livePreviewConfig?.url : '';
|
|
269
281
|
return {
|
|
270
282
|
data: doc,
|
|
271
283
|
Document: /*#__PURE__*/_jsx(DocumentInfoProvider, {
|
|
@@ -292,8 +304,8 @@ export const renderDocument = async ({
|
|
|
292
304
|
versionCount: versionCount,
|
|
293
305
|
children: /*#__PURE__*/_jsxs(LivePreviewProvider, {
|
|
294
306
|
breakpoints: livePreviewConfig?.breakpoints,
|
|
307
|
+
isLivePreviewEnabled: isLivePreviewEnabled && operation !== 'create',
|
|
295
308
|
isLivePreviewing: entityPreferences?.value?.editViewType === 'live-preview',
|
|
296
|
-
operation: operation,
|
|
297
309
|
url: livePreviewURL,
|
|
298
310
|
children: [showHeader && !drawerSlug && /*#__PURE__*/_jsx(DocumentHeader, {
|
|
299
311
|
collectionConfig: collectionConfig,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","LivePreviewProvider","RenderServerComponent","isEditing","getIsEditing","buildFormState","notFound","redirect","logError","formatAdminURL","React","DocumentHeader","getPreferences","NotFoundView","getDocPreferences","getDocumentData","getDocumentPermissions","getDocumentView","getIsLocked","getMetaBySegment","getVersions","renderDocumentSlots","generateMetadata","args","renderDocument","disableActions","documentSubViewType","drawerSlug","importMap","initialData","initPageResult","overrideEntityVisibility","params","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","searchParams","versions","viewType","collectionConfig","docID","idFromArgs","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","id","doc","Error","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","currentEditor","isLocked","lastUpdateTime","entityPreferences","Promise","all","data","collection","operation","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","code","fallbackLocale","renderAllFields","schemaPath","skipValidation","documentViewServerProps","routeSegments","collections","find","visibleSlug","globals","formattedParams","URLSearchParams","drafts","append","apiQueryParams","toString","apiURL","View","showHeader","RootViewOverride","components","views","edit","root","Component","shouldAutosave","autosave","validateDraftData","validate","create","depth","draft","redirectURL","path","documentSlots","clientProps","livePreviewConfig","livePreview","livePreviewURL","url","Document","_jsx","initialState","_jsxs","breakpoints","isLivePreviewing","value","editViewType","serverProps","props","RenderedDocument","error","message","err"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Data,\n DocumentViewClientProps,\n DocumentViewServerProps,\n DocumentViewServerPropsOnly,\n EditViewComponent,\n LivePreviewConfig,\n PayloadComponent,\n RenderDocumentVersionsProperties,\n} from 'payload'\n\nimport {\n DocumentInfoProvider,\n EditDepthProvider,\n HydrateAuthProvider,\n LivePreviewProvider,\n} from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { isEditing as getIsEditing } from '@payloadcms/ui/shared'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { logError } from 'payload'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocPreferences } from './getDocPreferences.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getDocumentView } from './getDocumentView.js'\nimport { getIsLocked } from './getIsLocked.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getVersions } from './getVersions.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\nexport type ViewToRender =\n | EditViewComponent\n | PayloadComponent<DocumentViewServerProps>\n | React.FC\n | React.FC<DocumentViewClientProps>\n\n/**\n * This function is responsible for rendering\n * an Edit Document view on the server for both:\n * - default document edit views\n * - on-demand edit views within drawers\n */\nexport const renderDocument = async ({\n disableActions,\n documentSubViewType,\n drawerSlug,\n importMap,\n initialData,\n initPageResult,\n overrideEntityVisibility,\n params,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams,\n versions,\n viewType,\n}: {\n drawerSlug?: string\n overrideEntityVisibility?: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n versions?: RenderDocumentVersionsProperties\n} & AdminViewServerProps): Promise<{\n data: Data\n Document: React.ReactNode\n}> => {\n const {\n collectionConfig,\n docID: idFromArgs,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n let isEditing = getIsEditing({ id: idFromArgs, collectionSlug, globalSlug })\n\n // Fetch the doc required for the view\n let doc =\n initialData ||\n (await getDocumentData({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n req,\n user,\n }))\n\n if (isEditing && !doc) {\n throw new Error('not-found')\n }\n\n const [\n docPreferences,\n { docPermissions, hasPublishPermission, hasSavePermission },\n { currentEditor, isLocked, lastUpdateTime },\n entityPreferences,\n ] = await Promise.all([\n // Get document preferences\n getDocPreferences({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n payload,\n user,\n }),\n\n // Get permissions\n getDocumentPermissions({\n id: idFromArgs,\n collectionConfig,\n data: doc,\n globalConfig,\n req,\n }),\n\n // Fetch document lock state\n getIsLocked({\n id: idFromArgs,\n collectionConfig,\n globalConfig,\n isEditing,\n req,\n }),\n\n // get entity preferences\n getPreferences<CollectionPreferences>(\n collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`,\n payload,\n req.user.id,\n req.user.collection,\n ),\n ])\n\n const operation = (collectionSlug && idFromArgs) || globalSlug ? 'update' : 'create'\n\n const [\n { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount },\n { state: formState },\n ] = await Promise.all([\n getVersions({\n id: idFromArgs,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale: locale?.code,\n payload,\n user,\n }),\n buildFormState({\n id: idFromArgs,\n collectionSlug,\n data: doc,\n docPermissions,\n docPreferences,\n fallbackLocale: false,\n globalSlug,\n locale: locale?.code,\n operation,\n renderAllFields: true,\n req,\n schemaPath: collectionSlug || globalSlug,\n skipValidation: true,\n }),\n ])\n\n const documentViewServerProps: DocumentViewServerPropsOnly = {\n doc,\n hasPublishedDoc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n versions,\n }\n\n if (\n !overrideEntityVisibility &&\n ((collectionSlug &&\n !visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) ||\n (globalSlug && !visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)))\n ) {\n throw new Error('not-found')\n }\n\n const formattedParams = new URLSearchParams()\n\n if (collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) {\n formattedParams.append('draft', 'true')\n }\n\n if (locale?.code) {\n formattedParams.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${formattedParams.toString()}`\n\n const apiURL = collectionSlug\n ? `${serverURL}${apiRoute}/${collectionSlug}/${idFromArgs}${apiQueryParams}`\n : globalSlug\n ? `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`\n : ''\n\n let View: ViewToRender = null\n\n let showHeader = true\n\n const RootViewOverride =\n collectionConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in collectionConfig.admin.components.views.edit.root\n ? collectionConfig?.admin?.components?.views?.edit?.root?.Component\n : globalConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in globalConfig.admin.components.views.edit.root\n ? globalConfig?.admin?.components?.views?.edit?.root?.Component\n : null\n\n if (RootViewOverride) {\n View = RootViewOverride\n showHeader = false\n } else {\n ;({ View } = getDocumentView({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n }))\n }\n\n if (!View) {\n View = NotFoundView\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave =\n hasSavePermission &&\n ((collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave))\n\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n let id = idFromArgs\n\n if (shouldAutosave && !validateDraftData && !idFromArgs && collectionSlug) {\n doc = await payload.create({\n collection: collectionSlug,\n data: initialData || {},\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n id = doc.id\n isEditing = getIsEditing({ id: doc.id, collectionSlug, globalSlug })\n\n if (!drawerSlug && redirectAfterCreate !== false) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n serverURL,\n })\n\n redirect(redirectURL)\n }\n } else {\n throw new Error('not-found')\n }\n }\n\n const documentSlots = renderDocumentSlots({\n collectionConfig,\n globalConfig,\n hasSavePermission,\n permissions: docPermissions,\n req,\n })\n\n const clientProps: DocumentViewClientProps = {\n formState,\n ...documentSlots,\n documentSubViewType,\n viewType,\n }\n\n const livePreviewConfig: LivePreviewConfig = {\n ...(config.admin.livePreview || {}),\n ...(collectionConfig?.admin?.livePreview || {}),\n ...(globalConfig?.admin?.livePreview || {}),\n }\n\n const livePreviewURL =\n typeof livePreviewConfig?.url === 'function'\n ? await livePreviewConfig.url({\n collectionConfig,\n data: doc,\n globalConfig,\n locale,\n req,\n /**\n * @deprecated\n * Use `req.payload` instead. This will be removed in the next major version.\n */\n payload: initPageResult.req.payload,\n })\n : livePreviewConfig?.url\n\n return {\n data: doc,\n Document: (\n <DocumentInfoProvider\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n currentEditor={currentEditor}\n disableActions={disableActions ?? false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n initialData={doc}\n initialState={formState}\n isEditing={isEditing}\n isLocked={isLocked}\n key={locale?.code}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n redirectAfterCreate={redirectAfterCreate}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n <LivePreviewProvider\n breakpoints={livePreviewConfig?.breakpoints}\n isLivePreviewing={entityPreferences?.value?.editViewType === 'live-preview'}\n operation={operation}\n url={livePreviewURL}\n >\n {showHeader && !drawerSlug && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n <EditDepthProvider>\n {RenderServerComponent({\n clientProps,\n Component: View,\n importMap,\n serverProps: documentViewServerProps,\n })}\n </EditDepthProvider>\n </LivePreviewProvider>\n </DocumentInfoProvider>\n ),\n }\n}\n\nexport async function Document(props: AdminViewServerProps) {\n try {\n const { Document: RenderedDocument } = await renderDocument(props)\n return RenderedDocument\n } catch (error) {\n if (error?.message === 'NEXT_REDIRECT') {\n throw error\n }\n\n logError({ err: error, payload: props.initPageResult.req.payload })\n\n if (error.message === 'not-found') {\n notFound()\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","LivePreviewProvider","RenderServerComponent","isEditing","getIsEditing","buildFormState","notFound","redirect","logError","formatAdminURL","React","DocumentHeader","getPreferences","NotFoundView","getDocPreferences","getDocumentData","getDocumentPermissions","getDocumentView","getIsLocked","getMetaBySegment","getVersions","renderDocumentSlots","generateMetadata","args","renderDocument","disableActions","documentSubViewType","drawerSlug","importMap","initialData","initPageResult","overrideEntityVisibility","params","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","searchParams","versions","viewType","collectionConfig","docID","idFromArgs","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","id","doc","redirectURL","path","encodeURIComponent","Error","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","currentEditor","isLocked","lastUpdateTime","entityPreferences","Promise","all","data","collection","operation","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","code","fallbackLocale","renderAllFields","schemaPath","skipValidation","documentViewServerProps","routeSegments","collections","find","visibleSlug","globals","formattedParams","URLSearchParams","drafts","append","apiQueryParams","toString","apiURL","View","showHeader","RootViewOverride","components","views","edit","root","Component","shouldAutosave","autosave","validateDraftData","validate","create","depth","draft","documentSlots","clientProps","isLivePreviewEnabled","Boolean","livePreview","includes","livePreviewConfig","livePreviewURL","url","Document","_jsx","initialState","_jsxs","breakpoints","isLivePreviewing","value","editViewType","serverProps","props","RenderedDocument","error","message","err"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n Data,\n DocumentViewClientProps,\n DocumentViewServerProps,\n DocumentViewServerPropsOnly,\n EditViewComponent,\n LivePreviewConfig,\n PayloadComponent,\n RenderDocumentVersionsProperties,\n} from 'payload'\n\nimport {\n DocumentInfoProvider,\n EditDepthProvider,\n HydrateAuthProvider,\n LivePreviewProvider,\n} from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { isEditing as getIsEditing } from '@payloadcms/ui/shared'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { notFound, redirect } from 'next/navigation.js'\nimport { logError } from 'payload'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport type { GenerateEditViewMetadata } from './getMetaBySegment.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { getPreferences } from '../../utilities/getPreferences.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocPreferences } from './getDocPreferences.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getDocumentView } from './getDocumentView.js'\nimport { getIsLocked } from './getIsLocked.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getVersions } from './getVersions.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\nexport type ViewToRender =\n | EditViewComponent\n | PayloadComponent<DocumentViewServerProps>\n | React.FC\n | React.FC<DocumentViewClientProps>\n\n/**\n * This function is responsible for rendering\n * an Edit Document view on the server for both:\n * - default document edit views\n * - on-demand edit views within drawers\n */\nexport const renderDocument = async ({\n disableActions,\n documentSubViewType,\n drawerSlug,\n importMap,\n initialData,\n initPageResult,\n overrideEntityVisibility,\n params,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams,\n versions,\n viewType,\n}: {\n drawerSlug?: string\n overrideEntityVisibility?: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n versions?: RenderDocumentVersionsProperties\n} & AdminViewServerProps): Promise<{\n data: Data\n Document: React.ReactNode\n}> => {\n const {\n collectionConfig,\n docID: idFromArgs,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n let isEditing = getIsEditing({ id: idFromArgs, collectionSlug, globalSlug })\n\n // Fetch the doc required for the view\n let doc =\n initialData ||\n (await getDocumentData({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n req,\n user,\n }))\n\n if (isEditing && !doc) {\n // If it's a collection document that doesn't exist, redirect to collection list\n if (collectionSlug) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}?notFound=${encodeURIComponent(idFromArgs)}`,\n serverURL,\n })\n redirect(redirectURL)\n } else {\n // For globals or other cases, keep the 404 behavior\n throw new Error('not-found')\n }\n }\n\n const [\n docPreferences,\n { docPermissions, hasPublishPermission, hasSavePermission },\n { currentEditor, isLocked, lastUpdateTime },\n entityPreferences,\n ] = await Promise.all([\n // Get document preferences\n getDocPreferences({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n payload,\n user,\n }),\n\n // Get permissions\n getDocumentPermissions({\n id: idFromArgs,\n collectionConfig,\n data: doc,\n globalConfig,\n req,\n }),\n\n // Fetch document lock state\n getIsLocked({\n id: idFromArgs,\n collectionConfig,\n globalConfig,\n isEditing,\n req,\n }),\n\n // get entity preferences\n getPreferences<CollectionPreferences>(\n collectionSlug ? `collection-${collectionSlug}` : `global-${globalSlug}`,\n payload,\n req.user.id,\n req.user.collection,\n ),\n ])\n\n const operation = (collectionSlug && idFromArgs) || globalSlug ? 'update' : 'create'\n\n const [\n { hasPublishedDoc, mostRecentVersionIsAutosaved, unpublishedVersionCount, versionCount },\n { state: formState },\n ] = await Promise.all([\n getVersions({\n id: idFromArgs,\n collectionConfig,\n doc,\n docPermissions,\n globalConfig,\n locale: locale?.code,\n payload,\n user,\n }),\n buildFormState({\n id: idFromArgs,\n collectionSlug,\n data: doc,\n docPermissions,\n docPreferences,\n fallbackLocale: false,\n globalSlug,\n locale: locale?.code,\n operation,\n renderAllFields: true,\n req,\n schemaPath: collectionSlug || globalSlug,\n skipValidation: true,\n }),\n ])\n\n const documentViewServerProps: DocumentViewServerPropsOnly = {\n doc,\n hasPublishedDoc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n versions,\n }\n\n if (\n !overrideEntityVisibility &&\n ((collectionSlug &&\n !visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) ||\n (globalSlug && !visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)))\n ) {\n throw new Error('not-found')\n }\n\n const formattedParams = new URLSearchParams()\n\n if (collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) {\n formattedParams.append('draft', 'true')\n }\n\n if (locale?.code) {\n formattedParams.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${formattedParams.toString()}`\n\n const apiURL = collectionSlug\n ? `${serverURL}${apiRoute}/${collectionSlug}/${idFromArgs}${apiQueryParams}`\n : globalSlug\n ? `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`\n : ''\n\n let View: ViewToRender = null\n\n let showHeader = true\n\n const RootViewOverride =\n collectionConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in collectionConfig.admin.components.views.edit.root\n ? collectionConfig?.admin?.components?.views?.edit?.root?.Component\n : globalConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in globalConfig.admin.components.views.edit.root\n ? globalConfig?.admin?.components?.views?.edit?.root?.Component\n : null\n\n if (RootViewOverride) {\n View = RootViewOverride\n showHeader = false\n } else {\n ;({ View } = getDocumentView({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n }))\n }\n\n if (!View) {\n View = NotFoundView\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave =\n hasSavePermission &&\n ((collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave))\n\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n let id = idFromArgs\n\n if (shouldAutosave && !validateDraftData && !idFromArgs && collectionSlug) {\n doc = await payload.create({\n collection: collectionSlug,\n data: initialData || {},\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n id = doc.id\n isEditing = getIsEditing({ id: doc.id, collectionSlug, globalSlug })\n\n if (!drawerSlug && redirectAfterCreate !== false) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n serverURL,\n })\n\n redirect(redirectURL)\n }\n } else {\n throw new Error('not-found')\n }\n }\n\n const documentSlots = renderDocumentSlots({\n collectionConfig,\n globalConfig,\n hasSavePermission,\n permissions: docPermissions,\n req,\n })\n\n const clientProps: DocumentViewClientProps = {\n formState,\n ...documentSlots,\n documentSubViewType,\n viewType,\n }\n\n const isLivePreviewEnabled = Boolean(\n config.admin?.livePreview?.collections?.includes(collectionSlug) ||\n config.admin?.livePreview?.globals?.includes(globalSlug) ||\n collectionConfig?.admin?.livePreview ||\n globalConfig?.admin?.livePreview,\n )\n\n const livePreviewConfig: LivePreviewConfig = {\n ...(isLivePreviewEnabled ? config.admin.livePreview : {}),\n ...(collectionConfig?.admin?.livePreview || {}),\n ...(globalConfig?.admin?.livePreview || {}),\n }\n\n const livePreviewURL =\n operation !== 'create'\n ? typeof livePreviewConfig?.url === 'function'\n ? await livePreviewConfig.url({\n collectionConfig,\n data: doc,\n globalConfig,\n locale,\n req,\n /**\n * @deprecated\n * Use `req.payload` instead. This will be removed in the next major version.\n */\n payload: initPageResult.req.payload,\n })\n : livePreviewConfig?.url\n : ''\n\n return {\n data: doc,\n Document: (\n <DocumentInfoProvider\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n currentEditor={currentEditor}\n disableActions={disableActions ?? false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasPublishedDoc={hasPublishedDoc}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n initialData={doc}\n initialState={formState}\n isEditing={isEditing}\n isLocked={isLocked}\n key={locale?.code}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n redirectAfterCreate={redirectAfterCreate}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n unpublishedVersionCount={unpublishedVersionCount}\n versionCount={versionCount}\n >\n <LivePreviewProvider\n breakpoints={livePreviewConfig?.breakpoints}\n isLivePreviewEnabled={isLivePreviewEnabled && operation !== 'create'}\n isLivePreviewing={entityPreferences?.value?.editViewType === 'live-preview'}\n url={livePreviewURL}\n >\n {showHeader && !drawerSlug && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n <EditDepthProvider>\n {RenderServerComponent({\n clientProps,\n Component: View,\n importMap,\n serverProps: documentViewServerProps,\n })}\n </EditDepthProvider>\n </LivePreviewProvider>\n </DocumentInfoProvider>\n ),\n }\n}\n\nexport async function Document(props: AdminViewServerProps) {\n try {\n const { Document: RenderedDocument } = await renderDocument(props)\n return RenderedDocument\n } catch (error) {\n if (error?.message === 'NEXT_REDIRECT') {\n throw error\n }\n\n logError({ err: error, payload: props.initPageResult.req.payload })\n\n if (error.message === 'not-found') {\n notFound()\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAIpB,SAAS,EAMV,MAAM,SAAS,CAAA;AAYhB,OAAO,KAAmB,MAAM,OAAO,CAAA;AAMvC,KAAK,kBAAkB,GAAG;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC,GAAG,oBAAoB,CAAA;AAExB;;;;;GAKG;AACH,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC;IACT,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/List/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAIpB,SAAS,EAMV,MAAM,SAAS,CAAA;AAYhB,OAAO,KAAmB,MAAM,OAAO,CAAA;AAMvC,KAAK,kBAAkB,GAAG;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC,GAAG,oBAAoB,CAAA;AAExB;;;;;GAKG;AACH,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC;IACT,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB,CA4PA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAWjD,CAAA"}
|
package/dist/views/List/index.js
CHANGED
|
@@ -170,6 +170,8 @@ export const renderListView = async args => {
|
|
|
170
170
|
path: `/collections/${collectionSlug}/create`
|
|
171
171
|
});
|
|
172
172
|
const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create;
|
|
173
|
+
// Check if there's a notFound query parameter (document ID that wasn't found)
|
|
174
|
+
const notFoundDocId = typeof searchParams?.notFound === 'string' ? searchParams.notFound : null;
|
|
173
175
|
const serverProps = {
|
|
174
176
|
collectionConfig,
|
|
175
177
|
data,
|
|
@@ -192,6 +194,7 @@ export const renderListView = async args => {
|
|
|
192
194
|
},
|
|
193
195
|
collectionConfig,
|
|
194
196
|
description: staticDescription,
|
|
197
|
+
notFoundDocId,
|
|
195
198
|
payload,
|
|
196
199
|
serverProps
|
|
197
200
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DefaultListView","HydrateAuthProvider","ListQueryProvider","RenderServerComponent","renderFilters","renderTable","upsertPreferences","notFound","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","React","Fragment","getDocumentPermissions","renderListViewSlots","resolveAllFilterOptions","renderListView","args","clientConfig","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","collections","read","Error","columns","collectionPreferences","key","value","limit","Number","undefined","preset","sort","routes","admin","adminRoute","includes","page","pagination","defaultLimit","defaultSort","where","search","baseListFilter","and","filter","Boolean","queryPreset","queryPresetPermissions","findByID","id","collection","depth","overrideAccess","find","c","data","then","docPermissions","err","logger","error","draft","fallbackLocale","includeLockStatus","clientCollectionConfig","columnState","Table","columnPreferences","docs","orderableFieldName","orderable","useAsTitle","renderedFilters","fields","importMap","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","hasCreatePermission","create","serverProps","listPreferences","listSearchableFields","listViewSlots","clientProps","isInDrawer","List","_jsxs","_jsx","modifySearchParams","Component","components","views","list","Fallback","ListView","RenderedList","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n ColumnPreference,\n DefaultDocumentIDType,\n ListQuery,\n ListViewClientProps,\n ListViewServerPropsOnly,\n QueryPreset,\n SanitizedCollectionPermission,\n Where,\n} from 'payload'\n\nimport { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { renderFilters, renderTable, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { notFound } from 'next/navigation.js'\nimport {\n formatAdminURL,\n isNumber,\n mergeListSearchAndWhere,\n transformColumnsToPreferences,\n} from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { renderListViewSlots } from './renderListViewSlots.js'\nimport { resolveAllFilterOptions } from './resolveAllFilterOptions.js'\n\ntype RenderListViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n} & AdminViewServerProps\n\n/**\n * This function is responsible for rendering\n * the list view on the server for both:\n * - default list view\n * - list view within drawers\n */\nexport const renderListView = async (\n args: RenderListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n locale,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!permissions?.collections?.[collectionSlug]?.read) {\n throw new Error('not-found')\n }\n\n const query = queryFromArgs || queryFromReq\n\n const columns: ColumnPreference[] = transformColumnsToPreferences(\n query?.columns as ColumnPreference[] | string,\n )\n\n /**\n * @todo: find a pattern to avoid setting preferences on hard navigation, i.e. direct links, page refresh, etc.\n * This will ensure that prefs are only updated when explicitly set by the user\n * This could potentially be done by injecting a `sessionID` into the params and comparing it against a session cookie\n */\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n preset: (query?.preset as DefaultDocumentIDType) || null,\n sort: query?.sort as string,\n },\n })\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n if (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) {\n throw new Error('not-found')\n }\n\n const page = isNumber(query?.page) ? Number(query.page) : 0\n\n const limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n const sort =\n collectionPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined)\n\n let where = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n })\n\n if (typeof collectionConfig.admin?.baseListFilter === 'function') {\n const baseListFilter = await collectionConfig.admin.baseListFilter({\n limit,\n page,\n req,\n sort,\n })\n\n if (baseListFilter) {\n where = {\n and: [where, baseListFilter].filter(Boolean),\n }\n }\n }\n\n let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined\n\n if (collectionPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: collectionPreferences?.preset,\n collection: 'payload-query-presets',\n depth: 0,\n overrideAccess: false,\n user,\n })) as QueryPreset\n\n if (queryPreset) {\n queryPresetPermissions = await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: config.collections.find((c) => c.slug === 'payload-query-presets'),\n data: queryPreset,\n req,\n })?.then(({ docPermissions }) => docPermissions)\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit,\n locale,\n overrideAccess: false,\n page,\n req,\n sort,\n user,\n where: where || {},\n })\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const { columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columnPreferences: collectionPreferences?.columns,\n columns,\n customCellProps,\n docs: data.docs,\n drawerSlug,\n enableRowSelections,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload,\n useAsTitle: collectionConfig.admin.useAsTitle,\n })\n\n const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n\n const resolvedFilterOptions = await resolveAllFilterOptions({\n fields: collectionConfig.fields,\n req,\n })\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const newDocumentURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n })\n\n const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create\n\n const serverProps: ListViewServerPropsOnly = {\n collectionConfig,\n data,\n i18n,\n limit,\n listPreferences: collectionPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }\n\n const listViewSlots = renderListViewSlots({\n clientProps: {\n collectionSlug,\n hasCreatePermission,\n newDocumentURL,\n },\n collectionConfig,\n description: staticDescription,\n payload,\n serverProps,\n })\n\n const isInDrawer = Boolean(drawerSlug)\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListQueryProvider\n collectionSlug={collectionSlug}\n columns={transformColumnsToPreferences(columnState)}\n data={data}\n defaultLimit={limit}\n defaultSort={sort}\n listPreferences={collectionPreferences}\n modifySearchParams={!isInDrawer}\n orderableFieldName={collectionConfig.orderable === true ? '_order' : undefined}\n >\n {RenderServerComponent({\n clientProps: {\n ...listViewSlots,\n collectionSlug,\n columnState,\n disableBulkDelete,\n disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission,\n listPreferences: collectionPreferences,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table,\n } satisfies ListViewClientProps,\n Component: collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: DefaultListView,\n importMap: payload.importMap,\n serverProps,\n })}\n </ListQueryProvider>\n </Fragment>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n\nexport const ListView: React.FC<RenderListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["DefaultListView","HydrateAuthProvider","ListQueryProvider","RenderServerComponent","renderFilters","renderTable","upsertPreferences","notFound","formatAdminURL","isNumber","mergeListSearchAndWhere","transformColumnsToPreferences","React","Fragment","getDocumentPermissions","renderListViewSlots","resolveAllFilterOptions","renderListView","args","clientConfig","customCellProps","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","initPageResult","overrideEntityVisibility","params","query","queryFromArgs","searchParams","collectionConfig","slug","collectionSlug","locale","fullLocale","permissions","req","i18n","payload","config","queryFromReq","user","visibleEntities","collections","read","Error","columns","collectionPreferences","key","value","limit","Number","undefined","preset","sort","routes","admin","adminRoute","includes","page","pagination","defaultLimit","defaultSort","where","search","baseListFilter","and","filter","Boolean","queryPreset","queryPresetPermissions","findByID","id","collection","depth","overrideAccess","find","c","data","then","docPermissions","err","logger","error","draft","fallbackLocale","includeLockStatus","clientCollectionConfig","columnState","Table","columnPreferences","docs","orderableFieldName","orderable","useAsTitle","renderedFilters","fields","importMap","resolvedFilterOptions","staticDescription","description","t","newDocumentURL","path","hasCreatePermission","create","notFoundDocId","serverProps","listPreferences","listSearchableFields","listViewSlots","clientProps","isInDrawer","List","_jsxs","_jsx","modifySearchParams","Component","components","views","list","Fallback","ListView","RenderedList","message","console"],"sources":["../../../src/views/List/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n CollectionPreferences,\n ColumnPreference,\n DefaultDocumentIDType,\n ListQuery,\n ListViewClientProps,\n ListViewServerPropsOnly,\n QueryPreset,\n SanitizedCollectionPermission,\n Where,\n} from 'payload'\n\nimport { DefaultListView, HydrateAuthProvider, ListQueryProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { renderFilters, renderTable, upsertPreferences } from '@payloadcms/ui/rsc'\nimport { notFound } from 'next/navigation.js'\nimport {\n formatAdminURL,\n isNumber,\n mergeListSearchAndWhere,\n transformColumnsToPreferences,\n} from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport { getDocumentPermissions } from '../Document/getDocumentPermissions.js'\nimport { renderListViewSlots } from './renderListViewSlots.js'\nimport { resolveAllFilterOptions } from './resolveAllFilterOptions.js'\n\ntype RenderListViewArgs = {\n customCellProps?: Record<string, any>\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n redirectAfterDelete?: boolean\n redirectAfterDuplicate?: boolean\n} & AdminViewServerProps\n\n/**\n * This function is responsible for rendering\n * the list view on the server for both:\n * - default list view\n * - list view within drawers\n */\nexport const renderListView = async (\n args: RenderListViewArgs,\n): Promise<{\n List: React.ReactNode\n}> => {\n const {\n clientConfig,\n customCellProps,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n initPageResult,\n overrideEntityVisibility,\n params,\n query: queryFromArgs,\n searchParams,\n } = args\n\n const {\n collectionConfig,\n collectionConfig: { slug: collectionSlug },\n locale: fullLocale,\n permissions,\n req,\n req: {\n i18n,\n locale,\n payload,\n payload: { config },\n query: queryFromReq,\n user,\n },\n visibleEntities,\n } = initPageResult\n\n if (!permissions?.collections?.[collectionSlug]?.read) {\n throw new Error('not-found')\n }\n\n const query = queryFromArgs || queryFromReq\n\n const columns: ColumnPreference[] = transformColumnsToPreferences(\n query?.columns as ColumnPreference[] | string,\n )\n\n /**\n * @todo: find a pattern to avoid setting preferences on hard navigation, i.e. direct links, page refresh, etc.\n * This will ensure that prefs are only updated when explicitly set by the user\n * This could potentially be done by injecting a `sessionID` into the params and comparing it against a session cookie\n */\n const collectionPreferences = await upsertPreferences<CollectionPreferences>({\n key: `collection-${collectionSlug}`,\n req,\n value: {\n columns,\n limit: isNumber(query?.limit) ? Number(query.limit) : undefined,\n preset: (query?.preset as DefaultDocumentIDType) || null,\n sort: query?.sort as string,\n },\n })\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n if (collectionConfig) {\n if (!visibleEntities.collections.includes(collectionSlug) && !overrideEntityVisibility) {\n throw new Error('not-found')\n }\n\n const page = isNumber(query?.page) ? Number(query.page) : 0\n\n const limit = collectionPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n const sort =\n collectionPreferences?.sort ||\n (typeof collectionConfig.defaultSort === 'string' ? collectionConfig.defaultSort : undefined)\n\n let where = mergeListSearchAndWhere({\n collectionConfig,\n search: typeof query?.search === 'string' ? query.search : undefined,\n where: (query?.where as Where) || undefined,\n })\n\n if (typeof collectionConfig.admin?.baseListFilter === 'function') {\n const baseListFilter = await collectionConfig.admin.baseListFilter({\n limit,\n page,\n req,\n sort,\n })\n\n if (baseListFilter) {\n where = {\n and: [where, baseListFilter].filter(Boolean),\n }\n }\n }\n\n let queryPreset: QueryPreset | undefined\n let queryPresetPermissions: SanitizedCollectionPermission | undefined\n\n if (collectionPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: collectionPreferences?.preset,\n collection: 'payload-query-presets',\n depth: 0,\n overrideAccess: false,\n user,\n })) as QueryPreset\n\n if (queryPreset) {\n queryPresetPermissions = await getDocumentPermissions({\n id: queryPreset.id,\n collectionConfig: config.collections.find((c) => c.slug === 'payload-query-presets'),\n data: queryPreset,\n req,\n })?.then(({ docPermissions }) => docPermissions)\n }\n } catch (err) {\n req.payload.logger.error(`Error fetching query preset or preset permissions: ${err}`)\n }\n }\n\n const data = await payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit,\n locale,\n overrideAccess: false,\n page,\n req,\n sort,\n user,\n where: where || {},\n })\n\n const clientCollectionConfig = clientConfig.collections.find((c) => c.slug === collectionSlug)\n\n const { columnState, Table } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columnPreferences: collectionPreferences?.columns,\n columns,\n customCellProps,\n docs: data.docs,\n drawerSlug,\n enableRowSelections,\n i18n: req.i18n,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload,\n useAsTitle: collectionConfig.admin.useAsTitle,\n })\n\n const renderedFilters = renderFilters(collectionConfig.fields, req.payload.importMap)\n\n const resolvedFilterOptions = await resolveAllFilterOptions({\n fields: collectionConfig.fields,\n req,\n })\n\n const staticDescription =\n typeof collectionConfig.admin.description === 'function'\n ? collectionConfig.admin.description({ t: i18n.t })\n : collectionConfig.admin.description\n\n const newDocumentURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/create`,\n })\n\n const hasCreatePermission = permissions?.collections?.[collectionSlug]?.create\n\n // Check if there's a notFound query parameter (document ID that wasn't found)\n const notFoundDocId = typeof searchParams?.notFound === 'string' ? searchParams.notFound : null\n\n const serverProps: ListViewServerPropsOnly = {\n collectionConfig,\n data,\n i18n,\n limit,\n listPreferences: collectionPreferences,\n listSearchableFields: collectionConfig.admin.listSearchableFields,\n locale: fullLocale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n }\n\n const listViewSlots = renderListViewSlots({\n clientProps: {\n collectionSlug,\n hasCreatePermission,\n newDocumentURL,\n },\n collectionConfig,\n description: staticDescription,\n notFoundDocId,\n payload,\n serverProps,\n })\n\n const isInDrawer = Boolean(drawerSlug)\n\n return {\n List: (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <ListQueryProvider\n collectionSlug={collectionSlug}\n columns={transformColumnsToPreferences(columnState)}\n data={data}\n defaultLimit={limit}\n defaultSort={sort}\n listPreferences={collectionPreferences}\n modifySearchParams={!isInDrawer}\n orderableFieldName={collectionConfig.orderable === true ? '_order' : undefined}\n >\n {RenderServerComponent({\n clientProps: {\n ...listViewSlots,\n collectionSlug,\n columnState,\n disableBulkDelete,\n disableBulkEdit: collectionConfig.disableBulkEdit ?? disableBulkEdit,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission,\n listPreferences: collectionPreferences,\n newDocumentURL,\n queryPreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n Table,\n } satisfies ListViewClientProps,\n Component: collectionConfig?.admin?.components?.views?.list?.Component,\n Fallback: DefaultListView,\n importMap: payload.importMap,\n serverProps,\n })}\n </ListQueryProvider>\n </Fragment>\n ),\n }\n }\n\n throw new Error('not-found')\n}\n\nexport const ListView: React.FC<RenderListViewArgs> = async (args) => {\n try {\n const { List: RenderedList } = await renderListView({ ...args, enableRowSelections: true })\n return RenderedList\n } catch (error) {\n if (error.message === 'not-found') {\n notFound()\n } else {\n console.error(error) // eslint-disable-line no-console\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,9 +3,10 @@ type Args = {
|
|
|
3
3
|
clientProps: ListViewSlotSharedClientProps;
|
|
4
4
|
collectionConfig: SanitizedCollectionConfig;
|
|
5
5
|
description?: StaticDescription;
|
|
6
|
+
notFoundDocId?: null | string;
|
|
6
7
|
payload: Payload;
|
|
7
8
|
serverProps: ListViewServerPropsOnly;
|
|
8
9
|
};
|
|
9
|
-
export declare const renderListViewSlots: ({ clientProps, collectionConfig, description, payload, serverProps, }: Args) => ListViewSlots;
|
|
10
|
+
export declare const renderListViewSlots: ({ clientProps, collectionConfig, description, notFoundDocId, payload, serverProps, }: Args) => ListViewSlots;
|
|
10
11
|
export {};
|
|
11
12
|
//# sourceMappingURL=renderListViewSlots.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderListViewSlots.d.ts","sourceRoot":"","sources":["../../../src/views/List/renderListViewSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAQV,uBAAuB,EACvB,aAAa,EACb,6BAA6B,EAC7B,OAAO,EACP,yBAAyB,EACzB,iBAAiB,EAGlB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"renderListViewSlots.d.ts","sourceRoot":"","sources":["../../../src/views/List/renderListViewSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAQV,uBAAuB,EACvB,aAAa,EACb,6BAA6B,EAC7B,OAAO,EACP,yBAAyB,EACzB,iBAAiB,EAGlB,MAAM,SAAS,CAAA;AAMhB,KAAK,IAAI,GAAG;IACV,WAAW,EAAE,6BAA6B,CAAA;IAC1C,gBAAgB,EAAE,yBAAyB,CAAA;IAC3C,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,uBAAuB,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,mBAAmB,yFAO7B,IAAI,KAAG,aAmFT,CAAA"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Banner } from '@payloadcms/ui/elements/Banner';
|
|
1
3
|
import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
|
|
4
|
+
import React from 'react';
|
|
2
5
|
export const renderListViewSlots = ({
|
|
3
6
|
clientProps,
|
|
4
7
|
collectionConfig,
|
|
5
8
|
description,
|
|
9
|
+
notFoundDocId,
|
|
6
10
|
payload,
|
|
7
11
|
serverProps
|
|
8
12
|
}) => {
|
|
@@ -40,12 +44,24 @@ export const renderListViewSlots = ({
|
|
|
40
44
|
serverProps: serverProps
|
|
41
45
|
});
|
|
42
46
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
// Handle beforeListTable with optional banner
|
|
48
|
+
const existingBeforeListTable = collectionConfig.admin.components?.beforeListTable ? RenderServerComponent({
|
|
49
|
+
clientProps: clientProps,
|
|
50
|
+
Component: collectionConfig.admin.components.beforeListTable,
|
|
51
|
+
importMap: payload.importMap,
|
|
52
|
+
serverProps: serverProps
|
|
53
|
+
}) : null;
|
|
54
|
+
// Create banner for document not found
|
|
55
|
+
const notFoundBanner = notFoundDocId ? /*#__PURE__*/_jsx(Banner, {
|
|
56
|
+
type: "error",
|
|
57
|
+
children: serverProps.i18n.t('error:documentNotFound', {
|
|
58
|
+
id: notFoundDocId
|
|
59
|
+
})
|
|
60
|
+
}) : null;
|
|
61
|
+
// Combine banner and existing component
|
|
62
|
+
if (notFoundBanner || existingBeforeListTable) {
|
|
63
|
+
result.BeforeListTable = /*#__PURE__*/_jsxs(React.Fragment, {
|
|
64
|
+
children: [notFoundBanner, existingBeforeListTable]
|
|
49
65
|
});
|
|
50
66
|
}
|
|
51
67
|
if (collectionConfig.admin.components?.Description) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderListViewSlots.js","names":["RenderServerComponent","renderListViewSlots","clientProps","collectionConfig","description","payload","serverProps","result","admin","components","afterList","AfterList","Component","importMap","listMenuItems","Array","isArray","afterListTable","AfterListTable","beforeList","BeforeList","beforeListTable","BeforeListTable","Description","collectionSlug","slug"],"sources":["../../../src/views/List/renderListViewSlots.tsx"],"sourcesContent":["import type {\n AfterListClientProps,\n AfterListTableClientProps,\n AfterListTableServerPropsOnly,\n BeforeListClientProps,\n BeforeListServerPropsOnly,\n BeforeListTableClientProps,\n BeforeListTableServerPropsOnly,\n ListViewServerPropsOnly,\n ListViewSlots,\n ListViewSlotSharedClientProps,\n Payload,\n SanitizedCollectionConfig,\n StaticDescription,\n ViewDescriptionClientProps,\n ViewDescriptionServerPropsOnly,\n} from 'payload'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\n\ntype Args = {\n clientProps: ListViewSlotSharedClientProps\n collectionConfig: SanitizedCollectionConfig\n description?: StaticDescription\n payload: Payload\n serverProps: ListViewServerPropsOnly\n}\n\nexport const renderListViewSlots = ({\n clientProps,\n collectionConfig,\n description,\n payload,\n serverProps,\n}: Args): ListViewSlots => {\n const result: ListViewSlots = {} as ListViewSlots\n\n if (collectionConfig.admin.components?.afterList) {\n result.AfterList = RenderServerComponent({\n clientProps: clientProps satisfies AfterListClientProps,\n Component: collectionConfig.admin.components.afterList,\n importMap: payload.importMap,\n serverProps: serverProps satisfies AfterListTableServerPropsOnly,\n })\n }\n\n const listMenuItems = collectionConfig.admin.components?.listMenuItems\n\n if (Array.isArray(listMenuItems)) {\n result.listMenuItems = [\n RenderServerComponent({\n clientProps,\n Component: listMenuItems,\n importMap: payload.importMap,\n serverProps,\n }),\n ]\n }\n\n if (collectionConfig.admin.components?.afterListTable) {\n result.AfterListTable = RenderServerComponent({\n clientProps: clientProps satisfies AfterListTableClientProps,\n Component: collectionConfig.admin.components.afterListTable,\n importMap: payload.importMap,\n serverProps: serverProps satisfies AfterListTableServerPropsOnly,\n })\n }\n\n if (collectionConfig.admin.components?.beforeList) {\n result.BeforeList = RenderServerComponent({\n clientProps: clientProps satisfies BeforeListClientProps,\n Component: collectionConfig.admin.components.beforeList,\n importMap: payload.importMap,\n serverProps: serverProps satisfies BeforeListServerPropsOnly,\n })\n }\n\n
|
|
1
|
+
{"version":3,"file":"renderListViewSlots.js","names":["Banner","RenderServerComponent","React","renderListViewSlots","clientProps","collectionConfig","description","notFoundDocId","payload","serverProps","result","admin","components","afterList","AfterList","Component","importMap","listMenuItems","Array","isArray","afterListTable","AfterListTable","beforeList","BeforeList","existingBeforeListTable","beforeListTable","notFoundBanner","_jsx","type","i18n","t","id","BeforeListTable","_jsxs","Fragment","Description","collectionSlug","slug"],"sources":["../../../src/views/List/renderListViewSlots.tsx"],"sourcesContent":["import type {\n AfterListClientProps,\n AfterListTableClientProps,\n AfterListTableServerPropsOnly,\n BeforeListClientProps,\n BeforeListServerPropsOnly,\n BeforeListTableClientProps,\n BeforeListTableServerPropsOnly,\n ListViewServerPropsOnly,\n ListViewSlots,\n ListViewSlotSharedClientProps,\n Payload,\n SanitizedCollectionConfig,\n StaticDescription,\n ViewDescriptionClientProps,\n ViewDescriptionServerPropsOnly,\n} from 'payload'\n\nimport { Banner } from '@payloadcms/ui/elements/Banner'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport React from 'react'\n\ntype Args = {\n clientProps: ListViewSlotSharedClientProps\n collectionConfig: SanitizedCollectionConfig\n description?: StaticDescription\n notFoundDocId?: null | string\n payload: Payload\n serverProps: ListViewServerPropsOnly\n}\n\nexport const renderListViewSlots = ({\n clientProps,\n collectionConfig,\n description,\n notFoundDocId,\n payload,\n serverProps,\n}: Args): ListViewSlots => {\n const result: ListViewSlots = {} as ListViewSlots\n\n if (collectionConfig.admin.components?.afterList) {\n result.AfterList = RenderServerComponent({\n clientProps: clientProps satisfies AfterListClientProps,\n Component: collectionConfig.admin.components.afterList,\n importMap: payload.importMap,\n serverProps: serverProps satisfies AfterListTableServerPropsOnly,\n })\n }\n\n const listMenuItems = collectionConfig.admin.components?.listMenuItems\n\n if (Array.isArray(listMenuItems)) {\n result.listMenuItems = [\n RenderServerComponent({\n clientProps,\n Component: listMenuItems,\n importMap: payload.importMap,\n serverProps,\n }),\n ]\n }\n\n if (collectionConfig.admin.components?.afterListTable) {\n result.AfterListTable = RenderServerComponent({\n clientProps: clientProps satisfies AfterListTableClientProps,\n Component: collectionConfig.admin.components.afterListTable,\n importMap: payload.importMap,\n serverProps: serverProps satisfies AfterListTableServerPropsOnly,\n })\n }\n\n if (collectionConfig.admin.components?.beforeList) {\n result.BeforeList = RenderServerComponent({\n clientProps: clientProps satisfies BeforeListClientProps,\n Component: collectionConfig.admin.components.beforeList,\n importMap: payload.importMap,\n serverProps: serverProps satisfies BeforeListServerPropsOnly,\n })\n }\n\n // Handle beforeListTable with optional banner\n const existingBeforeListTable = collectionConfig.admin.components?.beforeListTable\n ? RenderServerComponent({\n clientProps: clientProps satisfies BeforeListTableClientProps,\n Component: collectionConfig.admin.components.beforeListTable,\n importMap: payload.importMap,\n serverProps: serverProps satisfies BeforeListTableServerPropsOnly,\n })\n : null\n\n // Create banner for document not found\n const notFoundBanner = notFoundDocId ? (\n <Banner type=\"error\">\n {serverProps.i18n.t('error:documentNotFound', { id: notFoundDocId })}\n </Banner>\n ) : null\n\n // Combine banner and existing component\n if (notFoundBanner || existingBeforeListTable) {\n result.BeforeListTable = (\n <React.Fragment>\n {notFoundBanner}\n {existingBeforeListTable}\n </React.Fragment>\n )\n }\n\n if (collectionConfig.admin.components?.Description) {\n result.Description = RenderServerComponent({\n clientProps: {\n collectionSlug: collectionConfig.slug,\n description,\n } satisfies ViewDescriptionClientProps,\n Component: collectionConfig.admin.components.Description,\n importMap: payload.importMap,\n serverProps: serverProps satisfies ViewDescriptionServerPropsOnly,\n })\n }\n\n return result\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAKpC,OAAO,EAGL,KAAK,SAAS,EAEd,KAAK,eAAe,EACrB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Root/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAKpC,OAAO,EAGL,KAAK,SAAS,EAEd,KAAK,eAAe,EACrB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE;IACxC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAA;CAC9C,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB,eAAO,MAAM,QAAQ,oGAKlB;IACD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAC,CAAA;IACF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAC,CAAA;CACH,+BAgMA,CAAA"}
|
package/dist/views/Root/index.js
CHANGED
|
@@ -8,6 +8,7 @@ import React from 'react';
|
|
|
8
8
|
import { DefaultTemplate } from '../../templates/Default/index.js';
|
|
9
9
|
import { MinimalTemplate } from '../../templates/Minimal/index.js';
|
|
10
10
|
import { initPage } from '../../utilities/initPage/index.js';
|
|
11
|
+
import { getCustomViewByRoute } from './getCustomViewByRoute.js';
|
|
11
12
|
import { getRouteData } from './getRouteData.js';
|
|
12
13
|
export const RootPage = async ({
|
|
13
14
|
config: configPromise,
|
|
@@ -34,6 +35,32 @@ export const RootPage = async ({
|
|
|
34
35
|
});
|
|
35
36
|
const segments = Array.isArray(params.segments) ? params.segments : [];
|
|
36
37
|
const searchParams = await searchParamsPromise;
|
|
38
|
+
// Redirect `${adminRoute}/collections` to `${adminRoute}`
|
|
39
|
+
if (segments.length === 1 && segments[0] === 'collections') {
|
|
40
|
+
const {
|
|
41
|
+
viewKey
|
|
42
|
+
} = getCustomViewByRoute({
|
|
43
|
+
config,
|
|
44
|
+
currentRoute: '/collections'
|
|
45
|
+
});
|
|
46
|
+
// Only redirect if there's NO custom view configured for /collections
|
|
47
|
+
if (!viewKey) {
|
|
48
|
+
redirect(adminRoute);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// Redirect `${adminRoute}/globals` to `${adminRoute}`
|
|
52
|
+
if (segments.length === 1 && segments[0] === 'globals') {
|
|
53
|
+
const {
|
|
54
|
+
viewKey
|
|
55
|
+
} = getCustomViewByRoute({
|
|
56
|
+
config,
|
|
57
|
+
currentRoute: '/globals'
|
|
58
|
+
});
|
|
59
|
+
// Only redirect if there's NO custom view configured for /globals
|
|
60
|
+
if (!viewKey) {
|
|
61
|
+
redirect(adminRoute);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
37
64
|
const {
|
|
38
65
|
browseByFolderSlugs,
|
|
39
66
|
DefaultView,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["RenderServerComponent","getClientConfig","notFound","redirect","parseDocumentID","formatAdminURL","React","DefaultTemplate","MinimalTemplate","initPage","getRouteData","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","browseByFolderSlugs","DefaultView","documentSubViewType","folderID","folderIDParam","initPageOptions","serverProps","templateClassName","templateType","viewType","initPageResult","dbHasUser","req","payload","db","findOne","collection","then","doc","Component","payloadComponent","redirectTo","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","clientConfig","i18n","folders","id","collectionSlug","undefined","RenderedView","clientProps","Fallback","docID","_jsxs","Fragment","_jsx","className","globalSlug","globalConfig","locale","permissions","viewActions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport {\n type AdminViewClientProps,\n type AdminViewServerPropsOnly,\n type ImportMap,\n parseDocumentID,\n type SanitizedConfig,\n} from 'payload'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getRouteData } from './getRouteData.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n const {\n browseByFolderSlugs,\n DefaultView,\n documentSubViewType,\n folderID: folderIDParam,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewType,\n } = getRouteData({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n const initPageResult = await initPage(initPageOptions)\n\n const dbHasUser =\n initPageResult.req.user ||\n (await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (initPageResult?.req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: initPageResult?.req.i18n,\n importMap,\n })\n\n const payload = initPageResult?.req.payload\n const folderID = payload.config.folders\n ? parseDocumentID({\n id: folderIDParam,\n collectionSlug: payload.config.folders.slug,\n payload,\n })\n : undefined\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n browseByFolderSlugs,\n clientConfig,\n documentSubViewType,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n ...serverProps,\n clientConfig,\n docID: initPageResult?.docID,\n folderID,\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <React.Fragment>\n {!templateType && <React.Fragment>{RenderedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={initPageResult?.collectionConfig?.slug}\n docID={initPageResult?.docID}\n documentSubViewType={documentSubViewType}\n globalSlug={initPageResult?.globalConfig?.slug}\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n req={initPageResult?.req}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n viewActions={serverProps.viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["RenderServerComponent","getClientConfig","notFound","redirect","parseDocumentID","formatAdminURL","React","DefaultTemplate","MinimalTemplate","initPage","getCustomViewByRoute","getRouteData","RootPage","config","configPromise","importMap","params","paramsPromise","searchParams","searchParamsPromise","admin","routes","createFirstUser","_createFirstUserRoute","user","userSlug","adminRoute","currentRoute","path","Array","isArray","segments","join","length","viewKey","browseByFolderSlugs","DefaultView","documentSubViewType","folderID","folderIDParam","initPageOptions","serverProps","templateClassName","templateType","viewType","initPageResult","dbHasUser","req","payload","db","findOne","collection","then","doc","Component","payloadComponent","redirectTo","createFirstUserRoute","collectionConfig","collections","find","slug","disableLocalStrategy","auth","clientConfig","i18n","folders","id","collectionSlug","undefined","RenderedView","clientProps","Fallback","docID","_jsxs","Fragment","_jsx","className","globalSlug","globalConfig","locale","permissions","viewActions","visibleEntities","globals"],"sources":["../../../src/views/Root/index.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { Metadata } from 'next'\n\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { notFound, redirect } from 'next/navigation.js'\nimport {\n type AdminViewClientProps,\n type AdminViewServerPropsOnly,\n type ImportMap,\n parseDocumentID,\n type SanitizedConfig,\n} from 'payload'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport { DefaultTemplate } from '../../templates/Default/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { initPage } from '../../utilities/initPage/index.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getRouteData } from './getRouteData.js'\n\nexport type GenerateViewMetadata = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n isEditing?: boolean\n params?: { [key: string]: string | string[] }\n}) => Promise<Metadata>\n\nexport const RootPage = async ({\n config: configPromise,\n importMap,\n params: paramsPromise,\n searchParams: searchParamsPromise,\n}: {\n readonly config: Promise<SanitizedConfig>\n readonly importMap: ImportMap\n readonly params: Promise<{\n segments: string[]\n }>\n readonly searchParams: Promise<{\n [key: string]: string | string[]\n }>\n}) => {\n const config = await configPromise\n\n const {\n admin: {\n routes: { createFirstUser: _createFirstUserRoute },\n user: userSlug,\n },\n routes: { admin: adminRoute },\n } = config\n\n const params = await paramsPromise\n\n const currentRoute = formatAdminURL({\n adminRoute,\n path: Array.isArray(params.segments) ? `/${params.segments.join('/')}` : null,\n })\n\n const segments = Array.isArray(params.segments) ? params.segments : []\n\n const searchParams = await searchParamsPromise\n\n // Redirect `${adminRoute}/collections` to `${adminRoute}`\n if (segments.length === 1 && segments[0] === 'collections') {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/collections',\n })\n\n // Only redirect if there's NO custom view configured for /collections\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n // Redirect `${adminRoute}/globals` to `${adminRoute}`\n if (segments.length === 1 && segments[0] === 'globals') {\n const { viewKey } = getCustomViewByRoute({\n config,\n currentRoute: '/globals',\n })\n\n // Only redirect if there's NO custom view configured for /globals\n if (!viewKey) {\n redirect(adminRoute)\n }\n }\n\n const {\n browseByFolderSlugs,\n DefaultView,\n documentSubViewType,\n folderID: folderIDParam,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewType,\n } = getRouteData({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n })\n\n const initPageResult = await initPage(initPageOptions)\n\n const dbHasUser =\n initPageResult.req.user ||\n (await initPageResult?.req.payload.db\n .findOne({\n collection: userSlug,\n req: initPageResult?.req,\n })\n ?.then((doc) => !!doc))\n\n /**\n * This function is responsible for handling the case where the view is not found.\n * The current route did not match any default views or custom route views.\n */\n if (!DefaultView?.Component && !DefaultView?.payloadComponent) {\n if (initPageResult?.req?.user) {\n notFound()\n }\n\n if (dbHasUser) {\n redirect(adminRoute)\n }\n }\n\n if (typeof initPageResult?.redirectTo === 'string') {\n redirect(initPageResult.redirectTo)\n }\n\n if (initPageResult) {\n const createFirstUserRoute = formatAdminURL({ adminRoute, path: _createFirstUserRoute })\n\n const collectionConfig = config.collections.find(({ slug }) => slug === userSlug)\n const disableLocalStrategy = collectionConfig?.auth?.disableLocalStrategy\n\n if (disableLocalStrategy && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n\n if (!dbHasUser && currentRoute !== createFirstUserRoute && !disableLocalStrategy) {\n redirect(createFirstUserRoute)\n }\n\n if (dbHasUser && currentRoute === createFirstUserRoute) {\n redirect(adminRoute)\n }\n }\n\n if (!DefaultView?.Component && !DefaultView?.payloadComponent && !dbHasUser) {\n redirect(adminRoute)\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n: initPageResult?.req.i18n,\n importMap,\n })\n\n const payload = initPageResult?.req.payload\n const folderID = payload.config.folders\n ? parseDocumentID({\n id: folderIDParam,\n collectionSlug: payload.config.folders.slug,\n payload,\n })\n : undefined\n\n const RenderedView = RenderServerComponent({\n clientProps: {\n browseByFolderSlugs,\n clientConfig,\n documentSubViewType,\n viewType,\n } satisfies AdminViewClientProps,\n Component: DefaultView.payloadComponent,\n Fallback: DefaultView.Component,\n importMap,\n serverProps: {\n ...serverProps,\n clientConfig,\n docID: initPageResult?.docID,\n folderID,\n i18n: initPageResult?.req.i18n,\n importMap,\n initPageResult,\n params,\n payload: initPageResult?.req.payload,\n searchParams,\n } satisfies AdminViewServerPropsOnly,\n })\n\n return (\n <React.Fragment>\n {!templateType && <React.Fragment>{RenderedView}</React.Fragment>}\n {templateType === 'minimal' && (\n <MinimalTemplate className={templateClassName}>{RenderedView}</MinimalTemplate>\n )}\n {templateType === 'default' && (\n <DefaultTemplate\n collectionSlug={initPageResult?.collectionConfig?.slug}\n docID={initPageResult?.docID}\n documentSubViewType={documentSubViewType}\n globalSlug={initPageResult?.globalConfig?.slug}\n i18n={initPageResult?.req.i18n}\n locale={initPageResult?.locale}\n params={params}\n payload={initPageResult?.req.payload}\n permissions={initPageResult?.permissions}\n req={initPageResult?.req}\n searchParams={searchParams}\n user={initPageResult?.req.user}\n viewActions={serverProps.viewActions}\n viewType={viewType}\n visibleEntities={{\n // The reason we are not passing in initPageResult.visibleEntities directly is due to a \"Cannot assign to read only property of object '#<Object>\" error introduced in React 19\n // which this caused as soon as initPageResult.visibleEntities is passed in\n collections: initPageResult?.visibleEntities?.collections,\n globals: initPageResult?.visibleEntities?.globals,\n }}\n >\n {RenderedView}\n </DefaultTemplate>\n )}\n </React.Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/next",
|
|
3
|
-
"version": "3.47.0
|
|
3
|
+
"version": "3.47.0",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -87,9 +87,9 @@
|
|
|
87
87
|
"qs-esm": "7.0.2",
|
|
88
88
|
"sass": "1.77.4",
|
|
89
89
|
"uuid": "10.0.0",
|
|
90
|
-
"@payloadcms/graphql": "3.47.0
|
|
91
|
-
"@payloadcms/ui": "3.47.0
|
|
92
|
-
"@payloadcms/translations": "3.47.0
|
|
90
|
+
"@payloadcms/graphql": "3.47.0",
|
|
91
|
+
"@payloadcms/ui": "3.47.0",
|
|
92
|
+
"@payloadcms/translations": "3.47.0"
|
|
93
93
|
},
|
|
94
94
|
"devDependencies": {
|
|
95
95
|
"@babel/cli": "7.27.2",
|
|
@@ -106,13 +106,13 @@
|
|
|
106
106
|
"esbuild": "0.25.5",
|
|
107
107
|
"esbuild-sass-plugin": "3.3.1",
|
|
108
108
|
"swc-plugin-transform-remove-imports": "4.0.4",
|
|
109
|
-
"
|
|
110
|
-
"
|
|
109
|
+
"payload": "3.47.0",
|
|
110
|
+
"@payloadcms/eslint-config": "3.28.0"
|
|
111
111
|
},
|
|
112
112
|
"peerDependencies": {
|
|
113
113
|
"graphql": "^16.8.1",
|
|
114
114
|
"next": "^15.2.3",
|
|
115
|
-
"payload": "3.47.0
|
|
115
|
+
"payload": "3.47.0"
|
|
116
116
|
},
|
|
117
117
|
"engines": {
|
|
118
118
|
"node": "^18.20.2 || >=20.9.0"
|