@payloadcms/next 3.53.0-internal.2dadf5b → 3.53.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.
@@ -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,6PAgBxB;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,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,EAAE,gCAAgC,CAAA;CAC5C,GAAG,oBAAoB,KAAG,OAAO,CAAC;IACjC,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAkWA,CAAA;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,+QAezD"}
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,6PAgBxB;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,oBAAoB,CAAC,EAAE,OAAO,CAAA;IACvC,QAAQ,CAAC,EAAE,gCAAgC,CAAA;CAC5C,GAAG,oBAAoB,KAAG,OAAO,CAAC;IACjC,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAmWA,CAAA;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,+QAezD"}
@@ -252,6 +252,7 @@ export const renderDocument = async ({
252
252
  }
253
253
  }
254
254
  const documentSlots = renderDocumentSlots({
255
+ id,
255
256
  collectionConfig,
256
257
  globalConfig,
257
258
  hasSavePermission,
@@ -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","redirectAfterRestore","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","isTrashedDoc","deletedAt","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","currentEditor","isLocked","lastUpdateTime","entityPreferences","Promise","all","data","collection","operation","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","code","fallbackLocale","readOnly","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","isTrashed","_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 redirectAfterRestore,\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 readonly redirectAfterRestore?: 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 !idFromArgs && !globalSlug\n ? initialData || null\n : await getDocumentData({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n req,\n segments,\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 isTrashedDoc = typeof doc?.deletedAt === 'string'\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 readOnly: isTrashedDoc,\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 isTrashed={isTrashedDoc}\n key={locale?.code}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n redirectAfterCreate={redirectAfterCreate}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n redirectAfterRestore={redirectAfterRestore}\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 permissions={permissions}\n req={req}\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","redirectAfterRestore","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","isTrashedDoc","deletedAt","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","currentEditor","isLocked","lastUpdateTime","entityPreferences","Promise","all","data","collection","operation","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","code","fallbackLocale","readOnly","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","isTrashed","_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 redirectAfterRestore,\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 readonly redirectAfterRestore?: 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 !idFromArgs && !globalSlug\n ? initialData || null\n : await getDocumentData({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n req,\n segments,\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 isTrashedDoc = typeof doc?.deletedAt === 'string'\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 readOnly: isTrashedDoc,\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 id,\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 isTrashed={isTrashedDoc}\n key={locale?.code}\n lastUpdateTime={lastUpdateTime}\n mostRecentVersionIsAutosaved={mostRecentVersionIsAutosaved}\n redirectAfterCreate={redirectAfterCreate}\n redirectAfterDelete={redirectAfterDelete}\n redirectAfterDuplicate={redirectAfterDuplicate}\n redirectAfterRestore={redirectAfterRestore}\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 permissions={permissions}\n req={req}\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":[]}
@@ -3,10 +3,12 @@ export declare const renderDocumentSlots: (args: {
3
3
  collectionConfig?: SanitizedCollectionConfig;
4
4
  globalConfig?: SanitizedGlobalConfig;
5
5
  hasSavePermission: boolean;
6
+ id?: number | string;
6
7
  permissions: SanitizedDocumentPermissions;
7
8
  req: PayloadRequest;
8
9
  }) => DocumentSlots;
9
10
  export declare const renderDocumentSlotsHandler: ServerFunction<{
10
11
  collectionSlug: string;
12
+ id?: number | string;
11
13
  }>;
12
14
  //# sourceMappingURL=renderDocumentSlots.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderDocumentSlots.d.ts","sourceRoot":"","sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,aAAa,EAEb,cAAc,EAGd,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EAGrB,cAAc,EAKf,MAAM,SAAS,CAAA;AAOhB,eAAO,MAAM,mBAAmB,EAAE,CAAC,IAAI,EAAE;IACvC,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,WAAW,EAAE,4BAA4B,CAAA;IACzC,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,aA0IL,CAAA;AAED,eAAO,MAAM,0BAA0B,EAAE,cAAc,CAAC;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAuBjF,CAAA"}
1
+ {"version":3,"file":"renderDocumentSlots.d.ts","sourceRoot":"","sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EAEb,cAAc,EAGd,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EAGrB,cAAc,EAKf,MAAM,SAAS,CAAA;AAOhB,eAAO,MAAM,mBAAmB,EAAE,CAAC,IAAI,EAAE;IACvC,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,WAAW,EAAE,4BAA4B,CAAA;IACzC,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,aA2IL,CAAA;AAED,eAAO,MAAM,0BAA0B,EAAE,cAAc,CAAC;IACtD,cAAc,EAAE,MAAM,CAAA;IACtB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACrB,CAsBA,CAAA"}
@@ -3,6 +3,7 @@ import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerCompo
3
3
  import { getDocumentPermissions } from './getDocumentPermissions.js';
4
4
  export const renderDocumentSlots = args => {
5
5
  const {
6
+ id,
6
7
  collectionConfig,
7
8
  globalConfig,
8
9
  hasSavePermission,
@@ -12,6 +13,7 @@ export const renderDocumentSlots = args => {
12
13
  const unsavedDraftWithValidations = undefined;
13
14
  const isPreviewEnabled = collectionConfig?.admin?.preview || globalConfig?.admin?.preview;
14
15
  const serverProps = {
16
+ id,
15
17
  i18n: req.i18n,
16
18
  payload: req.payload,
17
19
  user: req.user
@@ -106,6 +108,7 @@ export const renderDocumentSlots = args => {
106
108
  };
107
109
  export const renderDocumentSlotsHandler = async args => {
108
110
  const {
111
+ id,
109
112
  collectionSlug,
110
113
  req
111
114
  } = args;
@@ -122,6 +125,7 @@ export const renderDocumentSlotsHandler = async args => {
122
125
  req
123
126
  });
124
127
  return renderDocumentSlots({
128
+ id,
125
129
  collectionConfig,
126
130
  hasSavePermission,
127
131
  permissions: docPermissions,
@@ -1 +1 @@
1
- {"version":3,"file":"renderDocumentSlots.js","names":["ViewDescription","RenderServerComponent","getDocumentPermissions","renderDocumentSlots","args","collectionConfig","globalConfig","hasSavePermission","req","components","unsavedDraftWithValidations","undefined","isPreviewEnabled","admin","preview","serverProps","i18n","payload","user","BeforeDocumentControls","edit","beforeDocumentControls","elements","Component","importMap","EditMenuItems","editMenuItems","CustomPreviewButton","PreviewButton","descriptionFromConfig","description","staticDescription","t","CustomDescription","Description","hasDescription","clientProps","collectionSlug","slug","Fallback","versions","drafts","CustomPublishButton","PublishButton","CustomSaveDraftButton","SaveDraftButton","draftsEnabled","autosave","CustomSaveButton","SaveButton","upload","Upload","controls","UploadControls","renderDocumentSlotsHandler","collections","config","Error","docPermissions","data","permissions"],"sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"sourcesContent":["import type {\n BeforeDocumentControlsServerPropsOnly,\n DefaultServerFunctionArgs,\n DocumentSlots,\n EditMenuItemsServerPropsOnly,\n PayloadRequest,\n PreviewButtonServerPropsOnly,\n PublishButtonServerPropsOnly,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n SaveButtonServerPropsOnly,\n SaveDraftButtonServerPropsOnly,\n ServerFunction,\n ServerProps,\n StaticDescription,\n ViewDescriptionClientProps,\n ViewDescriptionServerPropsOnly,\n} from 'payload'\n\nimport { ViewDescription } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\n\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\n\nexport const renderDocumentSlots: (args: {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n hasSavePermission: boolean\n permissions: SanitizedDocumentPermissions\n req: PayloadRequest\n}) => DocumentSlots = (args) => {\n const { collectionConfig, globalConfig, hasSavePermission, req } = args\n\n const components: DocumentSlots = {} as DocumentSlots\n\n const unsavedDraftWithValidations = undefined\n\n const isPreviewEnabled = collectionConfig?.admin?.preview || globalConfig?.admin?.preview\n\n const serverProps: ServerProps = {\n i18n: req.i18n,\n payload: req.payload,\n user: req.user,\n // TODO: Add remaining serverProps\n }\n\n const BeforeDocumentControls =\n collectionConfig?.admin?.components?.edit?.beforeDocumentControls ||\n globalConfig?.admin?.components?.elements?.beforeDocumentControls\n\n if (BeforeDocumentControls) {\n components.BeforeDocumentControls = RenderServerComponent({\n Component: BeforeDocumentControls,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies BeforeDocumentControlsServerPropsOnly,\n })\n }\n\n const EditMenuItems = collectionConfig?.admin?.components?.edit?.editMenuItems\n\n if (EditMenuItems) {\n components.EditMenuItems = RenderServerComponent({\n Component: EditMenuItems,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies EditMenuItemsServerPropsOnly,\n })\n }\n\n const CustomPreviewButton =\n collectionConfig?.admin?.components?.edit?.PreviewButton ||\n globalConfig?.admin?.components?.elements?.PreviewButton\n\n if (isPreviewEnabled && CustomPreviewButton) {\n components.PreviewButton = RenderServerComponent({\n Component: CustomPreviewButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PreviewButtonServerPropsOnly,\n })\n }\n\n const descriptionFromConfig =\n collectionConfig?.admin?.description || globalConfig?.admin?.description\n\n const staticDescription: StaticDescription =\n typeof descriptionFromConfig === 'function'\n ? descriptionFromConfig({ t: req.i18n.t })\n : descriptionFromConfig\n\n const CustomDescription =\n collectionConfig?.admin?.components?.Description ||\n globalConfig?.admin?.components?.elements?.Description\n\n const hasDescription = CustomDescription || staticDescription\n\n if (hasDescription) {\n components.Description = RenderServerComponent({\n clientProps: {\n collectionSlug: collectionConfig?.slug,\n description: staticDescription,\n } satisfies ViewDescriptionClientProps,\n Component: CustomDescription,\n Fallback: ViewDescription,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies ViewDescriptionServerPropsOnly,\n })\n }\n\n if (hasSavePermission) {\n if (collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) {\n const CustomPublishButton =\n collectionConfig?.admin?.components?.edit?.PublishButton ||\n globalConfig?.admin?.components?.elements?.PublishButton\n\n if (CustomPublishButton) {\n components.PublishButton = RenderServerComponent({\n Component: CustomPublishButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PublishButtonServerPropsOnly,\n })\n }\n\n const CustomSaveDraftButton =\n collectionConfig?.admin?.components?.edit?.SaveDraftButton ||\n globalConfig?.admin?.components?.elements?.SaveDraftButton\n\n const draftsEnabled =\n (collectionConfig?.versions?.drafts && !collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && !globalConfig?.versions?.drafts?.autosave)\n\n if ((draftsEnabled || unsavedDraftWithValidations) && CustomSaveDraftButton) {\n components.SaveDraftButton = RenderServerComponent({\n Component: CustomSaveDraftButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveDraftButtonServerPropsOnly,\n })\n }\n } else {\n const CustomSaveButton =\n collectionConfig?.admin?.components?.edit?.SaveButton ||\n globalConfig?.admin?.components?.elements?.SaveButton\n\n if (CustomSaveButton) {\n components.SaveButton = RenderServerComponent({\n Component: CustomSaveButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveButtonServerPropsOnly,\n })\n }\n }\n }\n\n if (collectionConfig?.upload && collectionConfig?.admin?.components?.edit?.Upload) {\n components.Upload = RenderServerComponent({\n Component: collectionConfig.admin.components.edit.Upload,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n if (collectionConfig?.upload && collectionConfig.upload.admin?.components?.controls) {\n components.UploadControls = RenderServerComponent({\n Component: collectionConfig.upload.admin.components.controls,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n return components\n}\n\nexport const renderDocumentSlotsHandler: ServerFunction<{ collectionSlug: string }> = async (\n args,\n) => {\n const { collectionSlug, req } = args\n\n const collectionConfig = req.payload.collections[collectionSlug]?.config\n\n if (!collectionConfig) {\n throw new Error(req.t('error:incorrectCollection'))\n }\n\n const { docPermissions, hasSavePermission } = await getDocumentPermissions({\n collectionConfig,\n data: {},\n req,\n })\n\n return renderDocumentSlots({\n collectionConfig,\n hasSavePermission,\n permissions: docPermissions,\n req,\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"renderDocumentSlots.js","names":["ViewDescription","RenderServerComponent","getDocumentPermissions","renderDocumentSlots","args","id","collectionConfig","globalConfig","hasSavePermission","req","components","unsavedDraftWithValidations","undefined","isPreviewEnabled","admin","preview","serverProps","i18n","payload","user","BeforeDocumentControls","edit","beforeDocumentControls","elements","Component","importMap","EditMenuItems","editMenuItems","CustomPreviewButton","PreviewButton","descriptionFromConfig","description","staticDescription","t","CustomDescription","Description","hasDescription","clientProps","collectionSlug","slug","Fallback","versions","drafts","CustomPublishButton","PublishButton","CustomSaveDraftButton","SaveDraftButton","draftsEnabled","autosave","CustomSaveButton","SaveButton","upload","Upload","controls","UploadControls","renderDocumentSlotsHandler","collections","config","Error","docPermissions","data","permissions"],"sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"sourcesContent":["import type {\n BeforeDocumentControlsServerPropsOnly,\n DocumentSlots,\n EditMenuItemsServerPropsOnly,\n PayloadRequest,\n PreviewButtonServerPropsOnly,\n PublishButtonServerPropsOnly,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n SaveButtonServerPropsOnly,\n SaveDraftButtonServerPropsOnly,\n ServerFunction,\n ServerProps,\n StaticDescription,\n ViewDescriptionClientProps,\n ViewDescriptionServerPropsOnly,\n} from 'payload'\n\nimport { ViewDescription } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\n\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\n\nexport const renderDocumentSlots: (args: {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n hasSavePermission: boolean\n id?: number | string\n permissions: SanitizedDocumentPermissions\n req: PayloadRequest\n}) => DocumentSlots = (args) => {\n const { id, collectionConfig, globalConfig, hasSavePermission, req } = args\n\n const components: DocumentSlots = {} as DocumentSlots\n\n const unsavedDraftWithValidations = undefined\n\n const isPreviewEnabled = collectionConfig?.admin?.preview || globalConfig?.admin?.preview\n\n const serverProps: ServerProps = {\n id,\n i18n: req.i18n,\n payload: req.payload,\n user: req.user,\n // TODO: Add remaining serverProps\n }\n\n const BeforeDocumentControls =\n collectionConfig?.admin?.components?.edit?.beforeDocumentControls ||\n globalConfig?.admin?.components?.elements?.beforeDocumentControls\n\n if (BeforeDocumentControls) {\n components.BeforeDocumentControls = RenderServerComponent({\n Component: BeforeDocumentControls,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies BeforeDocumentControlsServerPropsOnly,\n })\n }\n\n const EditMenuItems = collectionConfig?.admin?.components?.edit?.editMenuItems\n\n if (EditMenuItems) {\n components.EditMenuItems = RenderServerComponent({\n Component: EditMenuItems,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies EditMenuItemsServerPropsOnly,\n })\n }\n\n const CustomPreviewButton =\n collectionConfig?.admin?.components?.edit?.PreviewButton ||\n globalConfig?.admin?.components?.elements?.PreviewButton\n\n if (isPreviewEnabled && CustomPreviewButton) {\n components.PreviewButton = RenderServerComponent({\n Component: CustomPreviewButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PreviewButtonServerPropsOnly,\n })\n }\n\n const descriptionFromConfig =\n collectionConfig?.admin?.description || globalConfig?.admin?.description\n\n const staticDescription: StaticDescription =\n typeof descriptionFromConfig === 'function'\n ? descriptionFromConfig({ t: req.i18n.t })\n : descriptionFromConfig\n\n const CustomDescription =\n collectionConfig?.admin?.components?.Description ||\n globalConfig?.admin?.components?.elements?.Description\n\n const hasDescription = CustomDescription || staticDescription\n\n if (hasDescription) {\n components.Description = RenderServerComponent({\n clientProps: {\n collectionSlug: collectionConfig?.slug,\n description: staticDescription,\n } satisfies ViewDescriptionClientProps,\n Component: CustomDescription,\n Fallback: ViewDescription,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies ViewDescriptionServerPropsOnly,\n })\n }\n\n if (hasSavePermission) {\n if (collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) {\n const CustomPublishButton =\n collectionConfig?.admin?.components?.edit?.PublishButton ||\n globalConfig?.admin?.components?.elements?.PublishButton\n\n if (CustomPublishButton) {\n components.PublishButton = RenderServerComponent({\n Component: CustomPublishButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PublishButtonServerPropsOnly,\n })\n }\n\n const CustomSaveDraftButton =\n collectionConfig?.admin?.components?.edit?.SaveDraftButton ||\n globalConfig?.admin?.components?.elements?.SaveDraftButton\n\n const draftsEnabled =\n (collectionConfig?.versions?.drafts && !collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && !globalConfig?.versions?.drafts?.autosave)\n\n if ((draftsEnabled || unsavedDraftWithValidations) && CustomSaveDraftButton) {\n components.SaveDraftButton = RenderServerComponent({\n Component: CustomSaveDraftButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveDraftButtonServerPropsOnly,\n })\n }\n } else {\n const CustomSaveButton =\n collectionConfig?.admin?.components?.edit?.SaveButton ||\n globalConfig?.admin?.components?.elements?.SaveButton\n\n if (CustomSaveButton) {\n components.SaveButton = RenderServerComponent({\n Component: CustomSaveButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveButtonServerPropsOnly,\n })\n }\n }\n }\n\n if (collectionConfig?.upload && collectionConfig?.admin?.components?.edit?.Upload) {\n components.Upload = RenderServerComponent({\n Component: collectionConfig.admin.components.edit.Upload,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n if (collectionConfig?.upload && collectionConfig.upload.admin?.components?.controls) {\n components.UploadControls = RenderServerComponent({\n Component: collectionConfig.upload.admin.components.controls,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n return components\n}\n\nexport const renderDocumentSlotsHandler: ServerFunction<{\n collectionSlug: string\n id?: number | string\n}> = async (args) => {\n const { id, collectionSlug, req } = args\n\n const collectionConfig = req.payload.collections[collectionSlug]?.config\n\n if (!collectionConfig) {\n throw new Error(req.t('error:incorrectCollection'))\n }\n\n const { docPermissions, hasSavePermission } = await getDocumentPermissions({\n collectionConfig,\n data: {},\n req,\n })\n\n return renderDocumentSlots({\n id,\n collectionConfig,\n hasSavePermission,\n permissions: docPermissions,\n req,\n })\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"LogoutClient.d.ts","sourceRoot":"","sources":["../../../src/views/Logout/LogoutClient.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAExC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAyDA,CAAA"}
1
+ {"version":3,"file":"LogoutClient.d.ts","sourceRoot":"","sources":["../../../src/views/Logout/LogoutClient.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAExC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB,CA2DA,CAAA"}
@@ -21,34 +21,36 @@ export const LogoutClient = props => {
21
21
  const {
22
22
  startRouteTransition
23
23
  } = useRouteTransition();
24
- const [isLoggedOut, setIsLoggedOut] = React.useState(!user);
25
- const logOutSuccessRef = React.useRef(false);
24
+ user?.id;
26
25
  let t0;
26
+ t0 = Boolean(user?.id);
27
+ const isLoggedIn = t0;
28
+ const navigatingToLoginRef = React.useRef(false);
29
+ let t1;
27
30
  if ($[0] !== adminRoute || $[1] !== inactivity || $[2] !== redirect) {
28
- t0 = () => formatAdminURL({
31
+ t1 = () => formatAdminURL({
29
32
  adminRoute,
30
33
  path: `/login${inactivity && redirect && redirect.length > 0 ? `?redirect=${encodeURIComponent(redirect)}` : ""}`
31
34
  });
32
35
  $[0] = adminRoute;
33
36
  $[1] = inactivity;
34
37
  $[2] = redirect;
35
- $[3] = t0;
38
+ $[3] = t1;
36
39
  } else {
37
- t0 = $[3];
40
+ t1 = $[3];
38
41
  }
39
- const [loginRoute] = React.useState(t0);
42
+ const [loginRoute] = React.useState(t1);
40
43
  const {
41
44
  t
42
45
  } = useTranslation();
43
46
  const router = useRouter();
44
- let t1;
47
+ let t2;
45
48
  if ($[4] !== inactivity || $[5] !== logOut || $[6] !== loginRoute || $[7] !== router || $[8] !== startRouteTransition || $[9] !== t) {
46
- t1 = async () => {
47
- const loggedOut = await logOut();
48
- setIsLoggedOut(loggedOut);
49
- if (!inactivity && loggedOut && !logOutSuccessRef.current) {
49
+ t2 = async () => {
50
+ await logOut();
51
+ if (!inactivity && !navigatingToLoginRef.current) {
50
52
  toast.success(t("authentication:loggedOutSuccessfully"));
51
- logOutSuccessRef.current = true;
53
+ navigatingToLoginRef.current = true;
52
54
  startRouteTransition(() => router.push(loginRoute));
53
55
  return;
54
56
  }
@@ -59,38 +61,41 @@ export const LogoutClient = props => {
59
61
  $[7] = router;
60
62
  $[8] = startRouteTransition;
61
63
  $[9] = t;
62
- $[10] = t1;
64
+ $[10] = t2;
63
65
  } else {
64
- t1 = $[10];
66
+ t2 = $[10];
65
67
  }
66
- const handleLogOut = t1;
67
- let t2;
68
+ const handleLogOut = t2;
68
69
  let t3;
69
- if ($[11] !== handleLogOut || $[12] !== isLoggedOut || $[13] !== loginRoute || $[14] !== router || $[15] !== startRouteTransition) {
70
- t2 = () => {
71
- if (!isLoggedOut) {
70
+ let t4;
71
+ if ($[11] !== handleLogOut || $[12] !== isLoggedIn || $[13] !== loginRoute || $[14] !== router || $[15] !== startRouteTransition) {
72
+ t3 = () => {
73
+ if (isLoggedIn) {
72
74
  handleLogOut();
73
75
  } else {
74
- startRouteTransition(() => router.push(loginRoute));
76
+ if (!navigatingToLoginRef.current) {
77
+ navigatingToLoginRef.current = true;
78
+ startRouteTransition(() => router.push(loginRoute));
79
+ }
75
80
  }
76
81
  };
77
- t3 = [handleLogOut, isLoggedOut, loginRoute, router, startRouteTransition];
82
+ t4 = [handleLogOut, isLoggedIn, loginRoute, router, startRouteTransition];
78
83
  $[11] = handleLogOut;
79
- $[12] = isLoggedOut;
84
+ $[12] = isLoggedIn;
80
85
  $[13] = loginRoute;
81
86
  $[14] = router;
82
87
  $[15] = startRouteTransition;
83
- $[16] = t2;
84
- $[17] = t3;
88
+ $[16] = t3;
89
+ $[17] = t4;
85
90
  } else {
86
- t2 = $[16];
87
- t3 = $[17];
91
+ t3 = $[16];
92
+ t4 = $[17];
88
93
  }
89
- useEffect(t2, t3);
90
- if (isLoggedOut && inactivity) {
91
- let t4;
94
+ useEffect(t3, t4);
95
+ if (!isLoggedIn && inactivity) {
96
+ let t5;
92
97
  if ($[18] !== loginRoute || $[19] !== t) {
93
- t4 = _jsxs("div", {
98
+ t5 = _jsxs("div", {
94
99
  className: `${baseClass}__wrap`,
95
100
  children: [_jsx("h2", {
96
101
  children: t("authentication:loggedOutInactivity")
@@ -104,23 +109,23 @@ export const LogoutClient = props => {
104
109
  });
105
110
  $[18] = loginRoute;
106
111
  $[19] = t;
107
- $[20] = t4;
112
+ $[20] = t5;
108
113
  } else {
109
- t4 = $[20];
114
+ t5 = $[20];
110
115
  }
111
- return t4;
116
+ return t5;
112
117
  }
113
- let t4;
118
+ let t5;
114
119
  if ($[21] !== t) {
115
- t4 = _jsx(LoadingOverlay, {
120
+ t5 = _jsx(LoadingOverlay, {
116
121
  animationDuration: "0ms",
117
122
  loadingText: t("authentication:loggingOut")
118
123
  });
119
124
  $[21] = t;
120
- $[22] = t4;
125
+ $[22] = t5;
121
126
  } else {
122
- t4 = $[22];
127
+ t5 = $[22];
123
128
  }
124
- return t4;
129
+ return t5;
125
130
  };
126
131
  //# sourceMappingURL=LogoutClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogoutClient.js","names":["c","_c","Button","LoadingOverlay","toast","useAuth","useRouteTransition","useTranslation","useRouter","formatAdminURL","React","useEffect","baseClass","LogoutClient","props","$","adminRoute","inactivity","redirect","logOut","user","startRouteTransition","isLoggedOut","setIsLoggedOut","useState","logOutSuccessRef","useRef","t0","path","length","encodeURIComponent","loginRoute","t","router","t1","loggedOut","current","success","push","handleLogOut","t2","t3","t4","_jsxs","className","children","_jsx","buttonStyle","el","size","url","animationDuration","loadingText"],"sources":["../../../src/views/Logout/LogoutClient.tsx"],"sourcesContent":["'use client'\nimport {\n Button,\n LoadingOverlay,\n toast,\n useAuth,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useEffect } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'logout'\n\nexport const LogoutClient: React.FC<{\n adminRoute: string\n inactivity?: boolean\n redirect: string\n}> = (props) => {\n const { adminRoute, inactivity, redirect } = props\n\n const { logOut, user } = useAuth()\n\n const { startRouteTransition } = useRouteTransition()\n\n const [isLoggedOut, setIsLoggedOut] = React.useState<boolean>(!user)\n\n const logOutSuccessRef = React.useRef(false)\n\n const [loginRoute] = React.useState(() =>\n formatAdminURL({\n adminRoute,\n path: `/login${\n inactivity && redirect && redirect.length > 0\n ? `?redirect=${encodeURIComponent(redirect)}`\n : ''\n }`,\n }),\n )\n\n const { t } = useTranslation()\n const router = useRouter()\n\n const handleLogOut = React.useCallback(async () => {\n const loggedOut = await logOut()\n setIsLoggedOut(loggedOut)\n\n if (!inactivity && loggedOut && !logOutSuccessRef.current) {\n toast.success(t('authentication:loggedOutSuccessfully'))\n logOutSuccessRef.current = true\n startRouteTransition(() => router.push(loginRoute))\n return\n }\n }, [inactivity, logOut, loginRoute, router, startRouteTransition, t])\n\n useEffect(() => {\n if (!isLoggedOut) {\n void handleLogOut()\n } else {\n startRouteTransition(() => router.push(loginRoute))\n }\n }, [handleLogOut, isLoggedOut, loginRoute, router, startRouteTransition])\n\n if (isLoggedOut && inactivity) {\n return (\n <div className={`${baseClass}__wrap`}>\n <h2>{t('authentication:loggedOutInactivity')}</h2>\n <Button buttonStyle=\"secondary\" el=\"link\" size=\"large\" url={loginRoute}>\n {t('authentication:logBackIn')}\n </Button>\n </div>\n )\n }\n\n return <LoadingOverlay animationDuration={'0ms'} loadingText={t('authentication:loggingOut')} />\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,SACEC,MAAM,EACNC,cAAc,EACdC,KAAK,EACLC,OAAO,EACPC,kBAAkB,EAClBC,cAAc,QACT;AACP,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,SAAS,QAAQ;AAIjC,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,YAAA,GAIRC,KAAA;EAAA,MAAAC,CAAA,GAAAd,EAAA;EACH;IAAAe,UAAA;IAAAC,UAAA;IAAAC;EAAA,IAA6CJ,KAAA;EAE7C;IAAAK,MAAA;IAAAC;EAAA,IAAyBf,OAAA;EAEzB;IAAAgB;EAAA,IAAiCf,kBAAA;EAEjC,OAAAgB,WAAA,EAAAC,cAAA,IAAsCb,KAAA,CAAAc,QAAA,EAAyBJ,IAAA;EAE/D,MAAAK,gBAAA,GAAyBf,KAAA,CAAAgB,MAAA,MAAa;EAAA,IAAAC,EAAA;EAAA,IAAAZ,CAAA,QAAAC,UAAA,IAAAD,CAAA,QAAAE,UAAA,IAAAF,CAAA,QAAAG,QAAA;IAEFS,EAAA,GAAAA,CAAA,KAClClB,cAAA;MAAAO,UAAA;MAAAY,IAAA,EAEQ,SACJX,UAAA,IAAcC,QAAA,IAAYA,QAAA,CAAAW,MAAA,IAAkB,GACxC,aAAaC,kBAAA,CAAmBZ,QAAA,GAAW,GAC3C;IACJ,CACJ;IAAAH,CAAA,MAAAC,UAAA;IAAAD,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAG,QAAA;IAAAH,CAAA,MAAAY,EAAA;EAAA;IAAAA,EAAA,GAAAZ,CAAA;EAAA;EARF,OAAAgB,UAAA,IAAqBrB,KAAA,CAAAc,QAAA,CAAeG,EAQlC;EAGF;IAAAK;EAAA,IAAczB,cAAA;EACd,MAAA0B,MAAA,GAAezB,SAAA;EAAA,IAAA0B,EAAA;EAAA,IAAAnB,CAAA,QAAAE,UAAA,IAAAF,CAAA,QAAAI,MAAA,IAAAJ,CAAA,QAAAgB,UAAA,IAAAhB,CAAA,QAAAkB,MAAA,IAAAlB,CAAA,QAAAM,oBAAA,IAAAN,CAAA,QAAAiB,CAAA;IAEwBE,EAAA,SAAAA,CAAA;MACrC,MAAAC,SAAA,SAAwBhB,MAAA;MACxBI,cAAA,CAAeY,SAAA;MAAA,IAEX,CAAClB,UAAA,IAAckB,SAAA,KAAcV,gBAAA,CAAAW,OAAwB;QACvDhC,KAAA,CAAAiC,OAAA,CAAcL,CAAA,CAAE;QAChBP,gBAAA,CAAAW,OAAA;QACAf,oBAAA,OAA2BY,MAAA,CAAAK,IAAA,CAAYP,UAAA;QAAA;MAAA;IAAA;IAG3ChB,CAAA,MAAAE,UAAA;IAAAF,CAAA,MAAAI,MAAA;IAAAJ,CAAA,MAAAgB,UAAA;IAAAhB,CAAA,MAAAkB,MAAA;IAAAlB,CAAA,MAAAM,oBAAA;IAAAN,CAAA,MAAAiB,CAAA;IAAAjB,CAAA,OAAAmB,EAAA;EAAA;IAAAA,EAAA,GAAAnB,CAAA;EAAA;EAVA,MAAAwB,YAAA,GAAqBL,EAU+C;EAAA,IAAAM,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAA1B,CAAA,SAAAwB,YAAA,IAAAxB,CAAA,SAAAO,WAAA,IAAAP,CAAA,SAAAgB,UAAA,IAAAhB,CAAA,SAAAkB,MAAA,IAAAlB,CAAA,SAAAM,oBAAA;IAE1DmB,EAAA,GAAAA,CAAA;MAAA,KACHlB,WAAA;QACEiB,YAAA;MAAA;QAELlB,oBAAA,OAA2BY,MAAA,CAAAK,IAAA,CAAYP,UAAA;MAAA;IAAA;IAExCU,EAAA,IAACF,YAAA,EAAcjB,WAAA,EAAaS,UAAA,EAAYE,MAAA,EAAQZ,oBAAA;IAAqBN,CAAA,OAAAwB,YAAA;IAAAxB,CAAA,OAAAO,WAAA;IAAAP,CAAA,OAAAgB,UAAA;IAAAhB,CAAA,OAAAkB,MAAA;IAAAlB,CAAA,OAAAM,oBAAA;IAAAN,CAAA,OAAAyB,EAAA;IAAAzB,CAAA,OAAA0B,EAAA;EAAA;IAAAD,EAAA,GAAAzB,CAAA;IAAA0B,EAAA,GAAA1B,CAAA;EAAA;EANxEJ,SAAA,CAAU6B,EAMV,EAAGC,EAAqE;EAAA,IAEpEnB,WAAA,IAAeL,UAAA;IAAA,IAAAyB,EAAA;IAAA,IAAA3B,CAAA,SAAAgB,UAAA,IAAAhB,CAAA,SAAAiB,CAAA;MAEfU,EAAA,GAAAC,KAAA,CAAC;QAAAC,SAAA,EAAe,GAAAhC,SAAA,QAAoB;QAAAiC,QAAA,GAClCC,IAAA,CAAC;UAAAD,QAAA,EAAIb,CAAA,CAAE;QAAA,C,GACPc,IAAA,CAAA5C,MAAA;UAAA6C,WAAA,EAAoB;UAAAC,EAAA,EAAe;UAAAC,IAAA,EAAY;UAAAC,GAAA,EAAanB,UAAA;UAAAc,QAAA,EACzDb,CAAA,CAAE;QAAA,C;;;;;;;;WAHPU,E;;;;IASGA,EAAA,GAAAI,IAAA,CAAA3C,cAAA;MAAAgD,iBAAA,EAAmC;MAAAC,WAAA,EAAoBpB,CAAA,CAAE;IAAA,C;;;;;;SAAzDU,E;CACT","ignoreList":[]}
1
+ {"version":3,"file":"LogoutClient.js","names":["c","_c","Button","LoadingOverlay","toast","useAuth","useRouteTransition","useTranslation","useRouter","formatAdminURL","React","useEffect","baseClass","LogoutClient","props","$","adminRoute","inactivity","redirect","logOut","user","startRouteTransition","id","t0","Boolean","isLoggedIn","navigatingToLoginRef","useRef","t1","path","length","encodeURIComponent","loginRoute","useState","t","router","t2","current","success","push","handleLogOut","t3","t4","t5","_jsxs","className","children","_jsx","buttonStyle","el","size","url","animationDuration","loadingText"],"sources":["../../../src/views/Logout/LogoutClient.tsx"],"sourcesContent":["'use client'\nimport {\n Button,\n LoadingOverlay,\n toast,\n useAuth,\n useRouteTransition,\n useTranslation,\n} from '@payloadcms/ui'\nimport { useRouter } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useEffect } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'logout'\n\nexport const LogoutClient: React.FC<{\n adminRoute: string\n inactivity?: boolean\n redirect: string\n}> = (props) => {\n const { adminRoute, inactivity, redirect } = props\n\n const { logOut, user } = useAuth()\n\n const { startRouteTransition } = useRouteTransition()\n\n const isLoggedIn = React.useMemo(() => {\n return Boolean(user?.id)\n }, [user?.id])\n\n const navigatingToLoginRef = React.useRef(false)\n\n const [loginRoute] = React.useState(() =>\n formatAdminURL({\n adminRoute,\n path: `/login${\n inactivity && redirect && redirect.length > 0\n ? `?redirect=${encodeURIComponent(redirect)}`\n : ''\n }`,\n }),\n )\n\n const { t } = useTranslation()\n const router = useRouter()\n\n const handleLogOut = React.useCallback(async () => {\n await logOut()\n\n if (!inactivity && !navigatingToLoginRef.current) {\n toast.success(t('authentication:loggedOutSuccessfully'))\n navigatingToLoginRef.current = true\n startRouteTransition(() => router.push(loginRoute))\n return\n }\n }, [inactivity, logOut, loginRoute, router, startRouteTransition, t])\n\n useEffect(() => {\n if (isLoggedIn) {\n void handleLogOut()\n } else if (!navigatingToLoginRef.current) {\n navigatingToLoginRef.current = true\n startRouteTransition(() => router.push(loginRoute))\n }\n }, [handleLogOut, isLoggedIn, loginRoute, router, startRouteTransition])\n\n if (!isLoggedIn && inactivity) {\n return (\n <div className={`${baseClass}__wrap`}>\n <h2>{t('authentication:loggedOutInactivity')}</h2>\n <Button buttonStyle=\"secondary\" el=\"link\" size=\"large\" url={loginRoute}>\n {t('authentication:logBackIn')}\n </Button>\n </div>\n )\n }\n\n return <LoadingOverlay animationDuration={'0ms'} loadingText={t('authentication:loggingOut')} />\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,8 @@
1
1
  import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
2
2
  import { dequal } from 'dequal/lite';
3
3
  import { MissingEditorProp } from 'payload';
4
- import { fieldIsID, fieldShouldBeLocalized, getFieldPermissions, getUniqueListBy, tabHasName } from 'payload/shared';
4
+ import { fieldIsID, fieldShouldBeLocalized, getFieldPaths, getFieldPermissions, getUniqueListBy, tabHasName } from 'payload/shared';
5
5
  import { diffComponents } from './fields/index.js';
6
- import { getFieldPathsModified } from './utilities/getFieldPathsModified.js';
7
6
  /**
8
7
  * Build up an object that contains rendered diff components for each field.
9
8
  * This is then sent to the client to be rendered.
@@ -40,7 +39,7 @@ export const buildVersionFields = ({
40
39
  indexPath,
41
40
  path,
42
41
  schemaPath
43
- } = getFieldPathsModified({
42
+ } = getFieldPaths({
44
43
  field,
45
44
  index: fieldIndex,
46
45
  parentIndexPath,
@@ -205,7 +204,7 @@ const buildVersionField = ({
205
204
  indexPath: tabIndexPath,
206
205
  path: tabPath,
207
206
  schemaPath: tabSchemaPath
208
- } = getFieldPathsModified({
207
+ } = getFieldPaths({
209
208
  field: tabAsField,
210
209
  index: tabIndex,
211
210
  parentIndexPath: indexPath,
@@ -235,8 +234,8 @@ const buildVersionField = ({
235
234
  nestingLevel: nestingLevel + 1,
236
235
  parentIndexPath: isNamedTab ? '' : tabIndexPath,
237
236
  parentIsLocalized: parentIsLocalized || tab.localized,
238
- parentPath: isNamedTab ? tabPath : path,
239
- parentSchemaPath: isNamedTab ? tabSchemaPath : parentSchemaPath,
237
+ parentPath: isNamedTab ? tabPath : 'name' in field ? path : parentPath,
238
+ parentSchemaPath: isNamedTab ? tabSchemaPath : 'name' in field ? schemaPath : parentSchemaPath,
240
239
  req,
241
240
  selectedLocales,
242
241
  versionFromSiblingData: 'name' in tab ? valueFrom?.[tab.name] : valueFrom,
@@ -278,8 +277,8 @@ const buildVersionField = ({
278
277
  nestingLevel: nestingLevel + 1,
279
278
  parentIndexPath: 'name' in field ? '' : indexPath,
280
279
  parentIsLocalized: parentIsLocalized || field.localized,
281
- parentPath: path + '.' + i,
282
- parentSchemaPath: schemaPath,
280
+ parentPath: ('name' in field ? path : parentPath) + '.' + i,
281
+ parentSchemaPath: 'name' in field ? schemaPath : parentSchemaPath,
283
282
  req,
284
283
  selectedLocales,
285
284
  versionFromSiblingData: fromRow,
@@ -354,8 +353,8 @@ const buildVersionField = ({
354
353
  nestingLevel: nestingLevel + 1,
355
354
  parentIndexPath: 'name' in field ? '' : indexPath,
356
355
  parentIsLocalized: parentIsLocalized || 'localized' in field && field.localized,
357
- parentPath: path + '.' + i,
358
- parentSchemaPath: schemaPath + '.' + toBlock.slug,
356
+ parentPath: ('name' in field ? path : parentPath) + '.' + i,
357
+ parentSchemaPath: ('name' in field ? schemaPath : parentSchemaPath) + '.' + toBlock.slug,
359
358
  req,
360
359
  selectedLocales,
361
360
  versionFromSiblingData: fromRow,