@payloadcms/next 3.0.0-canary.ca3dd1c → 3.0.0-canary.cb7fa00
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/cjs/withPayload.cjs +18 -11
- package/dist/cjs/withPayload.cjs.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +5 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +3 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js +16 -3
- package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +7 -5
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +2 -2
- package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +2 -2
- package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -2
- package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.js +27 -17
- package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/index.scss +0 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +3 -5
- package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +2 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +15 -15
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.d.ts +2 -2
- package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/index.js +2 -2
- package/dist/elements/DocumentHeader/index.js.map +1 -1
- package/dist/elements/DocumentHeader/index.scss +0 -2
- package/dist/elements/EmailAndUsername/index.d.ts +14 -0
- package/dist/elements/EmailAndUsername/index.d.ts.map +1 -0
- package/dist/elements/EmailAndUsername/index.js +89 -0
- package/dist/elements/EmailAndUsername/index.js.map +1 -0
- package/dist/elements/LeaveWithoutSaving/index.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.js +9 -0
- package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
- package/dist/elements/LeaveWithoutSaving/index.scss +1 -0
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts +2 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +3 -1
- package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
- package/dist/elements/Logo/index.d.ts.map +1 -1
- package/dist/elements/Logo/index.js +8 -5
- package/dist/elements/Logo/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.d.ts.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.js +4 -2
- package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
- package/dist/elements/Nav/NavWrapper/index.scss +4 -1
- package/dist/elements/Nav/index.client.d.ts.map +1 -1
- package/dist/elements/Nav/index.client.js +20 -11
- package/dist/elements/Nav/index.client.js.map +1 -1
- package/dist/elements/Nav/index.d.ts.map +1 -1
- package/dist/elements/Nav/index.js +21 -27
- package/dist/elements/Nav/index.js.map +1 -1
- package/dist/elements/Nav/index.scss +21 -15
- package/dist/layouts/Root/index.d.ts +5 -4
- package/dist/layouts/Root/index.d.ts.map +1 -1
- package/dist/layouts/Root/index.js +54 -31
- package/dist/layouts/Root/index.js.map +1 -1
- package/dist/prod/styles.css +1 -1
- package/dist/routes/graphql/handler.d.ts.map +1 -1
- package/dist/routes/graphql/handler.js +1 -4
- package/dist/routes/graphql/handler.js.map +1 -1
- package/dist/routes/rest/auth/login.d.ts.map +1 -1
- package/dist/routes/rest/auth/login.js +1 -1
- package/dist/routes/rest/auth/login.js.map +1 -1
- package/dist/routes/rest/auth/unlock.d.ts.map +1 -1
- package/dist/routes/rest/auth/unlock.js +7 -3
- package/dist/routes/rest/auth/unlock.js.map +1 -1
- package/dist/routes/rest/buildFormState.js +4 -4
- package/dist/routes/rest/buildFormState.js.map +1 -1
- package/dist/routes/rest/collections/restoreVersion.d.ts.map +1 -1
- package/dist/routes/rest/collections/restoreVersion.js +2 -0
- package/dist/routes/rest/collections/restoreVersion.js.map +1 -1
- package/dist/routes/rest/globals/restoreVersion.d.ts.map +1 -1
- package/dist/routes/rest/globals/restoreVersion.js +2 -0
- package/dist/routes/rest/globals/restoreVersion.js.map +1 -1
- package/dist/routes/rest/index.d.ts.map +1 -1
- package/dist/routes/rest/index.js +30 -5
- package/dist/routes/rest/index.js.map +1 -1
- package/dist/routes/rest/og/image.d.ts +2 -1
- package/dist/routes/rest/og/image.d.ts.map +1 -1
- package/dist/routes/rest/og/image.js +6 -2
- package/dist/routes/rest/og/image.js.map +1 -1
- package/dist/routes/rest/og/index.d.ts.map +1 -1
- package/dist/routes/rest/og/index.js +7 -3
- package/dist/routes/rest/og/index.js.map +1 -1
- package/dist/routes/rest/routeError.d.ts.map +1 -1
- package/dist/routes/rest/routeError.js +3 -3
- package/dist/routes/rest/routeError.js.map +1 -1
- package/dist/scss/app.scss +10 -15
- package/dist/scss/toastify.scss +59 -0
- package/dist/scss/toasts.scss +75 -45
- package/dist/scss/type.scss +15 -23
- package/dist/scss/vars.scss +26 -47
- package/dist/templates/Default/Wrapper/index.d.ts.map +1 -1
- package/dist/templates/Default/Wrapper/index.js +4 -2
- package/dist/templates/Default/Wrapper/index.js.map +1 -1
- package/dist/templates/Default/Wrapper/index.scss +36 -4
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +16 -23
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/getPayloadHMR.d.ts.map +1 -1
- package/dist/utilities/getPayloadHMR.js +13 -1
- package/dist/utilities/getPayloadHMR.js.map +1 -1
- package/dist/utilities/initPage/handleAdminPage.d.ts +4 -0
- package/dist/utilities/initPage/handleAdminPage.d.ts.map +1 -1
- package/dist/utilities/initPage/handleAdminPage.js +17 -4
- package/dist/utilities/initPage/handleAdminPage.js.map +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.d.ts.map +1 -1
- package/dist/utilities/initPage/handleAuthRedirect.js +15 -3
- package/dist/utilities/initPage/handleAuthRedirect.js.map +1 -1
- package/dist/utilities/initPage/index.d.ts +1 -1
- package/dist/utilities/initPage/index.d.ts.map +1 -1
- package/dist/utilities/initPage/index.js +3 -2
- package/dist/utilities/initPage/index.js.map +1 -1
- package/dist/utilities/initPage/shared.d.ts +14 -2
- package/dist/utilities/initPage/shared.d.ts.map +1 -1
- package/dist/utilities/initPage/shared.js +14 -4
- package/dist/utilities/initPage/shared.js.map +1 -1
- package/dist/utilities/initPage/types.d.ts +2 -1
- package/dist/utilities/initPage/types.d.ts.map +1 -1
- package/dist/utilities/initPage/types.js.map +1 -1
- package/dist/utilities/mergeHeaders.d.ts +1 -1
- package/dist/utilities/mergeHeaders.d.ts.map +1 -1
- package/dist/utilities/mergeHeaders.js +7 -33
- package/dist/utilities/mergeHeaders.js.map +1 -1
- package/dist/utilities/meta.d.ts.map +1 -1
- package/dist/utilities/meta.js +2 -4
- package/dist/utilities/meta.js.map +1 -1
- package/dist/views/API/LocaleSelector/index.d.ts +2 -2
- package/dist/views/API/LocaleSelector/index.d.ts.map +1 -1
- package/dist/views/API/LocaleSelector/index.js +7 -5
- package/dist/views/API/LocaleSelector/index.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +39 -33
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/API/index.d.ts +2 -2
- package/dist/views/API/index.d.ts.map +1 -1
- package/dist/views/API/index.js.map +1 -1
- package/dist/views/API/index.scss +1 -2
- package/dist/views/Account/ToggleTheme/index.d.ts.map +1 -1
- package/dist/views/Account/ToggleTheme/index.js +18 -16
- package/dist/views/Account/ToggleTheme/index.js.map +1 -1
- package/dist/views/Account/index.client.d.ts +3 -0
- package/dist/views/Account/index.client.d.ts.map +1 -0
- package/dist/views/Account/index.client.js +21 -0
- package/dist/views/Account/index.client.js.map +1 -0
- package/dist/views/Account/index.d.ts.map +1 -1
- package/dist/views/Account/index.js +38 -45
- package/dist/views/Account/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.client.d.ts +2 -1
- package/dist/views/CreateFirstUser/index.client.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.client.js +22 -20
- package/dist/views/CreateFirstUser/index.client.js.map +1 -1
- package/dist/views/CreateFirstUser/index.d.ts.map +1 -1
- package/dist/views/CreateFirstUser/index.js +11 -29
- package/dist/views/CreateFirstUser/index.js.map +1 -1
- package/dist/views/CreateFirstUser/index.scss +4 -0
- package/dist/views/Dashboard/Default/index.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/index.js +33 -30
- package/dist/views/Dashboard/Default/index.js.map +1 -1
- package/dist/views/Dashboard/Default/index.scss +11 -7
- package/dist/views/Dashboard/index.d.ts.map +1 -1
- package/dist/views/Dashboard/index.js +26 -30
- package/dist/views/Dashboard/index.js.map +1 -1
- package/dist/views/Document/getCustomViewByKey.d.ts.map +1 -1
- package/dist/views/Document/getCustomViewByKey.js +1 -2
- package/dist/views/Document/getCustomViewByKey.js.map +1 -1
- package/dist/views/Document/getCustomViewByRoute.js +2 -2
- package/dist/views/Document/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Document/getDocumentData.d.ts +1 -0
- package/dist/views/Document/getDocumentData.d.ts.map +1 -1
- package/dist/views/Document/getDocumentData.js +3 -2
- package/dist/views/Document/getDocumentData.js.map +1 -1
- package/dist/views/Document/getViewsFromConfig.d.ts +9 -4
- package/dist/views/Document/getViewsFromConfig.d.ts.map +1 -1
- package/dist/views/Document/getViewsFromConfig.js +244 -196
- package/dist/views/Document/getViewsFromConfig.js.map +1 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +45 -55
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.d.ts +2 -2
- package/dist/views/Edit/Default/Auth/APIKey.d.ts.map +1 -1
- package/dist/views/Edit/Default/Auth/APIKey.js +35 -7
- package/dist/views/Edit/Default/Auth/APIKey.js.map +1 -1
- package/dist/views/Edit/Default/Auth/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/Auth/index.js +93 -46
- package/dist/views/Edit/Default/Auth/index.js.map +1 -1
- package/dist/views/Edit/Default/Auth/types.d.ts +4 -1
- package/dist/views/Edit/Default/Auth/types.d.ts.map +1 -1
- package/dist/views/Edit/Default/Auth/types.js.map +1 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js +15 -5
- package/dist/views/Edit/Default/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/Default/index.d.ts.map +1 -1
- package/dist/views/Edit/Default/index.js +42 -38
- package/dist/views/Edit/Default/index.js.map +1 -1
- package/dist/views/Edit/Default/index.scss +2 -2
- package/dist/views/Edit/index.client.d.ts.map +1 -1
- package/dist/views/Edit/index.client.js +11 -6
- package/dist/views/Edit/index.client.js.map +1 -1
- package/dist/views/Edit/index.d.ts +2 -2
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +11 -7
- package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
- package/dist/views/ForgotPassword/index.d.ts.map +1 -1
- package/dist/views/ForgotPassword/index.js +12 -4
- package/dist/views/ForgotPassword/index.js.map +1 -1
- package/dist/views/List/Default/index.d.ts.map +1 -1
- package/dist/views/List/Default/index.js +52 -43
- package/dist/views/List/Default/index.js.map +1 -1
- package/dist/views/List/Default/index.scss +7 -17
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +72 -46
- package/dist/views/List/index.js.map +1 -1
- package/dist/views/List/meta.js +1 -1
- package/dist/views/List/meta.js.map +1 -1
- package/dist/views/LivePreview/Context/context.d.ts +1 -1
- package/dist/views/LivePreview/Context/context.d.ts.map +1 -1
- package/dist/views/LivePreview/Context/context.js.map +1 -1
- package/dist/views/LivePreview/Context/index.d.ts +3 -3
- package/dist/views/LivePreview/Context/index.d.ts.map +1 -1
- package/dist/views/LivePreview/Context/index.js.map +1 -1
- package/dist/views/LivePreview/index.client.d.ts +3 -3
- package/dist/views/LivePreview/index.client.d.ts.map +1 -1
- package/dist/views/LivePreview/index.client.js +84 -93
- package/dist/views/LivePreview/index.client.js.map +1 -1
- package/dist/views/LivePreview/index.d.ts +2 -2
- package/dist/views/LivePreview/index.d.ts.map +1 -1
- package/dist/views/LivePreview/index.js.map +1 -1
- package/dist/views/LivePreview/usePopupWindow.d.ts +2 -1
- package/dist/views/LivePreview/usePopupWindow.d.ts.map +1 -1
- package/dist/views/LivePreview/usePopupWindow.js +1 -1
- package/dist/views/LivePreview/usePopupWindow.js.map +1 -1
- package/dist/views/Login/LoginField/index.d.ts +9 -0
- package/dist/views/Login/LoginField/index.d.ts.map +1 -0
- package/dist/views/Login/LoginField/index.js +49 -0
- package/dist/views/Login/LoginField/index.js.map +1 -0
- package/dist/views/Login/LoginForm/index.d.ts +3 -0
- package/dist/views/Login/LoginForm/index.d.ts.map +1 -1
- package/dist/views/Login/LoginForm/index.js +35 -74
- package/dist/views/Login/LoginForm/index.js.map +1 -1
- package/dist/views/Login/index.d.ts.map +1 -1
- package/dist/views/Login/index.js +28 -27
- package/dist/views/Login/index.js.map +1 -1
- package/dist/views/Logout/LogoutClient.d.ts.map +1 -1
- package/dist/views/Logout/LogoutClient.js +7 -2
- package/dist/views/Logout/LogoutClient.js.map +1 -1
- package/dist/views/Logout/index.js +2 -2
- package/dist/views/Logout/index.js.map +1 -1
- package/dist/views/NotFound/index.client.d.ts.map +1 -1
- package/dist/views/NotFound/index.client.js +3 -2
- package/dist/views/NotFound/index.client.js.map +1 -1
- package/dist/views/NotFound/index.d.ts +4 -3
- package/dist/views/NotFound/index.d.ts.map +1 -1
- package/dist/views/NotFound/index.js +19 -23
- package/dist/views/NotFound/index.js.map +1 -1
- package/dist/views/ResetPassword/index.client.d.ts +1 -1
- package/dist/views/ResetPassword/index.client.d.ts.map +1 -1
- package/dist/views/ResetPassword/index.client.js +23 -32
- package/dist/views/ResetPassword/index.client.js.map +1 -1
- package/dist/views/ResetPassword/index.d.ts.map +1 -1
- package/dist/views/ResetPassword/index.js +7 -3
- package/dist/views/ResetPassword/index.js.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.d.ts +3 -2
- package/dist/views/Root/getCustomViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomViewByRoute.js +13 -10
- package/dist/views/Root/getCustomViewByRoute.js.map +1 -1
- package/dist/views/Root/getViewFromConfig.d.ts +10 -4
- package/dist/views/Root/getViewFromConfig.d.ts.map +1 -1
- package/dist/views/Root/getViewFromConfig.js +31 -10
- package/dist/views/Root/getViewFromConfig.js.map +1 -1
- package/dist/views/Root/index.d.ts +6 -5
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +27 -13
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Unauthorized/index.d.ts +2 -2
- package/dist/views/Unauthorized/index.d.ts.map +1 -1
- package/dist/views/Unauthorized/index.js +1 -0
- package/dist/views/Unauthorized/index.js.map +1 -1
- package/dist/views/Verify/index.d.ts.map +1 -1
- package/dist/views/Verify/index.js +9 -2
- package/dist/views/Verify/index.js.map +1 -1
- package/dist/views/Version/Default/SetStepNav.d.ts +8 -9
- package/dist/views/Version/Default/SetStepNav.d.ts.map +1 -1
- package/dist/views/Version/Default/SetStepNav.js +28 -13
- package/dist/views/Version/Default/SetStepNav.js.map +1 -1
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +13 -16
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/types.d.ts +7 -7
- package/dist/views/Version/Default/types.d.ts.map +1 -1
- package/dist/views/Version/Default/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +20 -20
- package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js +4 -4
- package/dist/views/Version/RenderFieldsToDiff/fields/Nested/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +3 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js +44 -24
- package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +3 -6
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +3 -5
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js +2 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +3 -2
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts +21 -28
- package/dist/views/Version/RenderFieldsToDiff/fields/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js +4 -3
- package/dist/views/Version/RenderFieldsToDiff/fields/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts +15 -16
- package/dist/views/Version/RenderFieldsToDiff/fields/types.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/fields/types.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/index.js +12 -8
- package/dist/views/Version/RenderFieldsToDiff/index.js.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/types.d.ts +9 -10
- package/dist/views/Version/RenderFieldsToDiff/types.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/types.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +46 -13
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/Restore/index.scss +31 -0
- package/dist/views/Version/Restore/types.d.ts +1 -0
- package/dist/views/Version/Restore/types.d.ts.map +1 -1
- package/dist/views/Version/Restore/types.js.map +1 -1
- package/dist/views/Version/SelectComparison/index.d.ts.map +1 -1
- package/dist/views/Version/SelectComparison/index.js +1 -1
- package/dist/views/Version/SelectComparison/index.js.map +1 -1
- package/dist/views/Version/index.d.ts +2 -2
- package/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js +36 -9
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/buildColumns.js +40 -16
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.d.ts.map +1 -1
- package/dist/views/Versions/cells/CreatedAt/index.js +10 -4
- package/dist/views/Versions/cells/CreatedAt/index.js.map +1 -1
- package/dist/views/Versions/getLatestVersion.d.ts +13 -4
- package/dist/views/Versions/getLatestVersion.d.ts.map +1 -1
- package/dist/views/Versions/getLatestVersion.js +6 -1
- package/dist/views/Versions/getLatestVersion.js.map +1 -1
- package/dist/views/Versions/index.client.d.ts +4 -4
- package/dist/views/Versions/index.client.d.ts.map +1 -1
- package/dist/views/Versions/index.client.js +11 -8
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.d.ts +2 -2
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +24 -4
- package/dist/views/Versions/index.js.map +1 -1
- package/dist/withPayload.d.ts.map +1 -1
- package/dist/withPayload.js +18 -11
- package/dist/withPayload.js.map +1 -1
- package/package.json +8 -8
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import type { I18nClient } from '@payloadcms/translations';
|
|
2
|
-
import type {
|
|
3
|
-
import type { FieldPermissions } from 'payload';
|
|
2
|
+
import type { ClientField, FieldPermissions } from 'payload';
|
|
4
3
|
import type React from 'react';
|
|
5
4
|
import type { DiffMethod } from 'react-diff-viewer-continued';
|
|
6
|
-
export type DiffComponents = Record<string, React.FC<
|
|
7
|
-
export type
|
|
8
|
-
comparison: any;
|
|
9
|
-
diffComponents: DiffComponents;
|
|
10
|
-
diffMethod?: DiffMethod;
|
|
11
|
-
disableGutter?: boolean;
|
|
12
|
-
field:
|
|
13
|
-
|
|
14
|
-
i18n: I18nClient;
|
|
15
|
-
isRichText?: boolean;
|
|
16
|
-
locale?: string;
|
|
17
|
-
locales?: string[];
|
|
18
|
-
permissions?: Record<string, FieldPermissions>;
|
|
19
|
-
version: any;
|
|
5
|
+
export type DiffComponents = Record<string, React.FC<DiffComponentProps>>;
|
|
6
|
+
export type DiffComponentProps<TField extends ClientField = ClientField> = {
|
|
7
|
+
readonly comparison: any;
|
|
8
|
+
readonly diffComponents: DiffComponents;
|
|
9
|
+
readonly diffMethod?: DiffMethod;
|
|
10
|
+
readonly disableGutter?: boolean;
|
|
11
|
+
readonly field: TField;
|
|
12
|
+
readonly fields: ClientField[];
|
|
13
|
+
readonly i18n: I18nClient;
|
|
14
|
+
readonly isRichText?: boolean;
|
|
15
|
+
readonly locale?: string;
|
|
16
|
+
readonly locales?: string[];
|
|
17
|
+
readonly permissions?: Record<string, FieldPermissions>;
|
|
18
|
+
readonly version: any;
|
|
20
19
|
};
|
|
21
20
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAE7D,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAEzE,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,WAAW,GAAG,WAAW,IAAI;IACzE,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAA;IACxB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAA;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACvD,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAA;CACtB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../../../src/views/Version/RenderFieldsToDiff/fields/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientField, FieldPermissions } from 'payload'\nimport type React from 'react'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nexport type DiffComponents = Record<string, React.FC<DiffComponentProps>>\n\nexport type DiffComponentProps<TField extends ClientField = ClientField> = {\n readonly comparison: any\n readonly diffComponents: DiffComponents\n readonly diffMethod?: DiffMethod\n readonly disableGutter?: boolean\n readonly field: TField\n readonly fields: ClientField[]\n readonly i18n: I18nClient\n readonly isRichText?: boolean\n readonly locale?: string\n readonly locales?: string[]\n readonly permissions?: Record<string, FieldPermissions>\n readonly version: any\n}\n"],"names":[],"mappings":"AAOA,WAaC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAkB,KAAK,EAAE,MAAM,YAAY,CAAA;AAIvD,OAAO,cAAc,CAAA;AAIrB,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA8HvC,CAAA;AAED,eAAe,kBAAkB,CAAA"}
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { fieldAffectsData } from 'payload/shared';
|
|
3
4
|
import React from 'react';
|
|
4
5
|
import Nested from './fields/Nested/index.js';
|
|
5
6
|
import { diffMethods } from './fields/diffMethods.js';
|
|
6
7
|
const baseClass = 'render-field-diffs';
|
|
7
|
-
const RenderFieldsToDiff = ({ comparison, diffComponents
|
|
8
|
+
const RenderFieldsToDiff = ({ comparison, diffComponents: __diffComponents, fieldPermissions, fields, i18n, locales, version })=>{
|
|
9
|
+
// typing it as `as typeof _diffComponents` here ensures the TField generics of DiffComponentProps are respected.
|
|
10
|
+
// Without it, you could pass a UI field to the Tabs component, without it erroring
|
|
11
|
+
const diffComponents = __diffComponents;
|
|
8
12
|
return /*#__PURE__*/ _jsx("div", {
|
|
9
13
|
className: baseClass,
|
|
10
|
-
children:
|
|
14
|
+
children: fields?.map((field, i)=>{
|
|
11
15
|
if ('name' in field && field.name === 'id') return null;
|
|
12
16
|
const Component = diffComponents[field.type];
|
|
13
17
|
const isRichText = field.type === 'richText';
|
|
14
18
|
const diffMethod = diffMethods[field.type] || 'CHARS';
|
|
15
19
|
if (Component) {
|
|
16
|
-
if (field
|
|
20
|
+
if (fieldAffectsData(field)) {
|
|
17
21
|
const fieldName = field.name;
|
|
18
22
|
const valueIsObject = field.type === 'code' || field.type === 'json';
|
|
19
23
|
const versionValue = valueIsObject ? JSON.stringify(version?.[fieldName]) : version?.[fieldName];
|
|
@@ -26,8 +30,8 @@ const RenderFieldsToDiff = ({ comparison, diffComponents, fieldMap, fieldPermiss
|
|
|
26
30
|
diffComponents,
|
|
27
31
|
diffMethod,
|
|
28
32
|
field,
|
|
29
|
-
fieldMap: 'fieldMap' in field.fieldComponentProps ? field.fieldComponentProps?.fieldMap : fieldMap,
|
|
30
33
|
fieldPermissions: subFieldPermissions,
|
|
34
|
+
fields: 'fields' in field ? field?.fields : fields,
|
|
31
35
|
i18n,
|
|
32
36
|
isRichText,
|
|
33
37
|
locales,
|
|
@@ -67,26 +71,26 @@ const RenderFieldsToDiff = ({ comparison, diffComponents, fieldMap, fieldPermiss
|
|
|
67
71
|
})
|
|
68
72
|
}, i);
|
|
69
73
|
}
|
|
70
|
-
if (field.type === 'tabs' && '
|
|
74
|
+
if (field.type === 'tabs' && 'fields' in field) {
|
|
71
75
|
const Tabs = diffComponents.tabs;
|
|
72
76
|
return /*#__PURE__*/ _jsx(Tabs, {
|
|
73
77
|
comparison: comparison,
|
|
74
78
|
diffComponents: diffComponents,
|
|
75
79
|
field: field,
|
|
76
|
-
|
|
80
|
+
fields: [],
|
|
77
81
|
i18n: i18n,
|
|
78
82
|
locales: locales,
|
|
79
83
|
version: version
|
|
80
84
|
}, i);
|
|
81
85
|
}
|
|
82
86
|
// At this point, we are dealing with a `row`, etc
|
|
83
|
-
if ('
|
|
87
|
+
if ('fields' in field) {
|
|
84
88
|
return /*#__PURE__*/ _jsx(Nested, {
|
|
85
89
|
comparison: comparison,
|
|
86
90
|
diffComponents: diffComponents,
|
|
87
91
|
disableGutter: true,
|
|
88
92
|
field: field,
|
|
89
|
-
|
|
93
|
+
fields: field.fields,
|
|
90
94
|
i18n: i18n,
|
|
91
95
|
locales: locales,
|
|
92
96
|
permissions: fieldPermissions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Version/RenderFieldsToDiff/index.tsx"],"sourcesContent":["'use client'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nimport React from 'react'\n\nimport type { FieldDiffProps, Props } from './types.js'\n\nimport Nested from './fields/Nested/index.js'\nimport { diffMethods } from './fields/diffMethods.js'\nimport './index.scss'\n\nconst baseClass = 'render-field-diffs'\n\nconst RenderFieldsToDiff: React.FC<Props> = ({\n comparison,\n diffComponents,\n
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Version/RenderFieldsToDiff/index.tsx"],"sourcesContent":["'use client'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nimport { UIFieldClient } from 'payload'\nimport { fieldAffectsData } from 'payload/shared'\nimport React from 'react'\n\nimport type { diffComponents as _diffComponents } from './fields/index.js'\nimport type { FieldDiffProps, Props } from './types.js'\n\nimport Nested from './fields/Nested/index.js'\nimport { diffMethods } from './fields/diffMethods.js'\nimport './index.scss'\n\nconst baseClass = 'render-field-diffs'\n\nconst RenderFieldsToDiff: React.FC<Props> = ({\n comparison,\n diffComponents: __diffComponents,\n fieldPermissions,\n fields,\n i18n,\n locales,\n version,\n}) => {\n // typing it as `as typeof _diffComponents` here ensures the TField generics of DiffComponentProps are respected.\n // Without it, you could pass a UI field to the Tabs component, without it erroring\n const diffComponents: typeof _diffComponents = __diffComponents as typeof _diffComponents\n return (\n <div className={baseClass}>\n {fields?.map((field, i) => {\n if ('name' in field && field.name === 'id') return null\n\n const Component = diffComponents[field.type]\n\n const isRichText = field.type === 'richText'\n const diffMethod: DiffMethod = diffMethods[field.type] || 'CHARS'\n\n if (Component) {\n if (fieldAffectsData(field)) {\n const fieldName = field.name\n const valueIsObject = field.type === 'code' || field.type === 'json'\n\n const versionValue = valueIsObject\n ? JSON.stringify(version?.[fieldName])\n : version?.[fieldName]\n\n const comparisonValue = valueIsObject\n ? JSON.stringify(comparison?.[fieldName])\n : comparison?.[fieldName]\n\n const hasPermission = fieldPermissions?.[fieldName]?.read?.permission\n\n const subFieldPermissions = fieldPermissions?.[fieldName]?.fields\n\n if (hasPermission === false) return null\n\n const baseCellProps: FieldDiffProps = {\n comparison: comparisonValue,\n diffComponents,\n diffMethod,\n field,\n fieldPermissions: subFieldPermissions,\n fields: 'fields' in field ? field?.fields : fields,\n i18n,\n isRichText,\n locales,\n version: versionValue,\n }\n\n if (field.localized) {\n return (\n <div className={`${baseClass}__field`} key={i}>\n {locales.map((locale, index) => {\n const versionLocaleValue = versionValue?.[locale]\n const comparisonLocaleValue = comparisonValue?.[locale]\n\n const cellProps = {\n ...baseCellProps,\n comparison: comparisonLocaleValue,\n version: versionLocaleValue,\n }\n\n return (\n <div className={`${baseClass}__locale`} key={[locale, index].join('-')}>\n <div className={`${baseClass}__locale-value`}>\n <Component {...cellProps} locale={locale} />\n </div>\n </div>\n )\n })}\n </div>\n )\n }\n\n return (\n <div className={`${baseClass}__field`} key={i}>\n <Component {...baseCellProps} />\n </div>\n )\n }\n\n if (field.type === 'tabs' && 'fields' in field) {\n const Tabs = diffComponents.tabs\n\n return (\n <Tabs\n comparison={comparison}\n diffComponents={diffComponents}\n field={field}\n fields={[]}\n i18n={i18n}\n key={i}\n locales={locales}\n version={version}\n />\n )\n }\n\n // At this point, we are dealing with a `row`, etc\n if ('fields' in field) {\n return (\n <Nested\n comparison={comparison}\n diffComponents={diffComponents}\n disableGutter\n field={field}\n fields={field.fields}\n i18n={i18n}\n key={i}\n locales={locales}\n permissions={fieldPermissions}\n version={version}\n />\n )\n }\n }\n\n return null\n })}\n </div>\n )\n}\n\nexport default RenderFieldsToDiff\n"],"names":["fieldAffectsData","React","Nested","diffMethods","baseClass","RenderFieldsToDiff","comparison","diffComponents","__diffComponents","fieldPermissions","fields","i18n","locales","version","div","className","map","field","i","name","Component","type","isRichText","diffMethod","fieldName","valueIsObject","versionValue","JSON","stringify","comparisonValue","hasPermission","read","permission","subFieldPermissions","baseCellProps","localized","locale","index","versionLocaleValue","comparisonLocaleValue","cellProps","join","Tabs","tabs","disableGutter","permissions"],"mappings":"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"}
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import type { I18nClient } from '@payloadcms/translations';
|
|
2
|
-
import type {
|
|
3
|
-
import type { FieldPermissions } from 'payload';
|
|
2
|
+
import type { ClientField, FieldPermissions } from 'payload';
|
|
4
3
|
import type { DiffMethod } from 'react-diff-viewer-continued';
|
|
5
4
|
import type { DiffComponents } from './fields/types.js';
|
|
6
5
|
export type Props = {
|
|
7
|
-
comparison: Record<string, any>;
|
|
8
|
-
diffComponents: DiffComponents;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
i18n: I18nClient;
|
|
12
|
-
locales: string[];
|
|
13
|
-
version: Record<string, any>;
|
|
6
|
+
readonly comparison: Record<string, any>;
|
|
7
|
+
readonly diffComponents: DiffComponents;
|
|
8
|
+
readonly fieldPermissions: Record<string, FieldPermissions>;
|
|
9
|
+
readonly fields: ClientField[];
|
|
10
|
+
readonly i18n: I18nClient;
|
|
11
|
+
readonly locales: string[];
|
|
12
|
+
readonly version: Record<string, any>;
|
|
14
13
|
};
|
|
15
14
|
export type FieldDiffProps = {
|
|
16
15
|
diffMethod: DiffMethod;
|
|
17
|
-
field:
|
|
16
|
+
field: ClientField;
|
|
18
17
|
isRichText: boolean;
|
|
19
18
|
} & Props;
|
|
20
19
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACxC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC3D,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACtC,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,WAAW,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;CACpB,GAAG,KAAK,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Version/RenderFieldsToDiff/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Version/RenderFieldsToDiff/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientField, FieldPermissions } from 'payload'\nimport type { DiffMethod } from 'react-diff-viewer-continued'\n\nimport type { DiffComponents } from './fields/types.js'\n\nexport type Props = {\n readonly comparison: Record<string, any>\n readonly diffComponents: DiffComponents\n readonly fieldPermissions: Record<string, FieldPermissions>\n readonly fields: ClientField[]\n readonly i18n: I18nClient\n readonly locales: string[]\n readonly version: Record<string, any>\n}\n\nexport type FieldDiffProps = {\n diffMethod: DiffMethod\n field: ClientField\n isRichText: boolean\n} & Props\n"],"names":[],"mappings":"AAgBA,WAIS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Restore/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Restore/index.tsx"],"names":[],"mappings":"AAeA,OAAO,KAA0C,MAAM,OAAO,CAAA;AAG9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,cAAc,CAAA;AAKrB,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgH5B,CAAA;AAED,eAAe,OAAO,CAAA"}
|
|
@@ -1,33 +1,41 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { getTranslation } from '@payloadcms/translations';
|
|
4
|
-
import { Button, Modal, Pill, useConfig, useModal, useTranslation } from '@payloadcms/ui';
|
|
5
|
-
import { requests } from '@payloadcms/ui/shared';
|
|
4
|
+
import { Button, ChevronIcon, Modal, Pill, Popup, PopupList, useConfig, useModal, useTranslation } from '@payloadcms/ui';
|
|
5
|
+
import { formatAdminURL, requests } from '@payloadcms/ui/shared';
|
|
6
6
|
import { useRouter } from 'next/navigation.js';
|
|
7
7
|
import React, { Fragment, useCallback, useState } from 'react';
|
|
8
8
|
import { toast } from 'sonner';
|
|
9
9
|
import { MinimalTemplate } from '../../../templates/Minimal/index.js';
|
|
10
10
|
const baseClass = 'restore-version';
|
|
11
11
|
const modalSlug = 'restore-version';
|
|
12
|
-
const Restore = ({ className, collectionSlug, globalSlug, label, originalDocID, versionDate, versionID })=>{
|
|
13
|
-
const { routes: { admin, api }, serverURL } = useConfig();
|
|
12
|
+
const Restore = ({ className, collectionSlug, globalSlug, label, originalDocID, status, versionDate, versionID })=>{
|
|
13
|
+
const { config: { routes: { admin: adminRoute, api: apiRoute }, serverURL } } = useConfig();
|
|
14
14
|
const { toggleModal } = useModal();
|
|
15
15
|
const [processing, setProcessing] = useState(false);
|
|
16
16
|
const router = useRouter();
|
|
17
17
|
const { i18n, t } = useTranslation();
|
|
18
|
+
const [draft, setDraft] = useState(false);
|
|
18
19
|
const restoreMessage = t('version:aboutToRestoreGlobal', {
|
|
19
20
|
label: getTranslation(label, i18n),
|
|
20
21
|
versionDate
|
|
21
22
|
});
|
|
22
|
-
let fetchURL = `${serverURL}${
|
|
23
|
+
let fetchURL = `${serverURL}${apiRoute}`;
|
|
23
24
|
let redirectURL;
|
|
25
|
+
const canRestoreAsDraft = status !== 'draft';
|
|
24
26
|
if (collectionSlug) {
|
|
25
|
-
fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}`;
|
|
26
|
-
redirectURL =
|
|
27
|
+
fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}?draft=${draft}`;
|
|
28
|
+
redirectURL = formatAdminURL({
|
|
29
|
+
adminRoute,
|
|
30
|
+
path: `/collections/${collectionSlug}/${originalDocID}`
|
|
31
|
+
});
|
|
27
32
|
}
|
|
28
33
|
if (globalSlug) {
|
|
29
|
-
fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}`;
|
|
30
|
-
redirectURL =
|
|
34
|
+
fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}?draft=${draft}`;
|
|
35
|
+
redirectURL = formatAdminURL({
|
|
36
|
+
adminRoute,
|
|
37
|
+
path: `/globals/${globalSlug}`
|
|
38
|
+
});
|
|
31
39
|
}
|
|
32
40
|
const handleRestore = useCallback(async ()=>{
|
|
33
41
|
setProcessing(true);
|
|
@@ -52,13 +60,38 @@ const Restore = ({ className, collectionSlug, globalSlug, label, originalDocID,
|
|
|
52
60
|
]);
|
|
53
61
|
return /*#__PURE__*/ _jsxs(Fragment, {
|
|
54
62
|
children: [
|
|
55
|
-
/*#__PURE__*/
|
|
63
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
56
64
|
className: [
|
|
57
65
|
baseClass,
|
|
58
66
|
className
|
|
59
67
|
].filter(Boolean).join(' '),
|
|
60
|
-
|
|
61
|
-
|
|
68
|
+
children: [
|
|
69
|
+
/*#__PURE__*/ _jsx(Pill, {
|
|
70
|
+
className: [
|
|
71
|
+
canRestoreAsDraft && `${baseClass}__button`
|
|
72
|
+
].filter(Boolean).join(' '),
|
|
73
|
+
onClick: ()=>toggleModal(modalSlug),
|
|
74
|
+
children: t('version:restoreThisVersion')
|
|
75
|
+
}),
|
|
76
|
+
canRestoreAsDraft && /*#__PURE__*/ _jsx(Popup, {
|
|
77
|
+
button: /*#__PURE__*/ _jsx(Pill, {
|
|
78
|
+
className: `${baseClass}__chevron`,
|
|
79
|
+
children: /*#__PURE__*/ _jsx(ChevronIcon, {})
|
|
80
|
+
}),
|
|
81
|
+
caret: false,
|
|
82
|
+
render: ()=>/*#__PURE__*/ _jsx(PopupList.ButtonGroup, {
|
|
83
|
+
children: /*#__PURE__*/ _jsx(PopupList.Button, {
|
|
84
|
+
onClick: ()=>[
|
|
85
|
+
setDraft(true),
|
|
86
|
+
toggleModal(modalSlug)
|
|
87
|
+
],
|
|
88
|
+
children: t('version:restoreAsDraft')
|
|
89
|
+
})
|
|
90
|
+
}),
|
|
91
|
+
size: "large",
|
|
92
|
+
verticalAlign: "bottom"
|
|
93
|
+
})
|
|
94
|
+
]
|
|
62
95
|
}),
|
|
63
96
|
/*#__PURE__*/ _jsx(Modal, {
|
|
64
97
|
className: `${baseClass}__modal`,
|
|
@@ -79,7 +112,7 @@ const Restore = ({ className, collectionSlug, globalSlug, label, originalDocID,
|
|
|
79
112
|
children: t('general:cancel')
|
|
80
113
|
}),
|
|
81
114
|
/*#__PURE__*/ _jsx(Button, {
|
|
82
|
-
onClick: processing ? undefined : handleRestore,
|
|
115
|
+
onClick: processing ? undefined : ()=>void handleRestore(),
|
|
83
116
|
children: processing ? t('version:restoring') : t('general:confirm')
|
|
84
117
|
})
|
|
85
118
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n Button,\n ChevronIcon,\n Modal,\n Pill,\n Popup,\n PopupList,\n useConfig,\n useModal,\n useTranslation,\n} from '@payloadcms/ui'\nimport { formatAdminURL, requests } from '@payloadcms/ui/shared'\nimport { useRouter } from 'next/navigation.js'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport type { Props } from './types.js'\n\nimport { MinimalTemplate } from '../../../templates/Minimal/index.js'\nimport './index.scss'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\nconst Restore: React.FC<Props> = ({\n className,\n collectionSlug,\n globalSlug,\n label,\n originalDocID,\n status,\n versionDate,\n versionID,\n}) => {\n const {\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { toggleModal } = useModal()\n const [processing, setProcessing] = useState(false)\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const [draft, setDraft] = useState(false)\n\n const restoreMessage = t('version:aboutToRestoreGlobal', {\n label: getTranslation(label, i18n),\n versionDate,\n })\n\n let fetchURL = `${serverURL}${apiRoute}`\n let redirectURL: string\n const canRestoreAsDraft = status !== 'draft'\n\n if (collectionSlug) {\n fetchURL = `${fetchURL}/${collectionSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${originalDocID}`,\n })\n }\n\n if (globalSlug) {\n fetchURL = `${fetchURL}/globals/${globalSlug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalSlug}`,\n })\n }\n\n const handleRestore = useCallback(async () => {\n setProcessing(true)\n\n const res = await requests.post(fetchURL, {\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (res.status === 200) {\n const json = await res.json()\n toast.success(json.message)\n router.push(redirectURL)\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [fetchURL, redirectURL, t, i18n, router])\n return (\n <Fragment>\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Pill\n className={[canRestoreAsDraft && `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => toggleModal(modalSlug)}\n >\n {t('version:restoreThisVersion')}\n </Pill>\n {canRestoreAsDraft && (\n <Popup\n button={\n <Pill className={`${baseClass}__chevron`}>\n <ChevronIcon />\n </Pill>\n }\n caret={false}\n render={() => (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={() => [setDraft(true), toggleModal(modalSlug)]}>\n {t('version:restoreAsDraft')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )}\n size=\"large\"\n verticalAlign=\"bottom\"\n />\n )}\n </div>\n <Modal className={`${baseClass}__modal`} slug={modalSlug}>\n <MinimalTemplate className={`${baseClass}__modal-template`}>\n <h1>{t('version:confirmVersionRestoration')}</h1>\n <p>{restoreMessage}</p>\n <Button\n buttonStyle=\"secondary\"\n onClick={processing ? undefined : () => toggleModal(modalSlug)}\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button onClick={processing ? undefined : () => void handleRestore()}>\n {processing ? t('version:restoring') : t('general:confirm')}\n </Button>\n </MinimalTemplate>\n </Modal>\n </Fragment>\n )\n}\n\nexport default Restore\n"],"names":["getTranslation","Button","ChevronIcon","Modal","Pill","Popup","PopupList","useConfig","useModal","useTranslation","formatAdminURL","requests","useRouter","React","Fragment","useCallback","useState","toast","MinimalTemplate","baseClass","modalSlug","Restore","className","collectionSlug","globalSlug","label","originalDocID","status","versionDate","versionID","config","routes","admin","adminRoute","api","apiRoute","serverURL","toggleModal","processing","setProcessing","router","i18n","t","draft","setDraft","restoreMessage","fetchURL","redirectURL","canRestoreAsDraft","path","handleRestore","res","post","headers","language","json","success","message","push","error","div","filter","Boolean","join","onClick","button","caret","render","ButtonGroup","size","verticalAlign","slug","h1","p","buttonStyle","undefined","type"],"mappings":"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"}
|
|
@@ -2,6 +2,37 @@
|
|
|
2
2
|
|
|
3
3
|
.restore-version {
|
|
4
4
|
cursor: pointer;
|
|
5
|
+
display: flex;
|
|
6
|
+
|
|
7
|
+
.popup-button {
|
|
8
|
+
display: flex;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
&__chevron {
|
|
12
|
+
background-color: var(--theme-elevation-150);
|
|
13
|
+
border-top-left-radius: 0;
|
|
14
|
+
border-bottom-left-radius: 0;
|
|
15
|
+
cursor: pointer;
|
|
16
|
+
|
|
17
|
+
.stroke {
|
|
18
|
+
stroke-width: 1px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&:hover {
|
|
22
|
+
background: var(--theme-elevation-100);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&__button {
|
|
27
|
+
border-top-right-radius: 0px;
|
|
28
|
+
border-bottom-right-radius: 0px;
|
|
29
|
+
margin-right: 2px;
|
|
30
|
+
|
|
31
|
+
&:focus {
|
|
32
|
+
border-radius: 0;
|
|
33
|
+
outline-offset: 0;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
5
36
|
|
|
6
37
|
&__modal {
|
|
7
38
|
@include blur-bg;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Restore/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/E,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAClD,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC1C,KAAK,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACtD,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Restore/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/E,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IAClD,UAAU,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;IAC1C,KAAK,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACtD,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Version/Restore/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nexport type Props = {\n className?: string\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalSlug?: SanitizedGlobalConfig['slug']\n label: SanitizedCollectionConfig['labels']['singular']\n originalDocID: number | string\n versionDate: string\n versionID: string\n}\n"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Version/Restore/types.ts"],"sourcesContent":["import type { SanitizedCollectionConfig, SanitizedGlobalConfig } from 'payload'\n\nexport type Props = {\n className?: string\n collectionSlug?: SanitizedCollectionConfig['slug']\n globalSlug?: SanitizedGlobalConfig['slug']\n label: SanitizedCollectionConfig['labels']['singular']\n originalDocID: number | string\n status?: string\n versionDate: string\n versionID: string\n}\n"],"names":[],"mappings":"AAEA,WASC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,cAAc,CAAA;AAQrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,cAAc,CAAA;AAQrB,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyJ5C,CAAA"}
|
|
@@ -10,7 +10,7 @@ const maxResultsPerRequest = 10;
|
|
|
10
10
|
const baseOptions = [];
|
|
11
11
|
export const SelectComparison = (props)=>{
|
|
12
12
|
const { baseURL, latestDraftVersion, latestPublishedVersion, onChange, parentID, value, versionID } = props;
|
|
13
|
-
const { admin: { dateFormat } } = useConfig();
|
|
13
|
+
const { config: { admin: { dateFormat } } } = useConfig();
|
|
14
14
|
const [options, setOptions] = useState(baseOptions);
|
|
15
15
|
const [lastLoadedPage, setLastLoadedPage] = useState(1);
|
|
16
16
|
const [errorLoading, setErrorLoading] = useState('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { ReactSelect, fieldBaseClass, useConfig, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { renderPill } from '../../Versions/cells/AutosaveCell/index.js'\nimport './index.scss'\n\nconst baseClass = 'compare-version'\n\nconst maxResultsPerRequest = 10\n\nconst baseOptions = []\n\nexport const SelectComparison: React.FC<Props> = (props) => {\n const {\n baseURL,\n latestDraftVersion,\n latestPublishedVersion,\n onChange,\n parentID,\n value,\n versionID,\n } = props\n\n const {\n admin: { dateFormat },\n } = useConfig()\n\n const [options, setOptions] = useState<\n {\n label: React.ReactNode | string\n value: string\n }[]\n >(baseOptions)\n const [lastLoadedPage, setLastLoadedPage] = useState(1)\n const [errorLoading, setErrorLoading] = useState('')\n const { i18n, t } = useTranslation()\n const loadedAllOptionsRef = React.useRef(false)\n\n const getResults = useCallback(\n async ({ lastLoadedPage: lastLoadedPageArg }) => {\n if (loadedAllOptionsRef.current) return\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: lastLoadedPageArg,\n where: {\n and: [\n {\n id: {\n not_equals: versionID,\n },\n },\n ],\n },\n }\n\n if (parentID) {\n query.where.and.push({\n parent: {\n equals: parentID,\n },\n })\n }\n\n const search = qs.stringify(query)\n\n const response = await fetch(`${baseURL}?${search}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n\n if (data.docs.length > 0) {\n const versionInfo = {\n draft: {\n currentLabel: t('version:currentDraft'),\n latestVersion: latestDraftVersion,\n pillStyle: undefined,\n previousLabel: t('version:draft'),\n },\n published: {\n currentLabel: t('version:currentPublishedVersion'),\n latestVersion: latestPublishedVersion,\n pillStyle: 'success',\n previousLabel: t('version:previouslyPublished'),\n },\n }\n\n const additionalOptions = data.docs.map((doc) => {\n const status = doc.version._status\n const { currentLabel, latestVersion, pillStyle, previousLabel } =\n versionInfo[status] || {}\n\n return {\n label: (\n <div>\n {formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })}\n \n {renderPill(doc, latestVersion, currentLabel, previousLabel, pillStyle)}\n </div>\n ),\n value: doc.id,\n }\n })\n\n setOptions((existingOptions) => [...existingOptions, ...additionalOptions])\n\n if (!data.hasNextPage) {\n loadedAllOptionsRef.current = true\n }\n setLastLoadedPage(data.page)\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n },\n [dateFormat, baseURL, parentID, versionID, t, i18n, latestDraftVersion, latestPublishedVersion],\n )\n\n useEffect(() => {\n void getResults({ lastLoadedPage: 1 })\n }, [getResults])\n\n const filteredOptions = options.filter(\n (option, index, self) => self.findIndex((t) => t.value === option.value) === index,\n )\n\n useEffect(() => {\n if (filteredOptions.length > 0 && !value) {\n onChange(filteredOptions[0])\n }\n }, [filteredOptions, value, onChange])\n\n return (\n <div\n className={[fieldBaseClass, baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__label`}>{t('version:compareVersion')}</div>\n {!errorLoading && (\n <ReactSelect\n isClearable={false}\n isSearchable={false}\n onChange={onChange}\n onMenuScrollToBottom={() => {\n void getResults({ lastLoadedPage: lastLoadedPage + 1 })\n }}\n options={filteredOptions}\n placeholder={t('version:selectVersionToCompare')}\n value={value}\n />\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n </div>\n )\n}\n"],"names":["ReactSelect","fieldBaseClass","useConfig","useTranslation","formatDate","qs","React","useCallback","useEffect","useState","renderPill","baseClass","maxResultsPerRequest","baseOptions","SelectComparison","props","baseURL","latestDraftVersion","latestPublishedVersion","onChange","parentID","value","versionID","admin","dateFormat","options","setOptions","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","i18n","t","loadedAllOptionsRef","useRef","getResults","lastLoadedPageArg","current","query","depth","limit","page","where","and","id","not_equals","push","parent","equals","search","stringify","response","fetch","credentials","headers","language","ok","data","json","docs","length","versionInfo","draft","currentLabel","latestVersion","pillStyle","undefined","previousLabel","published","additionalOptions","map","doc","status","version","_status","label","div","date","updatedAt","pattern","existingOptions","hasNextPage","filteredOptions","filter","option","index","self","findIndex","className","Boolean","join","isClearable","isSearchable","onMenuScrollToBottom","placeholder"],"mappings":"AAAA;;AAIA,SAASA,WAAW,EAAEC,cAAc,EAAEC,SAAS,EAAEC,cAAc,QAAQ,iBAAgB;AACvF,SAASC,UAAU,QAAQ,wBAAuB;AAClD,YAAYC,QAAQ,SAAQ;AAC5B,OAAOC,SAASC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAI/D,SAASC,UAAU,QAAQ,6CAA4C;AAGvE,MAAMC,YAAY;AAElB,MAAMC,uBAAuB;AAE7B,MAAMC,cAAc,EAAE;AAEtB,OAAO,MAAMC,mBAAoC,CAACC;IAChD,MAAM,EACJC,OAAO,EACPC,kBAAkB,EAClBC,sBAAsB,EACtBC,QAAQ,EACRC,QAAQ,EACRC,KAAK,EACLC,SAAS,EACV,GAAGP;IAEJ,MAAM,EACJQ,OAAO,EAAEC,UAAU,EAAE,EACtB,
|
|
1
|
+
{"version":3,"sources":["../../../../src/views/Version/SelectComparison/index.tsx"],"sourcesContent":["'use client'\n\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport { ReactSelect, fieldBaseClass, useConfig, useTranslation } from '@payloadcms/ui'\nimport { formatDate } from '@payloadcms/ui/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { Props } from './types.js'\n\nimport { renderPill } from '../../Versions/cells/AutosaveCell/index.js'\nimport './index.scss'\n\nconst baseClass = 'compare-version'\n\nconst maxResultsPerRequest = 10\n\nconst baseOptions = []\n\nexport const SelectComparison: React.FC<Props> = (props) => {\n const {\n baseURL,\n latestDraftVersion,\n latestPublishedVersion,\n onChange,\n parentID,\n value,\n versionID,\n } = props\n\n const {\n config: {\n admin: { dateFormat },\n },\n } = useConfig()\n\n const [options, setOptions] = useState<\n {\n label: React.ReactNode | string\n value: string\n }[]\n >(baseOptions)\n const [lastLoadedPage, setLastLoadedPage] = useState(1)\n const [errorLoading, setErrorLoading] = useState('')\n const { i18n, t } = useTranslation()\n const loadedAllOptionsRef = React.useRef(false)\n\n const getResults = useCallback(\n async ({ lastLoadedPage: lastLoadedPageArg }) => {\n if (loadedAllOptionsRef.current) return\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: lastLoadedPageArg,\n where: {\n and: [\n {\n id: {\n not_equals: versionID,\n },\n },\n ],\n },\n }\n\n if (parentID) {\n query.where.and.push({\n parent: {\n equals: parentID,\n },\n })\n }\n\n const search = qs.stringify(query)\n\n const response = await fetch(`${baseURL}?${search}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n\n if (data.docs.length > 0) {\n const versionInfo = {\n draft: {\n currentLabel: t('version:currentDraft'),\n latestVersion: latestDraftVersion,\n pillStyle: undefined,\n previousLabel: t('version:draft'),\n },\n published: {\n currentLabel: t('version:currentPublishedVersion'),\n latestVersion: latestPublishedVersion,\n pillStyle: 'success',\n previousLabel: t('version:previouslyPublished'),\n },\n }\n\n const additionalOptions = data.docs.map((doc) => {\n const status = doc.version._status\n const { currentLabel, latestVersion, pillStyle, previousLabel } =\n versionInfo[status] || {}\n\n return {\n label: (\n <div>\n {formatDate({ date: doc.updatedAt, i18n, pattern: dateFormat })}\n \n {renderPill(doc, latestVersion, currentLabel, previousLabel, pillStyle)}\n </div>\n ),\n value: doc.id,\n }\n })\n\n setOptions((existingOptions) => [...existingOptions, ...additionalOptions])\n\n if (!data.hasNextPage) {\n loadedAllOptionsRef.current = true\n }\n setLastLoadedPage(data.page)\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n },\n [dateFormat, baseURL, parentID, versionID, t, i18n, latestDraftVersion, latestPublishedVersion],\n )\n\n useEffect(() => {\n void getResults({ lastLoadedPage: 1 })\n }, [getResults])\n\n const filteredOptions = options.filter(\n (option, index, self) => self.findIndex((t) => t.value === option.value) === index,\n )\n\n useEffect(() => {\n if (filteredOptions.length > 0 && !value) {\n onChange(filteredOptions[0])\n }\n }, [filteredOptions, value, onChange])\n\n return (\n <div\n className={[fieldBaseClass, baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__label`}>{t('version:compareVersion')}</div>\n {!errorLoading && (\n <ReactSelect\n isClearable={false}\n isSearchable={false}\n onChange={onChange}\n onMenuScrollToBottom={() => {\n void getResults({ lastLoadedPage: lastLoadedPage + 1 })\n }}\n options={filteredOptions}\n placeholder={t('version:selectVersionToCompare')}\n value={value}\n />\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n </div>\n )\n}\n"],"names":["ReactSelect","fieldBaseClass","useConfig","useTranslation","formatDate","qs","React","useCallback","useEffect","useState","renderPill","baseClass","maxResultsPerRequest","baseOptions","SelectComparison","props","baseURL","latestDraftVersion","latestPublishedVersion","onChange","parentID","value","versionID","config","admin","dateFormat","options","setOptions","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","i18n","t","loadedAllOptionsRef","useRef","getResults","lastLoadedPageArg","current","query","depth","limit","page","where","and","id","not_equals","push","parent","equals","search","stringify","response","fetch","credentials","headers","language","ok","data","json","docs","length","versionInfo","draft","currentLabel","latestVersion","pillStyle","undefined","previousLabel","published","additionalOptions","map","doc","status","version","_status","label","div","date","updatedAt","pattern","existingOptions","hasNextPage","filteredOptions","filter","option","index","self","findIndex","className","Boolean","join","isClearable","isSearchable","onMenuScrollToBottom","placeholder"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { EditViewComponent } from 'payload';
|
|
2
|
-
export declare const VersionView: EditViewComponent
|
|
1
|
+
import type { EditViewComponent, PayloadServerReactComponent } from 'payload';
|
|
2
|
+
export declare const VersionView: PayloadServerReactComponent<EditViewComponent>;
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EAGjB,2BAA2B,EAC5B,MAAM,SAAS,CAAA;AAShB,eAAO,MAAM,WAAW,EAAE,2BAA2B,CAAC,iBAAiB,CA2ItE,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { notFound } from 'next/navigation.js';
|
|
3
|
+
import { deepCopyObjectSimple } from 'payload';
|
|
3
4
|
import React from 'react';
|
|
4
5
|
import { getLatestVersion } from '../Versions/getLatestVersion.js';
|
|
5
6
|
import { DefaultVersionView } from './Default/index.js';
|
|
@@ -30,8 +31,18 @@ export const VersionView = async (props)=>{
|
|
|
30
31
|
user
|
|
31
32
|
});
|
|
32
33
|
if (collectionConfig?.versions?.drafts) {
|
|
33
|
-
latestDraftVersion = await getLatestVersion(
|
|
34
|
-
|
|
34
|
+
latestDraftVersion = await getLatestVersion({
|
|
35
|
+
slug,
|
|
36
|
+
type: 'collection',
|
|
37
|
+
payload,
|
|
38
|
+
status: 'draft'
|
|
39
|
+
});
|
|
40
|
+
latestPublishedVersion = await getLatestVersion({
|
|
41
|
+
slug,
|
|
42
|
+
type: 'collection',
|
|
43
|
+
payload,
|
|
44
|
+
status: 'published'
|
|
45
|
+
});
|
|
35
46
|
}
|
|
36
47
|
} catch (error) {
|
|
37
48
|
return notFound();
|
|
@@ -52,8 +63,18 @@ export const VersionView = async (props)=>{
|
|
|
52
63
|
user
|
|
53
64
|
});
|
|
54
65
|
if (globalConfig?.versions?.drafts) {
|
|
55
|
-
latestDraftVersion = await getLatestVersion(
|
|
56
|
-
|
|
66
|
+
latestDraftVersion = await getLatestVersion({
|
|
67
|
+
slug,
|
|
68
|
+
type: 'global',
|
|
69
|
+
payload,
|
|
70
|
+
status: 'draft'
|
|
71
|
+
});
|
|
72
|
+
latestPublishedVersion = await getLatestVersion({
|
|
73
|
+
slug,
|
|
74
|
+
type: 'global',
|
|
75
|
+
payload,
|
|
76
|
+
status: 'published'
|
|
77
|
+
});
|
|
57
78
|
}
|
|
58
79
|
} catch (error) {
|
|
59
80
|
return notFound();
|
|
@@ -66,8 +87,8 @@ export const VersionView = async (props)=>{
|
|
|
66
87
|
updatedAt: ''
|
|
67
88
|
};
|
|
68
89
|
}
|
|
69
|
-
const localeOptions = localization && localization
|
|
70
|
-
label
|
|
90
|
+
const localeOptions = localization && localization.locales.map(({ code, label })=>({
|
|
91
|
+
label,
|
|
71
92
|
value: code
|
|
72
93
|
}));
|
|
73
94
|
const latestVersion = latestPublishedVersion?.updatedAt > latestDraftVersion?.updatedAt ? latestPublishedVersion : latestDraftVersion;
|
|
@@ -76,10 +97,16 @@ export const VersionView = async (props)=>{
|
|
|
76
97
|
}
|
|
77
98
|
return /*#__PURE__*/ _jsx(DefaultVersionView, {
|
|
78
99
|
doc: doc,
|
|
79
|
-
|
|
100
|
+
/**
|
|
101
|
+
* After bumping the Next.js canary to 104, and React to 19.0.0-rc-06d0b89e-20240801" we have to deepCopy the permissions object (https://github.com/payloadcms/payload/pull/7541).
|
|
102
|
+
* If both HydrateClientUser and RenderCustomComponent receive the same permissions object (same object reference), we get a
|
|
103
|
+
* "TypeError: Cannot read properties of undefined (reading '$$typeof')" error
|
|
104
|
+
*
|
|
105
|
+
* // TODO: Revisit this in the future and figure out why this is happening. Might be a React/Next.js bug. We don't know why it happens, and a future React/Next version might unbreak this (keep an eye on this and remove deepCopyObjectSimple if that's the case)
|
|
106
|
+
*/ docPermissions: deepCopyObjectSimple(docPermissions),
|
|
80
107
|
initialComparisonDoc: latestVersion,
|
|
81
|
-
latestDraftVersion: latestDraftVersion
|
|
82
|
-
latestPublishedVersion: latestPublishedVersion
|
|
108
|
+
latestDraftVersion: latestDraftVersion?.id,
|
|
109
|
+
latestPublishedVersion: latestPublishedVersion?.id,
|
|
83
110
|
localeOptions: localeOptions,
|
|
84
111
|
versionID: versionID
|
|
85
112
|
});
|