@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
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Cross, WarningCircle, More, ListPlus, Pencil, Trash, Check, CheckCircle, ArrowsCounterClockwise, CrossCircle, ChevronRight, Duplicate, ClockCounterClockwise, Feather } from '@strapi/icons';
|
2
2
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
3
|
-
import { useStrapiApp,
|
3
|
+
import { useStrapiApp, adminApi, translatedErrors, useNotification, useAPIErrorHandler, useQueryParams, getYupValidationErrors, useForm, createContext, useAuth, useRBAC, Page, useTracking, useGuidedTour, BackButton, DescriptionComponentRenderer, useTable, Table } from '@strapi/admin/strapi-admin';
|
4
4
|
import * as React from 'react';
|
5
5
|
import { lazy } from 'react';
|
6
6
|
import { Menu, Flex, Typography, Radio, Button, VisuallyHidden, Dialog, Modal, Status, Box, SingleSelect, SingleSelectOption, IconButton, RawTable, Loader, Tbody, Tr, Td, Tooltip, LinkButton } from '@strapi/design-system';
|
@@ -15,6 +15,7 @@ import pipe from 'lodash/fp/pipe';
|
|
15
15
|
import { stringify } from 'qs';
|
16
16
|
import { intervalToDuration, isPast } from 'date-fns';
|
17
17
|
import { createSlice, combineReducers } from '@reduxjs/toolkit';
|
18
|
+
import 'prismjs';
|
18
19
|
|
19
20
|
const PLUGIN_ID = 'content-manager';
|
20
21
|
const PERMISSIONS = [
|
@@ -35,6 +36,9 @@ const INJECTION_ZONES = {
|
|
35
36
|
deleteModalAdditionalInfos: [],
|
36
37
|
publishModalAdditionalInfos: [],
|
37
38
|
unpublishModalAdditionalInfos: []
|
39
|
+
},
|
40
|
+
preview: {
|
41
|
+
actions: []
|
38
42
|
}
|
39
43
|
};
|
40
44
|
/**
|
@@ -95,102 +99,6 @@ const DOCUMENT_META_FIELDS = [
|
|
95
99
|
const SINGLE_TYPES = 'single-types';
|
96
100
|
const COLLECTION_TYPES = 'collection-types';
|
97
101
|
|
98
|
-
const [DocumentRBACProvider, useDocumentRBAC] = createContext('DocumentRBAC', {
|
99
|
-
canCreate: false,
|
100
|
-
canCreateFields: [],
|
101
|
-
canDelete: false,
|
102
|
-
canPublish: false,
|
103
|
-
canRead: false,
|
104
|
-
canReadFields: [],
|
105
|
-
canUpdate: false,
|
106
|
-
canUpdateFields: [],
|
107
|
-
canUserAction: ()=>false,
|
108
|
-
isLoading: false
|
109
|
-
});
|
110
|
-
/**
|
111
|
-
* @internal This component is not meant to be used outside of the Content Manager plugin.
|
112
|
-
* It depends on knowing the slug/model of the content-type using the params of the URL.
|
113
|
-
* If you do use the hook outside of the context, we default to `false` for all actions.
|
114
|
-
*
|
115
|
-
* It then creates an list of `can{Action}` that are passed to the context for consumption
|
116
|
-
* within the app to enforce RBAC.
|
117
|
-
*/ const DocumentRBAC = ({ children, permissions })=>{
|
118
|
-
const { slug } = useParams();
|
119
|
-
if (!slug) {
|
120
|
-
throw new Error('Cannot find the slug param in the URL');
|
121
|
-
}
|
122
|
-
const [{ rawQuery }] = useQueryParams();
|
123
|
-
const userPermissions = useAuth('DocumentRBAC', (state)=>state.permissions);
|
124
|
-
const contentTypePermissions = React.useMemo(()=>{
|
125
|
-
const contentTypePermissions = userPermissions.filter((permission)=>permission.subject === slug);
|
126
|
-
return contentTypePermissions.reduce((acc, permission)=>{
|
127
|
-
const [action] = permission.action.split('.').slice(-1);
|
128
|
-
return {
|
129
|
-
...acc,
|
130
|
-
[action]: [
|
131
|
-
permission
|
132
|
-
]
|
133
|
-
};
|
134
|
-
}, {});
|
135
|
-
}, [
|
136
|
-
slug,
|
137
|
-
userPermissions
|
138
|
-
]);
|
139
|
-
const { isLoading, allowedActions } = useRBAC(contentTypePermissions, permissions ?? undefined, // TODO: useRBAC context should be typed and built differently
|
140
|
-
// We are passing raw query as context to the hook so that it can
|
141
|
-
// rely on the locale provided from DocumentRBAC for its permission calculations.
|
142
|
-
rawQuery);
|
143
|
-
const canCreateFields = !isLoading && allowedActions.canCreate ? extractAndDedupeFields(contentTypePermissions.create) : [];
|
144
|
-
const canReadFields = !isLoading && allowedActions.canRead ? extractAndDedupeFields(contentTypePermissions.read) : [];
|
145
|
-
const canUpdateFields = !isLoading && allowedActions.canUpdate ? extractAndDedupeFields(contentTypePermissions.update) : [];
|
146
|
-
/**
|
147
|
-
* @description Checks if the user can perform an action on a field based on the field names
|
148
|
-
* provided as the second argument.
|
149
|
-
*/ const canUserAction = React.useCallback((fieldName, fieldsUserCanAction, fieldType)=>{
|
150
|
-
const name = removeNumericalStrings(fieldName.split('.'));
|
151
|
-
const componentFieldNames = fieldsUserCanAction// filter out fields that aren't components (components are dot separated)
|
152
|
-
.filter((field)=>field.split('.').length > 1);
|
153
|
-
if (fieldType === 'component') {
|
154
|
-
// check if the field name is within any of those arrays
|
155
|
-
return componentFieldNames.some((field)=>{
|
156
|
-
return field.includes(name.join('.'));
|
157
|
-
});
|
158
|
-
}
|
159
|
-
/**
|
160
|
-
* The field is within a component.
|
161
|
-
*/ if (name.length > 1) {
|
162
|
-
return componentFieldNames.includes(name.join('.'));
|
163
|
-
}
|
164
|
-
/**
|
165
|
-
* just a regular field
|
166
|
-
*/ return fieldsUserCanAction.includes(fieldName);
|
167
|
-
}, []);
|
168
|
-
if (isLoading) {
|
169
|
-
return /*#__PURE__*/ jsx(Page.Loading, {});
|
170
|
-
}
|
171
|
-
return /*#__PURE__*/ jsx(DocumentRBACProvider, {
|
172
|
-
isLoading: isLoading,
|
173
|
-
canCreateFields: canCreateFields,
|
174
|
-
canReadFields: canReadFields,
|
175
|
-
canUpdateFields: canUpdateFields,
|
176
|
-
canUserAction: canUserAction,
|
177
|
-
...allowedActions,
|
178
|
-
children: children
|
179
|
-
});
|
180
|
-
};
|
181
|
-
/**
|
182
|
-
* @internal it's really small, but it's used three times in a row and DRY for something this straight forward.
|
183
|
-
*/ const extractAndDedupeFields = (permissions = [])=>permissions.flatMap((permission)=>permission.properties?.fields).filter((field, index, arr)=>arr.indexOf(field) === index && typeof field === 'string');
|
184
|
-
/**
|
185
|
-
* @internal removes numerical strings from arrays.
|
186
|
-
* @example
|
187
|
-
* ```ts
|
188
|
-
* const name = 'a.0.b';
|
189
|
-
* const res = removeNumericalStrings(name.split('.'));
|
190
|
-
* console.log(res); // ['a', 'b']
|
191
|
-
* ```
|
192
|
-
*/ const removeNumericalStrings = (arr)=>arr.filter((item)=>isNaN(Number(item)));
|
193
|
-
|
194
102
|
const BLOCK_LIST_ATTRIBUTE_KEYS = [
|
195
103
|
'__component',
|
196
104
|
'__temp_key__'
|
@@ -1501,7 +1409,7 @@ const checkIfAttributeIsDisplayable = (attribute)=>{
|
|
1501
1409
|
const { toggleNotification } = useNotification();
|
1502
1410
|
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
|
1503
1411
|
const { formatMessage } = useIntl();
|
1504
|
-
const { currentData: data, isLoading: isLoadingDocument, isFetching: isFetchingDocument, error } = useGetDocumentQuery(args, {
|
1412
|
+
const { currentData: data, isLoading: isLoadingDocument, isFetching: isFetchingDocument, error, refetch } = useGetDocumentQuery(args, {
|
1505
1413
|
...opts,
|
1506
1414
|
skip: !args.documentId && args.collectionType !== SINGLE_TYPES || opts?.skip
|
1507
1415
|
});
|
@@ -1600,7 +1508,8 @@ const checkIfAttributeIsDisplayable = (attribute)=>{
|
|
1600
1508
|
schemas,
|
1601
1509
|
validate,
|
1602
1510
|
getTitle,
|
1603
|
-
getInitialFormValues
|
1511
|
+
getInitialFormValues,
|
1512
|
+
refetch
|
1604
1513
|
};
|
1605
1514
|
};
|
1606
1515
|
/* -------------------------------------------------------------------------------------------------
|
@@ -1673,6 +1582,144 @@ const checkIfAttributeIsDisplayable = (attribute)=>{
|
|
1673
1582
|
};
|
1674
1583
|
};
|
1675
1584
|
|
1585
|
+
const [DocumentProvider, useDocumentContext] = createContext('DocumentContext');
|
1586
|
+
/**
|
1587
|
+
* TODO: Document in contributor docs, Add unit test
|
1588
|
+
*
|
1589
|
+
* This context provider and its associated hook are used to access a document at its root level
|
1590
|
+
* and expose a function to change the current document being viewed to one of the root level docuemnt's relations.
|
1591
|
+
*
|
1592
|
+
* The useDocumentContext hook exposes:
|
1593
|
+
* - meta: information about the currentDocument,
|
1594
|
+
* - document: the actual document,
|
1595
|
+
* - changeDocument: a function to change the current document to one of its relations.
|
1596
|
+
* - rootDocumentMeta: information about the root level document (current page)
|
1597
|
+
*/ const DocumentContextProvider = ({ children, initialDocument, onPreview })=>{
|
1598
|
+
/**
|
1599
|
+
* Initialize with the "root" document and expose a setter method to change to
|
1600
|
+
* one of the root level document's relations.
|
1601
|
+
*/ const [currentDocumentMeta, changeDocument] = React.useState(initialDocument);
|
1602
|
+
const params = React.useMemo(()=>buildValidParams(currentDocumentMeta.params ?? {}), [
|
1603
|
+
currentDocumentMeta.params
|
1604
|
+
]);
|
1605
|
+
const document = useDocument({
|
1606
|
+
...currentDocumentMeta,
|
1607
|
+
params
|
1608
|
+
});
|
1609
|
+
const [documentHistory, setDocumentHistory] = React.useState([]);
|
1610
|
+
return /*#__PURE__*/ jsx(DocumentProvider, {
|
1611
|
+
changeDocument: changeDocument,
|
1612
|
+
document: document,
|
1613
|
+
rootDocumentMeta: {
|
1614
|
+
documentId: initialDocument.documentId,
|
1615
|
+
model: initialDocument.model,
|
1616
|
+
collectionType: initialDocument.collectionType
|
1617
|
+
},
|
1618
|
+
meta: currentDocumentMeta,
|
1619
|
+
documentHistory: documentHistory,
|
1620
|
+
setDocumentHistory: setDocumentHistory,
|
1621
|
+
onPreview: onPreview,
|
1622
|
+
children: children
|
1623
|
+
});
|
1624
|
+
};
|
1625
|
+
|
1626
|
+
const [DocumentRBACProvider, useDocumentRBAC] = createContext('DocumentRBAC', {
|
1627
|
+
canCreate: false,
|
1628
|
+
canCreateFields: [],
|
1629
|
+
canDelete: false,
|
1630
|
+
canPublish: false,
|
1631
|
+
canRead: false,
|
1632
|
+
canReadFields: [],
|
1633
|
+
canUpdate: false,
|
1634
|
+
canUpdateFields: [],
|
1635
|
+
canUserAction: ()=>false,
|
1636
|
+
isLoading: false
|
1637
|
+
});
|
1638
|
+
/**
|
1639
|
+
* @internal This component is not meant to be used outside of the Content Manager plugin.
|
1640
|
+
* 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.
|
1641
|
+
* If you do use the hook outside of the context, we default to `false` for all actions.
|
1642
|
+
*
|
1643
|
+
* It then creates an list of `can{Action}` that are passed to the context for consumption
|
1644
|
+
* within the app to enforce RBAC.
|
1645
|
+
*/ const DocumentRBAC = ({ children, permissions, model })=>{
|
1646
|
+
const { slug } = useParams();
|
1647
|
+
if (!slug && !model) {
|
1648
|
+
throw new Error('Cannot find the slug param in the URL or the model prop is not provided.');
|
1649
|
+
}
|
1650
|
+
const contentTypeUid = model ?? slug;
|
1651
|
+
const [{ rawQuery }] = useQueryParams();
|
1652
|
+
const userPermissions = useAuth('DocumentRBAC', (state)=>state.permissions);
|
1653
|
+
const contentTypePermissions = React.useMemo(()=>{
|
1654
|
+
const contentTypePermissions = userPermissions.filter((permission)=>permission.subject === contentTypeUid);
|
1655
|
+
return contentTypePermissions.reduce((acc, permission)=>{
|
1656
|
+
const [action] = permission.action.split('.').slice(-1);
|
1657
|
+
return {
|
1658
|
+
...acc,
|
1659
|
+
[action]: [
|
1660
|
+
permission
|
1661
|
+
]
|
1662
|
+
};
|
1663
|
+
}, {});
|
1664
|
+
}, [
|
1665
|
+
contentTypeUid,
|
1666
|
+
userPermissions
|
1667
|
+
]);
|
1668
|
+
const { isLoading, allowedActions } = useRBAC(contentTypePermissions, permissions ?? undefined, // TODO: useRBAC context should be typed and built differently
|
1669
|
+
// We are passing raw query as context to the hook so that it can
|
1670
|
+
// rely on the locale provided from DocumentRBAC for its permission calculations.
|
1671
|
+
rawQuery);
|
1672
|
+
const canCreateFields = !isLoading && allowedActions.canCreate ? extractAndDedupeFields(contentTypePermissions.create) : [];
|
1673
|
+
const canReadFields = !isLoading && allowedActions.canRead ? extractAndDedupeFields(contentTypePermissions.read) : [];
|
1674
|
+
const canUpdateFields = !isLoading && allowedActions.canUpdate ? extractAndDedupeFields(contentTypePermissions.update) : [];
|
1675
|
+
/**
|
1676
|
+
* @description Checks if the user can perform an action on a field based on the field names
|
1677
|
+
* provided as the second argument.
|
1678
|
+
*/ const canUserAction = React.useCallback((fieldName, fieldsUserCanAction, fieldType)=>{
|
1679
|
+
const name = removeNumericalStrings(fieldName.split('.'));
|
1680
|
+
const componentFieldNames = fieldsUserCanAction// filter out fields that aren't components (components are dot separated)
|
1681
|
+
.filter((field)=>field.split('.').length > 1);
|
1682
|
+
if (fieldType === 'component') {
|
1683
|
+
// check if the field name is within any of those arrays
|
1684
|
+
return componentFieldNames.some((field)=>{
|
1685
|
+
return field.includes(name.join('.'));
|
1686
|
+
});
|
1687
|
+
}
|
1688
|
+
/**
|
1689
|
+
* The field is within a component.
|
1690
|
+
*/ if (name.length > 1) {
|
1691
|
+
return componentFieldNames.includes(name.join('.'));
|
1692
|
+
}
|
1693
|
+
/**
|
1694
|
+
* just a regular field
|
1695
|
+
*/ return fieldsUserCanAction.includes(fieldName);
|
1696
|
+
}, []);
|
1697
|
+
if (isLoading) {
|
1698
|
+
return /*#__PURE__*/ jsx(Page.Loading, {});
|
1699
|
+
}
|
1700
|
+
return /*#__PURE__*/ jsx(DocumentRBACProvider, {
|
1701
|
+
isLoading: isLoading,
|
1702
|
+
canCreateFields: canCreateFields,
|
1703
|
+
canReadFields: canReadFields,
|
1704
|
+
canUpdateFields: canUpdateFields,
|
1705
|
+
canUserAction: canUserAction,
|
1706
|
+
...allowedActions,
|
1707
|
+
children: children
|
1708
|
+
});
|
1709
|
+
};
|
1710
|
+
/**
|
1711
|
+
* @internal it's really small, but it's used three times in a row and DRY for something this straight forward.
|
1712
|
+
*/ const extractAndDedupeFields = (permissions = [])=>permissions.flatMap((permission)=>permission.properties?.fields).filter((field, index, arr)=>arr.indexOf(field) === index && typeof field === 'string');
|
1713
|
+
/**
|
1714
|
+
* @internal removes numerical strings from arrays.
|
1715
|
+
* @example
|
1716
|
+
* ```ts
|
1717
|
+
* const name = 'a.0.b';
|
1718
|
+
* const res = removeNumericalStrings(name.split('.'));
|
1719
|
+
* console.log(res); // ['a', 'b']
|
1720
|
+
* ```
|
1721
|
+
*/ const removeNumericalStrings = (arr)=>arr.filter((item)=>isNaN(Number(item)));
|
1722
|
+
|
1676
1723
|
const prefixPluginTranslations = (trad, pluginId)=>{
|
1677
1724
|
return Object.keys(trad).reduce((acc, current)=>{
|
1678
1725
|
acc[`${pluginId}.${current}`] = trad[current];
|
@@ -1707,14 +1754,14 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1707
1754
|
* ```
|
1708
1755
|
*
|
1709
1756
|
* @see {@link https://contributor.strapi.io/docs/core/content-manager/hooks/use-document-operations} for more information
|
1710
|
-
*/ const useDocumentActions = ()=>{
|
1757
|
+
*/ const useDocumentActions = (fromPreview = false, fromRelationModal = false)=>{
|
1711
1758
|
const { toggleNotification } = useNotification();
|
1712
1759
|
const { formatMessage } = useIntl();
|
1713
1760
|
const { trackUsage } = useTracking();
|
1714
1761
|
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
|
1715
1762
|
const navigate = useNavigate();
|
1716
1763
|
const setCurrentStep = useGuidedTour('useDocumentActions', (state)=>state.setCurrentStep);
|
1717
|
-
const [deleteDocument] = useDeleteDocumentMutation();
|
1764
|
+
const [deleteDocument, { isLoading: isDeleting }] = useDeleteDocumentMutation();
|
1718
1765
|
const _delete = React.useCallback(async ({ collectionType, model, documentId, params }, trackerProperty)=>{
|
1719
1766
|
try {
|
1720
1767
|
trackUsage('willDeleteEntry', trackerProperty);
|
@@ -1760,7 +1807,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1760
1807
|
formatMessage,
|
1761
1808
|
formatAPIError
|
1762
1809
|
]);
|
1763
|
-
const [deleteManyDocuments] = useDeleteManyDocumentsMutation();
|
1810
|
+
const [deleteManyDocuments, { isLoading: isDeletingMany }] = useDeleteManyDocumentsMutation();
|
1764
1811
|
const deleteMany = React.useCallback(async ({ model, documentIds, params })=>{
|
1765
1812
|
try {
|
1766
1813
|
trackUsage('willBulkDeleteEntries');
|
@@ -1803,7 +1850,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1803
1850
|
formatMessage,
|
1804
1851
|
formatAPIError
|
1805
1852
|
]);
|
1806
|
-
const [discardDocument] = useDiscardDocumentMutation();
|
1853
|
+
const [discardDocument, { isLoading: isDiscardingDocument }] = useDiscardDocumentMutation();
|
1807
1854
|
const discard = React.useCallback(async ({ collectionType, model, documentId, params })=>{
|
1808
1855
|
try {
|
1809
1856
|
const res = await discardDocument({
|
@@ -1842,10 +1889,12 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1842
1889
|
formatMessage,
|
1843
1890
|
toggleNotification
|
1844
1891
|
]);
|
1845
|
-
const [publishDocument] = usePublishDocumentMutation();
|
1892
|
+
const [publishDocument, { isLoading: isPublishing }] = usePublishDocumentMutation();
|
1846
1893
|
const publish = React.useCallback(async ({ collectionType, model, documentId, params }, data)=>{
|
1847
1894
|
try {
|
1848
|
-
trackUsage('willPublishEntry'
|
1895
|
+
trackUsage('willPublishEntry', {
|
1896
|
+
documentId
|
1897
|
+
});
|
1849
1898
|
const res = await publishDocument({
|
1850
1899
|
collectionType,
|
1851
1900
|
model,
|
@@ -1862,7 +1911,11 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1862
1911
|
error: res.error
|
1863
1912
|
};
|
1864
1913
|
}
|
1865
|
-
trackUsage('didPublishEntry'
|
1914
|
+
trackUsage('didPublishEntry', {
|
1915
|
+
documentId,
|
1916
|
+
fromPreview,
|
1917
|
+
fromRelationModal
|
1918
|
+
});
|
1866
1919
|
toggleNotification({
|
1867
1920
|
type: 'success',
|
1868
1921
|
message: formatMessage({
|
@@ -1881,11 +1934,13 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1881
1934
|
}, [
|
1882
1935
|
trackUsage,
|
1883
1936
|
publishDocument,
|
1937
|
+
fromPreview,
|
1938
|
+
fromRelationModal,
|
1884
1939
|
toggleNotification,
|
1885
1940
|
formatMessage,
|
1886
1941
|
formatAPIError
|
1887
1942
|
]);
|
1888
|
-
const [publishManyDocuments] = usePublishManyDocumentsMutation();
|
1943
|
+
const [publishManyDocuments, { isLoading: isPublishingMany }] = usePublishManyDocumentsMutation();
|
1889
1944
|
const publishMany = React.useCallback(async ({ model, documentIds, params })=>{
|
1890
1945
|
try {
|
1891
1946
|
// TODO Confirm tracking events for bulk publish?
|
@@ -1925,7 +1980,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1925
1980
|
formatMessage,
|
1926
1981
|
formatAPIError
|
1927
1982
|
]);
|
1928
|
-
const [updateDocument] = useUpdateDocumentMutation();
|
1983
|
+
const [updateDocument, { isLoading: isUpdating }] = useUpdateDocumentMutation();
|
1929
1984
|
const update = React.useCallback(async ({ collectionType, model, documentId, params }, data, trackerProperty)=>{
|
1930
1985
|
try {
|
1931
1986
|
trackUsage('willEditEntry', trackerProperty);
|
@@ -1949,7 +2004,12 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1949
2004
|
error: res.error
|
1950
2005
|
};
|
1951
2006
|
}
|
1952
|
-
trackUsage('didEditEntry',
|
2007
|
+
trackUsage('didEditEntry', {
|
2008
|
+
...trackerProperty,
|
2009
|
+
documentId: res.data.data.documentId,
|
2010
|
+
fromPreview,
|
2011
|
+
fromRelationModal
|
2012
|
+
});
|
1953
2013
|
toggleNotification({
|
1954
2014
|
type: 'success',
|
1955
2015
|
message: formatMessage({
|
@@ -1972,6 +2032,8 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1972
2032
|
}, [
|
1973
2033
|
trackUsage,
|
1974
2034
|
updateDocument,
|
2035
|
+
fromPreview,
|
2036
|
+
fromRelationModal,
|
1975
2037
|
toggleNotification,
|
1976
2038
|
formatMessage,
|
1977
2039
|
formatAPIError
|
@@ -2021,7 +2083,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
2021
2083
|
formatMessage,
|
2022
2084
|
formatAPIError
|
2023
2085
|
]);
|
2024
|
-
const [unpublishManyDocuments] = useUnpublishManyDocumentsMutation();
|
2086
|
+
const [unpublishManyDocuments, { isLoading: isUnpublishingMany }] = useUnpublishManyDocumentsMutation();
|
2025
2087
|
const unpublishMany = React.useCallback(async ({ model, documentIds, params })=>{
|
2026
2088
|
try {
|
2027
2089
|
trackUsage('willBulkUnpublishEntries');
|
@@ -2085,7 +2147,10 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
2085
2147
|
error: res.error
|
2086
2148
|
};
|
2087
2149
|
}
|
2088
|
-
trackUsage('didCreateEntry',
|
2150
|
+
trackUsage('didCreateEntry', {
|
2151
|
+
...trackerProperty,
|
2152
|
+
documentId: res.data.data.documentId
|
2153
|
+
});
|
2089
2154
|
toggleNotification({
|
2090
2155
|
type: 'success',
|
2091
2156
|
message: formatMessage({
|
@@ -2110,6 +2175,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
2110
2175
|
createDocument,
|
2111
2176
|
formatAPIError,
|
2112
2177
|
formatMessage,
|
2178
|
+
setCurrentStep,
|
2113
2179
|
toggleNotification,
|
2114
2180
|
trackUsage
|
2115
2181
|
]);
|
@@ -2212,6 +2278,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
2212
2278
|
getDoc
|
2213
2279
|
]);
|
2214
2280
|
return {
|
2281
|
+
isLoading: isPublishing || isUpdating || isDiscardingDocument || isDeleting || isDeletingMany || isUnpublishingMany || isPublishingMany,
|
2215
2282
|
autoClone,
|
2216
2283
|
clone,
|
2217
2284
|
create,
|
@@ -2227,7 +2294,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
2227
2294
|
};
|
2228
2295
|
};
|
2229
2296
|
|
2230
|
-
const ProtectedHistoryPage = /*#__PURE__*/ React.lazy(()=>import('./History-
|
2297
|
+
const ProtectedHistoryPage = /*#__PURE__*/ React.lazy(()=>import('./History-CORGJtti.mjs').then((mod)=>({
|
2231
2298
|
default: mod.ProtectedHistoryPage
|
2232
2299
|
})));
|
2233
2300
|
/**
|
@@ -2243,7 +2310,7 @@ const ProtectedHistoryPage = /*#__PURE__*/ React.lazy(()=>import('./History-5wpS
|
|
2243
2310
|
}
|
2244
2311
|
];
|
2245
2312
|
|
2246
|
-
const ProtectedPreviewPage = /*#__PURE__*/ React.lazy(()=>import('./Preview-
|
2313
|
+
const ProtectedPreviewPage = /*#__PURE__*/ React.lazy(()=>import('./Preview-D4L4y24d.mjs').then((mod)=>({
|
2247
2314
|
default: mod.ProtectedPreviewPage
|
2248
2315
|
})));
|
2249
2316
|
const routes$1 = [
|
@@ -2257,25 +2324,25 @@ const routes$1 = [
|
|
2257
2324
|
}
|
2258
2325
|
];
|
2259
2326
|
|
2260
|
-
const ProtectedEditViewPage = /*#__PURE__*/ lazy(()=>import('./EditViewPage-
|
2327
|
+
const ProtectedEditViewPage = /*#__PURE__*/ lazy(()=>import('./EditViewPage-CILYfIn8.mjs').then((mod)=>({
|
2261
2328
|
default: mod.ProtectedEditViewPage
|
2262
2329
|
})));
|
2263
|
-
const ProtectedListViewPage = /*#__PURE__*/ lazy(()=>import('./ListViewPage-
|
2330
|
+
const ProtectedListViewPage = /*#__PURE__*/ lazy(()=>import('./ListViewPage-B3Frxm6y.mjs').then((mod)=>({
|
2264
2331
|
default: mod.ProtectedListViewPage
|
2265
2332
|
})));
|
2266
|
-
const ProtectedListConfiguration = /*#__PURE__*/ lazy(()=>import('./ListConfigurationPage-
|
2333
|
+
const ProtectedListConfiguration = /*#__PURE__*/ lazy(()=>import('./ListConfigurationPage-Bgya7skT.mjs').then((mod)=>({
|
2267
2334
|
default: mod.ProtectedListConfiguration
|
2268
2335
|
})));
|
2269
|
-
const ProtectedEditConfigurationPage = /*#__PURE__*/ lazy(()=>import('./EditConfigurationPage-
|
2336
|
+
const ProtectedEditConfigurationPage = /*#__PURE__*/ lazy(()=>import('./EditConfigurationPage-DAbUlQVr.mjs').then((mod)=>({
|
2270
2337
|
default: mod.ProtectedEditConfigurationPage
|
2271
2338
|
})));
|
2272
|
-
const ProtectedComponentConfigurationPage = /*#__PURE__*/ lazy(()=>import('./ComponentConfigurationPage-
|
2339
|
+
const ProtectedComponentConfigurationPage = /*#__PURE__*/ lazy(()=>import('./ComponentConfigurationPage-Dtpjt9kW.mjs').then((mod)=>({
|
2273
2340
|
default: mod.ProtectedComponentConfigurationPage
|
2274
2341
|
})));
|
2275
|
-
const NoPermissions = /*#__PURE__*/ lazy(()=>import('./NoPermissionsPage-
|
2342
|
+
const NoPermissions = /*#__PURE__*/ lazy(()=>import('./NoPermissionsPage-BNXoY-4Q.mjs').then((mod)=>({
|
2276
2343
|
default: mod.NoPermissions
|
2277
2344
|
})));
|
2278
|
-
const NoContentType = /*#__PURE__*/ lazy(()=>import('./NoContentTypePage-
|
2345
|
+
const NoContentType = /*#__PURE__*/ lazy(()=>import('./NoContentTypePage-B2rBgAB9.mjs').then((mod)=>({
|
2279
2346
|
default: mod.NoContentType
|
2280
2347
|
})));
|
2281
2348
|
const CollectionTypePages = ()=>{
|
@@ -2411,6 +2478,7 @@ const DocumentActionButton = (action)=>{
|
|
2411
2478
|
variant: action.variant || 'default',
|
2412
2479
|
paddingTop: "7px",
|
2413
2480
|
paddingBottom: "7px",
|
2481
|
+
loading: action.loading,
|
2414
2482
|
children: action.label
|
2415
2483
|
}),
|
2416
2484
|
action.dialog?.type === 'dialog' ? /*#__PURE__*/ jsx(DocumentActionConfirmDialog, {
|
@@ -2565,7 +2633,7 @@ const convertActionVariantToIconColor = (variant = 'secondary')=>{
|
|
2565
2633
|
return 'primary600';
|
2566
2634
|
}
|
2567
2635
|
};
|
2568
|
-
const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary' })=>{
|
2636
|
+
const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary', loading })=>{
|
2569
2637
|
const { formatMessage } = useIntl();
|
2570
2638
|
const handleClose = async ()=>{
|
2571
2639
|
if (onCancel) {
|
@@ -2606,6 +2674,7 @@ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, cont
|
|
2606
2674
|
onClick: handleConfirm,
|
2607
2675
|
variant: variant,
|
2608
2676
|
fullWidth: true,
|
2677
|
+
loading: loading,
|
2609
2678
|
children: formatMessage({
|
2610
2679
|
id: 'app.components.Button.confirm',
|
2611
2680
|
defaultMessage: 'Confirm'
|
@@ -2660,8 +2729,8 @@ const transformData = (data)=>{
|
|
2660
2729
|
};
|
2661
2730
|
/* -------------------------------------------------------------------------------------------------
|
2662
2731
|
* DocumentActionComponents
|
2663
|
-
* -----------------------------------------------------------------------------------------------*/ const PublishAction$1 = ({ activeTab, documentId, model, collectionType, meta, document })=>{
|
2664
|
-
const
|
2732
|
+
* -----------------------------------------------------------------------------------------------*/ const PublishAction$1 = ({ activeTab, documentId, model, collectionType, meta, document, onPreview, fromPreview = false, fromRelationModal = false })=>{
|
2733
|
+
const schema = useDocumentContext('PublishAction', (state)=>state.document.schema);
|
2665
2734
|
const navigate = useNavigate();
|
2666
2735
|
const { toggleNotification } = useNotification();
|
2667
2736
|
const { _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
|
@@ -2670,7 +2739,7 @@ const transformData = (data)=>{
|
|
2670
2739
|
const { id } = useParams();
|
2671
2740
|
const { formatMessage } = useIntl();
|
2672
2741
|
const canPublish = useDocumentRBAC('PublishAction', ({ canPublish })=>canPublish);
|
2673
|
-
const { publish } = useDocumentActions();
|
2742
|
+
const { publish, isLoading } = useDocumentActions(fromPreview, fromRelationModal);
|
2674
2743
|
const [countDraftRelations, { isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }] = useLazyGetDraftRelationCountQuery();
|
2675
2744
|
const [localCountOfDraftRelations, setLocalCountOfDraftRelations] = React.useState(0);
|
2676
2745
|
const [serverCountOfDraftRelations, setServerCountOfDraftRelations] = React.useState(0);
|
@@ -2684,6 +2753,8 @@ const transformData = (data)=>{
|
|
2684
2753
|
const validate = useForm('PublishAction', (state)=>state.validate);
|
2685
2754
|
const setErrors = useForm('PublishAction', (state)=>state.setErrors);
|
2686
2755
|
const formValues = useForm('PublishAction', ({ values })=>values);
|
2756
|
+
const rootDocumentMeta = useDocumentContext('PublishAction', (state)=>state.rootDocumentMeta);
|
2757
|
+
const currentDocumentMeta = useDocumentContext('PublishAction', (state)=>state.meta);
|
2687
2758
|
React.useEffect(()=>{
|
2688
2759
|
if (isErrorDraftRelations) {
|
2689
2760
|
toggleNotification({
|
@@ -2786,11 +2857,12 @@ const transformData = (data)=>{
|
|
2786
2857
|
});
|
2787
2858
|
return;
|
2788
2859
|
}
|
2860
|
+
const isPublishingRelation = rootDocumentMeta.documentId !== currentDocumentMeta.documentId;
|
2789
2861
|
const res = await publish({
|
2790
2862
|
collectionType,
|
2791
2863
|
model,
|
2792
2864
|
documentId,
|
2793
|
-
params
|
2865
|
+
params: isPublishingRelation ? currentDocumentMeta.params : params
|
2794
2866
|
}, transformData(formValues));
|
2795
2867
|
if ('data' in res && collectionType !== SINGLE_TYPES) {
|
2796
2868
|
/**
|
@@ -2806,6 +2878,9 @@ const transformData = (data)=>{
|
|
2806
2878
|
}
|
2807
2879
|
} finally{
|
2808
2880
|
setSubmitting(false);
|
2881
|
+
if (onPreview) {
|
2882
|
+
onPreview();
|
2883
|
+
}
|
2809
2884
|
}
|
2810
2885
|
};
|
2811
2886
|
const totalDraftRelations = localCountOfDraftRelations + serverCountOfDraftRelations;
|
@@ -2814,6 +2889,12 @@ const transformData = (data)=>{
|
|
2814
2889
|
const enableDraftRelationsCount = false;
|
2815
2890
|
const hasDraftRelations = enableDraftRelationsCount;
|
2816
2891
|
return {
|
2892
|
+
loading: isLoading,
|
2893
|
+
position: [
|
2894
|
+
'panel',
|
2895
|
+
'preview',
|
2896
|
+
'relation-modal'
|
2897
|
+
],
|
2817
2898
|
/**
|
2818
2899
|
* Disabled when:
|
2819
2900
|
* - currently if you're cloning a document we don't support publish & clone at the same time.
|
@@ -2851,15 +2932,19 @@ const transformData = (data)=>{
|
|
2851
2932
|
};
|
2852
2933
|
};
|
2853
2934
|
PublishAction$1.type = 'publish';
|
2854
|
-
PublishAction$1.position =
|
2855
|
-
|
2935
|
+
PublishAction$1.position = [
|
2936
|
+
'panel',
|
2937
|
+
'preview',
|
2938
|
+
'relation-modal'
|
2939
|
+
];
|
2940
|
+
const UpdateAction = ({ activeTab, documentId, model, collectionType, onPreview, fromPreview = false, fromRelationModal = false })=>{
|
2856
2941
|
const navigate = useNavigate();
|
2857
2942
|
const { toggleNotification } = useNotification();
|
2858
2943
|
const { _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
|
2859
2944
|
const cloneMatch = useMatch(CLONE_PATH);
|
2860
2945
|
const isCloning = cloneMatch !== null;
|
2861
2946
|
const { formatMessage } = useIntl();
|
2862
|
-
const { create, update, clone } = useDocumentActions();
|
2947
|
+
const { create, update, clone, isLoading } = useDocumentActions(fromPreview, fromRelationModal);
|
2863
2948
|
const [{ query, rawQuery }] = useQueryParams();
|
2864
2949
|
const params = React.useMemo(()=>buildValidParams(query), [
|
2865
2950
|
query
|
@@ -2871,6 +2956,8 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
2871
2956
|
const validate = useForm('UpdateAction', (state)=>state.validate);
|
2872
2957
|
const setErrors = useForm('UpdateAction', (state)=>state.setErrors);
|
2873
2958
|
const resetForm = useForm('PublishAction', ({ resetForm })=>resetForm);
|
2959
|
+
const rootDocumentMeta = useDocumentContext('UpdateAction', (state)=>state.rootDocumentMeta);
|
2960
|
+
const currentDocumentMeta = useDocumentContext('UpdateAction', (state)=>state.meta);
|
2874
2961
|
const handleUpdate = React.useCallback(async ()=>{
|
2875
2962
|
setSubmitting(true);
|
2876
2963
|
try {
|
@@ -2907,11 +2994,12 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
2907
2994
|
setErrors(formatValidationErrors(res.error));
|
2908
2995
|
}
|
2909
2996
|
} else if (documentId || collectionType === SINGLE_TYPES) {
|
2997
|
+
const isEditingRelation = rootDocumentMeta.documentId !== currentDocumentMeta.documentId;
|
2910
2998
|
const res = await update({
|
2911
2999
|
collectionType,
|
2912
3000
|
model,
|
2913
3001
|
documentId,
|
2914
|
-
params
|
3002
|
+
params: isEditingRelation ? currentDocumentMeta.params : params
|
2915
3003
|
}, transformData(document));
|
2916
3004
|
if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
|
2917
3005
|
setErrors(formatValidationErrors(res.error));
|
@@ -2937,12 +3025,17 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
2937
3025
|
}
|
2938
3026
|
} finally{
|
2939
3027
|
setSubmitting(false);
|
3028
|
+
if (onPreview) {
|
3029
|
+
onPreview();
|
3030
|
+
}
|
2940
3031
|
}
|
2941
3032
|
}, [
|
2942
3033
|
clone,
|
2943
3034
|
cloneMatch?.params.origin,
|
2944
3035
|
collectionType,
|
2945
3036
|
create,
|
3037
|
+
currentDocumentMeta.documentId,
|
3038
|
+
currentDocumentMeta.params,
|
2946
3039
|
document,
|
2947
3040
|
documentId,
|
2948
3041
|
formatMessage,
|
@@ -2951,9 +3044,11 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
2951
3044
|
model,
|
2952
3045
|
modified,
|
2953
3046
|
navigate,
|
3047
|
+
onPreview,
|
2954
3048
|
params,
|
2955
3049
|
rawQuery,
|
2956
3050
|
resetForm,
|
3051
|
+
rootDocumentMeta.documentId,
|
2957
3052
|
setErrors,
|
2958
3053
|
setSubmitting,
|
2959
3054
|
toggleNotification,
|
@@ -2976,6 +3071,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
2976
3071
|
handleUpdate
|
2977
3072
|
]);
|
2978
3073
|
return {
|
3074
|
+
loading: isLoading,
|
2979
3075
|
/**
|
2980
3076
|
* Disabled when:
|
2981
3077
|
* - the form is submitting
|
@@ -2986,11 +3082,20 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
2986
3082
|
id: 'global.save',
|
2987
3083
|
defaultMessage: 'Save'
|
2988
3084
|
}),
|
2989
|
-
onClick: handleUpdate
|
3085
|
+
onClick: handleUpdate,
|
3086
|
+
position: [
|
3087
|
+
'panel',
|
3088
|
+
'preview',
|
3089
|
+
'relation-modal'
|
3090
|
+
]
|
2990
3091
|
};
|
2991
3092
|
};
|
2992
3093
|
UpdateAction.type = 'update';
|
2993
|
-
UpdateAction.position =
|
3094
|
+
UpdateAction.position = [
|
3095
|
+
'panel',
|
3096
|
+
'preview',
|
3097
|
+
'relation-modal'
|
3098
|
+
];
|
2994
3099
|
const UNPUBLISH_DRAFT_OPTIONS = {
|
2995
3100
|
KEEP: 'keep',
|
2996
3101
|
DISCARD: 'discard'
|
@@ -3140,7 +3245,7 @@ const DiscardAction = ({ activeTab, documentId, model, collectionType, document
|
|
3140
3245
|
const { formatMessage } = useIntl();
|
3141
3246
|
const { schema } = useDoc();
|
3142
3247
|
const canUpdate = useDocumentRBAC('DiscardAction', ({ canUpdate })=>canUpdate);
|
3143
|
-
const { discard } = useDocumentActions();
|
3248
|
+
const { discard, isLoading } = useDocumentActions();
|
3144
3249
|
const [{ query }] = useQueryParams();
|
3145
3250
|
const params = React.useMemo(()=>buildValidParams(query), [
|
3146
3251
|
query
|
@@ -3186,6 +3291,7 @@ const DiscardAction = ({ activeTab, documentId, model, collectionType, document
|
|
3186
3291
|
})
|
3187
3292
|
]
|
3188
3293
|
}),
|
3294
|
+
loading: isLoading,
|
3189
3295
|
onConfirm: async ()=>{
|
3190
3296
|
await discard({
|
3191
3297
|
collectionType,
|
@@ -3280,6 +3386,8 @@ const capitalise = (str)=>str.charAt(0).toUpperCase() + str.slice(1);
|
|
3280
3386
|
...restProps,
|
3281
3387
|
size: size,
|
3282
3388
|
variant: statusVariant,
|
3389
|
+
role: "status",
|
3390
|
+
"aria-label": status,
|
3283
3391
|
children: /*#__PURE__*/ jsx(Typography, {
|
3284
3392
|
tag: "span",
|
3285
3393
|
variant: "omega",
|
@@ -3622,7 +3730,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document })=>{
|
|
3622
3730
|
const { formatMessage } = useIntl();
|
3623
3731
|
const listViewPathMatch = useMatch(LIST_PATH);
|
3624
3732
|
const canDelete = useDocumentRBAC('DeleteAction', (state)=>state.canDelete);
|
3625
|
-
const { delete: deleteAction } = useDocumentActions();
|
3733
|
+
const { delete: deleteAction, isLoading } = useDocumentActions();
|
3626
3734
|
const { toggleNotification } = useNotification();
|
3627
3735
|
const setSubmitting = useForm('DeleteAction', (state)=>state.setSubmitting);
|
3628
3736
|
const isLocalized = document?.locale != null;
|
@@ -3661,6 +3769,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document })=>{
|
|
3661
3769
|
})
|
3662
3770
|
]
|
3663
3771
|
}),
|
3772
|
+
loading: isLoading,
|
3664
3773
|
onConfirm: async ()=>{
|
3665
3774
|
/**
|
3666
3775
|
* If we have a match, we're in the list view
|
@@ -4342,7 +4451,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
|
|
4342
4451
|
schema
|
4343
4452
|
]);
|
4344
4453
|
const [isDialogOpen, setIsDialogOpen] = React.useState(false);
|
4345
|
-
const { publishMany: bulkPublishAction } = useDocumentActions();
|
4454
|
+
const { publishMany: bulkPublishAction, isLoading: isPublishing } = useDocumentActions();
|
4346
4455
|
const [, { isLoading: isSubmittingForm }] = usePublishManyDocumentsMutation();
|
4347
4456
|
const selectedRows = useTable('publishAction', (state)=>state.selectedRows);
|
4348
4457
|
// Filter selected entries from the updated modal table rows
|
@@ -4414,7 +4523,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
|
|
4414
4523
|
/*#__PURE__*/ jsx(Button, {
|
4415
4524
|
onClick: toggleDialog,
|
4416
4525
|
disabled: selectedEntries.length === 0 || selectedEntries.length === selectedEntriesWithErrorsCount || selectedEntriesPublishedCount === selectedEntries.length || isLoading,
|
4417
|
-
loading: isSubmittingForm,
|
4526
|
+
loading: isPublishing || isSubmittingForm,
|
4418
4527
|
children: formatMessage({
|
4419
4528
|
id: 'app.utils.publish',
|
4420
4529
|
defaultMessage: 'Publish'
|
@@ -4427,7 +4536,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
|
|
4427
4536
|
/*#__PURE__*/ jsx(ConfirmDialogPublishAll, {
|
4428
4537
|
isOpen: isDialogOpen,
|
4429
4538
|
onToggleDialog: toggleDialog,
|
4430
|
-
isConfirmButtonLoading: isSubmittingForm,
|
4539
|
+
isConfirmButtonLoading: isPublishing || isSubmittingForm,
|
4431
4540
|
onConfirm: handleConfirmBulkPublish
|
4432
4541
|
})
|
4433
4542
|
]
|
@@ -4519,7 +4628,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
|
|
4519
4628
|
query
|
4520
4629
|
]);
|
4521
4630
|
const hasDeletePermission = useDocumentRBAC('deleteAction', (state)=>state.canDelete);
|
4522
|
-
const { deleteMany: bulkDeleteAction } = useDocumentActions();
|
4631
|
+
const { deleteMany: bulkDeleteAction, isLoading } = useDocumentActions();
|
4523
4632
|
const documentIds = documents.map(({ documentId })=>documentId);
|
4524
4633
|
const handleConfirmBulkDelete = async ()=>{
|
4525
4634
|
const res = await bulkDeleteAction({
|
@@ -4544,6 +4653,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
|
|
4544
4653
|
id: 'app.components.ConfirmDialog.title',
|
4545
4654
|
defaultMessage: 'Confirmation'
|
4546
4655
|
}),
|
4656
|
+
loading: isLoading,
|
4547
4657
|
content: /*#__PURE__*/ jsxs(Flex, {
|
4548
4658
|
direction: "column",
|
4549
4659
|
alignItems: "stretch",
|
@@ -4592,7 +4702,7 @@ const UnpublishAction = ({ documents, model })=>{
|
|
4592
4702
|
const hasPublishPermission = useDocumentRBAC('unpublishAction', (state)=>state.canPublish);
|
4593
4703
|
const hasI18nEnabled = Boolean(schema?.pluginOptions?.i18n);
|
4594
4704
|
const hasDraftAndPublishEnabled = Boolean(schema?.options?.draftAndPublish);
|
4595
|
-
const { unpublishMany: bulkUnpublishAction } = useDocumentActions();
|
4705
|
+
const { unpublishMany: bulkUnpublishAction, isLoading } = useDocumentActions();
|
4596
4706
|
const documentIds = documents.map(({ documentId })=>documentId);
|
4597
4707
|
const [{ query }] = useQueryParams();
|
4598
4708
|
const params = React.useMemo(()=>buildValidParams(query), [
|
@@ -4622,6 +4732,7 @@ const UnpublishAction = ({ documents, model })=>{
|
|
4622
4732
|
id: 'app.components.ConfirmDialog.title',
|
4623
4733
|
defaultMessage: 'Confirmation'
|
4624
4734
|
}),
|
4735
|
+
loading: isLoading,
|
4625
4736
|
content: /*#__PURE__*/ jsxs(Flex, {
|
4626
4737
|
direction: "column",
|
4627
4738
|
alignItems: "stretch",
|
@@ -5003,9 +5114,11 @@ const DEFAULT_TABLE_ROW_ACTIONS = [
|
|
5003
5114
|
* The response should still be filtered by the position, as the static property is new
|
5004
5115
|
* and not mandatory to avoid a breaking change.
|
5005
5116
|
*/ if (position) {
|
5006
|
-
return this.documentActions.filter((action)=>
|
5117
|
+
return this.documentActions.filter((action)=>{
|
5118
|
+
return action.position == undefined || [
|
5007
5119
|
action.position
|
5008
|
-
].flat().includes(position)
|
5120
|
+
].flat().includes(position);
|
5121
|
+
});
|
5009
5122
|
}
|
5010
5123
|
return this.documentActions;
|
5011
5124
|
},
|
@@ -5253,37 +5366,37 @@ const previewAdmin = {
|
|
5253
5366
|
|
5254
5367
|
function __variableDynamicImportRuntime1__(path) {
|
5255
5368
|
switch (path) {
|
5256
|
-
case './translations/ar.json': return import('./ar-DckYq_WK.
|
5257
|
-
case './translations/ca.json': return import('./ca-DviY7mRj.
|
5258
|
-
case './translations/cs.json': return import('./cs-C7OSYFQ7.
|
5259
|
-
case './translations/de.json': return import('./de-5QRlDHyR.
|
5260
|
-
case './translations/en.json': return import('./en-
|
5261
|
-
case './translations/es.json': return import('./es-DkoWSExG.
|
5262
|
-
case './translations/eu.json': return import('./eu-BG1xX7HK.
|
5263
|
-
case './translations/fr.json': return import('./fr-CFdRaRVj.
|
5264
|
-
case './translations/gu.json': return import('./gu-D5MMMXRs.
|
5265
|
-
case './translations/hi.json': return import('./hi-lp17SCjr.
|
5266
|
-
case './translations/hu.json': return import('./hu-CLka1U2C.
|
5267
|
-
case './translations/id.json': return import('./id-USfY9m1g.
|
5268
|
-
case './translations/it.json': return import('./it-BAHrwmYS.
|
5269
|
-
case './translations/ja.json': return import('./ja-BWKmBJFT.
|
5270
|
-
case './translations/ko.json': return import('./ko-CgADGBNt.
|
5271
|
-
case './translations/ml.json': return import('./ml-CnhCfOn_.
|
5272
|
-
case './translations/ms.json': return import('./ms-Bh09NFff.
|
5273
|
-
case './translations/nl.json': return import('./nl-C8HYflTc.
|
5274
|
-
case './translations/pl.json': return import('./pl-MFCZJZuZ.
|
5275
|
-
case './translations/pt-BR.json': return import('./pt-BR-CcotyBGJ.
|
5276
|
-
case './translations/pt.json': return import('./pt-HbmgeiYO.
|
5277
|
-
case './translations/ru.json': return import('./ru-CB4BUyQp.
|
5278
|
-
case './translations/sa.json': return import('./sa-n_aPA-pU.
|
5279
|
-
case './translations/sk.json': return import('./sk-tn_BDjE2.
|
5280
|
-
case './translations/sv.json': return import('./sv-cq4ZrQRd.
|
5281
|
-
case './translations/th.json': return import('./th-mUH7hEtc.
|
5282
|
-
case './translations/tr.json': return import('./tr-Yt38daxh.
|
5283
|
-
case './translations/uk.json': return import('./uk-
|
5284
|
-
case './translations/vi.json': return import('./vi-CvBGlTjr.
|
5285
|
-
case './translations/zh-Hans.json': return import('./zh-Hans-
|
5286
|
-
case './translations/zh.json': return import('./zh-BmF-sHaT.
|
5369
|
+
case './translations/ar.json': return import('./ar-DckYq_WK.mjs');
|
5370
|
+
case './translations/ca.json': return import('./ca-DviY7mRj.mjs');
|
5371
|
+
case './translations/cs.json': return import('./cs-C7OSYFQ7.mjs');
|
5372
|
+
case './translations/de.json': return import('./de-5QRlDHyR.mjs');
|
5373
|
+
case './translations/en.json': return import('./en-C2zEwS3-.mjs');
|
5374
|
+
case './translations/es.json': return import('./es-DkoWSExG.mjs');
|
5375
|
+
case './translations/eu.json': return import('./eu-BG1xX7HK.mjs');
|
5376
|
+
case './translations/fr.json': return import('./fr-CFdRaRVj.mjs');
|
5377
|
+
case './translations/gu.json': return import('./gu-D5MMMXRs.mjs');
|
5378
|
+
case './translations/hi.json': return import('./hi-lp17SCjr.mjs');
|
5379
|
+
case './translations/hu.json': return import('./hu-CLka1U2C.mjs');
|
5380
|
+
case './translations/id.json': return import('./id-USfY9m1g.mjs');
|
5381
|
+
case './translations/it.json': return import('./it-BAHrwmYS.mjs');
|
5382
|
+
case './translations/ja.json': return import('./ja-BWKmBJFT.mjs');
|
5383
|
+
case './translations/ko.json': return import('./ko-CgADGBNt.mjs');
|
5384
|
+
case './translations/ml.json': return import('./ml-CnhCfOn_.mjs');
|
5385
|
+
case './translations/ms.json': return import('./ms-Bh09NFff.mjs');
|
5386
|
+
case './translations/nl.json': return import('./nl-C8HYflTc.mjs');
|
5387
|
+
case './translations/pl.json': return import('./pl-MFCZJZuZ.mjs');
|
5388
|
+
case './translations/pt-BR.json': return import('./pt-BR-CcotyBGJ.mjs');
|
5389
|
+
case './translations/pt.json': return import('./pt-HbmgeiYO.mjs');
|
5390
|
+
case './translations/ru.json': return import('./ru-CB4BUyQp.mjs');
|
5391
|
+
case './translations/sa.json': return import('./sa-n_aPA-pU.mjs');
|
5392
|
+
case './translations/sk.json': return import('./sk-tn_BDjE2.mjs');
|
5393
|
+
case './translations/sv.json': return import('./sv-cq4ZrQRd.mjs');
|
5394
|
+
case './translations/th.json': return import('./th-mUH7hEtc.mjs');
|
5395
|
+
case './translations/tr.json': return import('./tr-Yt38daxh.mjs');
|
5396
|
+
case './translations/uk.json': return import('./uk-BtM6WnaE.mjs');
|
5397
|
+
case './translations/vi.json': return import('./vi-CvBGlTjr.mjs');
|
5398
|
+
case './translations/zh-Hans.json': return import('./zh-Hans-DEAhqI3x.mjs');
|
5399
|
+
case './translations/zh.json': return import('./zh-BmF-sHaT.mjs');
|
5287
5400
|
default: return new Promise(function(resolve, reject) {
|
5288
5401
|
(typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(
|
5289
5402
|
reject.bind(null, new Error("Unknown variable dynamic import: " + path))
|
@@ -5311,7 +5424,7 @@ var index = {
|
|
5311
5424
|
app.router.addRoute({
|
5312
5425
|
path: 'content-manager/*',
|
5313
5426
|
lazy: async ()=>{
|
5314
|
-
const { Layout } = await import('./layout-
|
5427
|
+
const { Layout } = await import('./layout-C8AQHDvk.mjs');
|
5315
5428
|
return {
|
5316
5429
|
Component: Layout
|
5317
5430
|
};
|
@@ -5346,5 +5459,5 @@ var index = {
|
|
5346
5459
|
}
|
5347
5460
|
};
|
5348
5461
|
|
5349
|
-
export {
|
5350
|
-
//# sourceMappingURL=index-
|
5462
|
+
export { useGetAllDocumentsQuery as A, BulkActionsRenderer as B, COLLECTION_TYPES as C, DocumentStatus as D, convertListLayoutToFieldLayouts as E, capitalise as F, useDocLayout as G, HOOKS as H, InjectionZone as I, useUpdateContentTypeConfigurationMutation as J, ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD as K, extractContentTypeComponents as L, DEFAULT_SETTINGS as M, convertEditLayoutToFieldLayouts as N, removeFieldsThatDontExistOnSchema as O, PERMISSIONS as P, prepareTempKeys as Q, RelativeTime as R, SINGLE_TYPES as S, TableActions as T, useDocument as U, useGetPreviewUrlQuery as V, index as W, useContentManagerContext as X, useDocumentActions as Y, useGetInitialDataQuery as a, useGetAllContentTypeSettingsQuery as b, useDocumentContext as c, useDocumentLayout as d, createDefaultForm as e, useLazyGetDocumentQuery as f, getTranslation as g, createYupSchema as h, DocumentRBAC as i, DocumentActionButton as j, buildValidParams as k, contentManagerApi as l, useDoc as m, CLONE_PATH as n, useDocumentRBAC as o, DocumentContextProvider as p, Header as q, Panels as r, setInitialData as s, transformDocument as t, useContentTypeSchema as u, useGetContentTypeConfigurationQuery as v, CREATOR_FIELDS as w, getMainField as x, getDisplayName as y, checkIfAttributeIsDisplayable as z };
|
5463
|
+
//# sourceMappingURL=index-DsOgMEE-.mjs.map
|