@payloadcms/next 3.43.0-internal.c5bbc84 → 3.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +26 -36
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +35 -81
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +8 -6
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +91 -61
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +10 -10
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +1 -0
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/Document/getDocumentView.d.ts +18 -0
- package/dist/views/Document/getDocumentView.d.ts.map +1 -0
- package/dist/views/Document/getDocumentView.js +264 -0
- package/dist/views/Document/getDocumentView.js.map +1 -0
- package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
- package/dist/views/Document/getMetaBySegment.js +10 -3
- package/dist/views/Document/getMetaBySegment.js.map +1 -1
- package/dist/views/Document/handleServerFunction.d.ts +2 -21
- package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
- package/dist/views/Document/handleServerFunction.js +8 -4
- package/dist/views/Document/handleServerFunction.js.map +1 -1
- package/dist/views/Document/index.d.ts +4 -2
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +38 -77
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.d.ts +3 -3
- package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js +7 -0
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/List/handleServerFunction.d.ts +3 -4
- package/dist/views/List/handleServerFunction.d.ts.map +1 -1
- package/dist/views/List/handleServerFunction.js.map +1 -1
- package/dist/views/Unauthorized/index.d.ts +1 -0
- package/dist/views/Unauthorized/index.d.ts.map +1 -1
- package/dist/views/Unauthorized/index.js +9 -1
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Unauthorized/index.scss +4 -0
- package/dist/views/Version/Default/SetStepNav.d.ts +4 -5
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +45 -70
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +189 -103
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/index.scss +128 -34
- package/dist/views/Version/Default/types.d.ts +16 -10
- package/dist/views/Version/Default/types.d.ts.map +1 -1
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +10 -13
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +65 -61
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +41 -6
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts +6 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +21 -17
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts +4 -3
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +87 -57
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +12 -12
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts +4 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +75 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +12 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +12 -12
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +0 -10
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +31 -22
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +37 -5
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts +10 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +41 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +19 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +175 -131
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +84 -8
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +38 -48
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +0 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +38 -38
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +0 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +77 -60
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +0 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts +24 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +176 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +121 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +4 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +1 -0
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts +14 -4
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +26 -31
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/Restore/index.scss +6 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.d.ts +3 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.d.ts.map +1 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +90 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +30 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js +232 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +18 -0
- package/dist/views/Version/SelectComparison/index.d.ts +1 -1
- package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +37 -162
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.scss +4 -10
- package/dist/views/Version/SelectComparison/types.d.ts +4 -7
- package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/types.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.d.ts +9 -2
- package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +33 -60
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.d.ts +35 -0
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.d.ts.map +1 -0
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +109 -0
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -0
- package/dist/views/Version/VersionPillLabel/getVersionLabel.d.ts +30 -0
- package/dist/views/Version/VersionPillLabel/getVersionLabel.d.ts.map +1 -0
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js +34 -0
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -0
- package/dist/views/Version/VersionPillLabel/index.scss +26 -0
- package/dist/views/Version/fetchVersions.d.ts +42 -0
- package/dist/views/Version/fetchVersions.d.ts.map +1 -0
- package/dist/views/Version/fetchVersions.js +147 -0
- package/dist/views/Version/fetchVersions.js.map +1 -0
- package/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js +253 -143
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Version/metadata.js +1 -1
- package/dist/views/Version/metadata.js.map +1 -1
- package/dist/views/Versions/buildColumns.d.ts +13 -5
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/buildColumns.js +6 -4
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts +11 -5
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +34 -103
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.d.ts +1 -2
- package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/index.d.ts +0 -1
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +89 -153
- package/dist/views/Versions/index.js.map +1 -1
- package/package.json +6 -7
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.d.ts +0 -6
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.d.ts.map +0 -1
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +0 -34
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +0 -1
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.d.ts +0 -7
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.d.ts.map +0 -1
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +0 -17
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +0 -1
- package/dist/views/Document/getViewsFromConfig.d.ts +0 -27
- package/dist/views/Document/getViewsFromConfig.d.ts.map +0 -1
- package/dist/views/Document/getViewsFromConfig.js +0 -330
- package/dist/views/Document/getViewsFromConfig.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts +0 -9
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +0 -23
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts +0 -9
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +0 -23
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.d.ts +0 -7
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js +0 -7
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.d.ts +0 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js +0 -37
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +0 -1
- package/dist/views/Version/Restore/types.d.ts +0 -12
- package/dist/views/Version/Restore/types.d.ts.map +0 -1
- package/dist/views/Version/Restore/types.js +0 -2
- package/dist/views/Version/Restore/types.js.map +0 -1
- package/dist/views/Version/SelectLocales/index.scss +0 -9
- package/dist/views/Version/SelectLocales/types.d.ts +0 -7
- package/dist/views/Version/SelectLocales/types.d.ts.map +0 -1
- package/dist/views/Version/SelectLocales/types.js +0 -2
- package/dist/views/Version/SelectLocales/types.js.map +0 -1
- package/dist/views/Versions/getLatestVersion.d.ts +0 -18
- package/dist/views/Versions/getLatestVersion.d.ts.map +0 -1
- package/dist/views/Versions/getLatestVersion.js +0 -59
- package/dist/views/Versions/getLatestVersion.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleServerFunction.js","names":["getClientConfig","headers","getHeaders","getAccessResults","isEntityHidden","parseCookies","renderDocument","renderDocumentHandler","args","collectionSlug","disableActions","docID","drawerSlug","initialData","locale","overrideEntityVisibility","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","req","i18n","payload","config","user","cookies","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","clientConfig","importMap","preferences","preferencesKey","where","and","key","equals","id","then","res","value","visibleEntities","map","slug","hidden","filter","Boolean","globals","permissions","data","Document","documentSubViewType","initPageResult","collectionConfig","globalConfig","global","languageOptions","undefined","translations","params","segments","
|
|
1
|
+
{"version":3,"file":"handleServerFunction.js","names":["getClientConfig","headers","getHeaders","getAccessResults","isEntityHidden","parseCookies","renderDocument","renderDocumentHandler","args","collectionSlug","disableActions","docID","drawerSlug","initialData","locale","overrideEntityVisibility","paramsOverride","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","req","i18n","payload","config","user","searchParams","versions","cookies","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","clientConfig","importMap","preferences","preferencesKey","where","and","key","equals","id","then","res","value","visibleEntities","map","slug","hidden","filter","Boolean","globals","permissions","data","Document","documentSubViewType","initPageResult","collectionConfig","globalConfig","global","languageOptions","undefined","translations","params","segments","String","viewType"],"sources":["../../../src/views/Document/handleServerFunction.tsx"],"sourcesContent":["import type { RenderDocumentServerFunction } from '@payloadcms/ui'\nimport type { DocumentPreferences, VisibleEntities } from 'payload'\n\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { getAccessResults, isEntityHidden, parseCookies } from 'payload'\n\nimport { renderDocument } from './index.js'\n\nexport const renderDocumentHandler: RenderDocumentServerFunction = async (args) => {\n const {\n collectionSlug,\n disableActions,\n docID,\n drawerSlug,\n initialData,\n locale,\n overrideEntityVisibility,\n paramsOverride,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n searchParams = {},\n versions,\n } = args\n\n const headers = await getHeaders()\n\n const cookies = parseCookies(headers)\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap: req.payload.importMap,\n })\n\n let preferences: DocumentPreferences\n\n if (docID) {\n const preferencesKey = `${collectionSlug}-edit-${docID}`\n\n preferences = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0]?.value as DocumentPreferences)\n }\n\n const visibleEntities: VisibleEntities = {\n collections: payload.config.collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: payload.config.globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n const permissions = await getAccessResults({\n req,\n })\n\n const { data, Document } = await renderDocument({\n clientConfig,\n disableActions,\n documentSubViewType: 'default',\n drawerSlug,\n i18n,\n importMap: payload.importMap,\n initialData,\n initPageResult: {\n collectionConfig: payload?.collections?.[collectionSlug]?.config,\n cookies,\n docID,\n globalConfig: payload.config.globals.find((global) => global.slug === collectionSlug),\n languageOptions: undefined, // TODO\n locale,\n permissions,\n req,\n translations: undefined, // TODO\n visibleEntities,\n },\n overrideEntityVisibility,\n params: paramsOverride ?? {\n segments: ['collections', collectionSlug, String(docID)],\n },\n payload,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams,\n versions,\n viewType: 'document',\n })\n\n return {\n data,\n Document,\n preferences,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import type { AdminViewServerProps, Data } from 'payload';
|
|
1
|
+
import type { AdminViewServerProps, Data, DocumentViewClientProps, DocumentViewServerProps, EditViewComponent, PayloadComponent, RenderDocumentVersionsProperties } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { GenerateEditViewMetadata } from './getMetaBySegment.js';
|
|
4
4
|
export declare const generateMetadata: GenerateEditViewMetadata;
|
|
5
|
+
export type ViewToRender = EditViewComponent | PayloadComponent<DocumentViewServerProps> | React.FC | React.FC<DocumentViewClientProps>;
|
|
5
6
|
/**
|
|
6
7
|
* This function is responsible for rendering
|
|
7
8
|
* an Edit Document view on the server for both:
|
|
8
9
|
* - default document edit views
|
|
9
10
|
* - on-demand edit views within drawers
|
|
10
11
|
*/
|
|
11
|
-
export declare const renderDocument: ({ disableActions, documentSubViewType, drawerSlug, importMap, initialData, initPageResult, overrideEntityVisibility, params, redirectAfterCreate, redirectAfterDelete, redirectAfterDuplicate, searchParams, viewType, }: {
|
|
12
|
+
export declare const renderDocument: ({ disableActions, documentSubViewType, drawerSlug, importMap, initialData, initPageResult, overrideEntityVisibility, params, redirectAfterCreate, redirectAfterDelete, redirectAfterDuplicate, searchParams, versions, viewType, }: {
|
|
12
13
|
drawerSlug?: string;
|
|
13
14
|
overrideEntityVisibility?: boolean;
|
|
14
15
|
readonly redirectAfterCreate?: boolean;
|
|
15
16
|
readonly redirectAfterDelete?: boolean;
|
|
16
17
|
readonly redirectAfterDuplicate?: boolean;
|
|
18
|
+
versions?: RenderDocumentVersionsProperties;
|
|
17
19
|
} & AdminViewServerProps) => Promise<{
|
|
18
20
|
data: Data;
|
|
19
21
|
Document: React.ReactNode;
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,uBAAuB,EACvB,uBAAuB,EAEvB,iBAAiB,EACjB,gBAAgB,EAChB,gCAAgC,EACjC,MAAM,SAAS,CAAA;AAShB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAarE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAEhG,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,gBAAgB,CAAC,uBAAuB,CAAC,GACzC,KAAK,CAAC,EAAE,GACR,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAA;AAErC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,uOAexB;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,EAAE,gCAAgC,CAAA;CAC5C,GAAG,oBAAoB,KAAG,OAAO,CAAC;IACjC,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAgSA,CAAA;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,+QAezD"}
|
|
@@ -12,10 +12,10 @@ import { NotFoundView } from '../NotFound/index.js';
|
|
|
12
12
|
import { getDocPreferences } from './getDocPreferences.js';
|
|
13
13
|
import { getDocumentData } from './getDocumentData.js';
|
|
14
14
|
import { getDocumentPermissions } from './getDocumentPermissions.js';
|
|
15
|
+
import { getDocumentView } from './getDocumentView.js';
|
|
15
16
|
import { getIsLocked } from './getIsLocked.js';
|
|
16
17
|
import { getMetaBySegment } from './getMetaBySegment.js';
|
|
17
18
|
import { getVersions } from './getVersions.js';
|
|
18
|
-
import { getViewsFromConfig } from './getViewsFromConfig.js';
|
|
19
19
|
import { renderDocumentSlots } from './renderDocumentSlots.js';
|
|
20
20
|
export const generateMetadata = async args => getMetaBySegment(args);
|
|
21
21
|
/**
|
|
@@ -37,6 +37,7 @@ export const renderDocument = async ({
|
|
|
37
37
|
redirectAfterDelete,
|
|
38
38
|
redirectAfterDuplicate,
|
|
39
39
|
searchParams,
|
|
40
|
+
versions,
|
|
40
41
|
viewType
|
|
41
42
|
}) => {
|
|
42
43
|
const {
|
|
@@ -71,11 +72,6 @@ export const renderDocument = async ({
|
|
|
71
72
|
collectionSlug,
|
|
72
73
|
globalSlug
|
|
73
74
|
});
|
|
74
|
-
let RootViewOverride;
|
|
75
|
-
let CustomView;
|
|
76
|
-
let DefaultView;
|
|
77
|
-
let ErrorView;
|
|
78
|
-
let apiURL;
|
|
79
75
|
// Fetch the doc required for the view
|
|
80
76
|
let doc = initialData || (await getDocumentData({
|
|
81
77
|
id: idFromArgs,
|
|
@@ -155,6 +151,7 @@ export const renderDocument = async ({
|
|
|
155
151
|
})]);
|
|
156
152
|
const documentViewServerProps = {
|
|
157
153
|
doc,
|
|
154
|
+
hasPublishedDoc,
|
|
158
155
|
i18n,
|
|
159
156
|
initPageResult,
|
|
160
157
|
locale,
|
|
@@ -163,71 +160,40 @@ export const renderDocument = async ({
|
|
|
163
160
|
permissions,
|
|
164
161
|
routeSegments: segments,
|
|
165
162
|
searchParams,
|
|
166
|
-
user
|
|
163
|
+
user,
|
|
164
|
+
versions
|
|
167
165
|
};
|
|
168
|
-
if (
|
|
169
|
-
|
|
170
|
-
throw new Error('not-found');
|
|
171
|
-
}
|
|
172
|
-
const params = new URLSearchParams();
|
|
173
|
-
if (collectionConfig.versions?.drafts) {
|
|
174
|
-
params.append('draft', 'true');
|
|
175
|
-
}
|
|
176
|
-
if (locale?.code) {
|
|
177
|
-
params.append('locale', locale.code);
|
|
178
|
-
}
|
|
179
|
-
const apiQueryParams = `?${params.toString()}`;
|
|
180
|
-
apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${idFromArgs}${apiQueryParams}`;
|
|
181
|
-
RootViewOverride = collectionConfig?.admin?.components?.views?.edit?.root && 'Component' in collectionConfig.admin.components.views.edit.root ? collectionConfig?.admin?.components?.views?.edit?.root?.Component : null;
|
|
182
|
-
if (!RootViewOverride) {
|
|
183
|
-
const collectionViews = getViewsFromConfig({
|
|
184
|
-
collectionConfig,
|
|
185
|
-
config,
|
|
186
|
-
docPermissions,
|
|
187
|
-
routeSegments: segments
|
|
188
|
-
});
|
|
189
|
-
CustomView = collectionViews?.CustomView;
|
|
190
|
-
DefaultView = collectionViews?.DefaultView;
|
|
191
|
-
ErrorView = collectionViews?.ErrorView;
|
|
192
|
-
}
|
|
193
|
-
if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {
|
|
194
|
-
ErrorView = {
|
|
195
|
-
Component: NotFoundView
|
|
196
|
-
};
|
|
197
|
-
}
|
|
166
|
+
if (!overrideEntityVisibility && (collectionSlug && !visibleEntities?.collections?.find(visibleSlug => visibleSlug === collectionSlug) || globalSlug && !visibleEntities?.globals?.find(visibleSlug => visibleSlug === globalSlug))) {
|
|
167
|
+
throw new Error('not-found');
|
|
198
168
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
Component: NotFoundView
|
|
228
|
-
};
|
|
229
|
-
}
|
|
230
|
-
}
|
|
169
|
+
const formattedParams = new URLSearchParams();
|
|
170
|
+
if (collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) {
|
|
171
|
+
formattedParams.append('draft', 'true');
|
|
172
|
+
}
|
|
173
|
+
if (locale?.code) {
|
|
174
|
+
formattedParams.append('locale', locale.code);
|
|
175
|
+
}
|
|
176
|
+
const apiQueryParams = `?${formattedParams.toString()}`;
|
|
177
|
+
const apiURL = collectionSlug ? `${serverURL}${apiRoute}/${collectionSlug}/${idFromArgs}${apiQueryParams}` : globalSlug ? `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}` : '';
|
|
178
|
+
let View = null;
|
|
179
|
+
let showHeader = true;
|
|
180
|
+
const RootViewOverride = collectionConfig?.admin?.components?.views?.edit?.root && 'Component' in collectionConfig.admin.components.views.edit.root ? collectionConfig?.admin?.components?.views?.edit?.root?.Component : globalConfig?.admin?.components?.views?.edit?.root && 'Component' in globalConfig.admin.components.views.edit.root ? globalConfig?.admin?.components?.views?.edit?.root?.Component : null;
|
|
181
|
+
if (RootViewOverride) {
|
|
182
|
+
View = RootViewOverride;
|
|
183
|
+
showHeader = false;
|
|
184
|
+
} else {
|
|
185
|
+
({
|
|
186
|
+
View
|
|
187
|
+
} = getDocumentView({
|
|
188
|
+
collectionConfig,
|
|
189
|
+
config,
|
|
190
|
+
docPermissions,
|
|
191
|
+
globalConfig,
|
|
192
|
+
routeSegments: segments
|
|
193
|
+
}));
|
|
194
|
+
}
|
|
195
|
+
if (!View) {
|
|
196
|
+
View = NotFoundView;
|
|
231
197
|
}
|
|
232
198
|
/**
|
|
233
199
|
* Handle case where autoSave is enabled and the document is being created
|
|
@@ -303,7 +269,7 @@ export const renderDocument = async ({
|
|
|
303
269
|
redirectAfterDuplicate: redirectAfterDuplicate,
|
|
304
270
|
unpublishedVersionCount: unpublishedVersionCount,
|
|
305
271
|
versionCount: versionCount,
|
|
306
|
-
children: [
|
|
272
|
+
children: [showHeader && !drawerSlug && /*#__PURE__*/_jsx(DocumentHeader, {
|
|
307
273
|
collectionConfig: collectionConfig,
|
|
308
274
|
globalConfig: globalConfig,
|
|
309
275
|
i18n: i18n,
|
|
@@ -312,14 +278,9 @@ export const renderDocument = async ({
|
|
|
312
278
|
}), /*#__PURE__*/_jsx(HydrateAuthProvider, {
|
|
313
279
|
permissions: permissions
|
|
314
280
|
}), /*#__PURE__*/_jsx(EditDepthProvider, {
|
|
315
|
-
children:
|
|
316
|
-
clientProps,
|
|
317
|
-
Component: ErrorView.ComponentConfig || ErrorView.Component,
|
|
318
|
-
importMap,
|
|
319
|
-
serverProps: documentViewServerProps
|
|
320
|
-
}) : RenderServerComponent({
|
|
281
|
+
children: RenderServerComponent({
|
|
321
282
|
clientProps,
|
|
322
|
-
Component:
|
|
283
|
+
Component: View,
|
|
323
284
|
importMap,
|
|
324
285
|
serverProps: documentViewServerProps
|
|
325
286
|
})
|
|
@@ -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":"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","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","getDocumentView","getIsLocked","getMetaBySegment","getVersions","renderDocumentSlots","generateMetadata","args","renderDocument","disableActions","documentSubViewType","drawerSlug","importMap","initialData","initPageResult","overrideEntityVisibility","params","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","searchParams","versions","viewType","collectionConfig","docID","idFromArgs","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","id","doc","Error","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","currentEditor","isLocked","lastUpdateTime","Promise","all","data","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","code","fallbackLocale","operation","renderAllFields","schemaPath","skipValidation","documentViewServerProps","routeSegments","collections","find","visibleSlug","globals","formattedParams","URLSearchParams","drafts","append","apiQueryParams","toString","apiURL","View","showHeader","RootViewOverride","components","views","edit","root","Component","shouldAutosave","autosave","validateDraftData","validate","create","collection","depth","draft","redirectURL","path","documentSlots","clientProps","Document","_jsxs","initialState","_jsx","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 EditViewComponent,\n PayloadComponent,\n RenderDocumentVersionsProperties,\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'\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 { getDocumentView } from './getDocumentView.js'\nimport { getIsLocked } from './getIsLocked.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getVersions } from './getVersions.js'\nimport { renderDocumentSlots } from './renderDocumentSlots.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\nexport type ViewToRender =\n | EditViewComponent\n | PayloadComponent<DocumentViewServerProps>\n | React.FC\n | React.FC<DocumentViewClientProps>\n\n/**\n * This function is responsible for rendering\n * an Edit Document view on the server for both:\n * - default document edit views\n * - on-demand edit views within drawers\n */\nexport const renderDocument = async ({\n disableActions,\n documentSubViewType,\n drawerSlug,\n importMap,\n initialData,\n initPageResult,\n overrideEntityVisibility,\n params,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams,\n versions,\n viewType,\n}: {\n drawerSlug?: string\n overrideEntityVisibility?: boolean\n readonly redirectAfterCreate?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n versions?: RenderDocumentVersionsProperties\n} & AdminViewServerProps): Promise<{\n data: Data\n Document: React.ReactNode\n}> => {\n const {\n collectionConfig,\n docID: idFromArgs,\n globalConfig,\n locale,\n permissions,\n req,\n req: {\n i18n,\n payload,\n payload: {\n config,\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n },\n user,\n },\n visibleEntities,\n } = initPageResult\n\n const segments = Array.isArray(params?.segments) ? params.segments : []\n const collectionSlug = collectionConfig?.slug || undefined\n const globalSlug = globalConfig?.slug || undefined\n let isEditing = getIsEditing({ id: idFromArgs, collectionSlug, globalSlug })\n\n // Fetch the doc required for the view\n let doc =\n initialData ||\n (await getDocumentData({\n id: idFromArgs,\n collectionSlug,\n globalSlug,\n locale,\n payload,\n req,\n user,\n }))\n\n if (isEditing && !doc) {\n throw new Error('not-found')\n }\n\n const [\n docPreferences,\n { docPermissions, hasPublishPermission, hasSavePermission },\n { currentEditor, isLocked, lastUpdateTime },\n ] = 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 hasPublishedDoc,\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n versions,\n }\n\n if (\n !overrideEntityVisibility &&\n ((collectionSlug &&\n !visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) ||\n (globalSlug && !visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)))\n ) {\n throw new Error('not-found')\n }\n\n const formattedParams = new URLSearchParams()\n\n if (collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) {\n formattedParams.append('draft', 'true')\n }\n\n if (locale?.code) {\n formattedParams.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${formattedParams.toString()}`\n\n const apiURL = collectionSlug\n ? `${serverURL}${apiRoute}/${collectionSlug}/${idFromArgs}${apiQueryParams}`\n : globalSlug\n ? `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`\n : ''\n\n let View: ViewToRender = null\n\n let showHeader = true\n\n const RootViewOverride =\n collectionConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in collectionConfig.admin.components.views.edit.root\n ? collectionConfig?.admin?.components?.views?.edit?.root?.Component\n : globalConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in globalConfig.admin.components.views.edit.root\n ? globalConfig?.admin?.components?.views?.edit?.root?.Component\n : null\n\n if (RootViewOverride) {\n View = RootViewOverride\n showHeader = false\n } else {\n ;({ View } = getDocumentView({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n }))\n }\n\n if (!View) {\n View = NotFoundView\n }\n\n /**\n * Handle case where autoSave is enabled and the document is being created\n * => create document and redirect\n */\n const shouldAutosave =\n hasSavePermission &&\n ((collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave))\n\n const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n let id = idFromArgs\n\n if (shouldAutosave && !validateDraftData && !idFromArgs && collectionSlug) {\n doc = await payload.create({\n collection: collectionSlug,\n data: initialData || {},\n depth: 0,\n draft: true,\n fallbackLocale: false,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n id = doc.id\n isEditing = getIsEditing({ id: doc.id, collectionSlug, globalSlug })\n\n if (!drawerSlug && redirectAfterCreate !== false) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n serverURL,\n })\n\n redirect(redirectURL)\n }\n } else {\n throw new Error('not-found')\n }\n }\n\n const documentSlots = renderDocumentSlots({\n collectionConfig,\n globalConfig,\n hasSavePermission,\n permissions: docPermissions,\n req,\n })\n\n const clientProps: DocumentViewClientProps = {\n formState,\n ...documentSlots,\n documentSubViewType,\n viewType,\n }\n\n 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 {showHeader && !drawerSlug && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n <EditDepthProvider>\n {RenderServerComponent({\n clientProps,\n Component: View,\n importMap,\n serverProps: documentViewServerProps,\n })}\n </EditDepthProvider>\n </DocumentInfoProvider>\n ),\n }\n}\n\nexport async function Document(props: AdminViewServerProps) {\n try {\n const { Document: RenderedDocument } = await renderDocument(props)\n return RenderedDocument\n } catch (error) {\n if (error?.message === 'NEXT_REDIRECT') {\n throw error\n }\n\n logError({ err: error, payload: props.initPageResult.req.payload })\n\n if (error.message === 'not-found') {\n notFound()\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { DocumentSlots, PayloadRequest, SanitizedCollectionConfig, SanitizedDocumentPermissions, SanitizedGlobalConfig, ServerFunction } from 'payload';
|
|
2
2
|
export declare const renderDocumentSlots: (args: {
|
|
3
3
|
collectionConfig?: SanitizedCollectionConfig;
|
|
4
4
|
globalConfig?: SanitizedGlobalConfig;
|
|
@@ -6,7 +6,7 @@ export declare const renderDocumentSlots: (args: {
|
|
|
6
6
|
permissions: SanitizedDocumentPermissions;
|
|
7
7
|
req: PayloadRequest;
|
|
8
8
|
}) => DocumentSlots;
|
|
9
|
-
export declare const renderDocumentSlotsHandler:
|
|
9
|
+
export declare const renderDocumentSlotsHandler: ServerFunction<{
|
|
10
10
|
collectionSlug: string;
|
|
11
|
-
}
|
|
11
|
+
}>;
|
|
12
12
|
//# sourceMappingURL=renderDocumentSlots.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderDocumentSlots.d.ts","sourceRoot":"","sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"renderDocumentSlots.d.ts","sourceRoot":"","sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,aAAa,EAEb,cAAc,EAGd,yBAAyB,EACzB,4BAA4B,EAC5B,qBAAqB,EAGrB,cAAc,EAKf,MAAM,SAAS,CAAA;AAOhB,eAAO,MAAM,mBAAmB,EAAE,CAAC,IAAI,EAAE;IACvC,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,WAAW,EAAE,4BAA4B,CAAA;IACzC,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,aA0IL,CAAA;AAED,eAAO,MAAM,0BAA0B,EAAE,cAAc,CAAC;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAuBjF,CAAA"}
|
|
@@ -95,6 +95,13 @@ export const renderDocumentSlots = args => {
|
|
|
95
95
|
serverProps
|
|
96
96
|
});
|
|
97
97
|
}
|
|
98
|
+
if (collectionConfig?.upload && collectionConfig.upload.admin?.components?.controls) {
|
|
99
|
+
components.UploadControls = RenderServerComponent({
|
|
100
|
+
Component: collectionConfig.upload.admin.components.controls,
|
|
101
|
+
importMap: req.payload.importMap,
|
|
102
|
+
serverProps
|
|
103
|
+
});
|
|
104
|
+
}
|
|
98
105
|
return components;
|
|
99
106
|
};
|
|
100
107
|
export const renderDocumentSlotsHandler = async args => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderDocumentSlots.js","names":["ViewDescription","RenderServerComponent","getDocumentPermissions","renderDocumentSlots","args","collectionConfig","globalConfig","hasSavePermission","req","components","unsavedDraftWithValidations","undefined","isPreviewEnabled","admin","preview","serverProps","i18n","payload","user","BeforeDocumentControls","edit","beforeDocumentControls","elements","Component","importMap","EditMenuItems","editMenuItems","CustomPreviewButton","PreviewButton","descriptionFromConfig","description","staticDescription","t","CustomDescription","Description","hasDescription","clientProps","collectionSlug","slug","Fallback","versions","drafts","CustomPublishButton","PublishButton","CustomSaveDraftButton","SaveDraftButton","draftsEnabled","autosave","CustomSaveButton","SaveButton","upload","Upload","renderDocumentSlotsHandler","collections","config","Error","docPermissions","data","permissions"],"sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"sourcesContent":["import type {\n BeforeDocumentControlsServerPropsOnly,\n DefaultServerFunctionArgs,\n DocumentSlots,\n EditMenuItemsServerPropsOnly,\n PayloadRequest,\n PreviewButtonServerPropsOnly,\n PublishButtonServerPropsOnly,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n SaveButtonServerPropsOnly,\n SaveDraftButtonServerPropsOnly,\n ServerProps,\n StaticDescription,\n ViewDescriptionClientProps,\n ViewDescriptionServerPropsOnly,\n} from 'payload'\n\nimport { ViewDescription } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\n\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\n\nexport const renderDocumentSlots: (args: {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n hasSavePermission: boolean\n permissions: SanitizedDocumentPermissions\n req: PayloadRequest\n}) => DocumentSlots = (args) => {\n const { collectionConfig, globalConfig, hasSavePermission, req } = args\n\n const components: DocumentSlots = {} as DocumentSlots\n\n const unsavedDraftWithValidations = undefined\n\n const isPreviewEnabled = collectionConfig?.admin?.preview || globalConfig?.admin?.preview\n\n const serverProps: ServerProps = {\n i18n: req.i18n,\n payload: req.payload,\n user: req.user,\n // TODO: Add remaining serverProps\n }\n\n const BeforeDocumentControls =\n collectionConfig?.admin?.components?.edit?.beforeDocumentControls ||\n globalConfig?.admin?.components?.elements?.beforeDocumentControls\n\n if (BeforeDocumentControls) {\n components.BeforeDocumentControls = RenderServerComponent({\n Component: BeforeDocumentControls,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies BeforeDocumentControlsServerPropsOnly,\n })\n }\n\n const EditMenuItems = collectionConfig?.admin?.components?.edit?.editMenuItems\n\n if (EditMenuItems) {\n components.EditMenuItems = RenderServerComponent({\n Component: EditMenuItems,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies EditMenuItemsServerPropsOnly,\n })\n }\n\n const CustomPreviewButton =\n collectionConfig?.admin?.components?.edit?.PreviewButton ||\n globalConfig?.admin?.components?.elements?.PreviewButton\n\n if (isPreviewEnabled && CustomPreviewButton) {\n components.PreviewButton = RenderServerComponent({\n Component: CustomPreviewButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PreviewButtonServerPropsOnly,\n })\n }\n\n const descriptionFromConfig =\n collectionConfig?.admin?.description || globalConfig?.admin?.description\n\n const staticDescription: StaticDescription =\n typeof descriptionFromConfig === 'function'\n ? descriptionFromConfig({ t: req.i18n.t })\n : descriptionFromConfig\n\n const CustomDescription =\n collectionConfig?.admin?.components?.Description ||\n globalConfig?.admin?.components?.elements?.Description\n\n const hasDescription = CustomDescription || staticDescription\n\n if (hasDescription) {\n components.Description = RenderServerComponent({\n clientProps: {\n collectionSlug: collectionConfig?.slug,\n description: staticDescription,\n } satisfies ViewDescriptionClientProps,\n Component: CustomDescription,\n Fallback: ViewDescription,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies ViewDescriptionServerPropsOnly,\n })\n }\n\n if (hasSavePermission) {\n if (collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) {\n const CustomPublishButton =\n collectionConfig?.admin?.components?.edit?.PublishButton ||\n globalConfig?.admin?.components?.elements?.PublishButton\n\n if (CustomPublishButton) {\n components.PublishButton = RenderServerComponent({\n Component: CustomPublishButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PublishButtonServerPropsOnly,\n })\n }\n\n const CustomSaveDraftButton =\n collectionConfig?.admin?.components?.edit?.SaveDraftButton ||\n globalConfig?.admin?.components?.elements?.SaveDraftButton\n\n const draftsEnabled =\n (collectionConfig?.versions?.drafts && !collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && !globalConfig?.versions?.drafts?.autosave)\n\n if ((draftsEnabled || unsavedDraftWithValidations) && CustomSaveDraftButton) {\n components.SaveDraftButton = RenderServerComponent({\n Component: CustomSaveDraftButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveDraftButtonServerPropsOnly,\n })\n }\n } else {\n const CustomSaveButton =\n collectionConfig?.admin?.components?.edit?.SaveButton ||\n globalConfig?.admin?.components?.elements?.SaveButton\n\n if (CustomSaveButton) {\n components.SaveButton = RenderServerComponent({\n Component: CustomSaveButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveButtonServerPropsOnly,\n })\n }\n }\n }\n\n if (collectionConfig?.upload && collectionConfig?.admin?.components?.edit?.Upload) {\n components.Upload = RenderServerComponent({\n Component: collectionConfig.admin.components.edit.Upload,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n return components\n}\n\nexport const renderDocumentSlotsHandler = async (\n args: { collectionSlug: string } & DefaultServerFunctionArgs,\n) => {\n const { collectionSlug, req } = args\n\n const collectionConfig = req.payload.collections[collectionSlug]?.config\n\n if (!collectionConfig) {\n throw new Error(req.t('error:incorrectCollection'))\n }\n\n const { docPermissions, hasSavePermission } = await getDocumentPermissions({\n collectionConfig,\n data: {},\n req,\n })\n\n return renderDocumentSlots({\n collectionConfig,\n hasSavePermission,\n permissions: docPermissions,\n req,\n })\n}\n"],"mappings":"AAmBA,SAASA,eAAe,QAAQ;AAChC,SAASC,qBAAqB,QAAQ;AAEtC,SAASC,sBAAsB,QAAQ;AAEvC,OAAO,MAAMC,mBAAA,GAMUC,IAAA;EACrB,MAAM;IAAEC,gBAAgB;IAAEC,YAAY;IAAEC,iBAAiB;IAAEC;EAAG,CAAE,GAAGJ,IAAA;EAEnE,MAAMK,UAAA,GAA4B,CAAC;EAEnC,MAAMC,2BAAA,GAA8BC,SAAA;EAEpC,MAAMC,gBAAA,GAAmBP,gBAAA,EAAkBQ,KAAA,EAAOC,OAAA,IAAWR,YAAA,EAAcO,KAAA,EAAOC,OAAA;EAElF,MAAMC,WAAA,GAA2B;IAC/BC,IAAA,EAAMR,GAAA,CAAIQ,IAAI;IACdC,OAAA,EAAST,GAAA,CAAIS,OAAO;IACpBC,IAAA,EAAMV,GAAA,CAAIU;EAEZ;EAEA,MAAMC,sBAAA,GACJd,gBAAA,EAAkBQ,KAAA,EAAOJ,UAAA,EAAYW,IAAA,EAAMC,sBAAA,IAC3Cf,YAAA,EAAcO,KAAA,EAAOJ,UAAA,EAAYa,QAAA,EAAUD,sBAAA;EAE7C,IAAIF,sBAAA,EAAwB;IAC1BV,UAAA,CAAWU,sBAAsB,GAAGlB,qBAAA,CAAsB;MACxDsB,SAAA,EAAWJ,sBAAA;MACXK,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;MAChCT,WAAA,EAAaA;IACf;EACF;EAEA,MAAMU,aAAA,GAAgBpB,gBAAA,EAAkBQ,KAAA,EAAOJ,UAAA,EAAYW,IAAA,EAAMM,aAAA;EAEjE,IAAID,aAAA,EAAe;IACjBhB,UAAA,CAAWgB,aAAa,GAAGxB,qBAAA,CAAsB;MAC/CsB,SAAA,EAAWE,aAAA;MACXD,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;MAChCT,WAAA,EAAaA;IACf;EACF;EAEA,MAAMY,mBAAA,GACJtB,gBAAA,EAAkBQ,KAAA,EAAOJ,UAAA,EAAYW,IAAA,EAAMQ,aAAA,IAC3CtB,YAAA,EAAcO,KAAA,EAAOJ,UAAA,EAAYa,QAAA,EAAUM,aAAA;EAE7C,IAAIhB,gBAAA,IAAoBe,mBAAA,EAAqB;IAC3ClB,UAAA,CAAWmB,aAAa,GAAG3B,qBAAA,CAAsB;MAC/CsB,SAAA,EAAWI,mBAAA;MACXH,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;MAChCT,WAAA,EAAaA;IACf;EACF;EAEA,MAAMc,qBAAA,GACJxB,gBAAA,EAAkBQ,KAAA,EAAOiB,WAAA,IAAexB,YAAA,EAAcO,KAAA,EAAOiB,WAAA;EAE/D,MAAMC,iBAAA,GACJ,OAAOF,qBAAA,KAA0B,aAC7BA,qBAAA,CAAsB;IAAEG,CAAA,EAAGxB,GAAA,CAAIQ,IAAI,CAACgB;EAAE,KACtCH,qBAAA;EAEN,MAAMI,iBAAA,GACJ5B,gBAAA,EAAkBQ,KAAA,EAAOJ,UAAA,EAAYyB,WAAA,IACrC5B,YAAA,EAAcO,KAAA,EAAOJ,UAAA,EAAYa,QAAA,EAAUY,WAAA;EAE7C,MAAMC,cAAA,GAAiBF,iBAAA,IAAqBF,iBAAA;EAE5C,IAAII,cAAA,EAAgB;IAClB1B,UAAA,CAAWyB,WAAW,GAAGjC,qBAAA,CAAsB;MAC7CmC,WAAA,EAAa;QACXC,cAAA,EAAgBhC,gBAAA,EAAkBiC,IAAA;QAClCR,WAAA,EAAaC;MACf;MACAR,SAAA,EAAWU,iBAAA;MACXM,QAAA,EAAUvC,eAAA;MACVwB,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;MAChCT,WAAA,EAAaA;IACf;EACF;EAEA,IAAIR,iBAAA,EAAmB;IACrB,IAAIF,gBAAA,EAAkBmC,QAAA,EAAUC,MAAA,IAAUnC,YAAA,EAAckC,QAAA,EAAUC,MAAA,EAAQ;MACxE,MAAMC,mBAAA,GACJrC,gBAAA,EAAkBQ,KAAA,EAAOJ,UAAA,EAAYW,IAAA,EAAMuB,aAAA,IAC3CrC,YAAA,EAAcO,KAAA,EAAOJ,UAAA,EAAYa,QAAA,EAAUqB,aAAA;MAE7C,IAAID,mBAAA,EAAqB;QACvBjC,UAAA,CAAWkC,aAAa,GAAG1C,qBAAA,CAAsB;UAC/CsB,SAAA,EAAWmB,mBAAA;UACXlB,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;UAChCT,WAAA,EAAaA;QACf;MACF;MAEA,MAAM6B,qBAAA,GACJvC,gBAAA,EAAkBQ,KAAA,EAAOJ,UAAA,EAAYW,IAAA,EAAMyB,eAAA,IAC3CvC,YAAA,EAAcO,KAAA,EAAOJ,UAAA,EAAYa,QAAA,EAAUuB,eAAA;MAE7C,MAAMC,aAAA,GACJzC,gBAAC,EAAkBmC,QAAA,EAAUC,MAAA,IAAU,CAACpC,gBAAA,EAAkBmC,QAAA,EAAUC,MAAA,EAAQM,QAAA,IAC3EzC,YAAA,EAAckC,QAAA,EAAUC,MAAA,IAAU,CAACnC,YAAA,EAAckC,QAAA,EAAUC,MAAA,EAAQM,QAAA;MAEtE,IAAI,CAACD,aAAA,IAAiBpC,2BAA0B,KAAMkC,qBAAA,EAAuB;QAC3EnC,UAAA,CAAWoC,eAAe,GAAG5C,qBAAA,CAAsB;UACjDsB,SAAA,EAAWqB,qBAAA;UACXpB,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;UAChCT,WAAA,EAAaA;QACf;MACF;IACF,OAAO;MACL,MAAMiC,gBAAA,GACJ3C,gBAAA,EAAkBQ,KAAA,EAAOJ,UAAA,EAAYW,IAAA,EAAM6B,UAAA,IAC3C3C,YAAA,EAAcO,KAAA,EAAOJ,UAAA,EAAYa,QAAA,EAAU2B,UAAA;MAE7C,IAAID,gBAAA,EAAkB;QACpBvC,UAAA,CAAWwC,UAAU,GAAGhD,qBAAA,CAAsB;UAC5CsB,SAAA,EAAWyB,gBAAA;UACXxB,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;UAChCT,WAAA,EAAaA;QACf;MACF;IACF;EACF;EAEA,IAAIV,gBAAA,EAAkB6C,MAAA,IAAU7C,gBAAA,EAAkBQ,KAAA,EAAOJ,UAAA,EAAYW,IAAA,EAAM+B,MAAA,EAAQ;IACjF1C,UAAA,CAAW0C,MAAM,GAAGlD,qBAAA,CAAsB;MACxCsB,SAAA,EAAWlB,gBAAA,CAAiBQ,KAAK,CAACJ,UAAU,CAACW,IAAI,CAAC+B,MAAM;MACxD3B,SAAA,EAAWhB,GAAA,CAAIS,OAAO,CAACO,SAAS;MAChCT;IACF;EACF;EAEA,OAAON,UAAA;AACT;AAEA,OAAO,MAAM2C,0BAAA,GAA6B,MACxChD,IAAA;EAEA,MAAM;IAAEiC,cAAc;IAAE7B;EAAG,CAAE,GAAGJ,IAAA;EAEhC,MAAMC,gBAAA,GAAmBG,GAAA,CAAIS,OAAO,CAACoC,WAAW,CAAChB,cAAA,CAAe,EAAEiB,MAAA;EAElE,IAAI,CAACjD,gBAAA,EAAkB;IACrB,MAAM,IAAIkD,KAAA,CAAM/C,GAAA,CAAIwB,CAAC,CAAC;EACxB;EAEA,MAAM;IAAEwB,cAAc;IAAEjD;EAAiB,CAAE,GAAG,MAAML,sBAAA,CAAuB;IACzEG,gBAAA;IACAoD,IAAA,EAAM,CAAC;IACPjD;EACF;EAEA,OAAOL,mBAAA,CAAoB;IACzBE,gBAAA;IACAE,iBAAA;IACAmD,WAAA,EAAaF,cAAA;IACbhD;EACF;AACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"renderDocumentSlots.js","names":["ViewDescription","RenderServerComponent","getDocumentPermissions","renderDocumentSlots","args","collectionConfig","globalConfig","hasSavePermission","req","components","unsavedDraftWithValidations","undefined","isPreviewEnabled","admin","preview","serverProps","i18n","payload","user","BeforeDocumentControls","edit","beforeDocumentControls","elements","Component","importMap","EditMenuItems","editMenuItems","CustomPreviewButton","PreviewButton","descriptionFromConfig","description","staticDescription","t","CustomDescription","Description","hasDescription","clientProps","collectionSlug","slug","Fallback","versions","drafts","CustomPublishButton","PublishButton","CustomSaveDraftButton","SaveDraftButton","draftsEnabled","autosave","CustomSaveButton","SaveButton","upload","Upload","controls","UploadControls","renderDocumentSlotsHandler","collections","config","Error","docPermissions","data","permissions"],"sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"sourcesContent":["import type {\n BeforeDocumentControlsServerPropsOnly,\n DefaultServerFunctionArgs,\n DocumentSlots,\n EditMenuItemsServerPropsOnly,\n PayloadRequest,\n PreviewButtonServerPropsOnly,\n PublishButtonServerPropsOnly,\n SanitizedCollectionConfig,\n SanitizedDocumentPermissions,\n SanitizedGlobalConfig,\n SaveButtonServerPropsOnly,\n SaveDraftButtonServerPropsOnly,\n ServerFunction,\n ServerProps,\n StaticDescription,\n ViewDescriptionClientProps,\n ViewDescriptionServerPropsOnly,\n} from 'payload'\n\nimport { ViewDescription } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\n\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\n\nexport const renderDocumentSlots: (args: {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n hasSavePermission: boolean\n permissions: SanitizedDocumentPermissions\n req: PayloadRequest\n}) => DocumentSlots = (args) => {\n const { collectionConfig, globalConfig, hasSavePermission, req } = args\n\n const components: DocumentSlots = {} as DocumentSlots\n\n const unsavedDraftWithValidations = undefined\n\n const isPreviewEnabled = collectionConfig?.admin?.preview || globalConfig?.admin?.preview\n\n const serverProps: ServerProps = {\n i18n: req.i18n,\n payload: req.payload,\n user: req.user,\n // TODO: Add remaining serverProps\n }\n\n const BeforeDocumentControls =\n collectionConfig?.admin?.components?.edit?.beforeDocumentControls ||\n globalConfig?.admin?.components?.elements?.beforeDocumentControls\n\n if (BeforeDocumentControls) {\n components.BeforeDocumentControls = RenderServerComponent({\n Component: BeforeDocumentControls,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies BeforeDocumentControlsServerPropsOnly,\n })\n }\n\n const EditMenuItems = collectionConfig?.admin?.components?.edit?.editMenuItems\n\n if (EditMenuItems) {\n components.EditMenuItems = RenderServerComponent({\n Component: EditMenuItems,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies EditMenuItemsServerPropsOnly,\n })\n }\n\n const CustomPreviewButton =\n collectionConfig?.admin?.components?.edit?.PreviewButton ||\n globalConfig?.admin?.components?.elements?.PreviewButton\n\n if (isPreviewEnabled && CustomPreviewButton) {\n components.PreviewButton = RenderServerComponent({\n Component: CustomPreviewButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PreviewButtonServerPropsOnly,\n })\n }\n\n const descriptionFromConfig =\n collectionConfig?.admin?.description || globalConfig?.admin?.description\n\n const staticDescription: StaticDescription =\n typeof descriptionFromConfig === 'function'\n ? descriptionFromConfig({ t: req.i18n.t })\n : descriptionFromConfig\n\n const CustomDescription =\n collectionConfig?.admin?.components?.Description ||\n globalConfig?.admin?.components?.elements?.Description\n\n const hasDescription = CustomDescription || staticDescription\n\n if (hasDescription) {\n components.Description = RenderServerComponent({\n clientProps: {\n collectionSlug: collectionConfig?.slug,\n description: staticDescription,\n } satisfies ViewDescriptionClientProps,\n Component: CustomDescription,\n Fallback: ViewDescription,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies ViewDescriptionServerPropsOnly,\n })\n }\n\n if (hasSavePermission) {\n if (collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) {\n const CustomPublishButton =\n collectionConfig?.admin?.components?.edit?.PublishButton ||\n globalConfig?.admin?.components?.elements?.PublishButton\n\n if (CustomPublishButton) {\n components.PublishButton = RenderServerComponent({\n Component: CustomPublishButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies PublishButtonServerPropsOnly,\n })\n }\n\n const CustomSaveDraftButton =\n collectionConfig?.admin?.components?.edit?.SaveDraftButton ||\n globalConfig?.admin?.components?.elements?.SaveDraftButton\n\n const draftsEnabled =\n (collectionConfig?.versions?.drafts && !collectionConfig?.versions?.drafts?.autosave) ||\n (globalConfig?.versions?.drafts && !globalConfig?.versions?.drafts?.autosave)\n\n if ((draftsEnabled || unsavedDraftWithValidations) && CustomSaveDraftButton) {\n components.SaveDraftButton = RenderServerComponent({\n Component: CustomSaveDraftButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveDraftButtonServerPropsOnly,\n })\n }\n } else {\n const CustomSaveButton =\n collectionConfig?.admin?.components?.edit?.SaveButton ||\n globalConfig?.admin?.components?.elements?.SaveButton\n\n if (CustomSaveButton) {\n components.SaveButton = RenderServerComponent({\n Component: CustomSaveButton,\n importMap: req.payload.importMap,\n serverProps: serverProps satisfies SaveButtonServerPropsOnly,\n })\n }\n }\n }\n\n if (collectionConfig?.upload && collectionConfig?.admin?.components?.edit?.Upload) {\n components.Upload = RenderServerComponent({\n Component: collectionConfig.admin.components.edit.Upload,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n if (collectionConfig?.upload && collectionConfig.upload.admin?.components?.controls) {\n components.UploadControls = RenderServerComponent({\n Component: collectionConfig.upload.admin.components.controls,\n importMap: req.payload.importMap,\n serverProps,\n })\n }\n\n return components\n}\n\nexport const renderDocumentSlotsHandler: ServerFunction<{ collectionSlug: string }> = async (\n args,\n) => {\n const { collectionSlug, req } = args\n\n const collectionConfig = req.payload.collections[collectionSlug]?.config\n\n if (!collectionConfig) {\n throw new Error(req.t('error:incorrectCollection'))\n }\n\n const { docPermissions, hasSavePermission } = await getDocumentPermissions({\n collectionConfig,\n data: {},\n req,\n })\n\n return renderDocumentSlots({\n collectionConfig,\n hasSavePermission,\n permissions: docPermissions,\n req,\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { ListPreferences, ListQuery,
|
|
1
|
+
import type { ListPreferences, ListQuery, ServerFunction } from 'payload';
|
|
2
2
|
type RenderListResult = {
|
|
3
3
|
List: React.ReactNode;
|
|
4
4
|
preferences: ListPreferences;
|
|
5
5
|
};
|
|
6
|
-
export declare const renderListHandler:
|
|
6
|
+
export declare const renderListHandler: ServerFunction<{
|
|
7
7
|
collectionSlug: string;
|
|
8
8
|
disableActions?: boolean;
|
|
9
9
|
disableBulkDelete?: boolean;
|
|
@@ -16,7 +16,6 @@ export declare const renderListHandler: (args: {
|
|
|
16
16
|
query: ListQuery;
|
|
17
17
|
redirectAfterDelete: boolean;
|
|
18
18
|
redirectAfterDuplicate: boolean;
|
|
19
|
-
|
|
20
|
-
}) => Promise<RenderListResult>;
|
|
19
|
+
}, Promise<RenderListResult>>;
|
|
21
20
|
export {};
|
|
22
21
|
//# sourceMappingURL=handleServerFunction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleServerFunction.d.ts","sourceRoot":"","sources":["../../../src/views/List/handleServerFunction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAmB,MAAM,SAAS,CAAA;AAQ1F,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,WAAW,EAAE,eAAe,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"handleServerFunction.d.ts","sourceRoot":"","sources":["../../../src/views/List/handleServerFunction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,cAAc,EAAmB,MAAM,SAAS,CAAA;AAQ1F,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,WAAW,EAAE,eAAe,CAAA;CAC7B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAC5C;IACE,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,KAAK,EAAE,SAAS,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,sBAAsB,EAAE,OAAO,CAAA;CAChC,EACD,OAAO,CAAC,gBAAgB,CAAC,CAgJ1B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleServerFunction.js","names":["getClientConfig","headers","getHeaders","getAccessResults","isEntityHidden","parseCookies","renderListView","renderListHandler","args","collectionSlug","disableActions","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","overrideEntityVisibility","query","redirectAfterDelete","redirectAfterDuplicate","req","i18n","payload","config","user","cookies","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","clientConfig","importMap","preferencesKey","preferences","where","and","key","equals","id","then","res","value","visibleEntities","map","slug","hidden","filter","Boolean","globals","permissions","List","initPageResult","collectionConfig","globalConfig","global","languageOptions","undefined","translations","params","segments","searchParams","viewType"],"sources":["../../../src/views/List/handleServerFunction.tsx"],"sourcesContent":["import type { ListPreferences, ListQuery,
|
|
1
|
+
{"version":3,"file":"handleServerFunction.js","names":["getClientConfig","headers","getHeaders","getAccessResults","isEntityHidden","parseCookies","renderListView","renderListHandler","args","collectionSlug","disableActions","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","overrideEntityVisibility","query","redirectAfterDelete","redirectAfterDuplicate","req","i18n","payload","config","user","cookies","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","clientConfig","importMap","preferencesKey","preferences","where","and","key","equals","id","then","res","value","visibleEntities","map","slug","hidden","filter","Boolean","globals","permissions","List","initPageResult","collectionConfig","globalConfig","global","languageOptions","undefined","translations","params","segments","searchParams","viewType"],"sources":["../../../src/views/List/handleServerFunction.tsx"],"sourcesContent":["import type { ListPreferences, ListQuery, ServerFunction, VisibleEntities } from 'payload'\n\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { getAccessResults, isEntityHidden, parseCookies } from 'payload'\n\nimport { renderListView } from './index.js'\n\ntype RenderListResult = {\n List: React.ReactNode\n preferences: ListPreferences\n}\n\nexport const renderListHandler: ServerFunction<\n {\n collectionSlug: string\n disableActions?: boolean\n disableBulkDelete?: boolean\n disableBulkEdit?: boolean\n disableQueryPresets?: boolean\n documentDrawerSlug: string\n drawerSlug?: string\n enableRowSelections: boolean\n overrideEntityVisibility?: boolean\n query: ListQuery\n redirectAfterDelete: boolean\n redirectAfterDuplicate: boolean\n },\n Promise<RenderListResult>\n> = async (args) => {\n const {\n collectionSlug,\n disableActions,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query,\n redirectAfterDelete,\n redirectAfterDuplicate,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = args\n\n const headers = await getHeaders()\n\n const cookies = parseCookies(headers)\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap: payload.importMap,\n })\n\n const preferencesKey = `${collectionSlug}-list`\n\n const preferences = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0]?.value as ListPreferences)\n\n const visibleEntities: VisibleEntities = {\n collections: payload.config.collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: payload.config.globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n const permissions = await getAccessResults({\n req,\n })\n\n const { List } = await renderListView({\n clientConfig,\n disableActions,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n i18n,\n importMap: payload.importMap,\n initPageResult: {\n collectionConfig: payload?.collections?.[collectionSlug]?.config,\n cookies,\n globalConfig: payload.config.globals.find((global) => global.slug === collectionSlug),\n languageOptions: undefined, // TODO\n permissions,\n req,\n translations: undefined, // TODO\n visibleEntities,\n },\n overrideEntityVisibility,\n params: {\n segments: ['collections', collectionSlug],\n },\n payload,\n query,\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams: {},\n viewType: 'list',\n })\n\n return {\n List,\n preferences,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,4 +2,5 @@ import type { AdminViewServerProps } from 'payload';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import './index.scss';
|
|
4
4
|
export declare function UnauthorizedView({ initPageResult }: AdminViewServerProps): React.JSX.Element;
|
|
5
|
+
export declare const UnauthorizedViewWithGutter: (props: AdminViewServerProps) => React.JSX.Element;
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Unauthorized/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAInD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAIrB,wBAAgB,gBAAgB,CAAC,EAAE,cAAc,EAAE,EAAE,oBAAoB,qBAsCxE"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Unauthorized/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAInD,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAIrB,wBAAgB,gBAAgB,CAAC,EAAE,cAAc,EAAE,EAAE,oBAAoB,qBAsCxE;AAED,eAAO,MAAM,0BAA0B,UAAW,oBAAoB,sBAMrE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Button } from '@payloadcms/ui';
|
|
2
|
+
import { Button, Gutter } from '@payloadcms/ui';
|
|
3
3
|
import { formatAdminURL } from 'payload/shared';
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { FormHeader } from '../../elements/FormHeader/index.js';
|
|
@@ -43,4 +43,12 @@ export function UnauthorizedView({
|
|
|
43
43
|
})]
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
|
+
export const UnauthorizedViewWithGutter = props => {
|
|
47
|
+
return /*#__PURE__*/_jsx(Gutter, {
|
|
48
|
+
className: [baseClass, `${baseClass}--with-gutter`].join(' '),
|
|
49
|
+
children: /*#__PURE__*/_jsx(UnauthorizedView, {
|
|
50
|
+
...props
|
|
51
|
+
})
|
|
52
|
+
});
|
|
53
|
+
};
|
|
46
54
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Button","formatAdminURL","React","FormHeader","baseClass","UnauthorizedView","initPageResult","permissions","req","i18n","payload","config","admin","routes","logout","logoutRoute","adminRoute","user","_jsxs","className","_jsx","description","t","heading","canAccessAdmin","el","size","to","path"],"sources":["../../../src/views/Unauthorized/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport { Button } from '@payloadcms/ui'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport { FormHeader } from '../../elements/FormHeader/index.js'\nimport './index.scss'\n\nconst baseClass = 'unauthorized'\n\nexport function UnauthorizedView({ initPageResult }: AdminViewServerProps) {\n const {\n permissions,\n req: {\n i18n,\n payload: {\n config: {\n admin: {\n routes: { logout: logoutRoute },\n },\n routes: { admin: adminRoute },\n },\n },\n user,\n },\n } = initPageResult\n\n return (\n <div className={baseClass}>\n <FormHeader\n description={i18n.t('error:notAllowedToAccessPage')}\n heading={i18n.t(\n user && !permissions.canAccessAdmin ? 'error:unauthorizedAdmin' : 'error:unauthorized',\n )}\n />\n <Button\n className={`${baseClass}__button`}\n el=\"link\"\n size=\"large\"\n to={formatAdminURL({\n adminRoute,\n path: logoutRoute,\n })}\n >\n {i18n.t('authentication:logOut')}\n </Button>\n </div>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,QAAQ;
|
|
1
|
+
{"version":3,"file":"index.js","names":["Button","Gutter","formatAdminURL","React","FormHeader","baseClass","UnauthorizedView","initPageResult","permissions","req","i18n","payload","config","admin","routes","logout","logoutRoute","adminRoute","user","_jsxs","className","_jsx","description","t","heading","canAccessAdmin","el","size","to","path","UnauthorizedViewWithGutter","props","join"],"sources":["../../../src/views/Unauthorized/index.tsx"],"sourcesContent":["import type { AdminViewServerProps } from 'payload'\n\nimport { Button, Gutter } from '@payloadcms/ui'\nimport { formatAdminURL } from 'payload/shared'\nimport React from 'react'\n\nimport { FormHeader } from '../../elements/FormHeader/index.js'\nimport './index.scss'\n\nconst baseClass = 'unauthorized'\n\nexport function UnauthorizedView({ initPageResult }: AdminViewServerProps) {\n const {\n permissions,\n req: {\n i18n,\n payload: {\n config: {\n admin: {\n routes: { logout: logoutRoute },\n },\n routes: { admin: adminRoute },\n },\n },\n user,\n },\n } = initPageResult\n\n return (\n <div className={baseClass}>\n <FormHeader\n description={i18n.t('error:notAllowedToAccessPage')}\n heading={i18n.t(\n user && !permissions.canAccessAdmin ? 'error:unauthorizedAdmin' : 'error:unauthorized',\n )}\n />\n <Button\n className={`${baseClass}__button`}\n el=\"link\"\n size=\"large\"\n to={formatAdminURL({\n adminRoute,\n path: logoutRoute,\n })}\n >\n {i18n.t('authentication:logOut')}\n </Button>\n </div>\n )\n}\n\nexport const UnauthorizedViewWithGutter = (props: AdminViewServerProps) => {\n return (\n <Gutter className={[baseClass, `${baseClass}--with-gutter`].join(' ')}>\n <UnauthorizedView {...props} />\n </Gutter>\n )\n}\n"],"mappings":";AAEA,SAASA,MAAM,EAAEC,MAAM,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAG3B,MAAMC,SAAA,GAAY;AAElB,OAAO,SAASC,iBAAiB;EAAEC;AAAc,CAAwB;EACvE,MAAM;IACJC,WAAW;IACXC,GAAA,EAAK;MACHC,IAAI;MACJC,OAAA,EAAS;QACPC,MAAA,EAAQ;UACNC,KAAA,EAAO;YACLC,MAAA,EAAQ;cAAEC,MAAA,EAAQC;YAAW;UAAE,CAChC;UACDF,MAAA,EAAQ;YAAED,KAAA,EAAOI;UAAU;QAAE;MAC9B,CACF;MACDC;IAAI;EACL,CACF,GAAGX,cAAA;EAEJ,oBACEY,KAAA,CAAC;IAAIC,SAAA,EAAWf,SAAA;4BACdgB,IAAA,CAACjB,UAAA;MACCkB,WAAA,EAAaZ,IAAA,CAAKa,CAAC,CAAC;MACpBC,OAAA,EAASd,IAAA,CAAKa,CAAC,CACbL,IAAA,IAAQ,CAACV,WAAA,CAAYiB,cAAc,GAAG,4BAA4B;qBAGtEJ,IAAA,CAACrB,MAAA;MACCoB,SAAA,EAAW,GAAGf,SAAA,UAAmB;MACjCqB,EAAA,EAAG;MACHC,IAAA,EAAK;MACLC,EAAA,EAAI1B,cAAA,CAAe;QACjBe,UAAA;QACAY,IAAA,EAAMb;MACR;gBAECN,IAAA,CAAKa,CAAC,CAAC;;;AAIhB;AAEA,OAAO,MAAMO,0BAAA,GAA8BC,KAAA;EACzC,oBACEV,IAAA,CAACpB,MAAA;IAAOmB,SAAA,EAAW,CAACf,SAAA,EAAW,GAAGA,SAAA,eAAwB,CAAC,CAAC2B,IAAI,CAAC;cAC/D,aAAAX,IAAA,CAACf,gBAAA;MAAkB,GAAGyB;;;AAG5B","ignoreList":[]}
|