@strapi/content-manager 0.0.0-experimental.3d525b3d2d44b055469a7694f6aaecfe7145b9e6 → 0.0.0-experimental.3e198200d32a65f20bd375086da6b1501e469c51
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.js → CardDragPreview-DwuraT0K.mjs} +1 -1
- package/dist/admin/chunks/CardDragPreview-DwuraT0K.mjs.map +1 -0
- package/dist/admin/chunks/{ComponentConfigurationPage-D4UH2BN4.js → ComponentConfigurationPage-DDybTE9k.js} +6 -6
- package/dist/admin/chunks/{ComponentConfigurationPage-D4UH2BN4.js.map → ComponentConfigurationPage-DDybTE9k.js.map} +1 -1
- package/dist/admin/chunks/{ComponentConfigurationPage-BSCYuG9k.js → ComponentConfigurationPage-Dtpjt9kW.mjs} +9 -9
- package/dist/admin/chunks/ComponentConfigurationPage-Dtpjt9kW.mjs.map +1 -0
- package/dist/admin/chunks/{ComponentIcon-BZcTc4rj.js → ComponentIcon-BZcTc4rj.mjs} +1 -1
- package/dist/admin/chunks/ComponentIcon-BZcTc4rj.mjs.map +1 -0
- package/dist/admin/chunks/{EditConfigurationPage-DAwy6frt.js → EditConfigurationPage-DAbUlQVr.mjs} +9 -9
- package/dist/admin/chunks/EditConfigurationPage-DAbUlQVr.mjs.map +1 -0
- package/dist/admin/chunks/{EditConfigurationPage-C6jesdjb.js → EditConfigurationPage-D_otE6ca.js} +6 -6
- package/dist/admin/chunks/{EditConfigurationPage-C6jesdjb.js.map → EditConfigurationPage-D_otE6ca.js.map} +1 -1
- package/dist/admin/chunks/EditViewPage-CILYfIn8.mjs +318 -0
- package/dist/admin/chunks/EditViewPage-CILYfIn8.mjs.map +1 -0
- package/dist/admin/chunks/EditViewPage-Cd7iCrfo.js +341 -0
- package/dist/admin/chunks/EditViewPage-Cd7iCrfo.js.map +1 -0
- package/dist/admin/chunks/{FieldTypeIcon-BY6MrVF4.js → FieldTypeIcon-BY6MrVF4.mjs} +1 -1
- package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.mjs.map +1 -0
- package/dist/admin/chunks/{Form-Bwz2xTe9.js → Form-CER6uyhc.mjs} +5 -5
- package/dist/admin/chunks/Form-CER6uyhc.mjs.map +1 -0
- package/dist/admin/chunks/{Form-CzUHBbLw.js → Form-D6ROqMO7.js} +5 -5
- package/dist/admin/chunks/{Form-CzUHBbLw.js.map → Form-D6ROqMO7.js.map} +1 -1
- package/dist/admin/chunks/{History-5wpSVAu9.js → History-CORGJtti.mjs} +68 -15
- package/dist/admin/chunks/History-CORGJtti.mjs.map +1 -0
- package/dist/admin/chunks/{History-Dax5KiyG.js → History-DECiFmYO.js} +67 -14
- package/dist/admin/chunks/History-DECiFmYO.js.map +1 -0
- package/dist/admin/chunks/{Input-Dr7YL5Sv.js → Input-D3aI7eJe.js} +2201 -478
- package/dist/admin/chunks/Input-D3aI7eJe.js.map +1 -0
- package/dist/admin/chunks/{Input-Csrk7S5E.js → Input-hScqTWvW.mjs} +2276 -557
- package/dist/admin/chunks/Input-hScqTWvW.mjs.map +1 -0
- package/dist/admin/chunks/{ListConfigurationPage-Bp1dKd-U.js → ListConfigurationPage-Bgya7skT.mjs} +8 -8
- package/dist/admin/chunks/ListConfigurationPage-Bgya7skT.mjs.map +1 -0
- package/dist/admin/chunks/{ListConfigurationPage-oFwCMRWP.js → ListConfigurationPage-BiKI9-fH.js} +7 -7
- package/dist/admin/chunks/{ListConfigurationPage-oFwCMRWP.js.map → ListConfigurationPage-BiKI9-fH.js.map} +1 -1
- package/dist/admin/chunks/{ListViewPage-DfHXfD_c.js → ListViewPage-B3Frxm6y.mjs} +5 -5
- package/dist/admin/chunks/ListViewPage-B3Frxm6y.mjs.map +1 -0
- package/dist/admin/chunks/{ListViewPage-CkPfXiex.js → ListViewPage-BfFRaMK8.js} +8 -8
- package/dist/admin/chunks/{ListViewPage-CkPfXiex.js.map → ListViewPage-BfFRaMK8.js.map} +1 -1
- package/dist/admin/chunks/{NoContentTypePage-BLWccskh.js → NoContentTypePage-B2rBgAB9.mjs} +3 -2
- package/dist/admin/chunks/NoContentTypePage-B2rBgAB9.mjs.map +1 -0
- package/dist/admin/chunks/{NoContentTypePage-BgTBqH4R.js → NoContentTypePage-C-WQTH0F.js} +3 -2
- package/dist/admin/chunks/{NoContentTypePage-BLWccskh.js.map → NoContentTypePage-C-WQTH0F.js.map} +1 -1
- package/dist/admin/chunks/{NoPermissionsPage-CGC__b-5.js → NoPermissionsPage-BNXoY-4Q.mjs} +3 -2
- package/dist/admin/chunks/NoPermissionsPage-BNXoY-4Q.mjs.map +1 -0
- package/dist/admin/chunks/{NoPermissionsPage-CUnJ9nZ8.js → NoPermissionsPage-D0T5uTtv.js} +3 -2
- package/dist/admin/chunks/{NoPermissionsPage-CGC__b-5.js.map → NoPermissionsPage-D0T5uTtv.js.map} +1 -1
- package/dist/admin/chunks/Preview-BvCbqXQY.js +617 -0
- package/dist/admin/chunks/Preview-BvCbqXQY.js.map +1 -0
- package/dist/admin/chunks/Preview-D4L4y24d.mjs +595 -0
- package/dist/admin/chunks/Preview-D4L4y24d.mjs.map +1 -0
- package/dist/admin/chunks/{ar-DckYq_WK.js → ar-DckYq_WK.mjs} +1 -1
- package/dist/admin/chunks/ar-DckYq_WK.mjs.map +1 -0
- package/dist/admin/chunks/{ca-DviY7mRj.js → ca-DviY7mRj.mjs} +1 -1
- package/dist/admin/chunks/ca-DviY7mRj.mjs.map +1 -0
- package/dist/admin/chunks/{cs-C7OSYFQ7.js → cs-C7OSYFQ7.mjs} +1 -1
- package/dist/admin/chunks/cs-C7OSYFQ7.mjs.map +1 -0
- package/dist/admin/chunks/{de-5QRlDHyR.js → de-5QRlDHyR.mjs} +1 -1
- package/dist/admin/chunks/de-5QRlDHyR.mjs.map +1 -0
- package/dist/admin/chunks/{en-LfhocNG2.js → en-C2zEwS3-.mjs} +6 -1
- package/dist/admin/chunks/en-C2zEwS3-.mjs.map +1 -0
- package/dist/admin/chunks/{en-C1CjdAtC.js → en-G976DLsg.js} +6 -1
- package/dist/admin/chunks/{en-LfhocNG2.js.map → en-G976DLsg.js.map} +1 -1
- package/dist/admin/chunks/{es-DkoWSExG.js → es-DkoWSExG.mjs} +1 -1
- package/dist/admin/chunks/es-DkoWSExG.mjs.map +1 -0
- package/dist/admin/chunks/{eu-BG1xX7HK.js → eu-BG1xX7HK.mjs} +1 -1
- package/dist/admin/chunks/eu-BG1xX7HK.mjs.map +1 -0
- package/dist/admin/chunks/{fr-CFdRaRVj.js → fr-CFdRaRVj.mjs} +1 -1
- package/dist/admin/chunks/fr-CFdRaRVj.mjs.map +1 -0
- package/dist/admin/chunks/{gu-D5MMMXRs.js → gu-D5MMMXRs.mjs} +1 -1
- package/dist/admin/chunks/gu-D5MMMXRs.mjs.map +1 -0
- package/dist/admin/chunks/{hi-lp17SCjr.js → hi-lp17SCjr.mjs} +1 -1
- package/dist/admin/chunks/hi-lp17SCjr.mjs.map +1 -0
- package/dist/admin/chunks/{hooks-DMvik5y_.js → hooks-DMvik5y_.mjs} +1 -1
- package/dist/admin/chunks/hooks-DMvik5y_.mjs.map +1 -0
- package/dist/admin/chunks/{hu-CLka1U2C.js → hu-CLka1U2C.mjs} +1 -1
- package/dist/admin/chunks/hu-CLka1U2C.mjs.map +1 -0
- package/dist/admin/chunks/{id-USfY9m1g.js → id-USfY9m1g.mjs} +1 -1
- package/dist/admin/chunks/id-USfY9m1g.mjs.map +1 -0
- package/dist/admin/chunks/{index-BhFoy2kH.js → index-CB_ymrXf.js} +261 -144
- package/dist/admin/chunks/index-CB_ymrXf.js.map +1 -0
- package/dist/admin/chunks/{index-2cT6u68c.js → index-DsOgMEE-.mjs} +287 -174
- package/dist/admin/chunks/index-DsOgMEE-.mjs.map +1 -0
- package/dist/admin/chunks/{it-BAHrwmYS.js → it-BAHrwmYS.mjs} +1 -1
- package/dist/admin/chunks/it-BAHrwmYS.mjs.map +1 -0
- package/dist/admin/chunks/{ja-BWKmBJFT.js → ja-BWKmBJFT.mjs} +1 -1
- package/dist/admin/chunks/ja-BWKmBJFT.mjs.map +1 -0
- package/dist/admin/chunks/{ko-CgADGBNt.js → ko-CgADGBNt.mjs} +1 -1
- package/dist/admin/chunks/ko-CgADGBNt.mjs.map +1 -0
- package/dist/admin/chunks/{layout-CsDX52Zb.js → layout-C8AQHDvk.mjs} +81 -7
- package/dist/admin/chunks/layout-C8AQHDvk.mjs.map +1 -0
- package/dist/admin/chunks/{layout-CDvvkRib.js → layout-DGlrPEkC.js} +87 -13
- package/dist/admin/chunks/layout-DGlrPEkC.js.map +1 -0
- package/dist/admin/chunks/{ml-CnhCfOn_.js → ml-CnhCfOn_.mjs} +1 -1
- package/dist/admin/chunks/ml-CnhCfOn_.mjs.map +1 -0
- package/dist/admin/chunks/{ms-Bh09NFff.js → ms-Bh09NFff.mjs} +1 -1
- package/dist/admin/chunks/ms-Bh09NFff.mjs.map +1 -0
- package/dist/admin/chunks/{nl-C8HYflTc.js → nl-C8HYflTc.mjs} +1 -1
- package/dist/admin/chunks/nl-C8HYflTc.mjs.map +1 -0
- package/dist/admin/chunks/{useDragAndDrop-gcqEJMnO.js → objects-BJTP843m.js} +73 -1
- package/dist/admin/chunks/objects-BJTP843m.js.map +1 -0
- package/dist/admin/chunks/{useDragAndDrop-HYwNDExe.js → objects-D2z-IJgu.mjs} +72 -2
- package/dist/admin/chunks/objects-D2z-IJgu.mjs.map +1 -0
- package/dist/admin/chunks/{pl-MFCZJZuZ.js → pl-MFCZJZuZ.mjs} +1 -1
- package/dist/admin/chunks/pl-MFCZJZuZ.mjs.map +1 -0
- package/dist/admin/chunks/{pt-BR-CcotyBGJ.js → pt-BR-CcotyBGJ.mjs} +1 -1
- package/dist/admin/chunks/pt-BR-CcotyBGJ.mjs.map +1 -0
- package/dist/admin/chunks/{pt-HbmgeiYO.js → pt-HbmgeiYO.mjs} +1 -1
- package/dist/admin/chunks/pt-HbmgeiYO.mjs.map +1 -0
- package/dist/admin/chunks/{ru-CB4BUyQp.js → ru-CB4BUyQp.mjs} +1 -1
- package/dist/admin/chunks/{ru-CB4BUyQp.js.map → ru-CB4BUyQp.mjs.map} +1 -1
- package/dist/admin/chunks/{sa-n_aPA-pU.js → sa-n_aPA-pU.mjs} +1 -1
- package/dist/admin/chunks/sa-n_aPA-pU.mjs.map +1 -0
- package/dist/admin/chunks/{sk-tn_BDjE2.js → sk-tn_BDjE2.mjs} +1 -1
- package/dist/admin/chunks/sk-tn_BDjE2.mjs.map +1 -0
- package/dist/admin/chunks/{sv-cq4ZrQRd.js → sv-cq4ZrQRd.mjs} +1 -1
- package/dist/admin/chunks/sv-cq4ZrQRd.mjs.map +1 -0
- package/dist/admin/chunks/{th-mUH7hEtc.js → th-mUH7hEtc.mjs} +1 -1
- package/dist/admin/chunks/th-mUH7hEtc.mjs.map +1 -0
- package/dist/admin/chunks/{tr-Yt38daxh.js → tr-Yt38daxh.mjs} +1 -1
- package/dist/admin/chunks/tr-Yt38daxh.mjs.map +1 -0
- package/dist/admin/chunks/uk-BtM6WnaE.mjs +313 -0
- package/dist/admin/chunks/uk-BtM6WnaE.mjs.map +1 -0
- package/dist/admin/chunks/uk-DB6OgySY.js +318 -0
- package/dist/admin/chunks/{en-C1CjdAtC.js.map → uk-DB6OgySY.js.map} +1 -1
- package/dist/admin/chunks/{relations-LR7_V8ZN.js → usePrev-BJk2lXYH.mjs} +18 -4
- package/dist/admin/chunks/usePrev-BJk2lXYH.mjs.map +1 -0
- package/dist/admin/chunks/{relations--SHAQ-Ch.js → usePrev-BXNyqdUp.js} +18 -2
- package/dist/admin/chunks/usePrev-BXNyqdUp.js.map +1 -0
- package/dist/admin/chunks/{vi-CvBGlTjr.js → vi-CvBGlTjr.mjs} +1 -1
- package/dist/admin/chunks/vi-CvBGlTjr.mjs.map +1 -0
- package/dist/admin/chunks/{zh-BmF-sHaT.js → zh-BmF-sHaT.mjs} +1 -1
- package/dist/admin/chunks/zh-BmF-sHaT.mjs.map +1 -0
- package/dist/admin/chunks/{zh-Hans-CI0HKio3.js → zh-Hans-DEAhqI3x.mjs} +3 -2
- package/dist/admin/chunks/{zh-Hans-JVK9x7xr.js.map → zh-Hans-DEAhqI3x.mjs.map} +1 -1
- package/dist/admin/chunks/{zh-Hans-JVK9x7xr.js → zh-Hans-Djj7eGpO.js} +3 -2
- package/dist/admin/chunks/{zh-Hans-CI0HKio3.js.map → zh-Hans-Djj7eGpO.js.map} +1 -1
- package/dist/admin/index.js +2 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +2 -1
- 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 -0
- package/dist/admin/src/features/DocumentContext.d.ts +53 -0
- package/dist/admin/src/features/DocumentRBAC.d.ts +3 -2
- package/dist/admin/src/hooks/useDocument.d.ts +2 -0
- package/dist/admin/src/hooks/useDocumentActions.d.ts +2 -1
- package/dist/admin/src/index.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +2 -1
- 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 +49 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +8 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/{Relations.d.ts → Relations/Relations.d.ts} +8 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.d.ts +1 -2
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +9 -3
- package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +7 -4
- package/dist/admin/src/preview/components/PreviewHeader.d.ts +1 -2
- package/dist/admin/src/preview/pages/Preview.d.ts +2 -0
- package/dist/server/index.js +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +1 -1
- package/dist/server/index.mjs.map +1 -1
- package/package.json +9 -9
- package/dist/admin/chunks/CardDragPreview-DwuraT0K.js.map +0 -1
- package/dist/admin/chunks/ComponentConfigurationPage-BSCYuG9k.js.map +0 -1
- package/dist/admin/chunks/ComponentIcon-BZcTc4rj.js.map +0 -1
- package/dist/admin/chunks/EditConfigurationPage-DAwy6frt.js.map +0 -1
- package/dist/admin/chunks/EditViewPage-BZuZJr0N.js +0 -265
- package/dist/admin/chunks/EditViewPage-BZuZJr0N.js.map +0 -1
- package/dist/admin/chunks/EditViewPage-D8FDB8_y.js +0 -288
- package/dist/admin/chunks/EditViewPage-D8FDB8_y.js.map +0 -1
- package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.js.map +0 -1
- package/dist/admin/chunks/Form-Bwz2xTe9.js.map +0 -1
- package/dist/admin/chunks/History-5wpSVAu9.js.map +0 -1
- package/dist/admin/chunks/History-Dax5KiyG.js.map +0 -1
- package/dist/admin/chunks/Input-Csrk7S5E.js.map +0 -1
- package/dist/admin/chunks/Input-Dr7YL5Sv.js.map +0 -1
- package/dist/admin/chunks/ListConfigurationPage-Bp1dKd-U.js.map +0 -1
- package/dist/admin/chunks/ListViewPage-DfHXfD_c.js.map +0 -1
- package/dist/admin/chunks/NoContentTypePage-BgTBqH4R.js.map +0 -1
- package/dist/admin/chunks/NoPermissionsPage-CUnJ9nZ8.js.map +0 -1
- package/dist/admin/chunks/Preview-DKUCY7o_.js +0 -504
- package/dist/admin/chunks/Preview-DKUCY7o_.js.map +0 -1
- package/dist/admin/chunks/Preview-uBnW2CsI.js +0 -482
- package/dist/admin/chunks/Preview-uBnW2CsI.js.map +0 -1
- package/dist/admin/chunks/Relations-BgtVC-3t.js +0 -827
- package/dist/admin/chunks/Relations-BgtVC-3t.js.map +0 -1
- package/dist/admin/chunks/Relations-CzrnshXy.js +0 -853
- package/dist/admin/chunks/Relations-CzrnshXy.js.map +0 -1
- package/dist/admin/chunks/ar-DckYq_WK.js.map +0 -1
- package/dist/admin/chunks/ca-DviY7mRj.js.map +0 -1
- package/dist/admin/chunks/cs-C7OSYFQ7.js.map +0 -1
- package/dist/admin/chunks/de-5QRlDHyR.js.map +0 -1
- package/dist/admin/chunks/es-DkoWSExG.js.map +0 -1
- package/dist/admin/chunks/eu-BG1xX7HK.js.map +0 -1
- package/dist/admin/chunks/fr-CFdRaRVj.js.map +0 -1
- package/dist/admin/chunks/gu-D5MMMXRs.js.map +0 -1
- package/dist/admin/chunks/hi-lp17SCjr.js.map +0 -1
- package/dist/admin/chunks/hooks-DMvik5y_.js.map +0 -1
- package/dist/admin/chunks/hu-CLka1U2C.js.map +0 -1
- package/dist/admin/chunks/id-USfY9m1g.js.map +0 -1
- package/dist/admin/chunks/index-2cT6u68c.js.map +0 -1
- package/dist/admin/chunks/index-BhFoy2kH.js.map +0 -1
- package/dist/admin/chunks/it-BAHrwmYS.js.map +0 -1
- package/dist/admin/chunks/ja-BWKmBJFT.js.map +0 -1
- package/dist/admin/chunks/ko-CgADGBNt.js.map +0 -1
- package/dist/admin/chunks/layout-CDvvkRib.js.map +0 -1
- package/dist/admin/chunks/layout-CsDX52Zb.js.map +0 -1
- package/dist/admin/chunks/ml-CnhCfOn_.js.map +0 -1
- package/dist/admin/chunks/ms-Bh09NFff.js.map +0 -1
- package/dist/admin/chunks/nl-C8HYflTc.js.map +0 -1
- package/dist/admin/chunks/objects-C3EebVVe.js +0 -76
- package/dist/admin/chunks/objects-C3EebVVe.js.map +0 -1
- package/dist/admin/chunks/objects-wl73iEma.js +0 -73
- package/dist/admin/chunks/objects-wl73iEma.js.map +0 -1
- package/dist/admin/chunks/pl-MFCZJZuZ.js.map +0 -1
- package/dist/admin/chunks/pt-BR-CcotyBGJ.js.map +0 -1
- package/dist/admin/chunks/pt-HbmgeiYO.js.map +0 -1
- package/dist/admin/chunks/relations--SHAQ-Ch.js.map +0 -1
- package/dist/admin/chunks/relations-LR7_V8ZN.js.map +0 -1
- package/dist/admin/chunks/sa-n_aPA-pU.js.map +0 -1
- package/dist/admin/chunks/sk-tn_BDjE2.js.map +0 -1
- package/dist/admin/chunks/sv-cq4ZrQRd.js.map +0 -1
- package/dist/admin/chunks/th-mUH7hEtc.js.map +0 -1
- package/dist/admin/chunks/tr-Yt38daxh.js.map +0 -1
- package/dist/admin/chunks/uk-B24MoTVg.js +0 -145
- package/dist/admin/chunks/uk-B24MoTVg.js.map +0 -1
- package/dist/admin/chunks/uk-Cpgmm7gE.js +0 -140
- package/dist/admin/chunks/uk-Cpgmm7gE.js.map +0 -1
- package/dist/admin/chunks/useDragAndDrop-HYwNDExe.js.map +0 -1
- package/dist/admin/chunks/useDragAndDrop-gcqEJMnO.js.map +0 -1
- package/dist/admin/chunks/usePrev-Bjw2dhmq.js +0 -18
- package/dist/admin/chunks/usePrev-Bjw2dhmq.js.map +0 -1
- package/dist/admin/chunks/usePrev-DIYl-IAL.js +0 -21
- package/dist/admin/chunks/usePrev-DIYl-IAL.js.map +0 -1
- package/dist/admin/chunks/vi-CvBGlTjr.js.map +0 -1
- package/dist/admin/chunks/zh-BmF-sHaT.js.map +0 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/Blocks/utils/prismLanguages.d.ts +0 -0
- package/dist/admin/src/preview/components/PreviewContent.d.ts +0 -3
@@ -15,6 +15,7 @@ var pipe = require('lodash/fp/pipe');
|
|
15
15
|
var qs = require('qs');
|
16
16
|
var dateFns = require('date-fns');
|
17
17
|
var toolkit = require('@reduxjs/toolkit');
|
18
|
+
require('prismjs');
|
18
19
|
|
19
20
|
function _interopNamespaceDefault(e) {
|
20
21
|
var n = Object.create(null);
|
@@ -55,6 +56,9 @@ const INJECTION_ZONES = {
|
|
55
56
|
deleteModalAdditionalInfos: [],
|
56
57
|
publishModalAdditionalInfos: [],
|
57
58
|
unpublishModalAdditionalInfos: []
|
59
|
+
},
|
60
|
+
preview: {
|
61
|
+
actions: []
|
58
62
|
}
|
59
63
|
};
|
60
64
|
/**
|
@@ -115,102 +119,6 @@ const DOCUMENT_META_FIELDS = [
|
|
115
119
|
const SINGLE_TYPES = 'single-types';
|
116
120
|
const COLLECTION_TYPES = 'collection-types';
|
117
121
|
|
118
|
-
const [DocumentRBACProvider, useDocumentRBAC] = strapiAdmin.createContext('DocumentRBAC', {
|
119
|
-
canCreate: false,
|
120
|
-
canCreateFields: [],
|
121
|
-
canDelete: false,
|
122
|
-
canPublish: false,
|
123
|
-
canRead: false,
|
124
|
-
canReadFields: [],
|
125
|
-
canUpdate: false,
|
126
|
-
canUpdateFields: [],
|
127
|
-
canUserAction: ()=>false,
|
128
|
-
isLoading: false
|
129
|
-
});
|
130
|
-
/**
|
131
|
-
* @internal This component is not meant to be used outside of the Content Manager plugin.
|
132
|
-
* It depends on knowing the slug/model of the content-type using the params of the URL.
|
133
|
-
* If you do use the hook outside of the context, we default to `false` for all actions.
|
134
|
-
*
|
135
|
-
* It then creates an list of `can{Action}` that are passed to the context for consumption
|
136
|
-
* within the app to enforce RBAC.
|
137
|
-
*/ const DocumentRBAC = ({ children, permissions })=>{
|
138
|
-
const { slug } = reactRouterDom.useParams();
|
139
|
-
if (!slug) {
|
140
|
-
throw new Error('Cannot find the slug param in the URL');
|
141
|
-
}
|
142
|
-
const [{ rawQuery }] = strapiAdmin.useQueryParams();
|
143
|
-
const userPermissions = strapiAdmin.useAuth('DocumentRBAC', (state)=>state.permissions);
|
144
|
-
const contentTypePermissions = React__namespace.useMemo(()=>{
|
145
|
-
const contentTypePermissions = userPermissions.filter((permission)=>permission.subject === slug);
|
146
|
-
return contentTypePermissions.reduce((acc, permission)=>{
|
147
|
-
const [action] = permission.action.split('.').slice(-1);
|
148
|
-
return {
|
149
|
-
...acc,
|
150
|
-
[action]: [
|
151
|
-
permission
|
152
|
-
]
|
153
|
-
};
|
154
|
-
}, {});
|
155
|
-
}, [
|
156
|
-
slug,
|
157
|
-
userPermissions
|
158
|
-
]);
|
159
|
-
const { isLoading, allowedActions } = strapiAdmin.useRBAC(contentTypePermissions, permissions ?? undefined, // TODO: useRBAC context should be typed and built differently
|
160
|
-
// We are passing raw query as context to the hook so that it can
|
161
|
-
// rely on the locale provided from DocumentRBAC for its permission calculations.
|
162
|
-
rawQuery);
|
163
|
-
const canCreateFields = !isLoading && allowedActions.canCreate ? extractAndDedupeFields(contentTypePermissions.create) : [];
|
164
|
-
const canReadFields = !isLoading && allowedActions.canRead ? extractAndDedupeFields(contentTypePermissions.read) : [];
|
165
|
-
const canUpdateFields = !isLoading && allowedActions.canUpdate ? extractAndDedupeFields(contentTypePermissions.update) : [];
|
166
|
-
/**
|
167
|
-
* @description Checks if the user can perform an action on a field based on the field names
|
168
|
-
* provided as the second argument.
|
169
|
-
*/ const canUserAction = React__namespace.useCallback((fieldName, fieldsUserCanAction, fieldType)=>{
|
170
|
-
const name = removeNumericalStrings(fieldName.split('.'));
|
171
|
-
const componentFieldNames = fieldsUserCanAction// filter out fields that aren't components (components are dot separated)
|
172
|
-
.filter((field)=>field.split('.').length > 1);
|
173
|
-
if (fieldType === 'component') {
|
174
|
-
// check if the field name is within any of those arrays
|
175
|
-
return componentFieldNames.some((field)=>{
|
176
|
-
return field.includes(name.join('.'));
|
177
|
-
});
|
178
|
-
}
|
179
|
-
/**
|
180
|
-
* The field is within a component.
|
181
|
-
*/ if (name.length > 1) {
|
182
|
-
return componentFieldNames.includes(name.join('.'));
|
183
|
-
}
|
184
|
-
/**
|
185
|
-
* just a regular field
|
186
|
-
*/ return fieldsUserCanAction.includes(fieldName);
|
187
|
-
}, []);
|
188
|
-
if (isLoading) {
|
189
|
-
return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Page.Loading, {});
|
190
|
-
}
|
191
|
-
return /*#__PURE__*/ jsxRuntime.jsx(DocumentRBACProvider, {
|
192
|
-
isLoading: isLoading,
|
193
|
-
canCreateFields: canCreateFields,
|
194
|
-
canReadFields: canReadFields,
|
195
|
-
canUpdateFields: canUpdateFields,
|
196
|
-
canUserAction: canUserAction,
|
197
|
-
...allowedActions,
|
198
|
-
children: children
|
199
|
-
});
|
200
|
-
};
|
201
|
-
/**
|
202
|
-
* @internal it's really small, but it's used three times in a row and DRY for something this straight forward.
|
203
|
-
*/ const extractAndDedupeFields = (permissions = [])=>permissions.flatMap((permission)=>permission.properties?.fields).filter((field, index, arr)=>arr.indexOf(field) === index && typeof field === 'string');
|
204
|
-
/**
|
205
|
-
* @internal removes numerical strings from arrays.
|
206
|
-
* @example
|
207
|
-
* ```ts
|
208
|
-
* const name = 'a.0.b';
|
209
|
-
* const res = removeNumericalStrings(name.split('.'));
|
210
|
-
* console.log(res); // ['a', 'b']
|
211
|
-
* ```
|
212
|
-
*/ const removeNumericalStrings = (arr)=>arr.filter((item)=>isNaN(Number(item)));
|
213
|
-
|
214
122
|
const BLOCK_LIST_ATTRIBUTE_KEYS = [
|
215
123
|
'__component',
|
216
124
|
'__temp_key__'
|
@@ -1521,7 +1429,7 @@ const checkIfAttributeIsDisplayable = (attribute)=>{
|
|
1521
1429
|
const { toggleNotification } = strapiAdmin.useNotification();
|
1522
1430
|
const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
|
1523
1431
|
const { formatMessage } = reactIntl.useIntl();
|
1524
|
-
const { currentData: data, isLoading: isLoadingDocument, isFetching: isFetchingDocument, error } = useGetDocumentQuery(args, {
|
1432
|
+
const { currentData: data, isLoading: isLoadingDocument, isFetching: isFetchingDocument, error, refetch } = useGetDocumentQuery(args, {
|
1525
1433
|
...opts,
|
1526
1434
|
skip: !args.documentId && args.collectionType !== SINGLE_TYPES || opts?.skip
|
1527
1435
|
});
|
@@ -1620,7 +1528,8 @@ const checkIfAttributeIsDisplayable = (attribute)=>{
|
|
1620
1528
|
schemas,
|
1621
1529
|
validate,
|
1622
1530
|
getTitle,
|
1623
|
-
getInitialFormValues
|
1531
|
+
getInitialFormValues,
|
1532
|
+
refetch
|
1624
1533
|
};
|
1625
1534
|
};
|
1626
1535
|
/* -------------------------------------------------------------------------------------------------
|
@@ -1693,6 +1602,144 @@ const checkIfAttributeIsDisplayable = (attribute)=>{
|
|
1693
1602
|
};
|
1694
1603
|
};
|
1695
1604
|
|
1605
|
+
const [DocumentProvider, useDocumentContext] = strapiAdmin.createContext('DocumentContext');
|
1606
|
+
/**
|
1607
|
+
* TODO: Document in contributor docs, Add unit test
|
1608
|
+
*
|
1609
|
+
* This context provider and its associated hook are used to access a document at its root level
|
1610
|
+
* and expose a function to change the current document being viewed to one of the root level docuemnt's relations.
|
1611
|
+
*
|
1612
|
+
* The useDocumentContext hook exposes:
|
1613
|
+
* - meta: information about the currentDocument,
|
1614
|
+
* - document: the actual document,
|
1615
|
+
* - changeDocument: a function to change the current document to one of its relations.
|
1616
|
+
* - rootDocumentMeta: information about the root level document (current page)
|
1617
|
+
*/ const DocumentContextProvider = ({ children, initialDocument, onPreview })=>{
|
1618
|
+
/**
|
1619
|
+
* Initialize with the "root" document and expose a setter method to change to
|
1620
|
+
* one of the root level document's relations.
|
1621
|
+
*/ const [currentDocumentMeta, changeDocument] = React__namespace.useState(initialDocument);
|
1622
|
+
const params = React__namespace.useMemo(()=>buildValidParams(currentDocumentMeta.params ?? {}), [
|
1623
|
+
currentDocumentMeta.params
|
1624
|
+
]);
|
1625
|
+
const document = useDocument({
|
1626
|
+
...currentDocumentMeta,
|
1627
|
+
params
|
1628
|
+
});
|
1629
|
+
const [documentHistory, setDocumentHistory] = React__namespace.useState([]);
|
1630
|
+
return /*#__PURE__*/ jsxRuntime.jsx(DocumentProvider, {
|
1631
|
+
changeDocument: changeDocument,
|
1632
|
+
document: document,
|
1633
|
+
rootDocumentMeta: {
|
1634
|
+
documentId: initialDocument.documentId,
|
1635
|
+
model: initialDocument.model,
|
1636
|
+
collectionType: initialDocument.collectionType
|
1637
|
+
},
|
1638
|
+
meta: currentDocumentMeta,
|
1639
|
+
documentHistory: documentHistory,
|
1640
|
+
setDocumentHistory: setDocumentHistory,
|
1641
|
+
onPreview: onPreview,
|
1642
|
+
children: children
|
1643
|
+
});
|
1644
|
+
};
|
1645
|
+
|
1646
|
+
const [DocumentRBACProvider, useDocumentRBAC] = strapiAdmin.createContext('DocumentRBAC', {
|
1647
|
+
canCreate: false,
|
1648
|
+
canCreateFields: [],
|
1649
|
+
canDelete: false,
|
1650
|
+
canPublish: false,
|
1651
|
+
canRead: false,
|
1652
|
+
canReadFields: [],
|
1653
|
+
canUpdate: false,
|
1654
|
+
canUpdateFields: [],
|
1655
|
+
canUserAction: ()=>false,
|
1656
|
+
isLoading: false
|
1657
|
+
});
|
1658
|
+
/**
|
1659
|
+
* @internal This component is not meant to be used outside of the Content Manager plugin.
|
1660
|
+
* It depends on knowing the slug/model of the content-type using the params of the URL or the model if it is passed as arg.
|
1661
|
+
* If you do use the hook outside of the context, we default to `false` for all actions.
|
1662
|
+
*
|
1663
|
+
* It then creates an list of `can{Action}` that are passed to the context for consumption
|
1664
|
+
* within the app to enforce RBAC.
|
1665
|
+
*/ const DocumentRBAC = ({ children, permissions, model })=>{
|
1666
|
+
const { slug } = reactRouterDom.useParams();
|
1667
|
+
if (!slug && !model) {
|
1668
|
+
throw new Error('Cannot find the slug param in the URL or the model prop is not provided.');
|
1669
|
+
}
|
1670
|
+
const contentTypeUid = model ?? slug;
|
1671
|
+
const [{ rawQuery }] = strapiAdmin.useQueryParams();
|
1672
|
+
const userPermissions = strapiAdmin.useAuth('DocumentRBAC', (state)=>state.permissions);
|
1673
|
+
const contentTypePermissions = React__namespace.useMemo(()=>{
|
1674
|
+
const contentTypePermissions = userPermissions.filter((permission)=>permission.subject === contentTypeUid);
|
1675
|
+
return contentTypePermissions.reduce((acc, permission)=>{
|
1676
|
+
const [action] = permission.action.split('.').slice(-1);
|
1677
|
+
return {
|
1678
|
+
...acc,
|
1679
|
+
[action]: [
|
1680
|
+
permission
|
1681
|
+
]
|
1682
|
+
};
|
1683
|
+
}, {});
|
1684
|
+
}, [
|
1685
|
+
contentTypeUid,
|
1686
|
+
userPermissions
|
1687
|
+
]);
|
1688
|
+
const { isLoading, allowedActions } = strapiAdmin.useRBAC(contentTypePermissions, permissions ?? undefined, // TODO: useRBAC context should be typed and built differently
|
1689
|
+
// We are passing raw query as context to the hook so that it can
|
1690
|
+
// rely on the locale provided from DocumentRBAC for its permission calculations.
|
1691
|
+
rawQuery);
|
1692
|
+
const canCreateFields = !isLoading && allowedActions.canCreate ? extractAndDedupeFields(contentTypePermissions.create) : [];
|
1693
|
+
const canReadFields = !isLoading && allowedActions.canRead ? extractAndDedupeFields(contentTypePermissions.read) : [];
|
1694
|
+
const canUpdateFields = !isLoading && allowedActions.canUpdate ? extractAndDedupeFields(contentTypePermissions.update) : [];
|
1695
|
+
/**
|
1696
|
+
* @description Checks if the user can perform an action on a field based on the field names
|
1697
|
+
* provided as the second argument.
|
1698
|
+
*/ const canUserAction = React__namespace.useCallback((fieldName, fieldsUserCanAction, fieldType)=>{
|
1699
|
+
const name = removeNumericalStrings(fieldName.split('.'));
|
1700
|
+
const componentFieldNames = fieldsUserCanAction// filter out fields that aren't components (components are dot separated)
|
1701
|
+
.filter((field)=>field.split('.').length > 1);
|
1702
|
+
if (fieldType === 'component') {
|
1703
|
+
// check if the field name is within any of those arrays
|
1704
|
+
return componentFieldNames.some((field)=>{
|
1705
|
+
return field.includes(name.join('.'));
|
1706
|
+
});
|
1707
|
+
}
|
1708
|
+
/**
|
1709
|
+
* The field is within a component.
|
1710
|
+
*/ if (name.length > 1) {
|
1711
|
+
return componentFieldNames.includes(name.join('.'));
|
1712
|
+
}
|
1713
|
+
/**
|
1714
|
+
* just a regular field
|
1715
|
+
*/ return fieldsUserCanAction.includes(fieldName);
|
1716
|
+
}, []);
|
1717
|
+
if (isLoading) {
|
1718
|
+
return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Page.Loading, {});
|
1719
|
+
}
|
1720
|
+
return /*#__PURE__*/ jsxRuntime.jsx(DocumentRBACProvider, {
|
1721
|
+
isLoading: isLoading,
|
1722
|
+
canCreateFields: canCreateFields,
|
1723
|
+
canReadFields: canReadFields,
|
1724
|
+
canUpdateFields: canUpdateFields,
|
1725
|
+
canUserAction: canUserAction,
|
1726
|
+
...allowedActions,
|
1727
|
+
children: children
|
1728
|
+
});
|
1729
|
+
};
|
1730
|
+
/**
|
1731
|
+
* @internal it's really small, but it's used three times in a row and DRY for something this straight forward.
|
1732
|
+
*/ const extractAndDedupeFields = (permissions = [])=>permissions.flatMap((permission)=>permission.properties?.fields).filter((field, index, arr)=>arr.indexOf(field) === index && typeof field === 'string');
|
1733
|
+
/**
|
1734
|
+
* @internal removes numerical strings from arrays.
|
1735
|
+
* @example
|
1736
|
+
* ```ts
|
1737
|
+
* const name = 'a.0.b';
|
1738
|
+
* const res = removeNumericalStrings(name.split('.'));
|
1739
|
+
* console.log(res); // ['a', 'b']
|
1740
|
+
* ```
|
1741
|
+
*/ const removeNumericalStrings = (arr)=>arr.filter((item)=>isNaN(Number(item)));
|
1742
|
+
|
1696
1743
|
const prefixPluginTranslations = (trad, pluginId)=>{
|
1697
1744
|
return Object.keys(trad).reduce((acc, current)=>{
|
1698
1745
|
acc[`${pluginId}.${current}`] = trad[current];
|
@@ -1727,14 +1774,14 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1727
1774
|
* ```
|
1728
1775
|
*
|
1729
1776
|
* @see {@link https://contributor.strapi.io/docs/core/content-manager/hooks/use-document-operations} for more information
|
1730
|
-
*/ const useDocumentActions = ()=>{
|
1777
|
+
*/ const useDocumentActions = (fromPreview = false, fromRelationModal = false)=>{
|
1731
1778
|
const { toggleNotification } = strapiAdmin.useNotification();
|
1732
1779
|
const { formatMessage } = reactIntl.useIntl();
|
1733
1780
|
const { trackUsage } = strapiAdmin.useTracking();
|
1734
1781
|
const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
|
1735
1782
|
const navigate = reactRouterDom.useNavigate();
|
1736
1783
|
const setCurrentStep = strapiAdmin.useGuidedTour('useDocumentActions', (state)=>state.setCurrentStep);
|
1737
|
-
const [deleteDocument] = useDeleteDocumentMutation();
|
1784
|
+
const [deleteDocument, { isLoading: isDeleting }] = useDeleteDocumentMutation();
|
1738
1785
|
const _delete = React__namespace.useCallback(async ({ collectionType, model, documentId, params }, trackerProperty)=>{
|
1739
1786
|
try {
|
1740
1787
|
trackUsage('willDeleteEntry', trackerProperty);
|
@@ -1780,7 +1827,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1780
1827
|
formatMessage,
|
1781
1828
|
formatAPIError
|
1782
1829
|
]);
|
1783
|
-
const [deleteManyDocuments] = useDeleteManyDocumentsMutation();
|
1830
|
+
const [deleteManyDocuments, { isLoading: isDeletingMany }] = useDeleteManyDocumentsMutation();
|
1784
1831
|
const deleteMany = React__namespace.useCallback(async ({ model, documentIds, params })=>{
|
1785
1832
|
try {
|
1786
1833
|
trackUsage('willBulkDeleteEntries');
|
@@ -1823,7 +1870,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1823
1870
|
formatMessage,
|
1824
1871
|
formatAPIError
|
1825
1872
|
]);
|
1826
|
-
const [discardDocument] = useDiscardDocumentMutation();
|
1873
|
+
const [discardDocument, { isLoading: isDiscardingDocument }] = useDiscardDocumentMutation();
|
1827
1874
|
const discard = React__namespace.useCallback(async ({ collectionType, model, documentId, params })=>{
|
1828
1875
|
try {
|
1829
1876
|
const res = await discardDocument({
|
@@ -1862,10 +1909,12 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1862
1909
|
formatMessage,
|
1863
1910
|
toggleNotification
|
1864
1911
|
]);
|
1865
|
-
const [publishDocument] = usePublishDocumentMutation();
|
1912
|
+
const [publishDocument, { isLoading: isPublishing }] = usePublishDocumentMutation();
|
1866
1913
|
const publish = React__namespace.useCallback(async ({ collectionType, model, documentId, params }, data)=>{
|
1867
1914
|
try {
|
1868
|
-
trackUsage('willPublishEntry'
|
1915
|
+
trackUsage('willPublishEntry', {
|
1916
|
+
documentId
|
1917
|
+
});
|
1869
1918
|
const res = await publishDocument({
|
1870
1919
|
collectionType,
|
1871
1920
|
model,
|
@@ -1882,7 +1931,11 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1882
1931
|
error: res.error
|
1883
1932
|
};
|
1884
1933
|
}
|
1885
|
-
trackUsage('didPublishEntry'
|
1934
|
+
trackUsage('didPublishEntry', {
|
1935
|
+
documentId,
|
1936
|
+
fromPreview,
|
1937
|
+
fromRelationModal
|
1938
|
+
});
|
1886
1939
|
toggleNotification({
|
1887
1940
|
type: 'success',
|
1888
1941
|
message: formatMessage({
|
@@ -1901,11 +1954,13 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1901
1954
|
}, [
|
1902
1955
|
trackUsage,
|
1903
1956
|
publishDocument,
|
1957
|
+
fromPreview,
|
1958
|
+
fromRelationModal,
|
1904
1959
|
toggleNotification,
|
1905
1960
|
formatMessage,
|
1906
1961
|
formatAPIError
|
1907
1962
|
]);
|
1908
|
-
const [publishManyDocuments] = usePublishManyDocumentsMutation();
|
1963
|
+
const [publishManyDocuments, { isLoading: isPublishingMany }] = usePublishManyDocumentsMutation();
|
1909
1964
|
const publishMany = React__namespace.useCallback(async ({ model, documentIds, params })=>{
|
1910
1965
|
try {
|
1911
1966
|
// TODO Confirm tracking events for bulk publish?
|
@@ -1945,7 +2000,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1945
2000
|
formatMessage,
|
1946
2001
|
formatAPIError
|
1947
2002
|
]);
|
1948
|
-
const [updateDocument] = useUpdateDocumentMutation();
|
2003
|
+
const [updateDocument, { isLoading: isUpdating }] = useUpdateDocumentMutation();
|
1949
2004
|
const update = React__namespace.useCallback(async ({ collectionType, model, documentId, params }, data, trackerProperty)=>{
|
1950
2005
|
try {
|
1951
2006
|
trackUsage('willEditEntry', trackerProperty);
|
@@ -1969,7 +2024,12 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1969
2024
|
error: res.error
|
1970
2025
|
};
|
1971
2026
|
}
|
1972
|
-
trackUsage('didEditEntry',
|
2027
|
+
trackUsage('didEditEntry', {
|
2028
|
+
...trackerProperty,
|
2029
|
+
documentId: res.data.data.documentId,
|
2030
|
+
fromPreview,
|
2031
|
+
fromRelationModal
|
2032
|
+
});
|
1973
2033
|
toggleNotification({
|
1974
2034
|
type: 'success',
|
1975
2035
|
message: formatMessage({
|
@@ -1992,6 +2052,8 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1992
2052
|
}, [
|
1993
2053
|
trackUsage,
|
1994
2054
|
updateDocument,
|
2055
|
+
fromPreview,
|
2056
|
+
fromRelationModal,
|
1995
2057
|
toggleNotification,
|
1996
2058
|
formatMessage,
|
1997
2059
|
formatAPIError
|
@@ -2041,7 +2103,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
2041
2103
|
formatMessage,
|
2042
2104
|
formatAPIError
|
2043
2105
|
]);
|
2044
|
-
const [unpublishManyDocuments] = useUnpublishManyDocumentsMutation();
|
2106
|
+
const [unpublishManyDocuments, { isLoading: isUnpublishingMany }] = useUnpublishManyDocumentsMutation();
|
2045
2107
|
const unpublishMany = React__namespace.useCallback(async ({ model, documentIds, params })=>{
|
2046
2108
|
try {
|
2047
2109
|
trackUsage('willBulkUnpublishEntries');
|
@@ -2105,7 +2167,10 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
2105
2167
|
error: res.error
|
2106
2168
|
};
|
2107
2169
|
}
|
2108
|
-
trackUsage('didCreateEntry',
|
2170
|
+
trackUsage('didCreateEntry', {
|
2171
|
+
...trackerProperty,
|
2172
|
+
documentId: res.data.data.documentId
|
2173
|
+
});
|
2109
2174
|
toggleNotification({
|
2110
2175
|
type: 'success',
|
2111
2176
|
message: formatMessage({
|
@@ -2130,6 +2195,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
2130
2195
|
createDocument,
|
2131
2196
|
formatAPIError,
|
2132
2197
|
formatMessage,
|
2198
|
+
setCurrentStep,
|
2133
2199
|
toggleNotification,
|
2134
2200
|
trackUsage
|
2135
2201
|
]);
|
@@ -2232,6 +2298,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
2232
2298
|
getDoc
|
2233
2299
|
]);
|
2234
2300
|
return {
|
2301
|
+
isLoading: isPublishing || isUpdating || isDiscardingDocument || isDeleting || isDeletingMany || isUnpublishingMany || isPublishingMany,
|
2235
2302
|
autoClone,
|
2236
2303
|
clone,
|
2237
2304
|
create,
|
@@ -2247,7 +2314,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
2247
2314
|
};
|
2248
2315
|
};
|
2249
2316
|
|
2250
|
-
const ProtectedHistoryPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.resolve().then(function () { return require('./History-
|
2317
|
+
const ProtectedHistoryPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.resolve().then(function () { return require('./History-DECiFmYO.js'); }).then((mod)=>({
|
2251
2318
|
default: mod.ProtectedHistoryPage
|
2252
2319
|
})));
|
2253
2320
|
/**
|
@@ -2263,7 +2330,7 @@ const ProtectedHistoryPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.res
|
|
2263
2330
|
}
|
2264
2331
|
];
|
2265
2332
|
|
2266
|
-
const ProtectedPreviewPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.resolve().then(function () { return require('./Preview-
|
2333
|
+
const ProtectedPreviewPage = /*#__PURE__*/ React__namespace.lazy(()=>Promise.resolve().then(function () { return require('./Preview-BvCbqXQY.js'); }).then((mod)=>({
|
2267
2334
|
default: mod.ProtectedPreviewPage
|
2268
2335
|
})));
|
2269
2336
|
const routes$1 = [
|
@@ -2277,25 +2344,25 @@ const routes$1 = [
|
|
2277
2344
|
}
|
2278
2345
|
];
|
2279
2346
|
|
2280
|
-
const ProtectedEditViewPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./EditViewPage-
|
2347
|
+
const ProtectedEditViewPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./EditViewPage-Cd7iCrfo.js'); }).then((mod)=>({
|
2281
2348
|
default: mod.ProtectedEditViewPage
|
2282
2349
|
})));
|
2283
|
-
const ProtectedListViewPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ListViewPage-
|
2350
|
+
const ProtectedListViewPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ListViewPage-BfFRaMK8.js'); }).then((mod)=>({
|
2284
2351
|
default: mod.ProtectedListViewPage
|
2285
2352
|
})));
|
2286
|
-
const ProtectedListConfiguration = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ListConfigurationPage-
|
2353
|
+
const ProtectedListConfiguration = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ListConfigurationPage-BiKI9-fH.js'); }).then((mod)=>({
|
2287
2354
|
default: mod.ProtectedListConfiguration
|
2288
2355
|
})));
|
2289
|
-
const ProtectedEditConfigurationPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./EditConfigurationPage-
|
2356
|
+
const ProtectedEditConfigurationPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./EditConfigurationPage-D_otE6ca.js'); }).then((mod)=>({
|
2290
2357
|
default: mod.ProtectedEditConfigurationPage
|
2291
2358
|
})));
|
2292
|
-
const ProtectedComponentConfigurationPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ComponentConfigurationPage-
|
2359
|
+
const ProtectedComponentConfigurationPage = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./ComponentConfigurationPage-DDybTE9k.js'); }).then((mod)=>({
|
2293
2360
|
default: mod.ProtectedComponentConfigurationPage
|
2294
2361
|
})));
|
2295
|
-
const NoPermissions = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./NoPermissionsPage-
|
2362
|
+
const NoPermissions = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./NoPermissionsPage-D0T5uTtv.js'); }).then((mod)=>({
|
2296
2363
|
default: mod.NoPermissions
|
2297
2364
|
})));
|
2298
|
-
const NoContentType = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./NoContentTypePage-
|
2365
|
+
const NoContentType = /*#__PURE__*/ React.lazy(()=>Promise.resolve().then(function () { return require('./NoContentTypePage-C-WQTH0F.js'); }).then((mod)=>({
|
2299
2366
|
default: mod.NoContentType
|
2300
2367
|
})));
|
2301
2368
|
const CollectionTypePages = ()=>{
|
@@ -2431,6 +2498,7 @@ const DocumentActionButton = (action)=>{
|
|
2431
2498
|
variant: action.variant || 'default',
|
2432
2499
|
paddingTop: "7px",
|
2433
2500
|
paddingBottom: "7px",
|
2501
|
+
loading: action.loading,
|
2434
2502
|
children: action.label
|
2435
2503
|
}),
|
2436
2504
|
action.dialog?.type === 'dialog' ? /*#__PURE__*/ jsxRuntime.jsx(DocumentActionConfirmDialog, {
|
@@ -2585,7 +2653,7 @@ const convertActionVariantToIconColor = (variant = 'secondary')=>{
|
|
2585
2653
|
return 'primary600';
|
2586
2654
|
}
|
2587
2655
|
};
|
2588
|
-
const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary' })=>{
|
2656
|
+
const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary', loading })=>{
|
2589
2657
|
const { formatMessage } = reactIntl.useIntl();
|
2590
2658
|
const handleClose = async ()=>{
|
2591
2659
|
if (onCancel) {
|
@@ -2626,6 +2694,7 @@ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, cont
|
|
2626
2694
|
onClick: handleConfirm,
|
2627
2695
|
variant: variant,
|
2628
2696
|
fullWidth: true,
|
2697
|
+
loading: loading,
|
2629
2698
|
children: formatMessage({
|
2630
2699
|
id: 'app.components.Button.confirm',
|
2631
2700
|
defaultMessage: 'Confirm'
|
@@ -2680,8 +2749,8 @@ const transformData = (data)=>{
|
|
2680
2749
|
};
|
2681
2750
|
/* -------------------------------------------------------------------------------------------------
|
2682
2751
|
* DocumentActionComponents
|
2683
|
-
* -----------------------------------------------------------------------------------------------*/ const PublishAction$1 = ({ activeTab, documentId, model, collectionType, meta, document })=>{
|
2684
|
-
const
|
2752
|
+
* -----------------------------------------------------------------------------------------------*/ const PublishAction$1 = ({ activeTab, documentId, model, collectionType, meta, document, onPreview, fromPreview = false, fromRelationModal = false })=>{
|
2753
|
+
const schema = useDocumentContext('PublishAction', (state)=>state.document.schema);
|
2685
2754
|
const navigate = reactRouterDom.useNavigate();
|
2686
2755
|
const { toggleNotification } = strapiAdmin.useNotification();
|
2687
2756
|
const { _unstableFormatValidationErrors: formatValidationErrors } = strapiAdmin.useAPIErrorHandler();
|
@@ -2690,7 +2759,7 @@ const transformData = (data)=>{
|
|
2690
2759
|
const { id } = reactRouterDom.useParams();
|
2691
2760
|
const { formatMessage } = reactIntl.useIntl();
|
2692
2761
|
const canPublish = useDocumentRBAC('PublishAction', ({ canPublish })=>canPublish);
|
2693
|
-
const { publish } = useDocumentActions();
|
2762
|
+
const { publish, isLoading } = useDocumentActions(fromPreview, fromRelationModal);
|
2694
2763
|
const [countDraftRelations, { isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }] = useLazyGetDraftRelationCountQuery();
|
2695
2764
|
const [localCountOfDraftRelations, setLocalCountOfDraftRelations] = React__namespace.useState(0);
|
2696
2765
|
const [serverCountOfDraftRelations, setServerCountOfDraftRelations] = React__namespace.useState(0);
|
@@ -2704,6 +2773,8 @@ const transformData = (data)=>{
|
|
2704
2773
|
const validate = strapiAdmin.useForm('PublishAction', (state)=>state.validate);
|
2705
2774
|
const setErrors = strapiAdmin.useForm('PublishAction', (state)=>state.setErrors);
|
2706
2775
|
const formValues = strapiAdmin.useForm('PublishAction', ({ values })=>values);
|
2776
|
+
const rootDocumentMeta = useDocumentContext('PublishAction', (state)=>state.rootDocumentMeta);
|
2777
|
+
const currentDocumentMeta = useDocumentContext('PublishAction', (state)=>state.meta);
|
2707
2778
|
React__namespace.useEffect(()=>{
|
2708
2779
|
if (isErrorDraftRelations) {
|
2709
2780
|
toggleNotification({
|
@@ -2806,11 +2877,12 @@ const transformData = (data)=>{
|
|
2806
2877
|
});
|
2807
2878
|
return;
|
2808
2879
|
}
|
2880
|
+
const isPublishingRelation = rootDocumentMeta.documentId !== currentDocumentMeta.documentId;
|
2809
2881
|
const res = await publish({
|
2810
2882
|
collectionType,
|
2811
2883
|
model,
|
2812
2884
|
documentId,
|
2813
|
-
params
|
2885
|
+
params: isPublishingRelation ? currentDocumentMeta.params : params
|
2814
2886
|
}, transformData(formValues));
|
2815
2887
|
if ('data' in res && collectionType !== SINGLE_TYPES) {
|
2816
2888
|
/**
|
@@ -2826,6 +2898,9 @@ const transformData = (data)=>{
|
|
2826
2898
|
}
|
2827
2899
|
} finally{
|
2828
2900
|
setSubmitting(false);
|
2901
|
+
if (onPreview) {
|
2902
|
+
onPreview();
|
2903
|
+
}
|
2829
2904
|
}
|
2830
2905
|
};
|
2831
2906
|
const totalDraftRelations = localCountOfDraftRelations + serverCountOfDraftRelations;
|
@@ -2834,6 +2909,12 @@ const transformData = (data)=>{
|
|
2834
2909
|
const enableDraftRelationsCount = false;
|
2835
2910
|
const hasDraftRelations = enableDraftRelationsCount;
|
2836
2911
|
return {
|
2912
|
+
loading: isLoading,
|
2913
|
+
position: [
|
2914
|
+
'panel',
|
2915
|
+
'preview',
|
2916
|
+
'relation-modal'
|
2917
|
+
],
|
2837
2918
|
/**
|
2838
2919
|
* Disabled when:
|
2839
2920
|
* - currently if you're cloning a document we don't support publish & clone at the same time.
|
@@ -2871,15 +2952,19 @@ const transformData = (data)=>{
|
|
2871
2952
|
};
|
2872
2953
|
};
|
2873
2954
|
PublishAction$1.type = 'publish';
|
2874
|
-
PublishAction$1.position =
|
2875
|
-
|
2955
|
+
PublishAction$1.position = [
|
2956
|
+
'panel',
|
2957
|
+
'preview',
|
2958
|
+
'relation-modal'
|
2959
|
+
];
|
2960
|
+
const UpdateAction = ({ activeTab, documentId, model, collectionType, onPreview, fromPreview = false, fromRelationModal = false })=>{
|
2876
2961
|
const navigate = reactRouterDom.useNavigate();
|
2877
2962
|
const { toggleNotification } = strapiAdmin.useNotification();
|
2878
2963
|
const { _unstableFormatValidationErrors: formatValidationErrors } = strapiAdmin.useAPIErrorHandler();
|
2879
2964
|
const cloneMatch = reactRouterDom.useMatch(CLONE_PATH);
|
2880
2965
|
const isCloning = cloneMatch !== null;
|
2881
2966
|
const { formatMessage } = reactIntl.useIntl();
|
2882
|
-
const { create, update, clone } = useDocumentActions();
|
2967
|
+
const { create, update, clone, isLoading } = useDocumentActions(fromPreview, fromRelationModal);
|
2883
2968
|
const [{ query, rawQuery }] = strapiAdmin.useQueryParams();
|
2884
2969
|
const params = React__namespace.useMemo(()=>buildValidParams(query), [
|
2885
2970
|
query
|
@@ -2891,6 +2976,8 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
2891
2976
|
const validate = strapiAdmin.useForm('UpdateAction', (state)=>state.validate);
|
2892
2977
|
const setErrors = strapiAdmin.useForm('UpdateAction', (state)=>state.setErrors);
|
2893
2978
|
const resetForm = strapiAdmin.useForm('PublishAction', ({ resetForm })=>resetForm);
|
2979
|
+
const rootDocumentMeta = useDocumentContext('UpdateAction', (state)=>state.rootDocumentMeta);
|
2980
|
+
const currentDocumentMeta = useDocumentContext('UpdateAction', (state)=>state.meta);
|
2894
2981
|
const handleUpdate = React__namespace.useCallback(async ()=>{
|
2895
2982
|
setSubmitting(true);
|
2896
2983
|
try {
|
@@ -2927,11 +3014,12 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
2927
3014
|
setErrors(formatValidationErrors(res.error));
|
2928
3015
|
}
|
2929
3016
|
} else if (documentId || collectionType === SINGLE_TYPES) {
|
3017
|
+
const isEditingRelation = rootDocumentMeta.documentId !== currentDocumentMeta.documentId;
|
2930
3018
|
const res = await update({
|
2931
3019
|
collectionType,
|
2932
3020
|
model,
|
2933
3021
|
documentId,
|
2934
|
-
params
|
3022
|
+
params: isEditingRelation ? currentDocumentMeta.params : params
|
2935
3023
|
}, transformData(document));
|
2936
3024
|
if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
|
2937
3025
|
setErrors(formatValidationErrors(res.error));
|
@@ -2957,12 +3045,17 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
2957
3045
|
}
|
2958
3046
|
} finally{
|
2959
3047
|
setSubmitting(false);
|
3048
|
+
if (onPreview) {
|
3049
|
+
onPreview();
|
3050
|
+
}
|
2960
3051
|
}
|
2961
3052
|
}, [
|
2962
3053
|
clone,
|
2963
3054
|
cloneMatch?.params.origin,
|
2964
3055
|
collectionType,
|
2965
3056
|
create,
|
3057
|
+
currentDocumentMeta.documentId,
|
3058
|
+
currentDocumentMeta.params,
|
2966
3059
|
document,
|
2967
3060
|
documentId,
|
2968
3061
|
formatMessage,
|
@@ -2971,9 +3064,11 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
2971
3064
|
model,
|
2972
3065
|
modified,
|
2973
3066
|
navigate,
|
3067
|
+
onPreview,
|
2974
3068
|
params,
|
2975
3069
|
rawQuery,
|
2976
3070
|
resetForm,
|
3071
|
+
rootDocumentMeta.documentId,
|
2977
3072
|
setErrors,
|
2978
3073
|
setSubmitting,
|
2979
3074
|
toggleNotification,
|
@@ -2996,6 +3091,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
2996
3091
|
handleUpdate
|
2997
3092
|
]);
|
2998
3093
|
return {
|
3094
|
+
loading: isLoading,
|
2999
3095
|
/**
|
3000
3096
|
* Disabled when:
|
3001
3097
|
* - the form is submitting
|
@@ -3006,11 +3102,20 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
3006
3102
|
id: 'global.save',
|
3007
3103
|
defaultMessage: 'Save'
|
3008
3104
|
}),
|
3009
|
-
onClick: handleUpdate
|
3105
|
+
onClick: handleUpdate,
|
3106
|
+
position: [
|
3107
|
+
'panel',
|
3108
|
+
'preview',
|
3109
|
+
'relation-modal'
|
3110
|
+
]
|
3010
3111
|
};
|
3011
3112
|
};
|
3012
3113
|
UpdateAction.type = 'update';
|
3013
|
-
UpdateAction.position =
|
3114
|
+
UpdateAction.position = [
|
3115
|
+
'panel',
|
3116
|
+
'preview',
|
3117
|
+
'relation-modal'
|
3118
|
+
];
|
3014
3119
|
const UNPUBLISH_DRAFT_OPTIONS = {
|
3015
3120
|
KEEP: 'keep',
|
3016
3121
|
DISCARD: 'discard'
|
@@ -3160,7 +3265,7 @@ const DiscardAction = ({ activeTab, documentId, model, collectionType, document
|
|
3160
3265
|
const { formatMessage } = reactIntl.useIntl();
|
3161
3266
|
const { schema } = useDoc();
|
3162
3267
|
const canUpdate = useDocumentRBAC('DiscardAction', ({ canUpdate })=>canUpdate);
|
3163
|
-
const { discard } = useDocumentActions();
|
3268
|
+
const { discard, isLoading } = useDocumentActions();
|
3164
3269
|
const [{ query }] = strapiAdmin.useQueryParams();
|
3165
3270
|
const params = React__namespace.useMemo(()=>buildValidParams(query), [
|
3166
3271
|
query
|
@@ -3206,6 +3311,7 @@ const DiscardAction = ({ activeTab, documentId, model, collectionType, document
|
|
3206
3311
|
})
|
3207
3312
|
]
|
3208
3313
|
}),
|
3314
|
+
loading: isLoading,
|
3209
3315
|
onConfirm: async ()=>{
|
3210
3316
|
await discard({
|
3211
3317
|
collectionType,
|
@@ -3300,6 +3406,8 @@ const capitalise = (str)=>str.charAt(0).toUpperCase() + str.slice(1);
|
|
3300
3406
|
...restProps,
|
3301
3407
|
size: size,
|
3302
3408
|
variant: statusVariant,
|
3409
|
+
role: "status",
|
3410
|
+
"aria-label": status,
|
3303
3411
|
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
3304
3412
|
tag: "span",
|
3305
3413
|
variant: "omega",
|
@@ -3642,7 +3750,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document })=>{
|
|
3642
3750
|
const { formatMessage } = reactIntl.useIntl();
|
3643
3751
|
const listViewPathMatch = reactRouterDom.useMatch(LIST_PATH);
|
3644
3752
|
const canDelete = useDocumentRBAC('DeleteAction', (state)=>state.canDelete);
|
3645
|
-
const { delete: deleteAction } = useDocumentActions();
|
3753
|
+
const { delete: deleteAction, isLoading } = useDocumentActions();
|
3646
3754
|
const { toggleNotification } = strapiAdmin.useNotification();
|
3647
3755
|
const setSubmitting = strapiAdmin.useForm('DeleteAction', (state)=>state.setSubmitting);
|
3648
3756
|
const isLocalized = document?.locale != null;
|
@@ -3681,6 +3789,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document })=>{
|
|
3681
3789
|
})
|
3682
3790
|
]
|
3683
3791
|
}),
|
3792
|
+
loading: isLoading,
|
3684
3793
|
onConfirm: async ()=>{
|
3685
3794
|
/**
|
3686
3795
|
* If we have a match, we're in the list view
|
@@ -4362,7 +4471,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
|
|
4362
4471
|
schema
|
4363
4472
|
]);
|
4364
4473
|
const [isDialogOpen, setIsDialogOpen] = React__namespace.useState(false);
|
4365
|
-
const { publishMany: bulkPublishAction } = useDocumentActions();
|
4474
|
+
const { publishMany: bulkPublishAction, isLoading: isPublishing } = useDocumentActions();
|
4366
4475
|
const [, { isLoading: isSubmittingForm }] = usePublishManyDocumentsMutation();
|
4367
4476
|
const selectedRows = strapiAdmin.useTable('publishAction', (state)=>state.selectedRows);
|
4368
4477
|
// Filter selected entries from the updated modal table rows
|
@@ -4434,7 +4543,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
|
|
4434
4543
|
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
4435
4544
|
onClick: toggleDialog,
|
4436
4545
|
disabled: selectedEntries.length === 0 || selectedEntries.length === selectedEntriesWithErrorsCount || selectedEntriesPublishedCount === selectedEntries.length || isLoading,
|
4437
|
-
loading: isSubmittingForm,
|
4546
|
+
loading: isPublishing || isSubmittingForm,
|
4438
4547
|
children: formatMessage({
|
4439
4548
|
id: 'app.utils.publish',
|
4440
4549
|
defaultMessage: 'Publish'
|
@@ -4447,7 +4556,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
|
|
4447
4556
|
/*#__PURE__*/ jsxRuntime.jsx(ConfirmDialogPublishAll, {
|
4448
4557
|
isOpen: isDialogOpen,
|
4449
4558
|
onToggleDialog: toggleDialog,
|
4450
|
-
isConfirmButtonLoading: isSubmittingForm,
|
4559
|
+
isConfirmButtonLoading: isPublishing || isSubmittingForm,
|
4451
4560
|
onConfirm: handleConfirmBulkPublish
|
4452
4561
|
})
|
4453
4562
|
]
|
@@ -4539,7 +4648,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
|
|
4539
4648
|
query
|
4540
4649
|
]);
|
4541
4650
|
const hasDeletePermission = useDocumentRBAC('deleteAction', (state)=>state.canDelete);
|
4542
|
-
const { deleteMany: bulkDeleteAction } = useDocumentActions();
|
4651
|
+
const { deleteMany: bulkDeleteAction, isLoading } = useDocumentActions();
|
4543
4652
|
const documentIds = documents.map(({ documentId })=>documentId);
|
4544
4653
|
const handleConfirmBulkDelete = async ()=>{
|
4545
4654
|
const res = await bulkDeleteAction({
|
@@ -4564,6 +4673,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
|
|
4564
4673
|
id: 'app.components.ConfirmDialog.title',
|
4565
4674
|
defaultMessage: 'Confirmation'
|
4566
4675
|
}),
|
4676
|
+
loading: isLoading,
|
4567
4677
|
content: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
4568
4678
|
direction: "column",
|
4569
4679
|
alignItems: "stretch",
|
@@ -4612,7 +4722,7 @@ const UnpublishAction = ({ documents, model })=>{
|
|
4612
4722
|
const hasPublishPermission = useDocumentRBAC('unpublishAction', (state)=>state.canPublish);
|
4613
4723
|
const hasI18nEnabled = Boolean(schema?.pluginOptions?.i18n);
|
4614
4724
|
const hasDraftAndPublishEnabled = Boolean(schema?.options?.draftAndPublish);
|
4615
|
-
const { unpublishMany: bulkUnpublishAction } = useDocumentActions();
|
4725
|
+
const { unpublishMany: bulkUnpublishAction, isLoading } = useDocumentActions();
|
4616
4726
|
const documentIds = documents.map(({ documentId })=>documentId);
|
4617
4727
|
const [{ query }] = strapiAdmin.useQueryParams();
|
4618
4728
|
const params = React__namespace.useMemo(()=>buildValidParams(query), [
|
@@ -4642,6 +4752,7 @@ const UnpublishAction = ({ documents, model })=>{
|
|
4642
4752
|
id: 'app.components.ConfirmDialog.title',
|
4643
4753
|
defaultMessage: 'Confirmation'
|
4644
4754
|
}),
|
4755
|
+
loading: isLoading,
|
4645
4756
|
content: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
4646
4757
|
direction: "column",
|
4647
4758
|
alignItems: "stretch",
|
@@ -5023,9 +5134,11 @@ const DEFAULT_TABLE_ROW_ACTIONS = [
|
|
5023
5134
|
* The response should still be filtered by the position, as the static property is new
|
5024
5135
|
* and not mandatory to avoid a breaking change.
|
5025
5136
|
*/ if (position) {
|
5026
|
-
return this.documentActions.filter((action)=>
|
5137
|
+
return this.documentActions.filter((action)=>{
|
5138
|
+
return action.position == undefined || [
|
5027
5139
|
action.position
|
5028
|
-
].flat().includes(position)
|
5140
|
+
].flat().includes(position);
|
5141
|
+
});
|
5029
5142
|
}
|
5030
5143
|
return this.documentActions;
|
5031
5144
|
},
|
@@ -5277,7 +5390,7 @@ function __variableDynamicImportRuntime1__(path) {
|
|
5277
5390
|
case './translations/ca.json': return Promise.resolve().then(function () { return require('./ca-ClDTvatJ.js'); });
|
5278
5391
|
case './translations/cs.json': return Promise.resolve().then(function () { return require('./cs-BJFxwIWj.js'); });
|
5279
5392
|
case './translations/de.json': return Promise.resolve().then(function () { return require('./de-CbImAUA5.js'); });
|
5280
|
-
case './translations/en.json': return Promise.resolve().then(function () { return require('./en-
|
5393
|
+
case './translations/en.json': return Promise.resolve().then(function () { return require('./en-G976DLsg.js'); });
|
5281
5394
|
case './translations/es.json': return Promise.resolve().then(function () { return require('./es-C8vLuvZL.js'); });
|
5282
5395
|
case './translations/eu.json': return Promise.resolve().then(function () { return require('./eu-BJW3AvXu.js'); });
|
5283
5396
|
case './translations/fr.json': return Promise.resolve().then(function () { return require('./fr-gQSilC7w.js'); });
|
@@ -5300,9 +5413,9 @@ function __variableDynamicImportRuntime1__(path) {
|
|
5300
5413
|
case './translations/sv.json': return Promise.resolve().then(function () { return require('./sv-BstBC1Yp.js'); });
|
5301
5414
|
case './translations/th.json': return Promise.resolve().then(function () { return require('./th-lXoOCqPC.js'); });
|
5302
5415
|
case './translations/tr.json': return Promise.resolve().then(function () { return require('./tr-CkS6sLIE.js'); });
|
5303
|
-
case './translations/uk.json': return Promise.resolve().then(function () { return require('./uk-
|
5416
|
+
case './translations/uk.json': return Promise.resolve().then(function () { return require('./uk-DB6OgySY.js'); });
|
5304
5417
|
case './translations/vi.json': return Promise.resolve().then(function () { return require('./vi-BGr1X_HZ.js'); });
|
5305
|
-
case './translations/zh-Hans.json': return Promise.resolve().then(function () { return require('./zh-Hans-
|
5418
|
+
case './translations/zh-Hans.json': return Promise.resolve().then(function () { return require('./zh-Hans-Djj7eGpO.js'); });
|
5306
5419
|
case './translations/zh.json': return Promise.resolve().then(function () { return require('./zh-DwFu_Kfj.js'); });
|
5307
5420
|
default: return new Promise(function(resolve, reject) {
|
5308
5421
|
(typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(
|
@@ -5331,7 +5444,7 @@ var index = {
|
|
5331
5444
|
app.router.addRoute({
|
5332
5445
|
path: 'content-manager/*',
|
5333
5446
|
lazy: async ()=>{
|
5334
|
-
const { Layout } = await Promise.resolve().then(function () { return require('./layout-
|
5447
|
+
const { Layout } = await Promise.resolve().then(function () { return require('./layout-DGlrPEkC.js'); });
|
5335
5448
|
return {
|
5336
5449
|
Component: Layout
|
5337
5450
|
};
|
@@ -5372,6 +5485,8 @@ exports.CLONE_PATH = CLONE_PATH;
|
|
5372
5485
|
exports.COLLECTION_TYPES = COLLECTION_TYPES;
|
5373
5486
|
exports.CREATOR_FIELDS = CREATOR_FIELDS;
|
5374
5487
|
exports.DEFAULT_SETTINGS = DEFAULT_SETTINGS;
|
5488
|
+
exports.DocumentActionButton = DocumentActionButton;
|
5489
|
+
exports.DocumentContextProvider = DocumentContextProvider;
|
5375
5490
|
exports.DocumentRBAC = DocumentRBAC;
|
5376
5491
|
exports.DocumentStatus = DocumentStatus;
|
5377
5492
|
exports.HOOKS = HOOKS;
|
@@ -5405,6 +5520,7 @@ exports.useDoc = useDoc;
|
|
5405
5520
|
exports.useDocLayout = useDocLayout;
|
5406
5521
|
exports.useDocument = useDocument;
|
5407
5522
|
exports.useDocumentActions = useDocumentActions;
|
5523
|
+
exports.useDocumentContext = useDocumentContext;
|
5408
5524
|
exports.useDocumentLayout = useDocumentLayout;
|
5409
5525
|
exports.useDocumentRBAC = useDocumentRBAC;
|
5410
5526
|
exports.useGetAllContentTypeSettingsQuery = useGetAllContentTypeSettingsQuery;
|
@@ -5412,5 +5528,6 @@ exports.useGetAllDocumentsQuery = useGetAllDocumentsQuery;
|
|
5412
5528
|
exports.useGetContentTypeConfigurationQuery = useGetContentTypeConfigurationQuery;
|
5413
5529
|
exports.useGetInitialDataQuery = useGetInitialDataQuery;
|
5414
5530
|
exports.useGetPreviewUrlQuery = useGetPreviewUrlQuery;
|
5531
|
+
exports.useLazyGetDocumentQuery = useLazyGetDocumentQuery;
|
5415
5532
|
exports.useUpdateContentTypeConfigurationMutation = useUpdateContentTypeConfigurationMutation;
|
5416
|
-
//# sourceMappingURL=index-
|
5533
|
+
//# sourceMappingURL=index-CB_ymrXf.js.map
|