@payloadcms/next 3.68.0-internal-debug.e9b66ee → 3.68.0-internal-debug.654e4ad
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +21 -6
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +44 -20
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +73 -41
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +10 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.js +45 -7
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/FormHeader/index.js +25 -4
- package/dist/elements/FormHeader/index.js.map +1 -1
- package/dist/elements/Nav/NavHamburger/index.js +21 -5
- package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +24 -10
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/SettingsMenuButton/index.js +27 -4
- package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
- package/dist/elements/Nav/index.client.js +91 -43
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.js +100 -48
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/layouts/Root/NestProviders.js +12 -3
- package/dist/layouts/Root/NestProviders.js.map +1 -1
- package/dist/layouts/Root/index.js +84 -19
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/routes/rest/og/image.js +97 -61
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.js +15 -1
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/templates/Default/NavHamburger/index.js +10 -1
- package/dist/templates/Default/NavHamburger/index.js.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +16 -9
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.js +106 -38
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/templates/Minimal/index.js +18 -3
- package/dist/templates/Minimal/index.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.js +15 -5
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/RenderJSON/index.js +156 -59
- package/dist/views/API/RenderJSON/index.js.map +1 -1
- package/dist/views/API/index.client.js +215 -71
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.js +7 -1
- package/dist/views/API/index.js.map +1 -1
- package/dist/views/Account/ResetPreferences/index.js +35 -8
- package/dist/views/Account/ResetPreferences/index.js.map +1 -1
- package/dist/views/Account/Settings/LanguageSelector.js +15 -3
- package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
- package/dist/views/Account/Settings/index.js +58 -12
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +30 -19
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.js +83 -25
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/BrowseByFolder/buildView.js +38 -28
- package/dist/views/BrowseByFolder/buildView.js.map +1 -1
- package/dist/views/CollectionFolders/buildView.js +45 -35
- package/dist/views/CollectionFolders/buildView.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +75 -20
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.js +36 -5
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/Dashboard/Default/index.js +169 -94
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.js +43 -24
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Document/index.js +76 -14
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Edit/index.js +9 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +104 -57
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.js +75 -23
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/List/index.js +53 -31
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/renderListViewSlots.js +21 -9
- package/dist/views/List/renderListViewSlots.js.map +1 -1
- package/dist/views/Login/LoginField/index.js +49 -23
- package/dist/views/Login/LoginField/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js +68 -20
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/index.js +66 -33
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js +36 -7
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.js +26 -4
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/NotFound/index.client.js +55 -15
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/NotFound/index.js +33 -5
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.js +57 -12
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
- package/dist/views/ResetPassword/index.js +86 -23
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/Root/index.js +52 -12
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Unauthorized/index.js +50 -15
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Verify/index.js +47 -10
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Version/Default/SelectedLocalesContext.js +1 -1
- package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
- package/dist/views/Version/Default/index.js +258 -52
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +65 -16
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +66 -24
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +34 -5
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +17 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +55 -10
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +128 -43
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +151 -23
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +16 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +17 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +122 -51
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +17 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +176 -27
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +9 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/Restore/index.js +61 -21
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +24 -16
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js +37 -6
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +40 -10
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +33 -17
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +84 -17
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/dist/views/Version/index.js +63 -21
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/buildColumns.js +58 -9
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +31 -4
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +15 -7
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.js +9 -2
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/index.client.js +98 -20
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.js +59 -13
- package/dist/views/Versions/index.js.map +1 -1
- package/package.json +6 -6
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
1
2
|
import { getTranslation } from '@payloadcms/translations';
|
|
2
3
|
import { Button, Card, Gutter, Locked } from '@payloadcms/ui';
|
|
3
4
|
import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
|
|
4
5
|
import { EntityType } from '@payloadcms/ui/shared';
|
|
5
6
|
import { formatAdminURL } from 'payload/shared';
|
|
6
|
-
import { Fragment } from 'react';
|
|
7
|
+
import React, { Fragment } from 'react';
|
|
7
8
|
import './index.scss';
|
|
8
9
|
const baseClass = 'dashboard';
|
|
9
10
|
/**
|
|
@@ -12,100 +13,174 @@ const baseClass = 'dashboard';
|
|
|
12
13
|
* Components now import their own `Link` directly from `next/link`.
|
|
13
14
|
*/ export function DefaultDashboard(props) {
|
|
14
15
|
const { globalData, i18n, i18n: { t }, locale, navGroups, params, payload: { config: { admin: { components: { afterDashboard, beforeDashboard } }, routes: { admin: adminRoute } } }, payload, permissions, searchParams, user } = props;
|
|
15
|
-
return
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
16
|
+
return /*#__PURE__*/ _jsxDEV("div", {
|
|
17
|
+
className: baseClass,
|
|
18
|
+
children: /*#__PURE__*/ _jsxDEV(Gutter, {
|
|
19
|
+
className: `${baseClass}__wrap`,
|
|
20
|
+
children: [
|
|
21
|
+
beforeDashboard && RenderServerComponent({
|
|
22
|
+
Component: beforeDashboard,
|
|
23
|
+
importMap: payload.importMap,
|
|
24
|
+
serverProps: {
|
|
25
|
+
i18n,
|
|
26
|
+
locale,
|
|
27
|
+
params,
|
|
28
|
+
payload,
|
|
29
|
+
permissions,
|
|
30
|
+
searchParams,
|
|
31
|
+
user
|
|
32
|
+
}
|
|
33
|
+
}),
|
|
34
|
+
/*#__PURE__*/ _jsxDEV(Fragment, {
|
|
35
|
+
children: !navGroups || navGroups?.length === 0 ? /*#__PURE__*/ _jsxDEV("p", {
|
|
36
|
+
children: "no nav groups...."
|
|
37
|
+
}, void 0, false, {
|
|
38
|
+
fileName: "src/views/Dashboard/Default/index.tsx",
|
|
39
|
+
lineNumber: 78,
|
|
40
|
+
columnNumber: 13
|
|
41
|
+
}, this) : navGroups.map(({ entities, label }, groupIndex)=>{
|
|
42
|
+
return /*#__PURE__*/ _jsxDEV("div", {
|
|
43
|
+
className: `${baseClass}__group`,
|
|
44
|
+
children: [
|
|
45
|
+
/*#__PURE__*/ _jsxDEV("h2", {
|
|
46
|
+
className: `${baseClass}__label`,
|
|
47
|
+
children: label
|
|
48
|
+
}, void 0, false, {
|
|
49
|
+
fileName: "src/views/Dashboard/Default/index.tsx",
|
|
50
|
+
lineNumber: 83,
|
|
51
|
+
columnNumber: 19
|
|
52
|
+
}, this),
|
|
53
|
+
/*#__PURE__*/ _jsxDEV("ul", {
|
|
54
|
+
className: `${baseClass}__card-list`,
|
|
55
|
+
children: entities.map(({ slug, type, label }, entityIndex)=>{
|
|
56
|
+
let title;
|
|
57
|
+
let buttonAriaLabel;
|
|
58
|
+
let createHREF;
|
|
59
|
+
let href;
|
|
60
|
+
let hasCreatePermission;
|
|
61
|
+
let isLocked = null;
|
|
62
|
+
let userEditing = null;
|
|
63
|
+
if (type === EntityType.collection) {
|
|
64
|
+
title = getTranslation(label, i18n);
|
|
65
|
+
buttonAriaLabel = t('general:showAllLabel', {
|
|
66
|
+
label: title
|
|
67
|
+
});
|
|
68
|
+
href = formatAdminURL({
|
|
69
|
+
adminRoute,
|
|
70
|
+
path: `/collections/${slug}`
|
|
71
|
+
});
|
|
72
|
+
createHREF = formatAdminURL({
|
|
73
|
+
adminRoute,
|
|
74
|
+
path: `/collections/${slug}/create`
|
|
75
|
+
});
|
|
76
|
+
hasCreatePermission = permissions?.collections?.[slug]?.create;
|
|
77
|
+
}
|
|
78
|
+
if (type === EntityType.global) {
|
|
79
|
+
title = getTranslation(label, i18n);
|
|
80
|
+
buttonAriaLabel = t('general:editLabel', {
|
|
81
|
+
label: getTranslation(label, i18n)
|
|
82
|
+
});
|
|
83
|
+
href = formatAdminURL({
|
|
84
|
+
adminRoute,
|
|
85
|
+
path: `/globals/${slug}`
|
|
86
|
+
});
|
|
87
|
+
// Find the lock status for the global
|
|
88
|
+
const globalLockData = globalData.find((global)=>global.slug === slug);
|
|
89
|
+
if (globalLockData) {
|
|
90
|
+
isLocked = globalLockData.data._isLocked;
|
|
91
|
+
userEditing = globalLockData.data._userEditing;
|
|
92
|
+
// Check if the lock is expired
|
|
93
|
+
const lockDuration = globalLockData?.lockDuration;
|
|
94
|
+
const lastEditedAt = new Date(globalLockData.data?._lastEditedAt).getTime();
|
|
95
|
+
const lockDurationInMilliseconds = lockDuration * 1000;
|
|
96
|
+
const lockExpirationTime = lastEditedAt + lockDurationInMilliseconds;
|
|
97
|
+
if (new Date().getTime() > lockExpirationTime) {
|
|
98
|
+
isLocked = false;
|
|
99
|
+
userEditing = null;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return /*#__PURE__*/ _jsxDEV("li", {
|
|
104
|
+
children: /*#__PURE__*/ _jsxDEV(Card, {
|
|
105
|
+
actions: isLocked && user?.id !== userEditing?.id ? /*#__PURE__*/ _jsxDEV(Locked, {
|
|
106
|
+
className: `${baseClass}__locked`,
|
|
107
|
+
user: userEditing
|
|
108
|
+
}, void 0, false, {
|
|
109
|
+
fileName: "src/views/Dashboard/Default/index.tsx",
|
|
110
|
+
lineNumber: 148,
|
|
111
|
+
columnNumber: 33
|
|
112
|
+
}, void 0) : hasCreatePermission && type === EntityType.collection ? /*#__PURE__*/ _jsxDEV(Button, {
|
|
113
|
+
"aria-label": t('general:createNewLabel', {
|
|
114
|
+
label
|
|
115
|
+
}),
|
|
116
|
+
buttonStyle: "icon-label",
|
|
117
|
+
el: "link",
|
|
118
|
+
icon: "plus",
|
|
119
|
+
iconStyle: "with-border",
|
|
120
|
+
round: true,
|
|
121
|
+
to: createHREF
|
|
122
|
+
}, void 0, false, {
|
|
123
|
+
fileName: "src/views/Dashboard/Default/index.tsx",
|
|
124
|
+
lineNumber: 150,
|
|
125
|
+
columnNumber: 33
|
|
126
|
+
}, void 0) : undefined,
|
|
127
|
+
buttonAriaLabel: buttonAriaLabel,
|
|
128
|
+
href: href,
|
|
129
|
+
id: `card-${slug}`,
|
|
130
|
+
title: getTranslation(label, i18n),
|
|
131
|
+
titleAs: "h3"
|
|
132
|
+
}, void 0, false, {
|
|
133
|
+
fileName: "src/views/Dashboard/Default/index.tsx",
|
|
134
|
+
lineNumber: 145,
|
|
135
|
+
columnNumber: 27
|
|
136
|
+
}, this)
|
|
137
|
+
}, entityIndex, false, {
|
|
138
|
+
fileName: "src/views/Dashboard/Default/index.tsx",
|
|
139
|
+
lineNumber: 144,
|
|
140
|
+
columnNumber: 25
|
|
141
|
+
}, this);
|
|
142
|
+
})
|
|
143
|
+
}, void 0, false, {
|
|
144
|
+
fileName: "src/views/Dashboard/Default/index.tsx",
|
|
145
|
+
lineNumber: 84,
|
|
146
|
+
columnNumber: 19
|
|
147
|
+
}, this)
|
|
148
|
+
]
|
|
149
|
+
}, groupIndex, true, {
|
|
150
|
+
fileName: "src/views/Dashboard/Default/index.tsx",
|
|
151
|
+
lineNumber: 82,
|
|
152
|
+
columnNumber: 17
|
|
153
|
+
}, this);
|
|
154
|
+
})
|
|
155
|
+
}, void 0, false, {
|
|
156
|
+
fileName: "src/views/Dashboard/Default/index.tsx",
|
|
157
|
+
lineNumber: 76,
|
|
158
|
+
columnNumber: 9
|
|
159
|
+
}, this),
|
|
160
|
+
afterDashboard && RenderServerComponent({
|
|
161
|
+
Component: afterDashboard,
|
|
162
|
+
importMap: payload.importMap,
|
|
163
|
+
serverProps: {
|
|
164
|
+
i18n,
|
|
165
|
+
locale,
|
|
166
|
+
params,
|
|
167
|
+
payload,
|
|
168
|
+
permissions,
|
|
169
|
+
searchParams,
|
|
170
|
+
user
|
|
81
171
|
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
{afterDashboard && RenderServerComponent({
|
|
95
|
-
Component: afterDashboard,
|
|
96
|
-
importMap: payload.importMap,
|
|
97
|
-
serverProps: {
|
|
98
|
-
i18n,
|
|
99
|
-
locale,
|
|
100
|
-
params,
|
|
101
|
-
payload,
|
|
102
|
-
permissions,
|
|
103
|
-
searchParams,
|
|
104
|
-
user
|
|
105
|
-
}
|
|
106
|
-
})}
|
|
107
|
-
</Gutter>
|
|
108
|
-
</div>;
|
|
172
|
+
})
|
|
173
|
+
]
|
|
174
|
+
}, void 0, true, {
|
|
175
|
+
fileName: "src/views/Dashboard/Default/index.tsx",
|
|
176
|
+
lineNumber: 60,
|
|
177
|
+
columnNumber: 7
|
|
178
|
+
}, this)
|
|
179
|
+
}, void 0, false, {
|
|
180
|
+
fileName: "src/views/Dashboard/Default/index.tsx",
|
|
181
|
+
lineNumber: 59,
|
|
182
|
+
columnNumber: 5
|
|
183
|
+
}, this);
|
|
109
184
|
}
|
|
110
185
|
|
|
111
186
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Dashboard/Default/index.tsx"],"sourcesContent":["import type { groupNavItems } from '@payloadcms/ui/shared'\nimport type { AdminViewServerPropsOnly, ClientUser, Locale, ServerProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button, Card, Gutter, Locked } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { EntityType } from '@payloadcms/ui/shared'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'dashboard'\n\nexport type DashboardViewClientProps = {\n locale: Locale\n}\n\nexport type DashboardViewServerPropsOnly = {\n globalData: Array<{\n data: { _isLocked: boolean; _lastEditedAt: string; _userEditing: ClientUser | number | string }\n lockDuration?: number\n slug: string\n }>\n /**\n * @deprecated\n * This prop is deprecated and will be removed in the next major version.\n * Components now import their own `Link` directly from `next/link`.\n */\n Link?: React.ComponentType\n navGroups?: ReturnType<typeof groupNavItems>\n} & AdminViewServerPropsOnly\n\nexport type DashboardViewServerProps = DashboardViewClientProps & DashboardViewServerPropsOnly\n\nexport function DefaultDashboard(props: DashboardViewServerProps) {\n const {\n globalData,\n i18n,\n i18n: { t },\n locale,\n navGroups,\n params,\n payload: {\n config: {\n admin: {\n components: { afterDashboard, beforeDashboard },\n },\n routes: { admin: adminRoute },\n },\n },\n payload,\n permissions,\n searchParams,\n user,\n } = props\n\n return (\n <div className={baseClass}>\n <Gutter className={`${baseClass}__wrap`}>\n {beforeDashboard &&\n RenderServerComponent({\n Component: beforeDashboard,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n } satisfies ServerProps,\n })}\n\n <Fragment>\n {!navGroups || navGroups?.length === 0 ? (\n <p>no nav groups....</p>\n ) : (\n navGroups.map(({ entities, label }, groupIndex) => {\n return (\n <div className={`${baseClass}__group`} key={groupIndex}>\n <h2 className={`${baseClass}__label`}>{label}</h2>\n <ul className={`${baseClass}__card-list`}>\n {entities.map(({ slug, type, label }, entityIndex) => {\n let title: string\n let buttonAriaLabel: string\n let createHREF: string\n let href: string\n let hasCreatePermission: boolean\n let isLocked = null\n let userEditing = null\n\n if (type === EntityType.collection) {\n title = getTranslation(label, i18n)\n\n buttonAriaLabel = t('general:showAllLabel', { label: title })\n\n href = formatAdminURL({ adminRoute, path: `/collections/${slug}` })\n\n createHREF = formatAdminURL({\n adminRoute,\n path: `/collections/${slug}/create`,\n })\n\n hasCreatePermission = permissions?.collections?.[slug]?.create\n }\n\n if (type === EntityType.global) {\n title = getTranslation(label, i18n)\n\n buttonAriaLabel = t('general:editLabel', {\n label: getTranslation(label, i18n),\n })\n\n href = formatAdminURL({\n adminRoute,\n path: `/globals/${slug}`,\n })\n\n // Find the lock status for the global\n const globalLockData = globalData.find((global) => global.slug === slug)\n if (globalLockData) {\n isLocked = globalLockData.data._isLocked\n userEditing = globalLockData.data._userEditing\n\n // Check if the lock is expired\n const lockDuration = globalLockData?.lockDuration\n const lastEditedAt = new Date(\n globalLockData.data?._lastEditedAt,\n ).getTime()\n\n const lockDurationInMilliseconds = lockDuration * 1000\n const lockExpirationTime = lastEditedAt + lockDurationInMilliseconds\n\n if (new Date().getTime() > lockExpirationTime) {\n isLocked = false\n userEditing = null\n }\n }\n }\n\n return (\n <li key={entityIndex}>\n <Card\n actions={\n isLocked && user?.id !== userEditing?.id ? (\n <Locked className={`${baseClass}__locked`} user={userEditing} />\n ) : hasCreatePermission && type === EntityType.collection ? (\n <Button\n aria-label={t('general:createNewLabel', {\n label,\n })}\n buttonStyle=\"icon-label\"\n el=\"link\"\n icon=\"plus\"\n iconStyle=\"with-border\"\n round\n to={createHREF}\n />\n ) : undefined\n }\n buttonAriaLabel={buttonAriaLabel}\n href={href}\n id={`card-${slug}`}\n title={getTranslation(label, i18n)}\n titleAs=\"h3\"\n />\n </li>\n )\n })}\n </ul>\n </div>\n )\n })\n )}\n </Fragment>\n {afterDashboard &&\n RenderServerComponent({\n Component: afterDashboard,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n } satisfies ServerProps,\n })}\n </Gutter>\n </div>\n )\n}\n"],"names":["getTranslation","Button","Card","Gutter","Locked","RenderServerComponent","EntityType","formatAdminURL","Fragment","baseClass","DefaultDashboard","props","globalData","i18n","t","locale","navGroups","params","payload","config","admin","components","afterDashboard","beforeDashboard","routes","adminRoute","permissions","searchParams","user","div","className","Component","importMap","serverProps","length","p","map","entities","label","groupIndex","key","h2","ul","slug","type","entityIndex","title","buttonAriaLabel","createHREF","href","hasCreatePermission","isLocked","userEditing","collection","path","collections","create","global","globalLockData","find","data","_isLocked","_userEditing","lockDuration","lastEditedAt","Date","_lastEditedAt","getTime","lockDurationInMilliseconds","lockExpirationTime","li","actions","id","aria-label","buttonStyle","el","icon","iconStyle","round","to","undefined","titleAs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Dashboard/Default/index.tsx"],"sourcesContent":["import type { groupNavItems } from '@payloadcms/ui/shared'\nimport type { AdminViewServerPropsOnly, ClientUser, Locale, ServerProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { Button, Card, Gutter, Locked } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { EntityType } from '@payloadcms/ui/shared'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'dashboard'\n\nexport type DashboardViewClientProps = {\n locale: Locale\n}\n\nexport type DashboardViewServerPropsOnly = {\n globalData: Array<{\n data: { _isLocked: boolean; _lastEditedAt: string; _userEditing: ClientUser | number | string }\n lockDuration?: number\n slug: string\n }>\n /**\n * @deprecated\n * This prop is deprecated and will be removed in the next major version.\n * Components now import their own `Link` directly from `next/link`.\n */\n Link?: React.ComponentType\n navGroups?: ReturnType<typeof groupNavItems>\n} & AdminViewServerPropsOnly\n\nexport type DashboardViewServerProps = DashboardViewClientProps & DashboardViewServerPropsOnly\n\nexport function DefaultDashboard(props: DashboardViewServerProps) {\n const {\n globalData,\n i18n,\n i18n: { t },\n locale,\n navGroups,\n params,\n payload: {\n config: {\n admin: {\n components: { afterDashboard, beforeDashboard },\n },\n routes: { admin: adminRoute },\n },\n },\n payload,\n permissions,\n searchParams,\n user,\n } = props\n\n return (\n <div className={baseClass}>\n <Gutter className={`${baseClass}__wrap`}>\n {beforeDashboard &&\n RenderServerComponent({\n Component: beforeDashboard,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n } satisfies ServerProps,\n })}\n\n <Fragment>\n {!navGroups || navGroups?.length === 0 ? (\n <p>no nav groups....</p>\n ) : (\n navGroups.map(({ entities, label }, groupIndex) => {\n return (\n <div className={`${baseClass}__group`} key={groupIndex}>\n <h2 className={`${baseClass}__label`}>{label}</h2>\n <ul className={`${baseClass}__card-list`}>\n {entities.map(({ slug, type, label }, entityIndex) => {\n let title: string\n let buttonAriaLabel: string\n let createHREF: string\n let href: string\n let hasCreatePermission: boolean\n let isLocked = null\n let userEditing = null\n\n if (type === EntityType.collection) {\n title = getTranslation(label, i18n)\n\n buttonAriaLabel = t('general:showAllLabel', { label: title })\n\n href = formatAdminURL({ adminRoute, path: `/collections/${slug}` })\n\n createHREF = formatAdminURL({\n adminRoute,\n path: `/collections/${slug}/create`,\n })\n\n hasCreatePermission = permissions?.collections?.[slug]?.create\n }\n\n if (type === EntityType.global) {\n title = getTranslation(label, i18n)\n\n buttonAriaLabel = t('general:editLabel', {\n label: getTranslation(label, i18n),\n })\n\n href = formatAdminURL({\n adminRoute,\n path: `/globals/${slug}`,\n })\n\n // Find the lock status for the global\n const globalLockData = globalData.find((global) => global.slug === slug)\n if (globalLockData) {\n isLocked = globalLockData.data._isLocked\n userEditing = globalLockData.data._userEditing\n\n // Check if the lock is expired\n const lockDuration = globalLockData?.lockDuration\n const lastEditedAt = new Date(\n globalLockData.data?._lastEditedAt,\n ).getTime()\n\n const lockDurationInMilliseconds = lockDuration * 1000\n const lockExpirationTime = lastEditedAt + lockDurationInMilliseconds\n\n if (new Date().getTime() > lockExpirationTime) {\n isLocked = false\n userEditing = null\n }\n }\n }\n\n return (\n <li key={entityIndex}>\n <Card\n actions={\n isLocked && user?.id !== userEditing?.id ? (\n <Locked className={`${baseClass}__locked`} user={userEditing} />\n ) : hasCreatePermission && type === EntityType.collection ? (\n <Button\n aria-label={t('general:createNewLabel', {\n label,\n })}\n buttonStyle=\"icon-label\"\n el=\"link\"\n icon=\"plus\"\n iconStyle=\"with-border\"\n round\n to={createHREF}\n />\n ) : undefined\n }\n buttonAriaLabel={buttonAriaLabel}\n href={href}\n id={`card-${slug}`}\n title={getTranslation(label, i18n)}\n titleAs=\"h3\"\n />\n </li>\n )\n })}\n </ul>\n </div>\n )\n })\n )}\n </Fragment>\n {afterDashboard &&\n RenderServerComponent({\n Component: afterDashboard,\n importMap: payload.importMap,\n serverProps: {\n i18n,\n locale,\n params,\n payload,\n permissions,\n searchParams,\n user,\n } satisfies ServerProps,\n })}\n </Gutter>\n </div>\n )\n}\n"],"names":["getTranslation","Button","Card","Gutter","Locked","RenderServerComponent","EntityType","formatAdminURL","React","Fragment","baseClass","DefaultDashboard","props","globalData","i18n","t","locale","navGroups","params","payload","config","admin","components","afterDashboard","beforeDashboard","routes","adminRoute","permissions","searchParams","user","div","className","Component","importMap","serverProps","length","p","map","entities","label","groupIndex","h2","ul","slug","type","entityIndex","title","buttonAriaLabel","createHREF","href","hasCreatePermission","isLocked","userEditing","collection","path","collections","create","global","globalLockData","find","data","_isLocked","_userEditing","lockDuration","lastEditedAt","Date","_lastEditedAt","getTime","lockDurationInMilliseconds","lockExpirationTime","li","actions","id","aria-label","buttonStyle","el","icon","iconStyle","round","to","undefined","titleAs"],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
1
2
|
import { HydrateAuthProvider, SetStepNav } from '@payloadcms/ui';
|
|
2
3
|
import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
|
|
3
4
|
import { EntityType, groupNavItems } from '@payloadcms/ui/shared';
|
|
4
|
-
import { Fragment } from 'react';
|
|
5
|
+
import React, { Fragment } from 'react';
|
|
5
6
|
import { DefaultDashboard } from './Default/index.js';
|
|
6
7
|
const globalLockDurationDefault = 300;
|
|
7
8
|
export async function DashboardView(props) {
|
|
@@ -59,29 +60,47 @@ export async function DashboardView(props) {
|
|
|
59
60
|
return entityToGroup;
|
|
60
61
|
}) ?? []
|
|
61
62
|
], permissions, i18n);
|
|
62
|
-
return
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
63
|
+
return /*#__PURE__*/ _jsxDEV(Fragment, {
|
|
64
|
+
children: [
|
|
65
|
+
/*#__PURE__*/ _jsxDEV(HydrateAuthProvider, {
|
|
66
|
+
permissions: permissions
|
|
67
|
+
}, void 0, false, {
|
|
68
|
+
fileName: "src/views/Dashboard/index.tsx",
|
|
69
|
+
lineNumber: 107,
|
|
70
|
+
columnNumber: 7
|
|
71
|
+
}, this),
|
|
72
|
+
/*#__PURE__*/ _jsxDEV(SetStepNav, {
|
|
73
|
+
nav: []
|
|
74
|
+
}, void 0, false, {
|
|
75
|
+
fileName: "src/views/Dashboard/index.tsx",
|
|
76
|
+
lineNumber: 108,
|
|
77
|
+
columnNumber: 7
|
|
78
|
+
}, this),
|
|
79
|
+
RenderServerComponent({
|
|
80
|
+
clientProps: {
|
|
81
|
+
locale
|
|
82
|
+
},
|
|
83
|
+
Component: config.admin?.components?.views?.dashboard?.Component,
|
|
84
|
+
Fallback: DefaultDashboard,
|
|
85
|
+
importMap: payload.importMap,
|
|
86
|
+
serverProps: {
|
|
87
|
+
...props,
|
|
88
|
+
globalData,
|
|
89
|
+
i18n,
|
|
90
|
+
locale,
|
|
91
|
+
navGroups,
|
|
92
|
+
payload,
|
|
93
|
+
permissions,
|
|
94
|
+
user,
|
|
95
|
+
visibleEntities
|
|
96
|
+
}
|
|
97
|
+
})
|
|
98
|
+
]
|
|
99
|
+
}, void 0, true, {
|
|
100
|
+
fileName: "src/views/Dashboard/index.tsx",
|
|
101
|
+
lineNumber: 106,
|
|
102
|
+
columnNumber: 5
|
|
103
|
+
}, this);
|
|
85
104
|
}
|
|
86
105
|
|
|
87
106
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Dashboard/index.tsx"],"sourcesContent":["import type { EntityToGroup } from '@payloadcms/ui/shared'\nimport type { AdminViewServerProps, TypedUser } from 'payload'\n\nimport { HydrateAuthProvider, SetStepNav } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { EntityType, groupNavItems } from '@payloadcms/ui/shared'\nimport React, { Fragment } from 'react'\n\nimport type { DashboardViewClientProps, DashboardViewServerPropsOnly } from './Default/index.js'\n\nimport { DefaultDashboard } from './Default/index.js'\n\nconst globalLockDurationDefault = 300\n\nexport async function DashboardView(props: AdminViewServerProps) {\n const {\n locale,\n permissions,\n req: {\n i18n,\n payload: { config },\n payload,\n user,\n },\n req,\n visibleEntities,\n } = props.initPageResult\n const collections = config.collections.filter(\n (collection) =>\n permissions?.collections?.[collection.slug]?.read &&\n visibleEntities.collections.includes(collection.slug),\n )\n\n const globals = config.globals.filter(\n (global) =>\n permissions?.globals?.[global.slug]?.read && visibleEntities.globals.includes(global.slug),\n )\n\n // Query locked global documents only if there are globals in the config\n let globalData: DashboardViewServerPropsOnly['globalData'] = []\n\n if (config.globals.length > 0) {\n const lockedDocuments = await payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n overrideAccess: false,\n pagination: false,\n req,\n select: {\n globalSlug: true,\n updatedAt: true,\n user: true,\n },\n where: {\n globalSlug: {\n exists: true,\n },\n },\n })\n\n // Map over globals to include `lockDuration` and lock data for each global slug\n globalData = config.globals.map((global) => {\n const lockDuration =\n typeof global.lockDocuments === 'object'\n ? global.lockDocuments.duration\n : globalLockDurationDefault\n\n const lockedDoc = lockedDocuments.docs.find((doc) => doc.globalSlug === global.slug)\n\n return {\n slug: global.slug,\n data: {\n _isLocked: !!lockedDoc,\n _lastEditedAt: (lockedDoc?.updatedAt as string) ?? null,\n _userEditing: (lockedDoc?.user as { value?: TypedUser })?.value ?? null,\n },\n lockDuration,\n }\n })\n }\n\n const navGroups = groupNavItems(\n [\n ...(collections.map((collection) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.collection,\n entity: collection,\n }\n\n return entityToGroup\n }) ?? []),\n ...(globals.map((global) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.global,\n entity: global,\n }\n\n return entityToGroup\n }) ?? []),\n ],\n permissions,\n i18n,\n )\n\n return (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <SetStepNav nav={[]} />\n {RenderServerComponent({\n clientProps: {\n locale,\n } satisfies DashboardViewClientProps,\n Component: config.admin?.components?.views?.dashboard?.Component,\n Fallback: DefaultDashboard,\n importMap: payload.importMap,\n serverProps: {\n ...props,\n globalData,\n i18n,\n locale,\n navGroups,\n payload,\n permissions,\n user,\n visibleEntities,\n } satisfies DashboardViewServerPropsOnly,\n })}\n </Fragment>\n )\n}\n"],"names":["HydrateAuthProvider","SetStepNav","RenderServerComponent","EntityType","groupNavItems","Fragment","DefaultDashboard","globalLockDurationDefault","DashboardView","props","locale","permissions","req","i18n","payload","config","user","visibleEntities","initPageResult","collections","filter","collection","slug","read","includes","globals","global","globalData","length","lockedDocuments","find","depth","overrideAccess","pagination","select","globalSlug","updatedAt","where","exists","map","lockDuration","lockDocuments","duration","lockedDoc","docs","doc","data","_isLocked","_lastEditedAt","_userEditing","value","navGroups","entityToGroup","type","entity","nav","clientProps","Component","admin","components","views","dashboard","Fallback","importMap","serverProps"],"mappings":"AAGA,SAASA,mBAAmB,EAAEC,UAAU,QAAQ,iBAAgB;AAChE,SAASC,qBAAqB,QAAQ,gDAA+C;AACrF,SAASC,UAAU,EAAEC,aAAa,QAAQ,wBAAuB;AACjE,
|
|
1
|
+
{"version":3,"sources":["../../../src/views/Dashboard/index.tsx"],"sourcesContent":["import type { EntityToGroup } from '@payloadcms/ui/shared'\nimport type { AdminViewServerProps, TypedUser } from 'payload'\n\nimport { HydrateAuthProvider, SetStepNav } from '@payloadcms/ui'\nimport { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent'\nimport { EntityType, groupNavItems } from '@payloadcms/ui/shared'\nimport React, { Fragment } from 'react'\n\nimport type { DashboardViewClientProps, DashboardViewServerPropsOnly } from './Default/index.js'\n\nimport { DefaultDashboard } from './Default/index.js'\n\nconst globalLockDurationDefault = 300\n\nexport async function DashboardView(props: AdminViewServerProps) {\n const {\n locale,\n permissions,\n req: {\n i18n,\n payload: { config },\n payload,\n user,\n },\n req,\n visibleEntities,\n } = props.initPageResult\n const collections = config.collections.filter(\n (collection) =>\n permissions?.collections?.[collection.slug]?.read &&\n visibleEntities.collections.includes(collection.slug),\n )\n\n const globals = config.globals.filter(\n (global) =>\n permissions?.globals?.[global.slug]?.read && visibleEntities.globals.includes(global.slug),\n )\n\n // Query locked global documents only if there are globals in the config\n let globalData: DashboardViewServerPropsOnly['globalData'] = []\n\n if (config.globals.length > 0) {\n const lockedDocuments = await payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n overrideAccess: false,\n pagination: false,\n req,\n select: {\n globalSlug: true,\n updatedAt: true,\n user: true,\n },\n where: {\n globalSlug: {\n exists: true,\n },\n },\n })\n\n // Map over globals to include `lockDuration` and lock data for each global slug\n globalData = config.globals.map((global) => {\n const lockDuration =\n typeof global.lockDocuments === 'object'\n ? global.lockDocuments.duration\n : globalLockDurationDefault\n\n const lockedDoc = lockedDocuments.docs.find((doc) => doc.globalSlug === global.slug)\n\n return {\n slug: global.slug,\n data: {\n _isLocked: !!lockedDoc,\n _lastEditedAt: (lockedDoc?.updatedAt as string) ?? null,\n _userEditing: (lockedDoc?.user as { value?: TypedUser })?.value ?? null,\n },\n lockDuration,\n }\n })\n }\n\n const navGroups = groupNavItems(\n [\n ...(collections.map((collection) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.collection,\n entity: collection,\n }\n\n return entityToGroup\n }) ?? []),\n ...(globals.map((global) => {\n const entityToGroup: EntityToGroup = {\n type: EntityType.global,\n entity: global,\n }\n\n return entityToGroup\n }) ?? []),\n ],\n permissions,\n i18n,\n )\n\n return (\n <Fragment>\n <HydrateAuthProvider permissions={permissions} />\n <SetStepNav nav={[]} />\n {RenderServerComponent({\n clientProps: {\n locale,\n } satisfies DashboardViewClientProps,\n Component: config.admin?.components?.views?.dashboard?.Component,\n Fallback: DefaultDashboard,\n importMap: payload.importMap,\n serverProps: {\n ...props,\n globalData,\n i18n,\n locale,\n navGroups,\n payload,\n permissions,\n user,\n visibleEntities,\n } satisfies DashboardViewServerPropsOnly,\n })}\n </Fragment>\n )\n}\n"],"names":["HydrateAuthProvider","SetStepNav","RenderServerComponent","EntityType","groupNavItems","React","Fragment","DefaultDashboard","globalLockDurationDefault","DashboardView","props","locale","permissions","req","i18n","payload","config","user","visibleEntities","initPageResult","collections","filter","collection","slug","read","includes","globals","global","globalData","length","lockedDocuments","find","depth","overrideAccess","pagination","select","globalSlug","updatedAt","where","exists","map","lockDuration","lockDocuments","duration","lockedDoc","docs","doc","data","_isLocked","_lastEditedAt","_userEditing","value","navGroups","entityToGroup","type","entity","nav","clientProps","Component","admin","components","views","dashboard","Fallback","importMap","serverProps"],"mappings":";AAGA,SAASA,mBAAmB,EAAEC,UAAU,QAAQ,iBAAgB;AAChE,SAASC,qBAAqB,QAAQ,gDAA+C;AACrF,SAASC,UAAU,EAAEC,aAAa,QAAQ,wBAAuB;AACjE,OAAOC,SAASC,QAAQ,QAAQ,QAAO;AAIvC,SAASC,gBAAgB,QAAQ,qBAAoB;AAErD,MAAMC,4BAA4B;AAElC,OAAO,eAAeC,cAAcC,KAA2B;IAC7D,MAAM,EACJC,MAAM,EACNC,WAAW,EACXC,KAAK,EACHC,IAAI,EACJC,SAAS,EAAEC,MAAM,EAAE,EACnBD,OAAO,EACPE,IAAI,EACL,EACDJ,GAAG,EACHK,eAAe,EAChB,GAAGR,MAAMS,cAAc;IACxB,MAAMC,cAAcJ,OAAOI,WAAW,CAACC,MAAM,CAC3C,CAACC,aACCV,aAAaQ,aAAa,CAACE,WAAWC,IAAI,CAAC,EAAEC,QAC7CN,gBAAgBE,WAAW,CAACK,QAAQ,CAACH,WAAWC,IAAI;IAGxD,MAAMG,UAAUV,OAAOU,OAAO,CAACL,MAAM,CACnC,CAACM,SACCf,aAAac,SAAS,CAACC,OAAOJ,IAAI,CAAC,EAAEC,QAAQN,gBAAgBQ,OAAO,CAACD,QAAQ,CAACE,OAAOJ,IAAI;IAG7F,wEAAwE;IACxE,IAAIK,aAAyD,EAAE;IAE/D,IAAIZ,OAAOU,OAAO,CAACG,MAAM,GAAG,GAAG;QAC7B,MAAMC,kBAAkB,MAAMf,QAAQgB,IAAI,CAAC;YACzCT,YAAY;YACZU,OAAO;YACPC,gBAAgB;YAChBC,YAAY;YACZrB;YACAsB,QAAQ;gBACNC,YAAY;gBACZC,WAAW;gBACXpB,MAAM;YACR;YACAqB,OAAO;gBACLF,YAAY;oBACVG,QAAQ;gBACV;YACF;QACF;QAEA,gFAAgF;QAChFX,aAAaZ,OAAOU,OAAO,CAACc,GAAG,CAAC,CAACb;YAC/B,MAAMc,eACJ,OAAOd,OAAOe,aAAa,KAAK,WAC5Bf,OAAOe,aAAa,CAACC,QAAQ,GAC7BnC;YAEN,MAAMoC,YAAYd,gBAAgBe,IAAI,CAACd,IAAI,CAAC,CAACe,MAAQA,IAAIV,UAAU,KAAKT,OAAOJ,IAAI;YAEnF,OAAO;gBACLA,MAAMI,OAAOJ,IAAI;gBACjBwB,MAAM;oBACJC,WAAW,CAAC,CAACJ;oBACbK,eAAe,AAACL,WAAWP,aAAwB;oBACnDa,cAAc,AAACN,WAAW3B,MAAgCkC,SAAS;gBACrE;gBACAV;YACF;QACF;IACF;IAEA,MAAMW,YAAYhD,cAChB;WACMgB,YAAYoB,GAAG,CAAC,CAAClB;YACnB,MAAM+B,gBAA+B;gBACnCC,MAAMnD,WAAWmB,UAAU;gBAC3BiC,QAAQjC;YACV;YAEA,OAAO+B;QACT,MAAM,EAAE;WACJ3B,QAAQc,GAAG,CAAC,CAACb;YACf,MAAM0B,gBAA+B;gBACnCC,MAAMnD,WAAWwB,MAAM;gBACvB4B,QAAQ5B;YACV;YAEA,OAAO0B;QACT,MAAM,EAAE;KACT,EACDzC,aACAE;IAGF,qBACE,QAACR;;0BACC,QAACN;gBAAoBY,aAAaA;;;;;;0BAClC,QAACX;gBAAWuD,KAAK,EAAE;;;;;;YAClBtD,sBAAsB;gBACrBuD,aAAa;oBACX9C;gBACF;gBACA+C,WAAW1C,OAAO2C,KAAK,EAAEC,YAAYC,OAAOC,WAAWJ;gBACvDK,UAAUxD;gBACVyD,WAAWjD,QAAQiD,SAAS;gBAC5BC,aAAa;oBACX,GAAGvD,KAAK;oBACRkB;oBACAd;oBACAH;oBACAyC;oBACArC;oBACAH;oBACAK;oBACAC;gBACF;YACF;;;;;;;AAGN"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsxDEV as _jsxDEV } from "react/jsx-dev-runtime";
|
|
1
2
|
import { DocumentInfoProvider, EditDepthProvider, HydrateAuthProvider, LivePreviewProvider } from '@payloadcms/ui';
|
|
2
3
|
import { RenderServerComponent } from '@payloadcms/ui/elements/RenderServerComponent';
|
|
3
4
|
import { handleLivePreview, handlePreview } from '@payloadcms/ui/rsc';
|
|
@@ -6,6 +7,7 @@ import { buildFormState } from '@payloadcms/ui/utilities/buildFormState';
|
|
|
6
7
|
import { notFound, redirect } from 'next/navigation.js';
|
|
7
8
|
import { isolateObjectProperty, logError } from 'payload';
|
|
8
9
|
import { formatAdminURL, hasAutosaveEnabled, hasDraftsEnabled } from 'payload/shared';
|
|
10
|
+
import React from 'react';
|
|
9
11
|
import { DocumentHeader } from '../../elements/DocumentHeader/index.js';
|
|
10
12
|
import { getPreferences } from '../../utilities/getPreferences.js';
|
|
11
13
|
import { NotFoundView } from '../NotFound/index.js';
|
|
@@ -251,20 +253,80 @@ export const generateMetadata = async (args)=>getMetaBySegment(args);
|
|
|
251
253
|
});
|
|
252
254
|
return {
|
|
253
255
|
data: doc,
|
|
254
|
-
Document:
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
256
|
+
Document: /*#__PURE__*/ _jsxDEV(DocumentInfoProvider, {
|
|
257
|
+
apiURL: apiURL,
|
|
258
|
+
collectionSlug: collectionConfig?.slug,
|
|
259
|
+
currentEditor: currentEditor,
|
|
260
|
+
disableActions: disableActions ?? false,
|
|
261
|
+
docPermissions: docPermissions,
|
|
262
|
+
globalSlug: globalConfig?.slug,
|
|
263
|
+
hasPublishedDoc: hasPublishedDoc,
|
|
264
|
+
hasPublishPermission: hasPublishPermission,
|
|
265
|
+
hasSavePermission: hasSavePermission,
|
|
266
|
+
id: id,
|
|
267
|
+
initialData: doc,
|
|
268
|
+
initialState: formState,
|
|
269
|
+
isEditing: isEditing,
|
|
270
|
+
isLocked: isLocked,
|
|
271
|
+
isTrashed: isTrashedDoc,
|
|
272
|
+
lastUpdateTime: lastUpdateTime,
|
|
273
|
+
mostRecentVersionIsAutosaved: mostRecentVersionIsAutosaved,
|
|
274
|
+
redirectAfterCreate: redirectAfterCreate,
|
|
275
|
+
redirectAfterDelete: redirectAfterDelete,
|
|
276
|
+
redirectAfterDuplicate: redirectAfterDuplicate,
|
|
277
|
+
redirectAfterRestore: redirectAfterRestore,
|
|
278
|
+
unpublishedVersionCount: unpublishedVersionCount,
|
|
279
|
+
versionCount: versionCount,
|
|
280
|
+
children: /*#__PURE__*/ _jsxDEV(LivePreviewProvider, {
|
|
281
|
+
breakpoints: livePreviewConfig?.breakpoints,
|
|
282
|
+
isLivePreviewEnabled: isLivePreviewEnabled && operation !== 'create',
|
|
283
|
+
isLivePreviewing: Boolean(entityPreferences?.value?.editViewType === 'live-preview' && livePreviewURL),
|
|
284
|
+
isPreviewEnabled: Boolean(isPreviewEnabled),
|
|
285
|
+
previewURL: previewURL,
|
|
286
|
+
typeofLivePreviewURL: typeof livePreviewConfig?.url,
|
|
287
|
+
url: livePreviewURL,
|
|
288
|
+
children: [
|
|
289
|
+
showHeader && !drawerSlug && /*#__PURE__*/ _jsxDEV(DocumentHeader, {
|
|
290
|
+
AfterHeader: Description,
|
|
291
|
+
collectionConfig: collectionConfig,
|
|
292
|
+
globalConfig: globalConfig,
|
|
293
|
+
permissions: permissions,
|
|
294
|
+
req: req
|
|
295
|
+
}, void 0, false, {
|
|
296
|
+
fileName: "src/views/Document/index.tsx",
|
|
297
|
+
lineNumber: 432,
|
|
298
|
+
columnNumber: 13
|
|
299
|
+
}, this),
|
|
300
|
+
/*#__PURE__*/ _jsxDEV(HydrateAuthProvider, {
|
|
301
|
+
permissions: permissions
|
|
302
|
+
}, void 0, false, {
|
|
303
|
+
fileName: "src/views/Document/index.tsx",
|
|
304
|
+
lineNumber: 440,
|
|
305
|
+
columnNumber: 11
|
|
306
|
+
}, this),
|
|
307
|
+
/*#__PURE__*/ _jsxDEV(EditDepthProvider, {
|
|
308
|
+
children: RenderServerComponent({
|
|
309
|
+
clientProps,
|
|
310
|
+
Component: View,
|
|
311
|
+
importMap,
|
|
312
|
+
serverProps: documentViewServerProps
|
|
313
|
+
})
|
|
314
|
+
}, void 0, false, {
|
|
315
|
+
fileName: "src/views/Document/index.tsx",
|
|
316
|
+
lineNumber: 441,
|
|
317
|
+
columnNumber: 11
|
|
318
|
+
}, this)
|
|
319
|
+
]
|
|
320
|
+
}, void 0, true, {
|
|
321
|
+
fileName: "src/views/Document/index.tsx",
|
|
322
|
+
lineNumber: 420,
|
|
323
|
+
columnNumber: 9
|
|
324
|
+
}, this)
|
|
325
|
+
}, locale?.code, false, {
|
|
326
|
+
fileName: "src/views/Document/index.tsx",
|
|
327
|
+
lineNumber: 394,
|
|
328
|
+
columnNumber: 7
|
|
329
|
+
}, this)
|
|
268
330
|
};
|
|
269
331
|
};
|
|
270
332
|
export async function DocumentView(props) {
|