@strapi/content-manager 0.0.0 → 5.0.0-beta.7
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/README.md +9 -1
- package/dist/_chunks/CardDragPreview-C0QyJgRA.js +69 -0
- package/dist/_chunks/CardDragPreview-C0QyJgRA.js.map +1 -0
- package/dist/_chunks/CardDragPreview-DOxamsuj.mjs +70 -0
- package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +1 -0
- package/dist/_chunks/ComponentConfigurationPage-DMq0wvcL.js +255 -0
- package/dist/_chunks/ComponentConfigurationPage-DMq0wvcL.js.map +1 -0
- package/dist/_chunks/ComponentConfigurationPage-uTMkLI60.mjs +236 -0
- package/dist/_chunks/ComponentConfigurationPage-uTMkLI60.mjs.map +1 -0
- package/dist/_chunks/ComponentIcon-BBQsYCVn.js +170 -0
- package/dist/_chunks/ComponentIcon-BBQsYCVn.js.map +1 -0
- package/dist/_chunks/ComponentIcon-BOFnK76n.mjs +151 -0
- package/dist/_chunks/ComponentIcon-BOFnK76n.mjs.map +1 -0
- package/dist/_chunks/EditConfigurationPage-B2HhCh-b.mjs +132 -0
- package/dist/_chunks/EditConfigurationPage-B2HhCh-b.mjs.map +1 -0
- package/dist/_chunks/EditConfigurationPage-BFpQwwbc.js +151 -0
- package/dist/_chunks/EditConfigurationPage-BFpQwwbc.js.map +1 -0
- package/dist/_chunks/EditViewPage-BVIrgjyG.mjs +203 -0
- package/dist/_chunks/EditViewPage-BVIrgjyG.mjs.map +1 -0
- package/dist/_chunks/EditViewPage-CXXue16T.js +222 -0
- package/dist/_chunks/EditViewPage-CXXue16T.js.map +1 -0
- package/dist/_chunks/Field-0_2h1vuK.mjs +5328 -0
- package/dist/_chunks/Field-0_2h1vuK.mjs.map +1 -0
- package/dist/_chunks/Field-ZgzKlgxR.js +5360 -0
- package/dist/_chunks/Field-ZgzKlgxR.js.map +1 -0
- package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs +50 -0
- package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +1 -0
- package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js +49 -0
- package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +1 -0
- package/dist/_chunks/Form-B7TUnQDd.mjs +737 -0
- package/dist/_chunks/Form-B7TUnQDd.mjs.map +1 -0
- package/dist/_chunks/Form-DgTc2qkx.js +758 -0
- package/dist/_chunks/Form-DgTc2qkx.js.map +1 -0
- package/dist/_chunks/History-DtHjQuqM.js +948 -0
- package/dist/_chunks/History-DtHjQuqM.js.map +1 -0
- package/dist/_chunks/History-Dug_4HIA.mjs +927 -0
- package/dist/_chunks/History-Dug_4HIA.mjs.map +1 -0
- package/dist/_chunks/ListConfigurationPage-BuSdTjfa.js +641 -0
- package/dist/_chunks/ListConfigurationPage-BuSdTjfa.js.map +1 -0
- package/dist/_chunks/ListConfigurationPage-CmEeNg6T.mjs +622 -0
- package/dist/_chunks/ListConfigurationPage-CmEeNg6T.mjs.map +1 -0
- package/dist/_chunks/ListViewPage-CExWwa4S.js +846 -0
- package/dist/_chunks/ListViewPage-CExWwa4S.js.map +1 -0
- package/dist/_chunks/ListViewPage-Dsoa3wEA.mjs +823 -0
- package/dist/_chunks/ListViewPage-Dsoa3wEA.mjs.map +1 -0
- package/dist/_chunks/NoContentTypePage-DCUL8gVi.js +51 -0
- package/dist/_chunks/NoContentTypePage-DCUL8gVi.js.map +1 -0
- package/dist/_chunks/NoContentTypePage-Dh38hBXB.mjs +51 -0
- package/dist/_chunks/NoContentTypePage-Dh38hBXB.mjs.map +1 -0
- package/dist/_chunks/NoPermissionsPage-BK-XCpIy.js +23 -0
- package/dist/_chunks/NoPermissionsPage-BK-XCpIy.js.map +1 -0
- package/dist/_chunks/NoPermissionsPage-Dt2O40ey.mjs +23 -0
- package/dist/_chunks/NoPermissionsPage-Dt2O40ey.mjs.map +1 -0
- package/dist/_chunks/Relations-CNypkp-g.js +712 -0
- package/dist/_chunks/Relations-CNypkp-g.js.map +1 -0
- package/dist/_chunks/Relations-DZyjWZHl.mjs +692 -0
- package/dist/_chunks/Relations-DZyjWZHl.mjs.map +1 -0
- package/dist/_chunks/ar-BUUWXIYu.js +226 -0
- package/dist/_chunks/ar-BUUWXIYu.js.map +1 -0
- package/dist/_chunks/ar-CCEVvqGG.mjs +226 -0
- package/dist/_chunks/ar-CCEVvqGG.mjs.map +1 -0
- package/dist/_chunks/ca-5U32ON2v.mjs +201 -0
- package/dist/_chunks/ca-5U32ON2v.mjs.map +1 -0
- package/dist/_chunks/ca-Cmk45QO6.js +201 -0
- package/dist/_chunks/ca-Cmk45QO6.js.map +1 -0
- package/dist/_chunks/cs-CM2aBUar.mjs +125 -0
- package/dist/_chunks/cs-CM2aBUar.mjs.map +1 -0
- package/dist/_chunks/cs-CkJy6B2v.js +125 -0
- package/dist/_chunks/cs-CkJy6B2v.js.map +1 -0
- package/dist/_chunks/de-C72KDNOl.mjs +199 -0
- package/dist/_chunks/de-C72KDNOl.mjs.map +1 -0
- package/dist/_chunks/de-CCEmbAah.js +199 -0
- package/dist/_chunks/de-CCEmbAah.js.map +1 -0
- package/dist/_chunks/en-C-V1_90f.js +285 -0
- package/dist/_chunks/en-C-V1_90f.js.map +1 -0
- package/dist/_chunks/en-MBPul9Su.mjs +285 -0
- package/dist/_chunks/en-MBPul9Su.mjs.map +1 -0
- package/dist/_chunks/es-CeXiYflN.mjs +196 -0
- package/dist/_chunks/es-CeXiYflN.mjs.map +1 -0
- package/dist/_chunks/es-EUonQTon.js +196 -0
- package/dist/_chunks/es-EUonQTon.js.map +1 -0
- package/dist/_chunks/eu-CdALomew.mjs +202 -0
- package/dist/_chunks/eu-CdALomew.mjs.map +1 -0
- package/dist/_chunks/eu-VDH-3ovk.js +202 -0
- package/dist/_chunks/eu-VDH-3ovk.js.map +1 -0
- package/dist/_chunks/fr-B7kGGg3E.js +206 -0
- package/dist/_chunks/fr-B7kGGg3E.js.map +1 -0
- package/dist/_chunks/fr-CD9VFbPM.mjs +206 -0
- package/dist/_chunks/fr-CD9VFbPM.mjs.map +1 -0
- package/dist/_chunks/gu-BRmF601H.js +200 -0
- package/dist/_chunks/gu-BRmF601H.js.map +1 -0
- package/dist/_chunks/gu-CNpaMDpH.mjs +200 -0
- package/dist/_chunks/gu-CNpaMDpH.mjs.map +1 -0
- package/dist/_chunks/hi-CCJBptSq.js +200 -0
- package/dist/_chunks/hi-CCJBptSq.js.map +1 -0
- package/dist/_chunks/hi-Dwvd04m3.mjs +200 -0
- package/dist/_chunks/hi-Dwvd04m3.mjs.map +1 -0
- package/dist/_chunks/hooks-BAaaKPS_.js +7 -0
- package/dist/_chunks/hooks-BAaaKPS_.js.map +1 -0
- package/dist/_chunks/hooks-E5u1mcgM.mjs +8 -0
- package/dist/_chunks/hooks-E5u1mcgM.mjs.map +1 -0
- package/dist/_chunks/hu-CeYvaaO0.mjs +202 -0
- package/dist/_chunks/hu-CeYvaaO0.mjs.map +1 -0
- package/dist/_chunks/hu-sNV_yLYy.js +202 -0
- package/dist/_chunks/hu-sNV_yLYy.js.map +1 -0
- package/dist/_chunks/id-B5Ser98A.js +160 -0
- package/dist/_chunks/id-B5Ser98A.js.map +1 -0
- package/dist/_chunks/id-BtwA9WJT.mjs +160 -0
- package/dist/_chunks/id-BtwA9WJT.mjs.map +1 -0
- package/dist/_chunks/index-B3c-4it4.mjs +3188 -0
- package/dist/_chunks/index-B3c-4it4.mjs.map +1 -0
- package/dist/_chunks/index-DFK7LwDW.js +3207 -0
- package/dist/_chunks/index-DFK7LwDW.js.map +1 -0
- package/dist/_chunks/it-BrVPqaf1.mjs +162 -0
- package/dist/_chunks/it-BrVPqaf1.mjs.map +1 -0
- package/dist/_chunks/it-DkBIs7vD.js +162 -0
- package/dist/_chunks/it-DkBIs7vD.js.map +1 -0
- package/dist/_chunks/ja-CcFe8diO.js +196 -0
- package/dist/_chunks/ja-CcFe8diO.js.map +1 -0
- package/dist/_chunks/ja-CtsUxOvk.mjs +196 -0
- package/dist/_chunks/ja-CtsUxOvk.mjs.map +1 -0
- package/dist/_chunks/ko-HVQRlfUI.mjs +195 -0
- package/dist/_chunks/ko-HVQRlfUI.mjs.map +1 -0
- package/dist/_chunks/ko-woFZPmLk.js +195 -0
- package/dist/_chunks/ko-woFZPmLk.js.map +1 -0
- package/dist/_chunks/layout-B5cm7cZj.mjs +453 -0
- package/dist/_chunks/layout-B5cm7cZj.mjs.map +1 -0
- package/dist/_chunks/layout-DLih5-_W.js +471 -0
- package/dist/_chunks/layout-DLih5-_W.js.map +1 -0
- package/dist/_chunks/ml-BihZwQit.mjs +200 -0
- package/dist/_chunks/ml-BihZwQit.mjs.map +1 -0
- package/dist/_chunks/ml-C2W8N8k1.js +200 -0
- package/dist/_chunks/ml-C2W8N8k1.js.map +1 -0
- package/dist/_chunks/ms-BuFotyP_.js +144 -0
- package/dist/_chunks/ms-BuFotyP_.js.map +1 -0
- package/dist/_chunks/ms-m_WjyWx7.mjs +144 -0
- package/dist/_chunks/ms-m_WjyWx7.mjs.map +1 -0
- package/dist/_chunks/nl-D4R9gHx5.mjs +202 -0
- package/dist/_chunks/nl-D4R9gHx5.mjs.map +1 -0
- package/dist/_chunks/nl-bbEOHChV.js +202 -0
- package/dist/_chunks/nl-bbEOHChV.js.map +1 -0
- package/dist/_chunks/objects-gigeqt7s.js +49 -0
- package/dist/_chunks/objects-gigeqt7s.js.map +1 -0
- package/dist/_chunks/objects-mKMAmfec.mjs +47 -0
- package/dist/_chunks/objects-mKMAmfec.mjs.map +1 -0
- package/dist/_chunks/pl-sbx9mSt_.mjs +199 -0
- package/dist/_chunks/pl-sbx9mSt_.mjs.map +1 -0
- package/dist/_chunks/pl-uzwG-hk7.js +199 -0
- package/dist/_chunks/pl-uzwG-hk7.js.map +1 -0
- package/dist/_chunks/pt-BR-BiOz37D9.js +201 -0
- package/dist/_chunks/pt-BR-BiOz37D9.js.map +1 -0
- package/dist/_chunks/pt-BR-C71iDxnh.mjs +201 -0
- package/dist/_chunks/pt-BR-C71iDxnh.mjs.map +1 -0
- package/dist/_chunks/pt-BsaFvS8-.mjs +95 -0
- package/dist/_chunks/pt-BsaFvS8-.mjs.map +1 -0
- package/dist/_chunks/pt-CeXQuq50.js +95 -0
- package/dist/_chunks/pt-CeXQuq50.js.map +1 -0
- package/dist/_chunks/relations-BZkrMa2z.mjs +135 -0
- package/dist/_chunks/relations-BZkrMa2z.mjs.map +1 -0
- package/dist/_chunks/relations-CTvkuINQ.js +134 -0
- package/dist/_chunks/relations-CTvkuINQ.js.map +1 -0
- package/dist/_chunks/ru-BE6A4Exp.mjs +231 -0
- package/dist/_chunks/ru-BE6A4Exp.mjs.map +1 -0
- package/dist/_chunks/ru-BT3ybNny.js +231 -0
- package/dist/_chunks/ru-BT3ybNny.js.map +1 -0
- package/dist/_chunks/sa-CcvkYInH.js +200 -0
- package/dist/_chunks/sa-CcvkYInH.js.map +1 -0
- package/dist/_chunks/sa-Dag0k-Z8.mjs +200 -0
- package/dist/_chunks/sa-Dag0k-Z8.mjs.map +1 -0
- package/dist/_chunks/sk-BFg-R8qJ.mjs +202 -0
- package/dist/_chunks/sk-BFg-R8qJ.mjs.map +1 -0
- package/dist/_chunks/sk-CvY09Xjv.js +202 -0
- package/dist/_chunks/sk-CvY09Xjv.js.map +1 -0
- package/dist/_chunks/sv-CUnfWGsh.mjs +202 -0
- package/dist/_chunks/sv-CUnfWGsh.mjs.map +1 -0
- package/dist/_chunks/sv-MYDuzgvT.js +202 -0
- package/dist/_chunks/sv-MYDuzgvT.js.map +1 -0
- package/dist/_chunks/th-BqbI8lIT.mjs +148 -0
- package/dist/_chunks/th-BqbI8lIT.mjs.map +1 -0
- package/dist/_chunks/th-D9_GfAjc.js +148 -0
- package/dist/_chunks/th-D9_GfAjc.js.map +1 -0
- package/dist/_chunks/tr-CgeK3wJM.mjs +199 -0
- package/dist/_chunks/tr-CgeK3wJM.mjs.map +1 -0
- package/dist/_chunks/tr-D9UH-O_R.js +199 -0
- package/dist/_chunks/tr-D9UH-O_R.js.map +1 -0
- package/dist/_chunks/uk-C8EiqJY7.js +144 -0
- package/dist/_chunks/uk-C8EiqJY7.js.map +1 -0
- package/dist/_chunks/uk-CR-zDhAY.mjs +144 -0
- package/dist/_chunks/uk-CR-zDhAY.mjs.map +1 -0
- package/dist/_chunks/urls-CbOsUOoW.mjs +7 -0
- package/dist/_chunks/urls-CbOsUOoW.mjs.map +1 -0
- package/dist/_chunks/urls-DzZya_gm.js +6 -0
- package/dist/_chunks/urls-DzZya_gm.js.map +1 -0
- package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs +231 -0
- package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs.map +1 -0
- package/dist/_chunks/useDragAndDrop-J0TUUbR6.js +249 -0
- package/dist/_chunks/useDragAndDrop-J0TUUbR6.js.map +1 -0
- package/dist/_chunks/vi-CJlYDheJ.js +111 -0
- package/dist/_chunks/vi-CJlYDheJ.js.map +1 -0
- package/dist/_chunks/vi-DUXIk_fw.mjs +111 -0
- package/dist/_chunks/vi-DUXIk_fw.mjs.map +1 -0
- package/dist/_chunks/zh-BWZspA60.mjs +209 -0
- package/dist/_chunks/zh-BWZspA60.mjs.map +1 -0
- package/dist/_chunks/zh-CQQfszqR.js +209 -0
- package/dist/_chunks/zh-CQQfszqR.js.map +1 -0
- package/dist/_chunks/zh-Hans-9kOncHGw.js +952 -0
- package/dist/_chunks/zh-Hans-9kOncHGw.js.map +1 -0
- package/dist/_chunks/zh-Hans-BPQcRIyH.mjs +952 -0
- package/dist/_chunks/zh-Hans-BPQcRIyH.mjs.map +1 -0
- package/dist/admin/index.js +11 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/index.mjs +11 -0
- package/dist/admin/index.mjs.map +1 -0
- package/dist/admin/src/components/ComponentIcon.d.ts +8 -0
- package/dist/admin/src/components/ConfigurationForm/EditFieldForm.d.ts +9 -0
- package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +21 -0
- package/dist/admin/src/components/ConfigurationForm/Form.d.ts +32 -0
- package/dist/admin/src/components/DragLayer.d.ts +13 -0
- package/dist/admin/src/components/DragPreviews/CardDragPreview.d.ts +7 -0
- package/dist/admin/src/components/DragPreviews/ComponentDragPreview.d.ts +6 -0
- package/dist/admin/src/components/DragPreviews/RelationDragPreview.d.ts +11 -0
- package/dist/admin/src/components/FieldTypeIcon.d.ts +9 -0
- package/dist/admin/src/components/InjectionZone.d.ts +45 -0
- package/dist/admin/src/components/LeftMenu.d.ts +2 -0
- package/dist/admin/src/components/RelativeTime.d.ts +28 -0
- package/dist/admin/src/constants/attributes.d.ts +14 -0
- package/dist/admin/src/constants/collections.d.ts +3 -0
- package/dist/admin/src/constants/dragAndDrop.d.ts +8 -0
- package/dist/admin/src/constants/hooks.d.ts +26 -0
- package/dist/admin/src/constants/plugin.d.ts +3 -0
- package/dist/admin/src/content-manager.d.ts +133 -0
- package/dist/admin/src/exports.d.ts +11 -0
- package/dist/admin/src/features/DocumentRBAC.d.ts +36 -0
- package/dist/admin/src/history/components/HistoryAction.d.ts +3 -0
- package/dist/admin/src/history/components/VersionContent.d.ts +17 -0
- package/dist/admin/src/history/components/VersionHeader.d.ts +5 -0
- package/dist/admin/src/history/components/VersionInputRenderer.d.ts +19 -0
- package/dist/admin/src/history/components/VersionsList.d.ts +2 -0
- package/dist/admin/src/history/pages/History.d.ts +27 -0
- package/dist/admin/src/history/routes.d.ts +6 -0
- package/dist/admin/src/history/services/historyVersion.d.ts +12 -0
- package/dist/admin/src/hooks/useContentManagerInitData.d.ts +15 -0
- package/dist/admin/src/hooks/useContentTypeSchema.d.ts +25 -0
- package/dist/admin/src/hooks/useDebounce.d.ts +1 -0
- package/dist/admin/src/hooks/useDocument.d.ts +90 -0
- package/dist/admin/src/hooks/useDocumentActions.d.ts +102 -0
- package/dist/admin/src/hooks/useDocumentLayout.d.ts +137 -0
- package/dist/admin/src/hooks/useDragAndDrop.d.ts +51 -0
- package/dist/admin/src/hooks/useKeyboardDragAndDrop.d.ts +14 -0
- package/dist/admin/src/hooks/useLazyComponents.d.ts +13 -0
- package/dist/admin/src/hooks/useOnce.d.ts +2 -0
- package/dist/admin/src/hooks/usePrev.d.ts +1 -0
- package/dist/admin/src/index.d.ts +16 -0
- package/dist/admin/src/layout.d.ts +2 -0
- package/dist/admin/src/modules/app.d.ts +20 -0
- package/dist/admin/src/modules/hooks.d.ts +10 -0
- package/dist/admin/src/modules/reducers.d.ts +6 -0
- package/dist/admin/src/pages/ComponentConfigurationPage.d.ts +3 -0
- package/dist/admin/src/pages/EditConfigurationPage.d.ts +3 -0
- package/dist/admin/src/pages/EditView/EditViewPage.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +69 -0
- package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +16 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Heading.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Image.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Link.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/List.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Paragraph.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Quote.d.ts +3 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.d.ts +6 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.d.ts +61 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.d.ts +10 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.d.ts +10 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Modifiers.d.ts +16 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/plugins/withImages.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/plugins/withLinks.d.ts +9 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/plugins/withStrapiSchema.d.ts +8 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/conversions.d.ts +13 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/enterKey.d.ts +6 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/links.d.ts +10 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/types.d.ts +10 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Component/Initializer.d.ts +9 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Component/Input.d.ts +18 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Component/NonRepeatable.d.ts +5 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Component/Repeatable.d.ts +5 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/ComponentContext.d.ts +42 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentCard.d.ts +9 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.d.ts +17 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.d.ts +9 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +14 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicZoneLabel.d.ts +12 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +14 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/NotAllowed.d.ts +7 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +31 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +9 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/Editor.d.ts +17 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +14 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/Field.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/PreviewWysiwyg.d.ts +5 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.d.ts +7 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.d.ts +17 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +49 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/continueList.d.ts +5 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/mdRenderer.d.ts +4 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/utils/utils.d.ts +16 -0
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +5 -0
- package/dist/admin/src/pages/EditView/components/Header.d.ts +35 -0
- package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +17 -0
- package/dist/admin/src/pages/EditView/components/Panels.d.ts +10 -0
- package/dist/admin/src/pages/EditView/utils/data.d.ts +33 -0
- package/dist/admin/src/pages/EditView/utils/forms.d.ts +9 -0
- package/dist/admin/src/pages/ListConfiguration/ListConfigurationPage.d.ts +10 -0
- package/dist/admin/src/pages/ListConfiguration/components/DraggableCard.d.ts +12 -0
- package/dist/admin/src/pages/ListConfiguration/components/EditFieldForm.d.ts +8 -0
- package/dist/admin/src/pages/ListConfiguration/components/Header.d.ts +8 -0
- package/dist/admin/src/pages/ListConfiguration/components/Settings.d.ts +19 -0
- package/dist/admin/src/pages/ListConfiguration/components/SortDisplayedFields.d.ts +6 -0
- package/dist/admin/src/pages/ListView/ListViewPage.d.ts +3 -0
- package/dist/admin/src/pages/ListView/components/AutoCloneFailureModal.d.ts +7 -0
- package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +51 -0
- package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +15 -0
- package/dist/admin/src/pages/ListView/components/BulkActions/PublishAction.d.ts +31 -0
- package/dist/admin/src/pages/ListView/components/Filters.d.ts +8 -0
- package/dist/admin/src/pages/ListView/components/TableActions.d.ts +8 -0
- package/dist/admin/src/pages/ListView/components/TableCells/CellContent.d.ts +9 -0
- package/dist/admin/src/pages/ListView/components/TableCells/CellValue.d.ts +8 -0
- package/dist/admin/src/pages/ListView/components/TableCells/Components.d.ts +12 -0
- package/dist/admin/src/pages/ListView/components/TableCells/Media.d.ts +23 -0
- package/dist/admin/src/pages/ListView/components/TableCells/Relations.d.ts +12 -0
- package/dist/admin/src/pages/ListView/components/ViewSettingsMenu.d.ts +10 -0
- package/dist/admin/src/pages/NoContentTypePage.d.ts +2 -0
- package/dist/admin/src/pages/NoPermissionsPage.d.ts +2 -0
- package/dist/admin/src/router.d.ts +5 -0
- package/dist/admin/src/services/api.d.ts +3 -0
- package/dist/admin/src/services/components.d.ts +5 -0
- package/dist/admin/src/services/contentTypes.d.ts +17 -0
- package/dist/admin/src/services/documents.d.ts +89 -0
- package/dist/admin/src/services/init.d.ts +9 -0
- package/dist/admin/src/services/relations.d.ts +49 -0
- package/dist/admin/src/services/uid.d.ts +32 -0
- package/dist/admin/src/utils/api.d.ts +37 -0
- package/dist/admin/src/utils/attributes.d.ts +19 -0
- package/dist/admin/src/utils/objects.d.ts +33 -0
- package/dist/admin/src/utils/relations.d.ts +12 -0
- package/dist/admin/src/utils/strings.d.ts +2 -0
- package/dist/admin/src/utils/translations.d.ts +4 -0
- package/dist/admin/src/utils/urls.d.ts +2 -0
- package/dist/admin/src/utils/users.d.ts +6 -0
- package/dist/admin/src/utils/validation.d.ts +12 -0
- package/dist/server/index.js +4244 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/index.mjs +4220 -0
- package/dist/server/index.mjs.map +1 -0
- package/dist/server/src/bootstrap.d.ts +3 -0
- package/dist/server/src/bootstrap.d.ts.map +1 -0
- package/dist/server/src/config.d.ts +6 -0
- package/dist/server/src/config.d.ts.map +1 -0
- package/dist/server/src/constants/index.d.ts +6 -0
- package/dist/server/src/constants/index.d.ts.map +1 -0
- package/dist/server/src/controllers/collection-types.d.ts +23 -0
- package/dist/server/src/controllers/collection-types.d.ts.map +1 -0
- package/dist/server/src/controllers/components.d.ts +7 -0
- package/dist/server/src/controllers/components.d.ts.map +1 -0
- package/dist/server/src/controllers/content-types.d.ts +8 -0
- package/dist/server/src/controllers/content-types.d.ts.map +1 -0
- package/dist/server/src/controllers/index.d.ts +53 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -0
- package/dist/server/src/controllers/init.d.ts +5 -0
- package/dist/server/src/controllers/init.d.ts.map +1 -0
- package/dist/server/src/controllers/relations.d.ts +13 -0
- package/dist/server/src/controllers/relations.d.ts.map +1 -0
- package/dist/server/src/controllers/single-types.d.ts +11 -0
- package/dist/server/src/controllers/single-types.d.ts.map +1 -0
- package/dist/server/src/controllers/uid.d.ts +6 -0
- package/dist/server/src/controllers/uid.d.ts.map +1 -0
- package/dist/server/src/controllers/utils/clone.d.ts +12 -0
- package/dist/server/src/controllers/utils/clone.d.ts.map +1 -0
- package/dist/server/src/controllers/utils/dimensions.d.ts +5 -0
- package/dist/server/src/controllers/utils/dimensions.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/index.d.ts +20 -0
- package/dist/server/src/controllers/validation/index.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/model-configuration.d.ts +22 -0
- package/dist/server/src/controllers/validation/model-configuration.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/relations.d.ts +4 -0
- package/dist/server/src/controllers/validation/relations.d.ts.map +1 -0
- package/dist/server/src/destroy.d.ts +4 -0
- package/dist/server/src/destroy.d.ts.map +1 -0
- package/dist/server/src/history/constants.d.ts +3 -0
- package/dist/server/src/history/constants.d.ts.map +1 -0
- package/dist/server/src/history/controllers/history-version.d.ts +19 -0
- package/dist/server/src/history/controllers/history-version.d.ts.map +1 -0
- package/dist/server/src/history/controllers/index.d.ts +2 -0
- package/dist/server/src/history/controllers/index.d.ts.map +1 -0
- package/dist/server/src/history/controllers/validation/history-version.d.ts +2 -0
- package/dist/server/src/history/controllers/validation/history-version.d.ts.map +1 -0
- package/dist/server/src/history/index.d.ts +4 -0
- package/dist/server/src/history/index.d.ts.map +1 -0
- package/dist/server/src/history/models/history-version.d.ts +4 -0
- package/dist/server/src/history/models/history-version.d.ts.map +1 -0
- package/dist/server/src/history/routes/history-version.d.ts +4 -0
- package/dist/server/src/history/routes/history-version.d.ts.map +1 -0
- package/dist/server/src/history/routes/index.d.ts +8 -0
- package/dist/server/src/history/routes/index.d.ts.map +1 -0
- package/dist/server/src/history/services/history.d.ts +16 -0
- package/dist/server/src/history/services/history.d.ts.map +1 -0
- package/dist/server/src/history/services/index.d.ts +19 -0
- package/dist/server/src/history/services/index.d.ts.map +1 -0
- package/dist/server/src/history/services/lifecycles.d.ts +9 -0
- package/dist/server/src/history/services/lifecycles.d.ts.map +1 -0
- package/dist/server/src/history/services/utils.d.ts +44 -0
- package/dist/server/src/history/services/utils.d.ts.map +1 -0
- package/dist/server/src/history/utils.d.ts +22 -0
- package/dist/server/src/history/utils.d.ts.map +1 -0
- package/dist/server/src/index.d.ts +374 -0
- package/dist/server/src/index.d.ts.map +1 -0
- package/dist/server/src/middlewares/index.d.ts +3 -0
- package/dist/server/src/middlewares/index.d.ts.map +1 -0
- package/dist/server/src/middlewares/routing.d.ts +4 -0
- package/dist/server/src/middlewares/routing.d.ts.map +1 -0
- package/dist/server/src/policies/hasPermissions.d.ts +7 -0
- package/dist/server/src/policies/hasPermissions.d.ts.map +1 -0
- package/dist/server/src/policies/index.d.ts +9 -0
- package/dist/server/src/policies/index.d.ts.map +1 -0
- package/dist/server/src/register.d.ts +4 -0
- package/dist/server/src/register.d.ts.map +1 -0
- package/dist/server/src/routes/admin.d.ts +41 -0
- package/dist/server/src/routes/admin.d.ts.map +1 -0
- package/dist/server/src/routes/index.d.ts +43 -0
- package/dist/server/src/routes/index.d.ts.map +1 -0
- package/dist/server/src/services/components.d.ts +32 -0
- package/dist/server/src/services/components.d.ts.map +1 -0
- package/dist/server/src/services/configuration.d.ts +20 -0
- package/dist/server/src/services/configuration.d.ts.map +1 -0
- package/dist/server/src/services/content-types.d.ts +18 -0
- package/dist/server/src/services/content-types.d.ts.map +1 -0
- package/dist/server/src/services/data-mapper.d.ts +20 -0
- package/dist/server/src/services/data-mapper.d.ts.map +1 -0
- package/dist/server/src/services/document-manager.d.ts +48 -0
- package/dist/server/src/services/document-manager.d.ts.map +1 -0
- package/dist/server/src/services/document-metadata.d.ts +88 -0
- package/dist/server/src/services/document-metadata.d.ts.map +1 -0
- package/dist/server/src/services/field-sizes.d.ts +19 -0
- package/dist/server/src/services/field-sizes.d.ts.map +1 -0
- package/dist/server/src/services/index.d.ts +266 -0
- package/dist/server/src/services/index.d.ts.map +1 -0
- package/dist/server/src/services/metrics.d.ts +9 -0
- package/dist/server/src/services/metrics.d.ts.map +1 -0
- package/dist/server/src/services/permission-checker.d.ts +54 -0
- package/dist/server/src/services/permission-checker.d.ts.map +1 -0
- package/dist/server/src/services/permission.d.ts +12 -0
- package/dist/server/src/services/permission.d.ts.map +1 -0
- package/dist/server/src/services/populate-builder.d.ts +30 -0
- package/dist/server/src/services/populate-builder.d.ts.map +1 -0
- package/dist/server/src/services/uid.d.ts +25 -0
- package/dist/server/src/services/uid.d.ts.map +1 -0
- package/dist/server/src/services/utils/configuration/attributes.d.ts +17 -0
- package/dist/server/src/services/utils/configuration/attributes.d.ts.map +1 -0
- package/dist/server/src/services/utils/configuration/index.d.ts +21 -0
- package/dist/server/src/services/utils/configuration/index.d.ts.map +1 -0
- package/dist/server/src/services/utils/configuration/layouts.d.ts +14 -0
- package/dist/server/src/services/utils/configuration/layouts.d.ts.map +1 -0
- package/dist/server/src/services/utils/configuration/metadatas.d.ts +5 -0
- package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -0
- package/dist/server/src/services/utils/configuration/settings.d.ts +5 -0
- package/dist/server/src/services/utils/configuration/settings.d.ts.map +1 -0
- package/dist/server/src/services/utils/count.d.ts +5 -0
- package/dist/server/src/services/utils/count.d.ts.map +1 -0
- package/dist/server/src/services/utils/draft.d.ts +11 -0
- package/dist/server/src/services/utils/draft.d.ts.map +1 -0
- package/dist/server/src/services/utils/populate.d.ts +35 -0
- package/dist/server/src/services/utils/populate.d.ts.map +1 -0
- package/dist/server/src/services/utils/store.d.ts +16 -0
- package/dist/server/src/services/utils/store.d.ts.map +1 -0
- package/dist/server/src/utils/index.d.ts +9 -0
- package/dist/server/src/utils/index.d.ts.map +1 -0
- package/dist/server/src/validation/policies/hasPermissions.d.ts +2 -0
- package/dist/server/src/validation/policies/hasPermissions.d.ts.map +1 -0
- package/dist/shared/contracts/collection-types.d.ts +330 -0
- package/dist/shared/contracts/collection-types.d.ts.map +1 -0
- package/dist/shared/contracts/components.d.ts +65 -0
- package/dist/shared/contracts/components.d.ts.map +1 -0
- package/dist/shared/contracts/content-types.d.ts +113 -0
- package/dist/shared/contracts/content-types.d.ts.map +1 -0
- package/dist/shared/contracts/history-versions.d.ts +92 -0
- package/dist/shared/contracts/history-versions.d.ts.map +1 -0
- package/dist/shared/contracts/index.d.ts +10 -0
- package/dist/shared/contracts/index.d.ts.map +1 -0
- package/dist/shared/contracts/init.d.ts +24 -0
- package/dist/shared/contracts/init.d.ts.map +1 -0
- package/dist/shared/contracts/relations.d.ts +70 -0
- package/dist/shared/contracts/relations.d.ts.map +1 -0
- package/dist/shared/contracts/review-workflows.d.ts +78 -0
- package/dist/shared/contracts/review-workflows.d.ts.map +1 -0
- package/dist/shared/contracts/single-types.d.ts +113 -0
- package/dist/shared/contracts/single-types.d.ts.map +1 -0
- package/dist/shared/contracts/uid.d.ts +48 -0
- package/dist/shared/contracts/uid.d.ts.map +1 -0
- package/dist/shared/index.d.ts +2 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +43 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/index.mjs +43 -0
- package/dist/shared/index.mjs.map +1 -0
- package/package.json +113 -2
- package/strapi-server.js +3 -0
@@ -0,0 +1,948 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
4
|
+
const React = require("react");
|
5
|
+
const strapiAdmin = require("@strapi/admin/strapi-admin");
|
6
|
+
const designSystem = require("@strapi/design-system");
|
7
|
+
const qs = require("qs");
|
8
|
+
const reactIntl = require("react-intl");
|
9
|
+
const reactRouterDom = require("react-router-dom");
|
10
|
+
const index = require("./index-DFK7LwDW.js");
|
11
|
+
const pipe = require("lodash/fp/pipe");
|
12
|
+
const hooks = require("./hooks-BAaaKPS_.js");
|
13
|
+
const Field = require("./Field-ZgzKlgxR.js");
|
14
|
+
const Icons = require("@strapi/icons");
|
15
|
+
const styledComponents = require("styled-components");
|
16
|
+
const relations = require("./relations-CTvkuINQ.js");
|
17
|
+
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
18
|
+
function _interopNamespace(e) {
|
19
|
+
if (e && e.__esModule)
|
20
|
+
return e;
|
21
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
22
|
+
if (e) {
|
23
|
+
for (const k in e) {
|
24
|
+
if (k !== "default") {
|
25
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
26
|
+
Object.defineProperty(n, k, d.get ? d : {
|
27
|
+
enumerable: true,
|
28
|
+
get: () => e[k]
|
29
|
+
});
|
30
|
+
}
|
31
|
+
}
|
32
|
+
}
|
33
|
+
n.default = e;
|
34
|
+
return Object.freeze(n);
|
35
|
+
}
|
36
|
+
const React__namespace = /* @__PURE__ */ _interopNamespace(React);
|
37
|
+
const pipe__default = /* @__PURE__ */ _interopDefault(pipe);
|
38
|
+
const StyledAlert = styledComponents.styled(designSystem.Alert).attrs({ closeLabel: "Close", onClose: () => {
|
39
|
+
} })`
|
40
|
+
button {
|
41
|
+
display: none;
|
42
|
+
}
|
43
|
+
`;
|
44
|
+
const LinkEllipsis = styledComponents.styled(designSystem.Link)`
|
45
|
+
display: block;
|
46
|
+
|
47
|
+
& > span {
|
48
|
+
white-space: nowrap;
|
49
|
+
overflow: hidden;
|
50
|
+
text-overflow: ellipsis;
|
51
|
+
display: block;
|
52
|
+
}
|
53
|
+
`;
|
54
|
+
const CustomRelationInput = (props) => {
|
55
|
+
const { formatMessage } = reactIntl.useIntl();
|
56
|
+
const field = strapiAdmin.useField(props.name);
|
57
|
+
const formattedFieldValue = Array.isArray(field.value) ? {
|
58
|
+
results: field.value,
|
59
|
+
meta: { missingCount: 0 }
|
60
|
+
} : field.value;
|
61
|
+
if (!formattedFieldValue || formattedFieldValue.results.length === 0 && formattedFieldValue.meta.missingCount === 0) {
|
62
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
63
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: props.label }),
|
64
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { marginTop: 1, children: /* @__PURE__ */ jsxRuntime.jsx(StyledAlert, { variant: "default", children: formatMessage({
|
65
|
+
id: "content-manager.history.content.no-relations",
|
66
|
+
defaultMessage: "No relations."
|
67
|
+
}) }) })
|
68
|
+
] });
|
69
|
+
}
|
70
|
+
const { results, meta } = formattedFieldValue;
|
71
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { children: [
|
72
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: props.label }),
|
73
|
+
results.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", gap: 2, marginTop: 1, alignItems: "stretch", children: results.map((relationData) => {
|
74
|
+
const href = `../${index.COLLECTION_TYPES}/${props.attribute.targetModel}/${relationData.documentId}`;
|
75
|
+
const label = relations.getRelationLabel(relationData, props.mainField);
|
76
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
77
|
+
designSystem.Flex,
|
78
|
+
{
|
79
|
+
paddingTop: 2,
|
80
|
+
paddingBottom: 2,
|
81
|
+
paddingLeft: 4,
|
82
|
+
paddingRight: 4,
|
83
|
+
hasRadius: true,
|
84
|
+
borderColor: "neutral200",
|
85
|
+
background: "neutral150",
|
86
|
+
justifyContent: "space-between",
|
87
|
+
children: [
|
88
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { minWidth: 0, paddingTop: 1, paddingBottom: 1, paddingRight: 4, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tooltip, { description: label, children: /* @__PURE__ */ jsxRuntime.jsx(LinkEllipsis, { tag: reactRouterDom.NavLink, to: href, children: label }) }) }),
|
89
|
+
/* @__PURE__ */ jsxRuntime.jsx(index.DocumentStatus, { status: relationData.status })
|
90
|
+
]
|
91
|
+
},
|
92
|
+
relationData.documentId
|
93
|
+
);
|
94
|
+
}) }),
|
95
|
+
meta.missingCount > 0 && /* @ts-expect-error – we dont need closeLabel */
|
96
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
97
|
+
StyledAlert,
|
98
|
+
{
|
99
|
+
marginTop: 1,
|
100
|
+
variant: "warning",
|
101
|
+
title: formatMessage(
|
102
|
+
{
|
103
|
+
id: "content-manager.history.content.missing-relations.title",
|
104
|
+
defaultMessage: "{number, plural, =1 {Missing relation} other {{number} missing relations}}"
|
105
|
+
},
|
106
|
+
{ number: meta.missingCount }
|
107
|
+
),
|
108
|
+
children: formatMessage(
|
109
|
+
{
|
110
|
+
id: "content-manager.history.content.missing-relations.message",
|
111
|
+
defaultMessage: "{number, plural, =1 {It has} other {They have}} been deleted and can't be restored."
|
112
|
+
},
|
113
|
+
{ number: meta.missingCount }
|
114
|
+
)
|
115
|
+
}
|
116
|
+
)
|
117
|
+
] });
|
118
|
+
};
|
119
|
+
const CustomMediaInput = (props) => {
|
120
|
+
const {
|
121
|
+
value: { results, meta }
|
122
|
+
} = strapiAdmin.useField(props.name);
|
123
|
+
const { formatMessage } = reactIntl.useIntl();
|
124
|
+
const fields = strapiAdmin.useStrapiApp("CustomMediaInput", (state) => state.fields);
|
125
|
+
const MediaLibrary = fields.media;
|
126
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, alignItems: "stretch", children: [
|
127
|
+
/* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Form, { method: "PUT", disabled: true, initialValues: { [props.name]: results }, children: /* @__PURE__ */ jsxRuntime.jsx(MediaLibrary, { ...props, disabled: true, multiple: results.length > 1 }) }),
|
128
|
+
meta.missingCount > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
129
|
+
StyledAlert,
|
130
|
+
{
|
131
|
+
variant: "warning",
|
132
|
+
closeLabel: "Close",
|
133
|
+
onClose: () => {
|
134
|
+
},
|
135
|
+
title: formatMessage(
|
136
|
+
{
|
137
|
+
id: "content-manager.history.content.missing-assets.title",
|
138
|
+
defaultMessage: "{number, plural, =1 {Missing asset} other {{number} missing assets}}"
|
139
|
+
},
|
140
|
+
{ number: meta.missingCount }
|
141
|
+
),
|
142
|
+
children: formatMessage(
|
143
|
+
{
|
144
|
+
id: "content-manager.history.content.missing-assets.message",
|
145
|
+
defaultMessage: "{number, plural, =1 {It has} other {They have}} been deleted in the Media Library and can't be restored."
|
146
|
+
},
|
147
|
+
{ number: meta.missingCount }
|
148
|
+
)
|
149
|
+
}
|
150
|
+
)
|
151
|
+
] });
|
152
|
+
};
|
153
|
+
const VersionInputRenderer = ({
|
154
|
+
visible,
|
155
|
+
hint: providedHint,
|
156
|
+
shouldIgnoreRBAC = false,
|
157
|
+
...props
|
158
|
+
}) => {
|
159
|
+
const { formatMessage } = reactIntl.useIntl();
|
160
|
+
const version = useHistoryContext("VersionContent", (state) => state.selectedVersion);
|
161
|
+
const configuration = useHistoryContext("VersionContent", (state) => state.configuration);
|
162
|
+
const fieldSizes = hooks.useTypedSelector((state) => state["content-manager"].app.fieldSizes);
|
163
|
+
const { id, components } = index.useDoc();
|
164
|
+
const isFormDisabled = strapiAdmin.useForm("InputRenderer", (state) => state.disabled);
|
165
|
+
const isInDynamicZone = Field.useDynamicZone("isInDynamicZone", (state) => state.isInDynamicZone);
|
166
|
+
const canCreateFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canCreateFields);
|
167
|
+
const canReadFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canReadFields);
|
168
|
+
const canUpdateFields = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canUpdateFields);
|
169
|
+
const canUserAction = index.useDocumentRBAC("InputRenderer", (rbac) => rbac.canUserAction);
|
170
|
+
const editableFields = id ? canUpdateFields : canCreateFields;
|
171
|
+
const readableFields = id ? canReadFields : canCreateFields;
|
172
|
+
const canUserReadField = canUserAction(props.name, readableFields, props.type);
|
173
|
+
const canUserEditField = canUserAction(props.name, editableFields, props.type);
|
174
|
+
const fields = strapiAdmin.useStrapiApp("InputRenderer", (app) => app.fields);
|
175
|
+
const { lazyComponentStore } = Field.useLazyComponents(
|
176
|
+
attributeHasCustomFieldProperty(props.attribute) ? [props.attribute.customField] : void 0
|
177
|
+
);
|
178
|
+
const hint = Field.useFieldHint(providedHint, props.attribute);
|
179
|
+
const {
|
180
|
+
edit: { components: componentsLayout }
|
181
|
+
} = index.useDocLayout();
|
182
|
+
if (!visible) {
|
183
|
+
return null;
|
184
|
+
}
|
185
|
+
if (!shouldIgnoreRBAC && !canUserReadField && !isInDynamicZone) {
|
186
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Field.NotAllowedInput, { hint, ...props });
|
187
|
+
}
|
188
|
+
const fieldIsDisabled = !canUserEditField && !isInDynamicZone || props.disabled || isFormDisabled;
|
189
|
+
const addedAttributes = version.meta.unknownAttributes.added;
|
190
|
+
if (Object.keys(addedAttributes).includes(props.name)) {
|
191
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "flex-start", gap: 1, children: [
|
192
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: props.label }),
|
193
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
194
|
+
StyledAlert,
|
195
|
+
{
|
196
|
+
width: "100%",
|
197
|
+
closeLabel: "Close",
|
198
|
+
onClose: () => {
|
199
|
+
},
|
200
|
+
variant: "warning",
|
201
|
+
title: formatMessage({
|
202
|
+
id: "content-manager.history.content.new-field.title",
|
203
|
+
defaultMessage: "New field"
|
204
|
+
}),
|
205
|
+
children: formatMessage({
|
206
|
+
id: "content-manager.history.content.new-field.message",
|
207
|
+
defaultMessage: "This field didn't exist when this version was saved. If you restore this version, it will be empty."
|
208
|
+
})
|
209
|
+
}
|
210
|
+
)
|
211
|
+
] });
|
212
|
+
}
|
213
|
+
if (attributeHasCustomFieldProperty(props.attribute)) {
|
214
|
+
const CustomInput = lazyComponentStore[props.attribute.customField];
|
215
|
+
if (CustomInput) {
|
216
|
+
return /* @__PURE__ */ jsxRuntime.jsx(CustomInput, { ...props, hint, disabled: fieldIsDisabled });
|
217
|
+
}
|
218
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
219
|
+
strapiAdmin.InputRenderer,
|
220
|
+
{
|
221
|
+
...props,
|
222
|
+
hint,
|
223
|
+
type: props.attribute.customField,
|
224
|
+
disabled: fieldIsDisabled
|
225
|
+
}
|
226
|
+
);
|
227
|
+
}
|
228
|
+
if (props.type === "media") {
|
229
|
+
return /* @__PURE__ */ jsxRuntime.jsx(CustomMediaInput, { ...props, disabled: fieldIsDisabled });
|
230
|
+
}
|
231
|
+
const addedInputTypes = Object.keys(fields);
|
232
|
+
if (!attributeHasCustomFieldProperty(props.attribute) && addedInputTypes.includes(props.type)) {
|
233
|
+
const CustomInput = fields[props.type];
|
234
|
+
return /* @__PURE__ */ jsxRuntime.jsx(CustomInput, { ...props, hint, disabled: fieldIsDisabled });
|
235
|
+
}
|
236
|
+
switch (props.type) {
|
237
|
+
case "blocks":
|
238
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Field.BlocksInput, { ...props, hint, type: props.type, disabled: fieldIsDisabled });
|
239
|
+
case "component":
|
240
|
+
const { layout } = componentsLayout[props.attribute.component];
|
241
|
+
const [remainingFieldsLayout] = getRemaingFieldsLayout({
|
242
|
+
layout: [layout],
|
243
|
+
metadatas: configuration.components[props.attribute.component].metadatas,
|
244
|
+
fieldSizes,
|
245
|
+
schemaAttributes: components[props.attribute.component].attributes
|
246
|
+
});
|
247
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
248
|
+
Field.ComponentInput,
|
249
|
+
{
|
250
|
+
...props,
|
251
|
+
layout: [...layout, ...remainingFieldsLayout || []],
|
252
|
+
hint,
|
253
|
+
disabled: fieldIsDisabled,
|
254
|
+
children: (inputProps) => /* @__PURE__ */ jsxRuntime.jsx(VersionInputRenderer, { ...inputProps, shouldIgnoreRBAC: true })
|
255
|
+
}
|
256
|
+
);
|
257
|
+
case "dynamiczone":
|
258
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Field.DynamicZone, { ...props, hint, disabled: fieldIsDisabled });
|
259
|
+
case "relation":
|
260
|
+
return /* @__PURE__ */ jsxRuntime.jsx(CustomRelationInput, { ...props, hint, disabled: fieldIsDisabled });
|
261
|
+
case "richtext":
|
262
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Field.Wysiwyg, { ...props, hint, type: props.type, disabled: fieldIsDisabled });
|
263
|
+
case "uid":
|
264
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Field.UIDInput, { ...props, hint, type: props.type, disabled: fieldIsDisabled });
|
265
|
+
case "enumeration":
|
266
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
267
|
+
strapiAdmin.InputRenderer,
|
268
|
+
{
|
269
|
+
...props,
|
270
|
+
hint,
|
271
|
+
options: props.attribute.enum.map((value) => ({ value })),
|
272
|
+
type: props.customField ? "custom-field" : props.type,
|
273
|
+
disabled: fieldIsDisabled
|
274
|
+
}
|
275
|
+
);
|
276
|
+
default:
|
277
|
+
const { unique: _unique, mainField: _mainField, ...restProps } = props;
|
278
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
279
|
+
strapiAdmin.InputRenderer,
|
280
|
+
{
|
281
|
+
...restProps,
|
282
|
+
hint,
|
283
|
+
type: props.customField ? "custom-field" : props.type,
|
284
|
+
disabled: fieldIsDisabled
|
285
|
+
}
|
286
|
+
);
|
287
|
+
}
|
288
|
+
};
|
289
|
+
const attributeHasCustomFieldProperty = (attribute) => "customField" in attribute && typeof attribute.customField === "string";
|
290
|
+
const createLayoutFromFields = (fields) => {
|
291
|
+
return fields.reduce((rows, field) => {
|
292
|
+
if (field.type === "dynamiczone") {
|
293
|
+
rows.push([field]);
|
294
|
+
return rows;
|
295
|
+
}
|
296
|
+
if (!rows[rows.length - 1]) {
|
297
|
+
rows.push([]);
|
298
|
+
}
|
299
|
+
rows[rows.length - 1].push(field);
|
300
|
+
return rows;
|
301
|
+
}, []).map((row) => [row]);
|
302
|
+
};
|
303
|
+
function getRemaingFieldsLayout({
|
304
|
+
layout,
|
305
|
+
metadatas,
|
306
|
+
schemaAttributes,
|
307
|
+
fieldSizes
|
308
|
+
}) {
|
309
|
+
const fieldsInLayout = layout.flatMap(
|
310
|
+
(panel) => panel.flatMap((row) => row.flatMap((field) => field.name))
|
311
|
+
);
|
312
|
+
const remainingFields = Object.entries(metadatas).reduce(
|
313
|
+
(currentRemainingFields, [name, field]) => {
|
314
|
+
if (!fieldsInLayout.includes(name) && field.edit.visible === true) {
|
315
|
+
const attribute = schemaAttributes[name];
|
316
|
+
currentRemainingFields.push({
|
317
|
+
attribute,
|
318
|
+
type: attribute.type,
|
319
|
+
visible: true,
|
320
|
+
disabled: true,
|
321
|
+
label: field.edit.label || name,
|
322
|
+
name,
|
323
|
+
size: fieldSizes[attribute.type].default ?? 12
|
324
|
+
});
|
325
|
+
}
|
326
|
+
return currentRemainingFields;
|
327
|
+
},
|
328
|
+
[]
|
329
|
+
);
|
330
|
+
return createLayoutFromFields(remainingFields);
|
331
|
+
}
|
332
|
+
const FormPanel = ({ panel }) => {
|
333
|
+
if (panel.some((row) => row.some((field) => field.type === "dynamiczone"))) {
|
334
|
+
const [row] = panel;
|
335
|
+
const [field] = row;
|
336
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: 12, s: 12, xs: 12, children: /* @__PURE__ */ jsxRuntime.jsx(VersionInputRenderer, { ...field }) }) }, field.name);
|
337
|
+
}
|
338
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
339
|
+
designSystem.Box,
|
340
|
+
{
|
341
|
+
hasRadius: true,
|
342
|
+
background: "neutral0",
|
343
|
+
shadow: "tableShadow",
|
344
|
+
paddingLeft: 6,
|
345
|
+
paddingRight: 6,
|
346
|
+
paddingTop: 6,
|
347
|
+
paddingBottom: 6,
|
348
|
+
borderColor: "neutral150",
|
349
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, children: panel.map((row, gridRowIndex) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 4, children: row.map(({ size, ...field }) => {
|
350
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: size, s: 12, xs: 12, children: /* @__PURE__ */ jsxRuntime.jsx(VersionInputRenderer, { ...field }) }, field.name);
|
351
|
+
}) }, gridRowIndex)) })
|
352
|
+
}
|
353
|
+
);
|
354
|
+
};
|
355
|
+
const VersionContent = () => {
|
356
|
+
const { formatMessage } = reactIntl.useIntl();
|
357
|
+
const { fieldSizes } = hooks.useTypedSelector((state) => state["content-manager"].app);
|
358
|
+
const version = useHistoryContext("VersionContent", (state) => state.selectedVersion);
|
359
|
+
const layout = useHistoryContext("VersionContent", (state) => state.layout);
|
360
|
+
const configuration = useHistoryContext("VersionContent", (state) => state.configuration);
|
361
|
+
const schema = useHistoryContext("VersionContent", (state) => state.schema);
|
362
|
+
const removedAttributes = version.meta.unknownAttributes.removed;
|
363
|
+
const removedAttributesAsFields = Object.entries(removedAttributes).map(
|
364
|
+
([attributeName, attribute]) => {
|
365
|
+
const field = {
|
366
|
+
attribute,
|
367
|
+
shouldIgnoreRBAC: true,
|
368
|
+
type: attribute.type,
|
369
|
+
visible: true,
|
370
|
+
disabled: true,
|
371
|
+
label: attributeName,
|
372
|
+
name: attributeName,
|
373
|
+
size: fieldSizes[attribute.type].default ?? 12
|
374
|
+
};
|
375
|
+
return field;
|
376
|
+
}
|
377
|
+
);
|
378
|
+
const unknownFieldsLayout = createLayoutFromFields(removedAttributesAsFields);
|
379
|
+
const remainingFieldsLayout = getRemaingFieldsLayout({
|
380
|
+
metadatas: configuration.contentType.metadatas,
|
381
|
+
layout,
|
382
|
+
schemaAttributes: schema.attributes,
|
383
|
+
fieldSizes
|
384
|
+
});
|
385
|
+
const { components } = index.useDoc();
|
386
|
+
const transformedData = React__namespace.useMemo(() => {
|
387
|
+
const transform = (schemaAttributes, components2 = {}) => (document) => {
|
388
|
+
const schema2 = { attributes: schemaAttributes };
|
389
|
+
const transformations = pipe__default.default(
|
390
|
+
Field.removeFieldsThatDontExistOnSchema(schema2),
|
391
|
+
Field.prepareTempKeys(schema2, components2)
|
392
|
+
);
|
393
|
+
return transformations(document);
|
394
|
+
};
|
395
|
+
return transform(version.schema, components)(version.data);
|
396
|
+
}, [components, version.data, version.schema]);
|
397
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(strapiAdmin.Layouts.Content, { children: [
|
398
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingBottom: 8, children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Form, { disabled: true, method: "PUT", initialValues: transformedData, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, position: "relative", children: [...layout, ...remainingFieldsLayout].map((panel, index2) => {
|
399
|
+
return /* @__PURE__ */ jsxRuntime.jsx(FormPanel, { panel }, index2);
|
400
|
+
}) }) }) }),
|
401
|
+
removedAttributesAsFields.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
402
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Divider, {}),
|
403
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { paddingTop: 8, children: [
|
404
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "flex-start", paddingBottom: 6, gap: 1, children: [
|
405
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "delta", children: formatMessage({
|
406
|
+
id: "content-manager.history.content.unknown-fields.title",
|
407
|
+
defaultMessage: "Unknown fields"
|
408
|
+
}) }),
|
409
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "pi", children: formatMessage(
|
410
|
+
{
|
411
|
+
id: "content-manager.history.content.unknown-fields.message",
|
412
|
+
defaultMessage: "These fields have been deleted or renamed in the Content-Type Builder. <b>These fields will not be restored.</b>"
|
413
|
+
},
|
414
|
+
{
|
415
|
+
b: (chunks) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "pi", fontWeight: "bold", children: chunks })
|
416
|
+
}
|
417
|
+
) })
|
418
|
+
] }),
|
419
|
+
/* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Form, { disabled: true, method: "PUT", initialValues: version.data, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 6, position: "relative", children: unknownFieldsLayout.map((panel, index2) => {
|
420
|
+
return /* @__PURE__ */ jsxRuntime.jsx(FormPanel, { panel }, index2);
|
421
|
+
}) }) })
|
422
|
+
] })
|
423
|
+
] })
|
424
|
+
] });
|
425
|
+
};
|
426
|
+
const historyVersionsApi = index.contentManagerApi.injectEndpoints({
|
427
|
+
endpoints: (builder) => ({
|
428
|
+
getHistoryVersions: builder.query({
|
429
|
+
query(params) {
|
430
|
+
return {
|
431
|
+
url: `/content-manager/history-versions`,
|
432
|
+
method: "GET",
|
433
|
+
config: {
|
434
|
+
params
|
435
|
+
}
|
436
|
+
};
|
437
|
+
},
|
438
|
+
providesTags: ["HistoryVersion"]
|
439
|
+
}),
|
440
|
+
restoreVersion: builder.mutation({
|
441
|
+
query({ params, body }) {
|
442
|
+
return {
|
443
|
+
url: `/content-manager/history-versions/${params.versionId}/restore`,
|
444
|
+
method: "PUT",
|
445
|
+
data: body
|
446
|
+
};
|
447
|
+
},
|
448
|
+
invalidatesTags: (_res, _error, { documentId, collectionType, params }) => {
|
449
|
+
return [
|
450
|
+
"HistoryVersion",
|
451
|
+
{
|
452
|
+
type: "Document",
|
453
|
+
id: collectionType === index.COLLECTION_TYPES ? `${params.contentType}_${documentId}` : params.contentType
|
454
|
+
}
|
455
|
+
];
|
456
|
+
}
|
457
|
+
})
|
458
|
+
})
|
459
|
+
});
|
460
|
+
const { useGetHistoryVersionsQuery, useRestoreVersionMutation } = historyVersionsApi;
|
461
|
+
const VersionHeader = ({ headerId }) => {
|
462
|
+
const [isConfirmDialogOpen, setIsConfirmDialogOpen] = React__namespace.useState(false);
|
463
|
+
const navigate = reactRouterDom.useNavigate();
|
464
|
+
const { formatMessage, formatDate } = reactIntl.useIntl();
|
465
|
+
const { toggleNotification } = strapiAdmin.useNotification();
|
466
|
+
const [{ query }] = strapiAdmin.useQueryParams();
|
467
|
+
const { collectionType, slug } = reactRouterDom.useParams();
|
468
|
+
const [restoreVersion, { isLoading }] = useRestoreVersionMutation();
|
469
|
+
const { allowedActions } = strapiAdmin.useRBAC(index.PERMISSIONS.map((action) => ({ action, subject: slug })));
|
470
|
+
const version = useHistoryContext("VersionHeader", (state) => state.selectedVersion);
|
471
|
+
const mainField = useHistoryContext("VersionHeader", (state) => state.mainField);
|
472
|
+
const schema = useHistoryContext("VersionHeader", (state) => state.schema);
|
473
|
+
const isCurrentVersion = useHistoryContext(
|
474
|
+
"VersionHeader",
|
475
|
+
(state) => state.page === 1 && state.versions.data[0].id === state.selectedVersion.id
|
476
|
+
);
|
477
|
+
const mainFieldValue = version.data[mainField];
|
478
|
+
const getNextNavigation = () => {
|
479
|
+
const pluginsQueryParams = qs.stringify({ plugins: query.plugins }, { encode: false });
|
480
|
+
if (collectionType === index.COLLECTION_TYPES) {
|
481
|
+
return {
|
482
|
+
pathname: `/content-manager/${collectionType}/${version.contentType}/${version.relatedDocumentId}`,
|
483
|
+
search: pluginsQueryParams
|
484
|
+
};
|
485
|
+
}
|
486
|
+
return {
|
487
|
+
pathname: `/content-manager/${collectionType}/${version.contentType}`,
|
488
|
+
search: pluginsQueryParams
|
489
|
+
};
|
490
|
+
};
|
491
|
+
const handleRestore = async () => {
|
492
|
+
try {
|
493
|
+
const response = await restoreVersion({
|
494
|
+
documentId: version.relatedDocumentId,
|
495
|
+
collectionType,
|
496
|
+
params: {
|
497
|
+
versionId: version.id,
|
498
|
+
contentType: version.contentType
|
499
|
+
},
|
500
|
+
body: { contentType: version.contentType }
|
501
|
+
});
|
502
|
+
if ("data" in response) {
|
503
|
+
navigate(getNextNavigation());
|
504
|
+
toggleNotification({
|
505
|
+
type: "success",
|
506
|
+
title: formatMessage({
|
507
|
+
id: "content-manager.restore.success.title",
|
508
|
+
defaultMessage: "Version restored."
|
509
|
+
}),
|
510
|
+
message: formatMessage({
|
511
|
+
id: "content-manager.restore.success.message",
|
512
|
+
defaultMessage: "The content of the restored version is not published yet."
|
513
|
+
})
|
514
|
+
});
|
515
|
+
}
|
516
|
+
if ("error" in response) {
|
517
|
+
toggleNotification({
|
518
|
+
type: "danger",
|
519
|
+
message: formatMessage({
|
520
|
+
id: "content-manager.history.restore.error.message",
|
521
|
+
defaultMessage: "Could not restore version."
|
522
|
+
})
|
523
|
+
});
|
524
|
+
}
|
525
|
+
} catch (error) {
|
526
|
+
toggleNotification({
|
527
|
+
type: "danger",
|
528
|
+
message: formatMessage({ id: "notification.error", defaultMessage: "An error occurred" })
|
529
|
+
});
|
530
|
+
}
|
531
|
+
};
|
532
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
533
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
534
|
+
strapiAdmin.Layouts.BaseHeader,
|
535
|
+
{
|
536
|
+
id: headerId,
|
537
|
+
title: formatDate(new Date(version.createdAt), {
|
538
|
+
year: "numeric",
|
539
|
+
month: "numeric",
|
540
|
+
day: "numeric",
|
541
|
+
hour: "numeric",
|
542
|
+
minute: "numeric"
|
543
|
+
}),
|
544
|
+
subtitle: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "epsilon", children: formatMessage(
|
545
|
+
{
|
546
|
+
id: "content-manager.history.version.subtitle",
|
547
|
+
defaultMessage: "{hasLocale, select, true {{subtitle}, in {locale}} other {{subtitle}}}"
|
548
|
+
},
|
549
|
+
{
|
550
|
+
hasLocale: Boolean(version.locale),
|
551
|
+
subtitle: `${mainFieldValue || ""} (${schema.info.singularName})`.trim(),
|
552
|
+
locale: version.locale?.name
|
553
|
+
}
|
554
|
+
) }),
|
555
|
+
navigationAction: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Link, { startIcon: /* @__PURE__ */ jsxRuntime.jsx(Icons.ArrowLeft, {}), tag: reactRouterDom.NavLink, to: getNextNavigation(), children: formatMessage({
|
556
|
+
id: "global.back",
|
557
|
+
defaultMessage: "Back"
|
558
|
+
}) }),
|
559
|
+
sticky: false,
|
560
|
+
primaryAction: /* @__PURE__ */ jsxRuntime.jsx(
|
561
|
+
designSystem.Button,
|
562
|
+
{
|
563
|
+
disabled: !allowedActions.canUpdate || isCurrentVersion,
|
564
|
+
onClick: () => {
|
565
|
+
setIsConfirmDialogOpen(true);
|
566
|
+
},
|
567
|
+
children: formatMessage({
|
568
|
+
id: "content-manager.history.restore.confirm.button",
|
569
|
+
defaultMessage: "Restore"
|
570
|
+
})
|
571
|
+
}
|
572
|
+
)
|
573
|
+
}
|
574
|
+
),
|
575
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
576
|
+
strapiAdmin.ConfirmDialog,
|
577
|
+
{
|
578
|
+
isOpen: isConfirmDialogOpen,
|
579
|
+
onClose: () => setIsConfirmDialogOpen(false),
|
580
|
+
onConfirm: handleRestore,
|
581
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.WarningCircle, {}),
|
582
|
+
endAction: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "secondary", onClick: handleRestore, loading: isLoading, children: formatMessage({
|
583
|
+
id: "content-manager.history.restore.confirm.button",
|
584
|
+
defaultMessage: "Restore"
|
585
|
+
}) }),
|
586
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
587
|
+
designSystem.Flex,
|
588
|
+
{
|
589
|
+
direction: "column",
|
590
|
+
alignItems: "center",
|
591
|
+
justifyContent: "center",
|
592
|
+
gap: 2,
|
593
|
+
textAlign: "center",
|
594
|
+
children: [
|
595
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
|
596
|
+
id: "content-manager.history.restore.confirm.title",
|
597
|
+
defaultMessage: "Are you sure you want to restore this version?"
|
598
|
+
}) }),
|
599
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage(
|
600
|
+
{
|
601
|
+
id: "content-manager.history.restore.confirm.message",
|
602
|
+
defaultMessage: "{isDraft, select, true {The restored content will override your draft.} other {The restored content won't be published, it will override the draft and be saved as pending changes. You'll be able to publish the changes at anytime.}}"
|
603
|
+
},
|
604
|
+
{
|
605
|
+
isDraft: version.status === "draft"
|
606
|
+
}
|
607
|
+
) })
|
608
|
+
]
|
609
|
+
}
|
610
|
+
)
|
611
|
+
}
|
612
|
+
)
|
613
|
+
] });
|
614
|
+
};
|
615
|
+
const BlueText = (children) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "primary600", children });
|
616
|
+
const VersionCard = ({ version, isCurrent }) => {
|
617
|
+
const { formatDate, formatMessage } = reactIntl.useIntl();
|
618
|
+
const [{ query }] = strapiAdmin.useQueryParams();
|
619
|
+
const statusData = (() => {
|
620
|
+
switch (version.status) {
|
621
|
+
case "draft":
|
622
|
+
return {
|
623
|
+
background: "secondary100",
|
624
|
+
border: "secondary200",
|
625
|
+
text: "secondary700",
|
626
|
+
message: {
|
627
|
+
id: "content-manager.containers.List.draft",
|
628
|
+
defaultMessage: "Draft"
|
629
|
+
}
|
630
|
+
};
|
631
|
+
case "modified":
|
632
|
+
return {
|
633
|
+
background: "alternative100",
|
634
|
+
border: "alternative200",
|
635
|
+
text: "alternative700",
|
636
|
+
message: {
|
637
|
+
// TODO: check the translation key once D&P v5 is done
|
638
|
+
id: "content-manager.containers.List.modified",
|
639
|
+
defaultMessage: "Modified"
|
640
|
+
}
|
641
|
+
};
|
642
|
+
case "published":
|
643
|
+
default:
|
644
|
+
return {
|
645
|
+
background: "success100",
|
646
|
+
border: "success200",
|
647
|
+
text: "success700",
|
648
|
+
message: {
|
649
|
+
id: "content-manager.containers.List.published",
|
650
|
+
defaultMessage: "Published"
|
651
|
+
}
|
652
|
+
};
|
653
|
+
}
|
654
|
+
})();
|
655
|
+
const isActive = query.id === version.id.toString();
|
656
|
+
const author = version.createdBy && index.getDisplayName(version.createdBy);
|
657
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
658
|
+
designSystem.Flex,
|
659
|
+
{
|
660
|
+
direction: "column",
|
661
|
+
alignItems: "flex-start",
|
662
|
+
gap: 3,
|
663
|
+
hasRadius: true,
|
664
|
+
borderWidth: "1px",
|
665
|
+
borderStyle: "solid",
|
666
|
+
borderColor: isActive ? "primary600" : "neutral200",
|
667
|
+
paddingTop: 4,
|
668
|
+
paddingBottom: 4,
|
669
|
+
paddingLeft: 5,
|
670
|
+
paddingRight: 5,
|
671
|
+
tag: reactRouterDom.Link,
|
672
|
+
to: `?${qs.stringify({ ...query, id: version.id })}`,
|
673
|
+
style: { textDecoration: "none" },
|
674
|
+
children: [
|
675
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 1, alignItems: "flex-start", children: [
|
676
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "h3", fontWeight: "semiBold", children: formatDate(version.createdAt, {
|
677
|
+
day: "numeric",
|
678
|
+
month: "numeric",
|
679
|
+
year: "numeric",
|
680
|
+
hour: "2-digit",
|
681
|
+
minute: "2-digit"
|
682
|
+
}) }),
|
683
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "p", variant: "pi", textColor: "neutral600", children: formatMessage(
|
684
|
+
{
|
685
|
+
id: "content-manager.history.sidebar.versionDescription",
|
686
|
+
defaultMessage: "{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}"
|
687
|
+
},
|
688
|
+
{
|
689
|
+
distanceToNow: /* @__PURE__ */ jsxRuntime.jsx(index.RelativeTime, { timestamp: new Date(version.createdAt) }),
|
690
|
+
author,
|
691
|
+
isAnonymous: !Boolean(version.createdBy),
|
692
|
+
isCurrent,
|
693
|
+
b: BlueText
|
694
|
+
}
|
695
|
+
) })
|
696
|
+
] }),
|
697
|
+
version.status && /* @__PURE__ */ jsxRuntime.jsx(
|
698
|
+
designSystem.Box,
|
699
|
+
{
|
700
|
+
background: statusData.background,
|
701
|
+
borderStyle: "solid",
|
702
|
+
borderWidth: "1px",
|
703
|
+
borderColor: statusData.border,
|
704
|
+
hasRadius: true,
|
705
|
+
paddingLeft: "6px",
|
706
|
+
paddingRight: "6px",
|
707
|
+
paddingTop: "2px",
|
708
|
+
paddingBottom: "2px",
|
709
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "pi", fontWeight: "bold", textColor: statusData.text, children: formatMessage(statusData.message) })
|
710
|
+
}
|
711
|
+
)
|
712
|
+
]
|
713
|
+
}
|
714
|
+
);
|
715
|
+
};
|
716
|
+
const PaginationButton = ({ page, children }) => {
|
717
|
+
const [{ query }] = strapiAdmin.useQueryParams();
|
718
|
+
const { id: _id, ...queryRest } = query;
|
719
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Link, { to: { search: qs.stringify({ ...queryRest, page }) }, style: { textDecoration: "none" }, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "omega", textColor: "primary600", children }) });
|
720
|
+
};
|
721
|
+
const VersionsList = () => {
|
722
|
+
const { formatMessage } = reactIntl.useIntl();
|
723
|
+
const { versions, page } = useHistoryContext("VersionsList", (state) => ({
|
724
|
+
versions: state.versions,
|
725
|
+
page: state.page
|
726
|
+
}));
|
727
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
728
|
+
designSystem.Flex,
|
729
|
+
{
|
730
|
+
shrink: 0,
|
731
|
+
direction: "column",
|
732
|
+
alignItems: "stretch",
|
733
|
+
width: "320px",
|
734
|
+
height: "100vh",
|
735
|
+
background: "neutral0",
|
736
|
+
borderColor: "neutral200",
|
737
|
+
borderWidth: "0 0 0 1px",
|
738
|
+
borderStyle: "solid",
|
739
|
+
tag: "aside",
|
740
|
+
children: [
|
741
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
742
|
+
designSystem.Flex,
|
743
|
+
{
|
744
|
+
direction: "row",
|
745
|
+
justifyContent: "space-between",
|
746
|
+
padding: 4,
|
747
|
+
borderColor: "neutral200",
|
748
|
+
borderWidth: "0 0 1px",
|
749
|
+
borderStyle: "solid",
|
750
|
+
tag: "header",
|
751
|
+
children: [
|
752
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "h2", variant: "omega", fontWeight: "semiBold", children: formatMessage({
|
753
|
+
id: "content-manager.history.sidebar.title",
|
754
|
+
defaultMessage: "Versions"
|
755
|
+
}) }),
|
756
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { background: "neutral150", hasRadius: true, padding: 1, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", children: versions.meta.pagination.total }) })
|
757
|
+
]
|
758
|
+
}
|
759
|
+
),
|
760
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Box, { flex: 1, overflow: "auto", children: [
|
761
|
+
versions.meta.pagination.page > 1 && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingTop: 4, textAlign: "center", children: /* @__PURE__ */ jsxRuntime.jsx(PaginationButton, { page: page - 1, children: formatMessage({
|
762
|
+
id: "content-manager.history.sidebar.show-newer",
|
763
|
+
defaultMessage: "Show newer versions"
|
764
|
+
}) }) }),
|
765
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
766
|
+
designSystem.Flex,
|
767
|
+
{
|
768
|
+
direction: "column",
|
769
|
+
gap: 3,
|
770
|
+
paddingTop: 5,
|
771
|
+
paddingBottom: 5,
|
772
|
+
paddingLeft: 4,
|
773
|
+
paddingRight: 4,
|
774
|
+
tag: "ul",
|
775
|
+
alignItems: "stretch",
|
776
|
+
children: versions.data.map((version, index2) => /* @__PURE__ */ jsxRuntime.jsx(
|
777
|
+
"li",
|
778
|
+
{
|
779
|
+
"aria-label": formatMessage({
|
780
|
+
id: "content-manager.history.sidebar.title.version-card.aria-label",
|
781
|
+
defaultMessage: "Version card"
|
782
|
+
}),
|
783
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(VersionCard, { version, isCurrent: page === 1 && index2 === 0 })
|
784
|
+
},
|
785
|
+
version.id
|
786
|
+
))
|
787
|
+
}
|
788
|
+
),
|
789
|
+
versions.meta.pagination.page < versions.meta.pagination.pageCount && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingBottom: 5, textAlign: "center", children: /* @__PURE__ */ jsxRuntime.jsx(PaginationButton, { page: page + 1, children: formatMessage({
|
790
|
+
id: "content-manager.history.sidebar.show-older",
|
791
|
+
defaultMessage: "Show older versions"
|
792
|
+
}) }) })
|
793
|
+
] })
|
794
|
+
]
|
795
|
+
}
|
796
|
+
);
|
797
|
+
};
|
798
|
+
const [HistoryProvider, useHistoryContext] = strapiAdmin.createContext("HistoryPage");
|
799
|
+
const HistoryPage = () => {
|
800
|
+
const headerId = React__namespace.useId();
|
801
|
+
const { formatMessage } = reactIntl.useIntl();
|
802
|
+
const {
|
803
|
+
slug,
|
804
|
+
id: documentId,
|
805
|
+
collectionType
|
806
|
+
} = reactRouterDom.useParams();
|
807
|
+
const { isLoading: isLoadingDocument, schema } = index.useDocument({
|
808
|
+
collectionType,
|
809
|
+
model: slug
|
810
|
+
});
|
811
|
+
const {
|
812
|
+
isLoading: isLoadingLayout,
|
813
|
+
edit: {
|
814
|
+
layout,
|
815
|
+
settings: { displayName, mainField }
|
816
|
+
}
|
817
|
+
} = index.useDocumentLayout(slug);
|
818
|
+
const { data: configuration, isLoading: isLoadingConfiguration } = index.useGetContentTypeConfigurationQuery(slug);
|
819
|
+
const [{ query }] = strapiAdmin.useQueryParams();
|
820
|
+
const { id: selectedVersionId, ...queryWithoutId } = query;
|
821
|
+
const validQueryParamsWithoutId = index.buildValidParams(queryWithoutId);
|
822
|
+
const page = validQueryParamsWithoutId.page ? Number(validQueryParamsWithoutId.page) : 1;
|
823
|
+
const versionsResponse = useGetHistoryVersionsQuery(
|
824
|
+
{
|
825
|
+
contentType: slug,
|
826
|
+
...documentId ? { documentId } : {},
|
827
|
+
// Omit id since it's not needed by the endpoint and caused extra refetches
|
828
|
+
...validQueryParamsWithoutId
|
829
|
+
},
|
830
|
+
{ refetchOnMountOrArgChange: true }
|
831
|
+
);
|
832
|
+
const initialRequestId = React__namespace.useRef(versionsResponse.requestId);
|
833
|
+
const isStaleRequest = versionsResponse.requestId === initialRequestId.current;
|
834
|
+
if (!slug || collectionType === index.COLLECTION_TYPES && !documentId) {
|
835
|
+
return /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Navigate, { to: "/content-manager" });
|
836
|
+
}
|
837
|
+
if (isLoadingDocument || isLoadingLayout || versionsResponse.isFetching || isStaleRequest || isLoadingConfiguration) {
|
838
|
+
return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Loading, {});
|
839
|
+
}
|
840
|
+
if (!versionsResponse.isError && !versionsResponse.data?.data?.length) {
|
841
|
+
return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.NoData, {});
|
842
|
+
}
|
843
|
+
if (versionsResponse.data?.data?.length && !selectedVersionId) {
|
844
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
845
|
+
reactRouterDom.Navigate,
|
846
|
+
{
|
847
|
+
to: { search: qs.stringify({ ...query, id: versionsResponse.data.data[0].id }) },
|
848
|
+
replace: true
|
849
|
+
}
|
850
|
+
);
|
851
|
+
}
|
852
|
+
const selectedVersion = versionsResponse.data?.data?.find(
|
853
|
+
(version) => version.id.toString() === selectedVersionId
|
854
|
+
);
|
855
|
+
if (versionsResponse.isError || !layout || !schema || !selectedVersion || !configuration || // This should not happen as it's covered by versionsResponse.isError, but we need it for TS
|
856
|
+
versionsResponse.data.error) {
|
857
|
+
return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Error, {});
|
858
|
+
}
|
859
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
860
|
+
/* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Title, { children: formatMessage(
|
861
|
+
{
|
862
|
+
id: "content-manager.history.page-title",
|
863
|
+
defaultMessage: "{contentType} history"
|
864
|
+
},
|
865
|
+
{
|
866
|
+
contentType: displayName
|
867
|
+
}
|
868
|
+
) }),
|
869
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
870
|
+
HistoryProvider,
|
871
|
+
{
|
872
|
+
contentType: slug,
|
873
|
+
id: documentId,
|
874
|
+
schema,
|
875
|
+
layout,
|
876
|
+
configuration,
|
877
|
+
selectedVersion,
|
878
|
+
versions: versionsResponse.data,
|
879
|
+
page,
|
880
|
+
mainField,
|
881
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "row", alignItems: "flex-start", children: [
|
882
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
883
|
+
designSystem.Main,
|
884
|
+
{
|
885
|
+
grow: 1,
|
886
|
+
height: "100vh",
|
887
|
+
background: "neutral100",
|
888
|
+
paddingBottom: 6,
|
889
|
+
overflow: "auto",
|
890
|
+
labelledBy: headerId,
|
891
|
+
children: [
|
892
|
+
/* @__PURE__ */ jsxRuntime.jsx(VersionHeader, { headerId }),
|
893
|
+
/* @__PURE__ */ jsxRuntime.jsx(VersionContent, {})
|
894
|
+
]
|
895
|
+
}
|
896
|
+
),
|
897
|
+
/* @__PURE__ */ jsxRuntime.jsx(VersionsList, {})
|
898
|
+
] })
|
899
|
+
}
|
900
|
+
)
|
901
|
+
] });
|
902
|
+
};
|
903
|
+
const ProtectedHistoryPageImpl = () => {
|
904
|
+
const { slug } = reactRouterDom.useParams();
|
905
|
+
const {
|
906
|
+
permissions = [],
|
907
|
+
isLoading,
|
908
|
+
error
|
909
|
+
} = strapiAdmin.useRBAC(index.PERMISSIONS.map((action) => ({ action, subject: slug })));
|
910
|
+
if (isLoading) {
|
911
|
+
return /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Loading, {});
|
912
|
+
}
|
913
|
+
if (error || !slug) {
|
914
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
915
|
+
designSystem.Box,
|
916
|
+
{
|
917
|
+
height: "100vh",
|
918
|
+
width: "100vw",
|
919
|
+
position: "fixed",
|
920
|
+
top: 0,
|
921
|
+
left: 0,
|
922
|
+
zIndex: 2,
|
923
|
+
background: "neutral0",
|
924
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Error, {})
|
925
|
+
}
|
926
|
+
);
|
927
|
+
}
|
928
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
929
|
+
designSystem.Box,
|
930
|
+
{
|
931
|
+
height: "100vh",
|
932
|
+
width: "100vw",
|
933
|
+
position: "fixed",
|
934
|
+
top: 0,
|
935
|
+
left: 0,
|
936
|
+
zIndex: 2,
|
937
|
+
background: "neutral0",
|
938
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(strapiAdmin.Page.Protect, { permissions, children: ({ permissions: permissions2 }) => /* @__PURE__ */ jsxRuntime.jsx(index.DocumentRBAC, { permissions: permissions2, children: /* @__PURE__ */ jsxRuntime.jsx(HistoryPage, {}) }) })
|
939
|
+
}
|
940
|
+
);
|
941
|
+
};
|
942
|
+
const ProtectedHistoryPage = () => {
|
943
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.FocusTrap, { children: /* @__PURE__ */ jsxRuntime.jsx(ProtectedHistoryPageImpl, {}) }) });
|
944
|
+
};
|
945
|
+
exports.HistoryProvider = HistoryProvider;
|
946
|
+
exports.ProtectedHistoryPage = ProtectedHistoryPage;
|
947
|
+
exports.useHistoryContext = useHistoryContext;
|
948
|
+
//# sourceMappingURL=History-DtHjQuqM.js.map
|