@payloadcms/next 3.0.0-beta.127 → 3.0.0-beta.129
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/cjs/withPayload.cjs +10 -0
- package/dist/cjs/withPayload.cjs.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +13 -15
- 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 +9 -14
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +13 -28
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.d.ts +0 -1
- package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/index.js +9 -12
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/Logo/index.d.ts.map +1 -1
- package/dist/elements/Logo/index.js +5 -6
- package/dist/elements/Logo/index.js.map +1 -1
- package/dist/elements/Nav/index.client.d.ts +4 -1
- package/dist/elements/Nav/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/index.client.js +40 -95
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js +60 -23
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/exports/layouts.d.ts +1 -0
- package/dist/exports/layouts.d.ts.map +1 -1
- package/dist/exports/layouts.js +1 -0
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +1 -0
- package/dist/exports/utilities.js.map +1 -1
- package/dist/exports/views.d.ts +0 -2
- package/dist/exports/views.d.ts.map +1 -1
- package/dist/exports/views.js +0 -2
- package/dist/exports/views.js.map +1 -1
- package/dist/fetchAPI-multipart/isEligibleRequest.js +1 -1
- package/dist/fetchAPI-multipart/isEligibleRequest.js.map +1 -1
- package/dist/fetchAPI-multipart/processMultipart.d.ts.map +1 -1
- package/dist/fetchAPI-multipart/processMultipart.js +9 -11
- package/dist/fetchAPI-multipart/processMultipart.js.map +1 -1
- package/dist/layouts/Root/NestProviders.d.ts +11 -0
- package/dist/layouts/Root/NestProviders.d.ts.map +1 -0
- package/dist/layouts/Root/NestProviders.js +21 -0
- package/dist/layouts/Root/NestProviders.js.map +1 -0
- package/dist/layouts/Root/index.d.ts +3 -2
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +14 -18
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/routes/rest/index.d.ts.map +1 -1
- package/dist/routes/rest/index.js +0 -10
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/routes/rest/og/image.d.ts +4 -2
- package/dist/routes/rest/og/image.d.ts.map +1 -1
- package/dist/routes/rest/og/image.js +7 -3
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.d.ts.map +1 -1
- package/dist/routes/rest/og/index.js +5 -8
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/routes/rest/routeError.d.ts.map +1 -1
- package/dist/routes/rest/routeError.js +1 -47
- package/dist/routes/rest/routeError.js.map +1 -1
- package/dist/templates/Default/index.d.ts +2 -1
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +97 -41
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/getClientConfig.d.ts +7 -0
- package/dist/utilities/getClientConfig.d.ts.map +1 -0
- package/dist/utilities/getClientConfig.js +14 -0
- package/dist/utilities/getClientConfig.js.map +1 -0
- package/dist/utilities/handleServerFunctions.d.ts +3 -0
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -0
- package/dist/utilities/handleServerFunctions.js +35 -0
- package/dist/utilities/handleServerFunctions.js.map +1 -0
- package/dist/utilities/initPage/handleAdminPage.d.ts +2 -1
- package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
- package/dist/utilities/initPage/handleAdminPage.js +9 -1
- package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
- package/dist/utilities/initPage/index.d.ts.map +1 -1
- package/dist/utilities/initPage/index.js +2 -1
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/utilities/initReq.d.ts +1 -1
- package/dist/utilities/initReq.d.ts.map +1 -1
- package/dist/utilities/initReq.js +3 -2
- package/dist/utilities/initReq.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
- package/dist/views/API/LocaleSelector/index.js +0 -1
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +10 -13
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/Account/Settings/index.js +0 -1
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +81 -24
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.d.ts +3 -1
- package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +83 -109
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.js +36 -4
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/index.js +46 -44
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.d.ts.map +1 -1
- package/dist/views/Dashboard/index.js +22 -21
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Document/getDocPreferences.d.ts +11 -0
- package/dist/views/Document/getDocPreferences.d.ts.map +1 -0
- package/dist/views/Document/getDocPreferences.js +44 -0
- package/dist/views/Document/getDocPreferences.js.map +1 -0
- package/dist/views/Document/getDocumentData.d.ts +10 -11
- package/dist/views/Document/getDocumentData.d.ts.map +1 -1
- package/dist/views/Document/getDocumentData.js +35 -47
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Document/getIsLocked.d.ts +16 -0
- package/dist/views/Document/getIsLocked.d.ts.map +1 -0
- package/dist/views/Document/getIsLocked.js +55 -0
- package/dist/views/Document/getIsLocked.js.map +1 -0
- package/dist/views/Document/getVersions.d.ts +19 -0
- package/dist/views/Document/getVersions.d.ts.map +1 -0
- package/dist/views/Document/getVersions.js +181 -0
- package/dist/views/Document/getVersions.js.map +1 -0
- package/dist/views/Document/getViewsFromConfig.d.ts +1 -1
- package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
- package/dist/views/Document/getViewsFromConfig.js +18 -19
- package/dist/views/Document/getViewsFromConfig.js.map +1 -1
- package/dist/views/Document/handleServerFunction.d.ts +24 -0
- package/dist/views/Document/handleServerFunction.d.ts.map +1 -0
- package/dist/views/Document/handleServerFunction.js +156 -0
- package/dist/views/Document/handleServerFunction.js.map +1 -0
- package/dist/views/Document/index.d.ts +5 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +181 -72
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.d.ts +12 -0
- package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -0
- package/dist/views/Document/renderDocumentSlots.js +92 -0
- package/dist/views/Document/renderDocumentSlots.js.map +1 -0
- package/dist/views/Edit/index.d.ts +3 -2
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +7 -3
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +3 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/List/handleServerFunction.d.ts +26 -0
- package/dist/views/List/handleServerFunction.d.ts.map +1 -0
- package/dist/views/List/handleServerFunction.js +155 -0
- package/dist/views/List/handleServerFunction.js.map +1 -0
- package/dist/views/List/index.d.ts +12 -2
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +121 -81
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/renderListViewSlots.d.ts +8 -0
- package/dist/views/List/renderListViewSlots.d.ts.map +1 -0
- package/dist/views/List/renderListViewSlots.js +44 -0
- package/dist/views/List/renderListViewSlots.js.map +1 -0
- package/dist/views/LivePreview/Context/sizeReducer.d.ts +1 -1
- package/dist/views/LivePreview/Context/sizeReducer.d.ts.map +1 -1
- package/dist/views/LivePreview/Context/sizeReducer.js +4 -4
- package/dist/views/LivePreview/Context/sizeReducer.js.map +1 -1
- package/dist/views/LivePreview/index.client.d.ts.map +1 -1
- package/dist/views/LivePreview/index.client.js +38 -35
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/Login/LoginField/index.d.ts.map +1 -1
- package/dist/views/Login/LoginField/index.js +3 -1
- package/dist/views/Login/LoginField/index.js.map +1 -1
- package/dist/views/Login/index.d.ts.map +1 -1
- package/dist/views/Login/index.js +25 -19
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.js +24 -10
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
- package/dist/views/Root/getViewFromConfig.d.ts +3 -1
- package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
- package/dist/views/Root/getViewFromConfig.js +128 -7
- package/dist/views/Root/getViewFromConfig.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +22 -11
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +2 -4
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Versions/buildColumns.d.ts +3 -2
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/buildColumns.js +33 -61
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts +7 -0
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +48 -37
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.d.ts +4 -0
- package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +43 -45
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.d.ts +3 -1
- package/dist/views/Versions/cells/ID/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/ID/index.js +7 -19
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/index.client.d.ts.map +1 -1
- package/dist/views/Versions/index.client.js +53 -51
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +3 -2
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/withPayload.d.ts.map +1 -1
- package/dist/withPayload.js +10 -0
- package/dist/withPayload.js.map +1 -1
- package/license.md +22 -0
- package/package.json +16 -7
- package/dist/elements/DocumentLocked/index.d.ts +0 -12
- package/dist/elements/DocumentLocked/index.d.ts.map +0 -1
- package/dist/elements/DocumentLocked/index.js +0 -152
- package/dist/elements/DocumentLocked/index.js.map +0 -1
- package/dist/elements/DocumentLocked/index.scss +0 -40
- package/dist/elements/DocumentTakeOver/index.d.ts +0 -8
- package/dist/elements/DocumentTakeOver/index.d.ts.map +0 -1
- package/dist/elements/DocumentTakeOver/index.js +0 -98
- package/dist/elements/DocumentTakeOver/index.js.map +0 -1
- package/dist/elements/DocumentTakeOver/index.scss +0 -39
- package/dist/elements/EmailAndUsername/index.d.ts +0 -14
- package/dist/elements/EmailAndUsername/index.d.ts.map +0 -1
- package/dist/elements/EmailAndUsername/index.js +0 -121
- package/dist/elements/EmailAndUsername/index.js.map +0 -1
- package/dist/elements/LeaveWithoutSaving/index.d.ts +0 -4
- package/dist/elements/LeaveWithoutSaving/index.d.ts.map +0 -1
- package/dist/elements/LeaveWithoutSaving/index.js +0 -162
- package/dist/elements/LeaveWithoutSaving/index.js.map +0 -1
- package/dist/elements/LeaveWithoutSaving/index.scss +0 -39
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +0 -9
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +0 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +0 -136
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +0 -1
- package/dist/routes/rest/buildFormState.d.ts +0 -5
- package/dist/routes/rest/buildFormState.d.ts.map +0 -1
- package/dist/routes/rest/buildFormState.js +0 -46
- package/dist/routes/rest/buildFormState.js.map +0 -1
- package/dist/views/Edit/Default/Auth/APIKey.d.ts +0 -6
- package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +0 -1
- package/dist/views/Edit/Default/Auth/APIKey.js +0 -125
- package/dist/views/Edit/Default/Auth/APIKey.js.map +0 -1
- package/dist/views/Edit/Default/Auth/index.d.ts +0 -5
- package/dist/views/Edit/Default/Auth/index.d.ts.map +0 -1
- package/dist/views/Edit/Default/Auth/index.js +0 -318
- package/dist/views/Edit/Default/Auth/index.js.map +0 -1
- package/dist/views/Edit/Default/Auth/index.scss +0 -78
- package/dist/views/Edit/Default/Auth/types.d.ts +0 -17
- package/dist/views/Edit/Default/Auth/types.d.ts.map +0 -1
- package/dist/views/Edit/Default/Auth/types.js +0 -2
- package/dist/views/Edit/Default/Auth/types.js.map +0 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts +0 -11
- package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +0 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js +0 -130
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +0 -1
- package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts +0 -8
- package/dist/views/Edit/Default/SetDocumentTitle/index.d.ts.map +0 -1
- package/dist/views/Edit/Default/SetDocumentTitle/index.js +0 -81
- package/dist/views/Edit/Default/SetDocumentTitle/index.js.map +0 -1
- package/dist/views/Edit/Default/index.d.ts +0 -4
- package/dist/views/Edit/Default/index.d.ts.map +0 -1
- package/dist/views/Edit/Default/index.js +0 -349
- package/dist/views/Edit/Default/index.js.map +0 -1
- package/dist/views/Edit/Default/index.scss +0 -23
- package/dist/views/Edit/Default/types.d.ts +0 -6
- package/dist/views/Edit/Default/types.d.ts.map +0 -1
- package/dist/views/Edit/Default/types.js +0 -2
- package/dist/views/Edit/Default/types.js.map +0 -1
- package/dist/views/Edit/index.client.d.ts +0 -3
- package/dist/views/Edit/index.client.d.ts.map +0 -1
- package/dist/views/Edit/index.client.js +0 -54
- package/dist/views/Edit/index.client.js.map +0 -1
- package/dist/views/List/Default/index.d.ts +0 -4
- package/dist/views/List/Default/index.d.ts.map +0 -1
- package/dist/views/List/Default/index.js +0 -387
- package/dist/views/List/Default/index.js.map +0 -1
- package/dist/views/List/Default/index.scss +0 -179
- package/dist/views/List/Default/types.d.ts +0 -15
- package/dist/views/List/Default/types.d.ts.map +0 -1
- package/dist/views/List/Default/types.js +0 -2
- package/dist/views/List/Default/types.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleServerFunction.d.ts","sourceRoot":"","sources":["../../../src/views/Document/handleServerFunction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EACV,YAAY,EACZ,IAAI,EACJ,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,eAAe,EAEhB,MAAM,SAAS,CAAA;AAahB,eAAO,MAAM,eAAe,SAAU;IACpC,MAAM,EAAE,eAAe,CAAA;IACvB,IAAI,EAAE,UAAU,CAAA;CACjB,KAAG,YAaH,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,GAAG,CAAA;IACT,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,WAAW,EAAE,mBAAmB,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,qBAAqB,SAAgB;IAChD,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,sBAAsB,EAAE,OAAO,CAAA;IAC/B,GAAG,EAAE,cAAc,CAAA;CACpB,KAAG,OAAO,CAAC,oBAAoB,CA0I/B,CAAA"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { headers as getHeaders } from 'next/headers.js';
|
|
2
|
+
import { createClientConfig, getAccessResults, isEntityHidden, parseCookies } from 'payload';
|
|
3
|
+
import { renderDocument } from './index.js';
|
|
4
|
+
let cachedClientConfig = global._payload_clientConfig;
|
|
5
|
+
if (!cachedClientConfig) {
|
|
6
|
+
cachedClientConfig = global._payload_clientConfig = null;
|
|
7
|
+
}
|
|
8
|
+
export const getClientConfig = args => {
|
|
9
|
+
const {
|
|
10
|
+
config,
|
|
11
|
+
i18n
|
|
12
|
+
} = args;
|
|
13
|
+
if (cachedClientConfig && process.env.NODE_ENV !== 'development') {
|
|
14
|
+
return cachedClientConfig;
|
|
15
|
+
}
|
|
16
|
+
cachedClientConfig = createClientConfig({
|
|
17
|
+
config,
|
|
18
|
+
i18n
|
|
19
|
+
});
|
|
20
|
+
return cachedClientConfig;
|
|
21
|
+
};
|
|
22
|
+
export const renderDocumentHandler = async args => {
|
|
23
|
+
const {
|
|
24
|
+
collectionSlug,
|
|
25
|
+
disableActions,
|
|
26
|
+
docID,
|
|
27
|
+
drawerSlug,
|
|
28
|
+
initialData,
|
|
29
|
+
redirectAfterDelete,
|
|
30
|
+
redirectAfterDuplicate,
|
|
31
|
+
req,
|
|
32
|
+
req: {
|
|
33
|
+
i18n,
|
|
34
|
+
payload,
|
|
35
|
+
payload: {
|
|
36
|
+
config
|
|
37
|
+
},
|
|
38
|
+
user
|
|
39
|
+
}
|
|
40
|
+
} = args;
|
|
41
|
+
const headers = await getHeaders();
|
|
42
|
+
const cookies = parseCookies(headers);
|
|
43
|
+
const incomingUserSlug = user?.collection;
|
|
44
|
+
const adminUserSlug = config.admin.user;
|
|
45
|
+
// If we have a user slug, test it against the functions
|
|
46
|
+
if (incomingUserSlug) {
|
|
47
|
+
const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin;
|
|
48
|
+
// Run the admin access function from the config if it exists
|
|
49
|
+
if (adminAccessFunction) {
|
|
50
|
+
const canAccessAdmin = await adminAccessFunction({
|
|
51
|
+
req
|
|
52
|
+
});
|
|
53
|
+
if (!canAccessAdmin) {
|
|
54
|
+
throw new Error('Unauthorized');
|
|
55
|
+
}
|
|
56
|
+
// Match the user collection to the global admin config
|
|
57
|
+
} else if (adminUserSlug !== incomingUserSlug) {
|
|
58
|
+
throw new Error('Unauthorized');
|
|
59
|
+
}
|
|
60
|
+
} else {
|
|
61
|
+
const hasUsers = await payload.find({
|
|
62
|
+
collection: adminUserSlug,
|
|
63
|
+
depth: 0,
|
|
64
|
+
limit: 1,
|
|
65
|
+
pagination: false
|
|
66
|
+
});
|
|
67
|
+
// If there are users, we should not allow access because of /create-first-user
|
|
68
|
+
if (hasUsers.docs.length) {
|
|
69
|
+
throw new Error('Unauthorized');
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const clientConfig = getClientConfig({
|
|
73
|
+
config,
|
|
74
|
+
i18n
|
|
75
|
+
});
|
|
76
|
+
let preferences;
|
|
77
|
+
if (docID) {
|
|
78
|
+
const preferencesKey = `${collectionSlug}-edit-${docID}`;
|
|
79
|
+
preferences = await payload.find({
|
|
80
|
+
collection: 'payload-preferences',
|
|
81
|
+
depth: 0,
|
|
82
|
+
limit: 1,
|
|
83
|
+
where: {
|
|
84
|
+
and: [{
|
|
85
|
+
key: {
|
|
86
|
+
equals: preferencesKey
|
|
87
|
+
}
|
|
88
|
+
}, {
|
|
89
|
+
'user.relationTo': {
|
|
90
|
+
equals: user.collection
|
|
91
|
+
}
|
|
92
|
+
}, {
|
|
93
|
+
'user.value': {
|
|
94
|
+
equals: user.id
|
|
95
|
+
}
|
|
96
|
+
}]
|
|
97
|
+
}
|
|
98
|
+
}).then(res => res.docs[0]?.value);
|
|
99
|
+
}
|
|
100
|
+
const visibleEntities = {
|
|
101
|
+
collections: payload.config.collections.map(({
|
|
102
|
+
slug,
|
|
103
|
+
admin: {
|
|
104
|
+
hidden
|
|
105
|
+
}
|
|
106
|
+
}) => !isEntityHidden({
|
|
107
|
+
hidden,
|
|
108
|
+
user
|
|
109
|
+
}) ? slug : null).filter(Boolean),
|
|
110
|
+
globals: payload.config.globals.map(({
|
|
111
|
+
slug,
|
|
112
|
+
admin: {
|
|
113
|
+
hidden
|
|
114
|
+
}
|
|
115
|
+
}) => !isEntityHidden({
|
|
116
|
+
hidden,
|
|
117
|
+
user
|
|
118
|
+
}) ? slug : null).filter(Boolean)
|
|
119
|
+
};
|
|
120
|
+
const permissions = await getAccessResults({
|
|
121
|
+
req
|
|
122
|
+
});
|
|
123
|
+
const {
|
|
124
|
+
data,
|
|
125
|
+
Document
|
|
126
|
+
} = await renderDocument({
|
|
127
|
+
clientConfig,
|
|
128
|
+
disableActions,
|
|
129
|
+
drawerSlug,
|
|
130
|
+
importMap: payload.importMap,
|
|
131
|
+
initialData,
|
|
132
|
+
initPageResult: {
|
|
133
|
+
collectionConfig: payload.config.collections.find(collection => collection.slug === collectionSlug),
|
|
134
|
+
cookies,
|
|
135
|
+
docID,
|
|
136
|
+
globalConfig: payload.config.globals.find(global1 => global1.slug === collectionSlug),
|
|
137
|
+
languageOptions: undefined,
|
|
138
|
+
permissions,
|
|
139
|
+
req,
|
|
140
|
+
translations: undefined,
|
|
141
|
+
visibleEntities
|
|
142
|
+
},
|
|
143
|
+
params: {
|
|
144
|
+
segments: ['collections', collectionSlug, docID]
|
|
145
|
+
},
|
|
146
|
+
redirectAfterDelete,
|
|
147
|
+
redirectAfterDuplicate,
|
|
148
|
+
searchParams: {}
|
|
149
|
+
});
|
|
150
|
+
return {
|
|
151
|
+
data,
|
|
152
|
+
Document,
|
|
153
|
+
preferences
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
//# sourceMappingURL=handleServerFunction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleServerFunction.js","names":["headers","getHeaders","createClientConfig","getAccessResults","isEntityHidden","parseCookies","renderDocument","cachedClientConfig","global","_payload_clientConfig","getClientConfig","args","config","i18n","process","env","NODE_ENV","renderDocumentHandler","collectionSlug","disableActions","docID","drawerSlug","initialData","redirectAfterDelete","redirectAfterDuplicate","req","payload","user","cookies","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","clientConfig","preferences","preferencesKey","where","and","key","equals","id","then","res","value","visibleEntities","map","slug","hidden","filter","Boolean","globals","permissions","data","Document","importMap","initPageResult","collectionConfig","globalConfig","global1","languageOptions","undefined","translations","params","segments","searchParams"],"sources":["../../../src/views/Document/handleServerFunction.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ClientConfig,\n Data,\n DocumentPreferences,\n FormState,\n PayloadRequest,\n SanitizedConfig,\n VisibleEntities,\n} from 'payload'\n\nimport { headers as getHeaders } from 'next/headers.js'\nimport { createClientConfig, getAccessResults, isEntityHidden, parseCookies } from 'payload'\n\nimport { renderDocument } from './index.js'\n\nlet cachedClientConfig = global._payload_clientConfig\n\nif (!cachedClientConfig) {\n cachedClientConfig = global._payload_clientConfig = null\n}\n\nexport const getClientConfig = (args: {\n config: SanitizedConfig\n i18n: I18nClient\n}): ClientConfig => {\n const { config, i18n } = args\n\n if (cachedClientConfig && process.env.NODE_ENV !== 'development') {\n return cachedClientConfig\n }\n\n cachedClientConfig = createClientConfig({\n config,\n i18n,\n })\n\n return cachedClientConfig\n}\n\ntype RenderDocumentResult = {\n data: any\n Document: React.ReactNode\n preferences: DocumentPreferences\n}\n\nexport const renderDocumentHandler = async (args: {\n collectionSlug: string\n disableActions?: boolean\n docID: string\n drawerSlug?: string\n initialData?: Data\n initialState?: FormState\n redirectAfterDelete: boolean\n redirectAfterDuplicate: boolean\n req: PayloadRequest\n}): Promise<RenderDocumentResult> => {\n const {\n collectionSlug,\n disableActions,\n docID,\n drawerSlug,\n initialData,\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 })\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 drawerSlug,\n importMap: payload.importMap,\n initialData,\n initPageResult: {\n collectionConfig: payload.config.collections.find(\n (collection) => collection.slug === collectionSlug,\n ),\n cookies,\n docID,\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 params: {\n segments: ['collections', collectionSlug, docID],\n },\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams: {},\n })\n\n return {\n data,\n Document,\n preferences,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import type { AdminViewProps } from 'payload';
|
|
1
|
+
import type { AdminViewProps, 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
|
+
export declare const renderDocument: ({ disableActions, drawerSlug, importMap, initialData, initPageResult, params, redirectAfterDelete, redirectAfterDuplicate, searchParams, }: AdminViewProps) => Promise<{
|
|
6
|
+
data: Data;
|
|
7
|
+
Document: React.ReactNode;
|
|
8
|
+
}>;
|
|
5
9
|
export declare const Document: React.FC<AdminViewProps>;
|
|
6
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,IAAI,EAIL,MAAM,SAAS,CAAA;AAQhB,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,+IAUxB,cAAc,KAAG,OAAO,CAAC;IAC1B,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAkUA,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAc7C,CAAA"}
|
|
@@ -1,19 +1,34 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui';
|
|
3
|
-
import {
|
|
3
|
+
import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
|
|
4
|
+
import { formatAdminURL, isEditing as getIsEditing } from '@payloadcms/ui/shared';
|
|
5
|
+
import { buildFormState } from '@payloadcms/ui/utilities/buildFormState';
|
|
6
|
+
import { isRedirectError } from 'next/dist/client/components/redirect.js';
|
|
4
7
|
import { notFound, redirect } from 'next/navigation.js';
|
|
5
8
|
import React from 'react';
|
|
6
9
|
import { DocumentHeader } from '../../elements/DocumentHeader/index.js';
|
|
7
10
|
import { NotFoundView } from '../NotFound/index.js';
|
|
11
|
+
import { getDocPreferences } from './getDocPreferences.js';
|
|
8
12
|
import { getDocumentData } from './getDocumentData.js';
|
|
9
13
|
import { getDocumentPermissions } from './getDocumentPermissions.js';
|
|
14
|
+
import { getIsLocked } from './getIsLocked.js';
|
|
10
15
|
import { getMetaBySegment } from './getMetaBySegment.js';
|
|
16
|
+
import { getVersions } from './getVersions.js';
|
|
11
17
|
import { getViewsFromConfig } from './getViewsFromConfig.js';
|
|
18
|
+
import { renderDocumentSlots } from './renderDocumentSlots.js';
|
|
12
19
|
export const generateMetadata = async args => getMetaBySegment(args);
|
|
13
|
-
|
|
20
|
+
// This function will be responsible for rendering an Edit Document view
|
|
21
|
+
// it will be called on the server for Edit page views as well as
|
|
22
|
+
// called on-demand from document drawers
|
|
23
|
+
export const renderDocument = async ({
|
|
24
|
+
disableActions,
|
|
25
|
+
drawerSlug,
|
|
14
26
|
importMap,
|
|
27
|
+
initialData,
|
|
15
28
|
initPageResult,
|
|
16
29
|
params,
|
|
30
|
+
redirectAfterDelete,
|
|
31
|
+
redirectAfterDuplicate,
|
|
17
32
|
searchParams
|
|
18
33
|
}) => {
|
|
19
34
|
const {
|
|
@@ -53,47 +68,93 @@ export const Document = async ({
|
|
|
53
68
|
let DefaultView;
|
|
54
69
|
let ErrorView;
|
|
55
70
|
let apiURL;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
formState
|
|
59
|
-
} = await getDocumentData({
|
|
71
|
+
// Fetch the doc required for the view
|
|
72
|
+
const doc = initialData || (await getDocumentData({
|
|
60
73
|
id,
|
|
61
|
-
|
|
62
|
-
|
|
74
|
+
collectionSlug,
|
|
75
|
+
globalSlug,
|
|
63
76
|
locale,
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
77
|
+
payload,
|
|
78
|
+
user
|
|
79
|
+
}));
|
|
80
|
+
if (isEditing && !doc) {
|
|
81
|
+
throw new Error('not-found');
|
|
68
82
|
}
|
|
69
|
-
const {
|
|
83
|
+
const [docPreferences, {
|
|
70
84
|
docPermissions,
|
|
71
85
|
hasPublishPermission,
|
|
72
86
|
hasSavePermission
|
|
73
|
-
}
|
|
87
|
+
}, {
|
|
88
|
+
currentEditor,
|
|
89
|
+
isLocked,
|
|
90
|
+
lastUpdateTime
|
|
91
|
+
}] = await Promise.all([
|
|
92
|
+
// Get document preferences
|
|
93
|
+
getDocPreferences({
|
|
94
|
+
id,
|
|
95
|
+
collectionSlug,
|
|
96
|
+
globalSlug,
|
|
97
|
+
payload,
|
|
98
|
+
user
|
|
99
|
+
}),
|
|
100
|
+
// Get permissions
|
|
101
|
+
getDocumentPermissions({
|
|
74
102
|
id,
|
|
75
103
|
collectionConfig,
|
|
76
|
-
data,
|
|
104
|
+
data: doc,
|
|
77
105
|
globalConfig,
|
|
78
106
|
req
|
|
79
|
-
})
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
107
|
+
}),
|
|
108
|
+
// Fetch document lock state
|
|
109
|
+
getIsLocked({
|
|
110
|
+
id,
|
|
111
|
+
collectionConfig,
|
|
112
|
+
globalConfig,
|
|
113
|
+
isEditing,
|
|
114
|
+
req
|
|
115
|
+
})]);
|
|
116
|
+
const [{
|
|
117
|
+
hasPublishedDoc,
|
|
118
|
+
mostRecentVersionIsAutosaved,
|
|
119
|
+
unpublishedVersionCount,
|
|
120
|
+
versionCount
|
|
121
|
+
}, {
|
|
122
|
+
state: formState
|
|
123
|
+
}] = await Promise.all([getVersions({
|
|
124
|
+
id,
|
|
125
|
+
collectionConfig,
|
|
126
|
+
docPermissions,
|
|
127
|
+
globalConfig,
|
|
128
|
+
locale: locale?.code,
|
|
129
|
+
payload,
|
|
130
|
+
user
|
|
131
|
+
}), buildFormState({
|
|
132
|
+
id,
|
|
133
|
+
collectionSlug,
|
|
134
|
+
data: doc,
|
|
135
|
+
docPermissions,
|
|
136
|
+
docPreferences,
|
|
137
|
+
globalSlug,
|
|
138
|
+
locale: locale?.code,
|
|
139
|
+
operation: collectionSlug && id || globalSlug ? 'update' : 'create',
|
|
140
|
+
renderAllFields: true,
|
|
141
|
+
req,
|
|
142
|
+
schemaPath: collectionSlug || globalSlug
|
|
143
|
+
})]);
|
|
144
|
+
const serverProps = {
|
|
145
|
+
i18n,
|
|
146
|
+
initPageResult,
|
|
147
|
+
locale,
|
|
148
|
+
params,
|
|
149
|
+
payload,
|
|
150
|
+
permissions,
|
|
151
|
+
routeSegments: segments,
|
|
152
|
+
searchParams,
|
|
153
|
+
user
|
|
154
|
+
};
|
|
94
155
|
if (collectionConfig) {
|
|
95
156
|
if (!visibleEntities?.collections?.find(visibleSlug => visibleSlug === collectionSlug)) {
|
|
96
|
-
|
|
157
|
+
throw new Error('not-found');
|
|
97
158
|
}
|
|
98
159
|
const params = new URLSearchParams();
|
|
99
160
|
if (collectionConfig.versions?.drafts) {
|
|
@@ -104,7 +165,7 @@ export const Document = async ({
|
|
|
104
165
|
}
|
|
105
166
|
const apiQueryParams = `?${params.toString()}`;
|
|
106
167
|
apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}${apiQueryParams}`;
|
|
107
|
-
RootViewOverride = collectionConfig?.admin?.components?.views?.edit?.root && 'Component' in collectionConfig.admin.components.views.edit.root ?
|
|
168
|
+
RootViewOverride = collectionConfig?.admin?.components?.views?.edit?.root && 'Component' in collectionConfig.admin.components.views.edit.root ? collectionConfig?.admin?.components?.views?.edit?.root?.Component : null;
|
|
108
169
|
if (!RootViewOverride) {
|
|
109
170
|
const collectionViews = getViewsFromConfig({
|
|
110
171
|
collectionConfig,
|
|
@@ -112,17 +173,19 @@ export const Document = async ({
|
|
|
112
173
|
docPermissions,
|
|
113
174
|
routeSegments: segments
|
|
114
175
|
});
|
|
115
|
-
CustomView =
|
|
116
|
-
DefaultView =
|
|
117
|
-
ErrorView =
|
|
176
|
+
CustomView = collectionViews?.CustomView;
|
|
177
|
+
DefaultView = collectionViews?.DefaultView;
|
|
178
|
+
ErrorView = collectionViews?.ErrorView;
|
|
118
179
|
}
|
|
119
180
|
if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {
|
|
120
|
-
ErrorView =
|
|
181
|
+
ErrorView = {
|
|
182
|
+
Component: NotFoundView
|
|
183
|
+
};
|
|
121
184
|
}
|
|
122
185
|
}
|
|
123
186
|
if (globalConfig) {
|
|
124
187
|
if (!visibleEntities?.globals?.find(visibleSlug => visibleSlug === globalSlug)) {
|
|
125
|
-
|
|
188
|
+
throw new Error('not-found');
|
|
126
189
|
}
|
|
127
190
|
const params = new URLSearchParams({
|
|
128
191
|
locale: locale?.code
|
|
@@ -135,7 +198,7 @@ export const Document = async ({
|
|
|
135
198
|
}
|
|
136
199
|
const apiQueryParams = `?${params.toString()}`;
|
|
137
200
|
apiURL = `${serverURL}${apiRoute}/${globalSlug}${apiQueryParams}`;
|
|
138
|
-
RootViewOverride = globalConfig?.admin?.components?.views?.edit?.root && 'Component' in globalConfig.admin.components.views.edit.root ?
|
|
201
|
+
RootViewOverride = globalConfig?.admin?.components?.views?.edit?.root && 'Component' in globalConfig.admin.components.views.edit.root ? globalConfig?.admin?.components?.views?.edit?.root?.Component : null;
|
|
139
202
|
if (!RootViewOverride) {
|
|
140
203
|
const globalViews = getViewsFromConfig({
|
|
141
204
|
config,
|
|
@@ -143,11 +206,13 @@ export const Document = async ({
|
|
|
143
206
|
globalConfig,
|
|
144
207
|
routeSegments: segments
|
|
145
208
|
});
|
|
146
|
-
CustomView =
|
|
147
|
-
DefaultView =
|
|
148
|
-
ErrorView =
|
|
209
|
+
CustomView = globalViews?.CustomView;
|
|
210
|
+
DefaultView = globalViews?.DefaultView;
|
|
211
|
+
ErrorView = globalViews?.ErrorView;
|
|
149
212
|
if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {
|
|
150
|
-
ErrorView =
|
|
213
|
+
ErrorView = {
|
|
214
|
+
Component: NotFoundView
|
|
215
|
+
};
|
|
151
216
|
}
|
|
152
217
|
}
|
|
153
218
|
}
|
|
@@ -160,7 +225,7 @@ export const Document = async ({
|
|
|
160
225
|
if (shouldAutosave && !validateDraftData && !id && collectionSlug) {
|
|
161
226
|
const doc = await payload.create({
|
|
162
227
|
collection: collectionSlug,
|
|
163
|
-
data: {},
|
|
228
|
+
data: initialData || {},
|
|
164
229
|
depth: 0,
|
|
165
230
|
draft: true,
|
|
166
231
|
fallbackLocale: null,
|
|
@@ -176,37 +241,81 @@ export const Document = async ({
|
|
|
176
241
|
});
|
|
177
242
|
redirect(redirectURL);
|
|
178
243
|
} else {
|
|
244
|
+
throw new Error('not-found');
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
const documentSlots = renderDocumentSlots({
|
|
248
|
+
collectionConfig,
|
|
249
|
+
globalConfig,
|
|
250
|
+
hasSavePermission,
|
|
251
|
+
permissions: docPermissions,
|
|
252
|
+
req
|
|
253
|
+
});
|
|
254
|
+
const clientProps = {
|
|
255
|
+
formState,
|
|
256
|
+
...documentSlots
|
|
257
|
+
};
|
|
258
|
+
return {
|
|
259
|
+
data: doc,
|
|
260
|
+
Document: /*#__PURE__*/_jsxs(DocumentInfoProvider, {
|
|
261
|
+
apiURL: apiURL,
|
|
262
|
+
collectionSlug: collectionConfig?.slug,
|
|
263
|
+
currentEditor: currentEditor,
|
|
264
|
+
disableActions: disableActions ?? false,
|
|
265
|
+
docPermissions: docPermissions,
|
|
266
|
+
globalSlug: globalConfig?.slug,
|
|
267
|
+
hasPublishedDoc: hasPublishedDoc,
|
|
268
|
+
hasPublishPermission: hasPublishPermission,
|
|
269
|
+
hasSavePermission: hasSavePermission,
|
|
270
|
+
id: id,
|
|
271
|
+
initialData: doc,
|
|
272
|
+
initialState: formState,
|
|
273
|
+
isEditing: isEditing,
|
|
274
|
+
isLocked: isLocked,
|
|
275
|
+
lastUpdateTime: lastUpdateTime,
|
|
276
|
+
mostRecentVersionIsAutosaved: mostRecentVersionIsAutosaved,
|
|
277
|
+
redirectAfterDelete: redirectAfterDelete,
|
|
278
|
+
redirectAfterDuplicate: redirectAfterDuplicate,
|
|
279
|
+
unpublishedVersionCount: unpublishedVersionCount,
|
|
280
|
+
versionCount: versionCount,
|
|
281
|
+
children: [!RootViewOverride && !drawerSlug && /*#__PURE__*/_jsx(DocumentHeader, {
|
|
282
|
+
collectionConfig: collectionConfig,
|
|
283
|
+
globalConfig: globalConfig,
|
|
284
|
+
i18n: i18n,
|
|
285
|
+
payload: payload,
|
|
286
|
+
permissions: permissions
|
|
287
|
+
}), /*#__PURE__*/_jsx(HydrateAuthProvider, {
|
|
288
|
+
permissions: permissions
|
|
289
|
+
}), /*#__PURE__*/_jsx(EditDepthProvider, {
|
|
290
|
+
children: ErrorView ? /*#__PURE__*/_jsx(RenderServerComponent, {
|
|
291
|
+
clientProps: clientProps,
|
|
292
|
+
Component: ErrorView.ComponentConfig || ErrorView.Component,
|
|
293
|
+
importMap: importMap,
|
|
294
|
+
serverProps: serverProps
|
|
295
|
+
}) : /*#__PURE__*/_jsx(RenderServerComponent, {
|
|
296
|
+
clientProps: clientProps,
|
|
297
|
+
Component: RootViewOverride ? RootViewOverride : CustomView?.ComponentConfig || CustomView?.Component ? CustomView?.ComponentConfig || CustomView?.Component : DefaultView?.ComponentConfig || DefaultView?.Component,
|
|
298
|
+
importMap: importMap,
|
|
299
|
+
serverProps: serverProps
|
|
300
|
+
})
|
|
301
|
+
})]
|
|
302
|
+
}, locale?.code)
|
|
303
|
+
};
|
|
304
|
+
};
|
|
305
|
+
export const Document = async args => {
|
|
306
|
+
try {
|
|
307
|
+
const {
|
|
308
|
+
Document: RenderedDocument
|
|
309
|
+
} = await renderDocument(args);
|
|
310
|
+
return RenderedDocument;
|
|
311
|
+
} catch (error) {
|
|
312
|
+
if (isRedirectError(error)) {
|
|
313
|
+
throw error;
|
|
314
|
+
}
|
|
315
|
+
args.initPageResult.req.payload.logger.error(error);
|
|
316
|
+
if (error.message === 'not-found') {
|
|
179
317
|
notFound();
|
|
180
318
|
}
|
|
181
319
|
}
|
|
182
|
-
return /*#__PURE__*/_jsxs(DocumentInfoProvider, {
|
|
183
|
-
apiURL: apiURL,
|
|
184
|
-
collectionSlug: collectionConfig?.slug,
|
|
185
|
-
disableActions: false,
|
|
186
|
-
docPermissions: docPermissions,
|
|
187
|
-
globalSlug: globalConfig?.slug,
|
|
188
|
-
hasPublishPermission: hasPublishPermission,
|
|
189
|
-
hasSavePermission: hasSavePermission,
|
|
190
|
-
id: id,
|
|
191
|
-
initialData: data,
|
|
192
|
-
initialState: formState,
|
|
193
|
-
isEditing: isEditing,
|
|
194
|
-
children: [!RootViewOverride && /*#__PURE__*/_jsx(DocumentHeader, {
|
|
195
|
-
collectionConfig: collectionConfig,
|
|
196
|
-
globalConfig: globalConfig,
|
|
197
|
-
i18n: i18n,
|
|
198
|
-
payload: payload,
|
|
199
|
-
permissions: permissions
|
|
200
|
-
}), /*#__PURE__*/_jsx(HydrateAuthProvider, {
|
|
201
|
-
permissions: permissions
|
|
202
|
-
}), /*#__PURE__*/_jsx(EditDepthProvider, {
|
|
203
|
-
depth: 1,
|
|
204
|
-
children: ErrorView ? /*#__PURE__*/_jsx(RenderComponent, {
|
|
205
|
-
mappedComponent: ErrorView
|
|
206
|
-
}) : /*#__PURE__*/_jsx(RenderComponent, {
|
|
207
|
-
mappedComponent: RootViewOverride ? RootViewOverride : CustomView ? CustomView : DefaultView
|
|
208
|
-
})
|
|
209
|
-
}, `${collectionSlug || globalSlug}${locale?.code ? `-${locale?.code}` : ''}`)]
|
|
210
|
-
}, locale?.code);
|
|
211
320
|
};
|
|
212
321
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","formatAdminURL","getCreateMappedComponent","isEditing","getIsEditing","RenderComponent","notFound","redirect","React","DocumentHeader","NotFoundView","getDocumentData","getDocumentPermissions","getMetaBySegment","getViewsFromConfig","generateMetadata","args","Document","importMap","initPageResult","params","searchParams","collectionConfig","docID","id","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","RootViewOverride","CustomView","DefaultView","ErrorView","apiURL","data","formState","docPermissions","hasPublishPermission","hasSavePermission","createMappedComponent","serverProps","routeSegments","collections","find","visibleSlug","URLSearchParams","versions","drafts","append","code","apiQueryParams","toString","components","views","edit","root","Component","collectionViews","payloadComponent","globals","globalViews","shouldAutosave","autosave","validateDraftData","validate","doc","create","collection","depth","draft","fallbackLocale","redirectURL","path","_jsxs","disableActions","initialData","initialState","_jsx","mappedComponent"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewProps,\n EditViewComponent,\n MappedComponent,\n ServerSideEditViewProps,\n} from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport {\n formatAdminURL,\n getCreateMappedComponent,\n isEditing as getIsEditing,\n RenderComponent,\n} from '@payloadcms/ui/shared'\nimport { notFound, redirect } from 'next/navigation.js'\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 { getDocumentData } from './getDocumentData.js'\nimport { getDocumentPermissions } from './getDocumentPermissions.js'\nimport { getMetaBySegment } from './getMetaBySegment.js'\nimport { getViewsFromConfig } from './getViewsFromConfig.js'\n\nexport const generateMetadata: GenerateEditViewMetadata = async (args) => getMetaBySegment(args)\n\nexport const Document: React.FC<AdminViewProps> = async ({\n importMap,\n initPageResult,\n params,\n searchParams,\n}) => {\n const {\n collectionConfig,\n docID: id,\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\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n\n let RootViewOverride: MappedComponent<ServerSideEditViewProps>\n let CustomView: MappedComponent<ServerSideEditViewProps>\n let DefaultView: MappedComponent<ServerSideEditViewProps>\n let ErrorView: MappedComponent<AdminViewProps>\n\n let apiURL: string\n\n const { data, formState } = await getDocumentData({\n id,\n collectionConfig,\n globalConfig,\n locale,\n req,\n })\n\n if (!data) {\n notFound()\n }\n\n const { docPermissions, hasPublishPermission, hasSavePermission } = await getDocumentPermissions({\n id,\n collectionConfig,\n data,\n globalConfig,\n req,\n })\n\n const createMappedComponent = getCreateMappedComponent({\n importMap,\n serverProps: {\n i18n,\n initPageResult,\n locale,\n params,\n payload,\n permissions,\n routeSegments: segments,\n searchParams,\n user,\n },\n })\n\n if (collectionConfig) {\n if (!visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) {\n notFound()\n }\n\n const params = new URLSearchParams()\n if (collectionConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}${apiQueryParams}`\n\n RootViewOverride =\n collectionConfig?.admin?.components?.views?.edit?.root &&\n 'Component' in collectionConfig.admin.components.views.edit.root\n ? createMappedComponent(\n collectionConfig?.admin?.components?.views?.edit?.root?.Component as EditViewComponent, // some type info gets lost from Config => SanitizedConfig due to our usage of Deep type operations from ts-essentials. Despite .Component being defined as EditViewComponent, this info is lost and we need cast it here.\n undefined,\n undefined,\n 'collectionConfig?.admin?.components?.views?.edit?.root',\n )\n : null\n\n if (!RootViewOverride) {\n const collectionViews = getViewsFromConfig({\n collectionConfig,\n config,\n docPermissions,\n routeSegments: segments,\n })\n\n CustomView = createMappedComponent(\n collectionViews?.CustomView?.payloadComponent,\n undefined,\n collectionViews?.CustomView?.Component,\n 'collectionViews?.CustomView.payloadComponent',\n )\n\n DefaultView = createMappedComponent(\n collectionViews?.DefaultView?.payloadComponent,\n undefined,\n collectionViews?.DefaultView?.Component,\n 'collectionViews?.DefaultView.payloadComponent',\n )\n\n ErrorView = createMappedComponent(\n collectionViews?.ErrorView?.payloadComponent,\n undefined,\n collectionViews?.ErrorView?.Component,\n 'collectionViews?.ErrorView.payloadComponent',\n )\n }\n\n if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {\n ErrorView = createMappedComponent(undefined, undefined, NotFoundView, 'NotFoundView')\n }\n }\n\n if (globalConfig) {\n if (!visibleEntities?.globals?.find((visibleSlug) => visibleSlug === globalSlug)) {\n notFound()\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 ? createMappedComponent(\n globalConfig?.admin?.components?.views?.edit?.root?.Component as EditViewComponent, // some type info gets lost from Config => SanitizedConfig due to our usage of Deep type operations from ts-essentials. Despite .Component being defined as EditViewComponent, this info is lost and we need cast it here.\n undefined,\n undefined,\n 'globalConfig?.admin?.components?.views?.edit?.root',\n )\n : null\n\n if (!RootViewOverride) {\n const globalViews = getViewsFromConfig({\n config,\n docPermissions,\n globalConfig,\n routeSegments: segments,\n })\n\n CustomView = createMappedComponent(\n globalViews?.CustomView?.payloadComponent,\n undefined,\n globalViews?.CustomView?.Component,\n 'globalViews?.CustomView.payloadComponent',\n )\n\n DefaultView = createMappedComponent(\n globalViews?.DefaultView?.payloadComponent,\n undefined,\n globalViews?.DefaultView?.Component,\n 'globalViews?.DefaultView.payloadComponent',\n )\n\n ErrorView = createMappedComponent(\n globalViews?.ErrorView?.payloadComponent,\n undefined,\n globalViews?.ErrorView?.Component,\n 'globalViews?.ErrorView.payloadComponent',\n )\n\n if (!CustomView && !DefaultView && !RootViewOverride && !ErrorView) {\n ErrorView = createMappedComponent(undefined, undefined, NotFoundView, 'NotFoundView')\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 const validateDraftData =\n collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.validate\n\n if (shouldAutosave && !validateDraftData && !id && collectionSlug) {\n const doc = await payload.create({\n collection: collectionSlug,\n data: {},\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n serverURL,\n })\n redirect(redirectURL)\n } else {\n notFound()\n }\n }\n\n return (\n <DocumentInfoProvider\n apiURL={apiURL}\n collectionSlug={collectionConfig?.slug}\n disableActions={false}\n docPermissions={docPermissions}\n globalSlug={globalConfig?.slug}\n hasPublishPermission={hasPublishPermission}\n hasSavePermission={hasSavePermission}\n id={id}\n initialData={data}\n initialState={formState}\n isEditing={isEditing}\n key={locale?.code}\n >\n {!RootViewOverride && (\n <DocumentHeader\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n i18n={i18n}\n payload={payload}\n permissions={permissions}\n />\n )}\n <HydrateAuthProvider permissions={permissions} />\n {/**\n * After bumping the Next.js canary to 104, and React to 19.0.0-rc-06d0b89e-20240801\" we have to deepCopy the permissions object (https://github.com/payloadcms/payload/pull/7541).\n * If both HydrateClientUser and RenderCustomComponent receive the same permissions object (same object reference), we get a\n * \"TypeError: Cannot read properties of undefined (reading '$$typeof')\" error when loading up some version views - for example a versions\n * view in the draft-posts collection of the versions test suite. RenderCustomComponent is what renders the versions view.\n *\n * // TODO: Revisit this in the future and figure out why this is happening. Might be a React/Next.js bug. We don't know why it happens, and a future React/Next version might unbreak this (keep an eye on this and remove deepCopyObjectSimple if that's the case)\n */}\n <EditDepthProvider\n depth={1}\n key={`${collectionSlug || globalSlug}${locale?.code ? `-${locale?.code}` : ''}`}\n >\n {ErrorView ? (\n <RenderComponent mappedComponent={ErrorView} />\n ) : (\n <RenderComponent\n mappedComponent={\n RootViewOverride ? RootViewOverride : CustomView ? CustomView : DefaultView\n }\n />\n )}\n </EditDepthProvider>\n </DocumentInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["DocumentInfoProvider","EditDepthProvider","HydrateAuthProvider","RenderServerComponent","formatAdminURL","isEditing","getIsEditing","buildFormState","isRedirectError","notFound","redirect","React","DocumentHeader","NotFoundView","getDocPreferences","getDocumentData","getDocumentPermissions","getIsLocked","getMetaBySegment","getVersions","getViewsFromConfig","renderDocumentSlots","generateMetadata","args","renderDocument","disableActions","drawerSlug","importMap","initialData","initPageResult","params","redirectAfterDelete","redirectAfterDuplicate","searchParams","collectionConfig","docID","id","globalConfig","locale","permissions","req","i18n","payload","config","routes","admin","adminRoute","api","apiRoute","serverURL","user","visibleEntities","segments","Array","isArray","collectionSlug","slug","undefined","globalSlug","RootViewOverride","CustomView","DefaultView","ErrorView","apiURL","doc","Error","docPreferences","docPermissions","hasPublishPermission","hasSavePermission","currentEditor","isLocked","lastUpdateTime","Promise","all","data","hasPublishedDoc","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","state","formState","code","operation","renderAllFields","schemaPath","serverProps","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","fallbackLocale","redirectURL","path","documentSlots","clientProps","Document","_jsxs","initialState","_jsx","ComponentConfig","RenderedDocument","error","logger","message"],"sources":["../../../src/views/Document/index.tsx"],"sourcesContent":["import type {\n AdminViewProps,\n Data,\n PayloadComponent,\n ServerProps,\n ServerSideEditViewProps,\n} from 'payload'\n\nimport { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { formatAdminURL, isEditing as getIsEditing } from '@payloadcms/ui/shared'\nimport { buildFormState } from '@payloadcms/ui/utilities/buildFormState'\nimport { isRedirectError } from 'next/dist/client/components/redirect.js'\nimport { notFound, redirect } from 'next/navigation.js'\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 drawerSlug,\n importMap,\n initialData,\n initPageResult,\n params,\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams,\n}: AdminViewProps): Promise<{\n data: Data\n Document: React.ReactNode\n}> => {\n const {\n collectionConfig,\n docID: id,\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 const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n\n let RootViewOverride: PayloadComponent\n let CustomView: ViewFromConfig<ServerSideEditViewProps>\n let DefaultView: ViewFromConfig<ServerSideEditViewProps>\n let ErrorView: ViewFromConfig<AdminViewProps>\n\n let apiURL: string\n\n // Fetch the doc required for the view\n const doc =\n initialData ||\n (await getDocumentData({\n id,\n collectionSlug,\n globalSlug,\n locale,\n payload,\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,\n collectionSlug,\n globalSlug,\n payload,\n user,\n }),\n\n // Get permissions\n getDocumentPermissions({\n id,\n collectionConfig,\n data: doc,\n globalConfig,\n req,\n }),\n\n // Fetch document lock state\n getIsLocked({\n id,\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,\n collectionConfig,\n docPermissions,\n globalConfig,\n locale: locale?.code,\n payload,\n user,\n }),\n buildFormState({\n id,\n collectionSlug,\n data: doc,\n docPermissions,\n docPreferences,\n globalSlug,\n locale: locale?.code,\n operation: (collectionSlug && id) || globalSlug ? 'update' : 'create',\n renderAllFields: true,\n req,\n schemaPath: collectionSlug || globalSlug,\n }),\n ])\n\n const serverProps: ServerProps = {\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 (!visibleEntities?.collections?.find((visibleSlug) => visibleSlug === collectionSlug)) {\n throw new Error('not-found')\n }\n\n const params = new URLSearchParams()\n if (collectionConfig.versions?.drafts) {\n params.append('draft', 'true')\n }\n if (locale?.code) {\n params.append('locale', locale.code)\n }\n\n const apiQueryParams = `?${params.toString()}`\n\n apiURL = `${serverURL}${apiRoute}/${collectionSlug}/${id}${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 if (shouldAutosave && !validateDraftData && !id && collectionSlug) {\n const doc = await payload.create({\n collection: collectionSlug,\n data: initialData || {},\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale: locale?.code,\n req,\n user,\n })\n\n if (doc?.id) {\n const redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${doc.id}`,\n serverURL,\n })\n redirect(redirectURL)\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 = { formState, ...documentSlots }\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 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={clientProps}\n Component={ErrorView.ComponentConfig || ErrorView.Component}\n importMap={importMap}\n serverProps={serverProps}\n />\n ) : (\n <RenderServerComponent\n clientProps={clientProps}\n Component={\n RootViewOverride\n ? RootViewOverride\n : CustomView?.ComponentConfig || CustomView?.Component\n ? CustomView?.ComponentConfig || CustomView?.Component\n : DefaultView?.ComponentConfig || DefaultView?.Component\n }\n importMap={importMap}\n serverProps={serverProps}\n />\n )}\n </EditDepthProvider>\n </DocumentInfoProvider>\n ),\n }\n}\n\nexport const Document: React.FC<AdminViewProps> = async (args) => {\n try {\n const { Document: RenderedDocument } = await renderDocument(args)\n return RenderedDocument\n } catch (error) {\n if (isRedirectError(error)) {\n throw error\n }\n args.initPageResult.req.payload.logger.error(error)\n\n if (error.message === 'not-found') {\n notFound()\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DefaultServerFunctionArgs, DocumentPermissions, DocumentSlots, PayloadRequest, SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload';
|
|
2
|
+
export declare const renderDocumentSlots: (args: {
|
|
3
|
+
collectionConfig?: SanitizedCollectionConfig;
|
|
4
|
+
globalConfig?: SanitizedGlobalConfig;
|
|
5
|
+
hasSavePermission: boolean;
|
|
6
|
+
permissions: DocumentPermissions;
|
|
7
|
+
req: PayloadRequest;
|
|
8
|
+
}) => DocumentSlots;
|
|
9
|
+
export declare const renderDocumentSlotsHandler: (args: {
|
|
10
|
+
collectionSlug: string;
|
|
11
|
+
} & DefaultServerFunctionArgs) => Promise<DocumentSlots>;
|
|
12
|
+
//# sourceMappingURL=renderDocumentSlots.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderDocumentSlots.d.ts","sourceRoot":"","sources":["../../../src/views/Document/renderDocumentSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,yBAAyB,EACzB,qBAAqB,EAEtB,MAAM,SAAS,CAAA;AAQhB,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,mBAAmB,CAAA;IAChC,GAAG,EAAE,cAAc,CAAA;CACpB,KAAK,aAwFL,CAAA;AAED,eAAO,MAAM,0BAA0B,SAC/B;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,GAAG,yBAAyB,2BAsB7D,CAAA"}
|