@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
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
|
-
import { getTranslation } from '@payloadcms/translations';
|
|
5
|
-
import { useConfig, useDocumentInfo, useEditDepth, useEntityVisibility, useStepNav, useTranslation } from '@payloadcms/ui';
|
|
6
|
-
import { formatAdminURL } from '@payloadcms/ui/shared';
|
|
7
|
-
import { useEffect } from 'react';
|
|
8
|
-
export const SetDocumentStepNav = props => {
|
|
9
|
-
const $ = _c(21);
|
|
10
|
-
const {
|
|
11
|
-
id,
|
|
12
|
-
collectionSlug,
|
|
13
|
-
globalSlug,
|
|
14
|
-
pluralLabel,
|
|
15
|
-
useAsTitle
|
|
16
|
-
} = props;
|
|
17
|
-
const view = props?.view || undefined;
|
|
18
|
-
const {
|
|
19
|
-
isEditing,
|
|
20
|
-
isInitializing,
|
|
21
|
-
title
|
|
22
|
-
} = useDocumentInfo();
|
|
23
|
-
const {
|
|
24
|
-
isEntityVisible
|
|
25
|
-
} = useEntityVisibility();
|
|
26
|
-
let t0;
|
|
27
|
-
if ($[0] !== collectionSlug || $[1] !== globalSlug || $[2] !== isEntityVisible) {
|
|
28
|
-
t0 = isEntityVisible({
|
|
29
|
-
collectionSlug,
|
|
30
|
-
globalSlug
|
|
31
|
-
});
|
|
32
|
-
$[0] = collectionSlug;
|
|
33
|
-
$[1] = globalSlug;
|
|
34
|
-
$[2] = isEntityVisible;
|
|
35
|
-
$[3] = t0;
|
|
36
|
-
} else {
|
|
37
|
-
t0 = $[3];
|
|
38
|
-
}
|
|
39
|
-
const isVisible = t0;
|
|
40
|
-
const {
|
|
41
|
-
setStepNav
|
|
42
|
-
} = useStepNav();
|
|
43
|
-
const {
|
|
44
|
-
i18n,
|
|
45
|
-
t
|
|
46
|
-
} = useTranslation();
|
|
47
|
-
const {
|
|
48
|
-
config: t1
|
|
49
|
-
} = useConfig();
|
|
50
|
-
const {
|
|
51
|
-
routes: t2
|
|
52
|
-
} = t1;
|
|
53
|
-
const {
|
|
54
|
-
admin: adminRoute
|
|
55
|
-
} = t2;
|
|
56
|
-
const drawerDepth = useEditDepth();
|
|
57
|
-
let t3;
|
|
58
|
-
let t4;
|
|
59
|
-
if ($[4] !== isInitializing || $[5] !== collectionSlug || $[6] !== pluralLabel || $[7] !== i18n || $[8] !== isVisible || $[9] !== adminRoute || $[10] !== isEditing || $[11] !== useAsTitle || $[12] !== title || $[13] !== id || $[14] !== t || $[15] !== globalSlug || $[16] !== view || $[17] !== drawerDepth || $[18] !== setStepNav) {
|
|
60
|
-
t3 = () => {
|
|
61
|
-
const nav = [];
|
|
62
|
-
if (!isInitializing) {
|
|
63
|
-
if (collectionSlug) {
|
|
64
|
-
nav.push({
|
|
65
|
-
label: getTranslation(pluralLabel, i18n),
|
|
66
|
-
url: isVisible ? formatAdminURL({
|
|
67
|
-
adminRoute,
|
|
68
|
-
path: `/collections/${collectionSlug}`
|
|
69
|
-
}) : undefined
|
|
70
|
-
});
|
|
71
|
-
if (isEditing) {
|
|
72
|
-
nav.push({
|
|
73
|
-
label: useAsTitle && useAsTitle !== "id" && title || `${id}`,
|
|
74
|
-
url: isVisible ? formatAdminURL({
|
|
75
|
-
adminRoute,
|
|
76
|
-
path: `/collections/${collectionSlug}/${id}`
|
|
77
|
-
}) : undefined
|
|
78
|
-
});
|
|
79
|
-
} else {
|
|
80
|
-
nav.push({
|
|
81
|
-
label: t("general:createNew")
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
} else {
|
|
85
|
-
if (globalSlug) {
|
|
86
|
-
nav.push({
|
|
87
|
-
label: title,
|
|
88
|
-
url: isVisible ? formatAdminURL({
|
|
89
|
-
adminRoute,
|
|
90
|
-
path: `/globals/${globalSlug}`
|
|
91
|
-
}) : undefined
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
if (view) {
|
|
96
|
-
nav.push({
|
|
97
|
-
label: view
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
if (drawerDepth <= 1) {
|
|
101
|
-
setStepNav(nav);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
t4 = [setStepNav, isInitializing, isEditing, pluralLabel, id, useAsTitle, adminRoute, t, i18n, title, collectionSlug, globalSlug, view, drawerDepth, isVisible];
|
|
106
|
-
$[4] = isInitializing;
|
|
107
|
-
$[5] = collectionSlug;
|
|
108
|
-
$[6] = pluralLabel;
|
|
109
|
-
$[7] = i18n;
|
|
110
|
-
$[8] = isVisible;
|
|
111
|
-
$[9] = adminRoute;
|
|
112
|
-
$[10] = isEditing;
|
|
113
|
-
$[11] = useAsTitle;
|
|
114
|
-
$[12] = title;
|
|
115
|
-
$[13] = id;
|
|
116
|
-
$[14] = t;
|
|
117
|
-
$[15] = globalSlug;
|
|
118
|
-
$[16] = view;
|
|
119
|
-
$[17] = drawerDepth;
|
|
120
|
-
$[18] = setStepNav;
|
|
121
|
-
$[19] = t3;
|
|
122
|
-
$[20] = t4;
|
|
123
|
-
} else {
|
|
124
|
-
t3 = $[19];
|
|
125
|
-
t4 = $[20];
|
|
126
|
-
}
|
|
127
|
-
useEffect(t3, t4);
|
|
128
|
-
return null;
|
|
129
|
-
};
|
|
130
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","useConfig","useDocumentInfo","useEditDepth","useEntityVisibility","useStepNav","useTranslation","formatAdminURL","useEffect","SetDocumentStepNav","props","$","id","collectionSlug","globalSlug","pluralLabel","useAsTitle","view","undefined","isEditing","isInitializing","title","isEntityVisible","t0","isVisible","setStepNav","i18n","t","config","t1","routes","t2","admin","adminRoute","drawerDepth","t3","t4","nav","push","label","url","path"],"sources":["../../../../../src/views/Edit/Default/SetDocumentStepNav/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n type StepNavItem,\n useConfig,\n useDocumentInfo,\n useEditDepth,\n useEntityVisibility,\n useStepNav,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatAdminURL } from '@payloadcms/ui/shared'\nimport { useEffect } from 'react'\n\nexport const SetDocumentStepNav: React.FC<{\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalLabel?: SanitizedGlobalConfig['label']\n globalSlug?: SanitizedGlobalConfig['slug']\n id?: number | string\n pluralLabel?: SanitizedCollectionConfig['labels']['plural']\n useAsTitle?: SanitizedCollectionConfig['admin']['useAsTitle']\n view?: string\n}> = (props) => {\n const { id, collectionSlug, globalSlug, pluralLabel, useAsTitle } = props\n\n const view: string | undefined = props?.view || undefined\n\n const { isEditing, isInitializing, title } = useDocumentInfo()\n const { isEntityVisible } = useEntityVisibility()\n const isVisible = isEntityVisible({ collectionSlug, globalSlug })\n\n const { setStepNav } = useStepNav()\n\n const { i18n, t } = useTranslation()\n\n const {\n config: {\n routes: { admin: adminRoute },\n },\n } = useConfig()\n\n const drawerDepth = useEditDepth()\n\n useEffect(() => {\n const nav: StepNavItem[] = []\n\n if (!isInitializing) {\n if (collectionSlug) {\n nav.push({\n label: getTranslation(pluralLabel, i18n),\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}`,\n })\n : undefined,\n })\n\n if (isEditing) {\n nav.push({\n label: (useAsTitle && useAsTitle !== 'id' && title) || `${id}`,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${id}`,\n })\n : undefined,\n })\n } else {\n nav.push({\n label: t('general:createNew'),\n })\n }\n } else if (globalSlug) {\n nav.push({\n label: title,\n url: isVisible\n ? formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n : undefined,\n })\n }\n\n if (view) {\n nav.push({\n label: view,\n })\n }\n\n if (drawerDepth <= 1) {\n setStepNav(nav)\n }\n }\n }, [\n setStepNav,\n isInitializing,\n isEditing,\n pluralLabel,\n id,\n useAsTitle,\n adminRoute,\n t,\n i18n,\n title,\n collectionSlug,\n globalSlug,\n view,\n drawerDepth,\n isVisible,\n ])\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { ClientCollectionConfig, ClientConfig, ClientGlobalConfig } from 'payload';
|
|
2
|
-
export declare const SetDocumentTitle: React.FC<{
|
|
3
|
-
collectionConfig?: ClientCollectionConfig;
|
|
4
|
-
config?: ClientConfig;
|
|
5
|
-
fallback: string;
|
|
6
|
-
globalConfig?: ClientGlobalConfig;
|
|
7
|
-
}>;
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/views/Edit/Default/SetDocumentTitle/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAMvF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,kBAAkB,CAAA;CAClC,CAuCA,CAAA"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { c as _c } from "react/compiler-runtime";
|
|
4
|
-
import { useDocumentInfo, useFormFields, useTranslation } from '@payloadcms/ui';
|
|
5
|
-
import { formatDocTitle } from '@payloadcms/ui/shared';
|
|
6
|
-
import { useEffect, useRef } from 'react';
|
|
7
|
-
export const SetDocumentTitle = props => {
|
|
8
|
-
const $ = _c(13);
|
|
9
|
-
const {
|
|
10
|
-
collectionConfig,
|
|
11
|
-
config,
|
|
12
|
-
fallback,
|
|
13
|
-
globalConfig
|
|
14
|
-
} = props;
|
|
15
|
-
const useAsTitle = collectionConfig?.admin?.useAsTitle;
|
|
16
|
-
let t0;
|
|
17
|
-
if ($[0] !== useAsTitle) {
|
|
18
|
-
t0 = t1 => {
|
|
19
|
-
const [fields] = t1;
|
|
20
|
-
return useAsTitle && fields && fields?.[useAsTitle] || null;
|
|
21
|
-
};
|
|
22
|
-
$[0] = useAsTitle;
|
|
23
|
-
$[1] = t0;
|
|
24
|
-
} else {
|
|
25
|
-
t0 = $[1];
|
|
26
|
-
}
|
|
27
|
-
const field = useFormFields(t0);
|
|
28
|
-
const hasInitialized = useRef(false);
|
|
29
|
-
const {
|
|
30
|
-
i18n
|
|
31
|
-
} = useTranslation();
|
|
32
|
-
const {
|
|
33
|
-
setDocumentTitle
|
|
34
|
-
} = useDocumentInfo();
|
|
35
|
-
const dateFormatFromConfig = config?.admin?.dateFormat;
|
|
36
|
-
let t1;
|
|
37
|
-
if ($[2] !== field || $[3] !== fallback || $[4] !== collectionConfig || $[5] !== dateFormatFromConfig || $[6] !== globalConfig || $[7] !== i18n) {
|
|
38
|
-
t1 = formatDocTitle({
|
|
39
|
-
collectionConfig,
|
|
40
|
-
data: {
|
|
41
|
-
id: ""
|
|
42
|
-
},
|
|
43
|
-
dateFormat: dateFormatFromConfig,
|
|
44
|
-
fallback: typeof field === "string" ? field : typeof field === "number" ? String(field) : field?.value || fallback,
|
|
45
|
-
globalConfig,
|
|
46
|
-
i18n
|
|
47
|
-
});
|
|
48
|
-
$[2] = field;
|
|
49
|
-
$[3] = fallback;
|
|
50
|
-
$[4] = collectionConfig;
|
|
51
|
-
$[5] = dateFormatFromConfig;
|
|
52
|
-
$[6] = globalConfig;
|
|
53
|
-
$[7] = i18n;
|
|
54
|
-
$[8] = t1;
|
|
55
|
-
} else {
|
|
56
|
-
t1 = $[8];
|
|
57
|
-
}
|
|
58
|
-
const title = t1;
|
|
59
|
-
let t2;
|
|
60
|
-
let t3;
|
|
61
|
-
if ($[9] !== setDocumentTitle || $[10] !== title) {
|
|
62
|
-
t2 = () => {
|
|
63
|
-
if (!hasInitialized.current) {
|
|
64
|
-
hasInitialized.current = true;
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
setDocumentTitle(title);
|
|
68
|
-
};
|
|
69
|
-
t3 = [setDocumentTitle, title];
|
|
70
|
-
$[9] = setDocumentTitle;
|
|
71
|
-
$[10] = title;
|
|
72
|
-
$[11] = t2;
|
|
73
|
-
$[12] = t3;
|
|
74
|
-
} else {
|
|
75
|
-
t2 = $[11];
|
|
76
|
-
t3 = $[12];
|
|
77
|
-
}
|
|
78
|
-
useEffect(t2, t3);
|
|
79
|
-
return null;
|
|
80
|
-
};
|
|
81
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useDocumentInfo","useFormFields","useTranslation","formatDocTitle","useEffect","useRef","SetDocumentTitle","props","$","collectionConfig","config","fallback","globalConfig","useAsTitle","admin","t0","t1","fields","field","hasInitialized","i18n","setDocumentTitle","dateFormatFromConfig","dateFormat","data","id","String","value","title","t2","t3","current"],"sources":["../../../../../src/views/Edit/Default/SetDocumentTitle/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ClientConfig, ClientGlobalConfig } from 'payload'\n\nimport { useDocumentInfo, useFormFields, useTranslation } from '@payloadcms/ui'\nimport { formatDocTitle } from '@payloadcms/ui/shared'\nimport { useEffect, useRef } from 'react'\n\nexport const SetDocumentTitle: React.FC<{\n collectionConfig?: ClientCollectionConfig\n config?: ClientConfig\n fallback: string\n globalConfig?: ClientGlobalConfig\n}> = (props) => {\n const { collectionConfig, config, fallback, globalConfig } = props\n\n const useAsTitle = collectionConfig?.admin?.useAsTitle\n\n const field = useFormFields(([fields]) => (useAsTitle && fields && fields?.[useAsTitle]) || null)\n\n const hasInitialized = useRef(false)\n\n const { i18n } = useTranslation()\n\n const { setDocumentTitle } = useDocumentInfo()\n\n const dateFormatFromConfig = config?.admin?.dateFormat\n\n const title = formatDocTitle({\n collectionConfig,\n data: { id: '' },\n dateFormat: dateFormatFromConfig,\n fallback:\n typeof field === 'string'\n ? field\n : typeof field === 'number'\n ? String(field)\n : (field?.value as string) || fallback,\n globalConfig,\n i18n,\n })\n\n useEffect(() => {\n if (!hasInitialized.current) {\n hasInitialized.current = true\n return\n }\n\n setDocumentTitle(title)\n }, [setDocumentTitle, title])\n\n return null\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;AAGA,SAASC,eAAe,EAAEC,aAAa,EAAEC,cAAc,QAAQ;AAC/D,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,EAAEC,MAAM,QAAQ;AAElC,OAAO,MAAMC,gBAAA,GAKRC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU,gBAAA;IAAAC,MAAA;IAAAC,QAAA;IAAAC;EAAA,IAA6DL,KAAA;EAE7D,MAAAM,UAAA,GAAmBJ,gBAAA,EAAAK,KAAA,EAAAD,UAAA;EAAyB,IAAAE,EAAA;EAAA,IAAAP,CAAA,QAAAK,UAAA;IAEhBE,EAAA,GAAAC,EAAA;MAAC,OAAAC,MAAA,IAAAD,EAAQ;MAAA,OAAKH,UAAC,IAAcI,MAAA,IAAUA,MAAA,GAASJ,UAAA,CAAW,QAAK;IAAA;IAAAL,CAAA,MAAAK,UAAA;IAAAL,CAAA,MAAAO,EAAA;EAAA;IAAAA,EAAA,GAAAP,CAAA;EAAA;EAA5F,MAAAU,KAAA,GAAcjB,aAAA,CAAcc,EAAgE;EAE5F,MAAAI,cAAA,GAAuBd,MAAA,MAAO;EAE9B;IAAAe;EAAA,IAAiBlB,cAAA;EAEjB;IAAAmB;EAAA,IAA6BrB,eAAA;EAE7B,MAAAsB,oBAAA,GAA6BZ,MAAA,EAAAI,KAAA,EAAAS,UAAA;EAAe,IAAAP,EAAA;EAAA,IAAAR,CAAA,QAAAU,KAAA,IAAAV,CAAA,QAAAG,QAAA,IAAAH,CAAA,QAAAC,gBAAA,IAAAD,CAAA,QAAAc,oBAAA,IAAAd,CAAA,QAAAI,YAAA,IAAAJ,CAAA,QAAAY,IAAA;IAE9BJ,EAAA,GAAAb,cAAA;MAAAM,gBAAA;MAAAe,IAAA;QAAAC,EAAA,EAEA;MAAA;MAAAF,UAAA,EACAD,oBAAA;MAAAX,QAAA,EAEV,OAAOO,KAAA,KAAU,WACbA,KAAA,GACA,OAAOA,KAAA,KAAU,WACfQ,MAAA,CAAOR,KAAA,IACPA,KAAC,EAAAS,KAAA,IAA2BhB,QAAA;MAAAC,YAAA;MAAAQ;IAAA,CAGtC;IAAAZ,CAAA,MAAAU,KAAA;IAAAV,CAAA,MAAAG,QAAA;IAAAH,CAAA,MAAAC,gBAAA;IAAAD,CAAA,MAAAc,oBAAA;IAAAd,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAY,IAAA;IAAAZ,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAZA,MAAAoB,KAAA,GAAcZ,EAYd;EAAA,IAAAa,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAtB,CAAA,QAAAa,gBAAA,IAAAb,CAAA,SAAAoB,KAAA;IAEUC,EAAA,GAAAA,CAAA;MAAA,KACHV,cAAA,CAAAY,OAAA;QACHZ,cAAA,CAAAY,OAAA;QAAA;MAAA;MAIFV,gBAAA,CAAiBO,KAAA;IAAA;IAChBE,EAAA,IAACT,gBAAA,EAAkBO,KAAA;IAAMpB,CAAA,MAAAa,gBAAA;IAAAb,CAAA,OAAAoB,KAAA;IAAApB,CAAA,OAAAqB,EAAA;IAAArB,CAAA,OAAAsB,EAAA;EAAA;IAAAD,EAAA,GAAArB,CAAA;IAAAsB,EAAA,GAAAtB,CAAA;EAAA;EAP5BJ,SAAA,CAAUyB,EAOV,EAAGC,EAAyB;EAAA;AAAA,CAG9B","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Edit/Default/index.tsx"],"names":[],"mappings":"AA2BA,OAAO,KAA6D,MAAM,OAAO,CAAA;AAMjF,OAAO,cAAc,CAAA;AASrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EA4dnC,CAAA"}
|
|
@@ -1,349 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
-
import { DocumentControls, DocumentFields, Form, OperationProvider, RenderComponent, Upload, useAuth, useConfig, useDocumentEvents, useDocumentInfo, useEditDepth, useUploadEdits } from '@payloadcms/ui';
|
|
5
|
-
import { formatAdminURL, getFormState, handleBackToDashboard, handleGoBack, handleTakeOver } from '@payloadcms/ui/shared';
|
|
6
|
-
import { useRouter, useSearchParams } from 'next/navigation.js';
|
|
7
|
-
import React, { Fragment, useCallback, useEffect, useRef, useState } from 'react';
|
|
8
|
-
import { DocumentLocked } from '../../../elements/DocumentLocked/index.js';
|
|
9
|
-
import { DocumentTakeOver } from '../../../elements/DocumentTakeOver/index.js';
|
|
10
|
-
import { LeaveWithoutSaving } from '../../../elements/LeaveWithoutSaving/index.js';
|
|
11
|
-
import { Auth } from './Auth/index.js';
|
|
12
|
-
import { SetDocumentStepNav } from './SetDocumentStepNav/index.js';
|
|
13
|
-
import { SetDocumentTitle } from './SetDocumentTitle/index.js';
|
|
14
|
-
const baseClass = 'collection-edit';
|
|
15
|
-
// This component receives props only on _pages_
|
|
16
|
-
// When rendered within a drawer, props are empty
|
|
17
|
-
// This is solely to support custom edit views which get server-rendered
|
|
18
|
-
export const DefaultEditView = () => {
|
|
19
|
-
const {
|
|
20
|
-
id,
|
|
21
|
-
action,
|
|
22
|
-
AfterDocument,
|
|
23
|
-
AfterFields,
|
|
24
|
-
apiURL,
|
|
25
|
-
BeforeDocument,
|
|
26
|
-
BeforeFields,
|
|
27
|
-
collectionSlug,
|
|
28
|
-
currentEditor,
|
|
29
|
-
disableActions,
|
|
30
|
-
disableCreate,
|
|
31
|
-
disableLeaveWithoutSaving,
|
|
32
|
-
docPermissions,
|
|
33
|
-
documentIsLocked,
|
|
34
|
-
getDocPreferences,
|
|
35
|
-
getVersions,
|
|
36
|
-
globalSlug,
|
|
37
|
-
hasPublishPermission,
|
|
38
|
-
hasSavePermission,
|
|
39
|
-
initialData: data,
|
|
40
|
-
initialState,
|
|
41
|
-
isEditing,
|
|
42
|
-
isInitializing,
|
|
43
|
-
lastUpdateTime,
|
|
44
|
-
onDelete,
|
|
45
|
-
onDrawerCreate,
|
|
46
|
-
onDuplicate,
|
|
47
|
-
onSave: onSaveFromContext,
|
|
48
|
-
redirectAfterDelete,
|
|
49
|
-
redirectAfterDuplicate,
|
|
50
|
-
setCurrentEditor,
|
|
51
|
-
setDocumentIsLocked,
|
|
52
|
-
unlockDocument,
|
|
53
|
-
updateDocumentEditor
|
|
54
|
-
} = useDocumentInfo();
|
|
55
|
-
const {
|
|
56
|
-
refreshCookieAsync,
|
|
57
|
-
user
|
|
58
|
-
} = useAuth();
|
|
59
|
-
const {
|
|
60
|
-
config,
|
|
61
|
-
config: {
|
|
62
|
-
admin: {
|
|
63
|
-
user: userSlug
|
|
64
|
-
},
|
|
65
|
-
routes: {
|
|
66
|
-
admin: adminRoute,
|
|
67
|
-
api: apiRoute
|
|
68
|
-
},
|
|
69
|
-
serverURL
|
|
70
|
-
},
|
|
71
|
-
getEntityConfig
|
|
72
|
-
} = useConfig();
|
|
73
|
-
const router = useRouter();
|
|
74
|
-
const depth = useEditDepth();
|
|
75
|
-
const params = useSearchParams();
|
|
76
|
-
const {
|
|
77
|
-
reportUpdate
|
|
78
|
-
} = useDocumentEvents();
|
|
79
|
-
const {
|
|
80
|
-
resetUploadEdits
|
|
81
|
-
} = useUploadEdits();
|
|
82
|
-
const locale = params.get('locale');
|
|
83
|
-
const collectionConfig = getEntityConfig({
|
|
84
|
-
collectionSlug
|
|
85
|
-
});
|
|
86
|
-
const globalConfig = getEntityConfig({
|
|
87
|
-
globalSlug
|
|
88
|
-
});
|
|
89
|
-
const entitySlug = collectionConfig?.slug || globalConfig?.slug;
|
|
90
|
-
const operation = collectionSlug && !id ? 'create' : 'update';
|
|
91
|
-
const auth = collectionConfig ? collectionConfig.auth : undefined;
|
|
92
|
-
const upload = collectionConfig ? collectionConfig.upload : undefined;
|
|
93
|
-
const docConfig = collectionConfig || globalConfig;
|
|
94
|
-
const lockDocumentsProp = docConfig?.lockDocuments !== undefined ? docConfig?.lockDocuments : true;
|
|
95
|
-
const isLockingEnabled = lockDocumentsProp !== false;
|
|
96
|
-
const lockDurationDefault = 300 // Default 5 minutes in seconds
|
|
97
|
-
;
|
|
98
|
-
const lockDuration = typeof lockDocumentsProp === 'object' ? lockDocumentsProp.duration : lockDurationDefault;
|
|
99
|
-
const lockDurationInMilliseconds = lockDuration * 1000;
|
|
100
|
-
let preventLeaveWithoutSaving = true;
|
|
101
|
-
if (collectionConfig) {
|
|
102
|
-
preventLeaveWithoutSaving = !(collectionConfig?.versions?.drafts && collectionConfig?.versions?.drafts?.autosave);
|
|
103
|
-
} else if (globalConfig) {
|
|
104
|
-
preventLeaveWithoutSaving = !(globalConfig?.versions?.drafts && globalConfig?.versions?.drafts?.autosave);
|
|
105
|
-
} else if (typeof disableLeaveWithoutSaving !== 'undefined') {
|
|
106
|
-
preventLeaveWithoutSaving = !disableLeaveWithoutSaving;
|
|
107
|
-
}
|
|
108
|
-
const [isReadOnlyForIncomingUser, setIsReadOnlyForIncomingUser] = useState(false);
|
|
109
|
-
const [showTakeOverModal, setShowTakeOverModal] = useState(false);
|
|
110
|
-
const [editSessionStartTime, setEditSessionStartTime] = useState(Date.now());
|
|
111
|
-
const lockExpiryTime = lastUpdateTime + lockDurationInMilliseconds;
|
|
112
|
-
const isLockExpired = Date.now() > lockExpiryTime;
|
|
113
|
-
const documentLockStateRef = useRef({
|
|
114
|
-
hasShownLockedModal: false,
|
|
115
|
-
isLocked: false,
|
|
116
|
-
user: null
|
|
117
|
-
});
|
|
118
|
-
const classes = [baseClass, (id || globalSlug) && `${baseClass}--is-editing`];
|
|
119
|
-
if (globalSlug) {
|
|
120
|
-
classes.push(`global-edit--${globalSlug}`);
|
|
121
|
-
}
|
|
122
|
-
if (collectionSlug) {
|
|
123
|
-
classes.push(`collection-edit--${collectionSlug}`);
|
|
124
|
-
}
|
|
125
|
-
const [schemaPath, setSchemaPath] = useState(() => {
|
|
126
|
-
if (operation === 'create' && auth && !auth.disableLocalStrategy) {
|
|
127
|
-
return `_${entitySlug}.auth`;
|
|
128
|
-
}
|
|
129
|
-
return entitySlug;
|
|
130
|
-
});
|
|
131
|
-
const [validateBeforeSubmit, setValidateBeforeSubmit] = useState(() => {
|
|
132
|
-
if (operation === 'create' && auth && !auth.disableLocalStrategy) {
|
|
133
|
-
return true;
|
|
134
|
-
}
|
|
135
|
-
return false;
|
|
136
|
-
});
|
|
137
|
-
const onSave = useCallback(json => {
|
|
138
|
-
reportUpdate({
|
|
139
|
-
id,
|
|
140
|
-
entitySlug,
|
|
141
|
-
updatedAt: json?.result?.updatedAt || new Date().toISOString()
|
|
142
|
-
});
|
|
143
|
-
// If we're editing the doc of the logged-in user,
|
|
144
|
-
// Refresh the cookie to get new permissions
|
|
145
|
-
if (user && collectionSlug === userSlug && id === user.id) {
|
|
146
|
-
void refreshCookieAsync();
|
|
147
|
-
}
|
|
148
|
-
void getVersions();
|
|
149
|
-
if (typeof onSaveFromContext === 'function') {
|
|
150
|
-
void onSaveFromContext({
|
|
151
|
-
...json,
|
|
152
|
-
operation: id ? 'update' : 'create'
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
// Unlock the document after save
|
|
156
|
-
if ((id || globalSlug) && isLockingEnabled) {
|
|
157
|
-
setDocumentIsLocked(false);
|
|
158
|
-
}
|
|
159
|
-
if (!isEditing && depth < 2) {
|
|
160
|
-
// Redirect to the same locale if it's been set
|
|
161
|
-
const redirectRoute = formatAdminURL({
|
|
162
|
-
adminRoute,
|
|
163
|
-
path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`
|
|
164
|
-
});
|
|
165
|
-
router.push(redirectRoute);
|
|
166
|
-
} else {
|
|
167
|
-
resetUploadEdits();
|
|
168
|
-
}
|
|
169
|
-
}, [onSaveFromContext, userSlug, reportUpdate, id, entitySlug, user, depth, collectionSlug, getVersions, isEditing, refreshCookieAsync, adminRoute, router, locale, resetUploadEdits, globalSlug, isLockingEnabled, setDocumentIsLocked]);
|
|
170
|
-
const onChange = useCallback(async ({
|
|
171
|
-
formState: prevFormState
|
|
172
|
-
}) => {
|
|
173
|
-
const currentTime = Date.now();
|
|
174
|
-
const timeSinceLastUpdate = currentTime - editSessionStartTime;
|
|
175
|
-
const updateLastEdited = isLockingEnabled && timeSinceLastUpdate >= 10000 // 10 seconds
|
|
176
|
-
;
|
|
177
|
-
if (updateLastEdited) {
|
|
178
|
-
setEditSessionStartTime(currentTime);
|
|
179
|
-
}
|
|
180
|
-
const docPreferences = await getDocPreferences();
|
|
181
|
-
const {
|
|
182
|
-
lockedState,
|
|
183
|
-
state
|
|
184
|
-
} = await getFormState({
|
|
185
|
-
apiRoute,
|
|
186
|
-
body: {
|
|
187
|
-
id,
|
|
188
|
-
collectionSlug,
|
|
189
|
-
docPreferences,
|
|
190
|
-
formState: prevFormState,
|
|
191
|
-
globalSlug,
|
|
192
|
-
operation,
|
|
193
|
-
returnLockStatus: isLockingEnabled ? true : false,
|
|
194
|
-
schemaPath,
|
|
195
|
-
updateLastEdited
|
|
196
|
-
},
|
|
197
|
-
serverURL
|
|
198
|
-
});
|
|
199
|
-
setDocumentIsLocked(true);
|
|
200
|
-
if (isLockingEnabled) {
|
|
201
|
-
const previousOwnerId = typeof documentLockStateRef.current?.user === 'object' ? documentLockStateRef.current?.user?.id : documentLockStateRef.current?.user;
|
|
202
|
-
if (lockedState) {
|
|
203
|
-
if (!documentLockStateRef.current || lockedState.user.id !== previousOwnerId) {
|
|
204
|
-
if (previousOwnerId === user.id && lockedState.user.id !== user.id) {
|
|
205
|
-
setShowTakeOverModal(true);
|
|
206
|
-
documentLockStateRef.current.hasShownLockedModal = true;
|
|
207
|
-
}
|
|
208
|
-
documentLockStateRef.current = documentLockStateRef.current = {
|
|
209
|
-
hasShownLockedModal: documentLockStateRef.current?.hasShownLockedModal || false,
|
|
210
|
-
isLocked: true,
|
|
211
|
-
user: lockedState.user
|
|
212
|
-
};
|
|
213
|
-
setCurrentEditor(lockedState.user);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
return state;
|
|
218
|
-
}, [apiRoute, collectionSlug, editSessionStartTime, schemaPath, getDocPreferences, globalSlug, id, operation, serverURL, user, documentLockStateRef, setCurrentEditor, isLockingEnabled, setDocumentIsLocked]);
|
|
219
|
-
// Clean up when the component unmounts or when the document is unlocked
|
|
220
|
-
useEffect(() => {
|
|
221
|
-
return () => {
|
|
222
|
-
if (!isLockingEnabled) {
|
|
223
|
-
return;
|
|
224
|
-
}
|
|
225
|
-
const currentPath = window.location.pathname;
|
|
226
|
-
const documentId = id || globalSlug;
|
|
227
|
-
// Routes where we do NOT want to unlock the document
|
|
228
|
-
const stayWithinDocumentPaths = ['preview', 'api', 'versions'];
|
|
229
|
-
const isStayingWithinDocument = stayWithinDocumentPaths.some(path => currentPath.includes(path));
|
|
230
|
-
// Unlock the document only if we're actually navigating away from the document
|
|
231
|
-
if (documentId && documentIsLocked && !isStayingWithinDocument) {
|
|
232
|
-
// Check if this user is still the current editor
|
|
233
|
-
if (typeof documentLockStateRef.current?.user === 'object' ? documentLockStateRef.current?.user?.id === user?.id : documentLockStateRef.current?.user === user?.id) {
|
|
234
|
-
void unlockDocument(id, collectionSlug ?? globalSlug);
|
|
235
|
-
setDocumentIsLocked(false);
|
|
236
|
-
setCurrentEditor(null);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
setShowTakeOverModal(false);
|
|
240
|
-
};
|
|
241
|
-
}, [collectionSlug, globalSlug, id, unlockDocument, user, setCurrentEditor, isLockingEnabled, documentIsLocked, setDocumentIsLocked]);
|
|
242
|
-
const shouldShowDocumentLockedModal = documentIsLocked && currentEditor && (typeof currentEditor === 'object' ? currentEditor.id !== user?.id : currentEditor !== user?.id) && !isReadOnlyForIncomingUser && !showTakeOverModal && !documentLockStateRef.current?.hasShownLockedModal && !isLockExpired;
|
|
243
|
-
return /*#__PURE__*/_jsx("main", {
|
|
244
|
-
className: classes.filter(Boolean).join(' '),
|
|
245
|
-
children: /*#__PURE__*/_jsx(OperationProvider, {
|
|
246
|
-
operation: operation,
|
|
247
|
-
children: /*#__PURE__*/_jsxs(Form, {
|
|
248
|
-
action: action,
|
|
249
|
-
className: `${baseClass}__form`,
|
|
250
|
-
disabled: isReadOnlyForIncomingUser || isInitializing || !hasSavePermission,
|
|
251
|
-
disableValidationOnSubmit: !validateBeforeSubmit,
|
|
252
|
-
initialState: !isInitializing && initialState,
|
|
253
|
-
isInitializing: isInitializing,
|
|
254
|
-
method: id ? 'PATCH' : 'POST',
|
|
255
|
-
onChange: [onChange],
|
|
256
|
-
onSuccess: onSave,
|
|
257
|
-
children: [BeforeDocument, isLockingEnabled && shouldShowDocumentLockedModal && !isReadOnlyForIncomingUser && /*#__PURE__*/_jsx(DocumentLocked, {
|
|
258
|
-
handleGoBack: () => handleGoBack({
|
|
259
|
-
adminRoute,
|
|
260
|
-
collectionSlug,
|
|
261
|
-
router
|
|
262
|
-
}),
|
|
263
|
-
isActive: shouldShowDocumentLockedModal,
|
|
264
|
-
onReadOnly: () => {
|
|
265
|
-
setIsReadOnlyForIncomingUser(true);
|
|
266
|
-
setShowTakeOverModal(false);
|
|
267
|
-
},
|
|
268
|
-
onTakeOver: () => handleTakeOver(id, collectionSlug, globalSlug, user, false, updateDocumentEditor, setCurrentEditor, documentLockStateRef, isLockingEnabled),
|
|
269
|
-
updatedAt: lastUpdateTime,
|
|
270
|
-
user: currentEditor
|
|
271
|
-
}), isLockingEnabled && showTakeOverModal && /*#__PURE__*/_jsx(DocumentTakeOver, {
|
|
272
|
-
handleBackToDashboard: () => handleBackToDashboard({
|
|
273
|
-
adminRoute,
|
|
274
|
-
router
|
|
275
|
-
}),
|
|
276
|
-
isActive: showTakeOverModal,
|
|
277
|
-
onReadOnly: () => {
|
|
278
|
-
setIsReadOnlyForIncomingUser(true);
|
|
279
|
-
setShowTakeOverModal(false);
|
|
280
|
-
}
|
|
281
|
-
}), !isReadOnlyForIncomingUser && preventLeaveWithoutSaving && /*#__PURE__*/_jsx(LeaveWithoutSaving, {}), /*#__PURE__*/_jsx(SetDocumentStepNav, {
|
|
282
|
-
collectionSlug: collectionConfig?.slug,
|
|
283
|
-
globalSlug: globalConfig?.slug,
|
|
284
|
-
id: id,
|
|
285
|
-
pluralLabel: collectionConfig?.labels?.plural,
|
|
286
|
-
useAsTitle: collectionConfig?.admin?.useAsTitle
|
|
287
|
-
}), /*#__PURE__*/_jsx(SetDocumentTitle, {
|
|
288
|
-
collectionConfig: collectionConfig,
|
|
289
|
-
config: config,
|
|
290
|
-
fallback: depth <= 1 ? id?.toString() : undefined,
|
|
291
|
-
globalConfig: globalConfig
|
|
292
|
-
}), /*#__PURE__*/_jsx(DocumentControls, {
|
|
293
|
-
apiURL: apiURL,
|
|
294
|
-
data: data,
|
|
295
|
-
disableActions: disableActions,
|
|
296
|
-
disableCreate: disableCreate,
|
|
297
|
-
hasPublishPermission: hasPublishPermission,
|
|
298
|
-
hasSavePermission: hasSavePermission,
|
|
299
|
-
id: id,
|
|
300
|
-
isEditing: isEditing,
|
|
301
|
-
onDelete: onDelete,
|
|
302
|
-
onDrawerCreate: onDrawerCreate,
|
|
303
|
-
onDuplicate: onDuplicate,
|
|
304
|
-
onSave: onSave,
|
|
305
|
-
onTakeOver: () => handleTakeOver(id, collectionSlug, globalSlug, user, true, updateDocumentEditor, setCurrentEditor, documentLockStateRef, isLockingEnabled, setIsReadOnlyForIncomingUser),
|
|
306
|
-
permissions: docPermissions,
|
|
307
|
-
readOnlyForIncomingUser: isReadOnlyForIncomingUser,
|
|
308
|
-
redirectAfterDelete: redirectAfterDelete,
|
|
309
|
-
redirectAfterDuplicate: redirectAfterDuplicate,
|
|
310
|
-
slug: collectionConfig?.slug || globalConfig?.slug,
|
|
311
|
-
user: currentEditor
|
|
312
|
-
}), /*#__PURE__*/_jsx(DocumentFields, {
|
|
313
|
-
AfterFields: AfterFields,
|
|
314
|
-
BeforeFields: BeforeFields || /*#__PURE__*/_jsxs(Fragment, {
|
|
315
|
-
children: [auth && /*#__PURE__*/_jsx(Auth, {
|
|
316
|
-
className: `${baseClass}__auth`,
|
|
317
|
-
collectionSlug: collectionConfig.slug,
|
|
318
|
-
disableLocalStrategy: collectionConfig.auth?.disableLocalStrategy,
|
|
319
|
-
email: data?.email,
|
|
320
|
-
loginWithUsername: auth?.loginWithUsername,
|
|
321
|
-
operation: operation,
|
|
322
|
-
readOnly: !hasSavePermission,
|
|
323
|
-
requirePassword: !id,
|
|
324
|
-
setSchemaPath: setSchemaPath,
|
|
325
|
-
setValidateBeforeSubmit: setValidateBeforeSubmit,
|
|
326
|
-
// eslint-disable-next-line react-compiler/react-compiler
|
|
327
|
-
useAPIKey: auth.useAPIKey,
|
|
328
|
-
username: data?.username,
|
|
329
|
-
verify: auth.verify
|
|
330
|
-
}), upload && /*#__PURE__*/_jsx(React.Fragment, {
|
|
331
|
-
children: collectionConfig?.admin?.components?.edit?.Upload ? /*#__PURE__*/_jsx(RenderComponent, {
|
|
332
|
-
mappedComponent: collectionConfig.admin.components.edit.Upload
|
|
333
|
-
}) : /*#__PURE__*/_jsx(Upload, {
|
|
334
|
-
collectionSlug: collectionConfig.slug,
|
|
335
|
-
initialState: initialState,
|
|
336
|
-
uploadConfig: upload
|
|
337
|
-
})
|
|
338
|
-
})]
|
|
339
|
-
}),
|
|
340
|
-
docPermissions: docPermissions,
|
|
341
|
-
fields: (collectionConfig || globalConfig)?.fields,
|
|
342
|
-
readOnly: isReadOnlyForIncomingUser || !hasSavePermission,
|
|
343
|
-
schemaPath: schemaPath
|
|
344
|
-
}), AfterDocument]
|
|
345
|
-
})
|
|
346
|
-
})
|
|
347
|
-
});
|
|
348
|
-
};
|
|
349
|
-
//# sourceMappingURL=index.js.map
|