@payloadcms/next 3.39.0-canary.7 → 3.39.0-internal.1c212c9
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/auth/login.d.ts.map +1 -1
- package/dist/auth/login.js.map +1 -1
- package/dist/auth/logout.d.ts +4 -2
- package/dist/auth/logout.d.ts.map +1 -1
- package/dist/auth/logout.js +26 -7
- package/dist/auth/logout.js.map +1 -1
- package/dist/auth/refresh.d.ts +1 -3
- package/dist/auth/refresh.d.ts.map +1 -1
- package/dist/auth/refresh.js +24 -12
- package/dist/auth/refresh.js.map +1 -1
- package/dist/cjs/withPayload.cjs +2 -2
- package/dist/cjs/withPayload.cjs.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +36 -23
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +1 -0
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +69 -10
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts +0 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +2 -2
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/Nav/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/index.client.js +28 -60
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/views/Document/index.d.ts +0 -6
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +3 -6
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/List/index.d.ts +0 -6
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +0 -6
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/LivePreview/Device/index.d.ts.map +1 -1
- package/dist/views/LivePreview/Device/index.js +0 -2
- package/dist/views/LivePreview/Device/index.js.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.d.ts +1 -1
- package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Root/{getRouteData.d.ts → getViewFromConfig.d.ts} +5 -7
- package/dist/views/Root/getViewFromConfig.d.ts.map +1 -0
- package/dist/views/Root/{getRouteData.js → getViewFromConfig.js} +24 -66
- package/dist/views/Root/getViewFromConfig.js.map +1 -0
- package/dist/views/Root/index.d.ts +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +5 -20
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Root/metadata.d.ts.map +1 -1
- package/dist/views/Root/metadata.js +24 -61
- package/dist/views/Root/metadata.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +11 -23
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +0 -2
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/withPayload.d.ts +3 -1
- package/dist/withPayload.d.ts.map +1 -1
- package/dist/withPayload.js +2 -2
- package/dist/withPayload.js.map +1 -1
- package/package.json +7 -6
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +0 -9
- package/dist/views/BrowseByFolder/buildView.d.ts +0 -13
- package/dist/views/BrowseByFolder/buildView.d.ts.map +0 -1
- package/dist/views/BrowseByFolder/buildView.js +0 -114
- package/dist/views/BrowseByFolder/buildView.js.map +0 -1
- package/dist/views/BrowseByFolder/index.d.ts +0 -4
- package/dist/views/BrowseByFolder/index.d.ts.map +0 -1
- package/dist/views/BrowseByFolder/index.js +0 -18
- package/dist/views/BrowseByFolder/index.js.map +0 -1
- package/dist/views/BrowseByFolder/metadata.d.ts +0 -4
- package/dist/views/BrowseByFolder/metadata.d.ts.map +0 -1
- package/dist/views/BrowseByFolder/metadata.js +0 -18
- package/dist/views/BrowseByFolder/metadata.js.map +0 -1
- package/dist/views/CollectionFolders/buildView.d.ts +0 -15
- package/dist/views/CollectionFolders/buildView.d.ts.map +0 -1
- package/dist/views/CollectionFolders/buildView.js +0 -163
- package/dist/views/CollectionFolders/buildView.js.map +0 -1
- package/dist/views/CollectionFolders/index.d.ts +0 -4
- package/dist/views/CollectionFolders/index.d.ts.map +0 -1
- package/dist/views/CollectionFolders/index.js +0 -18
- package/dist/views/CollectionFolders/index.js.map +0 -1
- package/dist/views/CollectionFolders/metadata.d.ts +0 -7
- package/dist/views/CollectionFolders/metadata.d.ts.map +0 -1
- package/dist/views/CollectionFolders/metadata.js +0 -25
- package/dist/views/CollectionFolders/metadata.js.map +0 -1
- package/dist/views/CollectionFolders/renderFolderViewSlots.d.ts +0 -11
- package/dist/views/CollectionFolders/renderFolderViewSlots.d.ts.map +0 -1
- package/dist/views/CollectionFolders/renderFolderViewSlots.js +0 -64
- package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +0 -1
- package/dist/views/Root/getRouteData.d.ts.map +0 -1
- package/dist/views/Root/getRouteData.js.map +0 -1
|
@@ -2,12 +2,6 @@ import type { AdminViewServerProps, Data } from 'payload';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { GenerateEditViewMetadata } from './getMetaBySegment.js';
|
|
4
4
|
export declare const generateMetadata: GenerateEditViewMetadata;
|
|
5
|
-
/**
|
|
6
|
-
* This function is responsible for rendering
|
|
7
|
-
* an Edit Document view on the server for both:
|
|
8
|
-
* - default document edit views
|
|
9
|
-
* - on-demand edit views within drawers
|
|
10
|
-
*/
|
|
11
5
|
export declare const renderDocument: ({ disableActions, documentSubViewType, drawerSlug, importMap, initialData, initPageResult, overrideEntityVisibility, params, redirectAfterCreate, redirectAfterDelete, redirectAfterDuplicate, searchParams, viewType, }: {
|
|
12
6
|
drawerSlug?: string;
|
|
13
7
|
overrideEntityVisibility?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EAKL,MAAM,SAAS,CAAA;AAShB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAcrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EAKL,MAAM,SAAS,CAAA;AAShB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAcrE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAKhG,eAAO,MAAM,cAAc,6NAcxB;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;CAC1C,GAAG,oBAAoB,KAAG,OAAO,CAAC;IACjC,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAsVA,CAAA;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,+QAezD"}
|
|
@@ -18,12 +18,9 @@ import { getVersions } from './getVersions.js';
|
|
|
18
18
|
import { getViewsFromConfig } from './getViewsFromConfig.js';
|
|
19
19
|
import { renderDocumentSlots } from './renderDocumentSlots.js';
|
|
20
20
|
export const generateMetadata = async args => getMetaBySegment(args);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
* - default document edit views
|
|
25
|
-
* - on-demand edit views within drawers
|
|
26
|
-
*/
|
|
21
|
+
// This function will be responsible for rendering an Edit Document view
|
|
22
|
+
// it will be called on the server for Edit page views as well as
|
|
23
|
+
// called on-demand from document drawers
|
|
27
24
|
export const renderDocument = async ({
|
|
28
25
|
disableActions,
|
|
29
26
|
documentSubViewType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderServerComponent","isEditing","getIsEditing","buildFormState","notFound","redirect","logError","formatAdminURL","React","DocumentHeader","NotFoundView","getDocPreferences","getDocumentData","getDocumentPermissions","getIsLocked","getMetaBySegment","getVersions","getViewsFromConfig","renderDocumentSlots","generateMetadata","args","renderDocument","disableActions","documentSubViewType","drawerSlug","importMap","initialData","initPageResult","overrideEntityVisibility","params","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","searchParams","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","RootViewOverride","CustomView","DefaultView","ErrorView","apiURL","doc","Error","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","currentEditor","isLocked","lastUpdateTime","Promise","all","data","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","code","fallbackLocale","operation","renderAllFields","schemaPath","skipValidation","documentViewServerProps","routeSegments","collections","find","visibleSlug","URLSearchParams","versions","drafts","append","apiQueryParams","toString","components","views","edit","root","Component","collectionViews","globals","globalViews","shouldAutosave","autosave","validateDraftData","validate","create","collection","depth","draft","redirectURL","path","documentSlots","clientProps","Document","_jsxs","initialState","_jsx","ComponentConfig","serverProps","props","RenderedDocument","error","message","err"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n Data,\n DocumentViewClientProps,\n DocumentViewServerProps,\n DocumentViewServerPropsOnly,\n PayloadComponent,\n} from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } 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'\nimport type { ViewFromConfig } from './getViewsFromConfig.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocPreferences } from './getDocPreferences.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getIsLocked } from './getIsLocked.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getVersions } from './getVersions.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\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 viewType,\n}: {\n drawerSlug?: string\n overrideEntityVisibility?: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\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 let RootViewOverride: PayloadComponent\n let CustomView: ViewFromConfig<DocumentViewServerProps>\n let DefaultView: ViewFromConfig<DocumentViewServerProps>\n let ErrorView: ViewFromConfig<AdminViewServerProps>\n\n let apiURL: string\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 ] = 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\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: (collectionSlug && idFromArgs) || globalSlug ? 'update' : 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionSlug || globalSlug,\n skipValidation: true,\n }),\n ])\n\n const documentViewServerProps: DocumentViewServerPropsOnly = {\n doc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n }\n\n if (collectionConfig) {\n if (\n !visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug) &&\n !overrideEntityVisibility\n ) {\n throw new Error('not-found')\n }\n\n const params = new URLSearchParams()\n\n if (collectionConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${idFromArgs}${apiQueryParams}`\n\n 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 : null\n\n if (!RootViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = collectionViews?.CustomView\n DefaultView = collectionViews?.DefaultView\n ErrorView = collectionViews?.ErrorView\n }\n\n if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {\n ErrorView = {\n Component: NotFoundView,\n }\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n throw new Error('not-found')\n }\n\n const params = new URLSearchParams({\n locale: locale?.code,\n })\n\n if (globalConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`\n\n RootViewOverride =\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 const globalViews = getViewsFromConfig({\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n })\n\n CustomView = globalViews?.CustomView\n DefaultView = globalViews?.DefaultView\n ErrorView = globalViews?.ErrorView\n\n if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {\n ErrorView = {\n Component: NotFoundView,\n }\n }\n }\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 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 {!RootViewOverride && !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 {ErrorView\n ? RenderServerComponent({\n clientProps,\n Component: ErrorView.ComponentConfig || ErrorView.Component,\n importMap,\n serverProps: documentViewServerProps,\n })\n : RenderServerComponent({\n clientProps,\n Component: RootViewOverride\n ? RootViewOverride\n : CustomView?.ComponentConfig || CustomView?.Component\n ? CustomView?.ComponentConfig || CustomView?.Component\n : DefaultView?.ComponentConfig || DefaultView?.Component,\n importMap,\n serverProps: documentViewServerProps,\n })}\n </EditDepthProvider>\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":";AASA,SAASA,oBAAoB,EAAEC,iBAAiB,EAAEC,mBAAmB,QAAQ;AAC7E,SAASC,qBAAqB,QAAQ;AACtC,SAASC,SAAA,IAAaC,YAAY,QAAQ;AAC1C,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,EAAEC,QAAQ,QAAQ;AACnC,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAKlB,SAASC,cAAc,QAAQ;AAC/B,SAASC,YAAY,QAAQ;AAC7B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,QAAQ;AAChC,SAASC,sBAAsB,QAAQ;AACvC,SAASC,WAAW,QAAQ;AAC5B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,WAAW,QAAQ;AAC5B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,gBAAA,GAA6C,MAAOC,IAAA,IAASL,gBAAA,CAAiBK,IAAA;AAE3F;;;;;;AAMA,OAAO,MAAMC,cAAA,GAAiB,MAAAA,CAAO;EACnCC,cAAc;EACdC,mBAAmB;EACnBC,UAAU;EACVC,SAAS;EACTC,WAAW;EACXC,cAAc;EACdC,wBAAwB;EACxBC,MAAM;EACNC,mBAAmB;EACnBC,mBAAmB;EACnBC,sBAAsB;EACtBC,YAAY;EACZC;AAAQ,CAOc;EAItB,MAAM;IACJC,gBAAgB;IAChBC,KAAA,EAAOC,UAAU;IACjBC,YAAY;IACZC,MAAM;IACNC,WAAW;IACXC,GAAG;IACHA,GAAA,EAAK;MACHC,IAAI;MACJC,OAAO;MACPA,OAAA,EAAS;QACPC,MAAM;QACNA,MAAA,EAAQ;UACNC,MAAA,EAAQ;YAAEC,KAAA,EAAOC,UAAU;YAAEC,GAAA,EAAKC;UAAQ,CAAE;UAC5CC;QAAS;MACV,CACF;MACDC;IAAI,CACL;IACDC;EAAe,CAChB,GAAGzB,cAAA;EAEJ,MAAM0B,QAAA,GAAWC,KAAA,CAAMC,OAAO,CAAC1B,MAAA,EAAQwB,QAAA,IAAYxB,MAAA,CAAOwB,QAAQ,GAAG,EAAE;EACvE,MAAMG,cAAA,GAAiBrB,gBAAA,EAAkBsB,IAAA,IAAQC,SAAA;EACjD,MAAMC,UAAA,GAAarB,YAAA,EAAcmB,IAAA,IAAQC,SAAA;EACzC,IAAIzD,SAAA,GAAYC,YAAA,CAAa;IAAE0D,EAAA,EAAIvB,UAAA;IAAYmB,cAAA;IAAgBG;EAAW;EAE1E,IAAIE,gBAAA;EACJ,IAAIC,UAAA;EACJ,IAAIC,WAAA;EACJ,IAAIC,SAAA;EAEJ,IAAIC,MAAA;EAEJ;EACA,IAAIC,GAAA,GACFxC,WAAA,KACC,MAAMd,eAAA,CAAgB;IACrBgD,EAAA,EAAIvB,UAAA;IACJmB,cAAA;IACAG,UAAA;IACApB,MAAA;IACAI,OAAA;IACAF,GAAA;IACAU;EACF;EAEF,IAAIlD,SAAA,IAAa,CAACiE,GAAA,EAAK;IACrB,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,MAAM,CACJC,cAAA,EACA;IAAEC,cAAc;IAAEC,oBAAoB;IAAEC;EAAiB,CAAE,EAC3D;IAAEC,aAAa;IAAEC,QAAQ;IAAEC;EAAc,CAAE,CAC5C,GAAG,MAAMC,OAAA,CAAQC,GAAG,CAAC;EACpB;EACAjE,iBAAA,CAAkB;IAChBiD,EAAA,EAAIvB,UAAA;IACJmB,cAAA;IACAG,UAAA;IACAhB,OAAA;IACAQ;EACF;EAEA;EACAtC,sBAAA,CAAuB;IACrB+C,EAAA,EAAIvB,UAAA;IACJF,gBAAA;IACA0C,IAAA,EAAMX,GAAA;IACN5B,YAAA;IACAG;EACF;EAEA;EACA3B,WAAA,CAAY;IACV8C,EAAA,EAAIvB,UAAA;IACJF,gBAAA;IACAG,YAAA;IACArC,SAAA;IACAwC;EACF,GACD;EAED,MAAM,CACJ;IAAEqC,eAAe;IAAEC,4BAA4B;IAAEC,uBAAuB;IAAEC;EAAY,CAAE,EACxF;IAAEC,KAAA,EAAOC;EAAS,CAAE,CACrB,GAAG,MAAMR,OAAA,CAAQC,GAAG,CAAC,CACpB5D,WAAA,CAAY;IACV4C,EAAA,EAAIvB,UAAA;IACJF,gBAAA;IACA+B,GAAA;IACAG,cAAA;IACA/B,YAAA;IACAC,MAAA,EAAQA,MAAA,EAAQ6C,IAAA;IAChBzC,OAAA;IACAQ;EACF,IACAhD,cAAA,CAAe;IACbyD,EAAA,EAAIvB,UAAA;IACJmB,cAAA;IACAqB,IAAA,EAAMX,GAAA;IACNG,cAAA;IACAD,cAAA;IACAiB,cAAA,EAAgB;IAChB1B,UAAA;IACApB,MAAA,EAAQA,MAAA,EAAQ6C,IAAA;IAChBE,SAAA,EAAW9B,cAAC,IAAkBnB,UAAA,IAAesB,UAAA,GAAa,WAAW;IACrE4B,eAAA,EAAiB;IACjB9C,GAAA;IACA+C,UAAA,EAAYhC,cAAA,IAAkBG,UAAA;IAC9B8B,cAAA,EAAgB;EAClB,GACD;EAED,MAAMC,uBAAA,GAAuD;IAC3DxB,GAAA;IACAxB,IAAA;IACAf,cAAA;IACAY,MAAA;IACAV,MAAA;IACAc,OAAA;IACAH,WAAA;IACAmD,aAAA,EAAetC,QAAA;IACfpB,YAAA;IACAkB;EACF;EAEA,IAAIhB,gBAAA,EAAkB;IACpB,IACE,CAACiB,eAAA,EAAiBwC,WAAA,EAAaC,IAAA,CAAMC,WAAA,IAAgBA,WAAA,KAAgBtC,cAAA,KACrE,CAAC5B,wBAAA,EACD;MACA,MAAM,IAAIuC,KAAA,CAAM;IAClB;IAEA,MAAMtC,MAAA,GAAS,IAAIkE,eAAA;IAEnB,IAAI5D,gBAAA,CAAiB6D,QAAQ,EAAEC,MAAA,EAAQ;MACrCpE,MAAA,CAAOqE,MAAM,CAAC,SAAS;IACzB;IAEA,IAAI3D,MAAA,EAAQ6C,IAAA,EAAM;MAChBvD,MAAA,CAAOqE,MAAM,CAAC,UAAU3D,MAAA,CAAO6C,IAAI;IACrC;IAEA,MAAMe,cAAA,GAAiB,IAAItE,MAAA,CAAOuE,QAAQ,IAAI;IAE9CnC,MAAA,GAAS,GAAGf,SAAA,GAAYD,QAAA,IAAYO,cAAA,IAAkBnB,UAAA,GAAa8D,cAAA,EAAgB;IAEnFtC,gBAAA,GACE1B,gBAAA,EAAkBW,KAAA,EAAOuD,UAAA,EAAYC,KAAA,EAAOC,IAAA,EAAMC,IAAA,IAClD,eAAerE,gBAAA,CAAiBW,KAAK,CAACuD,UAAU,CAACC,KAAK,CAACC,IAAI,CAACC,IAAI,GAC5DrE,gBAAA,EAAkBW,KAAA,EAAOuD,UAAA,EAAYC,KAAA,EAAOC,IAAA,EAAMC,IAAA,EAAMC,SAAA,GACxD;IAEN,IAAI,CAAC5C,gBAAA,EAAkB;MACrB,MAAM6C,eAAA,GAAkBzF,kBAAA,CAAmB;QACzCkB,gBAAA;QACAS,MAAA;QACAyB,cAAA;QACAsB,aAAA,EAAetC;MACjB;MAEAS,UAAA,GAAa4C,eAAA,EAAiB5C,UAAA;MAC9BC,WAAA,GAAc2C,eAAA,EAAiB3C,WAAA;MAC/BC,SAAA,GAAY0C,eAAA,EAAiB1C,SAAA;IAC/B;IAEA,IAAI,CAACF,UAAA,IAAc,CAACC,WAAA,IAAe,CAACF,gBAAA,IAAoB,CAACG,SAAA,EAAW;MAClEA,SAAA,GAAY;QACVyC,SAAA,EAAW/F;MACb;IACF;EACF;EAEA,IAAI4B,YAAA,EAAc;IAChB,IAAI,CAACc,eAAA,EAAiBuD,OAAA,EAASd,IAAA,CAAMC,WAAA,IAAgBA,WAAA,KAAgBnC,UAAA,GAAa;MAChF,MAAM,IAAIQ,KAAA,CAAM;IAClB;IAEA,MAAMtC,MAAA,GAAS,IAAIkE,eAAA,CAAgB;MACjCxD,MAAA,EAAQA,MAAA,EAAQ6C;IAClB;IAEA,IAAI9C,YAAA,CAAa0D,QAAQ,EAAEC,MAAA,EAAQ;MACjCpE,MAAA,CAAOqE,MAAM,CAAC,SAAS;IACzB;IAEA,IAAI3D,MAAA,EAAQ6C,IAAA,EAAM;MAChBvD,MAAA,CAAOqE,MAAM,CAAC,UAAU3D,MAAA,CAAO6C,IAAI;IACrC;IAEA,MAAMe,cAAA,GAAiB,IAAItE,MAAA,CAAOuE,QAAQ,IAAI;IAE9CnC,MAAA,GAAS,GAAGf,SAAA,GAAYD,QAAA,IAAYU,UAAA,GAAawC,cAAA,EAAgB;IAEjEtC,gBAAA,GACEvB,YAAA,EAAcQ,KAAA,EAAOuD,UAAA,EAAYC,KAAA,EAAOC,IAAA,EAAMC,IAAA,IAC9C,eAAelE,YAAA,CAAaQ,KAAK,CAACuD,UAAU,CAACC,KAAK,CAACC,IAAI,CAACC,IAAI,GACxDlE,YAAA,EAAcQ,KAAA,EAAOuD,UAAA,EAAYC,KAAA,EAAOC,IAAA,EAAMC,IAAA,EAAMC,SAAA,GACpD;IAEN,IAAI,CAAC5C,gBAAA,EAAkB;MACrB,MAAM+C,WAAA,GAAc3F,kBAAA,CAAmB;QACrC2B,MAAA;QACAyB,cAAA;QACA/B,YAAA;QACAqD,aAAA,EAAetC;MACjB;MAEAS,UAAA,GAAa8C,WAAA,EAAa9C,UAAA;MAC1BC,WAAA,GAAc6C,WAAA,EAAa7C,WAAA;MAC3BC,SAAA,GAAY4C,WAAA,EAAa5C,SAAA;MAEzB,IAAI,CAACF,UAAA,IAAc,CAACC,WAAA,IAAe,CAACF,gBAAA,IAAoB,CAACG,SAAA,EAAW;QAClEA,SAAA,GAAY;UACVyC,SAAA,EAAW/F;QACb;MACF;IACF;EACF;EAEA;;;;EAIA,MAAMmG,cAAA,GACJtC,iBAAA,KACCpC,gBAAC,EAAkB6D,QAAA,EAAUC,MAAA,IAAU9D,gBAAA,EAAkB6D,QAAA,EAAUC,MAAA,EAAQa,QAAA,IACzExE,YAAA,EAAc0D,QAAA,EAAUC,MAAA,IAAU3D,YAAA,EAAc0D,QAAA,EAAUC,MAAA,EAAQa,QAAQ;EAE/E,MAAMC,iBAAA,GACJ5E,gBAAA,EAAkB6D,QAAA,EAAUC,MAAA,IAAU9D,gBAAA,EAAkB6D,QAAA,EAAUC,MAAA,EAAQe,QAAA;EAE5E,IAAIpD,EAAA,GAAKvB,UAAA;EAET,IAAIwE,cAAA,IAAkB,CAACE,iBAAA,IAAqB,CAAC1E,UAAA,IAAcmB,cAAA,EAAgB;IACzEU,GAAA,GAAM,MAAMvB,OAAA,CAAQsE,MAAM,CAAC;MACzBC,UAAA,EAAY1D,cAAA;MACZqB,IAAA,EAAMnD,WAAA,IAAe,CAAC;MACtByF,KAAA,EAAO;MACPC,KAAA,EAAO;MACP/B,cAAA,EAAgB;MAChB9C,MAAA,EAAQA,MAAA,EAAQ6C,IAAA;MAChB3C,GAAA;MACAU;IACF;IAEA,IAAIe,GAAA,EAAKN,EAAA,EAAI;MACXA,EAAA,GAAKM,GAAA,CAAIN,EAAE;MACX3D,SAAA,GAAYC,YAAA,CAAa;QAAE0D,EAAA,EAAIM,GAAA,CAAIN,EAAE;QAAEJ,cAAA;QAAgBG;MAAW;MAElE,IAAI,CAACnC,UAAA,IAAcM,mBAAA,KAAwB,OAAO;QAChD,MAAMuF,WAAA,GAAc9G,cAAA,CAAe;UACjCwC,UAAA;UACAuE,IAAA,EAAM,gBAAgB9D,cAAA,IAAkBU,GAAA,CAAIN,EAAE,EAAE;UAChDV;QACF;QAEA7C,QAAA,CAASgH,WAAA;MACX;IACF,OAAO;MACL,MAAM,IAAIlD,KAAA,CAAM;IAClB;EACF;EAEA,MAAMoD,aAAA,GAAgBrG,mBAAA,CAAoB;IACxCiB,gBAAA;IACAG,YAAA;IACAiC,iBAAA;IACA/B,WAAA,EAAa6B,cAAA;IACb5B;EACF;EAEA,MAAM+E,WAAA,GAAuC;IAC3CrC,SAAA;IACA,GAAGoC,aAAa;IAChBhG,mBAAA;IACAW;EACF;EAEA,OAAO;IACL2C,IAAA,EAAMX,GAAA;IACNuD,QAAA,eACEC,KAAA,CAAC7H,oBAAA;MACCoE,MAAA,EAAQA,MAAA;MACRT,cAAA,EAAgBrB,gBAAA,EAAkBsB,IAAA;MAClCe,aAAA,EAAeA,aAAA;MACflD,cAAA,EAAgBA,cAAA,IAAkB;MAClC+C,cAAA,EAAgBA,cAAA;MAChBV,UAAA,EAAYrB,YAAA,EAAcmB,IAAA;MAC1BqB,eAAA,EAAiBA,eAAA;MACjBR,oBAAA,EAAsBA,oBAAA;MACtBC,iBAAA,EAAmBA,iBAAA;MACnBX,EAAA,EAAIA,EAAA;MACJlC,WAAA,EAAawC,GAAA;MACbyD,YAAA,EAAcxC,SAAA;MACdlF,SAAA,EAAWA,SAAA;MACXwE,QAAA,EAAUA,QAAA;MAEVC,cAAA,EAAgBA,cAAA;MAChBK,4BAAA,EAA8BA,4BAAA;MAC9BjD,mBAAA,EAAqBA,mBAAA;MACrBC,mBAAA,EAAqBA,mBAAA;MACrBC,sBAAA,EAAwBA,sBAAA;MACxBgD,uBAAA,EAAyBA,uBAAA;MACzBC,YAAA,EAAcA,YAAA;iBAEb,CAACpB,gBAAA,IAAoB,CAACrC,UAAA,iBACrBoG,IAAA,CAACnH,cAAA;QACC0B,gBAAA,EAAkBA,gBAAA;QAClBG,YAAA,EAAcA,YAAA;QACdI,IAAA,EAAMA,IAAA;QACNC,OAAA,EAASA,OAAA;QACTH,WAAA,EAAaA;uBAGjBoF,IAAA,CAAC7H,mBAAA;QAAoByC,WAAA,EAAaA;uBAClCoF,IAAA,CAAC9H,iBAAA;kBACEkE,SAAA,GACGhE,qBAAA,CAAsB;UACpBwH,WAAA;UACAf,SAAA,EAAWzC,SAAA,CAAU6D,eAAe,IAAI7D,SAAA,CAAUyC,SAAS;UAC3DhF,SAAA;UACAqG,WAAA,EAAapC;QACf,KACA1F,qBAAA,CAAsB;UACpBwH,WAAA;UACAf,SAAA,EAAW5C,gBAAA,GACPA,gBAAA,GACAC,UAAA,EAAY+D,eAAA,IAAmB/D,UAAA,EAAY2C,SAAA,GACzC3C,UAAA,EAAY+D,eAAA,IAAmB/D,UAAA,EAAY2C,SAAA,GAC3C1C,WAAA,EAAa8D,eAAA,IAAmB9D,WAAA,EAAa0C,SAAA;UACnDhF,SAAA;UACAqG,WAAA,EAAapC;QACf;;OApCDnD,MAAA,EAAQ6C,IAAA;EAwCnB;AACF;AAEA,OAAO,eAAeqC,SAASM,KAA2B;EACxD,IAAI;IACF,MAAM;MAAEN,QAAA,EAAUO;IAAgB,CAAE,GAAG,MAAM3G,cAAA,CAAe0G,KAAA;IAC5D,OAAOC,gBAAA;EACT,EAAE,OAAOC,KAAA,EAAO;IACd,IAAIA,KAAA,EAAOC,OAAA,KAAY,iBAAiB;MACtC,MAAMD,KAAA;IACR;IAEA3H,QAAA,CAAS;MAAE6H,GAAA,EAAKF,KAAA;MAAOtF,OAAA,EAASoF,KAAA,CAAMpG,cAAc,CAACc,GAAG,CAACE;IAAQ;IAEjE,IAAIsF,KAAA,CAAMC,OAAO,KAAK,aAAa;MACjC9H,QAAA;IACF;EACF;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderServerComponent","isEditing","getIsEditing","buildFormState","notFound","redirect","logError","formatAdminURL","React","DocumentHeader","NotFoundView","getDocPreferences","getDocumentData","getDocumentPermissions","getIsLocked","getMetaBySegment","getVersions","getViewsFromConfig","renderDocumentSlots","generateMetadata","args","renderDocument","disableActions","documentSubViewType","drawerSlug","importMap","initialData","initPageResult","overrideEntityVisibility","params","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","searchParams","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","RootViewOverride","CustomView","DefaultView","ErrorView","apiURL","doc","Error","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","currentEditor","isLocked","lastUpdateTime","Promise","all","data","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","code","fallbackLocale","operation","renderAllFields","schemaPath","skipValidation","documentViewServerProps","routeSegments","collections","find","visibleSlug","URLSearchParams","versions","drafts","append","apiQueryParams","toString","components","views","edit","root","Component","collectionViews","globals","globalViews","shouldAutosave","autosave","validateDraftData","validate","create","collection","depth","draft","redirectURL","path","documentSlots","clientProps","Document","_jsxs","initialState","_jsx","ComponentConfig","serverProps","props","RenderedDocument","error","message","err"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewServerProps,\n Data,\n DocumentViewClientProps,\n DocumentViewServerProps,\n DocumentViewServerPropsOnly,\n PayloadComponent,\n} from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } 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'\nimport type { ViewFromConfig } from './getViewsFromConfig.js'\n\nimport { DocumentHeader } from '../../elements/DocumentHeader/index.js'\nimport { NotFoundView } from '../NotFound/index.js'\nimport { getDocPreferences } from './getDocPreferences.js'\nimport { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getIsLocked } from './getIsLocked.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getVersions } from './getVersions.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\n// This function will be responsible for rendering an Edit Document view\n// it will be called on the server for Edit page views as well as\n// called on-demand from document drawers\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 viewType,\n}: {\n drawerSlug?: string\n overrideEntityVisibility?: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\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 let RootViewOverride: PayloadComponent\n let CustomView: ViewFromConfig<DocumentViewServerProps>\n let DefaultView: ViewFromConfig<DocumentViewServerProps>\n let ErrorView: ViewFromConfig<AdminViewServerProps>\n\n let apiURL: string\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 ] = 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\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: (collectionSlug && idFromArgs) || globalSlug ? 'update' : 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionSlug || globalSlug,\n skipValidation: true,\n }),\n ])\n\n const documentViewServerProps: DocumentViewServerPropsOnly = {\n doc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n }\n\n if (collectionConfig) {\n if (\n !visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug) &&\n !overrideEntityVisibility\n ) {\n throw new Error('not-found')\n }\n\n const params = new URLSearchParams()\n\n if (collectionConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${idFromArgs}${apiQueryParams}`\n\n 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 : null\n\n if (!RootViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = collectionViews?.CustomView\n DefaultView = collectionViews?.DefaultView\n ErrorView = collectionViews?.ErrorView\n }\n\n if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {\n ErrorView = {\n Component: NotFoundView,\n }\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n throw new Error('not-found')\n }\n\n const params = new URLSearchParams({\n locale: locale?.code,\n })\n\n if (globalConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`\n\n RootViewOverride =\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 const globalViews = getViewsFromConfig({\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n })\n\n CustomView = globalViews?.CustomView\n DefaultView = globalViews?.DefaultView\n ErrorView = globalViews?.ErrorView\n\n if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {\n ErrorView = {\n Component: NotFoundView,\n }\n }\n }\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 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 {!RootViewOverride && !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 {ErrorView\n ? RenderServerComponent({\n clientProps,\n Component: ErrorView.ComponentConfig || ErrorView.Component,\n importMap,\n serverProps: documentViewServerProps,\n })\n : RenderServerComponent({\n clientProps,\n Component: RootViewOverride\n ? RootViewOverride\n : CustomView?.ComponentConfig || CustomView?.Component\n ? CustomView?.ComponentConfig || CustomView?.Component\n : DefaultView?.ComponentConfig || DefaultView?.Component,\n importMap,\n serverProps: documentViewServerProps,\n })}\n </EditDepthProvider>\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":[]}
|
|
@@ -12,12 +12,6 @@ type RenderListViewArgs = {
|
|
|
12
12
|
redirectAfterDelete?: boolean;
|
|
13
13
|
redirectAfterDuplicate?: boolean;
|
|
14
14
|
} & AdminViewServerProps;
|
|
15
|
-
/**
|
|
16
|
-
* This function is responsible for rendering
|
|
17
|
-
* the list view on the server for both:
|
|
18
|
-
* - default list view
|
|
19
|
-
* - list view within drawers
|
|
20
|
-
*/
|
|
21
15
|
export declare const renderListView: (args: RenderListViewArgs) => Promise<{
|
|
22
16
|
List: React.ReactNode;
|
|
23
17
|
}>;
|
|
@@ -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
|
|
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,eAAO,MAAM,cAAc,SACnB,kBAAkB,KACvB,OAAO,CAAC;IACT,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB,CAwPA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAWjD,CAAA"}
|
package/dist/views/List/index.js
CHANGED
|
@@ -8,12 +8,6 @@ import React, { Fragment } from 'react';
|
|
|
8
8
|
import { getDocumentPermissions } from '../Document/getDocumentPermissions.js';
|
|
9
9
|
import { renderListViewSlots } from './renderListViewSlots.js';
|
|
10
10
|
import { resolveAllFilterOptions } from './resolveAllFilterOptions.js';
|
|
11
|
-
/**
|
|
12
|
-
* This function is responsible for rendering
|
|
13
|
-
* the list view on the server for both:
|
|
14
|
-
* - default list view
|
|
15
|
-
* - list view within drawers
|
|
16
|
-
*/
|
|
17
11
|
export const renderListView = async args => {
|
|
18
12
|
const {
|
|
19
13
|
clientConfig,
|
|
@@ -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","listPreferences","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","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 ColumnPreference,\n DefaultDocumentIDType,\n ListPreferences,\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 listPreferences = await upsertPreferences<ListPreferences>({\n key: `${collectionSlug}-list`,\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 = listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n const sort =\n listPreferences?.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 (listPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: listPreferences?.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: listPreferences?.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,\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={listPreferences}\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,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission,\n listPreferences,\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","listPreferences","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","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 ColumnPreference,\n DefaultDocumentIDType,\n ListPreferences,\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\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 listPreferences = await upsertPreferences<ListPreferences>({\n key: `${collectionSlug}-list`,\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 = listPreferences?.limit || collectionConfig.admin.pagination.defaultLimit\n\n const sort =\n listPreferences?.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 (listPreferences?.preset) {\n try {\n queryPreset = (await payload.findByID({\n id: listPreferences?.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: listPreferences?.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,\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={listPreferences}\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,\n disableQueryPresets,\n enableRowSelections,\n hasCreatePermission,\n listPreferences,\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":";AAaA,SAASA,eAAe,EAAEC,mBAAmB,EAAEC,iBAAiB,QAAQ;AACxE,SAASC,qBAAqB,QAAQ;AACtC,SAASC,aAAa,EAAEC,WAAW,EAAEC,iBAAiB,QAAQ;AAC9D,SAASC,QAAQ,QAAQ;AACzB,SACEC,cAAc,EACdC,QAAQ,EACRC,uBAAuB,EACvBC,6BAA6B,QACxB;AACP,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,sBAAsB,QAAQ;AACvC,SAASC,mBAAmB,QAAQ;AACpC,SAASC,uBAAuB,QAAQ;AAexC,OAAO,MAAMC,cAAA,GAAiB,MAC5BC,IAAA;EAIA,MAAM;IACJC,YAAY;IACZC,eAAe;IACfC,iBAAiB;IACjBC,eAAe;IACfC,mBAAmB;IACnBC,UAAU;IACVC,mBAAmB;IACnBC,cAAc;IACdC,wBAAwB;IACxBC,MAAM;IACNC,KAAA,EAAOC,aAAa;IACpBC;EAAY,CACb,GAAGb,IAAA;EAEJ,MAAM;IACJc,gBAAgB;IAChBA,gBAAA,EAAkB;MAAEC,IAAA,EAAMC;IAAc,CAAE;IAC1CC,MAAA,EAAQC,UAAU;IAClBC,WAAW;IACXC,GAAG;IACHA,GAAA,EAAK;MACHC,IAAI;MACJJ,MAAM;MACNK,OAAO;MACPA,OAAA,EAAS;QAAEC;MAAM,CAAE;MACnBZ,KAAA,EAAOa,YAAY;MACnBC;IAAI,CACL;IACDC;EAAe,CAChB,GAAGlB,cAAA;EAEJ,IAAI,CAACW,WAAA,EAAaQ,WAAA,GAAcX,cAAA,CAAe,EAAEY,IAAA,EAAM;IACrD,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,MAAMlB,KAAA,GAAQC,aAAA,IAAiBY,YAAA;EAE/B,MAAMM,OAAA,GAA8BrC,6BAAA,CAClCkB,KAAA,EAAOmB,OAAA;EAGT;;;;;EAKA,MAAMC,eAAA,GAAkB,MAAM3C,iBAAA,CAAmC;IAC/D4C,GAAA,EAAK,GAAGhB,cAAA,OAAqB;IAC7BI,GAAA;IACAa,KAAA,EAAO;MACLH,OAAA;MACAI,KAAA,EAAO3C,QAAA,CAASoB,KAAA,EAAOuB,KAAA,IAASC,MAAA,CAAOxB,KAAA,CAAMuB,KAAK,IAAIE,SAAA;MACtDC,MAAA,EAAQ1B,KAAC,EAAO0B,MAAA,IAAoC;MACpDC,IAAA,EAAM3B,KAAA,EAAO2B;IACf;EACF;EAEA,MAAM;IACJC,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU;EAAE,CAC9B,GAAGlB,MAAA;EAEJ,IAAIT,gBAAA,EAAkB;IACpB,IAAI,CAACY,eAAA,CAAgBC,WAAW,CAACe,QAAQ,CAAC1B,cAAA,KAAmB,CAACP,wBAAA,EAA0B;MACtF,MAAM,IAAIoB,KAAA,CAAM;IAClB;IAEA,MAAMc,IAAA,GAAOpD,QAAA,CAASoB,KAAA,EAAOgC,IAAA,IAAQR,MAAA,CAAOxB,KAAA,CAAMgC,IAAI,IAAI;IAE1D,MAAMT,KAAA,GAAQH,eAAA,EAAiBG,KAAA,IAASpB,gBAAA,CAAiB0B,KAAK,CAACI,UAAU,CAACC,YAAY;IAEtF,MAAMP,IAAA,GACJP,eAAA,EAAiBO,IAAA,KAChB,OAAOxB,gBAAA,CAAiBgC,WAAW,KAAK,WAAWhC,gBAAA,CAAiBgC,WAAW,GAAGV,SAAQ;IAE7F,IAAIW,KAAA,GAAQvD,uBAAA,CAAwB;MAClCsB,gBAAA;MACAkC,MAAA,EAAQ,OAAOrC,KAAA,EAAOqC,MAAA,KAAW,WAAWrC,KAAA,CAAMqC,MAAM,GAAGZ,SAAA;MAC3DW,KAAA,EAAOpC,KAAC,EAAOoC,KAAA,IAAmBX;IACpC;IAEA,IAAI,OAAOtB,gBAAA,CAAiB0B,KAAK,EAAES,cAAA,KAAmB,YAAY;MAChE,MAAMA,cAAA,GAAiB,MAAMnC,gBAAA,CAAiB0B,KAAK,CAACS,cAAc,CAAC;QACjEf,KAAA;QACAS,IAAA;QACAvB,GAAA;QACAkB;MACF;MAEA,IAAIW,cAAA,EAAgB;QAClBF,KAAA,GAAQ;UACNG,GAAA,EAAK,CAACH,KAAA,EAAOE,cAAA,CAAe,CAACE,MAAM,CAACC,OAAA;QACtC;MACF;IACF;IAEA,IAAIC,WAAA;IACJ,IAAIC,sBAAA;IAEJ,IAAIvB,eAAA,EAAiBM,MAAA,EAAQ;MAC3B,IAAI;QACFgB,WAAA,GAAe,MAAM/B,OAAA,CAAQiC,QAAQ,CAAC;UACpCC,EAAA,EAAIzB,eAAA,EAAiBM,MAAA;UACrBoB,UAAA,EAAY;UACZC,KAAA,EAAO;UACPC,cAAA,EAAgB;UAChBlC;QACF;QAEA,IAAI4B,WAAA,EAAa;UACfC,sBAAA,GAAyB,MAAM1D,sBAAA,CAAuB;YACpD4D,EAAA,EAAIH,WAAA,CAAYG,EAAE;YAClB1C,gBAAA,EAAkBS,MAAA,CAAOI,WAAW,CAACiC,IAAI,CAAEC,CAAA,IAAMA,CAAA,CAAE9C,IAAI,KAAK;YAC5D+C,IAAA,EAAMT,WAAA;YACNjC;UACF,IAAI2C,IAAA,CAAK,CAAC;YAAEC;UAAc,CAAE,KAAKA,cAAA;QACnC;MACF,EAAE,OAAOC,GAAA,EAAK;QACZ7C,GAAA,CAAIE,OAAO,CAAC4C,MAAM,CAACC,KAAK,CAAC,sDAAsDF,GAAA,EAAK;MACtF;IACF;IAEA,MAAMH,IAAA,GAAO,MAAMxC,OAAA,CAAQsC,IAAI,CAAC;MAC9BH,UAAA,EAAYzC,cAAA;MACZ0C,KAAA,EAAO;MACPU,KAAA,EAAO;MACPC,cAAA,EAAgB;MAChBC,iBAAA,EAAmB;MACnBpC,KAAA;MACAjB,MAAA;MACA0C,cAAA,EAAgB;MAChBhB,IAAA;MACAvB,GAAA;MACAkB,IAAA;MACAb,IAAA;MACAsB,KAAA,EAAOA,KAAA,IAAS,CAAC;IACnB;IAEA,MAAMwB,sBAAA,GAAyBtE,YAAA,CAAa0B,WAAW,CAACiC,IAAI,CAAEC,CAAA,IAAMA,CAAA,CAAE9C,IAAI,KAAKC,cAAA;IAE/E,MAAM;MAAEwD,WAAW;MAAEC;IAAK,CAAE,GAAGtF,WAAA,CAAY;MACzCoF,sBAAA;MACAzD,gBAAA;MACA4D,iBAAA,EAAmB3C,eAAA,EAAiBD,OAAA;MACpCA,OAAA;MACA5B,eAAA;MACAyE,IAAA,EAAMb,IAAA,CAAKa,IAAI;MACfrE,UAAA;MACAC,mBAAA;MACAc,IAAA,EAAMD,GAAA,CAAIC,IAAI;MACduD,kBAAA,EAAoB9D,gBAAA,CAAiB+D,SAAS,KAAK,OAAO,WAAWzC,SAAA;MACrEd,OAAA;MACAwD,UAAA,EAAYhE,gBAAA,CAAiB0B,KAAK,CAACsC;IACrC;IAEA,MAAMC,eAAA,GAAkB7F,aAAA,CAAc4B,gBAAA,CAAiBkE,MAAM,EAAE5D,GAAA,CAAIE,OAAO,CAAC2D,SAAS;IAEpF,MAAMC,qBAAA,GAAwB,MAAMpF,uBAAA,CAAwB;MAC1DkF,MAAA,EAAQlE,gBAAA,CAAiBkE,MAAM;MAC/B5D;IACF;IAEA,MAAM+D,iBAAA,GACJ,OAAOrE,gBAAA,CAAiB0B,KAAK,CAAC4C,WAAW,KAAK,aAC1CtE,gBAAA,CAAiB0B,KAAK,CAAC4C,WAAW,CAAC;MAAEC,CAAA,EAAGhE,IAAA,CAAKgE;IAAE,KAC/CvE,gBAAA,CAAiB0B,KAAK,CAAC4C,WAAW;IAExC,MAAME,cAAA,GAAiBhG,cAAA,CAAe;MACpCmD,UAAA;MACA8C,IAAA,EAAM,gBAAgBvE,cAAA;IACxB;IAEA,MAAMwE,mBAAA,GAAsBrE,WAAA,EAAaQ,WAAA,GAAcX,cAAA,CAAe,EAAEyE,MAAA;IAExE,MAAMC,WAAA,GAAuC;MAC3C5E,gBAAA;MACAgD,IAAA;MACAzC,IAAA;MACAa,KAAA;MACAH,eAAA;MACA4D,oBAAA,EAAsB7E,gBAAA,CAAiB0B,KAAK,CAACmD,oBAAoB;MACjE1E,MAAA,EAAQC,UAAA;MACRR,MAAA;MACAY,OAAA;MACAH,WAAA;MACAN,YAAA;MACAY;IACF;IAEA,MAAMmE,aAAA,GAAgB/F,mBAAA,CAAoB;MACxCgG,WAAA,EAAa;QACX7E,cAAA;QACAwE,mBAAA;QACAF;MACF;MACAxE,gBAAA;MACAsE,WAAA,EAAaD,iBAAA;MACb7D,OAAA;MACAoE;IACF;IAEA,MAAMI,UAAA,GAAa1C,OAAA,CAAQ9C,UAAA;IAE3B,OAAO;MACLyF,IAAA,eACEC,KAAA,CAACrG,QAAA;gCACCsG,IAAA,CAAClH,mBAAA;UAAoBoC,WAAA,EAAaA;yBAClC8E,IAAA,CAACjH,iBAAA;UACCgC,cAAA,EAAgBA,cAAA;UAChBc,OAAA,EAASrC,6BAAA,CAA8B+E,WAAA;UACvCV,IAAA,EAAMA,IAAA;UACNjB,YAAA,EAAcX,KAAA;UACdY,WAAA,EAAaR,IAAA;UACbP,eAAA,EAAiBA,eAAA;UACjBmE,kBAAA,EAAoB,CAACJ,UAAA;UACrBlB,kBAAA,EAAoB9D,gBAAA,CAAiB+D,SAAS,KAAK,OAAO,WAAWzC,SAAA;oBAEpEnD,qBAAA,CAAsB;YACrB4G,WAAA,EAAa;cACX,GAAGD,aAAa;cAChB5E,cAAA;cACAwD,WAAA;cACArE,iBAAA;cACAC,eAAA;cACAC,mBAAA;cACAE,mBAAA;cACAiF,mBAAA;cACAzD,eAAA;cACAuD,cAAA;cACAjC,WAAA;cACAC,sBAAA;cACAyB,eAAA;cACAG,qBAAA;cACAT;YACF;YACA0B,SAAA,EAAWrF,gBAAA,EAAkB0B,KAAA,EAAO4D,UAAA,EAAYC,KAAA,EAAOC,IAAA,EAAMH,SAAA;YAC7DI,QAAA,EAAUzH,eAAA;YACVmG,SAAA,EAAW3D,OAAA,CAAQ2D,SAAS;YAC5BS;UACF;;;IAIR;EACF;EAEA,MAAM,IAAI7D,KAAA,CAAM;AAClB;AAEA,OAAO,MAAM2E,QAAA,GAAyC,MAAOxG,IAAA;EAC3D,IAAI;IACF,MAAM;MAAE+F,IAAA,EAAMU;IAAY,CAAE,GAAG,MAAM1G,cAAA,CAAe;MAAE,GAAGC,IAAI;MAAEO,mBAAA,EAAqB;IAAK;IACzF,OAAOkG,YAAA;EACT,EAAE,OAAOtC,KAAA,EAAO;IACd,IAAIA,KAAA,CAAMuC,OAAO,KAAK,aAAa;MACjCrH,QAAA;IACF,OAAO;MACLsH,OAAA,CAAQxC,KAAK,CAACA,KAAA,EAAO;MAAA;IACvB;EACF;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/LivePreview/Device/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAIxC,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/LivePreview/Device/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAIxC,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAiGA,CAAA"}
|
|
@@ -18,11 +18,9 @@ export const DeviceContainer = props => {
|
|
|
18
18
|
} = useLivePreviewContext();
|
|
19
19
|
// Keep an accurate measurement of the actual device size as it is truly rendered
|
|
20
20
|
// This is helpful when `sizes` are non-number units like percentages, etc.
|
|
21
|
-
// eslint-disable-next-line react-compiler/react-compiler -- TODO: fix
|
|
22
21
|
const {
|
|
23
22
|
size: measuredDeviceSize
|
|
24
23
|
} = useResize(deviceFrameRef.current);
|
|
25
|
-
// eslint-disable-next-line react-compiler/react-compiler -- TODO: fix
|
|
26
24
|
const {
|
|
27
25
|
size: outerFrameSize
|
|
28
26
|
} = useResize(outerFrameRef.current);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useResize","React","useEffect","useLivePreviewContext","DeviceContainer","props","children","deviceFrameRef","useRef","outerFrameRef","breakpoint","setMeasuredDeviceSize","size","desiredSize","zoom","measuredDeviceSize","current","outerFrameSize","deviceIsLargerThanFrame","x","margin","width","height","scaledDesiredWidth","scaledDeviceWidth","scaledDeviceDifferencePixels","differenceFromDeviceToFrame","_jsx","ref","style","transform"],"sources":["../../../../src/views/LivePreview/Device/index.tsx"],"sourcesContent":["'use client'\nimport { useResize } from '@payloadcms/ui'\nimport React, { useEffect } from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\n\nexport const DeviceContainer: React.FC<{\n children: React.ReactNode\n}> = (props) => {\n const { children } = props\n\n const deviceFrameRef = React.useRef<HTMLDivElement>(null)\n const outerFrameRef = React.useRef<HTMLDivElement>(null)\n\n const { breakpoint, setMeasuredDeviceSize, size: desiredSize, zoom } = useLivePreviewContext()\n\n // Keep an accurate measurement of the actual device size as it is truly rendered\n // This is helpful when `sizes` are non-number units like percentages, etc.\n
|
|
1
|
+
{"version":3,"file":"index.js","names":["useResize","React","useEffect","useLivePreviewContext","DeviceContainer","props","children","deviceFrameRef","useRef","outerFrameRef","breakpoint","setMeasuredDeviceSize","size","desiredSize","zoom","measuredDeviceSize","current","outerFrameSize","deviceIsLargerThanFrame","x","margin","width","height","scaledDesiredWidth","scaledDeviceWidth","scaledDeviceDifferencePixels","differenceFromDeviceToFrame","_jsx","ref","style","transform"],"sources":["../../../../src/views/LivePreview/Device/index.tsx"],"sourcesContent":["'use client'\nimport { useResize } from '@payloadcms/ui'\nimport React, { useEffect } from 'react'\n\nimport { useLivePreviewContext } from '../Context/context.js'\n\nexport const DeviceContainer: React.FC<{\n children: React.ReactNode\n}> = (props) => {\n const { children } = props\n\n const deviceFrameRef = React.useRef<HTMLDivElement>(null)\n const outerFrameRef = React.useRef<HTMLDivElement>(null)\n\n const { breakpoint, setMeasuredDeviceSize, size: desiredSize, zoom } = useLivePreviewContext()\n\n // Keep an accurate measurement of the actual device size as it is truly rendered\n // This is helpful when `sizes` are non-number units like percentages, etc.\n const { size: measuredDeviceSize } = useResize(deviceFrameRef.current)\n const { size: outerFrameSize } = useResize(outerFrameRef.current)\n\n let deviceIsLargerThanFrame: boolean = false\n\n // Sync the measured device size with the context so that other components can use it\n // This happens from the bottom up so that as this component mounts and unmounts,\n // its size is freshly populated again upon re-mounting, i.e. going from iframe->popup->iframe\n useEffect(() => {\n if (measuredDeviceSize) {\n setMeasuredDeviceSize(measuredDeviceSize)\n }\n }, [measuredDeviceSize, setMeasuredDeviceSize])\n\n let x = '0'\n let margin = '0'\n\n if (breakpoint && breakpoint !== 'responsive') {\n x = '-50%'\n\n if (\n desiredSize &&\n measuredDeviceSize &&\n typeof zoom === 'number' &&\n typeof desiredSize.width === 'number' &&\n typeof desiredSize.height === 'number' &&\n typeof measuredDeviceSize.width === 'number' &&\n typeof measuredDeviceSize.height === 'number'\n ) {\n margin = '0 auto'\n const scaledDesiredWidth = desiredSize.width / zoom\n const scaledDeviceWidth = measuredDeviceSize.width * zoom\n const scaledDeviceDifferencePixels = scaledDesiredWidth - desiredSize.width\n deviceIsLargerThanFrame = scaledDeviceWidth > outerFrameSize.width\n\n if (deviceIsLargerThanFrame) {\n if (zoom > 1) {\n const differenceFromDeviceToFrame = measuredDeviceSize.width - outerFrameSize.width\n if (differenceFromDeviceToFrame < 0) {\n x = `${differenceFromDeviceToFrame / 2}px`\n } else {\n x = '0'\n }\n } else {\n x = '0'\n }\n } else {\n if (zoom >= 1) {\n x = `${scaledDeviceDifferencePixels / 2}px`\n } else {\n const differenceFromDeviceToFrame = outerFrameSize.width - scaledDeviceWidth\n x = `${differenceFromDeviceToFrame / 2}px`\n margin = '0'\n }\n }\n }\n }\n\n let width = zoom ? `${100 / zoom}%` : '100%'\n let height = zoom ? `${100 / zoom}%` : '100%'\n\n if (breakpoint !== 'responsive') {\n width = `${desiredSize?.width / (typeof zoom === 'number' ? zoom : 1)}px`\n height = `${desiredSize?.height / (typeof zoom === 'number' ? zoom : 1)}px`\n }\n\n return (\n <div\n ref={outerFrameRef}\n style={{\n height: '100%',\n width: '100%',\n }}\n >\n <div\n ref={deviceFrameRef}\n style={{\n height,\n margin,\n transform: `translate3d(${x}, 0, 0)`,\n width,\n }}\n >\n {children}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AdminViewConfig, SanitizedConfig } from 'payload';
|
|
2
|
-
import type { ViewFromConfig } from './
|
|
2
|
+
import type { ViewFromConfig } from './getViewFromConfig.js';
|
|
3
3
|
export declare const getCustomViewByRoute: ({ config, currentRoute: currentRouteWithAdmin, }: {
|
|
4
4
|
config: SanitizedConfig;
|
|
5
5
|
currentRoute: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCustomViewByRoute.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getCustomViewByRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"getCustomViewByRoute.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getCustomViewByRoute.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAI5D,eAAO,MAAM,oBAAoB,qDAG9B;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;CACrB,KAAG;IACF,IAAI,EAAE,cAAc,CAAA;IACpB,UAAU,EAAE,eAAe,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;CAiDhB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCustomViewByRoute.js","names":["isPathMatchingRoute","getCustomViewByRoute","config","currentRoute","currentRouteWithAdmin","admin","components","views","routes","adminRoute","replace","viewKey","foundViewConfig","Object","entries","find","key","view","isMatching","exact","path","sensitive","strict","undefined","Component","viewConfig","payloadComponent"],"sources":["../../../src/views/Root/getCustomViewByRoute.ts"],"sourcesContent":["import type { AdminViewConfig, SanitizedConfig } from 'payload'\n\nimport type { ViewFromConfig } from './
|
|
1
|
+
{"version":3,"file":"getCustomViewByRoute.js","names":["isPathMatchingRoute","getCustomViewByRoute","config","currentRoute","currentRouteWithAdmin","admin","components","views","routes","adminRoute","replace","viewKey","foundViewConfig","Object","entries","find","key","view","isMatching","exact","path","sensitive","strict","undefined","Component","viewConfig","payloadComponent"],"sources":["../../../src/views/Root/getCustomViewByRoute.ts"],"sourcesContent":["import type { AdminViewConfig, SanitizedConfig } from 'payload'\n\nimport type { ViewFromConfig } from './getViewFromConfig.js'\n\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nexport const getCustomViewByRoute = ({\n config,\n currentRoute: currentRouteWithAdmin,\n}: {\n config: SanitizedConfig\n currentRoute: string\n}): {\n view: ViewFromConfig\n viewConfig: AdminViewConfig\n viewKey: string\n} => {\n const {\n admin: {\n components: { views },\n },\n routes: { admin: adminRoute },\n } = config\n\n const currentRoute = currentRouteWithAdmin.replace(adminRoute, '')\n let viewKey: string\n\n const foundViewConfig =\n (views &&\n typeof views === 'object' &&\n Object.entries(views).find(([key, view]) => {\n const isMatching = isPathMatchingRoute({\n currentRoute,\n exact: view.exact,\n path: view.path,\n sensitive: view.sensitive,\n strict: view.strict,\n })\n\n if (isMatching) {\n viewKey = key\n }\n\n return isMatching\n })?.[1]) ||\n undefined\n\n if (!foundViewConfig) {\n return {\n view: {\n Component: null,\n },\n viewConfig: null,\n viewKey: null,\n }\n }\n\n return {\n view: {\n payloadComponent: foundViewConfig.Component,\n },\n viewConfig: foundViewConfig,\n viewKey,\n }\n}\n"],"mappings":"AAIA,SAASA,mBAAmB,QAAQ;AAEpC,OAAO,MAAMC,oBAAA,GAAuBA,CAAC;EACnCC,MAAM;EACNC,YAAA,EAAcC;AAAqB,CAIpC;EAKC,MAAM;IACJC,KAAA,EAAO;MACLC,UAAA,EAAY;QAAEC;MAAK;IAAE,CACtB;IACDC,MAAA,EAAQ;MAAEH,KAAA,EAAOI;IAAU;EAAE,CAC9B,GAAGP,MAAA;EAEJ,MAAMC,YAAA,GAAeC,qBAAA,CAAsBM,OAAO,CAACD,UAAA,EAAY;EAC/D,IAAIE,OAAA;EAEJ,MAAMC,eAAA,GACJL,KAAC,IACC,OAAOA,KAAA,KAAU,YACjBM,MAAA,CAAOC,OAAO,CAACP,KAAA,EAAOQ,IAAI,CAAC,CAAC,CAACC,GAAA,EAAKC,IAAA,CAAK;IACrC,MAAMC,UAAA,GAAalB,mBAAA,CAAoB;MACrCG,YAAA;MACAgB,KAAA,EAAOF,IAAA,CAAKE,KAAK;MACjBC,IAAA,EAAMH,IAAA,CAAKG,IAAI;MACfC,SAAA,EAAWJ,IAAA,CAAKI,SAAS;MACzBC,MAAA,EAAQL,IAAA,CAAKK;IACf;IAEA,IAAIJ,UAAA,EAAY;MACdP,OAAA,GAAUK,GAAA;IACZ;IAEA,OAAOE,UAAA;EACT,KAAK,EAAE,IACTK,SAAA;EAEF,IAAI,CAACX,eAAA,EAAiB;IACpB,OAAO;MACLK,IAAA,EAAM;QACJO,SAAA,EAAW;MACb;MACAC,UAAA,EAAY;MACZd,OAAA,EAAS;IACX;EACF;EAEA,OAAO;IACLM,IAAA,EAAM;MACJS,gBAAA,EAAkBd,eAAA,CAAgBY;IACpC;IACAC,UAAA,EAAYb,eAAA;IACZD;EACF;AACF","ignoreList":[]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { AdminViewServerProps,
|
|
1
|
+
import type { AdminViewServerProps, DocumentSubViewTypes, ImportMap, PayloadComponent, SanitizedConfig, ServerPropsFromView, ViewTypes } from 'payload';
|
|
2
2
|
import type React from 'react';
|
|
3
3
|
import type { initPage } from '../../utilities/initPage/index.js';
|
|
4
4
|
export type ViewFromConfig = {
|
|
5
5
|
Component?: React.FC<AdminViewServerProps>;
|
|
6
6
|
payloadComponent?: PayloadComponent<AdminViewServerProps>;
|
|
7
7
|
};
|
|
8
|
-
type
|
|
8
|
+
type GetViewFromConfigArgs = {
|
|
9
9
|
adminRoute: string;
|
|
10
10
|
config: SanitizedConfig;
|
|
11
11
|
currentRoute: string;
|
|
@@ -15,17 +15,15 @@ type GetRouteDataArgs = {
|
|
|
15
15
|
};
|
|
16
16
|
segments: string[];
|
|
17
17
|
};
|
|
18
|
-
type
|
|
18
|
+
type GetViewFromConfigResult = {
|
|
19
19
|
DefaultView: ViewFromConfig;
|
|
20
20
|
documentSubViewType?: DocumentSubViewTypes;
|
|
21
|
-
folderCollectionSlugs: CollectionSlug[];
|
|
22
|
-
folderID?: string;
|
|
23
21
|
initPageOptions: Parameters<typeof initPage>[0];
|
|
24
22
|
serverProps: ServerPropsFromView;
|
|
25
23
|
templateClassName: string;
|
|
26
24
|
templateType: 'default' | 'minimal';
|
|
27
25
|
viewType?: ViewTypes;
|
|
28
26
|
};
|
|
29
|
-
export declare const
|
|
27
|
+
export declare const getViewFromConfig: ({ adminRoute, config, currentRoute, importMap, searchParams, segments, }: GetViewFromConfigArgs) => GetViewFromConfigResult;
|
|
30
28
|
export {};
|
|
31
|
-
//# sourceMappingURL=
|
|
29
|
+
//# sourceMappingURL=getViewFromConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getViewFromConfig.d.ts","sourceRoot":"","sources":["../../../src/views/Root/getViewFromConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,SAAS,EACV,MAAM,SAAS,CAAA;AAChB,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAA;AA8BjE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAA;IAC1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAA;CAC1D,CAAA;AAYD,KAAK,qBAAqB,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,eAAe,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;KACjC,CAAA;IACD,QAAQ,EAAE,MAAM,EAAE,CAAA;CACnB,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,cAAc,CAAA;IAC3B,mBAAmB,CAAC,EAAE,oBAAoB,CAAA;IAC1C,eAAe,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/C,WAAW,EAAE,mBAAmB,CAAA;IAChC,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,SAAS,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,iBAAiB,6EAO3B,qBAAqB,KAAG,uBAkN1B,CAAA"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { formatAdminURL } from 'payload/shared';
|
|
2
2
|
import { Account } from '../Account/index.js';
|
|
3
|
-
import { BrowseByFolder } from '../BrowseByFolder/index.js';
|
|
4
|
-
import { CollectionFolderView } from '../CollectionFolders/index.js';
|
|
5
3
|
import { CreateFirstUserView } from '../CreateFirstUser/index.js';
|
|
6
4
|
import { Dashboard } from '../Dashboard/index.js';
|
|
7
5
|
import { Document as DocumentView } from '../Document/index.js';
|
|
@@ -18,7 +16,6 @@ import { getDocumentViewInfo } from './getDocumentViewInfo.js';
|
|
|
18
16
|
import { isPathMatchingRoute } from './isPathMatchingRoute.js';
|
|
19
17
|
const baseClasses = {
|
|
20
18
|
account: 'account',
|
|
21
|
-
folders: 'folders',
|
|
22
19
|
forgot: forgotPasswordBaseClass,
|
|
23
20
|
login: loginBaseClass,
|
|
24
21
|
reset: resetPasswordBaseClass,
|
|
@@ -26,7 +23,6 @@ const baseClasses = {
|
|
|
26
23
|
};
|
|
27
24
|
const oneSegmentViews = {
|
|
28
25
|
account: Account,
|
|
29
|
-
browseByFolder: BrowseByFolder,
|
|
30
26
|
createFirstUser: CreateFirstUserView,
|
|
31
27
|
forgot: ForgotPasswordView,
|
|
32
28
|
inactivity: LogoutInactivity,
|
|
@@ -34,7 +30,7 @@ const oneSegmentViews = {
|
|
|
34
30
|
logout: LogoutView,
|
|
35
31
|
unauthorized: UnauthorizedView
|
|
36
32
|
};
|
|
37
|
-
export const
|
|
33
|
+
export const getViewFromConfig = ({
|
|
38
34
|
adminRoute,
|
|
39
35
|
config,
|
|
40
36
|
currentRoute,
|
|
@@ -47,7 +43,6 @@ export const getRouteData = ({
|
|
|
47
43
|
let templateType;
|
|
48
44
|
let documentSubViewType;
|
|
49
45
|
let viewType;
|
|
50
|
-
let folderID;
|
|
51
46
|
const initPageOptions = {
|
|
52
47
|
config,
|
|
53
48
|
importMap,
|
|
@@ -59,15 +54,6 @@ export const getRouteData = ({
|
|
|
59
54
|
const isCollection = segmentOne === 'collections';
|
|
60
55
|
let matchedCollection = undefined;
|
|
61
56
|
let matchedGlobal = undefined;
|
|
62
|
-
const folderCollectionSlugs = config.collections.reduce((acc, {
|
|
63
|
-
slug,
|
|
64
|
-
admin
|
|
65
|
-
}) => {
|
|
66
|
-
if (admin?.folders) {
|
|
67
|
-
return [...acc, slug];
|
|
68
|
-
}
|
|
69
|
-
return acc;
|
|
70
|
-
}, []);
|
|
71
57
|
const serverProps = {
|
|
72
58
|
viewActions: config?.admin?.components?.actions || []
|
|
73
59
|
};
|
|
@@ -119,7 +105,6 @@ export const getRouteData = ({
|
|
|
119
105
|
if (oneSegmentViews[viewKey]) {
|
|
120
106
|
// --> /account
|
|
121
107
|
// --> /create-first-user
|
|
122
|
-
// --> /browse-by-folder
|
|
123
108
|
// --> /forgot
|
|
124
109
|
// --> /login
|
|
125
110
|
// --> /logout
|
|
@@ -134,10 +119,6 @@ export const getRouteData = ({
|
|
|
134
119
|
templateType = 'default';
|
|
135
120
|
viewType = 'account';
|
|
136
121
|
}
|
|
137
|
-
if (folderCollectionSlugs.length && viewKey === 'browseByFolder') {
|
|
138
|
-
templateType = 'default';
|
|
139
|
-
viewType = 'folders';
|
|
140
|
-
}
|
|
141
122
|
}
|
|
142
123
|
break;
|
|
143
124
|
}
|
|
@@ -151,16 +132,8 @@ export const getRouteData = ({
|
|
|
151
132
|
templateClassName = baseClasses[segmentTwo];
|
|
152
133
|
templateType = 'minimal';
|
|
153
134
|
viewType = 'reset';
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
ViewToRender = {
|
|
157
|
-
Component: oneSegmentViews.browseByFolder
|
|
158
|
-
};
|
|
159
|
-
templateClassName = baseClasses.folders;
|
|
160
|
-
templateType = 'default';
|
|
161
|
-
viewType = 'folders';
|
|
162
|
-
folderID = segmentTwo;
|
|
163
|
-
} else if (isCollection && matchedCollection) {
|
|
135
|
+
}
|
|
136
|
+
if (isCollection && matchedCollection) {
|
|
164
137
|
// --> /collections/:collectionSlug
|
|
165
138
|
ViewToRender = {
|
|
166
139
|
Component: ListView
|
|
@@ -195,40 +168,27 @@ export const getRouteData = ({
|
|
|
195
168
|
templateType = 'minimal';
|
|
196
169
|
viewType = 'verify';
|
|
197
170
|
} else if (isCollection && matchedCollection) {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
Component: DocumentView
|
|
218
|
-
};
|
|
219
|
-
templateClassName = `collection-default-edit`;
|
|
220
|
-
templateType = 'default';
|
|
221
|
-
const viewInfo = getDocumentViewInfo([segmentFour, segmentFive]);
|
|
222
|
-
viewType = viewInfo.viewType;
|
|
223
|
-
documentSubViewType = viewInfo.documentSubViewType;
|
|
224
|
-
attachViewActions({
|
|
225
|
-
collectionOrGlobal: matchedCollection,
|
|
226
|
-
serverProps,
|
|
227
|
-
viewKeyArg: documentSubViewType
|
|
228
|
-
});
|
|
229
|
-
}
|
|
171
|
+
// Custom Views
|
|
172
|
+
// --> /collections/:collectionSlug/:id
|
|
173
|
+
// --> /collections/:collectionSlug/:id/api
|
|
174
|
+
// --> /collections/:collectionSlug/:id/preview
|
|
175
|
+
// --> /collections/:collectionSlug/:id/versions
|
|
176
|
+
// --> /collections/:collectionSlug/:id/versions/:versionID
|
|
177
|
+
ViewToRender = {
|
|
178
|
+
Component: DocumentView
|
|
179
|
+
};
|
|
180
|
+
templateClassName = `collection-default-edit`;
|
|
181
|
+
templateType = 'default';
|
|
182
|
+
const viewInfo = getDocumentViewInfo([segmentFour, segmentFive]);
|
|
183
|
+
viewType = viewInfo.viewType;
|
|
184
|
+
documentSubViewType = viewInfo.documentSubViewType;
|
|
185
|
+
attachViewActions({
|
|
186
|
+
collectionOrGlobal: matchedCollection,
|
|
187
|
+
serverProps,
|
|
188
|
+
viewKeyArg: documentSubViewType
|
|
189
|
+
});
|
|
230
190
|
} else if (isGlobal && matchedGlobal) {
|
|
231
|
-
//
|
|
191
|
+
// Custom Views
|
|
232
192
|
// --> /globals/:globalSlug/versions
|
|
233
193
|
// --> /globals/:globalSlug/preview
|
|
234
194
|
// --> /globals/:globalSlug/versions/:versionID
|
|
@@ -259,8 +219,6 @@ export const getRouteData = ({
|
|
|
259
219
|
return {
|
|
260
220
|
DefaultView: ViewToRender,
|
|
261
221
|
documentSubViewType,
|
|
262
|
-
folderCollectionSlugs,
|
|
263
|
-
folderID,
|
|
264
222
|
initPageOptions,
|
|
265
223
|
serverProps,
|
|
266
224
|
templateClassName,
|
|
@@ -268,4 +226,4 @@ export const getRouteData = ({
|
|
|
268
226
|
viewType
|
|
269
227
|
};
|
|
270
228
|
};
|
|
271
|
-
//# sourceMappingURL=
|
|
229
|
+
//# sourceMappingURL=getViewFromConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getViewFromConfig.js","names":["formatAdminURL","Account","CreateFirstUserView","Dashboard","Document","DocumentView","forgotPasswordBaseClass","ForgotPasswordView","ListView","loginBaseClass","LoginView","LogoutInactivity","LogoutView","ResetPassword","resetPasswordBaseClass","UnauthorizedView","Verify","verifyBaseClass","attachViewActions","getViewActions","getCustomViewByRoute","getDocumentViewInfo","isPathMatchingRoute","baseClasses","account","forgot","login","reset","verify","oneSegmentViews","createFirstUser","inactivity","logout","unauthorized","getViewFromConfig","adminRoute","config","currentRoute","importMap","searchParams","segments","ViewToRender","templateClassName","templateType","documentSubViewType","viewType","initPageOptions","route","segmentOne","segmentTwo","segmentThree","segmentFour","segmentFive","isGlobal","isCollection","matchedCollection","undefined","matchedGlobal","serverProps","viewActions","admin","components","actions","collections","find","slug","collectionConfig","globals","globalConfig","length","Component","viewKey","routes","matchedRoute","Object","entries","exact","path","concat","views","list","editConfig","edit","viewInfo","collectionOrGlobal","viewKeyArg","view","reverse","DefaultView"],"sources":["../../../src/views/Root/getViewFromConfig.ts"],"sourcesContent":["import type {\n AdminViewServerProps,\n DocumentSubViewTypes,\n ImportMap,\n PayloadComponent,\n SanitizedConfig,\n ServerPropsFromView,\n ViewTypes,\n} from 'payload'\nimport type React from 'react'\n\nimport { formatAdminURL } from 'payload/shared'\n\nimport type { initPage } from '../../utilities/initPage/index.js'\n\nimport { Account } from '../Account/index.js'\nimport { CreateFirstUserView } from '../CreateFirstUser/index.js'\nimport { Dashboard } from '../Dashboard/index.js'\nimport { Document as DocumentView } from '../Document/index.js'\nimport { forgotPasswordBaseClass, ForgotPasswordView } from '../ForgotPassword/index.js'\nimport { ListView } from '../List/index.js'\nimport { loginBaseClass, LoginView } from '../Login/index.js'\nimport { LogoutInactivity, LogoutView } from '../Logout/index.js'\nimport { ResetPassword, resetPasswordBaseClass } from '../ResetPassword/index.js'\nimport { UnauthorizedView } from '../Unauthorized/index.js'\nimport { Verify, verifyBaseClass } from '../Verify/index.js'\nimport { attachViewActions, getViewActions } from './attachViewActions.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\nimport { getDocumentViewInfo } from './getDocumentViewInfo.js'\nimport { isPathMatchingRoute } from './isPathMatchingRoute.js'\n\nconst baseClasses = {\n account: 'account',\n forgot: forgotPasswordBaseClass,\n login: loginBaseClass,\n reset: resetPasswordBaseClass,\n verify: verifyBaseClass,\n}\n\ntype OneSegmentViews = {\n [K in Exclude<keyof SanitizedConfig['admin']['routes'], 'reset'>]: React.FC<AdminViewServerProps>\n}\n\nexport type ViewFromConfig = {\n Component?: React.FC<AdminViewServerProps>\n payloadComponent?: PayloadComponent<AdminViewServerProps>\n}\n\nconst oneSegmentViews: OneSegmentViews = {\n account: Account,\n createFirstUser: CreateFirstUserView,\n forgot: ForgotPasswordView,\n inactivity: LogoutInactivity,\n login: LoginView,\n logout: LogoutView,\n unauthorized: UnauthorizedView,\n}\n\ntype GetViewFromConfigArgs = {\n adminRoute: string\n config: SanitizedConfig\n currentRoute: string\n importMap: ImportMap\n searchParams: {\n [key: string]: string | string[]\n }\n segments: string[]\n}\n\ntype GetViewFromConfigResult = {\n DefaultView: ViewFromConfig\n documentSubViewType?: DocumentSubViewTypes\n initPageOptions: Parameters<typeof initPage>[0]\n serverProps: ServerPropsFromView\n templateClassName: string\n templateType: 'default' | 'minimal'\n viewType?: ViewTypes\n}\n\nexport const getViewFromConfig = ({\n adminRoute,\n config,\n currentRoute,\n importMap,\n searchParams,\n segments,\n}: GetViewFromConfigArgs): GetViewFromConfigResult => {\n let ViewToRender: ViewFromConfig = null\n let templateClassName: string\n let templateType: 'default' | 'minimal' | undefined\n let documentSubViewType: DocumentSubViewTypes\n let viewType: ViewTypes\n\n const initPageOptions: Parameters<typeof initPage>[0] = {\n config,\n importMap,\n route: currentRoute,\n searchParams,\n }\n\n const [segmentOne, segmentTwo, segmentThree, segmentFour, segmentFive] = segments\n\n const isGlobal = segmentOne === 'globals'\n const isCollection = segmentOne === 'collections'\n let matchedCollection: SanitizedConfig['collections'][number] = undefined\n let matchedGlobal: SanitizedConfig['globals'][number] = undefined\n\n const serverProps: ServerPropsFromView = {\n viewActions: config?.admin?.components?.actions || [],\n }\n\n if (isCollection) {\n matchedCollection = config.collections.find(({ slug }) => slug === segmentTwo)\n serverProps.collectionConfig = matchedCollection\n }\n\n if (isGlobal) {\n matchedGlobal = config.globals.find(({ slug }) => slug === segmentTwo)\n serverProps.globalConfig = matchedGlobal\n }\n\n switch (segments.length) {\n case 0: {\n if (currentRoute === adminRoute) {\n ViewToRender = {\n Component: Dashboard,\n }\n templateClassName = 'dashboard'\n templateType = 'default'\n viewType = 'dashboard'\n }\n break\n }\n case 1: {\n // users can override the default routes via `admin.routes` config\n // i.e.{ admin: { routes: { logout: '/sign-out', inactivity: '/idle' }}}\n let viewKey: keyof typeof oneSegmentViews\n\n if (config.admin.routes) {\n const matchedRoute = Object.entries(config.admin.routes).find(([, route]) => {\n return isPathMatchingRoute({\n currentRoute,\n exact: true,\n path: formatAdminURL({ adminRoute, path: route }),\n })\n })\n\n if (matchedRoute) {\n viewKey = matchedRoute[0] as keyof typeof oneSegmentViews\n }\n }\n\n if (oneSegmentViews[viewKey]) {\n // --> /account\n // --> /create-first-user\n // --> /forgot\n // --> /login\n // --> /logout\n // --> /logout-inactivity\n // --> /unauthorized\n\n ViewToRender = {\n Component: oneSegmentViews[viewKey],\n }\n\n templateClassName = baseClasses[viewKey]\n templateType = 'minimal'\n\n if (viewKey === 'account') {\n templateType = 'default'\n viewType = 'account'\n }\n }\n break\n }\n case 2: {\n if (`/${segmentOne}` === config.admin.routes.reset) {\n // --> /reset/:token\n ViewToRender = {\n Component: ResetPassword,\n }\n templateClassName = baseClasses[segmentTwo]\n templateType = 'minimal'\n viewType = 'reset'\n }\n\n if (isCollection && matchedCollection) {\n // --> /collections/:collectionSlug\n\n ViewToRender = {\n Component: ListView,\n }\n\n templateClassName = `${segmentTwo}-list`\n templateType = 'default'\n viewType = 'list'\n serverProps.viewActions = serverProps.viewActions.concat(\n matchedCollection.admin.components?.views?.list?.actions,\n )\n } else if (isGlobal && matchedGlobal) {\n // --> /globals/:globalSlug\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = 'global-edit'\n templateType = 'default'\n viewType = 'document'\n\n // add default view actions\n serverProps.viewActions = serverProps.viewActions.concat(\n getViewActions({\n editConfig: matchedGlobal.admin?.components?.views?.edit,\n viewKey: 'default',\n }),\n )\n }\n break\n }\n default:\n if (segmentTwo === 'verify') {\n // --> /:collectionSlug/verify/:token\n ViewToRender = {\n Component: Verify,\n }\n\n templateClassName = 'verify'\n templateType = 'minimal'\n viewType = 'verify'\n } else if (isCollection && matchedCollection) {\n // Custom Views\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/versions/:versionID\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `collection-default-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentFour, segmentFive])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n attachViewActions({\n collectionOrGlobal: matchedCollection,\n serverProps,\n viewKeyArg: documentSubViewType,\n })\n } else if (isGlobal && matchedGlobal) {\n // Custom Views\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/versions/:versionID\n // --> /globals/:globalSlug/api\n\n ViewToRender = {\n Component: DocumentView,\n }\n\n templateClassName = `global-edit`\n templateType = 'default'\n\n const viewInfo = getDocumentViewInfo([segmentThree, segmentFour])\n viewType = viewInfo.viewType\n documentSubViewType = viewInfo.documentSubViewType\n\n attachViewActions({\n collectionOrGlobal: matchedGlobal,\n serverProps,\n viewKeyArg: documentSubViewType,\n })\n }\n break\n }\n\n if (!ViewToRender) {\n ViewToRender = getCustomViewByRoute({ config, currentRoute })?.view\n }\n\n serverProps.viewActions.reverse()\n\n return {\n DefaultView: ViewToRender,\n documentSubViewType,\n initPageOptions,\n serverProps,\n templateClassName,\n templateType,\n viewType,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|