@strapi/content-manager 0.0.0-experimental.a13c58eec89ab119f0e381fb79c0252979e9c125 → 0.0.0-experimental.a4161dd0ce4a6742074cbfc43734281e14a29baa
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/admin/chunks/CardDragPreview-DwuraT0K.mjs +80 -0
- package/dist/admin/chunks/CardDragPreview-DwuraT0K.mjs.map +1 -0
- package/dist/admin/chunks/CardDragPreview-_dubYgXO.js +82 -0
- package/dist/admin/chunks/CardDragPreview-_dubYgXO.js.map +1 -0
- package/dist/admin/chunks/ComponentConfigurationPage-BdKTyTdt.mjs +276 -0
- package/dist/admin/chunks/ComponentConfigurationPage-BdKTyTdt.mjs.map +1 -0
- package/dist/admin/chunks/ComponentConfigurationPage-CDKJ1saA.js +298 -0
- package/dist/admin/chunks/ComponentConfigurationPage-CDKJ1saA.js.map +1 -0
- package/dist/admin/chunks/ComponentIcon-BZcTc4rj.mjs +153 -0
- package/dist/admin/chunks/ComponentIcon-BZcTc4rj.mjs.map +1 -0
- package/dist/admin/chunks/ComponentIcon-C-EjOUPA.js +176 -0
- package/dist/admin/chunks/ComponentIcon-C-EjOUPA.js.map +1 -0
- package/dist/admin/chunks/EditConfigurationPage-BW5fpvkO.js +180 -0
- package/dist/admin/chunks/EditConfigurationPage-BW5fpvkO.js.map +1 -0
- package/dist/admin/chunks/EditConfigurationPage-CaJ_CmJz.mjs +158 -0
- package/dist/admin/chunks/EditConfigurationPage-CaJ_CmJz.mjs.map +1 -0
- package/dist/admin/chunks/EditViewPage-BDekCXSy.mjs +315 -0
- package/dist/admin/chunks/EditViewPage-BDekCXSy.mjs.map +1 -0
- package/dist/admin/chunks/EditViewPage-CNacGhk_.js +338 -0
- package/dist/admin/chunks/EditViewPage-CNacGhk_.js.map +1 -0
- package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.mjs +56 -0
- package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.mjs.map +1 -0
- package/dist/admin/chunks/FieldTypeIcon-Bxh-7Jin.js +58 -0
- package/dist/admin/chunks/FieldTypeIcon-Bxh-7Jin.js.map +1 -0
- package/dist/admin/chunks/Form-2LZDIqUE.mjs +955 -0
- package/dist/admin/chunks/Form-2LZDIqUE.mjs.map +1 -0
- package/dist/admin/chunks/Form-CouVf26p.js +978 -0
- package/dist/admin/chunks/Form-CouVf26p.js.map +1 -0
- package/dist/admin/chunks/History-B7zZvnQF.mjs +1361 -0
- package/dist/admin/chunks/History-B7zZvnQF.mjs.map +1 -0
- package/dist/admin/chunks/History-Cv3uNjvV.js +1384 -0
- package/dist/admin/chunks/History-Cv3uNjvV.js.map +1 -0
- package/dist/admin/chunks/Input-BPTHgeyh.mjs +8671 -0
- package/dist/admin/chunks/Input-BPTHgeyh.mjs.map +1 -0
- package/dist/admin/chunks/Input-DPH5j7Yl.js +8706 -0
- package/dist/admin/chunks/Input-DPH5j7Yl.js.map +1 -0
- package/dist/admin/chunks/ListConfigurationPage-Cj1tt01r.js +818 -0
- package/dist/admin/chunks/ListConfigurationPage-Cj1tt01r.js.map +1 -0
- package/dist/admin/chunks/ListConfigurationPage-FS8YuoKF.mjs +795 -0
- package/dist/admin/chunks/ListConfigurationPage-FS8YuoKF.mjs.map +1 -0
- package/dist/admin/chunks/ListViewPage-BCmGmK7N.js +1154 -0
- package/dist/admin/chunks/ListViewPage-BCmGmK7N.js.map +1 -0
- package/dist/admin/chunks/ListViewPage-Xv5mmaJq.mjs +1132 -0
- package/dist/admin/chunks/ListViewPage-Xv5mmaJq.mjs.map +1 -0
- package/dist/admin/chunks/NoContentTypePage-Bbqw5ZV9.mjs +58 -0
- package/dist/admin/chunks/NoContentTypePage-Bbqw5ZV9.mjs.map +1 -0
- package/dist/admin/chunks/NoContentTypePage-DpvfQfhU.js +60 -0
- package/dist/admin/chunks/NoContentTypePage-DpvfQfhU.js.map +1 -0
- package/dist/admin/chunks/NoPermissionsPage-BYEkhBnk.js +39 -0
- package/dist/admin/chunks/NoPermissionsPage-BYEkhBnk.js.map +1 -0
- package/dist/admin/chunks/NoPermissionsPage-igrvpcW0.mjs +37 -0
- package/dist/admin/chunks/NoPermissionsPage-igrvpcW0.mjs.map +1 -0
- package/dist/admin/chunks/Preview-DR-9uYxZ.mjs +673 -0
- package/dist/admin/chunks/Preview-DR-9uYxZ.mjs.map +1 -0
- package/dist/admin/chunks/Preview-DlRltQbE.js +695 -0
- package/dist/admin/chunks/Preview-DlRltQbE.js.map +1 -0
- package/dist/admin/chunks/ar-DckYq_WK.mjs +222 -0
- package/dist/{_chunks/ar-CCEVvqGG.mjs.map → admin/chunks/ar-DckYq_WK.mjs.map} +1 -1
- package/dist/admin/chunks/ar-DeQBSsfl.js +227 -0
- package/dist/{_chunks/ru-BT3ybNny.js.map → admin/chunks/ar-DeQBSsfl.js.map} +1 -1
- package/dist/admin/chunks/ca-ClDTvatJ.js +202 -0
- package/dist/admin/chunks/ca-ClDTvatJ.js.map +1 -0
- package/dist/admin/chunks/ca-DviY7mRj.mjs +197 -0
- package/dist/admin/chunks/ca-DviY7mRj.mjs.map +1 -0
- package/dist/admin/chunks/cs-BJFxwIWj.js +126 -0
- package/dist/{_chunks/cs-CkJy6B2v.js.map → admin/chunks/cs-BJFxwIWj.js.map} +1 -1
- package/dist/admin/chunks/cs-C7OSYFQ7.mjs +122 -0
- package/dist/{_chunks/cs-CM2aBUar.mjs.map → admin/chunks/cs-C7OSYFQ7.mjs.map} +1 -1
- package/dist/admin/chunks/de-5QRlDHyR.mjs +195 -0
- package/dist/{_chunks/eu-CdALomew.mjs.map → admin/chunks/de-5QRlDHyR.mjs.map} +1 -1
- package/dist/admin/chunks/de-CbImAUA5.js +200 -0
- package/dist/{_chunks/gu-BRmF601H.js.map → admin/chunks/de-CbImAUA5.js.map} +1 -1
- package/dist/admin/chunks/en-CH__IC8g.js +316 -0
- package/dist/{_chunks/en-CHOp_xJv.js.map → admin/chunks/en-CH__IC8g.js.map} +1 -1
- package/dist/admin/chunks/en-DBP0Gaid.mjs +311 -0
- package/dist/{_chunks/en-D_BMf0hT.mjs.map → admin/chunks/en-DBP0Gaid.mjs.map} +1 -1
- package/dist/admin/chunks/es-C8vLuvZL.js +197 -0
- package/dist/{_chunks/es-9K52xZIr.js.map → admin/chunks/es-C8vLuvZL.js.map} +1 -1
- package/dist/admin/chunks/es-DkoWSExG.mjs +192 -0
- package/dist/{_chunks/ja-BHqhDq4V.mjs.map → admin/chunks/es-DkoWSExG.mjs.map} +1 -1
- package/dist/admin/chunks/eu-BG1xX7HK.mjs +198 -0
- package/dist/admin/chunks/eu-BG1xX7HK.mjs.map +1 -0
- package/dist/admin/chunks/eu-BJW3AvXu.js +203 -0
- package/dist/admin/chunks/eu-BJW3AvXu.js.map +1 -0
- package/dist/admin/chunks/fr-CFdRaRVj.mjs +215 -0
- package/dist/admin/chunks/fr-CFdRaRVj.mjs.map +1 -0
- package/dist/admin/chunks/fr-gQSilC7w.js +220 -0
- package/dist/admin/chunks/fr-gQSilC7w.js.map +1 -0
- package/dist/admin/chunks/gu-D5MMMXRs.mjs +196 -0
- package/dist/admin/chunks/gu-D5MMMXRs.mjs.map +1 -0
- package/dist/admin/chunks/gu-DPU4wyx7.js +201 -0
- package/dist/{_chunks/eu-VDH-3ovk.js.map → admin/chunks/gu-DPU4wyx7.js.map} +1 -1
- package/dist/admin/chunks/hi-Dp4omeBb.js +201 -0
- package/dist/admin/chunks/hi-Dp4omeBb.js.map +1 -0
- package/dist/admin/chunks/hi-lp17SCjr.mjs +196 -0
- package/dist/admin/chunks/hi-lp17SCjr.mjs.map +1 -0
- package/dist/{_chunks/hooks-BAaaKPS_.js → admin/chunks/hooks-D-sOYd1s.js} +6 -3
- package/dist/admin/chunks/hooks-D-sOYd1s.js.map +1 -0
- package/dist/admin/chunks/hooks-DMvik5y_.mjs +7 -0
- package/dist/admin/chunks/hooks-DMvik5y_.mjs.map +1 -0
- package/dist/admin/chunks/hu-CLka1U2C.mjs +198 -0
- package/dist/admin/chunks/hu-CLka1U2C.mjs.map +1 -0
- package/dist/admin/chunks/hu-CtFJuhTd.js +203 -0
- package/dist/admin/chunks/hu-CtFJuhTd.js.map +1 -0
- package/dist/admin/chunks/id-D7V5S1rB.js +161 -0
- package/dist/{_chunks/it-DkBIs7vD.js.map → admin/chunks/id-D7V5S1rB.js.map} +1 -1
- package/dist/admin/chunks/id-USfY9m1g.mjs +156 -0
- package/dist/{_chunks/id-BtwA9WJT.mjs.map → admin/chunks/id-USfY9m1g.mjs.map} +1 -1
- package/dist/admin/chunks/index-CISU19oJ.js +5450 -0
- package/dist/admin/chunks/index-CISU19oJ.js.map +1 -0
- package/dist/admin/chunks/index-C_e5v8f7.mjs +5383 -0
- package/dist/admin/chunks/index-C_e5v8f7.mjs.map +1 -0
- package/dist/admin/chunks/it-BAHrwmYS.mjs +158 -0
- package/dist/{_chunks/it-BrVPqaf1.mjs.map → admin/chunks/it-BAHrwmYS.mjs.map} +1 -1
- package/dist/admin/chunks/it-CQFpa_Dc.js +163 -0
- package/dist/{_chunks/ko-woFZPmLk.js.map → admin/chunks/it-CQFpa_Dc.js.map} +1 -1
- package/dist/admin/chunks/ja-BWKmBJFT.mjs +192 -0
- package/dist/{_chunks/ko-HVQRlfUI.mjs.map → admin/chunks/ja-BWKmBJFT.mjs.map} +1 -1
- package/dist/admin/chunks/ja-jdQM-B79.js +197 -0
- package/dist/{_chunks/de-CCEmbAah.js.map → admin/chunks/ja-jdQM-B79.js.map} +1 -1
- package/dist/admin/chunks/ko-CgADGBNt.mjs +191 -0
- package/dist/{_chunks/es-D34tqjMw.mjs.map → admin/chunks/ko-CgADGBNt.mjs.map} +1 -1
- package/dist/admin/chunks/ko-k46sEyzt.js +196 -0
- package/dist/{_chunks/ja-7sfIbjxE.js.map → admin/chunks/ko-k46sEyzt.js.map} +1 -1
- package/dist/admin/chunks/layout-CajJum-G.js +692 -0
- package/dist/admin/chunks/layout-CajJum-G.js.map +1 -0
- package/dist/admin/chunks/layout-CrqscUTi.mjs +672 -0
- package/dist/admin/chunks/layout-CrqscUTi.mjs.map +1 -0
- package/dist/admin/chunks/ml-CnhCfOn_.mjs +196 -0
- package/dist/admin/chunks/ml-CnhCfOn_.mjs.map +1 -0
- package/dist/admin/chunks/ml-DqxPwODx.js +201 -0
- package/dist/admin/chunks/ml-DqxPwODx.js.map +1 -0
- package/dist/admin/chunks/ms-Bh09NFff.mjs +140 -0
- package/dist/{_chunks/ms-m_WjyWx7.mjs.map → admin/chunks/ms-Bh09NFff.mjs.map} +1 -1
- package/dist/admin/chunks/ms-CvSC0OdG.js +145 -0
- package/dist/{_chunks/ms-BuFotyP_.js.map → admin/chunks/ms-CvSC0OdG.js.map} +1 -1
- package/dist/admin/chunks/nl-BEubhS8C.js +203 -0
- package/dist/admin/chunks/nl-BEubhS8C.js.map +1 -0
- package/dist/admin/chunks/nl-C8HYflTc.mjs +198 -0
- package/dist/admin/chunks/nl-C8HYflTc.mjs.map +1 -0
- package/dist/admin/chunks/objects-BJTP843m.js +343 -0
- package/dist/admin/chunks/objects-BJTP843m.js.map +1 -0
- package/dist/admin/chunks/objects-D2z-IJgu.mjs +317 -0
- package/dist/admin/chunks/objects-D2z-IJgu.mjs.map +1 -0
- package/dist/admin/chunks/pl-DWhGDzmM.js +200 -0
- package/dist/{_chunks/ca-Cmk45QO6.js.map → admin/chunks/pl-DWhGDzmM.js.map} +1 -1
- package/dist/admin/chunks/pl-MFCZJZuZ.mjs +195 -0
- package/dist/{_chunks/ca-5U32ON2v.mjs.map → admin/chunks/pl-MFCZJZuZ.mjs.map} +1 -1
- package/dist/admin/chunks/pt-BR-CPtAXD-4.js +202 -0
- package/dist/{_chunks/pt-BR-BiOz37D9.js.map → admin/chunks/pt-BR-CPtAXD-4.js.map} +1 -1
- package/dist/admin/chunks/pt-BR-CcotyBGJ.mjs +197 -0
- package/dist/{_chunks/pt-BR-C71iDxnh.mjs.map → admin/chunks/pt-BR-CcotyBGJ.mjs.map} +1 -1
- package/dist/admin/chunks/pt-BoPxN80n.js +96 -0
- package/dist/admin/chunks/pt-BoPxN80n.js.map +1 -0
- package/dist/admin/chunks/pt-HbmgeiYO.mjs +93 -0
- package/dist/admin/chunks/pt-HbmgeiYO.mjs.map +1 -0
- package/dist/admin/chunks/ru-C0op0ALG.js +232 -0
- package/dist/admin/chunks/ru-C0op0ALG.js.map +1 -0
- package/dist/admin/chunks/ru-CB4BUyQp.mjs +230 -0
- package/dist/{_chunks/ru-BE6A4Exp.mjs.map → admin/chunks/ru-CB4BUyQp.mjs.map} +1 -1
- package/dist/admin/chunks/sa-B_FuPyMw.js +201 -0
- package/dist/admin/chunks/sa-B_FuPyMw.js.map +1 -0
- package/dist/admin/chunks/sa-n_aPA-pU.mjs +196 -0
- package/dist/admin/chunks/sa-n_aPA-pU.mjs.map +1 -0
- package/dist/admin/chunks/sk-D_iXML2C.js +203 -0
- package/dist/admin/chunks/sk-D_iXML2C.js.map +1 -0
- package/dist/admin/chunks/sk-tn_BDjE2.mjs +198 -0
- package/dist/admin/chunks/sk-tn_BDjE2.mjs.map +1 -0
- package/dist/admin/chunks/sv-BstBC1Yp.js +203 -0
- package/dist/admin/chunks/sv-BstBC1Yp.js.map +1 -0
- package/dist/admin/chunks/sv-cq4ZrQRd.mjs +198 -0
- package/dist/admin/chunks/sv-cq4ZrQRd.mjs.map +1 -0
- package/dist/admin/chunks/th-lXoOCqPC.js +149 -0
- package/dist/{_chunks/th-D9_GfAjc.js.map → admin/chunks/th-lXoOCqPC.js.map} +1 -1
- package/dist/admin/chunks/th-mUH7hEtc.mjs +144 -0
- package/dist/{_chunks/th-BqbI8lIT.mjs.map → admin/chunks/th-mUH7hEtc.mjs.map} +1 -1
- package/dist/admin/chunks/tr-CkS6sLIE.js +200 -0
- package/dist/admin/chunks/tr-CkS6sLIE.js.map +1 -0
- package/dist/admin/chunks/tr-Yt38daxh.mjs +195 -0
- package/dist/{_chunks/de-C72KDNOl.mjs.map → admin/chunks/tr-Yt38daxh.mjs.map} +1 -1
- package/dist/admin/chunks/uk-B24MoTVg.js +145 -0
- package/dist/{_chunks/uk-C8EiqJY7.js.map → admin/chunks/uk-B24MoTVg.js.map} +1 -1
- package/dist/admin/chunks/uk-Cpgmm7gE.mjs +140 -0
- package/dist/{_chunks/uk-CR-zDhAY.mjs.map → admin/chunks/uk-Cpgmm7gE.mjs.map} +1 -1
- package/dist/admin/chunks/usePrev-CHotxABl.js +194 -0
- package/dist/admin/chunks/usePrev-CHotxABl.js.map +1 -0
- package/dist/admin/chunks/usePrev-DF3ZO0z4.mjs +187 -0
- package/dist/admin/chunks/usePrev-DF3ZO0z4.mjs.map +1 -0
- package/dist/admin/chunks/vi-BGr1X_HZ.js +112 -0
- package/dist/{_chunks/vi-CJlYDheJ.js.map → admin/chunks/vi-BGr1X_HZ.js.map} +1 -1
- package/dist/admin/chunks/vi-CvBGlTjr.mjs +108 -0
- package/dist/{_chunks/vi-DUXIk_fw.mjs.map → admin/chunks/vi-CvBGlTjr.mjs.map} +1 -1
- package/dist/admin/chunks/zh-BmF-sHaT.mjs +205 -0
- package/dist/admin/chunks/zh-BmF-sHaT.mjs.map +1 -0
- package/dist/admin/chunks/zh-DwFu_Kfj.js +210 -0
- package/dist/admin/chunks/zh-DwFu_Kfj.js.map +1 -0
- package/dist/admin/chunks/zh-Hans-CI0HKio3.mjs +934 -0
- package/dist/{_chunks/zh-Hans-BPQcRIyH.mjs.map → admin/chunks/zh-Hans-CI0HKio3.mjs.map} +1 -1
- package/dist/admin/chunks/zh-Hans-JVK9x7xr.js +953 -0
- package/dist/{_chunks/zh-Hans-9kOncHGw.js.map → admin/chunks/zh-Hans-JVK9x7xr.js.map} +1 -1
- package/dist/admin/index.js +25 -4
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +17 -12
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/components/InjectionZone.d.ts +7 -1
- package/dist/admin/src/content-manager.d.ts +6 -2
- package/dist/admin/src/exports.d.ts +1 -0
- package/dist/admin/src/features/DocumentContext.d.ts +42 -0
- package/dist/admin/src/features/DocumentRBAC.d.ts +3 -2
- package/dist/admin/src/history/services/historyVersion.d.ts +2 -2
- package/dist/admin/src/hooks/useDocument.d.ts +21 -4
- package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
- package/dist/admin/src/index.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +3 -2
- package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +3 -3
- package/dist/admin/src/pages/EditView/components/EditorToolbarObserver.d.ts +11 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/Code.d.ts +55 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.d.ts +4 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +4 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +10 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/{Relations.d.ts → Relations/Relations.d.ts} +10 -3
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.d.ts +1 -2
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +32 -1
- package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +3 -3
- package/dist/admin/src/pages/EditView/utils/data.d.ts +1 -0
- package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -1
- package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -1
- package/dist/admin/src/preview/index.d.ts +2 -3
- package/dist/admin/src/preview/pages/Preview.d.ts +3 -1
- package/dist/admin/src/preview/services/preview.d.ts +1 -1
- package/dist/admin/src/router.d.ts +1 -1
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/components.d.ts +2 -2
- package/dist/admin/src/services/contentTypes.d.ts +3 -3
- package/dist/admin/src/services/documents.d.ts +16 -19
- package/dist/admin/src/services/init.d.ts +1 -1
- package/dist/admin/src/services/relations.d.ts +2 -2
- package/dist/admin/src/services/uid.d.ts +3 -3
- package/dist/server/index.js +5461 -4346
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +5433 -4315
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/controllers/utils/metadata.d.ts +2 -1
- package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
- package/dist/server/src/history/controllers/history-version.d.ts +1 -1
- package/dist/server/src/history/controllers/history-version.d.ts.map +1 -1
- package/dist/server/src/history/services/history.d.ts +3 -3
- package/dist/server/src/history/services/history.d.ts.map +1 -1
- package/dist/server/src/history/services/utils.d.ts +6 -10
- package/dist/server/src/history/services/utils.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +3 -2
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -1
- package/dist/server/src/preview/index.d.ts.map +1 -1
- package/dist/server/src/preview/services/index.d.ts +1 -0
- package/dist/server/src/preview/services/index.d.ts.map +1 -1
- package/dist/server/src/preview/services/preview-config.d.ts +2 -0
- package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
- package/dist/server/src/preview/utils.d.ts +1 -0
- package/dist/server/src/preview/utils.d.ts.map +1 -1
- package/dist/server/src/register.d.ts.map +1 -1
- package/dist/server/src/services/document-manager.d.ts.map +1 -1
- package/dist/server/src/services/document-metadata.d.ts +4 -2
- package/dist/server/src/services/document-metadata.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +3 -2
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
- package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
- package/dist/server/src/services/utils/count.d.ts +1 -1
- package/dist/server/src/services/utils/count.d.ts.map +1 -1
- package/dist/server/src/services/utils/populate.d.ts +3 -3
- package/dist/server/src/services/utils/populate.d.ts.map +1 -1
- package/dist/shared/contracts/collection-types.d.ts +0 -1
- package/dist/shared/contracts/components.d.ts +0 -1
- package/dist/shared/contracts/content-types.d.ts +0 -1
- package/dist/shared/contracts/history-versions.d.ts +0 -1
- package/dist/shared/contracts/index.d.ts +0 -1
- package/dist/shared/contracts/init.d.ts +0 -1
- package/dist/shared/contracts/preview.d.ts +0 -1
- package/dist/shared/contracts/relations.d.ts +1 -2
- package/dist/shared/contracts/relations.d.ts.map +1 -1
- package/dist/shared/contracts/review-workflows.d.ts +0 -1
- package/dist/shared/contracts/single-types.d.ts +0 -1
- package/dist/shared/contracts/uid.d.ts +0 -1
- package/dist/shared/index.d.ts +0 -1
- package/dist/shared/index.js +35 -24
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/index.mjs +34 -25
- package/dist/shared/index.mjs.map +1 -1
- package/package.json +19 -15
- package/dist/_chunks/CardDragPreview-C0QyJgRA.js +0 -69
- package/dist/_chunks/CardDragPreview-C0QyJgRA.js.map +0 -1
- package/dist/_chunks/CardDragPreview-DOxamsuj.mjs +0 -70
- package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +0 -1
- package/dist/_chunks/ComponentConfigurationPage-CB0JNNKL.js +0 -255
- package/dist/_chunks/ComponentConfigurationPage-CB0JNNKL.js.map +0 -1
- package/dist/_chunks/ComponentConfigurationPage-CTCh51QS.mjs +0 -236
- package/dist/_chunks/ComponentConfigurationPage-CTCh51QS.mjs.map +0 -1
- package/dist/_chunks/ComponentIcon-BXdiCGQp.js +0 -176
- package/dist/_chunks/ComponentIcon-BXdiCGQp.js.map +0 -1
- package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs +0 -157
- package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs.map +0 -1
- package/dist/_chunks/EditConfigurationPage-BxTVjxBG.js +0 -151
- package/dist/_chunks/EditConfigurationPage-BxTVjxBG.js.map +0 -1
- package/dist/_chunks/EditConfigurationPage-CVyURlPG.mjs +0 -132
- package/dist/_chunks/EditConfigurationPage-CVyURlPG.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-Cg78RUyS.js +0 -273
- package/dist/_chunks/EditViewPage-Cg78RUyS.js.map +0 -1
- package/dist/_chunks/EditViewPage-M1OkTFHV.mjs +0 -254
- package/dist/_chunks/EditViewPage-M1OkTFHV.mjs.map +0 -1
- package/dist/_chunks/Field-BQoMs_At.js +0 -5615
- package/dist/_chunks/Field-BQoMs_At.js.map +0 -1
- package/dist/_chunks/Field-D1UGGscZ.mjs +0 -5583
- package/dist/_chunks/Field-D1UGGscZ.mjs.map +0 -1
- package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs +0 -50
- package/dist/_chunks/FieldTypeIcon-CMlNO8PE.mjs.map +0 -1
- package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js +0 -49
- package/dist/_chunks/FieldTypeIcon-Dnwq_IRF.js.map +0 -1
- package/dist/_chunks/Form-2uPHazrg.js +0 -779
- package/dist/_chunks/Form-2uPHazrg.js.map +0 -1
- package/dist/_chunks/Form-JOjqloMg.mjs +0 -758
- package/dist/_chunks/Form-JOjqloMg.mjs.map +0 -1
- package/dist/_chunks/History-D6LWunSa.mjs +0 -1022
- package/dist/_chunks/History-D6LWunSa.mjs.map +0 -1
- package/dist/_chunks/History-DoIdauuE.js +0 -1043
- package/dist/_chunks/History-DoIdauuE.js.map +0 -1
- package/dist/_chunks/ListConfigurationPage-C1eYSCV7.js +0 -652
- package/dist/_chunks/ListConfigurationPage-C1eYSCV7.js.map +0 -1
- package/dist/_chunks/ListConfigurationPage-C8J_y4eX.mjs +0 -632
- package/dist/_chunks/ListConfigurationPage-C8J_y4eX.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-Nd8_ZHjF.js +0 -874
- package/dist/_chunks/ListViewPage-Nd8_ZHjF.js.map +0 -1
- package/dist/_chunks/ListViewPage-vkipJOxG.mjs +0 -850
- package/dist/_chunks/ListViewPage-vkipJOxG.mjs.map +0 -1
- package/dist/_chunks/NoContentTypePage-CAxkF2Vg.mjs +0 -51
- package/dist/_chunks/NoContentTypePage-CAxkF2Vg.mjs.map +0 -1
- package/dist/_chunks/NoContentTypePage-CsI4DiJk.js +0 -51
- package/dist/_chunks/NoContentTypePage-CsI4DiJk.js.map +0 -1
- package/dist/_chunks/NoPermissionsPage-D7c29n-i.js +0 -23
- package/dist/_chunks/NoPermissionsPage-D7c29n-i.js.map +0 -1
- package/dist/_chunks/NoPermissionsPage-DA5ACuoK.mjs +0 -23
- package/dist/_chunks/NoPermissionsPage-DA5ACuoK.mjs.map +0 -1
- package/dist/_chunks/Preview-Bwo9ft4j.mjs +0 -288
- package/dist/_chunks/Preview-Bwo9ft4j.mjs.map +0 -1
- package/dist/_chunks/Preview-DLxVMS5f.js +0 -307
- package/dist/_chunks/Preview-DLxVMS5f.js.map +0 -1
- package/dist/_chunks/Relations-Bddj_dxS.mjs +0 -730
- package/dist/_chunks/Relations-Bddj_dxS.mjs.map +0 -1
- package/dist/_chunks/Relations-CdFEx0mp.js +0 -750
- package/dist/_chunks/Relations-CdFEx0mp.js.map +0 -1
- package/dist/_chunks/ar-BUUWXIYu.js +0 -226
- package/dist/_chunks/ar-BUUWXIYu.js.map +0 -1
- package/dist/_chunks/ar-CCEVvqGG.mjs +0 -226
- package/dist/_chunks/ca-5U32ON2v.mjs +0 -201
- package/dist/_chunks/ca-Cmk45QO6.js +0 -201
- package/dist/_chunks/cs-CM2aBUar.mjs +0 -125
- package/dist/_chunks/cs-CkJy6B2v.js +0 -125
- package/dist/_chunks/de-C72KDNOl.mjs +0 -199
- package/dist/_chunks/de-CCEmbAah.js +0 -199
- package/dist/_chunks/en-CHOp_xJv.js +0 -302
- package/dist/_chunks/en-D_BMf0hT.mjs +0 -302
- package/dist/_chunks/es-9K52xZIr.js +0 -196
- package/dist/_chunks/es-D34tqjMw.mjs +0 -196
- package/dist/_chunks/eu-CdALomew.mjs +0 -202
- package/dist/_chunks/eu-VDH-3ovk.js +0 -202
- package/dist/_chunks/fr--pg5jUbt.mjs +0 -216
- package/dist/_chunks/fr--pg5jUbt.mjs.map +0 -1
- package/dist/_chunks/fr-B2Kyv8Z9.js +0 -216
- package/dist/_chunks/fr-B2Kyv8Z9.js.map +0 -1
- package/dist/_chunks/gu-BRmF601H.js +0 -200
- package/dist/_chunks/gu-CNpaMDpH.mjs +0 -200
- package/dist/_chunks/gu-CNpaMDpH.mjs.map +0 -1
- package/dist/_chunks/hi-CCJBptSq.js +0 -200
- package/dist/_chunks/hi-CCJBptSq.js.map +0 -1
- package/dist/_chunks/hi-Dwvd04m3.mjs +0 -200
- package/dist/_chunks/hi-Dwvd04m3.mjs.map +0 -1
- package/dist/_chunks/hooks-BAaaKPS_.js.map +0 -1
- package/dist/_chunks/hooks-E5u1mcgM.mjs +0 -8
- package/dist/_chunks/hooks-E5u1mcgM.mjs.map +0 -1
- package/dist/_chunks/hu-CeYvaaO0.mjs +0 -202
- package/dist/_chunks/hu-CeYvaaO0.mjs.map +0 -1
- package/dist/_chunks/hu-sNV_yLYy.js +0 -202
- package/dist/_chunks/hu-sNV_yLYy.js.map +0 -1
- package/dist/_chunks/id-B5Ser98A.js +0 -160
- package/dist/_chunks/id-B5Ser98A.js.map +0 -1
- package/dist/_chunks/id-BtwA9WJT.mjs +0 -160
- package/dist/_chunks/index-CltLAahy.js +0 -4207
- package/dist/_chunks/index-CltLAahy.js.map +0 -1
- package/dist/_chunks/index-DmNeuXH0.mjs +0 -4187
- package/dist/_chunks/index-DmNeuXH0.mjs.map +0 -1
- package/dist/_chunks/it-BrVPqaf1.mjs +0 -162
- package/dist/_chunks/it-DkBIs7vD.js +0 -162
- package/dist/_chunks/ja-7sfIbjxE.js +0 -196
- package/dist/_chunks/ja-BHqhDq4V.mjs +0 -196
- package/dist/_chunks/ko-HVQRlfUI.mjs +0 -195
- package/dist/_chunks/ko-woFZPmLk.js +0 -195
- package/dist/_chunks/layout-D63qmUOu.mjs +0 -471
- package/dist/_chunks/layout-D63qmUOu.mjs.map +0 -1
- package/dist/_chunks/layout-DslPJR5e.js +0 -489
- package/dist/_chunks/layout-DslPJR5e.js.map +0 -1
- package/dist/_chunks/ml-BihZwQit.mjs +0 -200
- package/dist/_chunks/ml-BihZwQit.mjs.map +0 -1
- package/dist/_chunks/ml-C2W8N8k1.js +0 -200
- package/dist/_chunks/ml-C2W8N8k1.js.map +0 -1
- package/dist/_chunks/ms-BuFotyP_.js +0 -144
- package/dist/_chunks/ms-m_WjyWx7.mjs +0 -144
- package/dist/_chunks/nl-D4R9gHx5.mjs +0 -202
- package/dist/_chunks/nl-D4R9gHx5.mjs.map +0 -1
- package/dist/_chunks/nl-bbEOHChV.js +0 -202
- package/dist/_chunks/nl-bbEOHChV.js.map +0 -1
- package/dist/_chunks/objects-BcXOv6_9.js +0 -47
- package/dist/_chunks/objects-BcXOv6_9.js.map +0 -1
- package/dist/_chunks/objects-D6yBsdmx.mjs +0 -45
- package/dist/_chunks/objects-D6yBsdmx.mjs.map +0 -1
- package/dist/_chunks/pl-sbx9mSt_.mjs +0 -199
- package/dist/_chunks/pl-sbx9mSt_.mjs.map +0 -1
- package/dist/_chunks/pl-uzwG-hk7.js +0 -199
- package/dist/_chunks/pl-uzwG-hk7.js.map +0 -1
- package/dist/_chunks/pt-BR-BiOz37D9.js +0 -201
- package/dist/_chunks/pt-BR-C71iDxnh.mjs +0 -201
- package/dist/_chunks/pt-BsaFvS8-.mjs +0 -95
- package/dist/_chunks/pt-BsaFvS8-.mjs.map +0 -1
- package/dist/_chunks/pt-CeXQuq50.js +0 -95
- package/dist/_chunks/pt-CeXQuq50.js.map +0 -1
- package/dist/_chunks/relations-B2h_O2Xw.js +0 -133
- package/dist/_chunks/relations-B2h_O2Xw.js.map +0 -1
- package/dist/_chunks/relations-X3M9aO-m.mjs +0 -134
- package/dist/_chunks/relations-X3M9aO-m.mjs.map +0 -1
- package/dist/_chunks/ru-BE6A4Exp.mjs +0 -231
- package/dist/_chunks/ru-BT3ybNny.js +0 -231
- package/dist/_chunks/sa-CcvkYInH.js +0 -200
- package/dist/_chunks/sa-CcvkYInH.js.map +0 -1
- package/dist/_chunks/sa-Dag0k-Z8.mjs +0 -200
- package/dist/_chunks/sa-Dag0k-Z8.mjs.map +0 -1
- package/dist/_chunks/sk-BFg-R8qJ.mjs +0 -202
- package/dist/_chunks/sk-BFg-R8qJ.mjs.map +0 -1
- package/dist/_chunks/sk-CvY09Xjv.js +0 -202
- package/dist/_chunks/sk-CvY09Xjv.js.map +0 -1
- package/dist/_chunks/sv-CUnfWGsh.mjs +0 -202
- package/dist/_chunks/sv-CUnfWGsh.mjs.map +0 -1
- package/dist/_chunks/sv-MYDuzgvT.js +0 -202
- package/dist/_chunks/sv-MYDuzgvT.js.map +0 -1
- package/dist/_chunks/th-BqbI8lIT.mjs +0 -148
- package/dist/_chunks/th-D9_GfAjc.js +0 -148
- package/dist/_chunks/tr-CgeK3wJM.mjs +0 -199
- package/dist/_chunks/tr-CgeK3wJM.mjs.map +0 -1
- package/dist/_chunks/tr-D9UH-O_R.js +0 -199
- package/dist/_chunks/tr-D9UH-O_R.js.map +0 -1
- package/dist/_chunks/uk-C8EiqJY7.js +0 -144
- package/dist/_chunks/uk-CR-zDhAY.mjs +0 -144
- package/dist/_chunks/useDebounce-CtcjDB3L.js +0 -28
- package/dist/_chunks/useDebounce-CtcjDB3L.js.map +0 -1
- package/dist/_chunks/useDebounce-DmuSJIF3.mjs +0 -29
- package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +0 -1
- package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs +0 -231
- package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs.map +0 -1
- package/dist/_chunks/useDragAndDrop-J0TUUbR6.js +0 -249
- package/dist/_chunks/useDragAndDrop-J0TUUbR6.js.map +0 -1
- package/dist/_chunks/vi-CJlYDheJ.js +0 -111
- package/dist/_chunks/vi-DUXIk_fw.mjs +0 -111
- package/dist/_chunks/zh-BWZspA60.mjs +0 -209
- package/dist/_chunks/zh-BWZspA60.mjs.map +0 -1
- package/dist/_chunks/zh-CQQfszqR.js +0 -209
- package/dist/_chunks/zh-CQQfszqR.js.map +0 -1
- package/dist/_chunks/zh-Hans-9kOncHGw.js +0 -952
- package/dist/_chunks/zh-Hans-BPQcRIyH.mjs +0 -952
- package/dist/admin/src/preview/constants.d.ts +0 -1
- package/dist/server/src/preview/constants.d.ts +0 -2
- package/dist/server/src/preview/constants.d.ts.map +0 -1
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var fractionalIndexing = require('fractional-indexing');
|
|
5
|
+
var index = require('./index-CISU19oJ.js');
|
|
6
|
+
|
|
7
|
+
const prefixFileUrlWithBackendUrl = (fileURL)=>{
|
|
8
|
+
return !!fileURL && fileURL.startsWith('/') ? `${window.strapi.backendURL}${fileURL}` : fileURL;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
function useDebounce(value, delay) {
|
|
12
|
+
const [debouncedValue, setDebouncedValue] = React.useState(value);
|
|
13
|
+
React.useEffect(()=>{
|
|
14
|
+
const handler = setTimeout(()=>{
|
|
15
|
+
setDebouncedValue(value);
|
|
16
|
+
}, delay);
|
|
17
|
+
return ()=>{
|
|
18
|
+
clearTimeout(handler);
|
|
19
|
+
};
|
|
20
|
+
}, [
|
|
21
|
+
value,
|
|
22
|
+
delay
|
|
23
|
+
]);
|
|
24
|
+
return debouncedValue;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const relationsApi = index.contentManagerApi.injectEndpoints({
|
|
28
|
+
endpoints: (build)=>({
|
|
29
|
+
getRelations: build.query({
|
|
30
|
+
query: ({ model, id, targetField, params })=>{
|
|
31
|
+
return {
|
|
32
|
+
url: `/content-manager/relations/${model}/${id}/${targetField}`,
|
|
33
|
+
method: 'GET',
|
|
34
|
+
config: {
|
|
35
|
+
params
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
},
|
|
39
|
+
serializeQueryArgs: (args)=>{
|
|
40
|
+
const { endpointName, queryArgs } = args;
|
|
41
|
+
return {
|
|
42
|
+
endpointName,
|
|
43
|
+
model: queryArgs.model,
|
|
44
|
+
id: queryArgs.id,
|
|
45
|
+
targetField: queryArgs.targetField,
|
|
46
|
+
locale: queryArgs.params?.locale,
|
|
47
|
+
status: queryArgs.params?.status
|
|
48
|
+
};
|
|
49
|
+
},
|
|
50
|
+
merge: (currentCache, newItems)=>{
|
|
51
|
+
if (currentCache.pagination && newItems.pagination) {
|
|
52
|
+
if (currentCache.pagination.page < newItems.pagination.page) {
|
|
53
|
+
/**
|
|
54
|
+
* Relations will always have unique IDs, so we can therefore assume
|
|
55
|
+
* that we only need to push the new items to the cache.
|
|
56
|
+
*
|
|
57
|
+
* Push new items at the beginning as latest items are shown first
|
|
58
|
+
*/ currentCache.results = [
|
|
59
|
+
...prepareTempKeys(newItems.results, currentCache.results),
|
|
60
|
+
...currentCache.results
|
|
61
|
+
];
|
|
62
|
+
currentCache.pagination = newItems.pagination;
|
|
63
|
+
} else if (newItems.pagination.page === 1) {
|
|
64
|
+
/**
|
|
65
|
+
* We're resetting the relations
|
|
66
|
+
*/ currentCache.results = prepareTempKeys(newItems.results);
|
|
67
|
+
currentCache.pagination = newItems.pagination;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
forceRefetch ({ currentArg, previousArg }) {
|
|
72
|
+
if (!currentArg?.params && !previousArg?.params) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
return currentArg?.params?.page !== previousArg?.params?.page || currentArg?.params?.pageSize !== previousArg?.params?.pageSize;
|
|
76
|
+
},
|
|
77
|
+
transformResponse: (response)=>{
|
|
78
|
+
if ('results' in response && response.results) {
|
|
79
|
+
return {
|
|
80
|
+
...response,
|
|
81
|
+
results: prepareTempKeys(response.results.toReversed())
|
|
82
|
+
};
|
|
83
|
+
} else {
|
|
84
|
+
return response;
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
providesTags: [
|
|
88
|
+
'Relations'
|
|
89
|
+
]
|
|
90
|
+
}),
|
|
91
|
+
searchRelations: build.query({
|
|
92
|
+
query: ({ model, targetField, params })=>{
|
|
93
|
+
return {
|
|
94
|
+
url: `/content-manager/relations/${model}/${targetField}`,
|
|
95
|
+
method: 'GET',
|
|
96
|
+
config: {
|
|
97
|
+
params
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
},
|
|
101
|
+
serializeQueryArgs: (args)=>{
|
|
102
|
+
const { endpointName, queryArgs } = args;
|
|
103
|
+
return {
|
|
104
|
+
endpointName,
|
|
105
|
+
model: queryArgs.model,
|
|
106
|
+
targetField: queryArgs.targetField,
|
|
107
|
+
_q: queryArgs.params?._q,
|
|
108
|
+
idsToOmit: queryArgs.params?.idsToOmit,
|
|
109
|
+
idsToInclude: queryArgs.params?.idsToInclude
|
|
110
|
+
};
|
|
111
|
+
},
|
|
112
|
+
merge: (currentCache, newItems)=>{
|
|
113
|
+
if (currentCache.pagination && newItems.pagination) {
|
|
114
|
+
if (currentCache.pagination.page < newItems.pagination.page) {
|
|
115
|
+
/**
|
|
116
|
+
* Relations will always have unique IDs, so we can therefore assume
|
|
117
|
+
* that we only need to push the new items to the cache.
|
|
118
|
+
*/ const existingIds = currentCache.results.map((item)=>item.documentId);
|
|
119
|
+
const uniqueNewItems = newItems.results.filter((item)=>!existingIds.includes(item.documentId));
|
|
120
|
+
currentCache.results.push(...uniqueNewItems);
|
|
121
|
+
currentCache.pagination = newItems.pagination;
|
|
122
|
+
} else if (newItems.pagination.page === 1) {
|
|
123
|
+
/**
|
|
124
|
+
* We're resetting the relations
|
|
125
|
+
*/ currentCache.results = newItems.results;
|
|
126
|
+
currentCache.pagination = newItems.pagination;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
forceRefetch ({ currentArg, previousArg }) {
|
|
131
|
+
if (!currentArg?.params && !previousArg?.params) {
|
|
132
|
+
return false;
|
|
133
|
+
}
|
|
134
|
+
return currentArg?.params?.page !== previousArg?.params?.page || currentArg?.params?.pageSize !== previousArg?.params?.pageSize;
|
|
135
|
+
},
|
|
136
|
+
transformResponse: (response)=>{
|
|
137
|
+
if (response.results) {
|
|
138
|
+
return {
|
|
139
|
+
...response,
|
|
140
|
+
results: response.results
|
|
141
|
+
};
|
|
142
|
+
} else {
|
|
143
|
+
return response;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
})
|
|
147
|
+
})
|
|
148
|
+
});
|
|
149
|
+
/**
|
|
150
|
+
* @internal
|
|
151
|
+
* @description Adds a `__temp_key__` to each relation item. This gives us
|
|
152
|
+
* a stable identifier regardless of it's ids etc. that we can then use for drag and drop.
|
|
153
|
+
*/ const prepareTempKeys = (relations, existingRelations = [])=>{
|
|
154
|
+
const [firstItem] = existingRelations.slice(0);
|
|
155
|
+
const keys = fractionalIndexing.generateNKeysBetween(null, firstItem?.__temp_key__ ?? null, relations.length);
|
|
156
|
+
return relations.map((datum, index)=>({
|
|
157
|
+
...datum,
|
|
158
|
+
__temp_key__: keys[index]
|
|
159
|
+
}));
|
|
160
|
+
};
|
|
161
|
+
const { useGetRelationsQuery, useLazySearchRelationsQuery } = relationsApi;
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* @internal
|
|
165
|
+
* @description Get the label of a relation, the contract has [key: string]: unknown,
|
|
166
|
+
* so we need to check if the mainFieldKey is defined and if the relation has a value
|
|
167
|
+
* under that property. If it does, we then verify it's type of string and return it.
|
|
168
|
+
*
|
|
169
|
+
* We fallback to the documentId.
|
|
170
|
+
*/ const getRelationLabel = (relation, mainField)=>{
|
|
171
|
+
const label = mainField && relation[mainField.name] ? relation[mainField.name] : null;
|
|
172
|
+
if (typeof label === 'string') {
|
|
173
|
+
return label;
|
|
174
|
+
}
|
|
175
|
+
return relation.documentId;
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
const usePrev = (value)=>{
|
|
179
|
+
const ref = React.useRef();
|
|
180
|
+
React.useEffect(()=>{
|
|
181
|
+
ref.current = value;
|
|
182
|
+
}, [
|
|
183
|
+
value
|
|
184
|
+
]);
|
|
185
|
+
return ref.current;
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
exports.getRelationLabel = getRelationLabel;
|
|
189
|
+
exports.prefixFileUrlWithBackendUrl = prefixFileUrlWithBackendUrl;
|
|
190
|
+
exports.useDebounce = useDebounce;
|
|
191
|
+
exports.useGetRelationsQuery = useGetRelationsQuery;
|
|
192
|
+
exports.useLazySearchRelationsQuery = useLazySearchRelationsQuery;
|
|
193
|
+
exports.usePrev = usePrev;
|
|
194
|
+
//# sourceMappingURL=usePrev-CHotxABl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePrev-CHotxABl.js","sources":["../../../admin/src/utils/urls.ts","../../../admin/src/hooks/useDebounce.ts","../../../admin/src/services/relations.ts","../../../admin/src/utils/relations.ts","../../../admin/src/hooks/usePrev.ts"],"sourcesContent":["const prefixFileUrlWithBackendUrl = (fileURL?: string): string | undefined => {\n return !!fileURL && fileURL.startsWith('/') ? `${window.strapi.backendURL}${fileURL}` : fileURL;\n};\n\nexport { prefixFileUrlWithBackendUrl };\n","import { useEffect, useState } from 'react';\n\nexport function useDebounce<TValue>(value: TValue, delay: number): TValue {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\n","import { generateNKeysBetween } from 'fractional-indexing';\n\nimport {\n RelationResult as RelResult,\n FindAvailable,\n FindExisting,\n} from '../../../shared/contracts/relations';\n\nimport { contentManagerApi } from './api';\n\nimport type { Modules } from '@strapi/types';\nimport type { errors } from '@strapi/utils';\n\ninterface RelationResult extends RelResult {\n __temp_key__: string;\n}\n\ntype GetRelationsResponse =\n | {\n results: Array<RelationResult>;\n pagination: {\n page: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['page']>;\n pageSize: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['pageSize']>;\n pageCount: number;\n total: number;\n } | null;\n error?: never;\n }\n | {\n results?: never;\n pagination?: never;\n error: errors.ApplicationError | errors.YupValidationError;\n };\n\nconst relationsApi = contentManagerApi.injectEndpoints({\n endpoints: (build) => ({\n getRelations: build.query<\n GetRelationsResponse,\n FindExisting.Params & {\n params?: FindExisting.Request['query'];\n }\n >({\n query: ({ model, id, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${id}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n id: queryArgs.id,\n targetField: queryArgs.targetField,\n locale: queryArgs.params?.locale,\n status: queryArgs.params?.status,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n *\n * Push new items at the beginning as latest items are shown first\n */\n currentCache.results = [\n ...prepareTempKeys(newItems.results, currentCache.results),\n ...currentCache.results,\n ];\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = prepareTempKeys(newItems.results);\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindExisting.Response) => {\n if ('results' in response && response.results) {\n return {\n ...response,\n results: prepareTempKeys(response.results.toReversed()),\n };\n } else {\n return response;\n }\n },\n providesTags: ['Relations'],\n }),\n searchRelations: build.query<\n FindAvailable.Response,\n FindAvailable.Params & {\n params?: FindAvailable.Request['query'];\n }\n >({\n query: ({ model, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n targetField: queryArgs.targetField,\n _q: queryArgs.params?._q,\n idsToOmit: queryArgs.params?.idsToOmit,\n idsToInclude: queryArgs.params?.idsToInclude,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n */\n const existingIds = currentCache.results.map((item) => item.documentId);\n const uniqueNewItems = newItems.results.filter(\n (item) => !existingIds.includes(item.documentId)\n );\n currentCache.results.push(...uniqueNewItems);\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = newItems.results;\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindAvailable.Response) => {\n if (response.results) {\n return {\n ...response,\n results: response.results,\n };\n } else {\n return response;\n }\n },\n }),\n }),\n});\n\n/**\n * @internal\n * @description Adds a `__temp_key__` to each relation item. This gives us\n * a stable identifier regardless of it's ids etc. that we can then use for drag and drop.\n */\nconst prepareTempKeys = (relations: RelResult[], existingRelations: RelationResult[] = []) => {\n const [firstItem] = existingRelations.slice(0);\n const keys = generateNKeysBetween(null, firstItem?.__temp_key__ ?? null, relations.length);\n\n return relations.map((datum, index) => ({\n ...datum,\n __temp_key__: keys[index],\n }));\n};\n\nconst { useGetRelationsQuery, useLazySearchRelationsQuery } = relationsApi;\n\nexport { useGetRelationsQuery, useLazySearchRelationsQuery };\nexport type { RelationResult };\n","import type { MainField } from './attributes';\nimport type { RelationResult } from '../../../shared/contracts/relations';\n\n/**\n * @internal\n * @description Get the label of a relation, the contract has [key: string]: unknown,\n * so we need to check if the mainFieldKey is defined and if the relation has a value\n * under that property. If it does, we then verify it's type of string and return it.\n *\n * We fallback to the documentId.\n */\nconst getRelationLabel = (relation: RelationResult, mainField?: MainField): string => {\n const label = mainField && relation[mainField.name] ? relation[mainField.name] : null;\n\n if (typeof label === 'string') {\n return label;\n }\n\n return relation.documentId;\n};\n\nexport { getRelationLabel };\n","import { useEffect, useRef } from 'react';\n\nexport const usePrev = <T>(value: T): T | undefined => {\n const ref = useRef<T>();\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n};\n"],"names":["prefixFileUrlWithBackendUrl","fileURL","startsWith","window","strapi","backendURL","useDebounce","value","delay","debouncedValue","setDebouncedValue","useState","useEffect","handler","setTimeout","clearTimeout","relationsApi","contentManagerApi","injectEndpoints","endpoints","build","getRelations","query","model","id","targetField","params","url","method","config","serializeQueryArgs","args","endpointName","queryArgs","locale","status","merge","currentCache","newItems","pagination","page","results","prepareTempKeys","forceRefetch","currentArg","previousArg","pageSize","transformResponse","response","toReversed","providesTags","searchRelations","_q","idsToOmit","idsToInclude","existingIds","map","item","documentId","uniqueNewItems","filter","includes","push","relations","existingRelations","firstItem","slice","keys","generateNKeysBetween","__temp_key__","length","datum","index","useGetRelationsQuery","useLazySearchRelationsQuery","getRelationLabel","relation","mainField","label","name","usePrev","ref","useRef","current"],"mappings":"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"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { useState, useEffect, useRef } from 'react';
|
|
2
|
+
import { generateNKeysBetween } from 'fractional-indexing';
|
|
3
|
+
import { j as contentManagerApi } from './index-C_e5v8f7.mjs';
|
|
4
|
+
|
|
5
|
+
const prefixFileUrlWithBackendUrl = (fileURL)=>{
|
|
6
|
+
return !!fileURL && fileURL.startsWith('/') ? `${window.strapi.backendURL}${fileURL}` : fileURL;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
function useDebounce(value, delay) {
|
|
10
|
+
const [debouncedValue, setDebouncedValue] = useState(value);
|
|
11
|
+
useEffect(()=>{
|
|
12
|
+
const handler = setTimeout(()=>{
|
|
13
|
+
setDebouncedValue(value);
|
|
14
|
+
}, delay);
|
|
15
|
+
return ()=>{
|
|
16
|
+
clearTimeout(handler);
|
|
17
|
+
};
|
|
18
|
+
}, [
|
|
19
|
+
value,
|
|
20
|
+
delay
|
|
21
|
+
]);
|
|
22
|
+
return debouncedValue;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const relationsApi = contentManagerApi.injectEndpoints({
|
|
26
|
+
endpoints: (build)=>({
|
|
27
|
+
getRelations: build.query({
|
|
28
|
+
query: ({ model, id, targetField, params })=>{
|
|
29
|
+
return {
|
|
30
|
+
url: `/content-manager/relations/${model}/${id}/${targetField}`,
|
|
31
|
+
method: 'GET',
|
|
32
|
+
config: {
|
|
33
|
+
params
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
serializeQueryArgs: (args)=>{
|
|
38
|
+
const { endpointName, queryArgs } = args;
|
|
39
|
+
return {
|
|
40
|
+
endpointName,
|
|
41
|
+
model: queryArgs.model,
|
|
42
|
+
id: queryArgs.id,
|
|
43
|
+
targetField: queryArgs.targetField,
|
|
44
|
+
locale: queryArgs.params?.locale,
|
|
45
|
+
status: queryArgs.params?.status
|
|
46
|
+
};
|
|
47
|
+
},
|
|
48
|
+
merge: (currentCache, newItems)=>{
|
|
49
|
+
if (currentCache.pagination && newItems.pagination) {
|
|
50
|
+
if (currentCache.pagination.page < newItems.pagination.page) {
|
|
51
|
+
/**
|
|
52
|
+
* Relations will always have unique IDs, so we can therefore assume
|
|
53
|
+
* that we only need to push the new items to the cache.
|
|
54
|
+
*
|
|
55
|
+
* Push new items at the beginning as latest items are shown first
|
|
56
|
+
*/ currentCache.results = [
|
|
57
|
+
...prepareTempKeys(newItems.results, currentCache.results),
|
|
58
|
+
...currentCache.results
|
|
59
|
+
];
|
|
60
|
+
currentCache.pagination = newItems.pagination;
|
|
61
|
+
} else if (newItems.pagination.page === 1) {
|
|
62
|
+
/**
|
|
63
|
+
* We're resetting the relations
|
|
64
|
+
*/ currentCache.results = prepareTempKeys(newItems.results);
|
|
65
|
+
currentCache.pagination = newItems.pagination;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
forceRefetch ({ currentArg, previousArg }) {
|
|
70
|
+
if (!currentArg?.params && !previousArg?.params) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
return currentArg?.params?.page !== previousArg?.params?.page || currentArg?.params?.pageSize !== previousArg?.params?.pageSize;
|
|
74
|
+
},
|
|
75
|
+
transformResponse: (response)=>{
|
|
76
|
+
if ('results' in response && response.results) {
|
|
77
|
+
return {
|
|
78
|
+
...response,
|
|
79
|
+
results: prepareTempKeys(response.results.toReversed())
|
|
80
|
+
};
|
|
81
|
+
} else {
|
|
82
|
+
return response;
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
providesTags: [
|
|
86
|
+
'Relations'
|
|
87
|
+
]
|
|
88
|
+
}),
|
|
89
|
+
searchRelations: build.query({
|
|
90
|
+
query: ({ model, targetField, params })=>{
|
|
91
|
+
return {
|
|
92
|
+
url: `/content-manager/relations/${model}/${targetField}`,
|
|
93
|
+
method: 'GET',
|
|
94
|
+
config: {
|
|
95
|
+
params
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
},
|
|
99
|
+
serializeQueryArgs: (args)=>{
|
|
100
|
+
const { endpointName, queryArgs } = args;
|
|
101
|
+
return {
|
|
102
|
+
endpointName,
|
|
103
|
+
model: queryArgs.model,
|
|
104
|
+
targetField: queryArgs.targetField,
|
|
105
|
+
_q: queryArgs.params?._q,
|
|
106
|
+
idsToOmit: queryArgs.params?.idsToOmit,
|
|
107
|
+
idsToInclude: queryArgs.params?.idsToInclude
|
|
108
|
+
};
|
|
109
|
+
},
|
|
110
|
+
merge: (currentCache, newItems)=>{
|
|
111
|
+
if (currentCache.pagination && newItems.pagination) {
|
|
112
|
+
if (currentCache.pagination.page < newItems.pagination.page) {
|
|
113
|
+
/**
|
|
114
|
+
* Relations will always have unique IDs, so we can therefore assume
|
|
115
|
+
* that we only need to push the new items to the cache.
|
|
116
|
+
*/ const existingIds = currentCache.results.map((item)=>item.documentId);
|
|
117
|
+
const uniqueNewItems = newItems.results.filter((item)=>!existingIds.includes(item.documentId));
|
|
118
|
+
currentCache.results.push(...uniqueNewItems);
|
|
119
|
+
currentCache.pagination = newItems.pagination;
|
|
120
|
+
} else if (newItems.pagination.page === 1) {
|
|
121
|
+
/**
|
|
122
|
+
* We're resetting the relations
|
|
123
|
+
*/ currentCache.results = newItems.results;
|
|
124
|
+
currentCache.pagination = newItems.pagination;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
forceRefetch ({ currentArg, previousArg }) {
|
|
129
|
+
if (!currentArg?.params && !previousArg?.params) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
return currentArg?.params?.page !== previousArg?.params?.page || currentArg?.params?.pageSize !== previousArg?.params?.pageSize;
|
|
133
|
+
},
|
|
134
|
+
transformResponse: (response)=>{
|
|
135
|
+
if (response.results) {
|
|
136
|
+
return {
|
|
137
|
+
...response,
|
|
138
|
+
results: response.results
|
|
139
|
+
};
|
|
140
|
+
} else {
|
|
141
|
+
return response;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
})
|
|
145
|
+
})
|
|
146
|
+
});
|
|
147
|
+
/**
|
|
148
|
+
* @internal
|
|
149
|
+
* @description Adds a `__temp_key__` to each relation item. This gives us
|
|
150
|
+
* a stable identifier regardless of it's ids etc. that we can then use for drag and drop.
|
|
151
|
+
*/ const prepareTempKeys = (relations, existingRelations = [])=>{
|
|
152
|
+
const [firstItem] = existingRelations.slice(0);
|
|
153
|
+
const keys = generateNKeysBetween(null, firstItem?.__temp_key__ ?? null, relations.length);
|
|
154
|
+
return relations.map((datum, index)=>({
|
|
155
|
+
...datum,
|
|
156
|
+
__temp_key__: keys[index]
|
|
157
|
+
}));
|
|
158
|
+
};
|
|
159
|
+
const { useGetRelationsQuery, useLazySearchRelationsQuery } = relationsApi;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* @internal
|
|
163
|
+
* @description Get the label of a relation, the contract has [key: string]: unknown,
|
|
164
|
+
* so we need to check if the mainFieldKey is defined and if the relation has a value
|
|
165
|
+
* under that property. If it does, we then verify it's type of string and return it.
|
|
166
|
+
*
|
|
167
|
+
* We fallback to the documentId.
|
|
168
|
+
*/ const getRelationLabel = (relation, mainField)=>{
|
|
169
|
+
const label = mainField && relation[mainField.name] ? relation[mainField.name] : null;
|
|
170
|
+
if (typeof label === 'string') {
|
|
171
|
+
return label;
|
|
172
|
+
}
|
|
173
|
+
return relation.documentId;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
const usePrev = (value)=>{
|
|
177
|
+
const ref = useRef();
|
|
178
|
+
useEffect(()=>{
|
|
179
|
+
ref.current = value;
|
|
180
|
+
}, [
|
|
181
|
+
value
|
|
182
|
+
]);
|
|
183
|
+
return ref.current;
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
export { useDebounce as a, useLazySearchRelationsQuery as b, usePrev as c, getRelationLabel as g, prefixFileUrlWithBackendUrl as p, useGetRelationsQuery as u };
|
|
187
|
+
//# sourceMappingURL=usePrev-DF3ZO0z4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePrev-DF3ZO0z4.mjs","sources":["../../../admin/src/utils/urls.ts","../../../admin/src/hooks/useDebounce.ts","../../../admin/src/services/relations.ts","../../../admin/src/utils/relations.ts","../../../admin/src/hooks/usePrev.ts"],"sourcesContent":["const prefixFileUrlWithBackendUrl = (fileURL?: string): string | undefined => {\n return !!fileURL && fileURL.startsWith('/') ? `${window.strapi.backendURL}${fileURL}` : fileURL;\n};\n\nexport { prefixFileUrlWithBackendUrl };\n","import { useEffect, useState } from 'react';\n\nexport function useDebounce<TValue>(value: TValue, delay: number): TValue {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n}\n","import { generateNKeysBetween } from 'fractional-indexing';\n\nimport {\n RelationResult as RelResult,\n FindAvailable,\n FindExisting,\n} from '../../../shared/contracts/relations';\n\nimport { contentManagerApi } from './api';\n\nimport type { Modules } from '@strapi/types';\nimport type { errors } from '@strapi/utils';\n\ninterface RelationResult extends RelResult {\n __temp_key__: string;\n}\n\ntype GetRelationsResponse =\n | {\n results: Array<RelationResult>;\n pagination: {\n page: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['page']>;\n pageSize: NonNullable<Modules.EntityService.Params.Pagination.PageNotation['pageSize']>;\n pageCount: number;\n total: number;\n } | null;\n error?: never;\n }\n | {\n results?: never;\n pagination?: never;\n error: errors.ApplicationError | errors.YupValidationError;\n };\n\nconst relationsApi = contentManagerApi.injectEndpoints({\n endpoints: (build) => ({\n getRelations: build.query<\n GetRelationsResponse,\n FindExisting.Params & {\n params?: FindExisting.Request['query'];\n }\n >({\n query: ({ model, id, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${id}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n id: queryArgs.id,\n targetField: queryArgs.targetField,\n locale: queryArgs.params?.locale,\n status: queryArgs.params?.status,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n *\n * Push new items at the beginning as latest items are shown first\n */\n currentCache.results = [\n ...prepareTempKeys(newItems.results, currentCache.results),\n ...currentCache.results,\n ];\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = prepareTempKeys(newItems.results);\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindExisting.Response) => {\n if ('results' in response && response.results) {\n return {\n ...response,\n results: prepareTempKeys(response.results.toReversed()),\n };\n } else {\n return response;\n }\n },\n providesTags: ['Relations'],\n }),\n searchRelations: build.query<\n FindAvailable.Response,\n FindAvailable.Params & {\n params?: FindAvailable.Request['query'];\n }\n >({\n query: ({ model, targetField, params }) => {\n return {\n url: `/content-manager/relations/${model}/${targetField}`,\n method: 'GET',\n config: {\n params,\n },\n };\n },\n serializeQueryArgs: (args) => {\n const { endpointName, queryArgs } = args;\n return {\n endpointName,\n model: queryArgs.model,\n targetField: queryArgs.targetField,\n _q: queryArgs.params?._q,\n idsToOmit: queryArgs.params?.idsToOmit,\n idsToInclude: queryArgs.params?.idsToInclude,\n };\n },\n merge: (currentCache, newItems) => {\n if (currentCache.pagination && newItems.pagination) {\n if (currentCache.pagination.page < newItems.pagination.page) {\n /**\n * Relations will always have unique IDs, so we can therefore assume\n * that we only need to push the new items to the cache.\n */\n const existingIds = currentCache.results.map((item) => item.documentId);\n const uniqueNewItems = newItems.results.filter(\n (item) => !existingIds.includes(item.documentId)\n );\n currentCache.results.push(...uniqueNewItems);\n currentCache.pagination = newItems.pagination;\n } else if (newItems.pagination.page === 1) {\n /**\n * We're resetting the relations\n */\n currentCache.results = newItems.results;\n currentCache.pagination = newItems.pagination;\n }\n }\n },\n forceRefetch({ currentArg, previousArg }) {\n if (!currentArg?.params && !previousArg?.params) {\n return false;\n }\n\n return (\n currentArg?.params?.page !== previousArg?.params?.page ||\n currentArg?.params?.pageSize !== previousArg?.params?.pageSize\n );\n },\n transformResponse: (response: FindAvailable.Response) => {\n if (response.results) {\n return {\n ...response,\n results: response.results,\n };\n } else {\n return response;\n }\n },\n }),\n }),\n});\n\n/**\n * @internal\n * @description Adds a `__temp_key__` to each relation item. This gives us\n * a stable identifier regardless of it's ids etc. that we can then use for drag and drop.\n */\nconst prepareTempKeys = (relations: RelResult[], existingRelations: RelationResult[] = []) => {\n const [firstItem] = existingRelations.slice(0);\n const keys = generateNKeysBetween(null, firstItem?.__temp_key__ ?? null, relations.length);\n\n return relations.map((datum, index) => ({\n ...datum,\n __temp_key__: keys[index],\n }));\n};\n\nconst { useGetRelationsQuery, useLazySearchRelationsQuery } = relationsApi;\n\nexport { useGetRelationsQuery, useLazySearchRelationsQuery };\nexport type { RelationResult };\n","import type { MainField } from './attributes';\nimport type { RelationResult } from '../../../shared/contracts/relations';\n\n/**\n * @internal\n * @description Get the label of a relation, the contract has [key: string]: unknown,\n * so we need to check if the mainFieldKey is defined and if the relation has a value\n * under that property. If it does, we then verify it's type of string and return it.\n *\n * We fallback to the documentId.\n */\nconst getRelationLabel = (relation: RelationResult, mainField?: MainField): string => {\n const label = mainField && relation[mainField.name] ? relation[mainField.name] : null;\n\n if (typeof label === 'string') {\n return label;\n }\n\n return relation.documentId;\n};\n\nexport { getRelationLabel };\n","import { useEffect, useRef } from 'react';\n\nexport const usePrev = <T>(value: T): T | undefined => {\n const ref = useRef<T>();\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n};\n"],"names":["prefixFileUrlWithBackendUrl","fileURL","startsWith","window","strapi","backendURL","useDebounce","value","delay","debouncedValue","setDebouncedValue","useState","useEffect","handler","setTimeout","clearTimeout","relationsApi","contentManagerApi","injectEndpoints","endpoints","build","getRelations","query","model","id","targetField","params","url","method","config","serializeQueryArgs","args","endpointName","queryArgs","locale","status","merge","currentCache","newItems","pagination","page","results","prepareTempKeys","forceRefetch","currentArg","previousArg","pageSize","transformResponse","response","toReversed","providesTags","searchRelations","_q","idsToOmit","idsToInclude","existingIds","map","item","documentId","uniqueNewItems","filter","includes","push","relations","existingRelations","firstItem","slice","keys","generateNKeysBetween","__temp_key__","length","datum","index","useGetRelationsQuery","useLazySearchRelationsQuery","getRelationLabel","relation","mainField","label","name","usePrev","ref","useRef","current"],"mappings":"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"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var groups = "Nhóm";
|
|
4
|
+
var pageNotFound = "Không Tìm Thấy Trang";
|
|
5
|
+
var vi = {
|
|
6
|
+
"EditRelations.title": "Dữ Liệu Quan Hệ",
|
|
7
|
+
"components.AddFilterCTA.add": "Lọc",
|
|
8
|
+
"components.AddFilterCTA.hide": "Lọc",
|
|
9
|
+
"components.DraggableAttr.edit": "Nhấn để chỉnh sửa",
|
|
10
|
+
"components.EmptyAttributesBlock.button": "Đến trang cài đặt",
|
|
11
|
+
"components.EmptyAttributesBlock.description": "Bạn có thể thay đổi cài đặt của bạn",
|
|
12
|
+
"components.FilterOptions.button.apply": "Áp dụng",
|
|
13
|
+
"components.FiltersPickWrapper.PluginHeader.actions.apply": "Áp dụng",
|
|
14
|
+
"components.FiltersPickWrapper.PluginHeader.actions.clearAll": "Xóa tất cả",
|
|
15
|
+
"components.FiltersPickWrapper.PluginHeader.description": "Cài đặt các điều kiện để áp dụng cho việc lọc các bản ghi",
|
|
16
|
+
"components.FiltersPickWrapper.PluginHeader.title.filter": "Các bộ lọc",
|
|
17
|
+
"components.FiltersPickWrapper.hide": "Ẩn đi",
|
|
18
|
+
"components.LimitSelect.itemsPerPage": "Số lượng bản ghi trong trang",
|
|
19
|
+
"components.Search.placeholder": "Tìm một bản ghi...",
|
|
20
|
+
"components.TableDelete.delete": "Xóa tất cả",
|
|
21
|
+
"components.TableDelete.deleteSelected": "Xóa đã chọn",
|
|
22
|
+
"components.TableEmpty.withFilters": "Không có {contentType} với bộ lọc được dùng",
|
|
23
|
+
"components.TableEmpty.withSearch": "Không có {contentType} tương ứng với tìm kiếm ({search})...",
|
|
24
|
+
"components.TableEmpty.withoutFilter": "Không có {contentType}...",
|
|
25
|
+
"containers.Edit.Link.Layout": "Cấu hình bố cục",
|
|
26
|
+
"containers.Edit.addAnItem": "Thêm một bản ghi...",
|
|
27
|
+
"containers.Edit.clickToJump": "Nhấn để nhảy vào bản ghi",
|
|
28
|
+
"containers.Edit.delete": "Xóa",
|
|
29
|
+
"containers.Edit.editing": "Đăng sửa...",
|
|
30
|
+
"containers.Edit.pluginHeader.title.new": "Tạo một Bản ghi",
|
|
31
|
+
"containers.Edit.reset": "Làm lại",
|
|
32
|
+
"containers.Edit.returnList": "Trở về danh sách",
|
|
33
|
+
"containers.Edit.seeDetails": "Chi tiết",
|
|
34
|
+
"containers.Edit.submit": "Lưu",
|
|
35
|
+
"containers.EditView.notification.errors": "Bảng nhập liệu có vài lỗi",
|
|
36
|
+
"containers.Home.introduction": "Để chỉnh sửa các bản ghi của bạn, đi đến liên kết ở menu bên trái. Plugin này chưa có cách thích hợp để chỉnh sửa các cài đặt và nó vẫn đang được phát triển.",
|
|
37
|
+
"containers.Home.pluginHeaderDescription": "Quản lý các bản ghi thông qua một giao diện mạnh và đẹp.",
|
|
38
|
+
"containers.Home.pluginHeaderTitle": "Quản Lý Nội Dung",
|
|
39
|
+
"containers.List.errorFetchRecords": "Lỗi",
|
|
40
|
+
"containers.list.displayedFields": "Các trường đã được trình bày",
|
|
41
|
+
"containers.SettingPage.attributes": "Các trường thuộc tính",
|
|
42
|
+
"containers.SettingPage.attributes.description": "Định nghĩa thứ tự các thuộc tính",
|
|
43
|
+
"containers.SettingPage.editSettings.description": "Kéo & thả các trường để xây dựng bố cục",
|
|
44
|
+
"containers.SettingPage.editSettings.entry.title": "Tên bản ghi",
|
|
45
|
+
"containers.SettingPage.editSettings.entry.title.description": "Cài đặt trường được trình bày trong bản ghi của bạn",
|
|
46
|
+
"containers.SettingPage.editSettings.title": "Chỉnh sửa hiển thị (các cài đặt)",
|
|
47
|
+
"containers.SettingPage.layout": "Bố cục",
|
|
48
|
+
"containers.SettingPage.listSettings.title": "Hiển thị danh sách (các cài đặt)",
|
|
49
|
+
"containers.SettingPage.settings": "Các cài đặt",
|
|
50
|
+
"containers.SettingViewModel.pluginHeader.title": "Quản Lý Nội Dung - {name}",
|
|
51
|
+
"containers.SettingsPage.Block.contentType.description": "Cấu hình các cài đặt riêng",
|
|
52
|
+
"containers.SettingsPage.Block.generalSettings.title": "Chung",
|
|
53
|
+
"containers.SettingsView.list.title": "Các cấu hình về Trình bày",
|
|
54
|
+
"emptyAttributes.title": "Chưa có trường nào hết",
|
|
55
|
+
"error.attribute.key.taken": "Giá trị này đã tồn tại",
|
|
56
|
+
"error.attribute.sameKeyAndName": "Không thể bằng nhau",
|
|
57
|
+
"error.attribute.taken": "Tên trường này đã tồn tại",
|
|
58
|
+
"error.contentTypeName.taken": "Tên này đã tồn tại",
|
|
59
|
+
"error.model.fetch": "Một lỗi đã xảy ra trong khi lấy về cấu hình nội dung.",
|
|
60
|
+
"error.record.create": "Một lỗi đã xảy ra trong khi tạo bản ghi.",
|
|
61
|
+
"error.record.delete": "Một lỗi đã xảy ra trong khi xoá bản ghi.",
|
|
62
|
+
"error.record.fetch": "Một lỗi đã xảy ra trong khi lấy về bản ghi.",
|
|
63
|
+
"error.record.update": "Một lỗi đã xảy ra trong khi cập nhật bản ghi.",
|
|
64
|
+
"error.records.count": "Một lỗi đã xảy ra trong khi lấy về số lượng bản ghi.",
|
|
65
|
+
"error.records.fetch": "Một lỗi đã xảy ra trong khi lấy về các bản ghi.",
|
|
66
|
+
"error.schema.generation": "Một lỗi đã xảy ra trong khi quá trình tạo ra lược đồ.",
|
|
67
|
+
"error.validation.json": "Đây không phải là định dạng JSON",
|
|
68
|
+
"error.validation.max": "Giá trị quá cao.",
|
|
69
|
+
"error.validation.maxLength": "Giá trị quá dài.",
|
|
70
|
+
"error.validation.min": "Giá trị quá thấp.",
|
|
71
|
+
"error.validation.minLength": "Giá trị quá ngắn.",
|
|
72
|
+
"error.validation.minSupMax": "Không thể là trên mũ",
|
|
73
|
+
"error.validation.regex": "Giá trị không khới với regex.",
|
|
74
|
+
"error.validation.required": "Giá trị này bắt buộc.",
|
|
75
|
+
"form.Input.bulkActions": "Kích hoạt hoạt động gộp",
|
|
76
|
+
"form.Input.defaultSort": "Thuộc tính sắp xếp mặc định",
|
|
77
|
+
"form.Input.description": "Mô tả",
|
|
78
|
+
"form.Input.description.placeholder": "Tên hiển thị trong hồ sơ",
|
|
79
|
+
"form.Input.editable": "Trường chỉnh sửa được",
|
|
80
|
+
"form.Input.filters": "Kích hoạt các bộ lọc",
|
|
81
|
+
"form.Input.label": "Nhãn",
|
|
82
|
+
"form.Input.label.inputDescription": "Giá trị này ghi đè lên nhãn được trình bày trong phần đầu của bảng",
|
|
83
|
+
"form.Input.pageEntries": "Bản ghi trong trang",
|
|
84
|
+
"form.Input.placeholder": "Chỗ chờ giá trị",
|
|
85
|
+
"form.Input.placeholder.placeholder": "Giá trị tuyệt vời của tôi",
|
|
86
|
+
"form.Input.search": "Kích hoạt tìm kiếm",
|
|
87
|
+
"form.Input.search.field": "Kích hoạt tìm kiếm cho trường này",
|
|
88
|
+
"form.Input.sort.field": "Kích hoạt sắp xếp trên trường này",
|
|
89
|
+
"form.Input.wysiwyg": "Trình bày như là WYSIWYG",
|
|
90
|
+
"global.displayedFields": "Các Trường Đã Được Trình Bày",
|
|
91
|
+
groups: groups,
|
|
92
|
+
"groups.numbered": "Nhóm ({number})",
|
|
93
|
+
"notification.error.displayedFields": "Bạn cần trình bày ít nhất một trường",
|
|
94
|
+
"notification.error.relationship.fetch": "Một lỗi đã xảy ra trong khi lấy về mối quan hệ.",
|
|
95
|
+
"notification.info.SettingPage.disableSort": "Bạn cần có một thuộc tính được phép sắp xếp",
|
|
96
|
+
"notification.info.minimumFields": "Bạn cần hiển thị ít nhất một trường",
|
|
97
|
+
"notification.upload.error": "Một lỗi đã xảy ra trong khi tải lên các tập tin của bạn",
|
|
98
|
+
pageNotFound: pageNotFound,
|
|
99
|
+
"plugin.description.long": "Cách nhanh để xem, sửa và xoá dữ liệu trong cơ sở dữ liệu của bạn.",
|
|
100
|
+
"plugin.description.short": "Cách nhanh để xem, sửa và xoá dữ liệu trong cơ sở dữ liệu của bạn.",
|
|
101
|
+
"popUpWarning.bodyMessage.contentType.delete": "Bạn có chắc là muốn xoá bản ghi này không?",
|
|
102
|
+
"popUpWarning.bodyMessage.contentType.delete.all": "Bạn có chắc là muốn xoá các bản ghi này không?",
|
|
103
|
+
"popUpWarning.warning.cancelAllSettings": "Bạn có chắc là muốn hủy bỏ các thay đổi của bạn?",
|
|
104
|
+
"popUpWarning.warning.updateAllSettings": "Nó sẽ thay đổi tất cả cài đặt của bạn",
|
|
105
|
+
"success.record.delete": "Đã xoá",
|
|
106
|
+
"success.record.save": "Đã lưu"
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
exports.default = vi;
|
|
110
|
+
exports.groups = groups;
|
|
111
|
+
exports.pageNotFound = pageNotFound;
|
|
112
|
+
//# sourceMappingURL=vi-BGr1X_HZ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vi-
|
|
1
|
+
{"version":3,"file":"vi-BGr1X_HZ.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|