@payloadcms/next 3.71.0-canary.2 → 3.71.0-internal-debug.dea9d74
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 +52 -58
- package/dist/auth/login.js.map +1 -1
- package/dist/auth/logout.js +39 -44
- package/dist/auth/logout.js.map +1 -1
- package/dist/auth/refresh.js +45 -47
- package/dist/auth/refresh.js.map +1 -1
- package/dist/cjs/withPayload.cjs +61 -23
- package/dist/cjs/withPayload.cjs.map +2 -2
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +9 -15
- package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +40 -71
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +65 -59
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +38 -0
- package/dist/elements/DocumentHeader/Tabs/index.js +80 -70
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.scss +54 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +16 -23
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.scss +9 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +61 -69
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.js +48 -28
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.scss +64 -0
- package/dist/elements/FormHeader/index.js +30 -16
- package/dist/elements/FormHeader/index.js.map +1 -1
- package/dist/elements/FormHeader/index.scss +8 -0
- package/dist/elements/Logo/index.js +19 -34
- package/dist/elements/Logo/index.js.map +1 -1
- package/dist/elements/Nav/NavHamburger/index.js +23 -44
- package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +28 -54
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.scss +27 -0
- package/dist/elements/Nav/SettingsMenuButton/index.js +33 -39
- package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
- package/dist/elements/Nav/SettingsMenuButton/index.scss +11 -0
- package/dist/elements/Nav/getNavPrefs.js +27 -22
- package/dist/elements/Nav/getNavPrefs.js.map +1 -1
- package/dist/elements/Nav/index.client.js +97 -118
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.js +148 -127
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/Nav/index.scss +173 -0
- package/dist/esbuildEntry.d.ts +5 -0
- package/dist/esbuildEntry.d.ts.map +1 -0
- package/dist/esbuildEntry.js +6 -0
- package/dist/esbuildEntry.js.map +1 -0
- package/dist/exports/auth.js +1 -0
- 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 +1 -0
- package/dist/exports/layouts.js.map +1 -1
- package/dist/exports/routes.js +1 -0
- package/dist/exports/routes.js.map +1 -1
- package/dist/exports/rsc.js +1 -0
- package/dist/exports/rsc.js.map +1 -1
- package/dist/exports/templates.js +1 -0
- package/dist/exports/templates.js.map +1 -1
- package/dist/exports/utilities.js +7 -12
- package/dist/exports/utilities.js.map +1 -1
- package/dist/exports/views.js +1 -0
- package/dist/exports/views.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/layouts/Root/NestProviders.js +21 -20
- package/dist/layouts/Root/NestProviders.js.map +1 -1
- package/dist/layouts/Root/checkDependencies.js +49 -41
- package/dist/layouts/Root/checkDependencies.js.map +1 -1
- package/dist/layouts/Root/index.js +128 -103
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +5 -1
- package/dist/routes/graphql/handler.js +114 -122
- package/dist/routes/graphql/handler.js.map +1 -1
- package/dist/routes/graphql/index.js +1 -0
- package/dist/routes/graphql/index.js.map +1 -1
- package/dist/routes/graphql/playground.js +28 -27
- package/dist/routes/graphql/playground.js.map +1 -1
- package/dist/routes/index.js +1 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/rest/index.js +23 -22
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/routes/rest/og/image.js +103 -79
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.js +59 -54
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/templates/Default/NavHamburger/index.js +12 -20
- package/dist/templates/Default/NavHamburger/index.js.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +20 -44
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/Wrapper/index.scss +58 -0
- package/dist/templates/Default/index.js +147 -116
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/templates/Default/index.scss +79 -0
- package/dist/templates/Minimal/index.js +26 -17
- package/dist/templates/Minimal/index.js.map +1 -1
- package/dist/templates/Minimal/index.scss +30 -0
- package/dist/utilities/getExistingAuthToken.js +3 -2
- package/dist/utilities/getExistingAuthToken.js.map +1 -1
- package/dist/utilities/getNextRequestI18n.js +12 -13
- 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 +27 -22
- package/dist/utilities/getPreferences.js.map +1 -1
- package/dist/utilities/getRequestLocale.js +13 -14
- 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 +3 -5
- package/dist/utilities/getRouteWithoutAdmin.js.map +1 -1
- package/dist/utilities/handleAuthRedirect.js +22 -36
- package/dist/utilities/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/handleServerFunctions.js +34 -41
- package/dist/utilities/handleServerFunctions.js.map +1 -1
- package/dist/utilities/initReq.js +78 -96
- package/dist/utilities/initReq.js.map +1 -1
- package/dist/utilities/isCustomAdminView.js +22 -26
- package/dist/utilities/isCustomAdminView.js.map +1 -1
- package/dist/utilities/isPublicAdminRoute.js +26 -20
- package/dist/utilities/isPublicAdminRoute.js.map +1 -1
- package/dist/utilities/meta.js +68 -63
- package/dist/utilities/meta.js.map +1 -1
- package/dist/utilities/selectiveCache.js +25 -26
- package/dist/utilities/selectiveCache.js.map +1 -1
- package/dist/utilities/setPayloadAuthCookie.js +19 -22
- package/dist/utilities/setPayloadAuthCookie.js.map +1 -1
- package/dist/utilities/slugify.js +24 -33
- package/dist/utilities/slugify.js.map +1 -1
- package/dist/utilities/timestamp.js +7 -6
- package/dist/utilities/timestamp.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.js +17 -39
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/RenderJSON/index.js +171 -126
- package/dist/views/API/RenderJSON/index.js.map +1 -1
- package/dist/views/API/RenderJSON/index.scss +129 -0
- package/dist/views/API/index.client.js +290 -197
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.js +7 -2
- package/dist/views/API/index.js.map +1 -1
- package/dist/views/API/index.scss +119 -0
- package/dist/views/API/metadata.js +18 -23
- package/dist/views/API/metadata.js.map +1 -1
- package/dist/views/Account/ResetPreferences/index.js +78 -102
- package/dist/views/Account/ResetPreferences/index.js.map +1 -1
- package/dist/views/Account/Settings/LanguageSelector.js +18 -47
- package/dist/views/Account/Settings/LanguageSelector.js.map +1 -1
- package/dist/views/Account/Settings/index.js +60 -25
- package/dist/views/Account/Settings/index.js.map +1 -1
- package/dist/views/Account/Settings/index.scss +48 -0
- package/dist/views/Account/ToggleTheme/index.js +38 -55
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.client.js +16 -32
- package/dist/views/Account/index.client.js.map +1 -1
- package/dist/views/Account/index.js +147 -158
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/Account/metadata.js +8 -12
- package/dist/views/Account/metadata.js.map +1 -1
- package/dist/views/BrowseByFolder/buildView.js +138 -157
- 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 +13 -15
- package/dist/views/BrowseByFolder/metadata.js.map +1 -1
- package/dist/views/CollectionFolders/buildView.js +122 -142
- 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 +18 -21
- package/dist/views/CollectionFolders/metadata.js.map +1 -1
- package/dist/views/CollectionFolders/renderFolderViewSlots.js +58 -61
- 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 +18 -21
- package/dist/views/CollectionTrash/metadata.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +117 -103
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.js +87 -81
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.scss +21 -0
- package/dist/views/CreateFirstUser/metadata.js +8 -12
- package/dist/views/CreateFirstUser/metadata.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +147 -138
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +423 -405
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.js +72 -75
- package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.scss +316 -0
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +62 -89
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +40 -47
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +64 -65
- package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js +164 -147
- package/dist/views/Dashboard/Default/ModularDashboard/useDashboardLayout.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js +31 -30
- package/dist/views/Dashboard/Default/ModularDashboard/utils/collisionDetection.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js +223 -229
- package/dist/views/Dashboard/Default/ModularDashboard/utils/sensors.js.map +1 -1
- package/dist/views/Dashboard/Default/index.js +59 -45
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/index.js +46 -42
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Dashboard/metadata.js +10 -14
- package/dist/views/Dashboard/metadata.js.map +1 -1
- package/dist/views/Document/getCustomDocumentViewByKey.js +3 -2
- package/dist/views/Document/getCustomDocumentViewByKey.js.map +1 -1
- package/dist/views/Document/getCustomViewByRoute.js +27 -30
- package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Document/getDocPreferences.js +40 -41
- package/dist/views/Document/getDocPreferences.js.map +1 -1
- package/dist/views/Document/getDocumentData.js +44 -55
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Document/getDocumentPermissions.js +77 -80
- package/dist/views/Document/getDocumentPermissions.js.map +1 -1
- package/dist/views/Document/getDocumentView.js +313 -283
- 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 +130 -136
- package/dist/views/Document/getMetaBySegment.js.map +1 -1
- package/dist/views/Document/getVersions.js +205 -195
- package/dist/views/Document/getVersions.js.map +1 -1
- package/dist/views/Document/handleServerFunction.js +103 -128
- package/dist/views/Document/handleServerFunction.js.map +1 -1
- package/dist/views/Document/index.js +316 -355
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Document/metadata.js +2 -1
- package/dist/views/Document/metadata.js.map +1 -1
- package/dist/views/Document/renderDocumentSlots.js +121 -132
- package/dist/views/Document/renderDocumentSlots.js.map +1 -1
- package/dist/views/Edit/index.js +10 -6
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/Edit/metadata.js +36 -46
- package/dist/views/Edit/metadata.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +130 -164
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.js +79 -62
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/ForgotPassword/metadata.js +8 -12
- package/dist/views/ForgotPassword/metadata.js.map +1 -1
- package/dist/views/List/createSerializableValue.js +12 -11
- 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 +15 -14
- package/dist/views/List/extractRelationshipDisplayValue.js.map +1 -1
- package/dist/views/List/extractValueOrRelationshipID.js +16 -15
- package/dist/views/List/extractValueOrRelationshipID.js.map +1 -1
- package/dist/views/List/handleGroupBy.js +133 -150
- package/dist/views/List/handleGroupBy.js.map +1 -1
- package/dist/views/List/handleServerFunction.js +98 -121
- package/dist/views/List/handleServerFunction.js.map +1 -1
- package/dist/views/List/index.js +305 -323
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/metadata.js +17 -20
- package/dist/views/List/metadata.js.map +1 -1
- package/dist/views/List/renderListViewSlots.js +82 -75
- package/dist/views/List/renderListViewSlots.js.map +1 -1
- package/dist/views/List/resolveAllFilterOptions.js +43 -45
- package/dist/views/List/resolveAllFilterOptions.js.map +1 -1
- package/dist/views/List/transformColumnsToSelect.js +9 -8
- package/dist/views/List/transformColumnsToSelect.js.map +1 -1
- package/dist/views/Login/LoginField/index.js +57 -89
- package/dist/views/Login/LoginField/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.js +107 -160
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/LoginForm/index.scss +10 -0
- package/dist/views/Login/index.js +82 -85
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Login/index.scss +10 -0
- package/dist/views/Login/metadata.js +8 -12
- package/dist/views/Login/metadata.js.map +1 -1
- package/dist/views/Logout/LogoutClient.js +84 -120
- 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/index.scss +25 -0
- package/dist/views/Logout/metadata.js +7 -11
- package/dist/views/Logout/metadata.js.map +1 -1
- package/dist/views/NotFound/index.client.js +71 -82
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/NotFound/index.js +72 -73
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/NotFound/index.scss +57 -0
- package/dist/views/NotFound/metadata.js +7 -9
- package/dist/views/NotFound/metadata.js.map +1 -1
- package/dist/views/ResetPassword/ResetPasswordForm/index.js +97 -108
- package/dist/views/ResetPassword/ResetPasswordForm/index.js.map +1 -1
- package/dist/views/ResetPassword/index.js +93 -73
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/ResetPassword/index.scss +11 -0
- package/dist/views/ResetPassword/metadata.js +8 -12
- package/dist/views/ResetPassword/metadata.js.map +1 -1
- package/dist/views/Root/attachViewActions.js +18 -23
- package/dist/views/Root/attachViewActions.js.map +1 -1
- package/dist/views/Root/generateCustomViewMetadata.js +19 -21
- package/dist/views/Root/generateCustomViewMetadata.js.map +1 -1
- package/dist/views/Root/getCustomViewByKey.js +12 -14
- package/dist/views/Root/getCustomViewByKey.js.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.js +31 -42
- package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Root/getDocumentViewInfo.js +24 -23
- package/dist/views/Root/getDocumentViewInfo.js.map +1 -1
- package/dist/views/Root/getRouteData.js +333 -325
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Root/index.js +248 -270
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Root/isPathMatchingRoute.js +21 -26
- package/dist/views/Root/isPathMatchingRoute.js.map +1 -1
- package/dist/views/Root/metadata.js +176 -181
- package/dist/views/Root/metadata.js.map +1 -1
- package/dist/views/Unauthorized/index.js +54 -46
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Unauthorized/index.scss +14 -0
- package/dist/views/Unauthorized/metadata.js +8 -12
- package/dist/views/Unauthorized/metadata.js.map +1 -1
- package/dist/views/Verify/index.client.js +25 -43
- package/dist/views/Verify/index.client.js.map +1 -1
- package/dist/views/Verify/index.js +69 -64
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Verify/index.scss +16 -0
- package/dist/views/Verify/metadata.js +8 -12
- 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 +86 -127
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.js +380 -236
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/index.scss +170 -0
- package/dist/views/Version/Default/types.js +2 -1
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +102 -119
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.scss +81 -0
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js +78 -73
- package/dist/views/Version/RenderFieldsToDiff/RenderVersionFieldsToDiff.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +363 -408
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js +40 -51
- package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js +35 -67
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.scss +12 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js +59 -56
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.scss +9 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +139 -117
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.scss +59 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +36 -41
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +192 -178
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.scss +91 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js +17 -11
- package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +48 -73
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.scss +4 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +132 -143
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.scss +9 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +56 -81
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.scss +4 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js +252 -211
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.scss +121 -0
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +23 -22
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +12 -9
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.scss +24 -0
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +213 -228
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +1005 -826
- package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js +2 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +44 -43
- package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +32 -36
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +145 -129
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +1 -1
- package/dist/views/Version/Restore/index.js +117 -93
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/Restore/index.scss +84 -0
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js +33 -50
- package/dist/views/Version/SelectComparison/VersionDrawer/CreatedAtCell.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js +170 -226
- package/dist/views/Version/SelectComparison/VersionDrawer/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/VersionDrawer/index.scss +18 -0
- package/dist/views/Version/SelectComparison/index.js +73 -50
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.scss +9 -0
- package/dist/views/Version/SelectComparison/types.js +2 -1
- package/dist/views/Version/SelectComparison/types.js.map +1 -1
- package/dist/views/Version/SelectLocales/index.js +34 -32
- package/dist/views/Version/SelectLocales/index.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js +104 -95
- package/dist/views/Version/VersionPillLabel/VersionPillLabel.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js +23 -27
- package/dist/views/Version/VersionPillLabel/getVersionLabel.js.map +1 -1
- package/dist/views/Version/VersionPillLabel/index.scss +26 -0
- package/dist/views/Version/fetchVersions.js +113 -138
- package/dist/views/Version/fetchVersions.js.map +1 -1
- package/dist/views/Version/index.js +325 -323
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Version/metadata.js +43 -50
- package/dist/views/Version/metadata.js.map +1 -1
- package/dist/views/Versions/buildColumns.js +95 -79
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.js +34 -38
- package/dist/views/Versions/cells/AutosaveCell/index.js.map +1 -1
- package/dist/views/Versions/cells/AutosaveCell/index.scss +9 -0
- package/dist/views/Versions/cells/CreatedAt/index.js +32 -53
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/cells/ID/index.js +10 -8
- package/dist/views/Versions/cells/ID/index.js.map +1 -1
- package/dist/views/Versions/index.client.js +106 -83
- 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/index.scss +110 -0
- package/dist/views/Versions/metadata.js +37 -44
- package/dist/views/Versions/metadata.js.map +1 -1
- package/dist/views/Versions/types.js +2 -1
- package/dist/views/Versions/types.js.map +1 -1
- package/dist/withPayload/withPayload.js +198 -144
- package/dist/withPayload/withPayload.js.map +1 -1
- package/dist/withPayload/withPayload.utils.js +65 -73
- package/dist/withPayload/withPayload.utils.js.map +1 -1
- package/dist/withPayload/withPayloadLegacy.js +41 -40
- package/dist/withPayload/withPayloadLegacy.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
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":"AAYA,SAASA,OAAA,IAAWC,cAAc,QAAQ;AAC1C,SAASC,QAAA,IAAYC,eAAe,QAAQ;AAC5C,SAASC,0BAA0B,QAAQ;AAC3C,SAASC,WAAA,IAAeC,kBAAkB,QAAQ;AAClD,SAASC,YAAA,IAAgBC,mBAAmB,QAAQ;AACpD,SAASC,0BAA0B,QAAQ;AAC3C,SAASC,oBAAoB,QAAQ;AAOrC,OAAO,MAAMC,eAAA,GAAkBA,CAAC;EAC9BC,gBAAgB;EAChBC,MAAM;EACNC,cAAc;EACdC,YAAY;EACZC;AAAa,CAOd;EAIC;EACA,IAAIC,IAAA,GAAqB;EACzB,IAAIC,OAAA;EAEJ,MAAM;IACJC,MAAA,EAAQ;MAAEC,KAAA,EAAOC;IAAU;EAAE,CAC9B,GAAGR,MAAA;EAEJ,MAAMS,KAAA,GACJV,gBAAC,IAAoBA,gBAAA,EAAkBQ,KAAA,EAAOG,UAAA,EAAYD,KAAA,IACzDP,YAAA,IAAgBA,YAAA,EAAcK,KAAA,EAAOG,UAAA,EAAYD,KAAA;EAEpD,IAAI,CAACR,cAAA,EAAgBU,IAAA,EAAM;IACzB,MAAM,IAAIC,KAAA,CAAM;EAClB;EAEA,IAAIb,gBAAA,EAAkB;IACpB,MAAM,CAACc,gBAAA,EAAkBC,cAAA,EAAgBC,QAAA,EAAUC,QAAA,EAAUC,QAAA,EAAU,GAAGC,iBAAA,CAAkB,GAC1Ff,aAAA;IAEF;IACA;IACA,QAAQA,aAAA,CAAcgB,MAAM;MAC1B,KAAK;QAAG;UACN,QAAQJ,QAAA;YACN;YACA,KAAK;cAAU;gBACb,IAAI,YAAYd,cAAA,IAAkBA,cAAA,CAAemB,MAAM,EAAE;kBACvDhB,IAAA,GAAOR,0BAAA,CAA2Ba,KAAA,EAAO,cAAcnB,eAAA;gBACzD,OAAO;kBACLc,IAAA,GAAOb,0BAAA;gBACT;gBACA;cACF;YAEA;YACA;cAAS;gBACP,MAAM8B,SAAA,GAAY,CAChBb,UAAA,KAAe,OAAOA,UAAA,EACtB,eACAM,cAAA,EACAC,QAAA,CACD,CACEO,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;gBAER,MAAMC,YAAA,GAAe,CAACJ,SAAA,EAAWL,QAAA,EAAUC,QAAA,E,GAAaC,iBAAA,CAAkB,CACvEI,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;gBAER,MAAM;kBAAEE,SAAA,EAAWC,mBAAmB;kBAAEtB,OAAA,EAASuB;gBAAa,CAAE,GAAG/B,oBAAA,CACjE;kBACEwB,SAAA;kBACAI,YAAA;kBACAhB;gBACF;gBAGF,IAAImB,aAAA,EAAe;kBACjBvB,OAAA,GAAUuB,aAAA;kBACVxB,IAAA,GAAOuB,mBAAA;gBACT,OAAO;kBACLvB,IAAA,GAAOR,0BAAA,CAA2Ba,KAAA,EAAO,cAAcnB,eAAA;gBACzD;gBAEA;cACF;UACF;UACA;QACF;MAEA;MACA;MACA;MACA;MACA,KAAK;QAAG;UACN;UACA,IAAIyB,QAAA,KAAa,WAAWC,QAAA,EAAU;YACpCZ,IAAA,GAAOR,0BAAA,CAA2Ba,KAAA,EAAO,cAAcnB,eAAA;YACvD;UACF;UACA,QAAQ0B,QAAA;YACN;YACA,KAAK;cAAO;gBACV,IAAIjB,gBAAA,EAAkBQ,KAAA,EAAOsB,UAAA,KAAe,MAAM;kBAChDzB,IAAA,GAAOR,0BAAA,CAA2Ba,KAAA,EAAO,UAAUrB,cAAA;gBACrD;gBACA;cACF;YAEA,KAAK;cAAY;gBACf;gBACA,IAAIa,cAAA,EAAgB6B,YAAA,EAAc;kBAChC1B,IAAA,GAAOR,0BAAA,CAA2Ba,KAAA,EAAO,eAAed,mBAAA;gBAC1D,OAAO;kBACLS,IAAA,GAAOb,0BAAA;gBACT;gBACA;cACF;YAEA;YACA;cAAS;gBACP,MAAM8B,SAAA,GAAY,CAChBb,UAAA,KAAe,OAAOA,UAAA,EACtB,eACAM,cAAA,EACAC,QAAA,CACD,CACEO,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;gBAER,MAAMC,YAAA,GAAe,CAACJ,SAAA,EAAWL,QAAA,EAAUC,QAAA,E,GAAaC,iBAAA,CAAkB,CACvEI,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;gBAER,MAAM;kBAAEE,SAAA,EAAWC,mBAAmB;kBAAEtB,OAAA,EAASuB;gBAAa,CAAE,GAAG/B,oBAAA,CACjE;kBACEwB,SAAA;kBACAI,YAAA;kBACAhB;gBACF;gBAGF,IAAImB,aAAA,EAAe;kBACjBvB,OAAA,GAAUuB,aAAA;kBACVxB,IAAA,GAAOuB,mBAAA;gBACT;gBAEA;cACF;UACF;UACA;QACF;MAEA;MACA;MACA;MACA;MACA,KAAK;QAAG;UACN;UACA,IAAIZ,QAAA,KAAa,SAAS;YACxB,QAAQE,QAAA;cACN,KAAK;gBAAO;kBACV,IAAIlB,gBAAA,EAAkBQ,KAAA,EAAOsB,UAAA,KAAe,MAAM;oBAChDzB,IAAA,GAAOR,0BAAA,CAA2Ba,KAAA,EAAO,UAAUrB,cAAA;kBACrD;kBACA;gBACF;cACA;cACA,KAAK;gBAAY;kBACf,IAAIa,cAAA,EAAgB6B,YAAA,EAAc;oBAChC1B,IAAA,GAAOR,0BAAA,CAA2Ba,KAAA,EAAO,eAAed,mBAAA;kBAC1D,OAAO;oBACLS,IAAA,GAAOb,0BAAA;kBACT;kBACA;gBACF;cAEA;gBAAS;kBACPa,IAAA,GAAOR,0BAAA,CAA2Ba,KAAA,EAAO,cAAcnB,eAAA;kBACvD;gBACF;YACF;YACA;UACF,OAAO,IAAI0B,QAAA,KAAa,YAAY;YAClC,IAAIf,cAAA,EAAgB6B,YAAA,EAAc;cAChC1B,IAAA,GAAOR,0BAAA,CAA2Ba,KAAA,EAAO,cAAchB,kBAAA;YACzD,OAAO;cACLW,IAAA,GAAOb,0BAAA;YACT;UACF,OAAO;YACL;YACA,MAAM8B,SAAA,GAAY,CAChBb,UAAA,KAAe,OAAOA,UAAA,EACtBK,gBAAA,EACAC,cAAA,EACAC,QAAA,CACD,CACEO,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;YAER,MAAMC,YAAA,GAAe,CAACJ,SAAA,EAAWL,QAAA,EAAUC,QAAA,E,GAAaC,iBAAA,CAAkB,CACvEI,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;YAER,MAAM;cAAEE,SAAA,EAAWC,mBAAmB;cAAEtB,OAAA,EAASuB;YAAa,CAAE,GAAG/B,oBAAA,CAAqB;cACtFwB,SAAA;cACAI,YAAA;cACAhB;YACF;YAEA,IAAImB,aAAA,EAAe;cACjBvB,OAAA,GAAUuB,aAAA;cACVxB,IAAA,GAAOuB,mBAAA;YACT;UACF;UAEA;QACF;MAEA;MACA;MACA;QAAS;UACP;UACA,MAAMI,oBAAA,GAAuBhB,QAAA,KAAa,WAAWE,QAAA,KAAa;UAElE,IAAIc,oBAAA,EAAsB;YACxB,IAAI9B,cAAA,EAAgB6B,YAAA,EAAc;cAChC1B,IAAA,GAAOR,0BAAA,CAA2Ba,KAAA,EAAO,cAAchB,kBAAA;YACzD,OAAO;cACLW,IAAA,GAAOb,0BAAA;YACT;UACF,OAAO;YACL;YACA,MAAM8B,SAAA,GAAY,CAChBb,UAAA,KAAe,OAAOA,UAAA,EACtBK,gBAAA,EACAC,cAAA,EACAC,QAAA,CACD,CACEO,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;YAER,MAAMC,YAAA,GAAe,CAACJ,SAAA,EAAWL,QAAA,EAAUC,QAAA,E,GAAaC,iBAAA,CAAkB,CACvEI,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;YAER,MAAM;cAAEE,SAAA,EAAWC,mBAAmB;cAAEtB,OAAA,EAASuB;YAAa,CAAE,GAAG/B,oBAAA,CAAqB;cACtFwB,SAAA;cACAI,YAAA;cACAhB;YACF;YAEA,IAAImB,aAAA,EAAe;cACjBvB,OAAA,GAAUuB,aAAA;cACVxB,IAAA,GAAOuB,mBAAA;YACT;UACF;UAEA;QACF;IACF;EACF;EAEA,IAAIzB,YAAA,EAAc;IAChB,MAAM,CAAC8B,YAAA,EAAcC,UAAA,EAAYlB,QAAA,EAAU,GAAGG,iBAAA,CAAkB,GAAGf,aAAA;IAEnE,QAAQA,aAAA,CAAcgB,MAAM;MAC1B;MACA,KAAK;QAAG;UACNf,IAAA,GAAOR,0BAAA,CAA2Ba,KAAA,EAAO,cAAcnB,eAAA;UACvD;QACF;MAEA,KAAK;QAAG;UACN;UACA;UACA;UACA,QAAQyB,QAAA;YACN;YACA,KAAK;cAAO;gBACV,IAAIb,YAAA,EAAcK,KAAA,EAAOsB,UAAA,KAAe,MAAM;kBAC5CzB,IAAA,GAAOR,0BAAA,CAA2Ba,KAAA,EAAO,UAAUrB,cAAA;gBACrD;gBAEA;cACF;YAEA,KAAK;cAAY;gBACf;gBACA,IAAIa,cAAA,EAAgB6B,YAAA,EAAc;kBAChC1B,IAAA,GAAOR,0BAAA,CAA2Ba,KAAA,EAAO,eAAed,mBAAA;gBAC1D,OAAO;kBACLS,IAAA,GAAOb,0BAAA;gBACT;gBACA;cACF;YAEA;YACA;cAAS;gBACP,IAAIU,cAAA,EAAgBU,IAAA,EAAM;kBACxB,MAAMU,SAAA,GAAY,CAACb,UAAA,EAAYwB,YAAA,EAAcC,UAAA,EAAYlB,QAAA,CAAS,CAC/DO,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;kBAER,MAAMC,YAAA,GAAe,CAACJ,SAAA,EAAWN,QAAA,E,GAAaG,iBAAA,CAAkB,CAC7DI,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;kBAER,MAAM;oBAAEE,SAAA,EAAWC,mBAAmB;oBAAEtB,OAAA,EAASuB;kBAAa,CAAE,GAC9D/B,oBAAA,CAAqB;oBACnBwB,SAAA;oBACAI,YAAA;oBACAhB;kBACF;kBAEF,IAAImB,aAAA,EAAe;oBACjBvB,OAAA,GAAUuB,aAAA;oBAEVxB,IAAA,GAAOuB,mBAAA;kBACT,OAAO;oBACLvB,IAAA,GAAOd,eAAA;kBACT;gBACF,OAAO;kBACLc,IAAA,GAAOb,0BAAA;gBACT;gBACA;cACF;UACF;UACA;QACF;MAEA;MACA;MACA;QAAS;UACP;UACA,IAAIwB,QAAA,KAAa,YAAY;YAC3B,IAAId,cAAA,EAAgB6B,YAAA,EAAc;cAChC1B,IAAA,GAAOR,0BAAA,CAA2Ba,KAAA,EAAO,cAAchB,kBAAA;YACzD,OAAO;cACLW,IAAA,GAAOb,0BAAA;YACT;UACF,OAAO;YACL;YACA,MAAM8B,SAAA,GAAY,CAACb,UAAA,KAAe,OAAOA,UAAA,EAAY,WAAWyB,UAAA,CAAW,CACxEX,MAAM,CAACC,OAAA,EACPC,IAAI,CAAC;YAER,MAAMC,YAAA,GAAe,CAACJ,SAAA,EAAWN,QAAA,E,GAAaG,iBAAA,CAAkB,CAACI,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;YAEtF,MAAM;cAAEE,SAAA,EAAWC,mBAAmB;cAAEtB,OAAA,EAASuB;YAAa,CAAE,GAAG/B,oBAAA,CAAqB;cACtFwB,SAAA;cACAI,YAAA;cACAhB;YACF;YAEA,IAAImB,aAAA,EAAe;cACjBvB,OAAA,GAAUuB,aAAA;cACVxB,IAAA,GAAOuB,mBAAA;YACT;UACF;UAEA;QACF;IACF;EACF;EAEA,OAAO;IACLvB,IAAA;IACAC;EACF;AACF","ignoreList":[]}
|
|
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,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
|
-
|
|
3
|
+
export const getIsLocked = async ({ id, collectionConfig, globalConfig, isEditing, req })=>{
|
|
4
|
+
const entityConfig = collectionConfig || globalConfig;
|
|
5
|
+
const entityHasLockingEnabled = entityConfig?.lockDocuments !== undefined ? entityConfig?.lockDocuments : true;
|
|
6
|
+
if (!entityHasLockingEnabled || !isEditing) {
|
|
7
|
+
return {
|
|
8
|
+
isLocked: false
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
const where = {};
|
|
12
|
+
const lockDurationDefault = 300;
|
|
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
|
+
}
|
|
13
67
|
return {
|
|
14
|
-
|
|
68
|
+
isLocked: false
|
|
15
69
|
};
|
|
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
|
-
};
|
|
71
70
|
};
|
|
71
|
+
|
|
72
72
|
//# sourceMappingURL=getIsLocked.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"],"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"],"mappings":"AAQA,SAASA,UAAU,QAAQ,wBAAuB;AAClD,SAASC,SAAS,QAAQ,iBAAgB;AAgB1C,OAAO,MAAMC,cAAc,OAAO,EAChCC,EAAE,EACFC,gBAAgB,EAChBC,YAAY,EACZC,SAAS,EACTC,GAAG,EACE;IACL,MAAMC,eAAeJ,oBAAoBC;IAEzC,MAAMI,0BACJD,cAAcE,kBAAkBC,YAAYH,cAAcE,gBAAgB;IAE5E,IAAI,CAACD,2BAA2B,CAACH,WAAW;QAC1C,OAAO;YACLM,UAAU;QACZ;IACF;IAEA,MAAMC,QAAe,CAAC;IAEtB,MAAMC,sBAAsB;IAAI,+BAA+B;IAC/D,MAAMC,eACJ,OAAOP,aAAaE,aAAa,KAAK,WAClCF,aAAaE,aAAa,CAACM,QAAQ,GACnCF;IACN,MAAMG,6BAA6BF,eAAe;IAElD,MAAMG,MAAM,IAAIC,OAAOC,OAAO;IAE9B,IAAIf,cAAc;QAChBQ,MAAMQ,GAAG,GAAG;YACV;gBACEC,YAAY;oBACVC,QAAQlB,aAAamB,IAAI;gBAC3B;YACF;YACA;gBACEC,WAAW;oBACTC,cAAc,IAAIP,KAAKD,MAAMD;gBAC/B;YACF;SACD;IACH,OAAO;QACLJ,MAAMQ,GAAG,GAAG;YACV;gBACE,kBAAkB;oBAChBE,QAAQvB,WAAWG;gBACrB;YACF;YACA;gBACE,uBAAuB;oBACrBoB,QAAQnB,iBAAiBoB,IAAI;gBAC/B;YACF;YACA;gBACEC,WAAW;oBACTC,cAAc,IAAIP,KAAKD,MAAMD;gBAC/B;YACF;SACD;IACH;IAEA,MAAM,EAAEU,IAAI,EAAE,GAAG,MAAMpB,IAAIqB,OAAO,CAACC,IAAI,CAAC;QACtCC,YAAY;QACZC,OAAO;QACPC,gBAAgB;QAChBzB;QACAM;IACF;IAEA,IAAIc,KAAKM,MAAM,GAAG,GAAG;QACnB,MAAMC,gBAAgBP,IAAI,CAAC,EAAE,CAACQ,IAAI,EAAEC;QACpC,MAAMC,iBAAiB,IAAIlB,KAAKQ,IAAI,CAAC,EAAE,CAACF,SAAS,EAAEL,OAAO;QAE1D,IAAInB,UAAUiC,mBAAmB3B,IAAI4B,IAAI,CAAChC,EAAE,EAAE;YAC5C,OAAO;gBACL+B;gBACAtB,UAAU;gBACVyB;YACF;QACF;IACF;IAEA,OAAO;QACLzB,UAAU;IACZ;AACF,EAAC"}
|
|
@@ -5,146 +5,140 @@ 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
|
-
|
|
8
|
+
export const getMetaBySegment = async ({ collectionConfig, config, globalConfig, params })=>{
|
|
9
|
+
const { segments } = params;
|
|
10
|
+
let fn = null;
|
|
11
|
+
const [segmentOne] = segments;
|
|
12
|
+
const isCollection = segmentOne === 'collections';
|
|
13
|
+
const isGlobal = segmentOne === 'globals';
|
|
14
|
+
const isEditing = isGlobal || Boolean(isCollection && segments?.length > 2 && segments[2] !== 'create');
|
|
15
|
+
if (isCollection) {
|
|
16
|
+
// `/:collection/:id`
|
|
17
|
+
if (params.segments.length === 3) {
|
|
18
|
+
fn = generateEditViewMetadata;
|
|
19
|
+
}
|
|
20
|
+
// `/collections/:collection/trash/:id`
|
|
21
|
+
if (segments.length === 4 && segments[2] === 'trash') {
|
|
22
|
+
fn = (args)=>generateEditViewMetadata({
|
|
23
|
+
...args,
|
|
24
|
+
isReadOnly: true
|
|
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
|
+
}
|
|
26
70
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
71
|
+
if (isGlobal) {
|
|
72
|
+
// `/:global`
|
|
73
|
+
if (params.segments?.length === 2) {
|
|
74
|
+
fn = generateEditViewMetadata;
|
|
75
|
+
}
|
|
76
|
+
// `/:global/:view`
|
|
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
|
+
}
|
|
33
95
|
}
|
|
34
|
-
|
|
35
|
-
|
|
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
|
|
113
|
-
});
|
|
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
|
|
96
|
+
const i18n = await getNextRequestI18n({
|
|
97
|
+
config
|
|
130
98
|
});
|
|
131
|
-
if (
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
i18n,
|
|
139
|
-
isEditing,
|
|
140
|
-
view: viewKey
|
|
99
|
+
if (typeof fn === 'function') {
|
|
100
|
+
return fn({
|
|
101
|
+
collectionConfig,
|
|
102
|
+
config,
|
|
103
|
+
globalConfig,
|
|
104
|
+
i18n,
|
|
105
|
+
isEditing
|
|
141
106
|
});
|
|
142
|
-
|
|
107
|
+
} else {
|
|
108
|
+
const { viewKey } = getDocumentView({
|
|
109
|
+
collectionConfig,
|
|
110
|
+
config,
|
|
111
|
+
docPermissions: {
|
|
112
|
+
create: true,
|
|
113
|
+
delete: true,
|
|
114
|
+
fields: true,
|
|
115
|
+
read: true,
|
|
116
|
+
readVersions: true,
|
|
117
|
+
update: true
|
|
118
|
+
},
|
|
119
|
+
globalConfig,
|
|
120
|
+
routeSegments: typeof segments === 'string' ? [
|
|
121
|
+
segments
|
|
122
|
+
] : segments
|
|
123
|
+
});
|
|
124
|
+
if (viewKey) {
|
|
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
|
+
}
|
|
143
137
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
});
|
|
138
|
+
return generateNotFoundViewMetadata({
|
|
139
|
+
config,
|
|
140
|
+
i18n
|
|
141
|
+
});
|
|
149
142
|
};
|
|
143
|
+
|
|
150
144
|
//# sourceMappingURL=getMetaBySegment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
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"],"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"],"mappings":"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"}
|