@payloadcms/next 3.71.0-internal-debug.80dab4c → 3.71.0-internal.27e1e08
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/auth/login.js +58 -52
- package/dist/auth/login.js.map +1 -1
- package/dist/auth/logout.js +44 -39
- package/dist/auth/logout.js.map +1 -1
- package/dist/auth/refresh.js +47 -45
- package/dist/auth/refresh.js.map +1 -1
- package/dist/cjs/withPayload.cjs +23 -61
- package/dist/cjs/withPayload.cjs.map +2 -2
- package/dist/config.js +0 -1
- package/dist/config.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +15 -9
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +71 -40
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +59 -65
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +70 -80
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +23 -16
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +69 -61
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.js +28 -48
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/FormHeader/index.js +16 -30
- package/dist/elements/FormHeader/index.js.map +1 -1
- package/dist/elements/Logo/index.js +34 -19
- package/dist/elements/Logo/index.js.map +1 -1
- package/dist/elements/Nav/NavHamburger/index.js +44 -23
- package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +54 -28
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/SettingsMenuButton/index.js +39 -33
- package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
- package/dist/elements/Nav/getNavPrefs.js +22 -27
- package/dist/elements/Nav/getNavPrefs.js.map +1 -1
- package/dist/elements/Nav/index.client.js +118 -97
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.js +127 -148
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/exports/auth.js +0 -1
- package/dist/exports/auth.js.map +1 -1
- package/dist/exports/client.js +1 -1
- package/dist/exports/client.js.map +1 -1
- package/dist/exports/layouts.js +0 -1
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/routes.js +0 -1
- package/dist/exports/routes.js.map +1 -1
- package/dist/exports/rsc.js +0 -1
- package/dist/exports/rsc.js.map +1 -1
- package/dist/exports/templates.js +0 -1
- package/dist/exports/templates.js.map +1 -1
- package/dist/exports/utilities.js +12 -7
- package/dist/exports/utilities.js.map +1 -1
- package/dist/exports/views.js +0 -1
- package/dist/exports/views.js.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/layouts/Root/NestProviders.js +20 -21
- package/dist/layouts/Root/NestProviders.js.map +1 -1
- package/dist/layouts/Root/checkDependencies.js +41 -49
- package/dist/layouts/Root/checkDependencies.js.map +1 -1
- package/dist/layouts/Root/index.js +103 -128
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -5
- package/dist/routes/graphql/handler.js +122 -114
- package/dist/routes/graphql/handler.js.map +1 -1
- package/dist/routes/graphql/index.js +0 -1
- package/dist/routes/graphql/index.js.map +1 -1
- package/dist/routes/graphql/playground.js +27 -28
- package/dist/routes/graphql/playground.js.map +1 -1
- package/dist/routes/index.js +0 -1
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/rest/index.js +22 -23
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/routes/rest/og/image.js +79 -103
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.js +54 -59
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/templates/Default/NavHamburger/index.js +20 -12
- package/dist/templates/Default/NavHamburger/index.js.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +44 -20
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/index.js +116 -147
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/templates/Minimal/index.js +17 -26
- package/dist/templates/Minimal/index.js.map +1 -1
- package/dist/utilities/getExistingAuthToken.js +2 -3
- package/dist/utilities/getExistingAuthToken.js.map +1 -1
- package/dist/utilities/getNextRequestI18n.js +13 -12
- package/dist/utilities/getNextRequestI18n.js.map +1 -1
- package/dist/utilities/getPayloadHMR.js +5 -5
- package/dist/utilities/getPayloadHMR.js.map +1 -1
- package/dist/utilities/getPreferences.js +22 -27
- package/dist/utilities/getPreferences.js.map +1 -1
- package/dist/utilities/getRequestLocale.js +14 -13
- package/dist/utilities/getRequestLocale.js.map +1 -1
- package/dist/utilities/getRequestTheme.js +19 -19
- package/dist/utilities/getRequestTheme.js.map +1 -1
- package/dist/utilities/getRouteWithoutAdmin.js +5 -3
- package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
- package/dist/utilities/handleAuthRedirect.js +36 -22
- package/dist/utilities/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/handleServerFunctions.js +41 -34
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/initReq.js +96 -78
- package/dist/utilities/initReq.js.map +1 -1
- package/dist/utilities/isCustomAdminView.js +26 -22
- package/dist/utilities/isCustomAdminView.js.map +1 -1
- package/dist/utilities/isPublicAdminRoute.js +20 -26
- package/dist/utilities/isPublicAdminRoute.js.map +1 -1
- package/dist/utilities/meta.js +63 -68
- package/dist/utilities/meta.js.map +1 -1
- package/dist/utilities/selectiveCache.js +26 -25
- package/dist/utilities/selectiveCache.js.map +1 -1
- package/dist/utilities/setPayloadAuthCookie.js +22 -19
- package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
- package/dist/utilities/slugify.js +33 -24
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/utilities/timestamp.js +6 -7
- package/dist/utilities/timestamp.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.js +39 -17
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/RenderJSON/index.js +126 -171
- package/dist/views/API/RenderJSON/index.js.map +1 -1
- package/dist/views/API/index.client.js +197 -290
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.js +2 -7
- package/dist/views/API/index.js.map +1 -1
- package/dist/views/API/metadata.js +23 -18
- package/dist/views/API/metadata.js.map +1 -1
- package/dist/views/Account/ResetPreferences/index.js +102 -78
- package/dist/views/Account/ResetPreferences/index.js.map +1 -1
- package/dist/views/Account/Settings/LanguageSelector.js +47 -18
- package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
- package/dist/views/Account/Settings/index.js +25 -60
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +55 -38
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.client.js +32 -16
- package/dist/views/Account/index.client.js.map +1 -1
- package/dist/views/Account/index.js +158 -147
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/Account/metadata.js +12 -8
- package/dist/views/Account/metadata.js.map +1 -1
- package/dist/views/BrowseByFolder/buildView.js +157 -138
- package/dist/views/BrowseByFolder/buildView.js.map +1 -1
- package/dist/views/BrowseByFolder/index.js +16 -16
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/BrowseByFolder/metadata.js +15 -13
- package/dist/views/BrowseByFolder/metadata.js.map +1 -1
- package/dist/views/CollectionFolders/buildView.js +142 -122
- package/dist/views/CollectionFolders/buildView.js.map +1 -1
- package/dist/views/CollectionFolders/index.js +16 -16
- package/dist/views/CollectionFolders/index.js.map +1 -1
- package/dist/views/CollectionFolders/metadata.js +21 -18
- package/dist/views/CollectionFolders/metadata.js.map +1 -1
- package/dist/views/CollectionFolders/renderFolderViewSlots.js +61 -58
- package/dist/views/CollectionFolders/renderFolderViewSlots.js.map +1 -1
- package/dist/views/CollectionTrash/index.js +17 -17
- package/dist/views/CollectionTrash/index.js.map +1 -1
- package/dist/views/CollectionTrash/metadata.js +21 -18
- package/dist/views/CollectionTrash/metadata.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +103 -117
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.js +81 -87
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/CreateFirstUser/metadata.js +12 -8
- package/dist/views/CreateFirstUser/metadata.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +138 -147
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +405 -423
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.js +75 -72
- package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +89 -62
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +47 -40
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +65 -64
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +147 -164
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +30 -31
- package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +229 -223
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
- package/dist/views/Dashboard/Default/index.js +45 -59
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.js +42 -46
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Dashboard/metadata.js +14 -10
- package/dist/views/Dashboard/metadata.js.map +1 -1
- package/dist/views/Document/getCustomDocumentViewByKey.js +2 -3
- package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
- package/dist/views/Document/getCustomViewByRoute.js +30 -27
- package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Document/getDocPreferences.js +41 -40
- package/dist/views/Document/getDocPreferences.js.map +1 -1
- package/dist/views/Document/getDocumentData.js +55 -44
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Document/getDocumentPermissions.js +80 -77
- package/dist/views/Document/getDocumentPermissions.js.map +1 -1
- package/dist/views/Document/getDocumentView.js +283 -313
- package/dist/views/Document/getDocumentView.js.map +1 -1
- package/dist/views/Document/getIsLocked.js +66 -66
- package/dist/views/Document/getIsLocked.js.map +1 -1
- package/dist/views/Document/getMetaBySegment.js +136 -130
- package/dist/views/Document/getMetaBySegment.js.map +1 -1
- package/dist/views/Document/getVersions.js +195 -205
- package/dist/views/Document/getVersions.js.map +1 -1
- package/dist/views/Document/handleServerFunction.js +128 -103
- package/dist/views/Document/handleServerFunction.js.map +1 -1
- package/dist/views/Document/index.js +355 -316
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/metadata.js +1 -2
- package/dist/views/Document/metadata.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js +132 -121
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/Edit/index.js +6 -10
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/Edit/metadata.js +46 -36
- package/dist/views/Edit/metadata.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +164 -130
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.js +62 -79
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/ForgotPassword/metadata.js +12 -8
- package/dist/views/ForgotPassword/metadata.js.map +1 -1
- package/dist/views/List/createSerializableValue.js +11 -12
- package/dist/views/List/createSerializableValue.js.map +1 -1
- package/dist/views/List/enrichDocsWithVersionStatus.js +86 -86
- package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
- package/dist/views/List/extractRelationshipDisplayValue.js +14 -15
- package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
- package/dist/views/List/extractValueOrRelationshipID.js +15 -16
- package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
- package/dist/views/List/handleGroupBy.js +150 -133
- package/dist/views/List/handleGroupBy.js.map +1 -1
- package/dist/views/List/handleServerFunction.js +121 -98
- package/dist/views/List/handleServerFunction.js.map +1 -1
- package/dist/views/List/index.js +323 -305
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/metadata.js +20 -17
- package/dist/views/List/metadata.js.map +1 -1
- package/dist/views/List/renderListViewSlots.js +75 -82
- package/dist/views/List/renderListViewSlots.js.map +1 -1
- package/dist/views/List/resolveAllFilterOptions.js +45 -43
- package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
- package/dist/views/List/transformColumnsToSelect.js +8 -9
- package/dist/views/List/transformColumnsToSelect.js.map +1 -1
- package/dist/views/Login/LoginField/index.js +89 -57
- package/dist/views/Login/LoginField/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js +160 -107
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/index.js +85 -82
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Login/metadata.js +12 -8
- package/dist/views/Login/metadata.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js +120 -84
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.js +29 -29
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/Logout/metadata.js +11 -7
- package/dist/views/Logout/metadata.js.map +1 -1
- package/dist/views/NotFound/index.client.js +82 -71
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/NotFound/index.js +73 -72
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/NotFound/metadata.js +9 -7
- package/dist/views/NotFound/metadata.js.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.js +108 -97
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
- package/dist/views/ResetPassword/index.js +73 -93
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/ResetPassword/metadata.js +12 -8
- package/dist/views/ResetPassword/metadata.js.map +1 -1
- package/dist/views/Root/attachViewActions.js +23 -18
- package/dist/views/Root/attachViewActions.js.map +1 -1
- package/dist/views/Root/generateCustomViewMetadata.js +21 -19
- package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
- package/dist/views/Root/getCustomViewByKey.js +14 -12
- package/dist/views/Root/getCustomViewByKey.js.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.js +42 -31
- package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Root/getDocumentViewInfo.js +23 -24
- package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
- package/dist/views/Root/getRouteData.js +325 -333
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Root/index.js +270 -248
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Root/isPathMatchingRoute.js +26 -21
- package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
- package/dist/views/Root/metadata.js +181 -176
- package/dist/views/Root/metadata.js.map +1 -1
- package/dist/views/Unauthorized/index.js +46 -54
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Unauthorized/metadata.js +12 -8
- package/dist/views/Unauthorized/metadata.js.map +1 -1
- package/dist/views/Verify/index.client.js +43 -25
- package/dist/views/Verify/index.client.js.map +1 -1
- package/dist/views/Verify/index.js +64 -69
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Verify/metadata.js +12 -8
- package/dist/views/Verify/metadata.js.map +1 -1
- package/dist/views/Version/Default/SelectedLocalesContext.js +4 -4
- package/dist/views/Version/Default/SelectedLocalesContext.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +127 -86
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.js +236 -380
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/types.js +1 -2
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +119 -102
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +73 -78
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +408 -363
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +51 -40
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +67 -35
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +56 -59
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +117 -139
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +41 -36
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +178 -192
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +11 -17
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +73 -48
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +143 -132
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +81 -56
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +211 -252
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +22 -23
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +9 -12
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +228 -213
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +826 -1005
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +1 -2
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +43 -44
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js +22 -25
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +36 -32
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +129 -145
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
- package/dist/views/Version/Restore/index.js +93 -117
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +50 -33
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js +226 -170
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +50 -73
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/types.js +1 -2
- package/dist/views/Version/SelectComparison/types.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +32 -34
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +95 -104
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js +27 -23
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
- package/dist/views/Version/fetchVersions.js +138 -113
- package/dist/views/Version/fetchVersions.js.map +1 -1
- package/dist/views/Version/index.js +323 -325
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Version/metadata.js +50 -43
- package/dist/views/Version/metadata.js.map +1 -1
- package/dist/views/Versions/buildColumns.js +79 -95
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +38 -34
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +53 -32
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.js +8 -10
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/index.client.js +83 -106
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.js +143 -143
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/views/Versions/metadata.js +44 -37
- package/dist/views/Versions/metadata.js.map +1 -1
- package/dist/views/Versions/types.js +1 -2
- package/dist/views/Versions/types.js.map +1 -1
- package/dist/withPayload/withPayload.js +143 -198
- package/dist/withPayload/withPayload.js.map +1 -1
- package/dist/withPayload/withPayload.utils.js +95 -92
- package/dist/withPayload/withPayload.utils.js.map +1 -1
- package/dist/withPayload/withPayloadLegacy.js +40 -42
- package/dist/withPayload/withPayloadLegacy.js.map +1 -1
- package/package.json +7 -7
- package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +0 -38
- package/dist/elements/DocumentHeader/Tabs/index.scss +0 -54
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +0 -9
- package/dist/elements/DocumentHeader/index.scss +0 -64
- package/dist/elements/FormHeader/index.scss +0 -8
- package/dist/elements/Nav/NavWrapper/index.scss +0 -27
- package/dist/elements/Nav/SettingsMenuButton/index.scss +0 -11
- package/dist/elements/Nav/index.scss +0 -173
- package/dist/esbuildEntry.d.ts +0 -5
- package/dist/esbuildEntry.d.ts.map +0 -1
- package/dist/esbuildEntry.js +0 -6
- package/dist/esbuildEntry.js.map +0 -1
- package/dist/templates/Default/Wrapper/index.scss +0 -58
- package/dist/templates/Default/index.scss +0 -79
- package/dist/templates/Minimal/index.scss +0 -30
- package/dist/views/API/RenderJSON/index.scss +0 -129
- package/dist/views/API/index.scss +0 -119
- package/dist/views/Account/Settings/index.scss +0 -48
- package/dist/views/CreateFirstUser/index.scss +0 -21
- package/dist/views/Dashboard/Default/ModularDashboard/index.scss +0 -316
- package/dist/views/Login/LoginForm/index.scss +0 -10
- package/dist/views/Login/index.scss +0 -10
- package/dist/views/Logout/index.scss +0 -25
- package/dist/views/NotFound/index.scss +0 -57
- package/dist/views/ResetPassword/index.scss +0 -11
- package/dist/views/Unauthorized/index.scss +0 -14
- package/dist/views/Verify/index.scss +0 -16
- package/dist/views/Version/Default/index.scss +0 -170
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +0 -81
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +0 -12
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +0 -9
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +0 -59
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +0 -91
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +0 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +0 -9
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +0 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +0 -121
- package/dist/views/Version/RenderFieldsToDiff/index.scss +0 -24
- package/dist/views/Version/Restore/index.scss +0 -84
- package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +0 -18
- package/dist/views/Version/SelectComparison/index.scss +0 -9
- package/dist/views/Version/VersionPillLabel/index.scss +0 -26
- package/dist/views/Versions/cells/AutosaveCell/index.scss +0 -9
- package/dist/views/Versions/index.scss +0 -110
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"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 { UnauthorizedViewWithGutter } from '../Unauthorized/index.js'\nimport { VersionView as DefaultVersionView } from '../Version/index.js'\nimport { VersionsView as DefaultVersionsView } from '../Versions/index.js'\nimport { getCustomDocumentViewByKey } from './getCustomDocumentViewByKey.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 = getCustomDocumentViewByKey(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 = getCustomDocumentViewByKey(views, 'default') || DefaultEditView\n }\n\n break\n }\n }\n break\n }\n\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/<custom-segment>\n // --> /collections/:collectionSlug/trash/:id\n case 4: {\n // --> /collections/:collectionSlug/trash/:id\n if (segment3 === 'trash' && segment4) {\n View = getCustomDocumentViewByKey(views, 'default') || DefaultEditView\n break\n }\n switch (segment4) {\n // --> /collections/:collectionSlug/:id/api\n case 'api': {\n if (collectionConfig?.admin?.hideAPIURL !== true) {\n View = getCustomDocumentViewByKey(views, 'api') || DefaultAPIView\n }\n break\n }\n\n case 'versions': {\n // --> /collections/:collectionSlug/:id/versions\n if (docPermissions?.readVersions) {\n View = getCustomDocumentViewByKey(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/trash/:id/api\n // --> /collections/:collectionSlug/trash/:id/versions\n // --> /collections/:collectionSlug/trash/:id/<custom-segment>\n // --> /collections/:collectionSlug/:id/versions/:version\n case 5: {\n // --> /collections/:slug/trash/:id/api\n if (segment3 === 'trash') {\n switch (segment5) {\n case 'api': {\n if (collectionConfig?.admin?.hideAPIURL !== true) {\n View = getCustomDocumentViewByKey(views, 'api') || DefaultAPIView\n }\n break\n }\n // --> /collections/:slug/trash/:id/versions\n case 'versions': {\n if (docPermissions?.readVersions) {\n View = getCustomDocumentViewByKey(views, 'versions') || DefaultVersionsView\n } else {\n View = UnauthorizedViewWithGutter\n }\n break\n }\n\n default: {\n View = getCustomDocumentViewByKey(views, 'default') || DefaultEditView\n break\n }\n }\n // --> /collections/:collectionSlug/:id/versions/:version\n } else if (segment4 === 'versions') {\n if (docPermissions?.readVersions) {\n View = getCustomDocumentViewByKey(views, 'version') || DefaultVersionView\n } else {\n View = UnauthorizedViewWithGutter\n }\n } else {\n // --> /collections/:collectionSlug/:id/<custom>/<custom>\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 // --> /collections/:collectionSlug/trash/:id/versions/:version\n // --> /collections/:collectionSlug/:id/<custom>/<custom>/<custom...>\n default: {\n // --> /collections/:collectionSlug/trash/:id/versions/:version\n const isTrashedVersionView = segment3 === 'trash' && segment5 === 'versions'\n\n if (isTrashedVersionView) {\n if (docPermissions?.readVersions) {\n View = getCustomDocumentViewByKey(views, 'version') || DefaultVersionView\n } else {\n View = UnauthorizedViewWithGutter\n }\n } else {\n // --> /collections/:collectionSlug/:id/<custom>/<custom>/<custom...>\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 = getCustomDocumentViewByKey(views, 'default') || DefaultEditView\n break\n }\n\n case 3: {\n // --> /globals/:globalSlug/api\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 = getCustomDocumentViewByKey(views, 'api') || DefaultAPIView\n }\n\n break\n }\n\n case 'versions': {\n // --> /globals/:globalSlug/versions\n if (docPermissions?.readVersions) {\n View = getCustomDocumentViewByKey(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 = getCustomDocumentViewByKey(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"],"names":["APIView","DefaultAPIView","EditView","DefaultEditView","UnauthorizedViewWithGutter","VersionView","DefaultVersionView","VersionsView","DefaultVersionsView","getCustomDocumentViewByKey","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","readVersions","isTrashedVersionView","globalEntity","globalSlug"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getDocumentView.js","names":["APIView","DefaultAPIView","EditView","DefaultEditView","UnauthorizedViewWithGutter","VersionView","DefaultVersionView","VersionsView","DefaultVersionsView","getCustomDocumentViewByKey","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","readVersions","isTrashedVersionView","globalEntity","globalSlug"],"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 { UnauthorizedViewWithGutter } from '../Unauthorized/index.js'\nimport { VersionView as DefaultVersionView } from '../Version/index.js'\nimport { VersionsView as DefaultVersionsView } from '../Versions/index.js'\nimport { getCustomDocumentViewByKey } from './getCustomDocumentViewByKey.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 = getCustomDocumentViewByKey(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 = getCustomDocumentViewByKey(views, 'default') || DefaultEditView\n }\n\n break\n }\n }\n break\n }\n\n // --> /collections/:collectionSlug/:id/api\n // --> /collections/:collectionSlug/:id/versions\n // --> /collections/:collectionSlug/:id/<custom-segment>\n // --> /collections/:collectionSlug/trash/:id\n case 4: {\n // --> /collections/:collectionSlug/trash/:id\n if (segment3 === 'trash' && segment4) {\n View = getCustomDocumentViewByKey(views, 'default') || DefaultEditView\n break\n }\n switch (segment4) {\n // --> /collections/:collectionSlug/:id/api\n case 'api': {\n if (collectionConfig?.admin?.hideAPIURL !== true) {\n View = getCustomDocumentViewByKey(views, 'api') || DefaultAPIView\n }\n break\n }\n\n case 'versions': {\n // --> /collections/:collectionSlug/:id/versions\n if (docPermissions?.readVersions) {\n View = getCustomDocumentViewByKey(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/trash/:id/api\n // --> /collections/:collectionSlug/trash/:id/versions\n // --> /collections/:collectionSlug/trash/:id/<custom-segment>\n // --> /collections/:collectionSlug/:id/versions/:version\n case 5: {\n // --> /collections/:slug/trash/:id/api\n if (segment3 === 'trash') {\n switch (segment5) {\n case 'api': {\n if (collectionConfig?.admin?.hideAPIURL !== true) {\n View = getCustomDocumentViewByKey(views, 'api') || DefaultAPIView\n }\n break\n }\n // --> /collections/:slug/trash/:id/versions\n case 'versions': {\n if (docPermissions?.readVersions) {\n View = getCustomDocumentViewByKey(views, 'versions') || DefaultVersionsView\n } else {\n View = UnauthorizedViewWithGutter\n }\n break\n }\n\n default: {\n View = getCustomDocumentViewByKey(views, 'default') || DefaultEditView\n break\n }\n }\n // --> /collections/:collectionSlug/:id/versions/:version\n } else if (segment4 === 'versions') {\n if (docPermissions?.readVersions) {\n View = getCustomDocumentViewByKey(views, 'version') || DefaultVersionView\n } else {\n View = UnauthorizedViewWithGutter\n }\n } else {\n // --> /collections/:collectionSlug/:id/<custom>/<custom>\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 // --> /collections/:collectionSlug/trash/:id/versions/:version\n // --> /collections/:collectionSlug/:id/<custom>/<custom>/<custom...>\n default: {\n // --> /collections/:collectionSlug/trash/:id/versions/:version\n const isTrashedVersionView = segment3 === 'trash' && segment5 === 'versions'\n\n if (isTrashedVersionView) {\n if (docPermissions?.readVersions) {\n View = getCustomDocumentViewByKey(views, 'version') || DefaultVersionView\n } else {\n View = UnauthorizedViewWithGutter\n }\n } else {\n // --> /collections/:collectionSlug/:id/<custom>/<custom>/<custom...>\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 = getCustomDocumentViewByKey(views, 'default') || DefaultEditView\n break\n }\n\n case 3: {\n // --> /globals/:globalSlug/api\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 = getCustomDocumentViewByKey(views, 'api') || DefaultAPIView\n }\n\n break\n }\n\n case 'versions': {\n // --> /globals/:globalSlug/versions\n if (docPermissions?.readVersions) {\n View = getCustomDocumentViewByKey(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 = getCustomDocumentViewByKey(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,72 +1,72 @@
|
|
|
1
1
|
import { sanitizeID } from '@payloadcms/ui/shared';
|
|
2
2
|
import { extractID } from 'payload/shared';
|
|
3
|
-
export const getIsLocked = async ({
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
// Default 5 minutes in seconds
|
|
14
|
-
const lockDuration = typeof entityConfig.lockDocuments === 'object' ? entityConfig.lockDocuments.duration : lockDurationDefault;
|
|
15
|
-
const lockDurationInMilliseconds = lockDuration * 1000;
|
|
16
|
-
const now = new Date().getTime();
|
|
17
|
-
if (globalConfig) {
|
|
18
|
-
where.and = [
|
|
19
|
-
{
|
|
20
|
-
globalSlug: {
|
|
21
|
-
equals: globalConfig.slug
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
updatedAt: {
|
|
26
|
-
greater_than: new Date(now - lockDurationInMilliseconds)
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
];
|
|
30
|
-
} else {
|
|
31
|
-
where.and = [
|
|
32
|
-
{
|
|
33
|
-
'document.value': {
|
|
34
|
-
equals: sanitizeID(id)
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
'document.relationTo': {
|
|
39
|
-
equals: collectionConfig.slug
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
updatedAt: {
|
|
44
|
-
greater_than: new Date(now - lockDurationInMilliseconds)
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
];
|
|
48
|
-
}
|
|
49
|
-
const { docs } = await req.payload.find({
|
|
50
|
-
collection: 'payload-locked-documents',
|
|
51
|
-
depth: 1,
|
|
52
|
-
overrideAccess: false,
|
|
53
|
-
req,
|
|
54
|
-
where
|
|
55
|
-
});
|
|
56
|
-
if (docs.length > 0) {
|
|
57
|
-
const currentEditor = docs[0].user?.value;
|
|
58
|
-
const lastUpdateTime = new Date(docs[0].updatedAt).getTime();
|
|
59
|
-
if (extractID(currentEditor) !== req.user.id) {
|
|
60
|
-
return {
|
|
61
|
-
currentEditor,
|
|
62
|
-
isLocked: true,
|
|
63
|
-
lastUpdateTime
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
}
|
|
3
|
+
export const getIsLocked = async ({
|
|
4
|
+
id,
|
|
5
|
+
collectionConfig,
|
|
6
|
+
globalConfig,
|
|
7
|
+
isEditing,
|
|
8
|
+
req
|
|
9
|
+
}) => {
|
|
10
|
+
const entityConfig = collectionConfig || globalConfig;
|
|
11
|
+
const entityHasLockingEnabled = entityConfig?.lockDocuments !== undefined ? entityConfig?.lockDocuments : true;
|
|
12
|
+
if (!entityHasLockingEnabled || !isEditing) {
|
|
67
13
|
return {
|
|
68
|
-
|
|
14
|
+
isLocked: false
|
|
69
15
|
};
|
|
16
|
+
}
|
|
17
|
+
const where = {};
|
|
18
|
+
const lockDurationDefault = 300 // Default 5 minutes in seconds
|
|
19
|
+
;
|
|
20
|
+
const lockDuration = typeof entityConfig.lockDocuments === 'object' ? entityConfig.lockDocuments.duration : lockDurationDefault;
|
|
21
|
+
const lockDurationInMilliseconds = lockDuration * 1000;
|
|
22
|
+
const now = new Date().getTime();
|
|
23
|
+
if (globalConfig) {
|
|
24
|
+
where.and = [{
|
|
25
|
+
globalSlug: {
|
|
26
|
+
equals: globalConfig.slug
|
|
27
|
+
}
|
|
28
|
+
}, {
|
|
29
|
+
updatedAt: {
|
|
30
|
+
greater_than: new Date(now - lockDurationInMilliseconds)
|
|
31
|
+
}
|
|
32
|
+
}];
|
|
33
|
+
} else {
|
|
34
|
+
where.and = [{
|
|
35
|
+
'document.value': {
|
|
36
|
+
equals: sanitizeID(id)
|
|
37
|
+
}
|
|
38
|
+
}, {
|
|
39
|
+
'document.relationTo': {
|
|
40
|
+
equals: collectionConfig.slug
|
|
41
|
+
}
|
|
42
|
+
}, {
|
|
43
|
+
updatedAt: {
|
|
44
|
+
greater_than: new Date(now - lockDurationInMilliseconds)
|
|
45
|
+
}
|
|
46
|
+
}];
|
|
47
|
+
}
|
|
48
|
+
const {
|
|
49
|
+
docs
|
|
50
|
+
} = await req.payload.find({
|
|
51
|
+
collection: 'payload-locked-documents',
|
|
52
|
+
depth: 1,
|
|
53
|
+
overrideAccess: false,
|
|
54
|
+
req,
|
|
55
|
+
where
|
|
56
|
+
});
|
|
57
|
+
if (docs.length > 0) {
|
|
58
|
+
const currentEditor = docs[0].user?.value;
|
|
59
|
+
const lastUpdateTime = new Date(docs[0].updatedAt).getTime();
|
|
60
|
+
if (extractID(currentEditor) !== req.user.id) {
|
|
61
|
+
return {
|
|
62
|
+
currentEditor,
|
|
63
|
+
isLocked: true,
|
|
64
|
+
lastUpdateTime
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
isLocked: false
|
|
70
|
+
};
|
|
70
71
|
};
|
|
71
|
-
|
|
72
72
|
//# sourceMappingURL=getIsLocked.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/views/Document/getIsLocked.ts"],"sourcesContent":["import type {\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypedUser,\n Where,\n} from 'payload'\n\nimport { sanitizeID } from '@payloadcms/ui/shared'\nimport { extractID } from 'payload/shared'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n isEditing: boolean\n req: PayloadRequest\n}\n\ntype Result = Promise<{\n currentEditor?: TypedUser\n isLocked: boolean\n lastUpdateTime?: number\n}>\n\nexport const getIsLocked = async ({\n id,\n collectionConfig,\n globalConfig,\n isEditing,\n req,\n}: Args): Result => {\n const entityConfig = collectionConfig || globalConfig\n\n const entityHasLockingEnabled =\n entityConfig?.lockDocuments !== undefined ? entityConfig?.lockDocuments : true\n\n if (!entityHasLockingEnabled || !isEditing) {\n return {\n isLocked: false,\n }\n }\n\n const where: Where = {}\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof entityConfig.lockDocuments === 'object'\n ? entityConfig.lockDocuments.duration\n : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const now = new Date().getTime()\n\n if (globalConfig) {\n where.and = [\n {\n globalSlug: {\n equals: globalConfig.slug,\n },\n },\n {\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds),\n },\n },\n ]\n } else {\n where.and = [\n {\n 'document.value': {\n equals: sanitizeID(id),\n },\n },\n {\n 'document.relationTo': {\n equals: collectionConfig.slug,\n },\n },\n {\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds),\n },\n },\n ]\n }\n\n const { docs } = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n overrideAccess: false,\n req,\n where,\n })\n\n if (docs.length > 0) {\n const currentEditor = docs[0].user?.value\n const lastUpdateTime = new Date(docs[0].updatedAt).getTime()\n\n if (extractID(currentEditor) !== req.user.id) {\n return {\n currentEditor,\n isLocked: true,\n lastUpdateTime,\n }\n }\n }\n\n return {\n isLocked: false,\n }\n}\n"],"
|
|
1
|
+
{"version":3,"file":"getIsLocked.js","names":["sanitizeID","extractID","getIsLocked","id","collectionConfig","globalConfig","isEditing","req","entityConfig","entityHasLockingEnabled","lockDocuments","undefined","isLocked","where","lockDurationDefault","lockDuration","duration","lockDurationInMilliseconds","now","Date","getTime","and","globalSlug","equals","slug","updatedAt","greater_than","docs","payload","find","collection","depth","overrideAccess","length","currentEditor","user","value","lastUpdateTime"],"sources":["../../../src/views/Document/getIsLocked.ts"],"sourcesContent":["import type {\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TypedUser,\n Where,\n} from 'payload'\n\nimport { sanitizeID } from '@payloadcms/ui/shared'\nimport { extractID } from 'payload/shared'\n\ntype Args = {\n collectionConfig?: SanitizedCollectionConfig\n globalConfig?: SanitizedGlobalConfig\n id?: number | string\n isEditing: boolean\n req: PayloadRequest\n}\n\ntype Result = Promise<{\n currentEditor?: TypedUser\n isLocked: boolean\n lastUpdateTime?: number\n}>\n\nexport const getIsLocked = async ({\n id,\n collectionConfig,\n globalConfig,\n isEditing,\n req,\n}: Args): Result => {\n const entityConfig = collectionConfig || globalConfig\n\n const entityHasLockingEnabled =\n entityConfig?.lockDocuments !== undefined ? entityConfig?.lockDocuments : true\n\n if (!entityHasLockingEnabled || !isEditing) {\n return {\n isLocked: false,\n }\n }\n\n const where: Where = {}\n\n const lockDurationDefault = 300 // Default 5 minutes in seconds\n const lockDuration =\n typeof entityConfig.lockDocuments === 'object'\n ? entityConfig.lockDocuments.duration\n : lockDurationDefault\n const lockDurationInMilliseconds = lockDuration * 1000\n\n const now = new Date().getTime()\n\n if (globalConfig) {\n where.and = [\n {\n globalSlug: {\n equals: globalConfig.slug,\n },\n },\n {\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds),\n },\n },\n ]\n } else {\n where.and = [\n {\n 'document.value': {\n equals: sanitizeID(id),\n },\n },\n {\n 'document.relationTo': {\n equals: collectionConfig.slug,\n },\n },\n {\n updatedAt: {\n greater_than: new Date(now - lockDurationInMilliseconds),\n },\n },\n ]\n }\n\n const { docs } = await req.payload.find({\n collection: 'payload-locked-documents',\n depth: 1,\n overrideAccess: false,\n req,\n where,\n })\n\n if (docs.length > 0) {\n const currentEditor = docs[0].user?.value\n const lastUpdateTime = new Date(docs[0].updatedAt).getTime()\n\n if (extractID(currentEditor) !== req.user.id) {\n return {\n currentEditor,\n isLocked: true,\n lastUpdateTime,\n }\n }\n }\n\n return {\n isLocked: false,\n }\n}\n"],"mappings":"AAQA,SAASA,UAAU,QAAQ;AAC3B,SAASC,SAAS,QAAQ;AAgB1B,OAAO,MAAMC,WAAA,GAAc,MAAAA,CAAO;EAChCC,EAAE;EACFC,gBAAgB;EAChBC,YAAY;EACZC,SAAS;EACTC;AAAG,CACE;EACL,MAAMC,YAAA,GAAeJ,gBAAA,IAAoBC,YAAA;EAEzC,MAAMI,uBAAA,GACJD,YAAA,EAAcE,aAAA,KAAkBC,SAAA,GAAYH,YAAA,EAAcE,aAAA,GAAgB;EAE5E,IAAI,CAACD,uBAAA,IAA2B,CAACH,SAAA,EAAW;IAC1C,OAAO;MACLM,QAAA,EAAU;IACZ;EACF;EAEA,MAAMC,KAAA,GAAe,CAAC;EAEtB,MAAMC,mBAAA,GAAsB,IAAI;EAAA;EAChC,MAAMC,YAAA,GACJ,OAAOP,YAAA,CAAaE,aAAa,KAAK,WAClCF,YAAA,CAAaE,aAAa,CAACM,QAAQ,GACnCF,mBAAA;EACN,MAAMG,0BAAA,GAA6BF,YAAA,GAAe;EAElD,MAAMG,GAAA,GAAM,IAAIC,IAAA,GAAOC,OAAO;EAE9B,IAAIf,YAAA,EAAc;IAChBQ,KAAA,CAAMQ,GAAG,GAAG,CACV;MACEC,UAAA,EAAY;QACVC,MAAA,EAAQlB,YAAA,CAAamB;MACvB;IACF,GACA;MACEC,SAAA,EAAW;QACTC,YAAA,EAAc,IAAIP,IAAA,CAAKD,GAAA,GAAMD,0BAAA;MAC/B;IACF,EACD;EACH,OAAO;IACLJ,KAAA,CAAMQ,GAAG,GAAG,CACV;MACE,kBAAkB;QAChBE,MAAA,EAAQvB,UAAA,CAAWG,EAAA;MACrB;IACF,GACA;MACE,uBAAuB;QACrBoB,MAAA,EAAQnB,gBAAA,CAAiBoB;MAC3B;IACF,GACA;MACEC,SAAA,EAAW;QACTC,YAAA,EAAc,IAAIP,IAAA,CAAKD,GAAA,GAAMD,0BAAA;MAC/B;IACF,EACD;EACH;EAEA,MAAM;IAAEU;EAAI,CAAE,GAAG,MAAMpB,GAAA,CAAIqB,OAAO,CAACC,IAAI,CAAC;IACtCC,UAAA,EAAY;IACZC,KAAA,EAAO;IACPC,cAAA,EAAgB;IAChBzB,GAAA;IACAM;EACF;EAEA,IAAIc,IAAA,CAAKM,MAAM,GAAG,GAAG;IACnB,MAAMC,aAAA,GAAgBP,IAAI,CAAC,EAAE,CAACQ,IAAI,EAAEC,KAAA;IACpC,MAAMC,cAAA,GAAiB,IAAIlB,IAAA,CAAKQ,IAAI,CAAC,EAAE,CAACF,SAAS,EAAEL,OAAO;IAE1D,IAAInB,SAAA,CAAUiC,aAAA,MAAmB3B,GAAA,CAAI4B,IAAI,CAAChC,EAAE,EAAE;MAC5C,OAAO;QACL+B,aAAA;QACAtB,QAAA,EAAU;QACVyB;MACF;IACF;EACF;EAEA,OAAO;IACLzB,QAAA,EAAU;EACZ;AACF","ignoreList":[]}
|
|
@@ -5,140 +5,146 @@ import { generateNotFoundViewMetadata } from '../NotFound/metadata.js';
|
|
|
5
5
|
import { generateVersionViewMetadata } from '../Version/metadata.js';
|
|
6
6
|
import { generateVersionsViewMetadata } from '../Versions/metadata.js';
|
|
7
7
|
import { getDocumentView } from './getDocumentView.js';
|
|
8
|
-
export const getMetaBySegment = async ({
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
// `/:collection/:id/:view`
|
|
28
|
-
if (params.segments.length === 4) {
|
|
29
|
-
switch(params.segments[3]){
|
|
30
|
-
case 'api':
|
|
31
|
-
// `/:collection/:id/api`
|
|
32
|
-
fn = generateAPIViewMetadata;
|
|
33
|
-
break;
|
|
34
|
-
case 'versions':
|
|
35
|
-
// `/:collection/:id/versions`
|
|
36
|
-
fn = generateVersionsViewMetadata;
|
|
37
|
-
break;
|
|
38
|
-
default:
|
|
39
|
-
break;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
// `/:collection/:id/:slug-1/:slug-2`
|
|
43
|
-
if (params.segments.length === 5) {
|
|
44
|
-
switch(params.segments[3]){
|
|
45
|
-
case 'versions':
|
|
46
|
-
// `/:collection/:id/versions/:version`
|
|
47
|
-
fn = generateVersionViewMetadata;
|
|
48
|
-
break;
|
|
49
|
-
default:
|
|
50
|
-
break;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
// `/collections/:collection/trash/:id/:view`
|
|
54
|
-
if (segments.length === 5 && segments[2] === 'trash') {
|
|
55
|
-
switch(segments[4]){
|
|
56
|
-
case 'api':
|
|
57
|
-
fn = generateAPIViewMetadata;
|
|
58
|
-
break;
|
|
59
|
-
case 'versions':
|
|
60
|
-
fn = generateVersionsViewMetadata;
|
|
61
|
-
break;
|
|
62
|
-
default:
|
|
63
|
-
break;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
// `/collections/:collection/trash/:id/versions/:versionID`
|
|
67
|
-
if (segments.length === 6 && segments[2] === 'trash' && segments[4] === 'versions') {
|
|
68
|
-
fn = generateVersionViewMetadata;
|
|
69
|
-
}
|
|
8
|
+
export const getMetaBySegment = async ({
|
|
9
|
+
collectionConfig,
|
|
10
|
+
config,
|
|
11
|
+
globalConfig,
|
|
12
|
+
params
|
|
13
|
+
}) => {
|
|
14
|
+
const {
|
|
15
|
+
segments
|
|
16
|
+
} = params;
|
|
17
|
+
let fn = null;
|
|
18
|
+
const [segmentOne] = segments;
|
|
19
|
+
const isCollection = segmentOne === 'collections';
|
|
20
|
+
const isGlobal = segmentOne === 'globals';
|
|
21
|
+
const isEditing = isGlobal || Boolean(isCollection && segments?.length > 2 && segments[2] !== 'create');
|
|
22
|
+
if (isCollection) {
|
|
23
|
+
// `/:collection/:id`
|
|
24
|
+
if (params.segments.length === 3) {
|
|
25
|
+
fn = generateEditViewMetadata;
|
|
70
26
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
if (params.segments?.length === 3) {
|
|
78
|
-
switch(params.segments[2]){
|
|
79
|
-
case 'api':
|
|
80
|
-
// `/:global/api`
|
|
81
|
-
fn = generateAPIViewMetadata;
|
|
82
|
-
break;
|
|
83
|
-
case 'versions':
|
|
84
|
-
// `/:global/versions`
|
|
85
|
-
fn = generateVersionsViewMetadata;
|
|
86
|
-
break;
|
|
87
|
-
default:
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
// `/:global/versions/:version`
|
|
92
|
-
if (params.segments?.length === 4 && params.segments[2] === 'versions') {
|
|
93
|
-
fn = generateVersionViewMetadata;
|
|
94
|
-
}
|
|
27
|
+
// `/collections/:collection/trash/:id`
|
|
28
|
+
if (segments.length === 4 && segments[2] === 'trash') {
|
|
29
|
+
fn = args => generateEditViewMetadata({
|
|
30
|
+
...args,
|
|
31
|
+
isReadOnly: true
|
|
32
|
+
});
|
|
95
33
|
}
|
|
96
|
-
|
|
97
|
-
|
|
34
|
+
// `/:collection/:id/:view`
|
|
35
|
+
if (params.segments.length === 4) {
|
|
36
|
+
switch (params.segments[3]) {
|
|
37
|
+
case 'api':
|
|
38
|
+
// `/:collection/:id/api`
|
|
39
|
+
fn = generateAPIViewMetadata;
|
|
40
|
+
break;
|
|
41
|
+
case 'versions':
|
|
42
|
+
// `/:collection/:id/versions`
|
|
43
|
+
fn = generateVersionsViewMetadata;
|
|
44
|
+
break;
|
|
45
|
+
default:
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
// `/:collection/:id/:slug-1/:slug-2`
|
|
50
|
+
if (params.segments.length === 5) {
|
|
51
|
+
switch (params.segments[3]) {
|
|
52
|
+
case 'versions':
|
|
53
|
+
// `/:collection/:id/versions/:version`
|
|
54
|
+
fn = generateVersionViewMetadata;
|
|
55
|
+
break;
|
|
56
|
+
default:
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// `/collections/:collection/trash/:id/:view`
|
|
61
|
+
if (segments.length === 5 && segments[2] === 'trash') {
|
|
62
|
+
switch (segments[4]) {
|
|
63
|
+
case 'api':
|
|
64
|
+
fn = generateAPIViewMetadata;
|
|
65
|
+
break;
|
|
66
|
+
case 'versions':
|
|
67
|
+
fn = generateVersionsViewMetadata;
|
|
68
|
+
break;
|
|
69
|
+
default:
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// `/collections/:collection/trash/:id/versions/:versionID`
|
|
74
|
+
if (segments.length === 6 && segments[2] === 'trash' && segments[4] === 'versions') {
|
|
75
|
+
fn = generateVersionViewMetadata;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (isGlobal) {
|
|
79
|
+
// `/:global`
|
|
80
|
+
if (params.segments?.length === 2) {
|
|
81
|
+
fn = generateEditViewMetadata;
|
|
82
|
+
}
|
|
83
|
+
// `/:global/:view`
|
|
84
|
+
if (params.segments?.length === 3) {
|
|
85
|
+
switch (params.segments[2]) {
|
|
86
|
+
case 'api':
|
|
87
|
+
// `/:global/api`
|
|
88
|
+
fn = generateAPIViewMetadata;
|
|
89
|
+
break;
|
|
90
|
+
case 'versions':
|
|
91
|
+
// `/:global/versions`
|
|
92
|
+
fn = generateVersionsViewMetadata;
|
|
93
|
+
break;
|
|
94
|
+
default:
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// `/:global/versions/:version`
|
|
99
|
+
if (params.segments?.length === 4 && params.segments[2] === 'versions') {
|
|
100
|
+
fn = generateVersionViewMetadata;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const i18n = await getNextRequestI18n({
|
|
104
|
+
config
|
|
105
|
+
});
|
|
106
|
+
if (typeof fn === 'function') {
|
|
107
|
+
return fn({
|
|
108
|
+
collectionConfig,
|
|
109
|
+
config,
|
|
110
|
+
globalConfig,
|
|
111
|
+
i18n,
|
|
112
|
+
isEditing
|
|
98
113
|
});
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
114
|
+
} else {
|
|
115
|
+
const {
|
|
116
|
+
viewKey
|
|
117
|
+
} = getDocumentView({
|
|
118
|
+
collectionConfig,
|
|
119
|
+
config,
|
|
120
|
+
docPermissions: {
|
|
121
|
+
create: true,
|
|
122
|
+
delete: true,
|
|
123
|
+
fields: true,
|
|
124
|
+
read: true,
|
|
125
|
+
readVersions: true,
|
|
126
|
+
update: true
|
|
127
|
+
},
|
|
128
|
+
globalConfig,
|
|
129
|
+
routeSegments: typeof segments === 'string' ? [segments] : segments
|
|
130
|
+
});
|
|
131
|
+
if (viewKey) {
|
|
132
|
+
const customViewConfig = collectionConfig?.admin?.components?.views?.edit?.[viewKey] || globalConfig?.admin?.components?.views?.edit?.[viewKey];
|
|
133
|
+
if (customViewConfig) {
|
|
134
|
+
return generateEditViewMetadata({
|
|
135
|
+
collectionConfig,
|
|
136
|
+
config,
|
|
137
|
+
globalConfig,
|
|
138
|
+
i18n,
|
|
139
|
+
isEditing,
|
|
140
|
+
view: viewKey
|
|
123
141
|
});
|
|
124
|
-
|
|
125
|
-
const customViewConfig = collectionConfig?.admin?.components?.views?.edit?.[viewKey] || globalConfig?.admin?.components?.views?.edit?.[viewKey];
|
|
126
|
-
if (customViewConfig) {
|
|
127
|
-
return generateEditViewMetadata({
|
|
128
|
-
collectionConfig,
|
|
129
|
-
config,
|
|
130
|
-
globalConfig,
|
|
131
|
-
i18n,
|
|
132
|
-
isEditing,
|
|
133
|
-
view: viewKey
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
}
|
|
142
|
+
}
|
|
137
143
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
144
|
+
}
|
|
145
|
+
return generateNotFoundViewMetadata({
|
|
146
|
+
config,
|
|
147
|
+
i18n
|
|
148
|
+
});
|
|
142
149
|
};
|
|
143
|
-
|
|
144
150
|
//# sourceMappingURL=getMetaBySegment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"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 { 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 isReadOnly?: boolean\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 // `/collections/:collection/trash/:id`\n if (segments.length === 4 && segments[2] === 'trash') {\n fn = (args) => generateEditViewMetadata({ ...args, isReadOnly: true })\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 '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 // `/collections/:collection/trash/:id/:view`\n if (segments.length === 5 && segments[2] === 'trash') {\n switch (segments[4]) {\n case 'api':\n fn = generateAPIViewMetadata\n break\n case 'versions':\n fn = generateVersionsViewMetadata\n break\n default:\n break\n }\n }\n\n // `/collections/:collection/trash/:id/versions/:versionID`\n if (segments.length === 6 && segments[2] === 'trash' && segments[4] === 'versions') {\n fn = generateVersionViewMetadata\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 '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"],"
|
|
1
|
+
{"version":3,"file":"getMetaBySegment.js","names":["getNextRequestI18n","generateAPIViewMetadata","generateEditViewMetadata","generateNotFoundViewMetadata","generateVersionViewMetadata","generateVersionsViewMetadata","getDocumentView","getMetaBySegment","collectionConfig","config","globalConfig","params","segments","fn","segmentOne","isCollection","isGlobal","isEditing","Boolean","length","args","isReadOnly","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 { 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 isReadOnly?: boolean\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 // `/collections/:collection/trash/:id`\n if (segments.length === 4 && segments[2] === 'trash') {\n fn = (args) => generateEditViewMetadata({ ...args, isReadOnly: true })\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 '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 // `/collections/:collection/trash/:id/:view`\n if (segments.length === 5 && segments[2] === 'trash') {\n switch (segments[4]) {\n case 'api':\n fn = generateAPIViewMetadata\n break\n case 'versions':\n fn = generateVersionsViewMetadata\n break\n default:\n break\n }\n }\n\n // `/collections/:collection/trash/:id/versions/:versionID`\n if (segments.length === 6 && segments[2] === 'trash' && segments[4] === 'versions') {\n fn = generateVersionViewMetadata\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 '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":[]}
|