@payloadcms/next 3.43.0-internal.693bd81 → 3.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +26 -36
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +35 -81
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +8 -6
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +91 -61
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
- package/dist/utilities/handleServerFunctions.js +11 -9
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +1 -0
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/BrowseByFolder/buildView.d.ts.map +1 -1
- package/dist/views/BrowseByFolder/buildView.js +40 -61
- package/dist/views/BrowseByFolder/buildView.js.map +1 -1
- package/dist/views/CollectionFolders/buildView.d.ts.map +1 -1
- package/dist/views/CollectionFolders/buildView.js +45 -59
- package/dist/views/CollectionFolders/buildView.js.map +1 -1
- package/dist/views/Document/getDocumentView.d.ts +18 -0
- package/dist/views/Document/getDocumentView.d.ts.map +1 -0
- package/dist/views/Document/getDocumentView.js +264 -0
- package/dist/views/Document/getDocumentView.js.map +1 -0
- package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
- package/dist/views/Document/getMetaBySegment.js +10 -3
- package/dist/views/Document/getMetaBySegment.js.map +1 -1
- package/dist/views/Document/handleServerFunction.d.ts +2 -21
- package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
- package/dist/views/Document/handleServerFunction.js +8 -4
- package/dist/views/Document/handleServerFunction.js.map +1 -1
- package/dist/views/Document/index.d.ts +4 -2
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +38 -77
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.d.ts +3 -3
- package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/List/handleServerFunction.d.ts +3 -4
- package/dist/views/List/handleServerFunction.d.ts.map +1 -1
- package/dist/views/List/handleServerFunction.js.map +1 -1
- package/dist/views/LivePreview/index.client.js +3 -1
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/Unauthorized/index.d.ts +1 -0
- package/dist/views/Unauthorized/index.d.ts.map +1 -1
- package/dist/views/Unauthorized/index.js +9 -1
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Unauthorized/index.scss +4 -0
- package/dist/views/Version/Default/SetStepNav.d.ts +4 -5
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +45 -70
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +189 -103
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/index.scss +128 -34
- package/dist/views/Version/Default/types.d.ts +16 -10
- package/dist/views/Version/Default/types.d.ts.map +1 -1
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +10 -13
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +65 -61
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +41 -6
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts +6 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +21 -17
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts +4 -3
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +87 -57
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +12 -12
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts +4 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +75 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +12 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +12 -12
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +0 -10
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +31 -22
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +37 -5
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts +10 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +41 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +19 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +175 -131
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +84 -8
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +38 -48
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +0 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +38 -38
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +0 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +77 -60
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +0 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts +24 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +176 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +121 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +4 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +1 -0
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts +14 -4
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +26 -31
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/Restore/index.scss +6 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.d.ts +3 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.d.ts.map +1 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +90 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts +30 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/index.d.ts.map +1 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js +232 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +18 -0
- package/dist/views/Version/SelectComparison/index.d.ts +1 -1
- package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +37 -162
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.scss +4 -10
- package/dist/views/Version/SelectComparison/types.d.ts +4 -7
- package/dist/views/Version/SelectComparison/types.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/types.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.d.ts +9 -2
- package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +33 -60
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.d.ts +35 -0
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.d.ts.map +1 -0
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +109 -0
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -0
- package/dist/views/Version/VersionPillLabel/getVersionLabel.d.ts +30 -0
- package/dist/views/Version/VersionPillLabel/getVersionLabel.d.ts.map +1 -0
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js +34 -0
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -0
- package/dist/views/Version/VersionPillLabel/index.scss +26 -0
- package/dist/views/Version/fetchVersions.d.ts +42 -0
- package/dist/views/Version/fetchVersions.d.ts.map +1 -0
- package/dist/views/Version/fetchVersions.js +147 -0
- package/dist/views/Version/fetchVersions.js.map +1 -0
- package/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js +253 -143
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Version/metadata.js +1 -1
- package/dist/views/Version/metadata.js.map +1 -1
- package/dist/views/Versions/buildColumns.d.ts +13 -5
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/buildColumns.js +6 -4
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts +11 -5
- package/dist/views/Versions/cells/AutosaveCell/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +34 -103
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.d.ts +1 -2
- package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/index.d.ts +0 -1
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +89 -153
- package/dist/views/Versions/index.js.map +1 -1
- package/package.json +6 -7
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.d.ts +0 -6
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.d.ts.map +0 -1
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +0 -34
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +0 -1
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.d.ts +0 -7
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.d.ts.map +0 -1
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +0 -17
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +0 -1
- package/dist/views/Document/getViewsFromConfig.d.ts +0 -27
- package/dist/views/Document/getViewsFromConfig.d.ts.map +0 -1
- package/dist/views/Document/getViewsFromConfig.js +0 -330
- package/dist/views/Document/getViewsFromConfig.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts +0 -9
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js +0 -23
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/DiffViewer/index.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts +0 -9
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js +0 -23
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/DiffViewer/index.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.d.ts +0 -7
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js +0 -7
- package/dist/views/Version/RenderFieldsToDiff/fields/diffMethods.js.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.d.ts +0 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.d.ts.map +0 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js +0 -37
- package/dist/views/Version/RenderFieldsToDiff/fields/styles.js.map +0 -1
- package/dist/views/Version/Restore/types.d.ts +0 -12
- package/dist/views/Version/Restore/types.d.ts.map +0 -1
- package/dist/views/Version/Restore/types.js +0 -2
- package/dist/views/Version/Restore/types.js.map +0 -1
- package/dist/views/Version/SelectLocales/index.scss +0 -9
- package/dist/views/Version/SelectLocales/types.d.ts +0 -7
- package/dist/views/Version/SelectLocales/types.d.ts.map +0 -1
- package/dist/views/Version/SelectLocales/types.js +0 -2
- package/dist/views/Version/SelectLocales/types.js.map +0 -1
- package/dist/views/Versions/getLatestVersion.d.ts +0 -18
- package/dist/views/Versions/getLatestVersion.d.ts.map +0 -1
- package/dist/views/Versions/getLatestVersion.js +0 -59
- package/dist/views/Versions/getLatestVersion.js.map +0 -1
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
import { APIView as DefaultAPIView } from '../API/index.js';
|
|
2
|
+
import { EditView as DefaultEditView } from '../Edit/index.js';
|
|
3
|
+
import { LivePreviewView as DefaultLivePreviewView } from '../LivePreview/index.js';
|
|
4
|
+
import { UnauthorizedViewWithGutter } from '../Unauthorized/index.js';
|
|
5
|
+
import { VersionView as DefaultVersionView } from '../Version/index.js';
|
|
6
|
+
import { VersionsView as DefaultVersionsView } from '../Versions/index.js';
|
|
7
|
+
import { getCustomViewByKey } from './getCustomViewByKey.js';
|
|
8
|
+
import { getCustomViewByRoute } from './getCustomViewByRoute.js';
|
|
9
|
+
export const getDocumentView = ({
|
|
10
|
+
collectionConfig,
|
|
11
|
+
config,
|
|
12
|
+
docPermissions,
|
|
13
|
+
globalConfig,
|
|
14
|
+
routeSegments
|
|
15
|
+
}) => {
|
|
16
|
+
// Conditionally import and lazy load the default view
|
|
17
|
+
let View = null;
|
|
18
|
+
let viewKey;
|
|
19
|
+
const {
|
|
20
|
+
routes: {
|
|
21
|
+
admin: adminRoute
|
|
22
|
+
}
|
|
23
|
+
} = config;
|
|
24
|
+
const views = collectionConfig && collectionConfig?.admin?.components?.views || globalConfig && globalConfig?.admin?.components?.views;
|
|
25
|
+
if (!docPermissions?.read) {
|
|
26
|
+
throw new Error('not-found');
|
|
27
|
+
}
|
|
28
|
+
if (collectionConfig) {
|
|
29
|
+
const [collectionEntity, collectionSlug, segment3, segment4, segment5, ...remainingSegments] = routeSegments;
|
|
30
|
+
// --> /collections/:collectionSlug/:id
|
|
31
|
+
// --> /collections/:collectionSlug/create
|
|
32
|
+
switch (routeSegments.length) {
|
|
33
|
+
case 3:
|
|
34
|
+
{
|
|
35
|
+
switch (segment3) {
|
|
36
|
+
// --> /collections/:collectionSlug/create
|
|
37
|
+
case 'create':
|
|
38
|
+
{
|
|
39
|
+
if ('create' in docPermissions && docPermissions.create) {
|
|
40
|
+
View = getCustomViewByKey(views, 'default') || DefaultEditView;
|
|
41
|
+
} else {
|
|
42
|
+
View = UnauthorizedViewWithGutter;
|
|
43
|
+
}
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
// --> /collections/:collectionSlug/:id
|
|
47
|
+
default:
|
|
48
|
+
{
|
|
49
|
+
const baseRoute = [adminRoute !== '/' && adminRoute, 'collections', collectionSlug, segment3].filter(Boolean).join('/');
|
|
50
|
+
const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments].filter(Boolean).join('/');
|
|
51
|
+
const {
|
|
52
|
+
Component: CustomViewComponent,
|
|
53
|
+
viewKey: customViewKey
|
|
54
|
+
} = getCustomViewByRoute({
|
|
55
|
+
baseRoute,
|
|
56
|
+
currentRoute,
|
|
57
|
+
views
|
|
58
|
+
});
|
|
59
|
+
if (customViewKey) {
|
|
60
|
+
viewKey = customViewKey;
|
|
61
|
+
View = CustomViewComponent;
|
|
62
|
+
} else {
|
|
63
|
+
View = getCustomViewByKey(views, 'default') || DefaultEditView;
|
|
64
|
+
}
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
// --> /collections/:collectionSlug/:id/api
|
|
71
|
+
// --> /collections/:collectionSlug/:id/preview
|
|
72
|
+
// --> /collections/:collectionSlug/:id/versions
|
|
73
|
+
// --> /collections/:collectionSlug/:id/<custom-segment>
|
|
74
|
+
case 4:
|
|
75
|
+
{
|
|
76
|
+
switch (segment4) {
|
|
77
|
+
// --> /collections/:collectionSlug/:id/api
|
|
78
|
+
case 'api':
|
|
79
|
+
{
|
|
80
|
+
if (collectionConfig?.admin?.hideAPIURL !== true) {
|
|
81
|
+
View = getCustomViewByKey(views, 'api') || DefaultAPIView;
|
|
82
|
+
}
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
case 'preview':
|
|
86
|
+
{
|
|
87
|
+
// --> /collections/:collectionSlug/:id/preview
|
|
88
|
+
if (collectionConfig && collectionConfig?.admin?.livePreview || config?.admin?.livePreview?.collections?.includes(collectionConfig?.slug)) {
|
|
89
|
+
View = getCustomViewByKey(views, 'livePreview') || DefaultLivePreviewView;
|
|
90
|
+
}
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
case 'versions':
|
|
94
|
+
{
|
|
95
|
+
// --> /collections/:collectionSlug/:id/versions
|
|
96
|
+
if (docPermissions?.readVersions) {
|
|
97
|
+
View = getCustomViewByKey(views, 'versions') || DefaultVersionsView;
|
|
98
|
+
} else {
|
|
99
|
+
View = UnauthorizedViewWithGutter;
|
|
100
|
+
}
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
// --> /collections/:collectionSlug/:id/<custom-segment>
|
|
104
|
+
default:
|
|
105
|
+
{
|
|
106
|
+
const baseRoute = [adminRoute !== '/' && adminRoute, 'collections', collectionSlug, segment3].filter(Boolean).join('/');
|
|
107
|
+
const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments].filter(Boolean).join('/');
|
|
108
|
+
const {
|
|
109
|
+
Component: CustomViewComponent,
|
|
110
|
+
viewKey: customViewKey
|
|
111
|
+
} = getCustomViewByRoute({
|
|
112
|
+
baseRoute,
|
|
113
|
+
currentRoute,
|
|
114
|
+
views
|
|
115
|
+
});
|
|
116
|
+
if (customViewKey) {
|
|
117
|
+
viewKey = customViewKey;
|
|
118
|
+
View = CustomViewComponent;
|
|
119
|
+
}
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
// --> /collections/:collectionSlug/:id/versions/:version
|
|
126
|
+
// --> /collections/:collectionSlug/:id/<custom-segment>/<custom-segment>
|
|
127
|
+
default:
|
|
128
|
+
{
|
|
129
|
+
// --> /collections/:collectionSlug/:id/versions/:version
|
|
130
|
+
if (segment4 === 'versions') {
|
|
131
|
+
if (docPermissions?.readVersions) {
|
|
132
|
+
View = getCustomViewByKey(views, 'version') || DefaultVersionView;
|
|
133
|
+
} else {
|
|
134
|
+
View = UnauthorizedViewWithGutter;
|
|
135
|
+
}
|
|
136
|
+
} else {
|
|
137
|
+
// --> /collections/:collectionSlug/:id/<custom-segment>/<custom-segment>
|
|
138
|
+
const baseRoute = [adminRoute !== '/' && adminRoute, collectionEntity, collectionSlug, segment3].filter(Boolean).join('/');
|
|
139
|
+
const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments].filter(Boolean).join('/');
|
|
140
|
+
const {
|
|
141
|
+
Component: CustomViewComponent,
|
|
142
|
+
viewKey: customViewKey
|
|
143
|
+
} = getCustomViewByRoute({
|
|
144
|
+
baseRoute,
|
|
145
|
+
currentRoute,
|
|
146
|
+
views
|
|
147
|
+
});
|
|
148
|
+
if (customViewKey) {
|
|
149
|
+
viewKey = customViewKey;
|
|
150
|
+
View = CustomViewComponent;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
break;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
if (globalConfig) {
|
|
158
|
+
const [globalEntity, globalSlug, segment3, ...remainingSegments] = routeSegments;
|
|
159
|
+
switch (routeSegments.length) {
|
|
160
|
+
// --> /globals/:globalSlug
|
|
161
|
+
case 2:
|
|
162
|
+
{
|
|
163
|
+
View = getCustomViewByKey(views, 'default') || DefaultEditView;
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
case 3:
|
|
167
|
+
{
|
|
168
|
+
// --> /globals/:globalSlug/api
|
|
169
|
+
// --> /globals/:globalSlug/preview
|
|
170
|
+
// --> /globals/:globalSlug/versions
|
|
171
|
+
// --> /globals/:globalSlug/<custom-segment>
|
|
172
|
+
switch (segment3) {
|
|
173
|
+
// --> /globals/:globalSlug/api
|
|
174
|
+
case 'api':
|
|
175
|
+
{
|
|
176
|
+
if (globalConfig?.admin?.hideAPIURL !== true) {
|
|
177
|
+
View = getCustomViewByKey(views, 'api') || DefaultAPIView;
|
|
178
|
+
}
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
case 'preview':
|
|
182
|
+
{
|
|
183
|
+
// --> /globals/:globalSlug/preview
|
|
184
|
+
if (globalConfig && globalConfig?.admin?.livePreview || config?.admin?.livePreview?.globals?.includes(globalConfig?.slug)) {
|
|
185
|
+
View = getCustomViewByKey(views, 'livePreview') || DefaultLivePreviewView;
|
|
186
|
+
}
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
case 'versions':
|
|
190
|
+
{
|
|
191
|
+
// --> /globals/:globalSlug/versions
|
|
192
|
+
if (docPermissions?.readVersions) {
|
|
193
|
+
View = getCustomViewByKey(views, 'versions') || DefaultVersionsView;
|
|
194
|
+
} else {
|
|
195
|
+
View = UnauthorizedViewWithGutter;
|
|
196
|
+
}
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
199
|
+
// --> /globals/:globalSlug/<custom-segment>
|
|
200
|
+
default:
|
|
201
|
+
{
|
|
202
|
+
if (docPermissions?.read) {
|
|
203
|
+
const baseRoute = [adminRoute, globalEntity, globalSlug, segment3].filter(Boolean).join('/');
|
|
204
|
+
const currentRoute = [baseRoute, segment3, ...remainingSegments].filter(Boolean).join('/');
|
|
205
|
+
const {
|
|
206
|
+
Component: CustomViewComponent,
|
|
207
|
+
viewKey: customViewKey
|
|
208
|
+
} = getCustomViewByRoute({
|
|
209
|
+
baseRoute,
|
|
210
|
+
currentRoute,
|
|
211
|
+
views
|
|
212
|
+
});
|
|
213
|
+
if (customViewKey) {
|
|
214
|
+
viewKey = customViewKey;
|
|
215
|
+
View = CustomViewComponent;
|
|
216
|
+
} else {
|
|
217
|
+
View = DefaultEditView;
|
|
218
|
+
}
|
|
219
|
+
} else {
|
|
220
|
+
View = UnauthorizedViewWithGutter;
|
|
221
|
+
}
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
break;
|
|
226
|
+
}
|
|
227
|
+
// --> /globals/:globalSlug/versions/:version
|
|
228
|
+
// --> /globals/:globalSlug/<custom-segment>/<custom-segment>
|
|
229
|
+
default:
|
|
230
|
+
{
|
|
231
|
+
// --> /globals/:globalSlug/versions/:version
|
|
232
|
+
if (segment3 === 'versions') {
|
|
233
|
+
if (docPermissions?.readVersions) {
|
|
234
|
+
View = getCustomViewByKey(views, 'version') || DefaultVersionView;
|
|
235
|
+
} else {
|
|
236
|
+
View = UnauthorizedViewWithGutter;
|
|
237
|
+
}
|
|
238
|
+
} else {
|
|
239
|
+
// --> /globals/:globalSlug/<custom-segment>/<custom-segment>
|
|
240
|
+
const baseRoute = [adminRoute !== '/' && adminRoute, 'globals', globalSlug].filter(Boolean).join('/');
|
|
241
|
+
const currentRoute = [baseRoute, segment3, ...remainingSegments].filter(Boolean).join('/');
|
|
242
|
+
const {
|
|
243
|
+
Component: CustomViewComponent,
|
|
244
|
+
viewKey: customViewKey
|
|
245
|
+
} = getCustomViewByRoute({
|
|
246
|
+
baseRoute,
|
|
247
|
+
currentRoute,
|
|
248
|
+
views
|
|
249
|
+
});
|
|
250
|
+
if (customViewKey) {
|
|
251
|
+
viewKey = customViewKey;
|
|
252
|
+
View = CustomViewComponent;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
break;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return {
|
|
260
|
+
View,
|
|
261
|
+
viewKey
|
|
262
|
+
};
|
|
263
|
+
};
|
|
264
|
+
//# sourceMappingURL=getDocumentView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDocumentView.js","names":["APIView","DefaultAPIView","EditView","DefaultEditView","LivePreviewView","DefaultLivePreviewView","UnauthorizedViewWithGutter","VersionView","DefaultVersionView","VersionsView","DefaultVersionsView","getCustomViewByKey","getCustomViewByRoute","getDocumentView","collectionConfig","config","docPermissions","globalConfig","routeSegments","View","viewKey","routes","admin","adminRoute","views","components","read","Error","collectionEntity","collectionSlug","segment3","segment4","segment5","remainingSegments","length","create","baseRoute","filter","Boolean","join","currentRoute","Component","CustomViewComponent","customViewKey","hideAPIURL","livePreview","collections","includes","slug","readVersions","globalEntity","globalSlug","globals"],"sources":["../../../src/views/Document/getDocumentView.tsx"],"sourcesContent":["import type {\n PayloadComponent,\n SanitizedCollectionConfig,\n SanitizedCollectionPermission,\n SanitizedConfig,\n SanitizedGlobalConfig,\n SanitizedGlobalPermission,\n} from 'payload'\nimport type React from 'react'\n\nimport type { ViewToRender } from './index.js'\n\nimport { APIView as DefaultAPIView } from '../API/index.js'\nimport { EditView as DefaultEditView } from '../Edit/index.js'\nimport { LivePreviewView as DefaultLivePreviewView } from '../LivePreview/index.js'\nimport { UnauthorizedViewWithGutter } from '../Unauthorized/index.js'\nimport { VersionView as DefaultVersionView } from '../Version/index.js'\nimport { VersionsView as DefaultVersionsView } from '../Versions/index.js'\nimport { getCustomViewByKey } from './getCustomViewByKey.js'\nimport { getCustomViewByRoute } from './getCustomViewByRoute.js'\n\nexport type ViewFromConfig<TProps extends object> = {\n Component?: React.FC<TProps>\n ComponentConfig?: PayloadComponent<TProps>\n}\n\nexport const getDocumentView = ({\n collectionConfig,\n config,\n docPermissions,\n globalConfig,\n routeSegments,\n}: {\n collectionConfig?: SanitizedCollectionConfig\n config: SanitizedConfig\n docPermissions: SanitizedCollectionPermission | SanitizedGlobalPermission\n globalConfig?: SanitizedGlobalConfig\n routeSegments: string[]\n}): {\n View: ViewToRender\n viewKey: string\n} | null => {\n // Conditionally import and lazy load the default view\n let View: ViewToRender = null\n let viewKey: string\n\n const {\n routes: { admin: adminRoute },\n } = config\n\n const views =\n (collectionConfig && collectionConfig?.admin?.components?.views) ||\n (globalConfig && globalConfig?.admin?.components?.views)\n\n if (!docPermissions?.read) {\n throw new Error('not-found')\n }\n\n if (collectionConfig) {\n const [collectionEntity, collectionSlug, segment3, segment4, segment5, ...remainingSegments] =\n routeSegments\n\n // --> /collections/:collectionSlug/:id\n // --> /collections/:collectionSlug/create\n switch (routeSegments.length) {\n case 3: {\n switch (segment3) {\n // --> /collections/:collectionSlug/create\n case 'create': {\n if ('create' in docPermissions && docPermissions.create) {\n View = getCustomViewByKey(views, 'default') || DefaultEditView\n } else {\n View = UnauthorizedViewWithGutter\n }\n break\n }\n\n // --> /collections/:collectionSlug/:id\n default: {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n 'collections',\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } = getCustomViewByRoute(\n {\n baseRoute,\n currentRoute,\n views,\n },\n )\n\n if (customViewKey) {\n viewKey = customViewKey\n View = CustomViewComponent\n } else {\n View = getCustomViewByKey(views, 'default') || DefaultEditView\n }\n\n break\n }\n }\n break\n }\n\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/preview\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/<custom-segment>\n case 4: {\n switch (segment4) {\n // --> /collections/:collectionSlug/:id/api\n case 'api': {\n if (collectionConfig?.admin?.hideAPIURL !== true) {\n View = getCustomViewByKey(views, 'api') || DefaultAPIView\n }\n break\n }\n\n case 'preview': {\n // --> /collections/:collectionSlug/:id/preview\n if (\n (collectionConfig && collectionConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.collections?.includes(collectionConfig?.slug)\n ) {\n View = getCustomViewByKey(views, 'livePreview') || DefaultLivePreviewView\n }\n break\n }\n\n case 'versions': {\n // --> /collections/:collectionSlug/:id/versions\n if (docPermissions?.readVersions) {\n View = getCustomViewByKey(views, 'versions') || DefaultVersionsView\n } else {\n View = UnauthorizedViewWithGutter\n }\n break\n }\n\n // --> /collections/:collectionSlug/:id/<custom-segment>\n default: {\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n 'collections',\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } = getCustomViewByRoute(\n {\n baseRoute,\n currentRoute,\n views,\n },\n )\n\n if (customViewKey) {\n viewKey = customViewKey\n View = CustomViewComponent\n }\n\n break\n }\n }\n break\n }\n\n // --> /collections/:collectionSlug/:id/versions/:version\n // --> /collections/:collectionSlug/:id/<custom-segment>/<custom-segment>\n default: {\n // --> /collections/:collectionSlug/:id/versions/:version\n if (segment4 === 'versions') {\n if (docPermissions?.readVersions) {\n View = getCustomViewByKey(views, 'version') || DefaultVersionView\n } else {\n View = UnauthorizedViewWithGutter\n }\n } else {\n // --> /collections/:collectionSlug/:id/<custom-segment>/<custom-segment>\n const baseRoute = [\n adminRoute !== '/' && adminRoute,\n collectionEntity,\n collectionSlug,\n segment3,\n ]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment4, segment5, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } = getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n View = CustomViewComponent\n }\n }\n\n break\n }\n }\n }\n\n if (globalConfig) {\n const [globalEntity, globalSlug, segment3, ...remainingSegments] = routeSegments\n\n switch (routeSegments.length) {\n // --> /globals/:globalSlug\n case 2: {\n View = getCustomViewByKey(views, 'default') || DefaultEditView\n break\n }\n\n case 3: {\n // --> /globals/:globalSlug/api\n // --> /globals/:globalSlug/preview\n // --> /globals/:globalSlug/versions\n // --> /globals/:globalSlug/<custom-segment>\n switch (segment3) {\n // --> /globals/:globalSlug/api\n case 'api': {\n if (globalConfig?.admin?.hideAPIURL !== true) {\n View = getCustomViewByKey(views, 'api') || DefaultAPIView\n }\n\n break\n }\n\n case 'preview': {\n // --> /globals/:globalSlug/preview\n if (\n (globalConfig && globalConfig?.admin?.livePreview) ||\n config?.admin?.livePreview?.globals?.includes(globalConfig?.slug)\n ) {\n View = getCustomViewByKey(views, 'livePreview') || DefaultLivePreviewView\n }\n\n break\n }\n\n case 'versions': {\n // --> /globals/:globalSlug/versions\n if (docPermissions?.readVersions) {\n View = getCustomViewByKey(views, 'versions') || DefaultVersionsView\n } else {\n View = UnauthorizedViewWithGutter\n }\n break\n }\n\n // --> /globals/:globalSlug/<custom-segment>\n default: {\n if (docPermissions?.read) {\n const baseRoute = [adminRoute, globalEntity, globalSlug, segment3]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments]\n .filter(Boolean)\n .join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } =\n getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n\n View = CustomViewComponent\n } else {\n View = DefaultEditView\n }\n } else {\n View = UnauthorizedViewWithGutter\n }\n break\n }\n }\n break\n }\n\n // --> /globals/:globalSlug/versions/:version\n // --> /globals/:globalSlug/<custom-segment>/<custom-segment>\n default: {\n // --> /globals/:globalSlug/versions/:version\n if (segment3 === 'versions') {\n if (docPermissions?.readVersions) {\n View = getCustomViewByKey(views, 'version') || DefaultVersionView\n } else {\n View = UnauthorizedViewWithGutter\n }\n } else {\n // --> /globals/:globalSlug/<custom-segment>/<custom-segment>\n const baseRoute = [adminRoute !== '/' && adminRoute, 'globals', globalSlug]\n .filter(Boolean)\n .join('/')\n\n const currentRoute = [baseRoute, segment3, ...remainingSegments].filter(Boolean).join('/')\n\n const { Component: CustomViewComponent, viewKey: customViewKey } = getCustomViewByRoute({\n baseRoute,\n currentRoute,\n views,\n })\n\n if (customViewKey) {\n viewKey = customViewKey\n View = CustomViewComponent\n }\n }\n\n break\n }\n }\n }\n\n return {\n View,\n viewKey,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMetaBySegment.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getMetaBySegment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE3F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAW5D,MAAM,MAAM,wBAAwB,GAAG,CACrC,IAAI,EAAE;IACJ,gBAAgB,CAAC,EAAE,IAAI,GAAG,yBAAyB,CAAA;IACnD,YAAY,CAAC,EAAE,IAAI,GAAG,qBAAqB,CAAA;IAC3C,IAAI,CAAC,EAAE,MAAM,UAAU,CAAA;CACxB,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,KACpC,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEtB,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"getMetaBySegment.d.ts","sourceRoot":"","sources":["../../../src/views/Document/getMetaBySegment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE3F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAW5D,MAAM,MAAM,wBAAwB,GAAG,CACrC,IAAI,EAAE;IACJ,gBAAgB,CAAC,EAAE,IAAI,GAAG,yBAAyB,CAAA;IACnD,YAAY,CAAC,EAAE,IAAI,GAAG,qBAAqB,CAAA;IAC3C,IAAI,CAAC,EAAE,MAAM,UAAU,CAAA;CACxB,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,KACpC,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEtB,eAAO,MAAM,gBAAgB,EAAE,wBAuI9B,CAAA"}
|
|
@@ -5,7 +5,7 @@ import { generateLivePreviewViewMetadata } from '../LivePreview/metadata.js';
|
|
|
5
5
|
import { generateNotFoundViewMetadata } from '../NotFound/metadata.js';
|
|
6
6
|
import { generateVersionViewMetadata } from '../Version/metadata.js';
|
|
7
7
|
import { generateVersionsViewMetadata } from '../Versions/metadata.js';
|
|
8
|
-
import {
|
|
8
|
+
import { getDocumentView } from './getDocumentView.js';
|
|
9
9
|
export const getMetaBySegment = async ({
|
|
10
10
|
collectionConfig,
|
|
11
11
|
config,
|
|
@@ -99,11 +99,18 @@ export const getMetaBySegment = async ({
|
|
|
99
99
|
} else {
|
|
100
100
|
const {
|
|
101
101
|
viewKey
|
|
102
|
-
} =
|
|
102
|
+
} = getDocumentView({
|
|
103
103
|
collectionConfig,
|
|
104
104
|
config,
|
|
105
|
+
docPermissions: {
|
|
106
|
+
create: true,
|
|
107
|
+
delete: true,
|
|
108
|
+
fields: true,
|
|
109
|
+
read: true,
|
|
110
|
+
readVersions: true,
|
|
111
|
+
update: true
|
|
112
|
+
},
|
|
105
113
|
globalConfig,
|
|
106
|
-
overrideDocPermissions: true,
|
|
107
114
|
routeSegments: typeof segments === 'string' ? [segments] : segments
|
|
108
115
|
});
|
|
109
116
|
if (viewKey) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getMetaBySegment.js","names":["getNextRequestI18n","generateAPIViewMetadata","generateEditViewMetadata","generateLivePreviewViewMetadata","generateNotFoundViewMetadata","generateVersionViewMetadata","generateVersionsViewMetadata","
|
|
1
|
+
{"version":3,"file":"getMetaBySegment.js","names":["getNextRequestI18n","generateAPIViewMetadata","generateEditViewMetadata","generateLivePreviewViewMetadata","generateNotFoundViewMetadata","generateVersionViewMetadata","generateVersionsViewMetadata","getDocumentView","getMetaBySegment","collectionConfig","config","globalConfig","params","segments","fn","segmentOne","isCollection","isGlobal","isEditing","Boolean","length","i18n","viewKey","docPermissions","create","delete","fields","read","readVersions","update","routeSegments","customViewConfig","admin","components","views","edit","view"],"sources":["../../../src/views/Document/getMetaBySegment.tsx"],"sourcesContent":["import type { Metadata } from 'next'\nimport type { EditConfig, SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nimport type { GenerateViewMetadata } from '../Root/index.js'\n\nimport { getNextRequestI18n } from '../../utilities/getNextRequestI18n.js'\nimport { generateAPIViewMetadata } from '../API/metadata.js'\nimport { generateEditViewMetadata } from '../Edit/metadata.js'\nimport { generateLivePreviewViewMetadata } from '../LivePreview/metadata.js'\nimport { generateNotFoundViewMetadata } from '../NotFound/metadata.js'\nimport { generateVersionViewMetadata } from '../Version/metadata.js'\nimport { generateVersionsViewMetadata } from '../Versions/metadata.js'\nimport { getDocumentView } from './getDocumentView.js'\n\nexport type GenerateEditViewMetadata = (\n args: {\n collectionConfig?: null | SanitizedCollectionConfig\n globalConfig?: null | SanitizedGlobalConfig\n view?: keyof EditConfig\n } & Parameters<GenerateViewMetadata>[0],\n) => Promise<Metadata>\n\nexport const getMetaBySegment: GenerateEditViewMetadata = async ({\n collectionConfig,\n config,\n globalConfig,\n params,\n}) => {\n const { segments } = params\n\n let fn: GenerateEditViewMetadata | null = null\n\n const [segmentOne] = segments\n const isCollection = segmentOne === 'collections'\n const isGlobal = segmentOne === 'globals'\n\n const isEditing =\n isGlobal || Boolean(isCollection && segments?.length > 2 && segments[2] !== 'create')\n\n if (isCollection) {\n // `/:collection/:id`\n if (params.segments.length === 3) {\n fn = generateEditViewMetadata\n }\n\n // `/:collection/:id/:view`\n if (params.segments.length === 4) {\n switch (params.segments[3]) {\n case 'api':\n // `/:collection/:id/api`\n fn = generateAPIViewMetadata\n break\n case 'preview':\n // `/:collection/:id/preview`\n fn = generateLivePreviewViewMetadata\n break\n case 'versions':\n // `/:collection/:id/versions`\n fn = generateVersionsViewMetadata\n break\n default:\n break\n }\n }\n\n // `/:collection/:id/:slug-1/:slug-2`\n if (params.segments.length === 5) {\n switch (params.segments[3]) {\n case 'versions':\n // `/:collection/:id/versions/:version`\n fn = generateVersionViewMetadata\n break\n default:\n break\n }\n }\n }\n\n if (isGlobal) {\n // `/:global`\n if (params.segments?.length === 2) {\n fn = generateEditViewMetadata\n }\n\n // `/:global/:view`\n if (params.segments?.length === 3) {\n switch (params.segments[2]) {\n case 'api':\n // `/:global/api`\n fn = generateAPIViewMetadata\n break\n case 'preview':\n // `/:global/preview`\n fn = generateLivePreviewViewMetadata\n break\n case 'versions':\n // `/:global/versions`\n fn = generateVersionsViewMetadata\n break\n default:\n break\n }\n }\n\n // `/:global/versions/:version`\n if (params.segments?.length === 4 && params.segments[2] === 'versions') {\n fn = generateVersionViewMetadata\n }\n }\n\n const i18n = await getNextRequestI18n({\n config,\n })\n\n if (typeof fn === 'function') {\n return fn({\n collectionConfig,\n config,\n globalConfig,\n i18n,\n isEditing,\n })\n } else {\n const { viewKey } = getDocumentView({\n collectionConfig,\n config,\n docPermissions: {\n create: true,\n delete: true,\n fields: true,\n read: true,\n readVersions: true,\n update: true,\n },\n globalConfig,\n routeSegments: typeof segments === 'string' ? [segments] : segments,\n })\n\n if (viewKey) {\n const customViewConfig =\n collectionConfig?.admin?.components?.views?.edit?.[viewKey] ||\n globalConfig?.admin?.components?.views?.edit?.[viewKey]\n\n if (customViewConfig) {\n return generateEditViewMetadata({\n collectionConfig,\n config,\n globalConfig,\n i18n,\n isEditing,\n view: viewKey as keyof EditConfig,\n })\n }\n }\n }\n\n return generateNotFoundViewMetadata({ config, i18n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,22 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
data: any;
|
|
4
|
-
Document: React.ReactNode;
|
|
5
|
-
preferences: DocumentPreferences;
|
|
6
|
-
};
|
|
7
|
-
export declare const renderDocumentHandler: (args: {
|
|
8
|
-
collectionSlug: string;
|
|
9
|
-
disableActions?: boolean;
|
|
10
|
-
docID: string;
|
|
11
|
-
drawerSlug?: string;
|
|
12
|
-
initialData?: Data;
|
|
13
|
-
initialState?: FormState;
|
|
14
|
-
locale?: Locale;
|
|
15
|
-
overrideEntityVisibility?: boolean;
|
|
16
|
-
redirectAfterCreate?: boolean;
|
|
17
|
-
redirectAfterDelete: boolean;
|
|
18
|
-
redirectAfterDuplicate: boolean;
|
|
19
|
-
req: PayloadRequest;
|
|
20
|
-
}) => Promise<RenderDocumentResult>;
|
|
21
|
-
export {};
|
|
1
|
+
import type { RenderDocumentServerFunction } from '@payloadcms/ui';
|
|
2
|
+
export declare const renderDocumentHandler: RenderDocumentServerFunction;
|
|
22
3
|
//# sourceMappingURL=handleServerFunction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleServerFunction.d.ts","sourceRoot":"","sources":["../../../src/views/Document/handleServerFunction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"handleServerFunction.d.ts","sourceRoot":"","sources":["../../../src/views/Document/handleServerFunction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AASlE,eAAO,MAAM,qBAAqB,EAAE,4BAuJnC,CAAA"}
|
|
@@ -11,6 +11,7 @@ export const renderDocumentHandler = async args => {
|
|
|
11
11
|
initialData,
|
|
12
12
|
locale,
|
|
13
13
|
overrideEntityVisibility,
|
|
14
|
+
paramsOverride,
|
|
14
15
|
redirectAfterCreate,
|
|
15
16
|
redirectAfterDelete,
|
|
16
17
|
redirectAfterDuplicate,
|
|
@@ -22,7 +23,9 @@ export const renderDocumentHandler = async args => {
|
|
|
22
23
|
config
|
|
23
24
|
},
|
|
24
25
|
user
|
|
25
|
-
}
|
|
26
|
+
},
|
|
27
|
+
searchParams = {},
|
|
28
|
+
versions
|
|
26
29
|
} = args;
|
|
27
30
|
const headers = await getHeaders();
|
|
28
31
|
const cookies = parseCookies(headers);
|
|
@@ -131,14 +134,15 @@ export const renderDocumentHandler = async args => {
|
|
|
131
134
|
visibleEntities
|
|
132
135
|
},
|
|
133
136
|
overrideEntityVisibility,
|
|
134
|
-
params: {
|
|
135
|
-
segments: ['collections', collectionSlug, docID]
|
|
137
|
+
params: paramsOverride ?? {
|
|
138
|
+
segments: ['collections', collectionSlug, String(docID)]
|
|
136
139
|
},
|
|
137
140
|
payload,
|
|
138
141
|
redirectAfterCreate,
|
|
139
142
|
redirectAfterDelete,
|
|
140
143
|
redirectAfterDuplicate,
|
|
141
|
-
searchParams
|
|
144
|
+
searchParams,
|
|
145
|
+
versions,
|
|
142
146
|
viewType: 'document'
|
|
143
147
|
});
|
|
144
148
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleServerFunction.js","names":["getClientConfig","headers","getHeaders","getAccessResults","isEntityHidden","parseCookies","renderDocument","renderDocumentHandler","args","collectionSlug","disableActions","docID","drawerSlug","initialData","locale","overrideEntityVisibility","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","req","i18n","payload","config","user","cookies","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","clientConfig","importMap","preferences","preferencesKey","where","and","key","equals","id","then","res","value","visibleEntities","map","slug","hidden","filter","Boolean","globals","permissions","data","Document","documentSubViewType","initPageResult","collectionConfig","globalConfig","global","languageOptions","undefined","translations","params","segments","
|
|
1
|
+
{"version":3,"file":"handleServerFunction.js","names":["getClientConfig","headers","getHeaders","getAccessResults","isEntityHidden","parseCookies","renderDocument","renderDocumentHandler","args","collectionSlug","disableActions","docID","drawerSlug","initialData","locale","overrideEntityVisibility","paramsOverride","redirectAfterCreate","redirectAfterDelete","redirectAfterDuplicate","req","i18n","payload","config","user","searchParams","versions","cookies","incomingUserSlug","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","clientConfig","importMap","preferences","preferencesKey","where","and","key","equals","id","then","res","value","visibleEntities","map","slug","hidden","filter","Boolean","globals","permissions","data","Document","documentSubViewType","initPageResult","collectionConfig","globalConfig","global","languageOptions","undefined","translations","params","segments","String","viewType"],"sources":["../../../src/views/Document/handleServerFunction.tsx"],"sourcesContent":["import type { RenderDocumentServerFunction } from '@payloadcms/ui'\nimport type { DocumentPreferences, VisibleEntities } from 'payload'\n\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { headers as getHeaders } from 'next/headers.js'\nimport { getAccessResults, isEntityHidden, parseCookies } from 'payload'\n\nimport { renderDocument } from './index.js'\n\nexport const renderDocumentHandler: RenderDocumentServerFunction = async (args) => {\n const {\n collectionSlug,\n disableActions,\n docID,\n drawerSlug,\n initialData,\n locale,\n overrideEntityVisibility,\n paramsOverride,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n searchParams = {},\n versions,\n } = args\n\n const headers = await getHeaders()\n\n const cookies = parseCookies(headers)\n\n const incomingUserSlug = user?.collection\n\n const adminUserSlug = config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap: req.payload.importMap,\n })\n\n let preferences: DocumentPreferences\n\n if (docID) {\n const preferencesKey = `${collectionSlug}-edit-${docID}`\n\n preferences = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0]?.value as DocumentPreferences)\n }\n\n const visibleEntities: VisibleEntities = {\n collections: payload.config.collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: payload.config.globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n const permissions = await getAccessResults({\n req,\n })\n\n const { data, Document } = await renderDocument({\n clientConfig,\n disableActions,\n documentSubViewType: 'default',\n drawerSlug,\n i18n,\n importMap: payload.importMap,\n initialData,\n initPageResult: {\n collectionConfig: payload?.collections?.[collectionSlug]?.config,\n cookies,\n docID,\n globalConfig: payload.config.globals.find((global) => global.slug === collectionSlug),\n languageOptions: undefined, // TODO\n locale,\n permissions,\n req,\n translations: undefined, // TODO\n visibleEntities,\n },\n overrideEntityVisibility,\n params: paramsOverride ?? {\n segments: ['collections', collectionSlug, String(docID)],\n },\n payload,\n redirectAfterCreate,\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams,\n versions,\n viewType: 'document',\n })\n\n return {\n data,\n Document,\n preferences,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import type { AdminViewServerProps, Data } from 'payload';
|
|
1
|
+
import type { AdminViewServerProps, Data, DocumentViewClientProps, DocumentViewServerProps, EditViewComponent, PayloadComponent, RenderDocumentVersionsProperties } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { GenerateEditViewMetadata } from './getMetaBySegment.js';
|
|
4
4
|
export declare const generateMetadata: GenerateEditViewMetadata;
|
|
5
|
+
export type ViewToRender = EditViewComponent | PayloadComponent<DocumentViewServerProps> | React.FC | React.FC<DocumentViewClientProps>;
|
|
5
6
|
/**
|
|
6
7
|
* This function is responsible for rendering
|
|
7
8
|
* an Edit Document view on the server for both:
|
|
8
9
|
* - default document edit views
|
|
9
10
|
* - on-demand edit views within drawers
|
|
10
11
|
*/
|
|
11
|
-
export declare const renderDocument: ({ disableActions, documentSubViewType, drawerSlug, importMap, initialData, initPageResult, overrideEntityVisibility, params, redirectAfterCreate, redirectAfterDelete, redirectAfterDuplicate, searchParams, viewType, }: {
|
|
12
|
+
export declare const renderDocument: ({ disableActions, documentSubViewType, drawerSlug, importMap, initialData, initPageResult, overrideEntityVisibility, params, redirectAfterCreate, redirectAfterDelete, redirectAfterDuplicate, searchParams, versions, viewType, }: {
|
|
12
13
|
drawerSlug?: string;
|
|
13
14
|
overrideEntityVisibility?: boolean;
|
|
14
15
|
readonly redirectAfterCreate?: boolean;
|
|
15
16
|
readonly redirectAfterDelete?: boolean;
|
|
16
17
|
readonly redirectAfterDuplicate?: boolean;
|
|
18
|
+
versions?: RenderDocumentVersionsProperties;
|
|
17
19
|
} & AdminViewServerProps) => Promise<{
|
|
18
20
|
data: Data;
|
|
19
21
|
Document: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Document/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,IAAI,EACJ,uBAAuB,EACvB,uBAAuB,EAEvB,iBAAiB,EACjB,gBAAgB,EAChB,gCAAgC,EACjC,MAAM,SAAS,CAAA;AAShB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAarE,eAAO,MAAM,gBAAgB,EAAE,wBAAiE,CAAA;AAEhG,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,gBAAgB,CAAC,uBAAuB,CAAC,GACzC,KAAK,CAAC,EAAE,GACR,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAA;AAErC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,uOAexB;IACD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC,QAAQ,CAAC,EAAE,gCAAgC,CAAA;CAC5C,GAAG,oBAAoB,KAAG,OAAO,CAAC;IACjC,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,CAgSA,CAAA;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,+QAezD"}
|