@payloadcms/ui 4.0.0-internal.532221d → 4.0.0-internal.567a487
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/AppHeader/index.css +5 -0
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +3 -0
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/ArrayAction/index.d.ts +1 -0
- package/dist/elements/ArrayAction/index.d.ts.map +1 -1
- package/dist/elements/ArrayAction/index.js +45 -32
- package/dist/elements/ArrayAction/index.js.map +1 -1
- package/dist/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +3 -0
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/BranchSelector/NewBranchModal/index.css +46 -0
- package/dist/elements/BranchSelector/NewBranchModal/index.d.ts +12 -0
- package/dist/elements/BranchSelector/NewBranchModal/index.d.ts.map +1 -0
- package/dist/elements/BranchSelector/NewBranchModal/index.js +174 -0
- package/dist/elements/BranchSelector/NewBranchModal/index.js.map +1 -0
- package/dist/elements/BranchSelector/index.css +172 -0
- package/dist/elements/BranchSelector/index.d.ts +13 -0
- package/dist/elements/BranchSelector/index.d.ts.map +1 -0
- package/dist/elements/BranchSelector/index.js +255 -0
- package/dist/elements/BranchSelector/index.js.map +1 -0
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +6 -2
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/Button/index.css +2 -2
- package/dist/elements/ChangeSummary/index.css +18 -0
- package/dist/elements/ChangeSummary/index.d.ts +28 -0
- package/dist/elements/ChangeSummary/index.d.ts.map +1 -0
- package/dist/elements/ChangeSummary/index.js +147 -0
- package/dist/elements/ChangeSummary/index.js.map +1 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts +10 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.d.ts.map +1 -1
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +55 -0
- package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
- package/dist/elements/ColumnSelection/Popup.d.ts.map +1 -1
- package/dist/elements/ColumnSelection/Popup.js +3 -3
- package/dist/elements/ColumnSelection/Popup.js.map +1 -1
- package/dist/elements/Combobox/index.css +84 -23
- package/dist/elements/Combobox/index.d.ts +21 -0
- package/dist/elements/Combobox/index.d.ts.map +1 -1
- package/dist/elements/Combobox/index.js +66 -21
- package/dist/elements/Combobox/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +9 -2
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +4 -1
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/Tab/index.css +5 -3
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.css +12 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.d.ts +12 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.d.ts.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.js +83 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchChangesPill/index.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.d.ts +14 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.d.ts.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.js +28 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/BranchSettingsTab/index.js.map +1 -0
- package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js +32 -1
- package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
- package/dist/elements/Drawer/index.css +10 -4
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +3 -2
- package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +6 -1
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +4 -1
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.js +4 -1
- package/dist/elements/Hierarchy/ColumnBrowser/index.js.map +1 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js +4 -1
- package/dist/elements/Hierarchy/Field/SelectedHierarchies.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts +2 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js +2 -0
- package/dist/elements/Hierarchy/Modal/fetchAncestorPath.js.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Modal/index.js +3 -0
- package/dist/elements/Hierarchy/Modal/index.js.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.d.ts.map +1 -1
- package/dist/elements/Hierarchy/MoveMany/index.js +4 -1
- package/dist/elements/Hierarchy/MoveMany/index.js.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js +3 -0
- package/dist/elements/Hierarchy/Search/useHierarchySearch.js.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.d.ts.map +1 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js +4 -1
- package/dist/elements/Hierarchy/Tree/useChildren.js.map +1 -1
- package/dist/elements/IDLabel/index.css +6 -0
- package/dist/elements/IDLabel/index.d.ts +1 -1
- package/dist/elements/IDLabel/index.d.ts.map +1 -1
- package/dist/elements/IDLabel/index.js +16 -21
- package/dist/elements/IDLabel/index.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts +1 -7
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +26 -32
- package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.d.ts.map +1 -1
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +6 -2
- package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
- package/dist/elements/MergeBranch/context.d.ts +67 -0
- package/dist/elements/MergeBranch/context.d.ts.map +1 -0
- package/dist/elements/MergeBranch/context.js +47 -0
- package/dist/elements/MergeBranch/context.js.map +1 -0
- package/dist/elements/MergeBranch/index.css +136 -0
- package/dist/elements/MergeBranch/index.d.ts +15 -0
- package/dist/elements/MergeBranch/index.d.ts.map +1 -0
- package/dist/elements/MergeBranch/index.js +545 -0
- package/dist/elements/MergeBranch/index.js.map +1 -0
- package/dist/elements/MergeBranch/provider.d.ts +12 -0
- package/dist/elements/MergeBranch/provider.d.ts.map +1 -0
- package/dist/elements/MergeBranch/provider.js +19 -0
- package/dist/elements/MergeBranch/provider.js.map +1 -0
- package/dist/elements/MergeBranch/slug.d.ts +9 -0
- package/dist/elements/MergeBranch/slug.d.ts.map +1 -0
- package/dist/elements/MergeBranch/slug.js +8 -0
- package/dist/elements/MergeBranch/slug.js.map +1 -0
- package/dist/elements/Nav/context.js +2 -2
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/Nav/getNavPrefs.d.ts +6 -0
- package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -1
- package/dist/elements/Nav/getNavPrefs.js +14 -46
- package/dist/elements/Nav/getNavPrefs.js.map +1 -1
- package/dist/elements/NavGroup/index.js +1 -1
- package/dist/elements/NavGroup/index.js.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.d.ts.map +1 -1
- package/dist/elements/PermanentlyDeleteButton/index.js +4 -1
- package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
- package/dist/elements/Popup/PopupButtonList/index.css +1 -1
- package/dist/elements/Popup/index.js +1 -1
- package/dist/elements/Popup/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +6 -2
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/PublishMany/DrawerContent.js +4 -1
- package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.js +1 -3
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +5 -2
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/RestoreButton/index.d.ts.map +1 -1
- package/dist/elements/RestoreButton/index.js +4 -1
- package/dist/elements/RestoreButton/index.js.map +1 -1
- package/dist/elements/RestoreMany/index.d.ts.map +1 -1
- package/dist/elements/RestoreMany/index.js +3 -0
- package/dist/elements/RestoreMany/index.js.map +1 -1
- package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
- package/dist/elements/SaveDraftButton/index.js +15 -2
- package/dist/elements/SaveDraftButton/index.js.map +1 -1
- package/dist/elements/SchedulePublishButton/index.d.ts.map +1 -1
- package/dist/elements/SchedulePublishButton/index.js +7 -1
- package/dist/elements/SchedulePublishButton/index.js.map +1 -1
- package/dist/elements/SortHeader/index.d.ts.map +1 -1
- package/dist/elements/SortHeader/index.js +29 -26
- package/dist/elements/SortHeader/index.js.map +1 -1
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +16 -3
- package/dist/elements/Status/index.js.map +1 -1
- package/dist/elements/StepNav/index.css +71 -14
- package/dist/elements/StepNav/index.d.ts.map +1 -1
- package/dist/elements/StepNav/index.js +135 -69
- package/dist/elements/StepNav/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.css +34 -0
- package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.d.ts +13 -0
- package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.d.ts.map +1 -0
- package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.js +51 -0
- package/dist/elements/Table/DefaultCell/fields/BranchStatus/index.js.map +1 -0
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +3 -11
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +3 -1
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
- package/dist/elements/Table/RelationshipProvider/index.js +29 -23
- package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
- package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
- package/dist/elements/UnpublishButton/index.js +4 -1
- package/dist/elements/UnpublishButton/index.js.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/UnpublishMany/DrawerContent.js +4 -1
- package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +3 -0
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +19 -1
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +1 -1
- package/dist/exports/client/index.js.map +3 -3
- package/dist/fields/Array/ArrayRow.d.ts +1 -0
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +2 -0
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +38 -10
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts +1 -0
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +2 -0
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Blocks/RowActions.d.ts +1 -0
- package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
- package/dist/fields/Blocks/RowActions.js +22 -19
- package/dist/fields/Blocks/RowActions.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +35 -7
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/Relationship/Input.d.ts.map +1 -1
- package/dist/fields/Relationship/Input.js +5 -1
- package/dist/fields/Relationship/Input.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +4 -1
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +4 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
- package/dist/hooks/usePayloadAPI.js +44 -40
- package/dist/hooks/usePayloadAPI.js.map +1 -1
- package/dist/icons/Branch/index.css +5 -0
- package/dist/icons/Branch/index.d.ts +7 -0
- package/dist/icons/Branch/index.d.ts.map +1 -0
- package/dist/icons/Branch/index.js +25 -0
- package/dist/icons/Branch/index.js.map +1 -0
- package/dist/icons/Edit/index.d.ts +0 -1
- package/dist/icons/Edit/index.d.ts.map +1 -1
- package/dist/icons/Edit/index.js +4 -4
- package/dist/icons/Edit/index.js.map +1 -1
- package/dist/providers/Actions/index.d.ts +1 -0
- package/dist/providers/Actions/index.d.ts.map +1 -1
- package/dist/providers/Actions/index.js +43 -11
- package/dist/providers/Actions/index.js.map +1 -1
- package/dist/providers/Auth/AuthSessionDebug/index.css +48 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts +13 -0
- package/dist/providers/Auth/AuthSessionDebug/index.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js +93 -0
- package/dist/providers/Auth/AuthSessionDebug/index.js.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts +21 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js +53 -0
- package/dist/providers/Auth/AuthSessionDebug/utilities.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.d.ts +27 -0
- package/dist/providers/Auth/authSessionRequests.d.ts.map +1 -0
- package/dist/providers/Auth/authSessionRequests.js +119 -0
- package/dist/providers/Auth/authSessionRequests.js.map +1 -0
- package/dist/providers/Auth/authSessionRequests.spec.js +121 -0
- package/dist/providers/Auth/authSessionRequests.spec.js.map +1 -0
- package/dist/providers/Auth/index.d.ts +2 -56
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +283 -135
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/Auth/sessionActivity.d.ts +23 -0
- package/dist/providers/Auth/sessionActivity.d.ts.map +1 -0
- package/dist/providers/Auth/sessionActivity.js +49 -0
- package/dist/providers/Auth/sessionActivity.js.map +1 -0
- package/dist/providers/Auth/sessionActivity.spec.js +44 -0
- package/dist/providers/Auth/sessionActivity.spec.js.map +1 -0
- package/dist/providers/Auth/sessionTiming.d.ts +11 -0
- package/dist/providers/Auth/sessionTiming.d.ts.map +1 -0
- package/dist/providers/Auth/sessionTiming.js +18 -0
- package/dist/providers/Auth/sessionTiming.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts +17 -0
- package/dist/providers/Auth/tabSessionSync/index.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.js +263 -0
- package/dist/providers/Auth/tabSessionSync/index.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js +463 -0
- package/dist/providers/Auth/tabSessionSync/index.spec.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts +107 -0
- package/dist/providers/Auth/tabSessionSync/types.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/types.js +6 -0
- package/dist/providers/Auth/tabSessionSync/types.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts +11 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js +90 -0
- package/dist/providers/Auth/tabSessionSync/useTabSessionSync.js.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts +26 -0
- package/dist/providers/Auth/tabSessionSync/utilities.d.ts.map +1 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js +159 -0
- package/dist/providers/Auth/tabSessionSync/utilities.js.map +1 -0
- package/dist/providers/Auth/types.d.ts +65 -0
- package/dist/providers/Auth/types.d.ts.map +1 -0
- package/dist/providers/Auth/types.js +2 -0
- package/dist/providers/Auth/types.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts +26 -0
- package/dist/providers/Auth/useAuthSessionTimers.d.ts.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.js +203 -0
- package/dist/providers/Auth/useAuthSessionTimers.js.map +1 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js +311 -0
- package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +1 -0
- package/dist/providers/Branch/index.d.ts +68 -0
- package/dist/providers/Branch/index.d.ts.map +1 -0
- package/dist/providers/Branch/index.js +193 -0
- package/dist/providers/Branch/index.js.map +1 -0
- package/dist/providers/Branch/index.server.d.ts +14 -0
- package/dist/providers/Branch/index.server.d.ts.map +1 -0
- package/dist/providers/Branch/index.server.js +125 -0
- package/dist/providers/Branch/index.server.js.map +1 -0
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js +5 -1
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts +2 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.js +3 -1
- package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
- package/dist/providers/FormErrorHandler/index.d.ts +5 -1
- package/dist/providers/FormErrorHandler/index.d.ts.map +1 -1
- package/dist/providers/FormErrorHandler/index.js.map +1 -1
- package/dist/providers/Hierarchy/index.d.ts.map +1 -1
- package/dist/providers/Hierarchy/index.js +4 -1
- package/dist/providers/Hierarchy/index.js.map +1 -1
- package/dist/providers/Locale/index.d.ts.map +1 -1
- package/dist/providers/Locale/index.js +41 -36
- package/dist/providers/Locale/index.js.map +1 -1
- package/dist/providers/Preferences/index.d.ts +3 -1
- package/dist/providers/Preferences/index.d.ts.map +1 -1
- package/dist/providers/Preferences/index.js +9 -3
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/Root/index.js +4 -4
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js +4 -1
- package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js +44 -0
- package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +1 -0
- package/dist/providers/RouteTransition/index.d.ts +2 -0
- package/dist/providers/RouteTransition/index.d.ts.map +1 -1
- package/dist/providers/RouteTransition/index.js +42 -14
- package/dist/providers/RouteTransition/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/templates/Default/index.d.ts +1 -0
- package/dist/templates/Default/index.d.ts.map +1 -1
- package/dist/templates/Default/index.js +44 -36
- package/dist/templates/Default/index.js.map +1 -1
- package/dist/utilities/getAdminPreferences.d.ts +14 -0
- package/dist/utilities/getAdminPreferences.d.ts.map +1 -0
- package/dist/utilities/getAdminPreferences.js +22 -0
- package/dist/utilities/getAdminPreferences.js.map +1 -0
- package/dist/utilities/getRequestBranch.d.ts +20 -0
- package/dist/utilities/getRequestBranch.d.ts.map +1 -0
- package/dist/utilities/getRequestBranch.js +35 -0
- package/dist/utilities/getRequestBranch.js.map +1 -0
- package/dist/utilities/getVersions.d.ts +6 -1
- package/dist/utilities/getVersions.d.ts.map +1 -1
- package/dist/utilities/getVersions.js +5 -0
- package/dist/utilities/getVersions.js.map +1 -1
- package/dist/utilities/initReq.d.ts.map +1 -1
- package/dist/utilities/initReq.js +8 -0
- package/dist/utilities/initReq.js.map +1 -1
- package/dist/utilities/matchesSearchQuery.d.ts +12 -0
- package/dist/utilities/matchesSearchQuery.d.ts.map +1 -0
- package/dist/utilities/matchesSearchQuery.js +23 -0
- package/dist/utilities/matchesSearchQuery.js.map +1 -0
- package/dist/{elements/ColumnSelection/matchesColumnSearch.spec.js → utilities/matchesSearchQuery.spec.js} +29 -29
- package/dist/utilities/matchesSearchQuery.spec.js.map +1 -0
- package/dist/utilities/scheduleMergeHandler.d.ts +33 -0
- package/dist/utilities/scheduleMergeHandler.d.ts.map +1 -0
- package/dist/utilities/scheduleMergeHandler.js +119 -0
- package/dist/utilities/scheduleMergeHandler.js.map +1 -0
- package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
- package/dist/utilities/schedulePublishHandler.js +10 -0
- package/dist/utilities/schedulePublishHandler.js.map +1 -1
- package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
- package/dist/utilities/serverFunctionRegistry.js +6 -0
- package/dist/utilities/serverFunctionRegistry.js.map +1 -1
- package/dist/views/API/index.client.d.ts.map +1 -1
- package/dist/views/API/index.client.js +10 -2
- package/dist/views/API/index.client.js.map +1 -1
- package/dist/views/Branch/BranchChanges/index.d.ts +23 -0
- package/dist/views/Branch/BranchChanges/index.d.ts.map +1 -0
- package/dist/views/Branch/BranchChanges/index.js +150 -0
- package/dist/views/Branch/BranchChanges/index.js.map +1 -0
- package/dist/views/Branch/ChangedDocuments/index.css +118 -0
- package/dist/views/Branch/ChangedDocuments/index.d.ts +34 -0
- package/dist/views/Branch/ChangedDocuments/index.d.ts.map +1 -0
- package/dist/views/Branch/ChangedDocuments/index.js +233 -0
- package/dist/views/Branch/ChangedDocuments/index.js.map +1 -0
- package/dist/views/Branch/DiscardChangesButton/index.d.ts +16 -0
- package/dist/views/Branch/DiscardChangesButton/index.d.ts.map +1 -0
- package/dist/views/Branch/DiscardChangesButton/index.js +106 -0
- package/dist/views/Branch/DiscardChangesButton/index.js.map +1 -0
- package/dist/views/Branch/Manage/index.d.ts +11 -0
- package/dist/views/Branch/Manage/index.d.ts.map +1 -0
- package/dist/views/Branch/Manage/index.js +71 -0
- package/dist/views/Branch/Manage/index.js.map +1 -0
- package/dist/views/Branch/MergeChangesButton/index.d.ts +14 -0
- package/dist/views/Branch/MergeChangesButton/index.d.ts.map +1 -0
- package/dist/views/Branch/MergeChangesButton/index.js +55 -0
- package/dist/views/Branch/MergeChangesButton/index.js.map +1 -0
- package/dist/views/Branch/MergeLedger/index.css +137 -0
- package/dist/views/Branch/MergeLedger/index.d.ts +31 -0
- package/dist/views/Branch/MergeLedger/index.d.ts.map +1 -0
- package/dist/views/Branch/MergeLedger/index.js +211 -0
- package/dist/views/Branch/MergeLedger/index.js.map +1 -0
- package/dist/views/Branch/ScheduledMerges/index.css +83 -0
- package/dist/views/Branch/ScheduledMerges/index.d.ts +32 -0
- package/dist/views/Branch/ScheduledMerges/index.d.ts.map +1 -0
- package/dist/views/Branch/ScheduledMerges/index.js +183 -0
- package/dist/views/Branch/ScheduledMerges/index.js.map +1 -0
- package/dist/views/Branch/index.css +77 -0
- package/dist/views/Branch/index.d.ts +17 -0
- package/dist/views/Branch/index.d.ts.map +1 -0
- package/dist/views/Branch/index.js +188 -0
- package/dist/views/Branch/index.js.map +1 -0
- package/dist/views/Branch/renderBranchDiff.d.ts +29 -0
- package/dist/views/Branch/renderBranchDiff.d.ts.map +1 -0
- package/dist/views/Branch/renderBranchDiff.js +151 -0
- package/dist/views/Branch/renderBranchDiff.js.map +1 -0
- package/dist/views/Branch/renderMergeDiff.d.ts +24 -0
- package/dist/views/Branch/renderMergeDiff.d.ts.map +1 -0
- package/dist/views/Branch/renderMergeDiff.js +94 -0
- package/dist/views/Branch/renderMergeDiff.js.map +1 -0
- package/dist/views/Branches/index.d.ts +16 -0
- package/dist/views/Branches/index.d.ts.map +1 -0
- package/dist/views/Branches/index.js +54 -0
- package/dist/views/Branches/index.js.map +1 -0
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +3 -2
- package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js +7 -7
- package/dist/views/Dashboard/Default/ModularDashboard/WidgetEditControl.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.d.ts.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +104 -66
- package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
- package/dist/views/Dashboard/Default/ModularDashboard/index.css +33 -140
- package/dist/views/Document/getDocumentView.d.ts.map +1 -1
- package/dist/views/Document/getDocumentView.js +21 -2
- package/dist/views/Document/getDocumentView.js.map +1 -1
- package/dist/views/Document/getMetaBySegment.d.ts.map +1 -1
- package/dist/views/Document/getMetaBySegment.js +9 -0
- package/dist/views/Document/getMetaBySegment.js.map +1 -1
- package/dist/views/Document/index.d.ts +3 -1
- package/dist/views/Document/index.d.ts.map +1 -1
- package/dist/views/Document/index.js +8 -1
- package/dist/views/Document/index.js.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.d.ts.map +1 -1
- package/dist/views/HierarchyList/HierarchyTable/index.js +6 -2
- package/dist/views/HierarchyList/HierarchyTable/index.js.map +1 -1
- package/dist/views/List/ListHeader/index.d.ts +1 -10
- package/dist/views/List/ListHeader/index.d.ts.map +1 -1
- package/dist/views/List/ListHeader/index.js +1 -3
- package/dist/views/List/ListHeader/index.js.map +1 -1
- package/dist/views/List/index.client.d.ts.map +1 -1
- package/dist/views/List/index.client.js +0 -14
- package/dist/views/List/index.client.js.map +1 -1
- package/dist/views/List/index.css +5 -0
- package/dist/views/Root/getCustomCollectionViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomCollectionViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.d.ts.map +1 -1
- package/dist/views/Root/getCustomGlobalViewByRoute.js.map +1 -1
- package/dist/views/Root/getCustomViewByKey.d.ts.map +1 -1
- package/dist/views/Root/getCustomViewByKey.js.map +1 -1
- package/dist/views/Root/getRouteData.d.ts.map +1 -1
- package/dist/views/Root/getRouteData.js +12 -4
- package/dist/views/Root/getRouteData.js.map +1 -1
- package/dist/views/Root/index.d.ts.map +1 -1
- package/dist/views/Root/index.js +1 -0
- package/dist/views/Root/index.js.map +1 -1
- package/dist/views/Version/Default/index.css +26 -2
- package/dist/views/Version/Default/index.d.ts.map +1 -1
- package/dist/views/Version/Default/index.js +18 -6
- package/dist/views/Version/Default/index.js.map +1 -1
- package/dist/views/Version/Default/types.d.ts +9 -0
- 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/buildVersionFields.d.ts.map +1 -1
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +8 -0
- package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
- package/dist/views/Version/Restore/index.d.ts.map +1 -1
- package/dist/views/Version/Restore/index.js +6 -3
- package/dist/views/Version/Restore/index.js.map +1 -1
- package/dist/views/Version/index.d.ts.map +1 -1
- package/dist/views/Version/index.js +4 -0
- package/dist/views/Version/index.js.map +1 -1
- package/dist/views/Versions/buildColumns.d.ts +2 -1
- package/dist/views/Versions/buildColumns.d.ts.map +1 -1
- package/dist/views/Versions/buildColumns.js +21 -1
- package/dist/views/Versions/buildColumns.js.map +1 -1
- package/dist/views/Versions/cells/Branch/index.d.ts +12 -0
- package/dist/views/Versions/cells/Branch/index.d.ts.map +1 -0
- package/dist/views/Versions/cells/Branch/index.js +27 -0
- package/dist/views/Versions/cells/Branch/index.js.map +1 -0
- package/dist/views/Versions/index.client.d.ts +0 -1
- package/dist/views/Versions/index.client.d.ts.map +1 -1
- package/dist/views/Versions/index.client.js.map +1 -1
- package/dist/views/Versions/index.d.ts.map +1 -1
- package/dist/views/Versions/index.js +2 -14
- package/dist/views/Versions/index.js.map +1 -1
- package/package.json +5 -5
- package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts +0 -10
- package/dist/elements/ColumnSelection/matchesColumnSearch.d.ts.map +0 -1
- package/dist/elements/ColumnSelection/matchesColumnSearch.js +0 -21
- package/dist/elements/ColumnSelection/matchesColumnSearch.js.map +0 -1
- package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +0 -1
|
@@ -11,6 +11,7 @@ import { usePathname, useRouter, useSearchParams } from '../../../providers/Rout
|
|
|
11
11
|
import { useRouteTransition } from '../../../providers/RouteTransition/index.js';
|
|
12
12
|
import { useTranslation } from '../../../providers/Translation/index.js';
|
|
13
13
|
import { formatTimeToNow } from '../../../utilities/formatDocTitle/formatDateTitle.js';
|
|
14
|
+
import { BranchCell } from '../../Versions/cells/Branch/index.js';
|
|
14
15
|
import { Restore } from '../Restore/index.js';
|
|
15
16
|
import './index.css';
|
|
16
17
|
import { SelectComparison } from '../SelectComparison/index.js';
|
|
@@ -19,6 +20,7 @@ import { SelectedLocalesContext } from './SelectedLocalesContext.js';
|
|
|
19
20
|
import { SetStepNav } from './SetStepNav.js';
|
|
20
21
|
const baseClass = 'view-version';
|
|
21
22
|
export const DefaultVersionView = ({
|
|
23
|
+
branch,
|
|
22
24
|
canUpdate,
|
|
23
25
|
modifiedOnly: modifiedOnlyProp,
|
|
24
26
|
RenderedDiff,
|
|
@@ -184,9 +186,14 @@ export const DefaultVersionView = ({
|
|
|
184
186
|
className: `${baseClass}__version-from-labels`,
|
|
185
187
|
children: [/*#__PURE__*/_jsx("span", {
|
|
186
188
|
children: t('version:comparingAgainst')
|
|
187
|
-
}),
|
|
188
|
-
className: `${baseClass}
|
|
189
|
-
children: versionFromTimeAgo
|
|
189
|
+
}), /*#__PURE__*/_jsxs("span", {
|
|
190
|
+
className: `${baseClass}__label-meta`,
|
|
191
|
+
children: [versionFromTimeAgo && /*#__PURE__*/_jsx("span", {
|
|
192
|
+
className: `${baseClass}__time-elapsed`,
|
|
193
|
+
children: versionFromTimeAgo
|
|
194
|
+
}), /*#__PURE__*/_jsx(BranchCell, {
|
|
195
|
+
branch: branch?.from
|
|
196
|
+
})]
|
|
190
197
|
})]
|
|
191
198
|
}), /*#__PURE__*/_jsx(SelectComparison, {
|
|
192
199
|
collectionSlug: collectionSlug,
|
|
@@ -202,9 +209,14 @@ export const DefaultVersionView = ({
|
|
|
202
209
|
className: `${baseClass}__version-to-labels`,
|
|
203
210
|
children: [/*#__PURE__*/_jsx("span", {
|
|
204
211
|
children: t('version:currentlyViewing')
|
|
205
|
-
}), /*#__PURE__*/
|
|
206
|
-
className: `${baseClass}
|
|
207
|
-
children:
|
|
212
|
+
}), /*#__PURE__*/_jsxs("span", {
|
|
213
|
+
className: `${baseClass}__label-meta`,
|
|
214
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
215
|
+
className: `${baseClass}__time-elapsed`,
|
|
216
|
+
children: versionToTimeAgo
|
|
217
|
+
}), /*#__PURE__*/_jsx(BranchCell, {
|
|
218
|
+
branch: branch?.to
|
|
219
|
+
})]
|
|
208
220
|
})]
|
|
209
221
|
}), /*#__PURE__*/_jsxs("div", {
|
|
210
222
|
className: `${baseClass}__version-to-version`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useState","Gutter","CheckboxInput","useConfig","useDocumentInfo","useLocale","usePathname","useRouter","useSearchParams","useRouteTransition","useTranslation","formatTimeToNow","Restore","SelectComparison","SelectLocales","SelectedLocalesContext","SetStepNav","baseClass","DefaultVersionView","canUpdate","modifiedOnly","modifiedOnlyProp","RenderedDiff","selectedLocales","selectedLocalesFromProps","versionFromCreatedAt","versionFromID","versionFromOptions","versionToCreatedAt","versionToCreatedAtFormatted","VersionToCreatedAtLabel","versionToID","versionToStatus","config","getEntityConfig","code","i18n","t","locales","setLocales","localization","updatedLocales","map","locale","label","name","Label","selected","includes","id","originalDocID","collectionSlug","globalSlug","isTrashed","startRouteTransition","collectionConfig","globalConfig","router","pathname","searchParams","setModifiedOnly","updateSearchParams","args","current","URLSearchParams","Array","from","entries","set","length","delete","selectedLocaleCodes","push","JSON","stringify","search","toString","query","onToggleModifiedOnly","event","newModified","target","checked","onChangeSelectedLocales","onChangeVersionFrom","val","value","versionToTimeAgo","distance","date","versionFromTimeAgo","undefined","_jsxs","className","_jsx","onToggle","onChange","docID","labels","singular","status","versionDateFormatted","versionID"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { type FormEventHandler, useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { SelectablePill } from '../../../elements/PillSelector/index.js'\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport { Gutter } from '../../../elements/Gutter/index.js'\nimport { CheckboxInput } from '../../../fields/Checkbox/Input.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { usePathname, useRouter, useSearchParams } from '../../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatTimeToNow } from '../../../utilities/formatDocTitle/formatDateTitle.js'\nimport { Restore } from '../Restore/index.js'\nimport './index.css'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { type SelectedLocaleOnChange, SelectLocales } from '../SelectLocales/index.js'\nimport { SelectedLocalesContext } from './SelectedLocalesContext.js'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n canUpdate,\n modifiedOnly: modifiedOnlyProp,\n RenderedDiff,\n selectedLocales: selectedLocalesFromProps,\n versionFromCreatedAt,\n versionFromID,\n versionFromOptions,\n versionToCreatedAt,\n versionToCreatedAtFormatted,\n VersionToCreatedAtLabel,\n versionToID,\n versionToStatus,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const [locales, setLocales] = useState<SelectablePill[]>([])\n\n useEffect(() => {\n if (config.localization) {\n const updatedLocales = config.localization.locales.map((locale) => {\n let label = locale.label\n if (typeof locale.label !== 'string' && locale.label[code]) {\n label = locale.label[code]\n }\n\n return {\n name: locale.code,\n Label: label,\n selected: selectedLocalesFromProps.includes(locale.code),\n } as SelectablePill\n })\n setLocales(updatedLocales)\n }\n }, [code, config.localization, selectedLocalesFromProps])\n\n const { id: originalDocID, collectionSlug, globalSlug, isTrashed } = useDocumentInfo()\n const { startRouteTransition } = useRouteTransition()\n\n const { collectionConfig, globalConfig } = useMemo(() => {\n return {\n collectionConfig: getEntityConfig({ collectionSlug }),\n globalConfig: getEntityConfig({ globalSlug }),\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const [modifiedOnly, setModifiedOnly] = useState(modifiedOnlyProp)\n\n const updateSearchParams = useCallback(\n (args: {\n modifiedOnly?: boolean\n selectedLocales?: SelectablePill[]\n versionFromID?: string\n }) => {\n // If the selected comparison doc or locales change, update URL params so that version page\n // This is so that RSC can update the version comparison state\n const current = new URLSearchParams(Array.from(searchParams.entries()))\n\n if (args?.versionFromID) {\n current.set('versionFrom', args?.versionFromID)\n }\n\n if (args?.selectedLocales) {\n if (!args.selectedLocales.length) {\n current.delete('localeCodes')\n } else {\n const selectedLocaleCodes: string[] = []\n for (const locale of args.selectedLocales) {\n if (locale.selected) {\n selectedLocaleCodes.push(locale.name)\n }\n }\n current.set('localeCodes', JSON.stringify(selectedLocaleCodes))\n }\n }\n\n if (args?.modifiedOnly === false) {\n current.set('modifiedOnly', 'false')\n } else if (args?.modifiedOnly === true) {\n current.delete('modifiedOnly')\n }\n\n const search = current.toString()\n const query = search ? `?${search}` : ''\n\n startRouteTransition(() => router.push(`${pathname}${query}`))\n },\n [pathname, router, searchParams, startRouteTransition],\n )\n\n const onToggleModifiedOnly: FormEventHandler<HTMLInputElement> = useCallback(\n (event) => {\n const newModified = (event.target as HTMLInputElement).checked\n setModifiedOnly(newModified)\n updateSearchParams({\n modifiedOnly: newModified,\n })\n },\n [updateSearchParams],\n )\n\n const onChangeSelectedLocales: SelectedLocaleOnChange = useCallback(\n ({ locales }) => {\n setLocales(locales)\n updateSearchParams({\n selectedLocales: locales,\n })\n },\n [updateSearchParams],\n )\n\n const onChangeVersionFrom: (val: CompareOption) => void = useCallback(\n (val) => {\n updateSearchParams({\n versionFromID: val.value,\n })\n },\n [updateSearchParams],\n )\n\n const { localization } = config\n\n const versionToTimeAgo = useMemo(\n () =>\n t('version:versionAgo', {\n distance: formatTimeToNow({\n date: versionToCreatedAt,\n i18n,\n }),\n }),\n [versionToCreatedAt, i18n, t],\n )\n\n const versionFromTimeAgo = useMemo(\n () =>\n versionFromCreatedAt\n ? t('version:versionAgo', {\n distance: formatTimeToNow({\n date: versionFromCreatedAt,\n i18n,\n }),\n })\n : undefined,\n [versionFromCreatedAt, i18n, t],\n )\n\n return (\n <main className={baseClass}>\n <Gutter className={`${baseClass}-controls-top`}>\n <div className={`${baseClass}-controls-top__wrapper`}>\n <h2>{i18n.t('version:compareVersions')}</h2>\n <div className={`${baseClass}-controls-top__wrapper-actions`}>\n <span className={`${baseClass}__modifiedCheckBox`}>\n <CheckboxInput\n checked={modifiedOnly}\n id={'modifiedOnly'}\n label={i18n.t('version:modifiedOnly')}\n onToggle={onToggleModifiedOnly}\n />\n </span>\n {localization && <SelectLocales locales={locales} onChange={onChangeSelectedLocales} />}\n </div>\n </div>\n </Gutter>\n <Gutter className={`${baseClass}-controls-bottom`}>\n <div className={`${baseClass}-controls-bottom__wrapper`}>\n <div className={`${baseClass}__version-from`}>\n <div className={`${baseClass}__version-from-labels`}>\n <span>{t('version:comparingAgainst')}</span>\n {versionFromTimeAgo && (\n <span className={`${baseClass}__time-elapsed`}>{versionFromTimeAgo}</span>\n )}\n </div>\n <SelectComparison\n collectionSlug={collectionSlug}\n docID={originalDocID}\n globalSlug={globalSlug}\n onChange={onChangeVersionFrom}\n versionFromID={versionFromID}\n versionFromOptions={versionFromOptions}\n />\n </div>\n\n <div className={`${baseClass}__version-to`}>\n <div className={`${baseClass}__version-to-labels`}>\n <span>{t('version:currentlyViewing')}</span>\n <span className={`${baseClass}__time-elapsed`}>{versionToTimeAgo}</span>\n </div>\n <div className={`${baseClass}__version-to-version`}>\n {VersionToCreatedAtLabel}\n {canUpdate && !isTrashed && (\n <Restore\n className={`${baseClass}__restore`}\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={originalDocID}\n status={versionToStatus}\n versionDateFormatted={versionToCreatedAtFormatted}\n versionID={versionToID}\n />\n )}\n </div>\n </div>\n </div>\n </Gutter>\n <SetStepNav\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n id={originalDocID}\n isTrashed={isTrashed}\n versionToCreatedAtFormatted={versionToCreatedAtFormatted}\n versionToID={versionToID}\n />\n <Gutter className={`${baseClass}__diff-wrap`}>\n <SelectedLocalesContext value={{ selectedLocales: locales.map((locale) => locale.name) }}>\n {versionToCreatedAt && RenderedDiff}\n </SelectedLocalesContext>\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useCallback","useEffect","useMemo","useState","Gutter","CheckboxInput","useConfig","useDocumentInfo","useLocale","usePathname","useRouter","useSearchParams","useRouteTransition","useTranslation","formatTimeToNow","BranchCell","Restore","SelectComparison","SelectLocales","SelectedLocalesContext","SetStepNav","baseClass","DefaultVersionView","branch","canUpdate","modifiedOnly","modifiedOnlyProp","RenderedDiff","selectedLocales","selectedLocalesFromProps","versionFromCreatedAt","versionFromID","versionFromOptions","versionToCreatedAt","versionToCreatedAtFormatted","VersionToCreatedAtLabel","versionToID","versionToStatus","config","getEntityConfig","code","i18n","t","locales","setLocales","localization","updatedLocales","map","locale","label","name","Label","selected","includes","id","originalDocID","collectionSlug","globalSlug","isTrashed","startRouteTransition","collectionConfig","globalConfig","router","pathname","searchParams","setModifiedOnly","updateSearchParams","args","current","URLSearchParams","Array","from","entries","set","length","delete","selectedLocaleCodes","push","JSON","stringify","search","toString","query","onToggleModifiedOnly","event","newModified","target","checked","onChangeSelectedLocales","onChangeVersionFrom","val","value","versionToTimeAgo","distance","date","versionFromTimeAgo","undefined","_jsxs","className","_jsx","onToggle","onChange","docID","to","labels","singular","status","versionDateFormatted","versionID"],"sources":["../../../../src/views/Version/Default/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { type FormEventHandler, useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { SelectablePill } from '../../../elements/PillSelector/index.js'\nimport type { CompareOption, DefaultVersionsViewProps } from './types.js'\n\nimport { Gutter } from '../../../elements/Gutter/index.js'\nimport { CheckboxInput } from '../../../fields/Checkbox/Input.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { usePathname, useRouter, useSearchParams } from '../../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatTimeToNow } from '../../../utilities/formatDocTitle/formatDateTitle.js'\nimport { BranchCell } from '../../Versions/cells/Branch/index.js'\nimport { Restore } from '../Restore/index.js'\nimport './index.css'\nimport { SelectComparison } from '../SelectComparison/index.js'\nimport { type SelectedLocaleOnChange, SelectLocales } from '../SelectLocales/index.js'\nimport { SelectedLocalesContext } from './SelectedLocalesContext.js'\nimport { SetStepNav } from './SetStepNav.js'\n\nconst baseClass = 'view-version'\n\nexport const DefaultVersionView: React.FC<DefaultVersionsViewProps> = ({\n branch,\n canUpdate,\n modifiedOnly: modifiedOnlyProp,\n RenderedDiff,\n selectedLocales: selectedLocalesFromProps,\n versionFromCreatedAt,\n versionFromID,\n versionFromOptions,\n versionToCreatedAt,\n versionToCreatedAtFormatted,\n VersionToCreatedAtLabel,\n versionToID,\n versionToStatus,\n}) => {\n const { config, getEntityConfig } = useConfig()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const [locales, setLocales] = useState<SelectablePill[]>([])\n\n useEffect(() => {\n if (config.localization) {\n const updatedLocales = config.localization.locales.map((locale) => {\n let label = locale.label\n if (typeof locale.label !== 'string' && locale.label[code]) {\n label = locale.label[code]\n }\n\n return {\n name: locale.code,\n Label: label,\n selected: selectedLocalesFromProps.includes(locale.code),\n } as SelectablePill\n })\n setLocales(updatedLocales)\n }\n }, [code, config.localization, selectedLocalesFromProps])\n\n const { id: originalDocID, collectionSlug, globalSlug, isTrashed } = useDocumentInfo()\n const { startRouteTransition } = useRouteTransition()\n\n const { collectionConfig, globalConfig } = useMemo(() => {\n return {\n collectionConfig: getEntityConfig({ collectionSlug }),\n globalConfig: getEntityConfig({ globalSlug }),\n }\n }, [collectionSlug, globalSlug, getEntityConfig])\n\n const router = useRouter()\n const pathname = usePathname()\n const searchParams = useSearchParams()\n const [modifiedOnly, setModifiedOnly] = useState(modifiedOnlyProp)\n\n const updateSearchParams = useCallback(\n (args: {\n modifiedOnly?: boolean\n selectedLocales?: SelectablePill[]\n versionFromID?: string\n }) => {\n // If the selected comparison doc or locales change, update URL params so that version page\n // This is so that RSC can update the version comparison state\n const current = new URLSearchParams(Array.from(searchParams.entries()))\n\n if (args?.versionFromID) {\n current.set('versionFrom', args?.versionFromID)\n }\n\n if (args?.selectedLocales) {\n if (!args.selectedLocales.length) {\n current.delete('localeCodes')\n } else {\n const selectedLocaleCodes: string[] = []\n for (const locale of args.selectedLocales) {\n if (locale.selected) {\n selectedLocaleCodes.push(locale.name)\n }\n }\n current.set('localeCodes', JSON.stringify(selectedLocaleCodes))\n }\n }\n\n if (args?.modifiedOnly === false) {\n current.set('modifiedOnly', 'false')\n } else if (args?.modifiedOnly === true) {\n current.delete('modifiedOnly')\n }\n\n const search = current.toString()\n const query = search ? `?${search}` : ''\n\n startRouteTransition(() => router.push(`${pathname}${query}`))\n },\n [pathname, router, searchParams, startRouteTransition],\n )\n\n const onToggleModifiedOnly: FormEventHandler<HTMLInputElement> = useCallback(\n (event) => {\n const newModified = (event.target as HTMLInputElement).checked\n setModifiedOnly(newModified)\n updateSearchParams({\n modifiedOnly: newModified,\n })\n },\n [updateSearchParams],\n )\n\n const onChangeSelectedLocales: SelectedLocaleOnChange = useCallback(\n ({ locales }) => {\n setLocales(locales)\n updateSearchParams({\n selectedLocales: locales,\n })\n },\n [updateSearchParams],\n )\n\n const onChangeVersionFrom: (val: CompareOption) => void = useCallback(\n (val) => {\n updateSearchParams({\n versionFromID: val.value,\n })\n },\n [updateSearchParams],\n )\n\n const { localization } = config\n\n const versionToTimeAgo = useMemo(\n () =>\n t('version:versionAgo', {\n distance: formatTimeToNow({\n date: versionToCreatedAt,\n i18n,\n }),\n }),\n [versionToCreatedAt, i18n, t],\n )\n\n const versionFromTimeAgo = useMemo(\n () =>\n versionFromCreatedAt\n ? t('version:versionAgo', {\n distance: formatTimeToNow({\n date: versionFromCreatedAt,\n i18n,\n }),\n })\n : undefined,\n [versionFromCreatedAt, i18n, t],\n )\n\n return (\n <main className={baseClass}>\n <Gutter className={`${baseClass}-controls-top`}>\n <div className={`${baseClass}-controls-top__wrapper`}>\n <h2>{i18n.t('version:compareVersions')}</h2>\n <div className={`${baseClass}-controls-top__wrapper-actions`}>\n <span className={`${baseClass}__modifiedCheckBox`}>\n <CheckboxInput\n checked={modifiedOnly}\n id={'modifiedOnly'}\n label={i18n.t('version:modifiedOnly')}\n onToggle={onToggleModifiedOnly}\n />\n </span>\n {localization && <SelectLocales locales={locales} onChange={onChangeSelectedLocales} />}\n </div>\n </div>\n </Gutter>\n <Gutter className={`${baseClass}-controls-bottom`}>\n <div className={`${baseClass}-controls-bottom__wrapper`}>\n <div className={`${baseClass}__version-from`}>\n <div className={`${baseClass}__version-from-labels`}>\n <span>{t('version:comparingAgainst')}</span>\n <span className={`${baseClass}__label-meta`}>\n {versionFromTimeAgo && (\n <span className={`${baseClass}__time-elapsed`}>{versionFromTimeAgo}</span>\n )}\n <BranchCell branch={branch?.from} />\n </span>\n </div>\n <SelectComparison\n collectionSlug={collectionSlug}\n docID={originalDocID}\n globalSlug={globalSlug}\n onChange={onChangeVersionFrom}\n versionFromID={versionFromID}\n versionFromOptions={versionFromOptions}\n />\n </div>\n\n <div className={`${baseClass}__version-to`}>\n <div className={`${baseClass}__version-to-labels`}>\n <span>{t('version:currentlyViewing')}</span>\n <span className={`${baseClass}__label-meta`}>\n <span className={`${baseClass}__time-elapsed`}>{versionToTimeAgo}</span>\n <BranchCell branch={branch?.to} />\n </span>\n </div>\n <div className={`${baseClass}__version-to-version`}>\n {VersionToCreatedAtLabel}\n {canUpdate && !isTrashed && (\n <Restore\n className={`${baseClass}__restore`}\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n label={collectionConfig?.labels.singular || globalConfig?.label}\n originalDocID={originalDocID}\n status={versionToStatus}\n versionDateFormatted={versionToCreatedAtFormatted}\n versionID={versionToID}\n />\n )}\n </div>\n </div>\n </div>\n </Gutter>\n <SetStepNav\n collectionConfig={collectionConfig}\n globalConfig={globalConfig}\n id={originalDocID}\n isTrashed={isTrashed}\n versionToCreatedAtFormatted={versionToCreatedAtFormatted}\n versionToID={versionToID}\n />\n <Gutter className={`${baseClass}__diff-wrap`}>\n <SelectedLocalesContext value={{ selectedLocales: locales.map((locale) => locale.name) }}>\n {versionToCreatedAt && RenderedDiff}\n </SelectedLocalesContext>\n </Gutter>\n </main>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,15 @@ export type VersionPill = {
|
|
|
7
7
|
Label: React.ReactNode;
|
|
8
8
|
};
|
|
9
9
|
export type DefaultVersionsViewProps = {
|
|
10
|
+
/**
|
|
11
|
+
* Branch each side of the comparison belongs to, when branching is enabled.
|
|
12
|
+
* Shown alongside the selectors rather than as a field diff: which branch a
|
|
13
|
+
* version came from is metadata about the version, not content of the document.
|
|
14
|
+
*/
|
|
15
|
+
branch?: {
|
|
16
|
+
from?: null | string;
|
|
17
|
+
to?: null | string;
|
|
18
|
+
};
|
|
10
19
|
canUpdate: boolean;
|
|
11
20
|
modifiedOnly: boolean;
|
|
12
21
|
RenderedDiff: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,aAAa,EAAE,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,2BAA2B,EAAE,MAAM,CAAA;IACnC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Default/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC;;;;OAIG;IACH,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;QACpB,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;KACnB,CAAA;IACD,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,aAAa,EAAE,CAAA;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,2BAA2B,EAAE,MAAM,CAAA;IACnC,uBAAuB,EAAE,KAAK,CAAC,SAAS,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Version/Default/types.ts"],"sourcesContent":["export type CompareOption = {\n label: React.ReactNode | string\n value: string\n}\n\nexport type VersionPill = {\n id: string\n Label: React.ReactNode\n}\n\nexport type DefaultVersionsViewProps = {\n canUpdate: boolean\n modifiedOnly: boolean\n RenderedDiff: React.ReactNode\n selectedLocales: string[]\n versionFromCreatedAt?: string\n versionFromID?: string\n versionFromOptions: CompareOption[]\n versionToCreatedAt?: string\n versionToCreatedAtFormatted: string\n VersionToCreatedAtLabel: React.ReactNode\n versionToID?: string\n versionToStatus?: string\n}\n"],"mappings":"AAUA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/views/Version/Default/types.ts"],"sourcesContent":["export type CompareOption = {\n label: React.ReactNode | string\n value: string\n}\n\nexport type VersionPill = {\n id: string\n Label: React.ReactNode\n}\n\nexport type DefaultVersionsViewProps = {\n /**\n * Branch each side of the comparison belongs to, when branching is enabled.\n * Shown alongside the selectors rather than as a field diff: which branch a\n * version came from is metadata about the version, not content of the document.\n */\n branch?: {\n from?: null | string\n to?: null | string\n }\n canUpdate: boolean\n modifiedOnly: boolean\n RenderedDiff: React.ReactNode\n selectedLocales: string[]\n versionFromCreatedAt?: string\n versionFromID?: string\n versionFromOptions: CompareOption[]\n versionToCreatedAt?: string\n versionToCreatedAtFormatted: string\n VersionToCreatedAtLabel: React.ReactNode\n versionToID?: string\n versionToStatus?: string\n}\n"],"mappings":"AAUA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildVersionFields.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAG1D,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,KAAK,EACV,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EAGf,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEnB,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EAClB,MAAM,SAAS,CAAA;AAYhB,MAAM,MAAM,sBAAsB,GAAG;IACnC,eAAe,EAAE,oBAAoB,CAAA;IACrC,oBAAoB,EAAE,OAAO,CAC3B,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CACjF,CAAA;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,iBAAiB,EAAE,0BAA0B,CAAA;IAC7C,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,oBAAoB,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,8PAiB5B,sBAAsB,KAAG;IAC1B,aAAa,EAAE,YAAY,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"buildVersionFields.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAG1D,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,KAAK,EACV,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EAGf,KAAK,gBAAgB,EACrB,KAAK,cAAc,EAEnB,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EAClB,MAAM,SAAS,CAAA;AAYhB,MAAM,MAAM,sBAAsB,GAAG;IACnC,eAAe,EAAE,oBAAoB,CAAA;IACrC,oBAAoB,EAAE,OAAO,CAC3B,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CACjF,CAAA;IACD,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,iBAAiB,EAAE,0BAA0B,CAAA;IAC7C,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,oBAAoB,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,8PAiB5B,sBAAsB,KAAG;IAC1B,aAAa,EAAE,YAAY,EAAE,CAAA;CAyH9B,CAAA"}
|
|
@@ -35,6 +35,14 @@ export const buildVersionFields = ({
|
|
|
35
35
|
if (fieldIsID(field)) {
|
|
36
36
|
continue;
|
|
37
37
|
}
|
|
38
|
+
// A `hidden` field is stripped from API responses entirely, so a diff for it
|
|
39
|
+
// can only ever compare nothing against nothing. Rendering it produces a
|
|
40
|
+
// labelled, permanently empty row. Note this is `field.hidden`, not
|
|
41
|
+
// `admin.hidden` — the latter only hides a field from the edit form and its
|
|
42
|
+
// value is still real, so it remains diffable.
|
|
43
|
+
if ('hidden' in field && field.hidden) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
38
46
|
const {
|
|
39
47
|
indexPath,
|
|
40
48
|
path,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildVersionFields.js","names":["dequal","MissingEditorProp","fieldIsID","fieldShouldBeLocalized","getFieldPaths","getUniqueListBy","tabHasName","RenderServerComponent","diffComponents","buildVersionFields","clientSchemaMap","customDiffComponents","entitySlug","fields","fieldsPermissions","i18n","modifiedOnly","nestingLevel","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","req","selectedLocales","versionFromSiblingData","versionToSiblingData","versionFields","fieldIndex","field","indexPath","path","schemaPath","index","clientField","get","payload","logger","error","clientFieldKey","clientSchemaMapKeys","Array","from","keys","msg","Error","versionField","isLocalized","fieldName","name","valueFrom","valueTo","fieldByLocale","locale","localizedVersionField","buildVersionField","parentFieldsPermissions","baseVersionField","localized","Object","length","push","hasReadPermission","fieldPermissions","undefined","read","CustomComponent","type","editor","CellComponent","DiffComponent","admin","components","Diff","DefaultComponent","tabs","tabIndex","tab","isNamedTab","tabAsField","tabIndexPath","tabPath","tabSchemaPath","tabFieldsPermissions","tabPermissions","tabVersion","label","t","subFieldsPermissions","maxLength","Math","max","isArray","rows","i","fromRow","toRow","blockSlugToMatch","blockType","toBlock","blocks","find","block","slug","fromBlockSlugToMatch","fromBlock","blockFieldsPermissions","permissionsBlockSpecific","clientDiffProps","comparisonValue","diffMethod","versionValue","serverDiffProps","clientProps","Component","Fallback","importMap","key","serverProps"],"sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport { dequal } from 'dequal/lite'\nimport {\n type BaseVersionField,\n type ClientField,\n type ClientFieldSchemaMap,\n type Field,\n type FieldDiffClientProps,\n type FieldDiffServerProps,\n type FieldTypes,\n type FlattenedBlock,\n MissingEditorProp,\n type PayloadComponent,\n type PayloadRequest,\n type SanitizedFieldPermissions,\n type SanitizedFieldsPermissions,\n type VersionField,\n} from 'payload'\nimport {\n fieldIsID,\n fieldShouldBeLocalized,\n getFieldPaths,\n getUniqueListBy,\n tabHasName,\n} from 'payload/shared'\n\nimport { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js'\nimport { diffComponents } from './fields/index.js'\n\nexport type BuildVersionFieldsArgs = {\n clientSchemaMap: ClientFieldSchemaMap\n customDiffComponents: Partial<\n Record<FieldTypes, PayloadComponent<FieldDiffServerProps, FieldDiffClientProps>>\n >\n entitySlug: string\n fields: Field[]\n fieldsPermissions: SanitizedFieldsPermissions\n i18n: I18nClient\n modifiedOnly: boolean\n nestingLevel?: number\n parentIndexPath: string\n parentIsLocalized: boolean\n parentPath: string\n parentSchemaPath: string\n req: PayloadRequest\n selectedLocales: string[]\n versionFromSiblingData: object\n versionToSiblingData: object\n}\n\n/**\n * Build up an object that contains rendered diff components for each field.\n * This is then sent to the client to be rendered.\n *\n * Here, the server is responsible for traversing through the document data and building up this\n * version state object.\n */\nexport const buildVersionFields = ({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields,\n fieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel = 0,\n parentIndexPath,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData,\n versionToSiblingData,\n}: BuildVersionFieldsArgs): {\n versionFields: VersionField[]\n} => {\n const versionFields: VersionField[] = []\n let fieldIndex = -1\n\n for (const field of fields) {\n fieldIndex++\n\n if (fieldIsID(field)) {\n continue\n }\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n const clientField = clientSchemaMap.get(entitySlug + '.' + schemaPath)\n\n if (!clientField) {\n req.payload.logger.error({\n clientFieldKey: entitySlug + '.' + schemaPath,\n clientSchemaMapKeys: Array.from(clientSchemaMap.keys()),\n msg: 'No client field found for ' + entitySlug + '.' + schemaPath,\n parentPath,\n parentSchemaPath,\n path,\n schemaPath,\n })\n throw new Error('No client field found for ' + entitySlug + '.' + schemaPath)\n }\n\n const versionField: VersionField = {}\n const isLocalized = fieldShouldBeLocalized({ field, parentIsLocalized })\n\n const fieldName: null | string = 'name' in field ? field.name : null\n\n const valueFrom = fieldName ? versionFromSiblingData?.[fieldName] : versionFromSiblingData\n const valueTo = fieldName ? versionToSiblingData?.[fieldName] : versionToSiblingData\n\n if (isLocalized) {\n versionField.fieldByLocale = {}\n\n for (const locale of selectedLocales) {\n const localizedVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions: fieldsPermissions,\n parentIsLocalized: true,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom: valueFrom?.[locale],\n valueTo: valueTo?.[locale],\n })\n if (localizedVersionField) {\n versionField.fieldByLocale[locale] = localizedVersionField\n }\n }\n } else {\n const baseVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions: fieldsPermissions,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom,\n valueTo,\n })\n\n if (baseVersionField) {\n versionField.field = baseVersionField\n }\n }\n\n if (\n versionField.field ||\n (versionField.fieldByLocale && Object.keys(versionField.fieldByLocale).length)\n ) {\n versionFields.push(versionField)\n }\n }\n\n return {\n versionFields,\n }\n}\n\nconst buildVersionField = ({\n clientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom,\n valueTo,\n}: {\n clientField: ClientField\n field: Field\n indexPath: string\n locale?: string\n modifiedOnly?: boolean\n nestingLevel: number\n parentFieldsPermissions: SanitizedFieldsPermissions\n parentIsLocalized: boolean\n path: string\n schemaPath: string\n valueFrom: unknown\n valueTo: unknown\n} & Omit<\n BuildVersionFieldsArgs,\n | 'fields'\n | 'fieldsPermissions'\n | 'parentIndexPath'\n | 'versionFromSiblingData'\n | 'versionToSiblingData'\n>): BaseVersionField | null => {\n let hasReadPermission: boolean = false\n let fieldPermissions: SanitizedFieldPermissions | undefined = undefined\n\n if (typeof parentFieldsPermissions === 'boolean') {\n hasReadPermission = parentFieldsPermissions\n fieldPermissions = parentFieldsPermissions\n } else {\n if ('name' in field) {\n fieldPermissions = parentFieldsPermissions?.[field.name]\n if (typeof fieldPermissions === 'boolean') {\n hasReadPermission = fieldPermissions\n } else if (typeof fieldPermissions?.read === 'boolean') {\n hasReadPermission = fieldPermissions.read\n }\n } else {\n // If the field is unnamed and parentFieldsPermissions is an object, its sub-fields will decide their read permissions state.\n // As far as this field is concerned, we are allowed to read it, as we need to reach its sub-fields to determine their read permissions.\n hasReadPermission = true\n }\n }\n\n if (!hasReadPermission) {\n // HasReadPermission is only valid if the field has a name. E.g. for a tabs field it would incorrectly return `false`.\n return null\n }\n\n if (modifiedOnly && dequal(valueFrom, valueTo)) {\n return null\n }\n\n let CustomComponent = customDiffComponents?.[field.type]\n if (field?.type === 'richText') {\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (field.editor.CellComponent) {\n CustomComponent = field.editor.DiffComponent\n }\n }\n if (field?.admin?.components?.Diff) {\n CustomComponent = field.admin.components.Diff\n }\n\n const DefaultComponent = diffComponents?.[field.type]\n\n const baseVersionField: BaseVersionField = {\n type: field.type,\n fields: [],\n path,\n schemaPath,\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n baseVersionField.tabs = []\n let tabIndex = -1\n for (const tab of field.tabs) {\n tabIndex++\n const isNamedTab = tabHasName(tab)\n\n const tabAsField = { ...tab, type: 'tab' }\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPaths({\n field: tabAsField,\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath: path,\n parentSchemaPath: schemaPath,\n })\n\n let tabFieldsPermissions: SanitizedFieldsPermissions = undefined\n\n // The tabs field does not have its own permissions as it's unnamed => use parentFieldsPermissions\n if (typeof parentFieldsPermissions === 'boolean') {\n tabFieldsPermissions = parentFieldsPermissions\n } else {\n if ('name' in tab) {\n const tabPermissions = parentFieldsPermissions?.[tab.name]\n if (typeof tabPermissions === 'boolean') {\n tabFieldsPermissions = tabPermissions\n } else {\n tabFieldsPermissions = tabPermissions?.fields\n }\n } else {\n tabFieldsPermissions = parentFieldsPermissions\n }\n }\n\n const tabVersion = {\n name: 'name' in tab ? tab.name : null,\n fields: buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: tab.fields,\n fieldsPermissions: tabFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 1,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentIsLocalized: parentIsLocalized || tab.localized,\n parentPath: isNamedTab ? tabPath : 'name' in field ? path : parentPath,\n parentSchemaPath: tabSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: 'name' in tab ? valueFrom?.[tab.name] : valueFrom,\n versionToSiblingData: 'name' in tab ? valueTo?.[tab.name] : valueTo,\n }).versionFields,\n label: typeof tab.label === 'function' ? tab.label({ i18n, t: i18n.t }) : tab.label,\n }\n if (tabVersion?.fields?.length) {\n baseVersionField.tabs.push(tabVersion)\n }\n }\n\n if (modifiedOnly && !baseVersionField.tabs.length) {\n return null\n }\n } // At this point, we are dealing with a `row`, `collapsible`, array`, etc\n else if ('fields' in field) {\n let subFieldsPermissions: SanitizedFieldsPermissions = undefined\n\n if ('name' in field && typeof fieldPermissions !== 'undefined') {\n // Named fields like arrays\n subFieldsPermissions =\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions.fields\n } else {\n // Unnamed fields like collapsible and row inherit directly from parent permissions\n subFieldsPermissions = parentFieldsPermissions\n }\n\n if (field.type === 'array' && (valueTo || valueFrom)) {\n const maxLength = Math.max(\n Array.isArray(valueTo) ? valueTo.length : 0,\n Array.isArray(valueFrom) ? valueFrom.length : 0,\n )\n baseVersionField.rows = []\n\n for (let i = 0; i < maxLength; i++) {\n const fromRow = (Array.isArray(valueFrom) && valueFrom?.[i]) || {}\n const toRow = (Array.isArray(valueTo) && valueTo?.[i]) || {}\n\n const versionFields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: field.fields,\n fieldsPermissions: subFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 2,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: ('name' in field ? path : parentPath) + '.' + i,\n parentSchemaPath: schemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: fromRow,\n versionToSiblingData: toRow,\n }).versionFields\n\n if (versionFields?.length) {\n baseVersionField.rows[i] = versionFields\n }\n }\n\n if (!baseVersionField.rows?.length && modifiedOnly) {\n return null\n }\n } else {\n baseVersionField.fields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: field.fields,\n fieldsPermissions: subFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: field.type !== 'row' ? nestingLevel + 1 : nestingLevel,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: 'name' in field ? path : parentPath,\n parentSchemaPath: schemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: valueFrom as object,\n versionToSiblingData: valueTo as object,\n }).versionFields\n\n if (modifiedOnly && !baseVersionField.fields?.length) {\n return null\n }\n }\n } else if (field.type === 'blocks') {\n baseVersionField.rows = []\n\n const maxLength = Math.max(\n Array.isArray(valueTo) ? valueTo.length : 0,\n Array.isArray(valueFrom) ? valueFrom.length : 0,\n )\n\n for (let i = 0; i < maxLength; i++) {\n const fromRow = (Array.isArray(valueFrom) && valueFrom?.[i]) || {}\n const toRow = (Array.isArray(valueTo) && valueTo?.[i]) || {}\n\n const blockSlugToMatch: string = toRow?.blockType ?? fromRow?.blockType\n const toBlock =\n req.payload.blocks[blockSlugToMatch] ??\n (field.blocks.find(\n (block) => typeof block !== 'string' && block.slug === blockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n let fields = []\n\n if (toRow.blockType === fromRow.blockType) {\n fields = toBlock.fields\n } else {\n const fromBlockSlugToMatch: string = fromRow?.blockType ?? toRow?.blockType\n\n const fromBlock =\n req.payload.blocks[fromBlockSlugToMatch] ??\n (field.blocks.find(\n (block) => typeof block !== 'string' && block.slug === fromBlockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n if (fromBlock) {\n fields = getUniqueListBy<Field>([...toBlock.fields, ...fromBlock.fields], 'name')\n } else {\n fields = toBlock.fields\n }\n }\n\n let blockFieldsPermissions: SanitizedFieldsPermissions = undefined\n\n // fieldPermissions will be set here, as the blocks field has a name\n if (typeof fieldPermissions === 'boolean') {\n blockFieldsPermissions = fieldPermissions\n } else if (typeof fieldPermissions?.blocks === 'boolean') {\n blockFieldsPermissions = fieldPermissions.blocks\n } else {\n const permissionsBlockSpecific = fieldPermissions?.blocks?.[blockSlugToMatch]\n if (typeof permissionsBlockSpecific === 'boolean') {\n blockFieldsPermissions = permissionsBlockSpecific\n } else {\n blockFieldsPermissions = permissionsBlockSpecific?.fields\n }\n }\n\n const versionFields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields,\n fieldsPermissions: blockFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 2,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: ('name' in field ? path : parentPath) + '.' + i,\n parentSchemaPath: schemaPath + '.' + toBlock.slug,\n req,\n selectedLocales,\n versionFromSiblingData: fromRow,\n versionToSiblingData: toRow,\n }).versionFields\n\n if (versionFields?.length) {\n baseVersionField.rows[i] = versionFields\n }\n }\n\n if (!baseVersionField.rows?.length && modifiedOnly) {\n return null\n }\n }\n\n const clientDiffProps: FieldDiffClientProps = {\n baseVersionField: {\n ...baseVersionField,\n CustomComponent: undefined,\n },\n /**\n * TODO: Change to valueFrom in 4.0\n */\n comparisonValue: valueFrom,\n /**\n * @deprecated remove in 4.0. Each field should handle its own diffing logic\n */\n diffMethod: 'diffWordsWithSpace',\n field: clientField,\n fieldPermissions:\n typeof fieldPermissions === 'undefined' ? parentFieldsPermissions : fieldPermissions,\n parentIsLocalized,\n\n nestingLevel: nestingLevel ? nestingLevel : undefined,\n /**\n * TODO: Change to valueTo in 4.0\n */\n versionValue: valueTo,\n }\n if (locale) {\n clientDiffProps.locale = locale\n }\n\n const serverDiffProps: FieldDiffServerProps = {\n ...clientDiffProps,\n clientField,\n field,\n i18n,\n req,\n selectedLocales,\n }\n\n baseVersionField.CustomComponent = RenderServerComponent({\n clientProps: clientDiffProps,\n Component: CustomComponent,\n Fallback: DefaultComponent,\n importMap: req.payload.importMap,\n key: 'diff component',\n serverProps: serverDiffProps,\n })\n\n return baseVersionField\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"buildVersionFields.js","names":["dequal","MissingEditorProp","fieldIsID","fieldShouldBeLocalized","getFieldPaths","getUniqueListBy","tabHasName","RenderServerComponent","diffComponents","buildVersionFields","clientSchemaMap","customDiffComponents","entitySlug","fields","fieldsPermissions","i18n","modifiedOnly","nestingLevel","parentIndexPath","parentIsLocalized","parentPath","parentSchemaPath","req","selectedLocales","versionFromSiblingData","versionToSiblingData","versionFields","fieldIndex","field","hidden","indexPath","path","schemaPath","index","clientField","get","payload","logger","error","clientFieldKey","clientSchemaMapKeys","Array","from","keys","msg","Error","versionField","isLocalized","fieldName","name","valueFrom","valueTo","fieldByLocale","locale","localizedVersionField","buildVersionField","parentFieldsPermissions","baseVersionField","localized","Object","length","push","hasReadPermission","fieldPermissions","undefined","read","CustomComponent","type","editor","CellComponent","DiffComponent","admin","components","Diff","DefaultComponent","tabs","tabIndex","tab","isNamedTab","tabAsField","tabIndexPath","tabPath","tabSchemaPath","tabFieldsPermissions","tabPermissions","tabVersion","label","t","subFieldsPermissions","maxLength","Math","max","isArray","rows","i","fromRow","toRow","blockSlugToMatch","blockType","toBlock","blocks","find","block","slug","fromBlockSlugToMatch","fromBlock","blockFieldsPermissions","permissionsBlockSpecific","clientDiffProps","comparisonValue","diffMethod","versionValue","serverDiffProps","clientProps","Component","Fallback","importMap","key","serverProps"],"sources":["../../../../src/views/Version/RenderFieldsToDiff/buildVersionFields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\n\nimport { dequal } from 'dequal/lite'\nimport {\n type BaseVersionField,\n type ClientField,\n type ClientFieldSchemaMap,\n type Field,\n type FieldDiffClientProps,\n type FieldDiffServerProps,\n type FieldTypes,\n type FlattenedBlock,\n MissingEditorProp,\n type PayloadComponent,\n type PayloadRequest,\n type SanitizedFieldPermissions,\n type SanitizedFieldsPermissions,\n type VersionField,\n} from 'payload'\nimport {\n fieldIsID,\n fieldShouldBeLocalized,\n getFieldPaths,\n getUniqueListBy,\n tabHasName,\n} from 'payload/shared'\n\nimport { RenderServerComponent } from '../../../elements/RenderServerComponent/index.js'\nimport { diffComponents } from './fields/index.js'\n\nexport type BuildVersionFieldsArgs = {\n clientSchemaMap: ClientFieldSchemaMap\n customDiffComponents: Partial<\n Record<FieldTypes, PayloadComponent<FieldDiffServerProps, FieldDiffClientProps>>\n >\n entitySlug: string\n fields: Field[]\n fieldsPermissions: SanitizedFieldsPermissions\n i18n: I18nClient\n modifiedOnly: boolean\n nestingLevel?: number\n parentIndexPath: string\n parentIsLocalized: boolean\n parentPath: string\n parentSchemaPath: string\n req: PayloadRequest\n selectedLocales: string[]\n versionFromSiblingData: object\n versionToSiblingData: object\n}\n\n/**\n * Build up an object that contains rendered diff components for each field.\n * This is then sent to the client to be rendered.\n *\n * Here, the server is responsible for traversing through the document data and building up this\n * version state object.\n */\nexport const buildVersionFields = ({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields,\n fieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel = 0,\n parentIndexPath,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData,\n versionToSiblingData,\n}: BuildVersionFieldsArgs): {\n versionFields: VersionField[]\n} => {\n const versionFields: VersionField[] = []\n let fieldIndex = -1\n\n for (const field of fields) {\n fieldIndex++\n\n if (fieldIsID(field)) {\n continue\n }\n\n // A `hidden` field is stripped from API responses entirely, so a diff for it\n // can only ever compare nothing against nothing. Rendering it produces a\n // labelled, permanently empty row. Note this is `field.hidden`, not\n // `admin.hidden` — the latter only hides a field from the edit form and its\n // value is still real, so it remains diffable.\n if ('hidden' in field && field.hidden) {\n continue\n }\n\n const { indexPath, path, schemaPath } = getFieldPaths({\n field,\n index: fieldIndex,\n parentIndexPath,\n parentPath,\n parentSchemaPath,\n })\n\n const clientField = clientSchemaMap.get(entitySlug + '.' + schemaPath)\n\n if (!clientField) {\n req.payload.logger.error({\n clientFieldKey: entitySlug + '.' + schemaPath,\n clientSchemaMapKeys: Array.from(clientSchemaMap.keys()),\n msg: 'No client field found for ' + entitySlug + '.' + schemaPath,\n parentPath,\n parentSchemaPath,\n path,\n schemaPath,\n })\n throw new Error('No client field found for ' + entitySlug + '.' + schemaPath)\n }\n\n const versionField: VersionField = {}\n const isLocalized = fieldShouldBeLocalized({ field, parentIsLocalized })\n\n const fieldName: null | string = 'name' in field ? field.name : null\n\n const valueFrom = fieldName ? versionFromSiblingData?.[fieldName] : versionFromSiblingData\n const valueTo = fieldName ? versionToSiblingData?.[fieldName] : versionToSiblingData\n\n if (isLocalized) {\n versionField.fieldByLocale = {}\n\n for (const locale of selectedLocales) {\n const localizedVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions: fieldsPermissions,\n parentIsLocalized: true,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom: valueFrom?.[locale],\n valueTo: valueTo?.[locale],\n })\n if (localizedVersionField) {\n versionField.fieldByLocale[locale] = localizedVersionField\n }\n }\n } else {\n const baseVersionField = buildVersionField({\n clientField: clientField as ClientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions: fieldsPermissions,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom,\n valueTo,\n })\n\n if (baseVersionField) {\n versionField.field = baseVersionField\n }\n }\n\n if (\n versionField.field ||\n (versionField.fieldByLocale && Object.keys(versionField.fieldByLocale).length)\n ) {\n versionFields.push(versionField)\n }\n }\n\n return {\n versionFields,\n }\n}\n\nconst buildVersionField = ({\n clientField,\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n field,\n i18n,\n indexPath,\n locale,\n modifiedOnly,\n nestingLevel,\n parentFieldsPermissions,\n parentIsLocalized,\n parentPath,\n parentSchemaPath,\n path,\n req,\n schemaPath,\n selectedLocales,\n valueFrom,\n valueTo,\n}: {\n clientField: ClientField\n field: Field\n indexPath: string\n locale?: string\n modifiedOnly?: boolean\n nestingLevel: number\n parentFieldsPermissions: SanitizedFieldsPermissions\n parentIsLocalized: boolean\n path: string\n schemaPath: string\n valueFrom: unknown\n valueTo: unknown\n} & Omit<\n BuildVersionFieldsArgs,\n | 'fields'\n | 'fieldsPermissions'\n | 'parentIndexPath'\n | 'versionFromSiblingData'\n | 'versionToSiblingData'\n>): BaseVersionField | null => {\n let hasReadPermission: boolean = false\n let fieldPermissions: SanitizedFieldPermissions | undefined = undefined\n\n if (typeof parentFieldsPermissions === 'boolean') {\n hasReadPermission = parentFieldsPermissions\n fieldPermissions = parentFieldsPermissions\n } else {\n if ('name' in field) {\n fieldPermissions = parentFieldsPermissions?.[field.name]\n if (typeof fieldPermissions === 'boolean') {\n hasReadPermission = fieldPermissions\n } else if (typeof fieldPermissions?.read === 'boolean') {\n hasReadPermission = fieldPermissions.read\n }\n } else {\n // If the field is unnamed and parentFieldsPermissions is an object, its sub-fields will decide their read permissions state.\n // As far as this field is concerned, we are allowed to read it, as we need to reach its sub-fields to determine their read permissions.\n hasReadPermission = true\n }\n }\n\n if (!hasReadPermission) {\n // HasReadPermission is only valid if the field has a name. E.g. for a tabs field it would incorrectly return `false`.\n return null\n }\n\n if (modifiedOnly && dequal(valueFrom, valueTo)) {\n return null\n }\n\n let CustomComponent = customDiffComponents?.[field.type]\n if (field?.type === 'richText') {\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n if (field.editor.CellComponent) {\n CustomComponent = field.editor.DiffComponent\n }\n }\n if (field?.admin?.components?.Diff) {\n CustomComponent = field.admin.components.Diff\n }\n\n const DefaultComponent = diffComponents?.[field.type]\n\n const baseVersionField: BaseVersionField = {\n type: field.type,\n fields: [],\n path,\n schemaPath,\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n baseVersionField.tabs = []\n let tabIndex = -1\n for (const tab of field.tabs) {\n tabIndex++\n const isNamedTab = tabHasName(tab)\n\n const tabAsField = { ...tab, type: 'tab' }\n\n const {\n indexPath: tabIndexPath,\n path: tabPath,\n schemaPath: tabSchemaPath,\n } = getFieldPaths({\n field: tabAsField,\n index: tabIndex,\n parentIndexPath: indexPath,\n parentPath: path,\n parentSchemaPath: schemaPath,\n })\n\n let tabFieldsPermissions: SanitizedFieldsPermissions = undefined\n\n // The tabs field does not have its own permissions as it's unnamed => use parentFieldsPermissions\n if (typeof parentFieldsPermissions === 'boolean') {\n tabFieldsPermissions = parentFieldsPermissions\n } else {\n if ('name' in tab) {\n const tabPermissions = parentFieldsPermissions?.[tab.name]\n if (typeof tabPermissions === 'boolean') {\n tabFieldsPermissions = tabPermissions\n } else {\n tabFieldsPermissions = tabPermissions?.fields\n }\n } else {\n tabFieldsPermissions = parentFieldsPermissions\n }\n }\n\n const tabVersion = {\n name: 'name' in tab ? tab.name : null,\n fields: buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: tab.fields,\n fieldsPermissions: tabFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 1,\n parentIndexPath: isNamedTab ? '' : tabIndexPath,\n parentIsLocalized: parentIsLocalized || tab.localized,\n parentPath: isNamedTab ? tabPath : 'name' in field ? path : parentPath,\n parentSchemaPath: tabSchemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: 'name' in tab ? valueFrom?.[tab.name] : valueFrom,\n versionToSiblingData: 'name' in tab ? valueTo?.[tab.name] : valueTo,\n }).versionFields,\n label: typeof tab.label === 'function' ? tab.label({ i18n, t: i18n.t }) : tab.label,\n }\n if (tabVersion?.fields?.length) {\n baseVersionField.tabs.push(tabVersion)\n }\n }\n\n if (modifiedOnly && !baseVersionField.tabs.length) {\n return null\n }\n } // At this point, we are dealing with a `row`, `collapsible`, array`, etc\n else if ('fields' in field) {\n let subFieldsPermissions: SanitizedFieldsPermissions = undefined\n\n if ('name' in field && typeof fieldPermissions !== 'undefined') {\n // Named fields like arrays\n subFieldsPermissions =\n typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions.fields\n } else {\n // Unnamed fields like collapsible and row inherit directly from parent permissions\n subFieldsPermissions = parentFieldsPermissions\n }\n\n if (field.type === 'array' && (valueTo || valueFrom)) {\n const maxLength = Math.max(\n Array.isArray(valueTo) ? valueTo.length : 0,\n Array.isArray(valueFrom) ? valueFrom.length : 0,\n )\n baseVersionField.rows = []\n\n for (let i = 0; i < maxLength; i++) {\n const fromRow = (Array.isArray(valueFrom) && valueFrom?.[i]) || {}\n const toRow = (Array.isArray(valueTo) && valueTo?.[i]) || {}\n\n const versionFields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: field.fields,\n fieldsPermissions: subFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 2,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || field.localized,\n parentPath: ('name' in field ? path : parentPath) + '.' + i,\n parentSchemaPath: schemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: fromRow,\n versionToSiblingData: toRow,\n }).versionFields\n\n if (versionFields?.length) {\n baseVersionField.rows[i] = versionFields\n }\n }\n\n if (!baseVersionField.rows?.length && modifiedOnly) {\n return null\n }\n } else {\n baseVersionField.fields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields: field.fields,\n fieldsPermissions: subFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: field.type !== 'row' ? nestingLevel + 1 : nestingLevel,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: 'name' in field ? path : parentPath,\n parentSchemaPath: schemaPath,\n req,\n selectedLocales,\n versionFromSiblingData: valueFrom as object,\n versionToSiblingData: valueTo as object,\n }).versionFields\n\n if (modifiedOnly && !baseVersionField.fields?.length) {\n return null\n }\n }\n } else if (field.type === 'blocks') {\n baseVersionField.rows = []\n\n const maxLength = Math.max(\n Array.isArray(valueTo) ? valueTo.length : 0,\n Array.isArray(valueFrom) ? valueFrom.length : 0,\n )\n\n for (let i = 0; i < maxLength; i++) {\n const fromRow = (Array.isArray(valueFrom) && valueFrom?.[i]) || {}\n const toRow = (Array.isArray(valueTo) && valueTo?.[i]) || {}\n\n const blockSlugToMatch: string = toRow?.blockType ?? fromRow?.blockType\n const toBlock =\n req.payload.blocks[blockSlugToMatch] ??\n (field.blocks.find(\n (block) => typeof block !== 'string' && block.slug === blockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n let fields = []\n\n if (toRow.blockType === fromRow.blockType) {\n fields = toBlock.fields\n } else {\n const fromBlockSlugToMatch: string = fromRow?.blockType ?? toRow?.blockType\n\n const fromBlock =\n req.payload.blocks[fromBlockSlugToMatch] ??\n (field.blocks.find(\n (block) => typeof block !== 'string' && block.slug === fromBlockSlugToMatch,\n ) as FlattenedBlock | undefined)\n\n if (fromBlock) {\n fields = getUniqueListBy<Field>([...toBlock.fields, ...fromBlock.fields], 'name')\n } else {\n fields = toBlock.fields\n }\n }\n\n let blockFieldsPermissions: SanitizedFieldsPermissions = undefined\n\n // fieldPermissions will be set here, as the blocks field has a name\n if (typeof fieldPermissions === 'boolean') {\n blockFieldsPermissions = fieldPermissions\n } else if (typeof fieldPermissions?.blocks === 'boolean') {\n blockFieldsPermissions = fieldPermissions.blocks\n } else {\n const permissionsBlockSpecific = fieldPermissions?.blocks?.[blockSlugToMatch]\n if (typeof permissionsBlockSpecific === 'boolean') {\n blockFieldsPermissions = permissionsBlockSpecific\n } else {\n blockFieldsPermissions = permissionsBlockSpecific?.fields\n }\n }\n\n const versionFields = buildVersionFields({\n clientSchemaMap,\n customDiffComponents,\n entitySlug,\n fields,\n fieldsPermissions: blockFieldsPermissions,\n i18n,\n modifiedOnly,\n nestingLevel: nestingLevel + 2,\n parentIndexPath: 'name' in field ? '' : indexPath,\n parentIsLocalized: parentIsLocalized || ('localized' in field && field.localized),\n parentPath: ('name' in field ? path : parentPath) + '.' + i,\n parentSchemaPath: schemaPath + '.' + toBlock.slug,\n req,\n selectedLocales,\n versionFromSiblingData: fromRow,\n versionToSiblingData: toRow,\n }).versionFields\n\n if (versionFields?.length) {\n baseVersionField.rows[i] = versionFields\n }\n }\n\n if (!baseVersionField.rows?.length && modifiedOnly) {\n return null\n }\n }\n\n const clientDiffProps: FieldDiffClientProps = {\n baseVersionField: {\n ...baseVersionField,\n CustomComponent: undefined,\n },\n /**\n * TODO: Change to valueFrom in 4.0\n */\n comparisonValue: valueFrom,\n /**\n * @deprecated remove in 4.0. Each field should handle its own diffing logic\n */\n diffMethod: 'diffWordsWithSpace',\n field: clientField,\n fieldPermissions:\n typeof fieldPermissions === 'undefined' ? parentFieldsPermissions : fieldPermissions,\n parentIsLocalized,\n\n nestingLevel: nestingLevel ? nestingLevel : undefined,\n /**\n * TODO: Change to valueTo in 4.0\n */\n versionValue: valueTo,\n }\n if (locale) {\n clientDiffProps.locale = locale\n }\n\n const serverDiffProps: FieldDiffServerProps = {\n ...clientDiffProps,\n clientField,\n field,\n i18n,\n req,\n selectedLocales,\n }\n\n baseVersionField.CustomComponent = RenderServerComponent({\n clientProps: clientDiffProps,\n Component: CustomComponent,\n Fallback: DefaultComponent,\n importMap: req.payload.importMap,\n key: 'diff component',\n serverProps: serverDiffProps,\n })\n\n return baseVersionField\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Restore/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAIpG,OAAO,KAA0C,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/Version/Restore/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAIpG,OAAO,KAA0C,MAAM,OAAO,CAAA;AAa9D,OAAO,aAAa,CAAA;AAKpB,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,KAAK,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAA;IACtD,aAAa,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oBAAoB,EAAE,MAAM,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAwHnC,CAAA"}
|
|
@@ -9,6 +9,7 @@ import { Button } from '../../../elements/Button/index.js';
|
|
|
9
9
|
import { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js';
|
|
10
10
|
import { useModal } from '../../../elements/Modal/index.js';
|
|
11
11
|
import * as PopupList from '../../../elements/Popup/PopupButtonList/index.js';
|
|
12
|
+
import { useBranchParam } from '../../../providers/Branch/index.js';
|
|
12
13
|
import { useConfig } from '../../../providers/Config/index.js';
|
|
13
14
|
import { useRouter } from '../../../providers/RouterAdapter/index.js';
|
|
14
15
|
import { useRouteTransition } from '../../../providers/RouteTransition/index.js';
|
|
@@ -43,6 +44,7 @@ export const Restore = ({
|
|
|
43
44
|
i18n,
|
|
44
45
|
t
|
|
45
46
|
} = useTranslation();
|
|
47
|
+
const branch = useBranchParam();
|
|
46
48
|
const [draft, setDraft] = useState(false);
|
|
47
49
|
const {
|
|
48
50
|
startRouteTransition
|
|
@@ -53,20 +55,21 @@ export const Restore = ({
|
|
|
53
55
|
});
|
|
54
56
|
const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts;
|
|
55
57
|
const handleRestore = useCallback(async () => {
|
|
58
|
+
const branchParam = branch ? `&branch=${encodeURIComponent(branch)}` : '';
|
|
56
59
|
let fetchURL = formatAdminURL({
|
|
57
60
|
apiRoute,
|
|
58
61
|
path: ''
|
|
59
62
|
});
|
|
60
63
|
let redirectURL;
|
|
61
64
|
if (collectionConfig) {
|
|
62
|
-
fetchURL = `${fetchURL}/${collectionConfig.slug}/versions/${versionID}?draft=${draft}`;
|
|
65
|
+
fetchURL = `${fetchURL}/${collectionConfig.slug}/versions/${versionID}?draft=${draft}${branchParam}`;
|
|
63
66
|
redirectURL = formatAdminURL({
|
|
64
67
|
adminRoute,
|
|
65
68
|
path: `/collections/${collectionConfig.slug}/${originalDocID}`
|
|
66
69
|
});
|
|
67
70
|
}
|
|
68
71
|
if (globalConfig) {
|
|
69
|
-
fetchURL = `${fetchURL}/globals/${globalConfig.slug}/versions/${versionID}?draft=${draft}`;
|
|
72
|
+
fetchURL = `${fetchURL}/globals/${globalConfig.slug}/versions/${versionID}?draft=${draft}${branchParam}`;
|
|
70
73
|
redirectURL = formatAdminURL({
|
|
71
74
|
adminRoute,
|
|
72
75
|
path: `/globals/${globalConfig.slug}`
|
|
@@ -84,7 +87,7 @@ export const Restore = ({
|
|
|
84
87
|
} else {
|
|
85
88
|
toast.error(t('version:problemRestoringVersion'));
|
|
86
89
|
}
|
|
87
|
-
}, [apiRoute, collectionConfig, globalConfig, i18n.language, versionID, draft, adminRoute, originalDocID, startRouteTransition, router, t]);
|
|
90
|
+
}, [branch, apiRoute, collectionConfig, globalConfig, i18n.language, versionID, draft, adminRoute, originalDocID, startRouteTransition, router, t]);
|
|
88
91
|
return /*#__PURE__*/_jsxs(Fragment, {
|
|
89
92
|
children: [/*#__PURE__*/_jsx("div", {
|
|
90
93
|
className: [baseClass, className].filter(Boolean).join(' '),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","React","Fragment","useCallback","useState","toast","Button","ConfirmationModal","useModal","PopupList","useConfig","useRouter","useRouteTransition","useTranslation","requests","baseClass","modalSlug","Restore","className","collectionConfig","globalConfig","label","originalDocID","status","versionDateFormatted","versionID","config","routes","admin","adminRoute","api","apiRoute","toggleModal","router","i18n","t","draft","setDraft","startRouteTransition","restoreMessage","versionDate","canRestoreAsDraft","versions","drafts","handleRestore","fetchURL","path","redirectURL","slug","res","post","headers","language","json","success","message","push","error","_jsxs","_jsx","filter","Boolean","join","buttonStyle","onClick","size","SubMenuPopupContent","ButtonGroup","body","confirmingLabel","heading","onConfirm"],"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig, SanitizedCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js'\nimport { useModal } from '../../../elements/Modal/index.js'\nimport * as PopupList from '../../../elements/Popup/PopupButtonList/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useRouter } from '../../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport './index.css'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\ntype Props = {\n className?: string\n collectionConfig?: ClientCollectionConfig\n globalConfig?: ClientGlobalConfig\n label: SanitizedCollectionConfig['labels']['singular']\n originalDocID: number | string\n status?: string\n versionDateFormatted: string\n versionID: string\n}\n\nexport const Restore: React.FC<Props> = ({\n className,\n collectionConfig,\n globalConfig,\n label,\n originalDocID,\n status,\n versionDateFormatted,\n versionID,\n}) => {\n const {\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n },\n } = useConfig()\n\n const { toggleModal } = useModal()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const [draft, setDraft] = useState(false)\n const { startRouteTransition } = useRouteTransition()\n\n const restoreMessage = t(\n globalConfig ? 'version:aboutToRestoreGlobal' : 'version:aboutToRestore',\n {\n label: getTranslation(label, i18n),\n versionDate: versionDateFormatted,\n },\n )\n\n const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts\n\n const handleRestore = useCallback(async () => {\n let fetchURL = formatAdminURL({\n apiRoute,\n path: '',\n })\n let redirectURL: string\n\n if (collectionConfig) {\n fetchURL = `${fetchURL}/${collectionConfig.slug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig.slug}/${originalDocID}`,\n })\n }\n\n if (globalConfig) {\n fetchURL = `${fetchURL}/globals/${globalConfig.slug}/versions/${versionID}?draft=${draft}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalConfig.slug}`,\n })\n }\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 return startRouteTransition(() => router.push(redirectURL))\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [\n apiRoute,\n collectionConfig,\n globalConfig,\n i18n.language,\n versionID,\n draft,\n adminRoute,\n originalDocID,\n startRouteTransition,\n router,\n t,\n ])\n\n return (\n <Fragment>\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Button\n buttonStyle=\"primary\"\n className={[canRestoreAsDraft && `${baseClass}__restore-as-draft-button`]\n .filter(Boolean)\n .join(' ')}\n onClick={() => toggleModal(modalSlug)}\n size=\"medium\"\n SubMenuPopupContent={\n canRestoreAsDraft\n ? () => (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={() => [setDraft(true), toggleModal(modalSlug)]}>\n {t('version:restoreAsDraft')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n : null\n }\n >\n {t('version:restoreThisVersion')}\n </Button>\n </div>\n <ConfirmationModal\n body={restoreMessage}\n confirmingLabel={t('version:restoring')}\n heading={t('version:confirmVersionRestoration')}\n modalSlug={modalSlug}\n onConfirm={handleRestore}\n />\n </Fragment>\n )\n}\n"],"mappings":"AAAA;;;AAIA,SAASA,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,QAAQ,EAAEC,WAAW,EAAEC,QAAQ,QAAQ;AACvD,SAASC,KAAK,QAAQ;AAEtB,SAASC,MAAM,QAAQ;AACvB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,QAAQ,QAAQ;AACzB,YAAYC,SAAA,MAAe;AAC3B,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAClB,MAAMC,SAAA,GAAY;AAalB,OAAO,MAAMC,OAAA,GAA2BA,CAAC;EACvCC,SAAS;EACTC,gBAAgB;EAChBC,YAAY;EACZC,KAAK;EACLC,aAAa;EACbC,MAAM;EACNC,oBAAoB;EACpBC;AAAS,CACV;EACC,MAAM;IACJC,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC,KAAA,EAAOC,UAAU;QAAEC,GAAA,EAAKC;MAAQ;IAAE;EAC7C,CACF,GAAGrB,SAAA;EAEJ,MAAM;IAAEsB;EAAW,CAAE,
|
|
1
|
+
{"version":3,"file":"index.js","names":["getTranslation","formatAdminURL","React","Fragment","useCallback","useState","toast","Button","ConfirmationModal","useModal","PopupList","useBranchParam","useConfig","useRouter","useRouteTransition","useTranslation","requests","baseClass","modalSlug","Restore","className","collectionConfig","globalConfig","label","originalDocID","status","versionDateFormatted","versionID","config","routes","admin","adminRoute","api","apiRoute","toggleModal","router","i18n","t","branch","draft","setDraft","startRouteTransition","restoreMessage","versionDate","canRestoreAsDraft","versions","drafts","handleRestore","branchParam","encodeURIComponent","fetchURL","path","redirectURL","slug","res","post","headers","language","json","success","message","push","error","_jsxs","_jsx","filter","Boolean","join","buttonStyle","onClick","size","SubMenuPopupContent","ButtonGroup","body","confirmingLabel","heading","onConfirm"],"sources":["../../../../src/views/Version/Restore/index.tsx"],"sourcesContent":["'use client'\n\nimport type { ClientCollectionConfig, ClientGlobalConfig, SanitizedCollectionConfig } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useCallback, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { ConfirmationModal } from '../../../elements/ConfirmationModal/index.js'\nimport { useModal } from '../../../elements/Modal/index.js'\nimport * as PopupList from '../../../elements/Popup/PopupButtonList/index.js'\nimport { useBranchParam } from '../../../providers/Branch/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useRouter } from '../../../providers/RouterAdapter/index.js'\nimport { useRouteTransition } from '../../../providers/RouteTransition/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport './index.css'\n\nconst baseClass = 'restore-version'\nconst modalSlug = 'restore-version'\n\ntype Props = {\n className?: string\n collectionConfig?: ClientCollectionConfig\n globalConfig?: ClientGlobalConfig\n label: SanitizedCollectionConfig['labels']['singular']\n originalDocID: number | string\n status?: string\n versionDateFormatted: string\n versionID: string\n}\n\nexport const Restore: React.FC<Props> = ({\n className,\n collectionConfig,\n globalConfig,\n label,\n originalDocID,\n status,\n versionDateFormatted,\n versionID,\n}) => {\n const {\n config: {\n routes: { admin: adminRoute, api: apiRoute },\n },\n } = useConfig()\n\n const { toggleModal } = useModal()\n const router = useRouter()\n const { i18n, t } = useTranslation()\n const branch = useBranchParam()\n const [draft, setDraft] = useState(false)\n const { startRouteTransition } = useRouteTransition()\n\n const restoreMessage = t(\n globalConfig ? 'version:aboutToRestoreGlobal' : 'version:aboutToRestore',\n {\n label: getTranslation(label, i18n),\n versionDate: versionDateFormatted,\n },\n )\n\n const canRestoreAsDraft = status !== 'draft' && collectionConfig?.versions?.drafts\n\n const handleRestore = useCallback(async () => {\n const branchParam = branch ? `&branch=${encodeURIComponent(branch)}` : ''\n\n let fetchURL = formatAdminURL({\n apiRoute,\n path: '',\n })\n let redirectURL: string\n\n if (collectionConfig) {\n fetchURL = `${fetchURL}/${collectionConfig.slug}/versions/${versionID}?draft=${draft}${branchParam}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig.slug}/${originalDocID}`,\n })\n }\n\n if (globalConfig) {\n fetchURL = `${fetchURL}/globals/${globalConfig.slug}/versions/${versionID}?draft=${draft}${branchParam}`\n redirectURL = formatAdminURL({\n adminRoute,\n path: `/globals/${globalConfig.slug}`,\n })\n }\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 return startRouteTransition(() => router.push(redirectURL))\n } else {\n toast.error(t('version:problemRestoringVersion'))\n }\n }, [\n branch,\n apiRoute,\n collectionConfig,\n globalConfig,\n i18n.language,\n versionID,\n draft,\n adminRoute,\n originalDocID,\n startRouteTransition,\n router,\n t,\n ])\n\n return (\n <Fragment>\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Button\n buttonStyle=\"primary\"\n className={[canRestoreAsDraft && `${baseClass}__restore-as-draft-button`]\n .filter(Boolean)\n .join(' ')}\n onClick={() => toggleModal(modalSlug)}\n size=\"medium\"\n SubMenuPopupContent={\n canRestoreAsDraft\n ? () => (\n <PopupList.ButtonGroup>\n <PopupList.Button onClick={() => [setDraft(true), toggleModal(modalSlug)]}>\n {t('version:restoreAsDraft')}\n </PopupList.Button>\n </PopupList.ButtonGroup>\n )\n : null\n }\n >\n {t('version:restoreThisVersion')}\n </Button>\n </div>\n <ConfirmationModal\n body={restoreMessage}\n confirmingLabel={t('version:restoring')}\n heading={t('version:confirmVersionRestoration')}\n modalSlug={modalSlug}\n onConfirm={handleRestore}\n />\n </Fragment>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EAKxB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,wBAAsB,WAAW,CAAC,KAAK,EAAE,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/views/Version/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EAKxB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,wBAAsB,WAAW,CAAC,KAAK,EAAE,uBAAuB,8BA4a/D"}
|
|
@@ -331,6 +331,10 @@ export async function VersionView(props) {
|
|
|
331
331
|
});
|
|
332
332
|
}
|
|
333
333
|
return /*#__PURE__*/_jsx(DefaultVersionView, {
|
|
334
|
+
branch: req.payload.config.branching?.enabled ? {
|
|
335
|
+
from: versionFrom?._branch,
|
|
336
|
+
to: versionTo._branch
|
|
337
|
+
} : undefined,
|
|
334
338
|
canUpdate: docPermissions?.update,
|
|
335
339
|
modifiedOnly: modifiedOnly,
|
|
336
340
|
RenderedDiff: RenderedDiff,
|