@strapi/content-manager 0.0.0-experimental.d1602f22dc638a4c3c5084965fd6126fff5e9d4f → 0.0.0-experimental.d2a56e52af31fcf0f0c582a5a2e58e310966e96b
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-DXwOtpq1.js → ComponentConfigurationPage-CGn9IYeg.js} +6 -6
- package/dist/admin/chunks/{ComponentConfigurationPage-DXwOtpq1.js.map → ComponentConfigurationPage-CGn9IYeg.js.map} +1 -1
- package/dist/admin/chunks/{ComponentConfigurationPage-DhYZp4nN.js → ComponentConfigurationPage-DgYK4xW6.mjs} +9 -9
- package/dist/admin/chunks/ComponentConfigurationPage-DgYK4xW6.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-D0Ng758X.js → EditConfigurationPage-7w_-4jF4.js} +6 -6
- package/dist/admin/chunks/{EditConfigurationPage-D0Ng758X.js.map → EditConfigurationPage-7w_-4jF4.js.map} +1 -1
- package/dist/admin/chunks/{EditConfigurationPage-DDuPch5d.js → EditConfigurationPage-C05SwwH-.mjs} +9 -9
- package/dist/admin/chunks/EditConfigurationPage-C05SwwH-.mjs.map +1 -0
- package/dist/admin/chunks/EditViewPage-CVRJBOEv.mjs +318 -0
- package/dist/admin/chunks/EditViewPage-CVRJBOEv.mjs.map +1 -0
- package/dist/admin/chunks/EditViewPage-CuQfZJDf.js +341 -0
- package/dist/admin/chunks/EditViewPage-CuQfZJDf.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-BEqiuSvQ.js → Form-BqNYRsCb.js} +5 -5
- package/dist/admin/chunks/{Form-BEqiuSvQ.js.map → Form-BqNYRsCb.js.map} +1 -1
- package/dist/admin/chunks/{Form-CZmB6JIg.js → Form-DaEnqAeV.mjs} +5 -5
- package/dist/admin/chunks/Form-DaEnqAeV.mjs.map +1 -0
- package/dist/admin/chunks/{History-CPYXgxkS.js → History-B7dGNfmx.mjs} +68 -15
- package/dist/admin/chunks/History-B7dGNfmx.mjs.map +1 -0
- package/dist/admin/chunks/{History-BlLKDZSw.js → History-CEoOna4w.js} +67 -14
- package/dist/admin/chunks/History-CEoOna4w.js.map +1 -0
- package/dist/admin/chunks/{Input-CLX3C5DI.js → Input-B3QUS9rv.mjs} +2273 -511
- package/dist/admin/chunks/Input-B3QUS9rv.mjs.map +1 -0
- package/dist/admin/chunks/{Input-DiR2Xfa7.js → Input-B8I0b9aD.js} +2284 -519
- package/dist/admin/chunks/Input-B8I0b9aD.js.map +1 -0
- package/dist/admin/chunks/{ListConfigurationPage-DdTp-HxB.js → ListConfigurationPage-BbjJweN-.js} +7 -7
- package/dist/admin/chunks/{ListConfigurationPage-DdTp-HxB.js.map → ListConfigurationPage-BbjJweN-.js.map} +1 -1
- package/dist/admin/chunks/{ListConfigurationPage-CNvotSqe.js → ListConfigurationPage-VtFQ5mOK.mjs} +8 -8
- package/dist/admin/chunks/ListConfigurationPage-VtFQ5mOK.mjs.map +1 -0
- package/dist/admin/chunks/{ListViewPage-MJNfQTp-.js → ListViewPage-Cg3zbT7Y.mjs} +5 -5
- package/dist/admin/chunks/ListViewPage-Cg3zbT7Y.mjs.map +1 -0
- package/dist/admin/chunks/{ListViewPage-BtXYjEYz.js → ListViewPage-CzUm2VJN.js} +8 -8
- package/dist/admin/chunks/{ListViewPage-BtXYjEYz.js.map → ListViewPage-CzUm2VJN.js.map} +1 -1
- package/dist/admin/chunks/{NoContentTypePage-CVvVpwj4.js → NoContentTypePage-FcLLn2Wt.js} +3 -2
- package/dist/admin/chunks/{NoContentTypePage-BJrZvYPY.js.map → NoContentTypePage-FcLLn2Wt.js.map} +1 -1
- package/dist/admin/chunks/{NoContentTypePage-BJrZvYPY.js → NoContentTypePage-NOf7Aq_E.mjs} +3 -2
- package/dist/admin/chunks/NoContentTypePage-NOf7Aq_E.mjs.map +1 -0
- package/dist/admin/chunks/{NoPermissionsPage-C5yWg70d.js → NoPermissionsPage-DmeyXtCk.js} +3 -2
- package/dist/admin/chunks/{NoPermissionsPage-BulvG4hB.js.map → NoPermissionsPage-DmeyXtCk.js.map} +1 -1
- package/dist/admin/chunks/{NoPermissionsPage-BulvG4hB.js → NoPermissionsPage-OVr9KG6L.mjs} +3 -2
- package/dist/admin/chunks/NoPermissionsPage-OVr9KG6L.mjs.map +1 -0
- package/dist/admin/chunks/Preview-BH9l1QXk.mjs +593 -0
- package/dist/admin/chunks/Preview-BH9l1QXk.mjs.map +1 -0
- package/dist/admin/chunks/Preview-BYKkpc11.js +615 -0
- package/dist/admin/chunks/Preview-BYKkpc11.js.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-BRlRBRLb.js → index-BE7PI9Wp.mjs} +273 -173
- package/dist/admin/chunks/index-BE7PI9Wp.mjs.map +1 -0
- package/dist/admin/chunks/{index-ZIwOPk6p.js → index-BwIhYBsG.js} +246 -142
- package/dist/admin/chunks/index-BwIhYBsG.js.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-B3-guCPG.js → layout-9zlUM9V3.mjs} +81 -7
- package/dist/admin/chunks/layout-9zlUM9V3.mjs.map +1 -0
- package/dist/admin/chunks/{layout-ameRNiAM.js → layout-Cr0HaJVS.js} +87 -13
- package/dist/admin/chunks/layout-Cr0HaJVS.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-CmoFVrKj.js → usePrev-DgZBp9Oo.js} +18 -2
- package/dist/admin/chunks/usePrev-DgZBp9Oo.js.map +1 -0
- package/dist/admin/chunks/{relations-DYQAaXwZ.js → usePrev-PisKKvhT.mjs} +18 -4
- package/dist/admin/chunks/usePrev-PisKKvhT.mjs.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-CI0HKio3.mjs} +1 -1
- package/dist/admin/chunks/{zh-Hans-CI0HKio3.js.map → zh-Hans-CI0HKio3.mjs.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 +4 -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 +1 -0
- 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 -0
- 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 +8 -8
- package/dist/admin/chunks/CardDragPreview-DwuraT0K.js.map +0 -1
- package/dist/admin/chunks/ComponentConfigurationPage-DhYZp4nN.js.map +0 -1
- package/dist/admin/chunks/ComponentIcon-BZcTc4rj.js.map +0 -1
- package/dist/admin/chunks/EditConfigurationPage-DDuPch5d.js.map +0 -1
- package/dist/admin/chunks/EditViewPage-jCZnUuCR.js +0 -265
- package/dist/admin/chunks/EditViewPage-jCZnUuCR.js.map +0 -1
- package/dist/admin/chunks/EditViewPage-zSnDwLz3.js +0 -288
- package/dist/admin/chunks/EditViewPage-zSnDwLz3.js.map +0 -1
- package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.js.map +0 -1
- package/dist/admin/chunks/Form-CZmB6JIg.js.map +0 -1
- package/dist/admin/chunks/History-BlLKDZSw.js.map +0 -1
- package/dist/admin/chunks/History-CPYXgxkS.js.map +0 -1
- package/dist/admin/chunks/Input-CLX3C5DI.js.map +0 -1
- package/dist/admin/chunks/Input-DiR2Xfa7.js.map +0 -1
- package/dist/admin/chunks/ListConfigurationPage-CNvotSqe.js.map +0 -1
- package/dist/admin/chunks/ListViewPage-MJNfQTp-.js.map +0 -1
- package/dist/admin/chunks/NoContentTypePage-CVvVpwj4.js.map +0 -1
- package/dist/admin/chunks/NoPermissionsPage-C5yWg70d.js.map +0 -1
- package/dist/admin/chunks/Preview-DEuQgQg2.js +0 -482
- package/dist/admin/chunks/Preview-DEuQgQg2.js.map +0 -1
- package/dist/admin/chunks/Preview-H74FQ9Cq.js +0 -504
- package/dist/admin/chunks/Preview-H74FQ9Cq.js.map +0 -1
- package/dist/admin/chunks/Relations-C8jbZPVK.js +0 -827
- package/dist/admin/chunks/Relations-C8jbZPVK.js.map +0 -1
- package/dist/admin/chunks/Relations-mxOUS7TJ.js +0 -853
- package/dist/admin/chunks/Relations-mxOUS7TJ.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-BRlRBRLb.js.map +0 -1
- package/dist/admin/chunks/index-ZIwOPk6p.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-B3-guCPG.js.map +0 -1
- package/dist/admin/chunks/layout-ameRNiAM.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-CmoFVrKj.js.map +0 -1
- package/dist/admin/chunks/relations-DYQAaXwZ.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];
|
@@ -1714,7 +1761,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
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,9 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1862
1911
|
error: res.error
|
1863
1912
|
};
|
1864
1913
|
}
|
1865
|
-
trackUsage('didPublishEntry'
|
1914
|
+
trackUsage('didPublishEntry', {
|
1915
|
+
documentId
|
1916
|
+
});
|
1866
1917
|
toggleNotification({
|
1867
1918
|
type: 'success',
|
1868
1919
|
message: formatMessage({
|
@@ -1885,7 +1936,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1885
1936
|
formatMessage,
|
1886
1937
|
formatAPIError
|
1887
1938
|
]);
|
1888
|
-
const [publishManyDocuments] = usePublishManyDocumentsMutation();
|
1939
|
+
const [publishManyDocuments, { isLoading: isPublishingMany }] = usePublishManyDocumentsMutation();
|
1889
1940
|
const publishMany = React.useCallback(async ({ model, documentIds, params })=>{
|
1890
1941
|
try {
|
1891
1942
|
// TODO Confirm tracking events for bulk publish?
|
@@ -1925,7 +1976,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1925
1976
|
formatMessage,
|
1926
1977
|
formatAPIError
|
1927
1978
|
]);
|
1928
|
-
const [updateDocument] = useUpdateDocumentMutation();
|
1979
|
+
const [updateDocument, { isLoading: isUpdating }] = useUpdateDocumentMutation();
|
1929
1980
|
const update = React.useCallback(async ({ collectionType, model, documentId, params }, data, trackerProperty)=>{
|
1930
1981
|
try {
|
1931
1982
|
trackUsage('willEditEntry', trackerProperty);
|
@@ -1949,7 +2000,10 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
1949
2000
|
error: res.error
|
1950
2001
|
};
|
1951
2002
|
}
|
1952
|
-
trackUsage('didEditEntry',
|
2003
|
+
trackUsage('didEditEntry', {
|
2004
|
+
...trackerProperty,
|
2005
|
+
documentId: res.data.data.documentId
|
2006
|
+
});
|
1953
2007
|
toggleNotification({
|
1954
2008
|
type: 'success',
|
1955
2009
|
message: formatMessage({
|
@@ -2021,7 +2075,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
2021
2075
|
formatMessage,
|
2022
2076
|
formatAPIError
|
2023
2077
|
]);
|
2024
|
-
const [unpublishManyDocuments] = useUnpublishManyDocumentsMutation();
|
2078
|
+
const [unpublishManyDocuments, { isLoading: isUnpublishingMany }] = useUnpublishManyDocumentsMutation();
|
2025
2079
|
const unpublishMany = React.useCallback(async ({ model, documentIds, params })=>{
|
2026
2080
|
try {
|
2027
2081
|
trackUsage('willBulkUnpublishEntries');
|
@@ -2085,7 +2139,10 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
2085
2139
|
error: res.error
|
2086
2140
|
};
|
2087
2141
|
}
|
2088
|
-
trackUsage('didCreateEntry',
|
2142
|
+
trackUsage('didCreateEntry', {
|
2143
|
+
...trackerProperty,
|
2144
|
+
documentId: res.data.data.documentId
|
2145
|
+
});
|
2089
2146
|
toggleNotification({
|
2090
2147
|
type: 'success',
|
2091
2148
|
message: formatMessage({
|
@@ -2212,6 +2269,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
2212
2269
|
getDoc
|
2213
2270
|
]);
|
2214
2271
|
return {
|
2272
|
+
isLoading: isPublishing || isUpdating || isDiscardingDocument || isDeleting || isDeletingMany || isUnpublishingMany || isPublishingMany,
|
2215
2273
|
autoClone,
|
2216
2274
|
clone,
|
2217
2275
|
create,
|
@@ -2227,7 +2285,7 @@ const DEFAULT_UNEXPECTED_ERROR_MSG = {
|
|
2227
2285
|
};
|
2228
2286
|
};
|
2229
2287
|
|
2230
|
-
const ProtectedHistoryPage = /*#__PURE__*/ React.lazy(()=>import('./History-
|
2288
|
+
const ProtectedHistoryPage = /*#__PURE__*/ React.lazy(()=>import('./History-B7dGNfmx.mjs').then((mod)=>({
|
2231
2289
|
default: mod.ProtectedHistoryPage
|
2232
2290
|
})));
|
2233
2291
|
/**
|
@@ -2243,7 +2301,7 @@ const ProtectedHistoryPage = /*#__PURE__*/ React.lazy(()=>import('./History-CPYX
|
|
2243
2301
|
}
|
2244
2302
|
];
|
2245
2303
|
|
2246
|
-
const ProtectedPreviewPage = /*#__PURE__*/ React.lazy(()=>import('./Preview-
|
2304
|
+
const ProtectedPreviewPage = /*#__PURE__*/ React.lazy(()=>import('./Preview-BH9l1QXk.mjs').then((mod)=>({
|
2247
2305
|
default: mod.ProtectedPreviewPage
|
2248
2306
|
})));
|
2249
2307
|
const routes$1 = [
|
@@ -2257,25 +2315,25 @@ const routes$1 = [
|
|
2257
2315
|
}
|
2258
2316
|
];
|
2259
2317
|
|
2260
|
-
const ProtectedEditViewPage = /*#__PURE__*/ lazy(()=>import('./EditViewPage-
|
2318
|
+
const ProtectedEditViewPage = /*#__PURE__*/ lazy(()=>import('./EditViewPage-CVRJBOEv.mjs').then((mod)=>({
|
2261
2319
|
default: mod.ProtectedEditViewPage
|
2262
2320
|
})));
|
2263
|
-
const ProtectedListViewPage = /*#__PURE__*/ lazy(()=>import('./ListViewPage-
|
2321
|
+
const ProtectedListViewPage = /*#__PURE__*/ lazy(()=>import('./ListViewPage-Cg3zbT7Y.mjs').then((mod)=>({
|
2264
2322
|
default: mod.ProtectedListViewPage
|
2265
2323
|
})));
|
2266
|
-
const ProtectedListConfiguration = /*#__PURE__*/ lazy(()=>import('./ListConfigurationPage-
|
2324
|
+
const ProtectedListConfiguration = /*#__PURE__*/ lazy(()=>import('./ListConfigurationPage-VtFQ5mOK.mjs').then((mod)=>({
|
2267
2325
|
default: mod.ProtectedListConfiguration
|
2268
2326
|
})));
|
2269
|
-
const ProtectedEditConfigurationPage = /*#__PURE__*/ lazy(()=>import('./EditConfigurationPage-
|
2327
|
+
const ProtectedEditConfigurationPage = /*#__PURE__*/ lazy(()=>import('./EditConfigurationPage-C05SwwH-.mjs').then((mod)=>({
|
2270
2328
|
default: mod.ProtectedEditConfigurationPage
|
2271
2329
|
})));
|
2272
|
-
const ProtectedComponentConfigurationPage = /*#__PURE__*/ lazy(()=>import('./ComponentConfigurationPage-
|
2330
|
+
const ProtectedComponentConfigurationPage = /*#__PURE__*/ lazy(()=>import('./ComponentConfigurationPage-DgYK4xW6.mjs').then((mod)=>({
|
2273
2331
|
default: mod.ProtectedComponentConfigurationPage
|
2274
2332
|
})));
|
2275
|
-
const NoPermissions = /*#__PURE__*/ lazy(()=>import('./NoPermissionsPage-
|
2333
|
+
const NoPermissions = /*#__PURE__*/ lazy(()=>import('./NoPermissionsPage-OVr9KG6L.mjs').then((mod)=>({
|
2276
2334
|
default: mod.NoPermissions
|
2277
2335
|
})));
|
2278
|
-
const NoContentType = /*#__PURE__*/ lazy(()=>import('./NoContentTypePage-
|
2336
|
+
const NoContentType = /*#__PURE__*/ lazy(()=>import('./NoContentTypePage-NOf7Aq_E.mjs').then((mod)=>({
|
2279
2337
|
default: mod.NoContentType
|
2280
2338
|
})));
|
2281
2339
|
const CollectionTypePages = ()=>{
|
@@ -2411,6 +2469,7 @@ const DocumentActionButton = (action)=>{
|
|
2411
2469
|
variant: action.variant || 'default',
|
2412
2470
|
paddingTop: "7px",
|
2413
2471
|
paddingBottom: "7px",
|
2472
|
+
loading: action.loading,
|
2414
2473
|
children: action.label
|
2415
2474
|
}),
|
2416
2475
|
action.dialog?.type === 'dialog' ? /*#__PURE__*/ jsx(DocumentActionConfirmDialog, {
|
@@ -2565,7 +2624,7 @@ const convertActionVariantToIconColor = (variant = 'secondary')=>{
|
|
2565
2624
|
return 'primary600';
|
2566
2625
|
}
|
2567
2626
|
};
|
2568
|
-
const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary' })=>{
|
2627
|
+
const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary', loading })=>{
|
2569
2628
|
const { formatMessage } = useIntl();
|
2570
2629
|
const handleClose = async ()=>{
|
2571
2630
|
if (onCancel) {
|
@@ -2606,6 +2665,7 @@ const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, cont
|
|
2606
2665
|
onClick: handleConfirm,
|
2607
2666
|
variant: variant,
|
2608
2667
|
fullWidth: true,
|
2668
|
+
loading: loading,
|
2609
2669
|
children: formatMessage({
|
2610
2670
|
id: 'app.components.Button.confirm',
|
2611
2671
|
defaultMessage: 'Confirm'
|
@@ -2660,8 +2720,8 @@ const transformData = (data)=>{
|
|
2660
2720
|
};
|
2661
2721
|
/* -------------------------------------------------------------------------------------------------
|
2662
2722
|
* DocumentActionComponents
|
2663
|
-
* -----------------------------------------------------------------------------------------------*/ const PublishAction$1 = ({ activeTab, documentId, model, collectionType, meta, document })=>{
|
2664
|
-
const
|
2723
|
+
* -----------------------------------------------------------------------------------------------*/ const PublishAction$1 = ({ activeTab, documentId, model, collectionType, meta, document, onPreview })=>{
|
2724
|
+
const schema = useDocumentContext('PublishAction', (state)=>state.document.schema);
|
2665
2725
|
const navigate = useNavigate();
|
2666
2726
|
const { toggleNotification } = useNotification();
|
2667
2727
|
const { _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
|
@@ -2670,7 +2730,7 @@ const transformData = (data)=>{
|
|
2670
2730
|
const { id } = useParams();
|
2671
2731
|
const { formatMessage } = useIntl();
|
2672
2732
|
const canPublish = useDocumentRBAC('PublishAction', ({ canPublish })=>canPublish);
|
2673
|
-
const { publish } = useDocumentActions();
|
2733
|
+
const { publish, isLoading } = useDocumentActions();
|
2674
2734
|
const [countDraftRelations, { isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }] = useLazyGetDraftRelationCountQuery();
|
2675
2735
|
const [localCountOfDraftRelations, setLocalCountOfDraftRelations] = React.useState(0);
|
2676
2736
|
const [serverCountOfDraftRelations, setServerCountOfDraftRelations] = React.useState(0);
|
@@ -2684,6 +2744,8 @@ const transformData = (data)=>{
|
|
2684
2744
|
const validate = useForm('PublishAction', (state)=>state.validate);
|
2685
2745
|
const setErrors = useForm('PublishAction', (state)=>state.setErrors);
|
2686
2746
|
const formValues = useForm('PublishAction', ({ values })=>values);
|
2747
|
+
const rootDocumentMeta = useDocumentContext('PublishAction', (state)=>state.rootDocumentMeta);
|
2748
|
+
const currentDocumentMeta = useDocumentContext('PublishAction', (state)=>state.meta);
|
2687
2749
|
React.useEffect(()=>{
|
2688
2750
|
if (isErrorDraftRelations) {
|
2689
2751
|
toggleNotification({
|
@@ -2786,11 +2848,12 @@ const transformData = (data)=>{
|
|
2786
2848
|
});
|
2787
2849
|
return;
|
2788
2850
|
}
|
2851
|
+
const isPublishingRelation = rootDocumentMeta.documentId !== currentDocumentMeta.documentId;
|
2789
2852
|
const res = await publish({
|
2790
2853
|
collectionType,
|
2791
2854
|
model,
|
2792
2855
|
documentId,
|
2793
|
-
params
|
2856
|
+
params: isPublishingRelation ? currentDocumentMeta.params : params
|
2794
2857
|
}, transformData(formValues));
|
2795
2858
|
if ('data' in res && collectionType !== SINGLE_TYPES) {
|
2796
2859
|
/**
|
@@ -2806,6 +2869,9 @@ const transformData = (data)=>{
|
|
2806
2869
|
}
|
2807
2870
|
} finally{
|
2808
2871
|
setSubmitting(false);
|
2872
|
+
if (onPreview) {
|
2873
|
+
onPreview();
|
2874
|
+
}
|
2809
2875
|
}
|
2810
2876
|
};
|
2811
2877
|
const totalDraftRelations = localCountOfDraftRelations + serverCountOfDraftRelations;
|
@@ -2814,6 +2880,12 @@ const transformData = (data)=>{
|
|
2814
2880
|
const enableDraftRelationsCount = false;
|
2815
2881
|
const hasDraftRelations = enableDraftRelationsCount;
|
2816
2882
|
return {
|
2883
|
+
loading: isLoading,
|
2884
|
+
position: [
|
2885
|
+
'panel',
|
2886
|
+
'preview',
|
2887
|
+
'relation-modal'
|
2888
|
+
],
|
2817
2889
|
/**
|
2818
2890
|
* Disabled when:
|
2819
2891
|
* - currently if you're cloning a document we don't support publish & clone at the same time.
|
@@ -2851,15 +2923,19 @@ const transformData = (data)=>{
|
|
2851
2923
|
};
|
2852
2924
|
};
|
2853
2925
|
PublishAction$1.type = 'publish';
|
2854
|
-
PublishAction$1.position =
|
2855
|
-
|
2926
|
+
PublishAction$1.position = [
|
2927
|
+
'panel',
|
2928
|
+
'preview',
|
2929
|
+
'relation-modal'
|
2930
|
+
];
|
2931
|
+
const UpdateAction = ({ activeTab, documentId, model, collectionType, onPreview })=>{
|
2856
2932
|
const navigate = useNavigate();
|
2857
2933
|
const { toggleNotification } = useNotification();
|
2858
2934
|
const { _unstableFormatValidationErrors: formatValidationErrors } = useAPIErrorHandler();
|
2859
2935
|
const cloneMatch = useMatch(CLONE_PATH);
|
2860
2936
|
const isCloning = cloneMatch !== null;
|
2861
2937
|
const { formatMessage } = useIntl();
|
2862
|
-
const { create, update, clone } = useDocumentActions();
|
2938
|
+
const { create, update, clone, isLoading } = useDocumentActions();
|
2863
2939
|
const [{ query, rawQuery }] = useQueryParams();
|
2864
2940
|
const params = React.useMemo(()=>buildValidParams(query), [
|
2865
2941
|
query
|
@@ -2871,6 +2947,8 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
2871
2947
|
const validate = useForm('UpdateAction', (state)=>state.validate);
|
2872
2948
|
const setErrors = useForm('UpdateAction', (state)=>state.setErrors);
|
2873
2949
|
const resetForm = useForm('PublishAction', ({ resetForm })=>resetForm);
|
2950
|
+
const rootDocumentMeta = useDocumentContext('UpdateAction', (state)=>state.rootDocumentMeta);
|
2951
|
+
const currentDocumentMeta = useDocumentContext('UpdateAction', (state)=>state.meta);
|
2874
2952
|
const handleUpdate = React.useCallback(async ()=>{
|
2875
2953
|
setSubmitting(true);
|
2876
2954
|
try {
|
@@ -2907,11 +2985,12 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
2907
2985
|
setErrors(formatValidationErrors(res.error));
|
2908
2986
|
}
|
2909
2987
|
} else if (documentId || collectionType === SINGLE_TYPES) {
|
2988
|
+
const isEditingRelation = rootDocumentMeta.documentId !== currentDocumentMeta.documentId;
|
2910
2989
|
const res = await update({
|
2911
2990
|
collectionType,
|
2912
2991
|
model,
|
2913
2992
|
documentId,
|
2914
|
-
params
|
2993
|
+
params: isEditingRelation ? currentDocumentMeta.params : params
|
2915
2994
|
}, transformData(document));
|
2916
2995
|
if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
|
2917
2996
|
setErrors(formatValidationErrors(res.error));
|
@@ -2937,6 +3016,9 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
2937
3016
|
}
|
2938
3017
|
} finally{
|
2939
3018
|
setSubmitting(false);
|
3019
|
+
if (onPreview) {
|
3020
|
+
onPreview();
|
3021
|
+
}
|
2940
3022
|
}
|
2941
3023
|
}, [
|
2942
3024
|
clone,
|
@@ -2976,6 +3058,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
2976
3058
|
handleUpdate
|
2977
3059
|
]);
|
2978
3060
|
return {
|
3061
|
+
loading: isLoading,
|
2979
3062
|
/**
|
2980
3063
|
* Disabled when:
|
2981
3064
|
* - the form is submitting
|
@@ -2986,11 +3069,20 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
2986
3069
|
id: 'global.save',
|
2987
3070
|
defaultMessage: 'Save'
|
2988
3071
|
}),
|
2989
|
-
onClick: handleUpdate
|
3072
|
+
onClick: handleUpdate,
|
3073
|
+
position: [
|
3074
|
+
'panel',
|
3075
|
+
'preview',
|
3076
|
+
'relation-modal'
|
3077
|
+
]
|
2990
3078
|
};
|
2991
3079
|
};
|
2992
3080
|
UpdateAction.type = 'update';
|
2993
|
-
UpdateAction.position =
|
3081
|
+
UpdateAction.position = [
|
3082
|
+
'panel',
|
3083
|
+
'preview',
|
3084
|
+
'relation-modal'
|
3085
|
+
];
|
2994
3086
|
const UNPUBLISH_DRAFT_OPTIONS = {
|
2995
3087
|
KEEP: 'keep',
|
2996
3088
|
DISCARD: 'discard'
|
@@ -3140,7 +3232,7 @@ const DiscardAction = ({ activeTab, documentId, model, collectionType, document
|
|
3140
3232
|
const { formatMessage } = useIntl();
|
3141
3233
|
const { schema } = useDoc();
|
3142
3234
|
const canUpdate = useDocumentRBAC('DiscardAction', ({ canUpdate })=>canUpdate);
|
3143
|
-
const { discard } = useDocumentActions();
|
3235
|
+
const { discard, isLoading } = useDocumentActions();
|
3144
3236
|
const [{ query }] = useQueryParams();
|
3145
3237
|
const params = React.useMemo(()=>buildValidParams(query), [
|
3146
3238
|
query
|
@@ -3186,6 +3278,7 @@ const DiscardAction = ({ activeTab, documentId, model, collectionType, document
|
|
3186
3278
|
})
|
3187
3279
|
]
|
3188
3280
|
}),
|
3281
|
+
loading: isLoading,
|
3189
3282
|
onConfirm: async ()=>{
|
3190
3283
|
await discard({
|
3191
3284
|
collectionType,
|
@@ -3280,6 +3373,8 @@ const capitalise = (str)=>str.charAt(0).toUpperCase() + str.slice(1);
|
|
3280
3373
|
...restProps,
|
3281
3374
|
size: size,
|
3282
3375
|
variant: statusVariant,
|
3376
|
+
role: "status",
|
3377
|
+
"aria-label": status,
|
3283
3378
|
children: /*#__PURE__*/ jsx(Typography, {
|
3284
3379
|
tag: "span",
|
3285
3380
|
variant: "omega",
|
@@ -3622,7 +3717,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document })=>{
|
|
3622
3717
|
const { formatMessage } = useIntl();
|
3623
3718
|
const listViewPathMatch = useMatch(LIST_PATH);
|
3624
3719
|
const canDelete = useDocumentRBAC('DeleteAction', (state)=>state.canDelete);
|
3625
|
-
const { delete: deleteAction } = useDocumentActions();
|
3720
|
+
const { delete: deleteAction, isLoading } = useDocumentActions();
|
3626
3721
|
const { toggleNotification } = useNotification();
|
3627
3722
|
const setSubmitting = useForm('DeleteAction', (state)=>state.setSubmitting);
|
3628
3723
|
const isLocalized = document?.locale != null;
|
@@ -3661,6 +3756,7 @@ const DeleteAction$1 = ({ documentId, model, collectionType, document })=>{
|
|
3661
3756
|
})
|
3662
3757
|
]
|
3663
3758
|
}),
|
3759
|
+
loading: isLoading,
|
3664
3760
|
onConfirm: async ()=>{
|
3665
3761
|
/**
|
3666
3762
|
* If we have a match, we're in the list view
|
@@ -4342,7 +4438,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
|
|
4342
4438
|
schema
|
4343
4439
|
]);
|
4344
4440
|
const [isDialogOpen, setIsDialogOpen] = React.useState(false);
|
4345
|
-
const { publishMany: bulkPublishAction } = useDocumentActions();
|
4441
|
+
const { publishMany: bulkPublishAction, isLoading: isPublishing } = useDocumentActions();
|
4346
4442
|
const [, { isLoading: isSubmittingForm }] = usePublishManyDocumentsMutation();
|
4347
4443
|
const selectedRows = useTable('publishAction', (state)=>state.selectedRows);
|
4348
4444
|
// Filter selected entries from the updated modal table rows
|
@@ -4414,7 +4510,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
|
|
4414
4510
|
/*#__PURE__*/ jsx(Button, {
|
4415
4511
|
onClick: toggleDialog,
|
4416
4512
|
disabled: selectedEntries.length === 0 || selectedEntries.length === selectedEntriesWithErrorsCount || selectedEntriesPublishedCount === selectedEntries.length || isLoading,
|
4417
|
-
loading: isSubmittingForm,
|
4513
|
+
loading: isPublishing || isSubmittingForm,
|
4418
4514
|
children: formatMessage({
|
4419
4515
|
id: 'app.utils.publish',
|
4420
4516
|
defaultMessage: 'Publish'
|
@@ -4427,7 +4523,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
|
|
4427
4523
|
/*#__PURE__*/ jsx(ConfirmDialogPublishAll, {
|
4428
4524
|
isOpen: isDialogOpen,
|
4429
4525
|
onToggleDialog: toggleDialog,
|
4430
|
-
isConfirmButtonLoading: isSubmittingForm,
|
4526
|
+
isConfirmButtonLoading: isPublishing || isSubmittingForm,
|
4431
4527
|
onConfirm: handleConfirmBulkPublish
|
4432
4528
|
})
|
4433
4529
|
]
|
@@ -4519,7 +4615,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
|
|
4519
4615
|
query
|
4520
4616
|
]);
|
4521
4617
|
const hasDeletePermission = useDocumentRBAC('deleteAction', (state)=>state.canDelete);
|
4522
|
-
const { deleteMany: bulkDeleteAction } = useDocumentActions();
|
4618
|
+
const { deleteMany: bulkDeleteAction, isLoading } = useDocumentActions();
|
4523
4619
|
const documentIds = documents.map(({ documentId })=>documentId);
|
4524
4620
|
const handleConfirmBulkDelete = async ()=>{
|
4525
4621
|
const res = await bulkDeleteAction({
|
@@ -4544,6 +4640,7 @@ const SelectedEntriesModalContent = ({ listViewSelectedEntries, toggleModal, set
|
|
4544
4640
|
id: 'app.components.ConfirmDialog.title',
|
4545
4641
|
defaultMessage: 'Confirmation'
|
4546
4642
|
}),
|
4643
|
+
loading: isLoading,
|
4547
4644
|
content: /*#__PURE__*/ jsxs(Flex, {
|
4548
4645
|
direction: "column",
|
4549
4646
|
alignItems: "stretch",
|
@@ -4592,7 +4689,7 @@ const UnpublishAction = ({ documents, model })=>{
|
|
4592
4689
|
const hasPublishPermission = useDocumentRBAC('unpublishAction', (state)=>state.canPublish);
|
4593
4690
|
const hasI18nEnabled = Boolean(schema?.pluginOptions?.i18n);
|
4594
4691
|
const hasDraftAndPublishEnabled = Boolean(schema?.options?.draftAndPublish);
|
4595
|
-
const { unpublishMany: bulkUnpublishAction } = useDocumentActions();
|
4692
|
+
const { unpublishMany: bulkUnpublishAction, isLoading } = useDocumentActions();
|
4596
4693
|
const documentIds = documents.map(({ documentId })=>documentId);
|
4597
4694
|
const [{ query }] = useQueryParams();
|
4598
4695
|
const params = React.useMemo(()=>buildValidParams(query), [
|
@@ -4622,6 +4719,7 @@ const UnpublishAction = ({ documents, model })=>{
|
|
4622
4719
|
id: 'app.components.ConfirmDialog.title',
|
4623
4720
|
defaultMessage: 'Confirmation'
|
4624
4721
|
}),
|
4722
|
+
loading: isLoading,
|
4625
4723
|
content: /*#__PURE__*/ jsxs(Flex, {
|
4626
4724
|
direction: "column",
|
4627
4725
|
alignItems: "stretch",
|
@@ -5003,9 +5101,11 @@ const DEFAULT_TABLE_ROW_ACTIONS = [
|
|
5003
5101
|
* The response should still be filtered by the position, as the static property is new
|
5004
5102
|
* and not mandatory to avoid a breaking change.
|
5005
5103
|
*/ if (position) {
|
5006
|
-
return this.documentActions.filter((action)=>
|
5104
|
+
return this.documentActions.filter((action)=>{
|
5105
|
+
return action.position == undefined || [
|
5007
5106
|
action.position
|
5008
|
-
].flat().includes(position)
|
5107
|
+
].flat().includes(position);
|
5108
|
+
});
|
5009
5109
|
}
|
5010
5110
|
return this.documentActions;
|
5011
5111
|
},
|
@@ -5253,37 +5353,37 @@ const previewAdmin = {
|
|
5253
5353
|
|
5254
5354
|
function __variableDynamicImportRuntime1__(path) {
|
5255
5355
|
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-CI0HKio3.
|
5286
|
-
case './translations/zh.json': return import('./zh-BmF-sHaT.
|
5356
|
+
case './translations/ar.json': return import('./ar-DckYq_WK.mjs');
|
5357
|
+
case './translations/ca.json': return import('./ca-DviY7mRj.mjs');
|
5358
|
+
case './translations/cs.json': return import('./cs-C7OSYFQ7.mjs');
|
5359
|
+
case './translations/de.json': return import('./de-5QRlDHyR.mjs');
|
5360
|
+
case './translations/en.json': return import('./en-C2zEwS3-.mjs');
|
5361
|
+
case './translations/es.json': return import('./es-DkoWSExG.mjs');
|
5362
|
+
case './translations/eu.json': return import('./eu-BG1xX7HK.mjs');
|
5363
|
+
case './translations/fr.json': return import('./fr-CFdRaRVj.mjs');
|
5364
|
+
case './translations/gu.json': return import('./gu-D5MMMXRs.mjs');
|
5365
|
+
case './translations/hi.json': return import('./hi-lp17SCjr.mjs');
|
5366
|
+
case './translations/hu.json': return import('./hu-CLka1U2C.mjs');
|
5367
|
+
case './translations/id.json': return import('./id-USfY9m1g.mjs');
|
5368
|
+
case './translations/it.json': return import('./it-BAHrwmYS.mjs');
|
5369
|
+
case './translations/ja.json': return import('./ja-BWKmBJFT.mjs');
|
5370
|
+
case './translations/ko.json': return import('./ko-CgADGBNt.mjs');
|
5371
|
+
case './translations/ml.json': return import('./ml-CnhCfOn_.mjs');
|
5372
|
+
case './translations/ms.json': return import('./ms-Bh09NFff.mjs');
|
5373
|
+
case './translations/nl.json': return import('./nl-C8HYflTc.mjs');
|
5374
|
+
case './translations/pl.json': return import('./pl-MFCZJZuZ.mjs');
|
5375
|
+
case './translations/pt-BR.json': return import('./pt-BR-CcotyBGJ.mjs');
|
5376
|
+
case './translations/pt.json': return import('./pt-HbmgeiYO.mjs');
|
5377
|
+
case './translations/ru.json': return import('./ru-CB4BUyQp.mjs');
|
5378
|
+
case './translations/sa.json': return import('./sa-n_aPA-pU.mjs');
|
5379
|
+
case './translations/sk.json': return import('./sk-tn_BDjE2.mjs');
|
5380
|
+
case './translations/sv.json': return import('./sv-cq4ZrQRd.mjs');
|
5381
|
+
case './translations/th.json': return import('./th-mUH7hEtc.mjs');
|
5382
|
+
case './translations/tr.json': return import('./tr-Yt38daxh.mjs');
|
5383
|
+
case './translations/uk.json': return import('./uk-BtM6WnaE.mjs');
|
5384
|
+
case './translations/vi.json': return import('./vi-CvBGlTjr.mjs');
|
5385
|
+
case './translations/zh-Hans.json': return import('./zh-Hans-CI0HKio3.mjs');
|
5386
|
+
case './translations/zh.json': return import('./zh-BmF-sHaT.mjs');
|
5287
5387
|
default: return new Promise(function(resolve, reject) {
|
5288
5388
|
(typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(
|
5289
5389
|
reject.bind(null, new Error("Unknown variable dynamic import: " + path))
|
@@ -5311,7 +5411,7 @@ var index = {
|
|
5311
5411
|
app.router.addRoute({
|
5312
5412
|
path: 'content-manager/*',
|
5313
5413
|
lazy: async ()=>{
|
5314
|
-
const { Layout } = await import('./layout-
|
5414
|
+
const { Layout } = await import('./layout-9zlUM9V3.mjs');
|
5315
5415
|
return {
|
5316
5416
|
Component: Layout
|
5317
5417
|
};
|
@@ -5346,5 +5446,5 @@ var index = {
|
|
5346
5446
|
}
|
5347
5447
|
};
|
5348
5448
|
|
5349
|
-
export {
|
5350
|
-
//# sourceMappingURL=index-
|
5449
|
+
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 };
|
5450
|
+
//# sourceMappingURL=index-BE7PI9Wp.mjs.map
|