@payloadcms/next 3.70.0 → 3.71.0-internal-debug.80dab4c
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 -210
- 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/getFieldPathsModified.js +25 -22
- package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldPathsModified.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 -143
- package/dist/withPayload/withPayload.js.map +1 -1
- package/dist/withPayload/withPayload.utils.js +92 -95
- package/dist/withPayload/withPayload.utils.js.map +1 -1
- package/dist/withPayload/withPayloadLegacy.js +42 -40
- package/dist/withPayload/withPayloadLegacy.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleGroupBy.js","names":["renderTable","formatDate","flattenAllFields","createSerializableValue","extractRelationshipDisplayValue","extractValueOrRelationshipID","handleGroupBy","clientCollectionConfig","clientConfig","collectionConfig","collectionSlug","columns","customCellProps","drawerSlug","enableRowSelections","fieldPermissions","query","req","select","trash","user","viewType","where","whereWithMergedSearch","Table","columnState","dataByGroup","flattenedFields","fields","groupByFieldPath","groupBy","replace","groupByField","find","f","name","populate","type","relationTo","Array","isArray","forEach","rel","config","collections","c","slug","admin","useAsTitle","distinct","payload","findDistinct","collection","depth","field","limit","Number","undefined","locale","overrideAccess","page","sort","data","docs","values","map","Promise","all","distinctValue","i","potentiallyPopulatedRelationship","valueOrRelationshipID","groupData","draft","fallbackLocale","includeLockStatus","queryByGroup","equals","heading","i18n","t","relationshipConfig","date","String","pattern","dateFormat","serializableValue","length","newColumnState","NewTable","groupByValue","key","orderableFieldName","orderable"],"sources":["../../../src/views/List/handleGroupBy.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n Column,\n ListQuery,\n PaginatedDocs,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedFieldsPermissions,\n SelectType,\n ViewTypes,\n Where,\n} from 'payload'\n\nimport { renderTable } from '@payloadcms/ui/rsc'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { flattenAllFields } from 'payload'\n\nimport { createSerializableValue } from './createSerializableValue.js'\nimport { extractRelationshipDisplayValue } from './extractRelationshipDisplayValue.js'\nimport { extractValueOrRelationshipID } from './extractValueOrRelationshipID.js'\n\nexport const handleGroupBy = async ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n fieldPermissions,\n query,\n req,\n select,\n trash = false,\n user,\n viewType,\n where: whereWithMergedSearch,\n}: {\n clientCollectionConfig: ClientCollectionConfig\n clientConfig: ClientConfig\n collectionConfig: SanitizedCollectionConfig\n collectionSlug: string\n columns: any[]\n customCellProps?: Record<string, any>\n drawerSlug?: string\n enableRowSelections?: boolean\n fieldPermissions?: SanitizedFieldsPermissions\n query?: ListQuery\n req: PayloadRequest\n select?: SelectType\n trash?: boolean\n user: any\n viewType?: ViewTypes\n where: Where\n}): Promise<{\n columnState: Column[]\n data: PaginatedDocs\n Table: null | React.ReactNode | React.ReactNode[]\n}> => {\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[]\n\n const dataByGroup: Record<string, PaginatedDocs> = {}\n\n // NOTE: is there a faster/better way to do this?\n const flattenedFields = flattenAllFields({ fields: collectionConfig.fields })\n\n const groupByFieldPath = query.groupBy.replace(/^-/, '')\n\n const groupByField = flattenedFields.find((f) => f.name === groupByFieldPath)\n\n // Set up population for relationships\n let populate\n\n if (groupByField?.type === 'relationship' && groupByField.relationTo) {\n const relationTo = Array.isArray(groupByField.relationTo)\n ? groupByField.relationTo\n : [groupByField.relationTo]\n\n populate = {}\n relationTo.forEach((rel) => {\n const config = clientConfig.collections.find((c) => c.slug === rel)\n populate[rel] = { [config?.admin?.useAsTitle || 'id']: true }\n })\n }\n\n const distinct = await req.payload.findDistinct({\n collection: collectionSlug,\n depth: 1,\n field: groupByFieldPath,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n populate,\n req,\n sort: query?.groupBy,\n trash,\n where: whereWithMergedSearch,\n })\n\n const data = {\n ...distinct,\n docs: distinct.values?.map(() => ({})) || [],\n values: undefined,\n }\n\n await Promise.all(\n (distinct.values || []).map(async (distinctValue, i) => {\n const potentiallyPopulatedRelationship = distinctValue[groupByFieldPath]\n\n // Extract value or relationship ID for database query\n const valueOrRelationshipID = extractValueOrRelationshipID(potentiallyPopulatedRelationship)\n\n const groupData = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.queryByGroup?.[valueOrRelationshipID]?.limit\n ? Number(query.queryByGroup[valueOrRelationshipID].limit)\n : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.queryByGroup?.[valueOrRelationshipID]?.page\n ? Number(query.queryByGroup[valueOrRelationshipID].page)\n : undefined,\n req,\n // Note: if we wanted to enable table-by-table sorting, we could use this:\n // sort: query?.queryByGroup?.[valueOrRelationshipID]?.sort,\n select,\n sort: query?.sort,\n trash,\n user,\n where: {\n ...(whereWithMergedSearch || {}),\n [groupByFieldPath]: {\n equals: valueOrRelationshipID,\n },\n },\n })\n\n // Extract heading\n let heading: string\n\n if (potentiallyPopulatedRelationship === null) {\n heading = req.i18n.t('general:noValue')\n } else if (groupByField?.type === 'relationship') {\n const relationshipConfig = Array.isArray(groupByField.relationTo)\n ? undefined\n : clientConfig.collections.find((c) => c.slug === groupByField.relationTo)\n heading = extractRelationshipDisplayValue(\n potentiallyPopulatedRelationship,\n clientConfig,\n relationshipConfig,\n )\n } else if (groupByField?.type === 'date') {\n heading = formatDate({\n date: String(valueOrRelationshipID),\n i18n: req.i18n,\n pattern: clientConfig.admin.dateFormat,\n })\n } else if (groupByField?.type === 'checkbox') {\n if (valueOrRelationshipID === true) {\n heading = req.i18n.t('general:true')\n }\n if (valueOrRelationshipID === false) {\n heading = req.i18n.t('general:false')\n }\n } else {\n heading = String(valueOrRelationshipID)\n }\n\n // Create serializable value for client\n const serializableValue = createSerializableValue(valueOrRelationshipID)\n\n if (groupData.docs && groupData.docs.length > 0) {\n const { columnState: newColumnState, Table: NewTable } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data: groupData,\n drawerSlug,\n enableRowSelections,\n fieldPermissions,\n groupByFieldPath,\n groupByValue: serializableValue,\n heading: heading || req.i18n.t('general:noValue'),\n i18n: req.i18n,\n key: `table-${serializableValue}`,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n })\n\n // Only need to set `columnState` once, using the first table's column state\n // This will avoid needing to generate column state explicitly for root context that wraps all tables\n if (!columnState) {\n columnState = newColumnState\n }\n\n if (!Table) {\n Table = []\n }\n\n dataByGroup[serializableValue] = groupData\n ;(Table as Array<React.ReactNode>)[i] = NewTable\n }\n }),\n )\n\n return {\n columnState,\n data,\n Table,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/views/List/handleGroupBy.ts"],"sourcesContent":["import type {\n ClientCollectionConfig,\n ClientConfig,\n Column,\n ListQuery,\n PaginatedDocs,\n PayloadRequest,\n SanitizedCollectionConfig,\n SanitizedFieldsPermissions,\n SelectType,\n ViewTypes,\n Where,\n} from 'payload'\n\nimport { renderTable } from '@payloadcms/ui/rsc'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport { flattenAllFields } from 'payload'\n\nimport { createSerializableValue } from './createSerializableValue.js'\nimport { extractRelationshipDisplayValue } from './extractRelationshipDisplayValue.js'\nimport { extractValueOrRelationshipID } from './extractValueOrRelationshipID.js'\n\nexport const handleGroupBy = async ({\n clientCollectionConfig,\n clientConfig,\n collectionConfig,\n collectionSlug,\n columns,\n customCellProps,\n drawerSlug,\n enableRowSelections,\n fieldPermissions,\n query,\n req,\n select,\n trash = false,\n user,\n viewType,\n where: whereWithMergedSearch,\n}: {\n clientCollectionConfig: ClientCollectionConfig\n clientConfig: ClientConfig\n collectionConfig: SanitizedCollectionConfig\n collectionSlug: string\n columns: any[]\n customCellProps?: Record<string, any>\n drawerSlug?: string\n enableRowSelections?: boolean\n fieldPermissions?: SanitizedFieldsPermissions\n query?: ListQuery\n req: PayloadRequest\n select?: SelectType\n trash?: boolean\n user: any\n viewType?: ViewTypes\n where: Where\n}): Promise<{\n columnState: Column[]\n data: PaginatedDocs\n Table: null | React.ReactNode | React.ReactNode[]\n}> => {\n let Table: React.ReactNode | React.ReactNode[] = null\n let columnState: Column[]\n\n const dataByGroup: Record<string, PaginatedDocs> = {}\n\n // NOTE: is there a faster/better way to do this?\n const flattenedFields = flattenAllFields({ fields: collectionConfig.fields })\n\n const groupByFieldPath = query.groupBy.replace(/^-/, '')\n\n const groupByField = flattenedFields.find((f) => f.name === groupByFieldPath)\n\n // Set up population for relationships\n let populate\n\n if (groupByField?.type === 'relationship' && groupByField.relationTo) {\n const relationTo = Array.isArray(groupByField.relationTo)\n ? groupByField.relationTo\n : [groupByField.relationTo]\n\n populate = {}\n relationTo.forEach((rel) => {\n const config = clientConfig.collections.find((c) => c.slug === rel)\n populate[rel] = { [config?.admin?.useAsTitle || 'id']: true }\n })\n }\n\n const distinct = await req.payload.findDistinct({\n collection: collectionSlug,\n depth: 1,\n field: groupByFieldPath,\n limit: query?.limit ? Number(query.limit) : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.page ? Number(query.page) : undefined,\n populate,\n req,\n sort: query?.groupBy,\n trash,\n where: whereWithMergedSearch,\n })\n\n const data = {\n ...distinct,\n docs: distinct.values?.map(() => ({})) || [],\n values: undefined,\n }\n\n await Promise.all(\n (distinct.values || []).map(async (distinctValue, i) => {\n const potentiallyPopulatedRelationship = distinctValue[groupByFieldPath]\n\n // Extract value or relationship ID for database query\n const valueOrRelationshipID = extractValueOrRelationshipID(potentiallyPopulatedRelationship)\n\n const groupData = await req.payload.find({\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: false,\n includeLockStatus: true,\n limit: query?.queryByGroup?.[valueOrRelationshipID]?.limit\n ? Number(query.queryByGroup[valueOrRelationshipID].limit)\n : undefined,\n locale: req.locale,\n overrideAccess: false,\n page: query?.queryByGroup?.[valueOrRelationshipID]?.page\n ? Number(query.queryByGroup[valueOrRelationshipID].page)\n : undefined,\n req,\n // Note: if we wanted to enable table-by-table sorting, we could use this:\n // sort: query?.queryByGroup?.[valueOrRelationshipID]?.sort,\n select,\n sort: query?.sort,\n trash,\n user,\n where: {\n ...(whereWithMergedSearch || {}),\n [groupByFieldPath]: {\n equals: valueOrRelationshipID,\n },\n },\n })\n\n // Extract heading\n let heading: string\n\n if (potentiallyPopulatedRelationship === null) {\n heading = req.i18n.t('general:noValue')\n } else if (groupByField?.type === 'relationship') {\n const relationshipConfig = Array.isArray(groupByField.relationTo)\n ? undefined\n : clientConfig.collections.find((c) => c.slug === groupByField.relationTo)\n heading = extractRelationshipDisplayValue(\n potentiallyPopulatedRelationship,\n clientConfig,\n relationshipConfig,\n )\n } else if (groupByField?.type === 'date') {\n heading = formatDate({\n date: String(valueOrRelationshipID),\n i18n: req.i18n,\n pattern: clientConfig.admin.dateFormat,\n })\n } else if (groupByField?.type === 'checkbox') {\n if (valueOrRelationshipID === true) {\n heading = req.i18n.t('general:true')\n }\n if (valueOrRelationshipID === false) {\n heading = req.i18n.t('general:false')\n }\n } else {\n heading = String(valueOrRelationshipID)\n }\n\n // Create serializable value for client\n const serializableValue = createSerializableValue(valueOrRelationshipID)\n\n if (groupData.docs && groupData.docs.length > 0) {\n const { columnState: newColumnState, Table: NewTable } = renderTable({\n clientCollectionConfig,\n collectionConfig,\n columns,\n customCellProps,\n data: groupData,\n drawerSlug,\n enableRowSelections,\n fieldPermissions,\n groupByFieldPath,\n groupByValue: serializableValue,\n heading: heading || req.i18n.t('general:noValue'),\n i18n: req.i18n,\n key: `table-${serializableValue}`,\n orderableFieldName: collectionConfig.orderable === true ? '_order' : undefined,\n payload: req.payload,\n query,\n useAsTitle: collectionConfig.admin.useAsTitle,\n viewType,\n })\n\n // Only need to set `columnState` once, using the first table's column state\n // This will avoid needing to generate column state explicitly for root context that wraps all tables\n if (!columnState) {\n columnState = newColumnState\n }\n\n if (!Table) {\n Table = []\n }\n\n dataByGroup[serializableValue] = groupData\n ;(Table as Array<React.ReactNode>)[i] = NewTable\n }\n }),\n )\n\n return {\n columnState,\n data,\n Table,\n }\n}\n"],"names":["renderTable","formatDate","flattenAllFields","createSerializableValue","extractRelationshipDisplayValue","extractValueOrRelationshipID","handleGroupBy","clientCollectionConfig","clientConfig","collectionConfig","collectionSlug","columns","customCellProps","drawerSlug","enableRowSelections","fieldPermissions","query","req","select","trash","user","viewType","where","whereWithMergedSearch","Table","columnState","dataByGroup","flattenedFields","fields","groupByFieldPath","groupBy","replace","groupByField","find","f","name","populate","type","relationTo","Array","isArray","forEach","rel","config","collections","c","slug","admin","useAsTitle","distinct","payload","findDistinct","collection","depth","field","limit","Number","undefined","locale","overrideAccess","page","sort","data","docs","values","map","Promise","all","distinctValue","i","potentiallyPopulatedRelationship","valueOrRelationshipID","groupData","draft","fallbackLocale","includeLockStatus","queryByGroup","equals","heading","i18n","t","relationshipConfig","date","String","pattern","dateFormat","serializableValue","length","newColumnState","NewTable","groupByValue","key","orderableFieldName","orderable"],"mappings":"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"}
|
|
@@ -3,128 +3,105 @@ import { headers as getHeaders } from 'next/headers.js';
|
|
|
3
3
|
import { canAccessAdmin, getAccessResults, isEntityHidden, parseCookies, UnauthorizedError } from 'payload';
|
|
4
4
|
import { applyLocaleFiltering } from 'payload/shared';
|
|
5
5
|
import { renderListView } from './index.js';
|
|
6
|
-
export const renderListHandler = async args
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
disableBulkDelete,
|
|
11
|
-
disableBulkEdit,
|
|
12
|
-
disableQueryPresets,
|
|
13
|
-
drawerSlug,
|
|
14
|
-
enableRowSelections,
|
|
15
|
-
overrideEntityVisibility,
|
|
16
|
-
query,
|
|
17
|
-
redirectAfterDelete,
|
|
18
|
-
redirectAfterDuplicate,
|
|
19
|
-
req,
|
|
20
|
-
req: {
|
|
21
|
-
i18n,
|
|
22
|
-
payload,
|
|
23
|
-
payload: {
|
|
24
|
-
config
|
|
25
|
-
},
|
|
26
|
-
user
|
|
6
|
+
export const renderListHandler = async (args)=>{
|
|
7
|
+
const { collectionSlug, disableActions, disableBulkDelete, disableBulkEdit, disableQueryPresets, drawerSlug, enableRowSelections, overrideEntityVisibility, query, redirectAfterDelete, redirectAfterDuplicate, req, req: { i18n, payload, payload: { config }, user } } = args;
|
|
8
|
+
if (!req.user) {
|
|
9
|
+
throw new UnauthorizedError();
|
|
27
10
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
11
|
+
const headers = await getHeaders();
|
|
12
|
+
const cookies = parseCookies(headers);
|
|
13
|
+
await canAccessAdmin({
|
|
14
|
+
req
|
|
15
|
+
});
|
|
16
|
+
const clientConfig = getClientConfig({
|
|
17
|
+
config,
|
|
18
|
+
i18n,
|
|
19
|
+
importMap: payload.importMap,
|
|
20
|
+
user
|
|
21
|
+
});
|
|
22
|
+
await applyLocaleFiltering({
|
|
23
|
+
clientConfig,
|
|
24
|
+
config,
|
|
25
|
+
req
|
|
26
|
+
});
|
|
27
|
+
const preferencesKey = `collection-${collectionSlug}`;
|
|
28
|
+
const preferences = await payload.find({
|
|
29
|
+
collection: 'payload-preferences',
|
|
30
|
+
depth: 0,
|
|
31
|
+
limit: 1,
|
|
32
|
+
where: {
|
|
33
|
+
and: [
|
|
34
|
+
{
|
|
35
|
+
key: {
|
|
36
|
+
equals: preferencesKey
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
'user.relationTo': {
|
|
41
|
+
equals: user.collection
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
'user.value': {
|
|
46
|
+
equals: user.id
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
]
|
|
57
50
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
visibleEntities
|
|
113
|
-
},
|
|
114
|
-
overrideEntityVisibility,
|
|
115
|
-
params: {
|
|
116
|
-
segments: ['collections', collectionSlug]
|
|
117
|
-
},
|
|
118
|
-
payload,
|
|
119
|
-
query,
|
|
120
|
-
redirectAfterDelete,
|
|
121
|
-
redirectAfterDuplicate,
|
|
122
|
-
searchParams: {},
|
|
123
|
-
viewType: 'list'
|
|
124
|
-
});
|
|
125
|
-
return {
|
|
126
|
-
List,
|
|
127
|
-
preferences
|
|
128
|
-
};
|
|
51
|
+
}).then((res)=>res.docs[0]?.value);
|
|
52
|
+
const visibleEntities = {
|
|
53
|
+
collections: payload.config.collections.map(({ slug, admin: { hidden } })=>!isEntityHidden({
|
|
54
|
+
hidden,
|
|
55
|
+
user
|
|
56
|
+
}) ? slug : null).filter(Boolean),
|
|
57
|
+
globals: payload.config.globals.map(({ slug, admin: { hidden } })=>!isEntityHidden({
|
|
58
|
+
hidden,
|
|
59
|
+
user
|
|
60
|
+
}) ? slug : null).filter(Boolean)
|
|
61
|
+
};
|
|
62
|
+
const permissions = await getAccessResults({
|
|
63
|
+
req
|
|
64
|
+
});
|
|
65
|
+
const { List } = await renderListView({
|
|
66
|
+
clientConfig,
|
|
67
|
+
disableActions,
|
|
68
|
+
disableBulkDelete,
|
|
69
|
+
disableBulkEdit,
|
|
70
|
+
disableQueryPresets,
|
|
71
|
+
drawerSlug,
|
|
72
|
+
enableRowSelections,
|
|
73
|
+
i18n,
|
|
74
|
+
importMap: payload.importMap,
|
|
75
|
+
initPageResult: {
|
|
76
|
+
collectionConfig: payload?.collections?.[collectionSlug]?.config,
|
|
77
|
+
cookies,
|
|
78
|
+
globalConfig: payload.config.globals.find((global)=>global.slug === collectionSlug),
|
|
79
|
+
languageOptions: undefined,
|
|
80
|
+
// TODO
|
|
81
|
+
permissions,
|
|
82
|
+
req,
|
|
83
|
+
translations: undefined,
|
|
84
|
+
// TODO
|
|
85
|
+
visibleEntities
|
|
86
|
+
},
|
|
87
|
+
overrideEntityVisibility,
|
|
88
|
+
params: {
|
|
89
|
+
segments: [
|
|
90
|
+
'collections',
|
|
91
|
+
collectionSlug
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
payload,
|
|
95
|
+
query,
|
|
96
|
+
redirectAfterDelete,
|
|
97
|
+
redirectAfterDuplicate,
|
|
98
|
+
searchParams: {},
|
|
99
|
+
viewType: 'list'
|
|
100
|
+
});
|
|
101
|
+
return {
|
|
102
|
+
List,
|
|
103
|
+
preferences
|
|
104
|
+
};
|
|
129
105
|
};
|
|
106
|
+
|
|
130
107
|
//# sourceMappingURL=handleServerFunction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/views/List/handleServerFunction.tsx"],"sourcesContent":["import type { RenderListServerFnArgs, RenderListServerFnReturnType } from '@payloadcms/ui'\nimport type { CollectionPreferences, ServerFunction, VisibleEntities } from 'payload'\n\nimport { getClientConfig } from '@payloadcms/ui/utilities/getClientConfig'\nimport { headers as getHeaders } from 'next/headers.js'\nimport {\n canAccessAdmin,\n getAccessResults,\n isEntityHidden,\n parseCookies,\n UnauthorizedError,\n} from 'payload'\nimport { applyLocaleFiltering } from 'payload/shared'\n\nimport { renderListView } from './index.js'\n\nexport const renderListHandler: ServerFunction<\n RenderListServerFnArgs,\n Promise<RenderListServerFnReturnType>\n> = async (args) => {\n const {\n collectionSlug,\n disableActions,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query,\n redirectAfterDelete,\n redirectAfterDuplicate,\n req,\n req: {\n i18n,\n payload,\n payload: { config },\n user,\n },\n } = args\n\n if (!req.user) {\n throw new UnauthorizedError()\n }\n\n const headers = await getHeaders()\n\n const cookies = parseCookies(headers)\n\n await canAccessAdmin({ req })\n\n const clientConfig = getClientConfig({\n config,\n i18n,\n importMap: payload.importMap,\n user,\n })\n await applyLocaleFiltering({ clientConfig, config, req })\n\n const preferencesKey = `collection-${collectionSlug}`\n\n const preferences = await payload\n .find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n and: [\n {\n key: {\n equals: preferencesKey,\n },\n },\n {\n 'user.relationTo': {\n equals: user.collection,\n },\n },\n {\n 'user.value': {\n equals: user.id,\n },\n },\n ],\n },\n })\n .then((res) => res.docs[0]?.value as CollectionPreferences)\n\n const visibleEntities: VisibleEntities = {\n collections: payload.config.collections\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n globals: payload.config.globals\n .map(({ slug, admin: { hidden } }) => (!isEntityHidden({ hidden, user }) ? slug : null))\n .filter(Boolean),\n }\n\n const permissions = await getAccessResults({\n req,\n })\n\n const { List } = await renderListView({\n clientConfig,\n disableActions,\n disableBulkDelete,\n disableBulkEdit,\n disableQueryPresets,\n drawerSlug,\n enableRowSelections,\n i18n,\n importMap: payload.importMap,\n initPageResult: {\n collectionConfig: payload?.collections?.[collectionSlug]?.config,\n cookies,\n globalConfig: payload.config.globals.find((global) => global.slug === collectionSlug),\n languageOptions: undefined, // TODO\n permissions,\n req,\n translations: undefined, // TODO\n visibleEntities,\n },\n overrideEntityVisibility,\n params: {\n segments: ['collections', collectionSlug],\n },\n payload,\n query,\n redirectAfterDelete,\n redirectAfterDuplicate,\n searchParams: {},\n viewType: 'list',\n })\n\n return {\n List,\n preferences,\n }\n}\n"],"names":["getClientConfig","headers","getHeaders","canAccessAdmin","getAccessResults","isEntityHidden","parseCookies","UnauthorizedError","applyLocaleFiltering","renderListView","renderListHandler","args","collectionSlug","disableActions","disableBulkDelete","disableBulkEdit","disableQueryPresets","drawerSlug","enableRowSelections","overrideEntityVisibility","query","redirectAfterDelete","redirectAfterDuplicate","req","i18n","payload","config","user","cookies","clientConfig","importMap","preferencesKey","preferences","find","collection","depth","limit","where","and","key","equals","id","then","res","docs","value","visibleEntities","collections","map","slug","admin","hidden","filter","Boolean","globals","permissions","List","initPageResult","collectionConfig","globalConfig","global","languageOptions","undefined","translations","params","segments","searchParams","viewType"],"mappings":"AAGA,SAASA,eAAe,QAAQ,2CAA0C;AAC1E,SAASC,WAAWC,UAAU,QAAQ,kBAAiB;AACvD,SACEC,cAAc,EACdC,gBAAgB,EAChBC,cAAc,EACdC,YAAY,EACZC,iBAAiB,QACZ,UAAS;AAChB,SAASC,oBAAoB,QAAQ,iBAAgB;AAErD,SAASC,cAAc,QAAQ,aAAY;AAE3C,OAAO,MAAMC,oBAGT,OAAOC;IACT,MAAM,EACJC,cAAc,EACdC,cAAc,EACdC,iBAAiB,EACjBC,eAAe,EACfC,mBAAmB,EACnBC,UAAU,EACVC,mBAAmB,EACnBC,wBAAwB,EACxBC,KAAK,EACLC,mBAAmB,EACnBC,sBAAsB,EACtBC,GAAG,EACHA,KAAK,EACHC,IAAI,EACJC,OAAO,EACPA,SAAS,EAAEC,MAAM,EAAE,EACnBC,IAAI,EACL,EACF,GAAGhB;IAEJ,IAAI,CAACY,IAAII,IAAI,EAAE;QACb,MAAM,IAAIpB;IACZ;IAEA,MAAMN,UAAU,MAAMC;IAEtB,MAAM0B,UAAUtB,aAAaL;IAE7B,MAAME,eAAe;QAAEoB;IAAI;IAE3B,MAAMM,eAAe7B,gBAAgB;QACnC0B;QACAF;QACAM,WAAWL,QAAQK,SAAS;QAC5BH;IACF;IACA,MAAMnB,qBAAqB;QAAEqB;QAAcH;QAAQH;IAAI;IAEvD,MAAMQ,iBAAiB,CAAC,WAAW,EAAEnB,gBAAgB;IAErD,MAAMoB,cAAc,MAAMP,QACvBQ,IAAI,CAAC;QACJC,YAAY;QACZC,OAAO;QACPC,OAAO;QACPC,OAAO;YACLC,KAAK;gBACH;oBACEC,KAAK;wBACHC,QAAQT;oBACV;gBACF;gBACA;oBACE,mBAAmB;wBACjBS,QAAQb,KAAKO,UAAU;oBACzB;gBACF;gBACA;oBACE,cAAc;wBACZM,QAAQb,KAAKc,EAAE;oBACjB;gBACF;aACD;QACH;IACF,GACCC,IAAI,CAAC,CAACC,MAAQA,IAAIC,IAAI,CAAC,EAAE,EAAEC;IAE9B,MAAMC,kBAAmC;QACvCC,aAAatB,QAAQC,MAAM,CAACqB,WAAW,CACpCC,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAEC,OAAO,EAAEC,MAAM,EAAE,EAAE,GAAM,CAAC9C,eAAe;gBAAE8C;gBAAQxB;YAAK,KAAKsB,OAAO,MACjFG,MAAM,CAACC;QACVC,SAAS7B,QAAQC,MAAM,CAAC4B,OAAO,CAC5BN,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAEC,OAAO,EAAEC,MAAM,EAAE,EAAE,GAAM,CAAC9C,eAAe;gBAAE8C;gBAAQxB;YAAK,KAAKsB,OAAO,MACjFG,MAAM,CAACC;IACZ;IAEA,MAAME,cAAc,MAAMnD,iBAAiB;QACzCmB;IACF;IAEA,MAAM,EAAEiC,IAAI,EAAE,GAAG,MAAM/C,eAAe;QACpCoB;QACAhB;QACAC;QACAC;QACAC;QACAC;QACAC;QACAM;QACAM,WAAWL,QAAQK,SAAS;QAC5B2B,gBAAgB;YACdC,kBAAkBjC,SAASsB,aAAa,CAACnC,eAAe,EAAEc;YAC1DE;YACA+B,cAAclC,QAAQC,MAAM,CAAC4B,OAAO,CAACrB,IAAI,CAAC,CAAC2B,SAAWA,OAAOX,IAAI,KAAKrC;YACtEiD,iBAAiBC;YAAW,OAAO;YACnCP;YACAhC;YACAwC,cAAcD;YAAW,OAAO;YAChChB;QACF;QACA3B;QACA6C,QAAQ;YACNC,UAAU;gBAAC;gBAAerD;aAAe;QAC3C;QACAa;QACAL;QACAC;QACAC;QACA4C,cAAc,CAAC;QACfC,UAAU;IACZ;IAEA,OAAO;QACLX;QACAxB;IACF;AACF,EAAC"}
|