@strapi/content-manager 0.0.0-next.fc9d26d995624dc886b29f563e1de655d47e6609 → 0.0.0-next.fdac61dd05ca665168f51f655f1d165b55ec4231
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-BcLDueh-.js → ComponentConfigurationPage-BBM3VdRz.js} +4 -3
- package/dist/admin/chunks/{ComponentConfigurationPage-C2tPb7gH.js.map → ComponentConfigurationPage-BBM3VdRz.js.map} +1 -1
- package/dist/admin/chunks/{ComponentConfigurationPage-C2tPb7gH.js → ComponentConfigurationPage-I9h58PvZ.mjs} +9 -8
- package/dist/admin/chunks/ComponentConfigurationPage-I9h58PvZ.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-D4Oio8m1.js → EditConfigurationPage-B0IuEz1P.mjs} +9 -8
- package/dist/admin/chunks/EditConfigurationPage-B0IuEz1P.mjs.map +1 -0
- package/dist/admin/chunks/{EditConfigurationPage-BwmBhyl0.js → EditConfigurationPage-M30RR8U2.js} +4 -3
- package/dist/admin/chunks/{EditConfigurationPage-BwmBhyl0.js.map → EditConfigurationPage-M30RR8U2.js.map} +1 -1
- package/dist/admin/chunks/{EditViewPage-DUYzyJRA.js → EditViewPage-B8CdaXgs.mjs} +11 -14
- package/dist/admin/chunks/EditViewPage-B8CdaXgs.mjs.map +1 -0
- package/dist/admin/chunks/{EditViewPage-CzwW9usH.js → EditViewPage-BDutXAUN.js} +7 -10
- package/dist/admin/chunks/EditViewPage-BDutXAUN.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-BNpDL5sM.js → Form-5g7HkFFt.mjs} +5 -5
- package/dist/admin/chunks/Form-5g7HkFFt.mjs.map +1 -0
- package/dist/admin/chunks/{Form-BhIYfGuy.js → Form-BbSrOxiB.js} +2 -2
- package/dist/admin/chunks/{Form-BhIYfGuy.js.map → Form-BbSrOxiB.js.map} +1 -1
- package/dist/admin/chunks/{History-B8UudJwA.js → History-BNHiyUWB.js} +6 -6
- package/dist/admin/chunks/{History-B8UudJwA.js.map → History-BNHiyUWB.js.map} +1 -1
- package/dist/admin/chunks/{History-BIB0-AfT.js → History-Cy1ebdHN.mjs} +11 -11
- package/dist/admin/chunks/History-Cy1ebdHN.mjs.map +1 -0
- package/dist/admin/chunks/{Input-D7x4QMoZ.js → Input-BCN9DN4b.js} +748 -313
- package/dist/admin/chunks/Input-BCN9DN4b.js.map +1 -0
- package/dist/admin/chunks/{Input-B6avNTdM.js → Input-BojOcrfa.mjs} +755 -320
- package/dist/admin/chunks/Input-BojOcrfa.mjs.map +1 -0
- package/dist/admin/chunks/{ListConfigurationPage-CqNUcBK5.js → ListConfigurationPage-BalGY7W3.js} +3 -2
- package/dist/admin/chunks/{ListConfigurationPage-DzIDxb_n.js.map → ListConfigurationPage-BalGY7W3.js.map} +1 -1
- package/dist/admin/chunks/{ListConfigurationPage-DzIDxb_n.js → ListConfigurationPage-DZQMgiUY.mjs} +8 -7
- package/dist/admin/chunks/ListConfigurationPage-DZQMgiUY.mjs.map +1 -0
- package/dist/admin/chunks/{ListViewPage-C2jqACsH.js → ListViewPage-DJroapZV.js} +4 -3
- package/dist/admin/chunks/{ListViewPage-CUu7nXL6.js.map → ListViewPage-DJroapZV.js.map} +1 -1
- package/dist/admin/chunks/{ListViewPage-CUu7nXL6.js → ListViewPage-YoatliSO.mjs} +6 -5
- package/dist/admin/chunks/ListViewPage-YoatliSO.mjs.map +1 -0
- package/dist/admin/chunks/{NoContentTypePage-CPvNU2zt.js → NoContentTypePage-DQKO0Whm.mjs} +3 -2
- package/dist/admin/chunks/NoContentTypePage-DQKO0Whm.mjs.map +1 -0
- package/dist/admin/chunks/{NoContentTypePage-DP8WmGnH.js → NoContentTypePage-DZm2YCb6.js} +3 -2
- package/dist/admin/chunks/{NoContentTypePage-CPvNU2zt.js.map → NoContentTypePage-DZm2YCb6.js.map} +1 -1
- package/dist/admin/chunks/{NoPermissionsPage-DdE7dHGN.js → NoPermissionsPage-CxrNSIIg.js} +3 -2
- package/dist/admin/chunks/{NoPermissionsPage-DS4v_Wkt.js.map → NoPermissionsPage-CxrNSIIg.js.map} +1 -1
- package/dist/admin/chunks/{NoPermissionsPage-DS4v_Wkt.js → NoPermissionsPage-bgiFATIt.mjs} +3 -2
- package/dist/admin/chunks/NoPermissionsPage-bgiFATIt.mjs.map +1 -0
- package/dist/admin/chunks/{Preview-B-Qxu3nw.js → Preview-BJkZ6x1-.js} +252 -22
- package/dist/admin/chunks/Preview-BJkZ6x1-.js.map +1 -0
- package/dist/admin/chunks/{Preview-DF_PNpvE.js → Preview-BeB-PWgo.mjs} +261 -31
- package/dist/admin/chunks/Preview-BeB-PWgo.mjs.map +1 -0
- package/dist/admin/chunks/{Relations-Bc1mVCAn.js → Relations-C5phxBHR.js} +469 -4
- package/dist/admin/chunks/Relations-C5phxBHR.js.map +1 -0
- package/dist/admin/chunks/{Relations-BKR-Kn-x.js → Relations-CND3mw3X.mjs} +471 -7
- package/dist/admin/chunks/Relations-CND3mw3X.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-CImiNxXE.mjs} +3 -1
- package/dist/admin/chunks/{en-C1CjdAtC.js.map → en-CImiNxXE.mjs.map} +1 -1
- package/dist/admin/chunks/{en-C1CjdAtC.js → en-CLf4SuMQ.js} +3 -1
- package/dist/admin/chunks/{en-LfhocNG2.js.map → en-CLf4SuMQ.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-BERMAQwA.js → index-BRXoE5Bv.js} +64 -34
- package/dist/admin/chunks/index-BRXoE5Bv.js.map +1 -0
- package/dist/admin/chunks/{index-Jhj6SW8H.js → index-CKhhB2D_.mjs} +94 -65
- package/dist/admin/chunks/index-CKhhB2D_.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-BU6D6F6_.js → layout-Bp7Wxdg6.js} +5 -4
- package/dist/admin/chunks/{layout-DYlapjb1.js.map → layout-Bp7Wxdg6.js.map} +1 -1
- package/dist/admin/chunks/{layout-DYlapjb1.js → layout-CdOs9qR9.mjs} +8 -7
- package/dist/admin/chunks/layout-CdOs9qR9.mjs.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/{objects-wl73iEma.js → objects-wl73iEma.mjs} +1 -1
- package/dist/admin/chunks/objects-wl73iEma.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/{relations-DXceN3I-.js → relations-BuF5cvYF.js} +2 -2
- package/dist/admin/chunks/{relations-DXceN3I-.js.map → relations-BuF5cvYF.js.map} +1 -1
- package/dist/admin/chunks/{relations-BxOJTAJZ.js → relations-DOG6K89Q.mjs} +2 -2
- package/dist/admin/chunks/relations-DOG6K89Q.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-Cpgmm7gE.js → uk-Cpgmm7gE.mjs} +1 -1
- package/dist/admin/chunks/uk-Cpgmm7gE.mjs.map +1 -0
- package/dist/admin/chunks/{useDragAndDrop-HYwNDExe.js → useDragAndDrop-HYwNDExe.mjs} +1 -1
- package/dist/admin/chunks/useDragAndDrop-HYwNDExe.mjs.map +1 -0
- package/dist/admin/chunks/{usePrev-Bjw2dhmq.js → usePrev-Bjw2dhmq.mjs} +1 -1
- package/dist/admin/chunks/usePrev-Bjw2dhmq.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/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 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +2 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.d.ts +1 -2
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +2 -1
- package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -1
- package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -1
- package/dist/admin/src/preview/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 +7 -7
- package/dist/admin/chunks/CardDragPreview-DwuraT0K.js.map +0 -1
- package/dist/admin/chunks/ComponentConfigurationPage-BcLDueh-.js.map +0 -1
- package/dist/admin/chunks/ComponentIcon-BZcTc4rj.js.map +0 -1
- package/dist/admin/chunks/EditConfigurationPage-D4Oio8m1.js.map +0 -1
- package/dist/admin/chunks/EditViewPage-CzwW9usH.js.map +0 -1
- package/dist/admin/chunks/EditViewPage-DUYzyJRA.js.map +0 -1
- package/dist/admin/chunks/FieldTypeIcon-BY6MrVF4.js.map +0 -1
- package/dist/admin/chunks/Form-BNpDL5sM.js.map +0 -1
- package/dist/admin/chunks/History-BIB0-AfT.js.map +0 -1
- package/dist/admin/chunks/Input-B6avNTdM.js.map +0 -1
- package/dist/admin/chunks/Input-D7x4QMoZ.js.map +0 -1
- package/dist/admin/chunks/ListConfigurationPage-CqNUcBK5.js.map +0 -1
- package/dist/admin/chunks/ListViewPage-C2jqACsH.js.map +0 -1
- package/dist/admin/chunks/NoContentTypePage-DP8WmGnH.js.map +0 -1
- package/dist/admin/chunks/NoPermissionsPage-DdE7dHGN.js.map +0 -1
- package/dist/admin/chunks/Preview-B-Qxu3nw.js.map +0 -1
- package/dist/admin/chunks/Preview-DF_PNpvE.js.map +0 -1
- package/dist/admin/chunks/Relations-BKR-Kn-x.js.map +0 -1
- package/dist/admin/chunks/Relations-Bc1mVCAn.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-BERMAQwA.js.map +0 -1
- package/dist/admin/chunks/index-Jhj6SW8H.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-BU6D6F6_.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-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-BxOJTAJZ.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-Cpgmm7gE.js.map +0 -1
- package/dist/admin/chunks/useDragAndDrop-HYwNDExe.js.map +0 -1
- package/dist/admin/chunks/usePrev-Bjw2dhmq.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 -49
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CardDragPreview-DwuraT0K.mjs","sources":["../../../admin/src/components/DragPreviews/CardDragPreview.tsx"],"sourcesContent":["import { Flex, FlexComponent, Typography } from '@strapi/design-system';\nimport { Cross, Drag, Pencil } from '@strapi/icons';\nimport { styled } from 'styled-components';\n\ninterface CardDragPreviewProps {\n label: string;\n isSibling?: boolean;\n}\n\nconst CardDragPreview = ({ label, isSibling = false }: CardDragPreviewProps) => {\n return (\n <FieldContainer\n background={isSibling ? 'neutral100' : 'primary100'}\n display=\"inline-flex\"\n gap={3}\n hasRadius\n justifyContent=\"space-between\"\n $isSibling={isSibling}\n max-height={`3.2rem`}\n maxWidth=\"min-content\"\n >\n <Flex gap={3}>\n <DragButton alignItems=\"center\" cursor=\"all-scroll\" padding={3}>\n <Drag />\n </DragButton>\n\n <Typography\n textColor={isSibling ? undefined : 'primary600'}\n fontWeight=\"bold\"\n ellipsis\n maxWidth=\"7.2rem\"\n >\n {label}\n </Typography>\n </Flex>\n\n <Flex>\n <ActionBox alignItems=\"center\">\n <Pencil />\n </ActionBox>\n\n <ActionBox alignItems=\"center\">\n <Cross />\n </ActionBox>\n </Flex>\n </FieldContainer>\n );\n};\n\nconst ActionBox = styled<FlexComponent>(Flex)`\n height: ${({ theme }) => theme.spaces[7]};\n\n &:last-child {\n padding: 0 ${({ theme }) => theme.spaces[3]};\n }\n`;\n\nconst DragButton = styled(ActionBox)`\n border-right: 1px solid ${({ theme }) => theme.colors.primary200};\n\n svg {\n width: 1.2rem;\n height: 1.2rem;\n }\n`;\n\nconst FieldContainer = styled<FlexComponent>(Flex)<{ $isSibling: boolean }>`\n border: 1px solid\n ${({ theme, $isSibling }) => ($isSibling ? theme.colors.neutral150 : theme.colors.primary200)};\n\n svg {\n width: 1rem;\n height: 1rem;\n\n path {\n fill: ${({ theme, $isSibling }) => ($isSibling ? undefined : theme.colors.primary600)};\n }\n }\n`;\n\nexport { CardDragPreview };\nexport type { CardDragPreviewProps };\n"],"names":["CardDragPreview","label","isSibling","_jsxs","FieldContainer","background","display","gap","hasRadius","justifyContent","$isSibling","max-height","maxWidth","Flex","_jsx","DragButton","alignItems","cursor","padding","Drag","Typography","textColor","undefined","fontWeight","ellipsis","ActionBox","Pencil","Cross","styled","theme","spaces","colors","primary200","neutral150","primary600"],"mappings":";;;;;AASA,MAAMA,kBAAkB,CAAC,EAAEC,KAAK,EAAEC,SAAAA,GAAY,KAAK,EAAwB,GAAA;AACzE,IAAA,qBACEC,IAACC,CAAAA,cAAAA,EAAAA;AACCC,QAAAA,UAAAA,EAAYH,YAAY,YAAe,GAAA,YAAA;QACvCI,OAAQ,EAAA,aAAA;QACRC,GAAK,EAAA,CAAA;QACLC,SAAS,EAAA,IAAA;QACTC,cAAe,EAAA,eAAA;QACfC,UAAYR,EAAAA,SAAAA;QACZS,YAAY,EAAA,CAAC,MAAM,CAAC;QACpBC,QAAS,EAAA,aAAA;;0BAETT,IAACU,CAAAA,IAAAA,EAAAA;gBAAKN,GAAK,EAAA,CAAA;;kCACTO,GAACC,CAAAA,UAAAA,EAAAA;wBAAWC,UAAW,EAAA,QAAA;wBAASC,MAAO,EAAA,YAAA;wBAAaC,OAAS,EAAA,CAAA;AAC3D,wBAAA,QAAA,gBAAAJ,GAACK,CAAAA,IAAAA,EAAAA,EAAAA;;kCAGHL,GAACM,CAAAA,UAAAA,EAAAA;AACCC,wBAAAA,SAAAA,EAAWnB,YAAYoB,SAAY,GAAA,YAAA;wBACnCC,UAAW,EAAA,MAAA;wBACXC,QAAQ,EAAA,IAAA;wBACRZ,QAAS,EAAA,QAAA;AAERX,wBAAAA,QAAAA,EAAAA;;;;0BAILE,IAACU,CAAAA,IAAAA,EAAAA;;kCACCC,GAACW,CAAAA,SAAAA,EAAAA;wBAAUT,UAAW,EAAA,QAAA;AACpB,wBAAA,QAAA,gBAAAF,GAACY,CAAAA,MAAAA,EAAAA,EAAAA;;kCAGHZ,GAACW,CAAAA,SAAAA,EAAAA;wBAAUT,UAAW,EAAA,QAAA;AACpB,wBAAA,QAAA,gBAAAF,GAACa,CAAAA,KAAAA,EAAAA,EAAAA;;;;;;AAKX;AAEA,MAAMF,SAAAA,GAAYG,MAAsBf,CAAAA,IAAAA,CAAK;UACnC,EAAE,CAAC,EAAEgB,KAAK,EAAE,GAAKA,KAAMC,CAAAA,MAAM,CAAC,CAAA,CAAE,CAAC;;;eAG5B,EAAE,CAAC,EAAED,KAAK,EAAE,GAAKA,KAAMC,CAAAA,MAAM,CAAC,CAAA,CAAE,CAAC;;AAEhD,CAAC;AAED,MAAMf,UAAAA,GAAaa,MAAOH,CAAAA,SAAAA,CAAU;0BACV,EAAE,CAAC,EAAEI,KAAK,EAAE,GAAKA,KAAME,CAAAA,MAAM,CAACC,UAAU,CAAC;;;;;;AAMnE,CAAC;AAED,MAAM5B,cAAAA,GAAiBwB,MAAsBf,CAAAA,IAAAA,CAA8B;;AAEvE,IAAA,EAAE,CAAC,EAAEgB,KAAK,EAAEnB,UAAU,EAAE,GAAMA,UAAAA,GAAamB,KAAME,CAAAA,MAAM,CAACE,UAAU,GAAGJ,MAAME,MAAM,CAACC,UAAU,CAAE;;;;;;;AAOtF,YAAA,EAAE,CAAC,EAAEH,KAAK,EAAEnB,UAAU,EAAE,GAAMA,UAAAA,GAAaY,SAAYO,GAAAA,KAAAA,CAAME,MAAM,CAACG,UAAU,CAAE;;;AAG5F,CAAC;;;;"}
|
@@ -5,8 +5,8 @@ var React = require('react');
|
|
5
5
|
var strapiAdmin = require('@strapi/admin/strapi-admin');
|
6
6
|
var reactIntl = require('react-intl');
|
7
7
|
var reactRouterDom = require('react-router-dom');
|
8
|
-
var Form = require('./Form-
|
9
|
-
var index = require('./index-
|
8
|
+
var Form = require('./Form-BbSrOxiB.js');
|
9
|
+
var index = require('./index-BRXoE5Bv.js');
|
10
10
|
var hooks = require('./hooks-D-sOYd1s.js');
|
11
11
|
var objects = require('./objects-C3EebVVe.js');
|
12
12
|
require('@strapi/design-system');
|
@@ -25,6 +25,7 @@ require('lodash/fp/mapValues');
|
|
25
25
|
require('qs');
|
26
26
|
require('date-fns');
|
27
27
|
require('@reduxjs/toolkit');
|
28
|
+
require('prismjs');
|
28
29
|
require('react-redux');
|
29
30
|
require('lodash/clone');
|
30
31
|
require('lodash/toPath');
|
@@ -295,4 +296,4 @@ const { useGetComponentConfigurationQuery, useUpdateComponentConfigurationMutati
|
|
295
296
|
|
296
297
|
exports.ComponentConfigurationPage = ComponentConfigurationPage;
|
297
298
|
exports.ProtectedComponentConfigurationPage = ProtectedComponentConfigurationPage;
|
298
|
-
//# sourceMappingURL=ComponentConfigurationPage-
|
299
|
+
//# sourceMappingURL=ComponentConfigurationPage-BBM3VdRz.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ComponentConfigurationPage-C2tPb7gH.js","sources":["../../../admin/src/services/components.ts","../../../admin/src/pages/ComponentConfigurationPage.tsx"],"sourcesContent":["import { contentManagerApi } from './api';\n\nimport type {\n FindComponentConfiguration,\n UpdateComponentConfiguration,\n} from '../../../shared/contracts/components';\n\nconst componentsApi = contentManagerApi.injectEndpoints({\n endpoints: (builder) => ({\n getComponentConfiguration: builder.query<\n FindComponentConfiguration.Response['data'],\n FindComponentConfiguration.Params['uid']\n >({\n query: (uid) => `/content-manager/components/${uid}/configuration`,\n transformResponse: (response: FindComponentConfiguration.Response) => response.data,\n providesTags: (_result, _error, uid) => [{ type: 'ComponentConfiguration', id: uid }],\n }),\n updateComponentConfiguration: builder.mutation({\n query: ({ uid, ...body }) => ({\n url: `/content-manager/components/${uid}/configuration`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: UpdateComponentConfiguration.Response) => response.data,\n invalidatesTags: (_result, _error, { uid }) => [\n { type: 'ComponentConfiguration', id: uid },\n // otherwise layouts already fetched will have stale component configuration data.\n { type: 'ContentTypeSettings', id: 'LIST' },\n ],\n }),\n }),\n});\n\nconst { useGetComponentConfigurationQuery, useUpdateComponentConfigurationMutation } =\n componentsApi;\n\nexport { useGetComponentConfigurationQuery, useUpdateComponentConfigurationMutation };\n","import * as React from 'react';\n\nimport { Page, useNotification, useAPIErrorHandler } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { TEMP_FIELD_NAME } from '../components/ConfigurationForm/Fields';\nimport { ConfigurationForm, ConfigurationFormProps } from '../components/ConfigurationForm/Form';\nimport { ComponentsDictionary, extractContentTypeComponents } from '../hooks/useContentTypeSchema';\nimport {\n DEFAULT_SETTINGS,\n EditLayout,\n convertEditLayoutToFieldLayouts,\n} from '../hooks/useDocumentLayout';\nimport { useTypedSelector } from '../modules/hooks';\nimport {\n useGetComponentConfigurationQuery,\n useUpdateComponentConfigurationMutation,\n} from '../services/components';\nimport { useGetInitialDataQuery } from '../services/init';\nimport { setIn } from '../utils/objects';\n\nimport type { Component, FindComponentConfiguration } from '../../../shared/contracts/components';\nimport type { Metadatas } from '../../../shared/contracts/content-types';\n\n/* -------------------------------------------------------------------------------------------------\n * ComponentConfigurationPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ComponentConfigurationPage = () => {\n /**\n * useDocumentLayout only works for documents, not components,\n * it feels weird to make that hook work for both when this is SUCH\n * a unique use case and we only do it here, so in short, we essentially\n * just extracted the logic to make an edit view layout and reproduced it here.\n */\n const { slug: model } = useParams<{ slug: string }>();\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const {\n components,\n fieldSizes,\n schema,\n error: errorSchema,\n isLoading: isLoadingSchema,\n isFetching: isFetchingSchema,\n } = useGetInitialDataQuery(undefined, {\n selectFromResult: (res) => {\n const schema = res.data?.components.find((ct) => ct.uid === model);\n\n const componentsByKey = res.data?.components.reduce<ComponentsDictionary>(\n (acc, component) => {\n acc[component.uid] = component;\n\n return acc;\n },\n {}\n );\n\n const components = extractContentTypeComponents(schema?.attributes, componentsByKey);\n\n const fieldSizes = Object.entries(res.data?.fieldSizes ?? {}).reduce<\n ConfigurationFormProps['fieldSizes']\n >((acc, [attributeName, { default: size }]) => {\n acc[attributeName] = size;\n\n return acc;\n }, {});\n\n return {\n isFetching: res.isFetching,\n isLoading: res.isLoading,\n error: res.error,\n components,\n schema,\n fieldSizes,\n };\n },\n });\n\n React.useEffect(() => {\n if (errorSchema) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(errorSchema),\n });\n }\n }, [errorSchema, formatAPIError, toggleNotification]);\n\n const {\n data,\n isLoading: isLoadingConfig,\n isFetching: isFetchingConfig,\n error,\n } = useGetComponentConfigurationQuery(model ?? '');\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n /**\n * you **must** check if we're loading or fetching in case the component gets new props\n * but nothing was unmounted, it then becomes a fetch, not a load.\n */\n const isLoading = isLoadingConfig || isLoadingSchema || isFetchingConfig || isFetchingSchema;\n\n const editLayout = React.useMemo(\n () =>\n data && !isLoading\n ? formatEditLayout(data, { schema, components })\n : ({\n layout: [],\n components: {},\n metadatas: {},\n options: {},\n settings: DEFAULT_SETTINGS,\n } as EditLayout),\n [data, isLoading, schema, components]\n );\n\n const [updateConfiguration] = useUpdateComponentConfigurationMutation();\n const handleSubmit: ConfigurationFormProps['onSubmit'] = async (formData) => {\n try {\n /**\n * We reconstruct the metadatas object by taking the existing list metadatas\n * and re-merging that by attribute name with the current list metadatas, whilst overwriting\n * the data from the form we've built.\n */\n const meta = Object.entries(data?.component.metadatas ?? {}).reduce<Metadatas>(\n (acc, [name, { edit, list }]) => {\n const {\n __temp_key__,\n size: _size,\n name: _name,\n ...editedMetadata\n } = formData.layout.flatMap((row) => row.children).find((field) => field.name === name) ??\n {};\n\n acc[name] = {\n edit: {\n ...edit,\n ...editedMetadata,\n },\n list,\n };\n\n return acc;\n },\n {}\n );\n\n const res = await updateConfiguration({\n layouts: {\n edit: formData.layout.map((row) =>\n row.children.reduce<Array<{ name: string; size: number }>>((acc, { name, size }) => {\n if (name !== TEMP_FIELD_NAME) {\n return [...acc, { name, size }];\n }\n\n return acc;\n }, [])\n ),\n list: data?.component.layouts.list,\n },\n settings: setIn(formData.settings, 'displayName', undefined),\n metadatas: meta,\n uid: model,\n });\n\n if ('data' in res) {\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || errorSchema || !schema) {\n return <Page.Error />;\n }\n\n return (\n <>\n <Page.Title>{`Configure ${editLayout.settings.displayName} Edit View`}</Page.Title>\n <ConfigurationForm\n onSubmit={handleSubmit}\n attributes={schema.attributes}\n fieldSizes={fieldSizes}\n layout={editLayout}\n />\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\nconst formatEditLayout = (\n data: FindComponentConfiguration.Response['data'],\n { schema, components }: { schema?: Component; components: ComponentsDictionary }\n) => {\n const editAttributes = convertEditLayoutToFieldLayouts(\n data.component.layouts.edit,\n schema?.attributes,\n data.component.metadatas,\n { configurations: data.components, schemas: components }\n );\n\n const componentEditAttributes = Object.entries(data.components).reduce<EditLayout['components']>(\n (acc, [uid, configuration]) => {\n acc[uid] = {\n layout: convertEditLayoutToFieldLayouts(\n configuration.layouts.edit,\n components[uid].attributes,\n configuration.metadatas\n ),\n settings: {\n ...configuration.settings,\n icon: components[uid].info.icon,\n displayName: components[uid].info.displayName,\n },\n };\n return acc;\n },\n {}\n );\n\n const editMetadatas = Object.entries(data.component.metadatas).reduce<EditLayout['metadatas']>(\n (acc, [attribute, metadata]) => {\n return {\n ...acc,\n [attribute]: metadata.edit,\n };\n },\n {}\n );\n\n return {\n layout: [editAttributes],\n components: componentEditAttributes,\n metadatas: editMetadatas,\n options: {\n ...schema?.options,\n ...schema?.pluginOptions,\n },\n settings: {\n ...data.component.settings,\n displayName: schema?.info.displayName,\n },\n };\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedComponentConfigurationPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.contentManager?.componentsConfigurations\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ComponentConfigurationPage />\n </Page.Protect>\n );\n};\n\nexport { ComponentConfigurationPage, ProtectedComponentConfigurationPage };\n"],"names":["componentsApi","contentManagerApi","injectEndpoints","endpoints","builder","getComponentConfiguration","query","uid","transformResponse","response","data","providesTags","_result","_error","type","id","updateComponentConfiguration","mutation","body","url","method","invalidatesTags","useGetComponentConfigurationQuery","useUpdateComponentConfigurationMutation","ComponentConfigurationPage","slug","model","useParams","toggleNotification","useNotification","formatMessage","useIntl","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","components","fieldSizes","schema","error","errorSchema","isLoading","isLoadingSchema","isFetching","isFetchingSchema","useGetInitialDataQuery","undefined","selectFromResult","res","find","ct","componentsByKey","reduce","acc","component","extractContentTypeComponents","attributes","Object","entries","attributeName","default","size","React","useEffect","message","isLoadingConfig","isFetchingConfig","editLayout","useMemo","formatEditLayout","layout","metadatas","options","settings","DEFAULT_SETTINGS","updateConfiguration","handleSubmit","formData","meta","name","edit","list","__temp_key__","_size","_name","editedMetadata","flatMap","row","children","field","layouts","map","TEMP_FIELD_NAME","setIn","defaultMessage","_jsx","Page","Loading","Error","_jsxs","_Fragment","Title","displayName","ConfigurationForm","onSubmit","editAttributes","convertEditLayoutToFieldLayouts","configurations","schemas","componentEditAttributes","configuration","icon","info","editMetadatas","attribute","metadata","pluginOptions","ProtectedComponentConfigurationPage","permissions","useTypedSelector","state","admin_app","contentManager","componentsConfigurations","Protect"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ComponentConfigurationPage-BBM3VdRz.js","sources":["../../../admin/src/services/components.ts","../../../admin/src/pages/ComponentConfigurationPage.tsx"],"sourcesContent":["import { contentManagerApi } from './api';\n\nimport type {\n FindComponentConfiguration,\n UpdateComponentConfiguration,\n} from '../../../shared/contracts/components';\n\nconst componentsApi = contentManagerApi.injectEndpoints({\n endpoints: (builder) => ({\n getComponentConfiguration: builder.query<\n FindComponentConfiguration.Response['data'],\n FindComponentConfiguration.Params['uid']\n >({\n query: (uid) => `/content-manager/components/${uid}/configuration`,\n transformResponse: (response: FindComponentConfiguration.Response) => response.data,\n providesTags: (_result, _error, uid) => [{ type: 'ComponentConfiguration', id: uid }],\n }),\n updateComponentConfiguration: builder.mutation({\n query: ({ uid, ...body }) => ({\n url: `/content-manager/components/${uid}/configuration`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: UpdateComponentConfiguration.Response) => response.data,\n invalidatesTags: (_result, _error, { uid }) => [\n { type: 'ComponentConfiguration', id: uid },\n // otherwise layouts already fetched will have stale component configuration data.\n { type: 'ContentTypeSettings', id: 'LIST' },\n ],\n }),\n }),\n});\n\nconst { useGetComponentConfigurationQuery, useUpdateComponentConfigurationMutation } =\n componentsApi;\n\nexport { useGetComponentConfigurationQuery, useUpdateComponentConfigurationMutation };\n","import * as React from 'react';\n\nimport { Page, useNotification, useAPIErrorHandler } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { TEMP_FIELD_NAME } from '../components/ConfigurationForm/Fields';\nimport { ConfigurationForm, ConfigurationFormProps } from '../components/ConfigurationForm/Form';\nimport { ComponentsDictionary, extractContentTypeComponents } from '../hooks/useContentTypeSchema';\nimport {\n DEFAULT_SETTINGS,\n EditLayout,\n convertEditLayoutToFieldLayouts,\n} from '../hooks/useDocumentLayout';\nimport { useTypedSelector } from '../modules/hooks';\nimport {\n useGetComponentConfigurationQuery,\n useUpdateComponentConfigurationMutation,\n} from '../services/components';\nimport { useGetInitialDataQuery } from '../services/init';\nimport { setIn } from '../utils/objects';\n\nimport type { Component, FindComponentConfiguration } from '../../../shared/contracts/components';\nimport type { Metadatas } from '../../../shared/contracts/content-types';\n\n/* -------------------------------------------------------------------------------------------------\n * ComponentConfigurationPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ComponentConfigurationPage = () => {\n /**\n * useDocumentLayout only works for documents, not components,\n * it feels weird to make that hook work for both when this is SUCH\n * a unique use case and we only do it here, so in short, we essentially\n * just extracted the logic to make an edit view layout and reproduced it here.\n */\n const { slug: model } = useParams<{ slug: string }>();\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const {\n components,\n fieldSizes,\n schema,\n error: errorSchema,\n isLoading: isLoadingSchema,\n isFetching: isFetchingSchema,\n } = useGetInitialDataQuery(undefined, {\n selectFromResult: (res) => {\n const schema = res.data?.components.find((ct) => ct.uid === model);\n\n const componentsByKey = res.data?.components.reduce<ComponentsDictionary>(\n (acc, component) => {\n acc[component.uid] = component;\n\n return acc;\n },\n {}\n );\n\n const components = extractContentTypeComponents(schema?.attributes, componentsByKey);\n\n const fieldSizes = Object.entries(res.data?.fieldSizes ?? {}).reduce<\n ConfigurationFormProps['fieldSizes']\n >((acc, [attributeName, { default: size }]) => {\n acc[attributeName] = size;\n\n return acc;\n }, {});\n\n return {\n isFetching: res.isFetching,\n isLoading: res.isLoading,\n error: res.error,\n components,\n schema,\n fieldSizes,\n };\n },\n });\n\n React.useEffect(() => {\n if (errorSchema) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(errorSchema),\n });\n }\n }, [errorSchema, formatAPIError, toggleNotification]);\n\n const {\n data,\n isLoading: isLoadingConfig,\n isFetching: isFetchingConfig,\n error,\n } = useGetComponentConfigurationQuery(model ?? '');\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n /**\n * you **must** check if we're loading or fetching in case the component gets new props\n * but nothing was unmounted, it then becomes a fetch, not a load.\n */\n const isLoading = isLoadingConfig || isLoadingSchema || isFetchingConfig || isFetchingSchema;\n\n const editLayout = React.useMemo(\n () =>\n data && !isLoading\n ? formatEditLayout(data, { schema, components })\n : ({\n layout: [],\n components: {},\n metadatas: {},\n options: {},\n settings: DEFAULT_SETTINGS,\n } as EditLayout),\n [data, isLoading, schema, components]\n );\n\n const [updateConfiguration] = useUpdateComponentConfigurationMutation();\n const handleSubmit: ConfigurationFormProps['onSubmit'] = async (formData) => {\n try {\n /**\n * We reconstruct the metadatas object by taking the existing list metadatas\n * and re-merging that by attribute name with the current list metadatas, whilst overwriting\n * the data from the form we've built.\n */\n const meta = Object.entries(data?.component.metadatas ?? {}).reduce<Metadatas>(\n (acc, [name, { edit, list }]) => {\n const {\n __temp_key__,\n size: _size,\n name: _name,\n ...editedMetadata\n } = formData.layout.flatMap((row) => row.children).find((field) => field.name === name) ??\n {};\n\n acc[name] = {\n edit: {\n ...edit,\n ...editedMetadata,\n },\n list,\n };\n\n return acc;\n },\n {}\n );\n\n const res = await updateConfiguration({\n layouts: {\n edit: formData.layout.map((row) =>\n row.children.reduce<Array<{ name: string; size: number }>>((acc, { name, size }) => {\n if (name !== TEMP_FIELD_NAME) {\n return [...acc, { name, size }];\n }\n\n return acc;\n }, [])\n ),\n list: data?.component.layouts.list,\n },\n settings: setIn(formData.settings, 'displayName', undefined),\n metadatas: meta,\n uid: model,\n });\n\n if ('data' in res) {\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || errorSchema || !schema) {\n return <Page.Error />;\n }\n\n return (\n <>\n <Page.Title>{`Configure ${editLayout.settings.displayName} Edit View`}</Page.Title>\n <ConfigurationForm\n onSubmit={handleSubmit}\n attributes={schema.attributes}\n fieldSizes={fieldSizes}\n layout={editLayout}\n />\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\nconst formatEditLayout = (\n data: FindComponentConfiguration.Response['data'],\n { schema, components }: { schema?: Component; components: ComponentsDictionary }\n) => {\n const editAttributes = convertEditLayoutToFieldLayouts(\n data.component.layouts.edit,\n schema?.attributes,\n data.component.metadatas,\n { configurations: data.components, schemas: components }\n );\n\n const componentEditAttributes = Object.entries(data.components).reduce<EditLayout['components']>(\n (acc, [uid, configuration]) => {\n acc[uid] = {\n layout: convertEditLayoutToFieldLayouts(\n configuration.layouts.edit,\n components[uid].attributes,\n configuration.metadatas\n ),\n settings: {\n ...configuration.settings,\n icon: components[uid].info.icon,\n displayName: components[uid].info.displayName,\n },\n };\n return acc;\n },\n {}\n );\n\n const editMetadatas = Object.entries(data.component.metadatas).reduce<EditLayout['metadatas']>(\n (acc, [attribute, metadata]) => {\n return {\n ...acc,\n [attribute]: metadata.edit,\n };\n },\n {}\n );\n\n return {\n layout: [editAttributes],\n components: componentEditAttributes,\n metadatas: editMetadatas,\n options: {\n ...schema?.options,\n ...schema?.pluginOptions,\n },\n settings: {\n ...data.component.settings,\n displayName: schema?.info.displayName,\n },\n };\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedComponentConfigurationPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.contentManager?.componentsConfigurations\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ComponentConfigurationPage />\n </Page.Protect>\n );\n};\n\nexport { ComponentConfigurationPage, ProtectedComponentConfigurationPage };\n"],"names":["componentsApi","contentManagerApi","injectEndpoints","endpoints","builder","getComponentConfiguration","query","uid","transformResponse","response","data","providesTags","_result","_error","type","id","updateComponentConfiguration","mutation","body","url","method","invalidatesTags","useGetComponentConfigurationQuery","useUpdateComponentConfigurationMutation","ComponentConfigurationPage","slug","model","useParams","toggleNotification","useNotification","formatMessage","useIntl","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","components","fieldSizes","schema","error","errorSchema","isLoading","isLoadingSchema","isFetching","isFetchingSchema","useGetInitialDataQuery","undefined","selectFromResult","res","find","ct","componentsByKey","reduce","acc","component","extractContentTypeComponents","attributes","Object","entries","attributeName","default","size","React","useEffect","message","isLoadingConfig","isFetchingConfig","editLayout","useMemo","formatEditLayout","layout","metadatas","options","settings","DEFAULT_SETTINGS","updateConfiguration","handleSubmit","formData","meta","name","edit","list","__temp_key__","_size","_name","editedMetadata","flatMap","row","children","field","layouts","map","TEMP_FIELD_NAME","setIn","defaultMessage","_jsx","Page","Loading","Error","_jsxs","_Fragment","Title","displayName","ConfigurationForm","onSubmit","editAttributes","convertEditLayoutToFieldLayouts","configurations","schemas","componentEditAttributes","configuration","icon","info","editMetadatas","attribute","metadata","pluginOptions","ProtectedComponentConfigurationPage","permissions","useTypedSelector","state","admin_app","contentManager","componentsConfigurations","Protect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAMA,aAAAA,GAAgBC,uBAAkBC,CAAAA,eAAe,CAAC;IACtDC,SAAW,EAAA,CAACC,WAAa;YACvBC,yBAA2BD,EAAAA,OAAAA,CAAQE,KAAK,CAGtC;AACAA,gBAAAA,KAAAA,EAAO,CAACC,GAAQ,GAAA,CAAC,4BAA4B,EAAEA,GAAAA,CAAI,cAAc,CAAC;gBAClEC,iBAAmB,EAAA,CAACC,QAAkDA,GAAAA,QAAAA,CAASC,IAAI;gBACnFC,YAAc,EAAA,CAACC,OAASC,EAAAA,MAAAA,EAAQN,GAAQ,GAAA;AAAC,wBAAA;4BAAEO,IAAM,EAAA,wBAAA;4BAA0BC,EAAIR,EAAAA;AAAI;AAAE;AACvF,aAAA,CAAA;YACAS,4BAA8BZ,EAAAA,OAAAA,CAAQa,QAAQ,CAAC;AAC7CX,gBAAAA,KAAAA,EAAO,CAAC,EAAEC,GAAG,EAAE,GAAGW,IAAAA,EAAM,IAAM;AAC5BC,wBAAAA,GAAAA,EAAK,CAAC,4BAA4B,EAAEZ,GAAAA,CAAI,cAAc,CAAC;wBACvDa,MAAQ,EAAA,KAAA;wBACRV,IAAMQ,EAAAA;qBACR,CAAA;gBACAV,iBAAmB,EAAA,CAACC,QAAoDA,GAAAA,QAAAA,CAASC,IAAI;AACrFW,gBAAAA,eAAAA,EAAiB,CAACT,OAASC,EAAAA,MAAAA,EAAQ,EAAEN,GAAG,EAAE,GAAK;AAC7C,wBAAA;4BAAEO,IAAM,EAAA,wBAAA;4BAA0BC,EAAIR,EAAAA;AAAI,yBAAA;;AAE1C,wBAAA;4BAAEO,IAAM,EAAA,qBAAA;4BAAuBC,EAAI,EAAA;AAAO;AAC3C;AACH,aAAA;SACF;AACF,CAAA,CAAA;AAEA,MAAM,EAAEO,iCAAiC,EAAEC,uCAAuC,EAAE,GAClFvB,aAAAA;;ACTF;;AAEkG,2GAE5FwB,0BAA6B,GAAA,IAAA;AACjC;;;;;AAKC,MACD,MAAM,EAAEC,IAAMC,EAAAA,KAAK,EAAE,GAAGC,wBAAAA,EAAAA;IACxB,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,2BAAAA,EAAAA;IAC/B,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAM,EAAEC,uBAAAA,EAAyBC,cAAc,EAAE,GAAGC,8BAAAA,EAAAA;AAEpD,IAAA,MAAM,EACJC,UAAU,EACVC,UAAU,EACVC,MAAM,EACNC,KAAOC,EAAAA,WAAW,EAClBC,SAAAA,EAAWC,eAAe,EAC1BC,UAAAA,EAAYC,gBAAgB,EAC7B,GAAGC,6BAAuBC,SAAW,EAAA;AACpCC,QAAAA,gBAAAA,EAAkB,CAACC,GAAAA,GAAAA;YACjB,MAAMV,MAAAA,GAASU,GAAIrC,CAAAA,IAAI,EAAEyB,UAAAA,CAAWa,KAAK,CAACC,EAAAA,GAAOA,EAAG1C,CAAAA,GAAG,KAAKmB,KAAAA,CAAAA;AAE5D,YAAA,MAAMwB,kBAAkBH,GAAIrC,CAAAA,IAAI,EAAEyB,UAAWgB,CAAAA,MAAAA,CAC3C,CAACC,GAAKC,EAAAA,SAAAA,GAAAA;AACJD,gBAAAA,GAAG,CAACC,SAAAA,CAAU9C,GAAG,CAAC,GAAG8C,SAAAA;gBAErB,OAAOD,GAAAA;AACT,aAAA,EACA,EAAC,CAAA;YAGH,MAAMjB,UAAAA,GAAamB,kCAA6BjB,CAAAA,MAAAA,EAAQkB,UAAYL,EAAAA,eAAAA,CAAAA;YAEpE,MAAMd,UAAAA,GAAaoB,OAAOC,OAAO,CAACV,IAAIrC,IAAI,EAAE0B,cAAc,EAAC,CAAA,CAAGe,MAAM,CAElE,CAACC,KAAK,CAACM,aAAAA,EAAe,EAAEC,OAASC,EAAAA,IAAI,EAAE,CAAC,GAAA;gBACxCR,GAAG,CAACM,cAAc,GAAGE,IAAAA;gBAErB,OAAOR,GAAAA;AACT,aAAA,EAAG,EAAC,CAAA;YAEJ,OAAO;AACLV,gBAAAA,UAAAA,EAAYK,IAAIL,UAAU;AAC1BF,gBAAAA,SAAAA,EAAWO,IAAIP,SAAS;AACxBF,gBAAAA,KAAAA,EAAOS,IAAIT,KAAK;AAChBH,gBAAAA,UAAAA;AACAE,gBAAAA,MAAAA;AACAD,gBAAAA;AACF,aAAA;AACF;AACF,KAAA,CAAA;AAEAyB,IAAAA,gBAAAA,CAAMC,SAAS,CAAC,IAAA;AACd,QAAA,IAAIvB,WAAa,EAAA;YACfX,kBAAmB,CAAA;gBACjBd,IAAM,EAAA,QAAA;AACNiD,gBAAAA,OAAAA,EAAS9B,cAAeM,CAAAA,WAAAA;AAC1B,aAAA,CAAA;AACF;KACC,EAAA;AAACA,QAAAA,WAAAA;AAAaN,QAAAA,cAAAA;AAAgBL,QAAAA;AAAmB,KAAA,CAAA;AAEpD,IAAA,MAAM,EACJlB,IAAI,EACJ8B,SAAAA,EAAWwB,eAAe,EAC1BtB,UAAYuB,EAAAA,gBAAgB,EAC5B3B,KAAK,EACN,GAAGhB,kCAAkCI,KAAS,IAAA,EAAA,CAAA;AAE/CmC,IAAAA,gBAAAA,CAAMC,SAAS,CAAC,IAAA;AACd,QAAA,IAAIxB,KAAO,EAAA;YACTV,kBAAmB,CAAA;gBACjBd,IAAM,EAAA,QAAA;AACNiD,gBAAAA,OAAAA,EAAS9B,cAAeK,CAAAA,KAAAA;AAC1B,aAAA,CAAA;AACF;KACC,EAAA;AAACA,QAAAA,KAAAA;AAAOL,QAAAA,cAAAA;AAAgBL,QAAAA;AAAmB,KAAA,CAAA;AAE9C;;;AAGC,MACD,MAAMY,SAAAA,GAAYwB,eAAmBvB,IAAAA,eAAAA,IAAmBwB,gBAAoBtB,IAAAA,gBAAAA;IAE5E,MAAMuB,UAAAA,GAAaL,iBAAMM,OAAO,CAC9B,IACEzD,IAAQ,IAAA,CAAC8B,SACL4B,GAAAA,gBAAAA,CAAiB1D,IAAM,EAAA;AAAE2B,YAAAA,MAAAA;AAAQF,YAAAA;SAChC,CAAA,GAAA;AACCkC,YAAAA,MAAAA,EAAQ,EAAE;AACVlC,YAAAA,UAAAA,EAAY,EAAC;AACbmC,YAAAA,SAAAA,EAAW,EAAC;AACZC,YAAAA,OAAAA,EAAS,EAAC;YACVC,QAAUC,EAAAA;SAElB,EAAA;AAAC/D,QAAAA,IAAAA;AAAM8B,QAAAA,SAAAA;AAAWH,QAAAA,MAAAA;AAAQF,QAAAA;AAAW,KAAA,CAAA;IAGvC,MAAM,CAACuC,oBAAoB,GAAGnD,uCAAAA,EAAAA;AAC9B,IAAA,MAAMoD,eAAmD,OAAOC,QAAAA,GAAAA;QAC9D,IAAI;AACF;;;;UAKA,MAAMC,OAAOrB,MAAOC,CAAAA,OAAO,CAAC/C,IAAM2C,EAAAA,SAAAA,CAAUiB,aAAa,EAAC,CAAA,CAAGnB,MAAM,CACjE,CAACC,KAAK,CAAC0B,IAAAA,EAAM,EAAEC,IAAI,EAAEC,IAAI,EAAE,CAAC,GAAA;AAC1B,gBAAA,MAAM,EACJC,YAAY,EACZrB,IAAAA,EAAMsB,KAAK,EACXJ,IAAMK,EAAAA,KAAK,EACX,GAAGC,cACJ,EAAA,GAAGR,SAASP,MAAM,CAACgB,OAAO,CAAC,CAACC,GAAAA,GAAQA,GAAIC,CAAAA,QAAQ,CAAEvC,CAAAA,IAAI,CAAC,CAACwC,KAAUA,GAAAA,KAAAA,CAAMV,IAAI,KAAKA,SAClF,EAAC;gBAED1B,GAAG,CAAC0B,KAAK,GAAG;oBACVC,IAAM,EAAA;AACJ,wBAAA,GAAGA,IAAI;AACP,wBAAA,GAAGK;AACL,qBAAA;AACAJ,oBAAAA;AACF,iBAAA;gBAEA,OAAO5B,GAAAA;AACT,aAAA,EACA,EAAC,CAAA;YAGH,MAAML,GAAAA,GAAM,MAAM2B,mBAAoB,CAAA;gBACpCe,OAAS,EAAA;AACPV,oBAAAA,IAAAA,EAAMH,SAASP,MAAM,CAACqB,GAAG,CAAC,CAACJ,MACzBA,GAAIC,CAAAA,QAAQ,CAACpC,MAAM,CAAwC,CAACC,GAAAA,EAAK,EAAE0B,IAAI,EAAElB,IAAI,EAAE,GAAA;AAC7E,4BAAA,IAAIkB,SAASa,oBAAiB,EAAA;gCAC5B,OAAO;AAAIvC,oCAAAA,GAAAA,GAAAA;AAAK,oCAAA;AAAE0B,wCAAAA,IAAAA;AAAMlB,wCAAAA;AAAK;AAAE,iCAAA;AACjC;4BAEA,OAAOR,GAAAA;AACT,yBAAA,EAAG,EAAE,CAAA,CAAA;oBAEP4B,IAAMtE,EAAAA,IAAAA,EAAM2C,UAAUoC,OAAQT,CAAAA;AAChC,iBAAA;AACAR,gBAAAA,QAAAA,EAAUoB,aAAMhB,CAAAA,QAAAA,CAASJ,QAAQ,EAAE,aAAe3B,EAAAA,SAAAA,CAAAA;gBAClDyB,SAAWO,EAAAA,IAAAA;gBACXtE,GAAKmB,EAAAA;AACP,aAAA,CAAA;AAEA,YAAA,IAAI,UAAUqB,GAAK,EAAA;gBACjBnB,kBAAmB,CAAA;oBACjBd,IAAM,EAAA,SAAA;AACNiD,oBAAAA,OAAAA,EAASjC,aAAc,CAAA;wBAAEf,EAAI,EAAA,4BAAA;wBAA8B8E,cAAgB,EAAA;AAAQ,qBAAA;AACrF,iBAAA,CAAA;aACK,MAAA;gBACLjE,kBAAmB,CAAA;oBACjBd,IAAM,EAAA,QAAA;oBACNiD,OAAS9B,EAAAA,cAAAA,CAAec,IAAIT,KAAK;AACnC,iBAAA,CAAA;AACF;AACF,SAAA,CAAE,OAAM;YACNV,kBAAmB,CAAA;gBACjBd,IAAM,EAAA,QAAA;AACNiD,gBAAAA,OAAAA,EAASjC,aAAc,CAAA;oBAAEf,EAAI,EAAA,oBAAA;oBAAsB8E,cAAgB,EAAA;AAAoB,iBAAA;AACzF,aAAA,CAAA;AACF;AACF,KAAA;AAEA,IAAA,IAAIrD,SAAW,EAAA;QACb,qBAAOsD,cAAA,CAACC,iBAAKC,OAAO,EAAA,EAAA,CAAA;AACtB;IAEA,IAAI1D,KAAAA,IAASC,WAAe,IAAA,CAACF,MAAQ,EAAA;QACnC,qBAAOyD,cAAA,CAACC,iBAAKE,KAAK,EAAA,EAAA,CAAA;AACpB;IAEA,qBACEC,eAAA,CAAAC,mBAAA,EAAA;;AACE,0BAAAL,cAAA,CAACC,iBAAKK,KAAK,EAAA;0BAAE,CAAC,UAAU,EAAElC,UAAWM,CAAAA,QAAQ,CAAC6B,WAAW,CAAC,UAAU;;0BACpEP,cAACQ,CAAAA,sBAAAA,EAAAA;gBACCC,QAAU5B,EAAAA,YAAAA;AACVpB,gBAAAA,UAAAA,EAAYlB,OAAOkB,UAAU;gBAC7BnB,UAAYA,EAAAA,UAAAA;gBACZiC,MAAQH,EAAAA;;;;AAIhB;AAEA;;qGAIA,MAAME,mBAAmB,CACvB1D,IAAAA,EACA,EAAE2B,MAAM,EAAEF,UAAU,EAA4D,GAAA;AAEhF,IAAA,MAAMqE,cAAiBC,GAAAA,qCAAAA,CACrB/F,IAAK2C,CAAAA,SAAS,CAACoC,OAAO,CAACV,IAAI,EAC3B1C,QAAQkB,UACR7C,EAAAA,IAAAA,CAAK2C,SAAS,CAACiB,SAAS,EACxB;AAAEoC,QAAAA,cAAAA,EAAgBhG,KAAKyB,UAAU;QAAEwE,OAASxE,EAAAA;AAAW,KAAA,CAAA;AAGzD,IAAA,MAAMyE,uBAA0BpD,GAAAA,MAAAA,CAAOC,OAAO,CAAC/C,IAAKyB,CAAAA,UAAU,CAAEgB,CAAAA,MAAM,CACpE,CAACC,GAAK,EAAA,CAAC7C,KAAKsG,aAAc,CAAA,GAAA;QACxBzD,GAAG,CAAC7C,IAAI,GAAG;AACT8D,YAAAA,MAAAA,EAAQoC,qCACNI,CAAAA,aAAAA,CAAcpB,OAAO,CAACV,IAAI,EAC1B5C,UAAU,CAAC5B,GAAI,CAAA,CAACgD,UAAU,EAC1BsD,cAAcvC,SAAS,CAAA;YAEzBE,QAAU,EAAA;AACR,gBAAA,GAAGqC,cAAcrC,QAAQ;AACzBsC,gBAAAA,IAAAA,EAAM3E,UAAU,CAAC5B,GAAAA,CAAI,CAACwG,IAAI,CAACD,IAAI;AAC/BT,gBAAAA,WAAAA,EAAalE,UAAU,CAAC5B,GAAAA,CAAI,CAACwG,IAAI,CAACV;AACpC;AACF,SAAA;QACA,OAAOjD,GAAAA;AACT,KAAA,EACA,EAAC,CAAA;AAGH,IAAA,MAAM4D,aAAgBxD,GAAAA,MAAAA,CAAOC,OAAO,CAAC/C,KAAK2C,SAAS,CAACiB,SAAS,CAAA,CAAEnB,MAAM,CACnE,CAACC,GAAK,EAAA,CAAC6D,WAAWC,QAAS,CAAA,GAAA;QACzB,OAAO;AACL,YAAA,GAAG9D,GAAG;YACN,CAAC6D,SAAAA,GAAYC,QAAAA,CAASnC;AACxB,SAAA;AACF,KAAA,EACA,EAAC,CAAA;IAGH,OAAO;QACLV,MAAQ,EAAA;AAACmC,YAAAA;AAAe,SAAA;QACxBrE,UAAYyE,EAAAA,uBAAAA;QACZtC,SAAW0C,EAAAA,aAAAA;QACXzC,OAAS,EAAA;AACP,YAAA,GAAGlC,QAAQkC,OAAO;AAClB,YAAA,GAAGlC,QAAQ8E;AACb,SAAA;QACA3C,QAAU,EAAA;YACR,GAAG9D,IAAAA,CAAK2C,SAAS,CAACmB,QAAQ;AAC1B6B,YAAAA,WAAAA,EAAahE,QAAQ0E,IAAKV,CAAAA;AAC5B;AACF,KAAA;AACF,CAAA;AAEA;;AAEkG,2GAE5Fe,mCAAsC,GAAA,IAAA;IAC1C,MAAMC,WAAAA,GAAcC,sBAClB,CAAA,CAACC,KAAUA,GAAAA,KAAAA,CAAMC,SAAS,CAACH,WAAW,CAACI,cAAc,EAAEC,wBAAAA,CAAAA;IAGzD,qBACE5B,cAAA,CAACC,iBAAK4B,OAAO,EAAA;QAACN,WAAaA,EAAAA,WAAAA;AACzB,QAAA,QAAA,gBAAAvB,cAACtE,CAAAA,0BAAAA,EAAAA,EAAAA;;AAGP;;;;;"}
|
@@ -3,26 +3,27 @@ import * as React from 'react';
|
|
3
3
|
import { useNotification, useAPIErrorHandler, Page } from '@strapi/admin/strapi-admin';
|
4
4
|
import { useIntl } from 'react-intl';
|
5
5
|
import { useParams } from 'react-router-dom';
|
6
|
-
import { C as ConfigurationForm, T as TEMP_FIELD_NAME } from './Form-
|
7
|
-
import { e as contentManagerApi, a as useGetInitialDataQuery, F as extractContentTypeComponents, G as DEFAULT_SETTINGS, J as convertEditLayoutToFieldLayouts } from './index-
|
8
|
-
import { u as useTypedSelector } from './hooks-DMvik5y_.
|
9
|
-
import { s as setIn } from './objects-wl73iEma.
|
6
|
+
import { C as ConfigurationForm, T as TEMP_FIELD_NAME } from './Form-5g7HkFFt.mjs';
|
7
|
+
import { e as contentManagerApi, a as useGetInitialDataQuery, F as extractContentTypeComponents, G as DEFAULT_SETTINGS, J as convertEditLayoutToFieldLayouts } from './index-CKhhB2D_.mjs';
|
8
|
+
import { u as useTypedSelector } from './hooks-DMvik5y_.mjs';
|
9
|
+
import { s as setIn } from './objects-wl73iEma.mjs';
|
10
10
|
import '@strapi/design-system';
|
11
11
|
import 'fractional-indexing';
|
12
12
|
import 'lodash/fp/pipe';
|
13
13
|
import '@strapi/icons';
|
14
14
|
import 'react-dnd-html5-backend';
|
15
15
|
import 'styled-components';
|
16
|
-
import './useDragAndDrop-HYwNDExe.
|
16
|
+
import './useDragAndDrop-HYwNDExe.mjs';
|
17
17
|
import 'react-dnd';
|
18
|
-
import './ComponentIcon-BZcTc4rj.
|
18
|
+
import './ComponentIcon-BZcTc4rj.mjs';
|
19
19
|
import '@strapi/icons/symbols';
|
20
20
|
import 'yup';
|
21
|
-
import './FieldTypeIcon-BY6MrVF4.
|
21
|
+
import './FieldTypeIcon-BY6MrVF4.mjs';
|
22
22
|
import 'lodash/fp/mapValues';
|
23
23
|
import 'qs';
|
24
24
|
import 'date-fns';
|
25
25
|
import '@reduxjs/toolkit';
|
26
|
+
import 'prismjs';
|
26
27
|
import 'react-redux';
|
27
28
|
import 'lodash/clone';
|
28
29
|
import 'lodash/toPath';
|
@@ -273,4 +274,4 @@ const { useGetComponentConfigurationQuery, useUpdateComponentConfigurationMutati
|
|
273
274
|
};
|
274
275
|
|
275
276
|
export { ComponentConfigurationPage, ProtectedComponentConfigurationPage };
|
276
|
-
//# sourceMappingURL=ComponentConfigurationPage-
|
277
|
+
//# sourceMappingURL=ComponentConfigurationPage-I9h58PvZ.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ComponentConfigurationPage-I9h58PvZ.mjs","sources":["../../../admin/src/services/components.ts","../../../admin/src/pages/ComponentConfigurationPage.tsx"],"sourcesContent":["import { contentManagerApi } from './api';\n\nimport type {\n FindComponentConfiguration,\n UpdateComponentConfiguration,\n} from '../../../shared/contracts/components';\n\nconst componentsApi = contentManagerApi.injectEndpoints({\n endpoints: (builder) => ({\n getComponentConfiguration: builder.query<\n FindComponentConfiguration.Response['data'],\n FindComponentConfiguration.Params['uid']\n >({\n query: (uid) => `/content-manager/components/${uid}/configuration`,\n transformResponse: (response: FindComponentConfiguration.Response) => response.data,\n providesTags: (_result, _error, uid) => [{ type: 'ComponentConfiguration', id: uid }],\n }),\n updateComponentConfiguration: builder.mutation({\n query: ({ uid, ...body }) => ({\n url: `/content-manager/components/${uid}/configuration`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: UpdateComponentConfiguration.Response) => response.data,\n invalidatesTags: (_result, _error, { uid }) => [\n { type: 'ComponentConfiguration', id: uid },\n // otherwise layouts already fetched will have stale component configuration data.\n { type: 'ContentTypeSettings', id: 'LIST' },\n ],\n }),\n }),\n});\n\nconst { useGetComponentConfigurationQuery, useUpdateComponentConfigurationMutation } =\n componentsApi;\n\nexport { useGetComponentConfigurationQuery, useUpdateComponentConfigurationMutation };\n","import * as React from 'react';\n\nimport { Page, useNotification, useAPIErrorHandler } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { TEMP_FIELD_NAME } from '../components/ConfigurationForm/Fields';\nimport { ConfigurationForm, ConfigurationFormProps } from '../components/ConfigurationForm/Form';\nimport { ComponentsDictionary, extractContentTypeComponents } from '../hooks/useContentTypeSchema';\nimport {\n DEFAULT_SETTINGS,\n EditLayout,\n convertEditLayoutToFieldLayouts,\n} from '../hooks/useDocumentLayout';\nimport { useTypedSelector } from '../modules/hooks';\nimport {\n useGetComponentConfigurationQuery,\n useUpdateComponentConfigurationMutation,\n} from '../services/components';\nimport { useGetInitialDataQuery } from '../services/init';\nimport { setIn } from '../utils/objects';\n\nimport type { Component, FindComponentConfiguration } from '../../../shared/contracts/components';\nimport type { Metadatas } from '../../../shared/contracts/content-types';\n\n/* -------------------------------------------------------------------------------------------------\n * ComponentConfigurationPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ComponentConfigurationPage = () => {\n /**\n * useDocumentLayout only works for documents, not components,\n * it feels weird to make that hook work for both when this is SUCH\n * a unique use case and we only do it here, so in short, we essentially\n * just extracted the logic to make an edit view layout and reproduced it here.\n */\n const { slug: model } = useParams<{ slug: string }>();\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const {\n components,\n fieldSizes,\n schema,\n error: errorSchema,\n isLoading: isLoadingSchema,\n isFetching: isFetchingSchema,\n } = useGetInitialDataQuery(undefined, {\n selectFromResult: (res) => {\n const schema = res.data?.components.find((ct) => ct.uid === model);\n\n const componentsByKey = res.data?.components.reduce<ComponentsDictionary>(\n (acc, component) => {\n acc[component.uid] = component;\n\n return acc;\n },\n {}\n );\n\n const components = extractContentTypeComponents(schema?.attributes, componentsByKey);\n\n const fieldSizes = Object.entries(res.data?.fieldSizes ?? {}).reduce<\n ConfigurationFormProps['fieldSizes']\n >((acc, [attributeName, { default: size }]) => {\n acc[attributeName] = size;\n\n return acc;\n }, {});\n\n return {\n isFetching: res.isFetching,\n isLoading: res.isLoading,\n error: res.error,\n components,\n schema,\n fieldSizes,\n };\n },\n });\n\n React.useEffect(() => {\n if (errorSchema) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(errorSchema),\n });\n }\n }, [errorSchema, formatAPIError, toggleNotification]);\n\n const {\n data,\n isLoading: isLoadingConfig,\n isFetching: isFetchingConfig,\n error,\n } = useGetComponentConfigurationQuery(model ?? '');\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n }\n }, [error, formatAPIError, toggleNotification]);\n\n /**\n * you **must** check if we're loading or fetching in case the component gets new props\n * but nothing was unmounted, it then becomes a fetch, not a load.\n */\n const isLoading = isLoadingConfig || isLoadingSchema || isFetchingConfig || isFetchingSchema;\n\n const editLayout = React.useMemo(\n () =>\n data && !isLoading\n ? formatEditLayout(data, { schema, components })\n : ({\n layout: [],\n components: {},\n metadatas: {},\n options: {},\n settings: DEFAULT_SETTINGS,\n } as EditLayout),\n [data, isLoading, schema, components]\n );\n\n const [updateConfiguration] = useUpdateComponentConfigurationMutation();\n const handleSubmit: ConfigurationFormProps['onSubmit'] = async (formData) => {\n try {\n /**\n * We reconstruct the metadatas object by taking the existing list metadatas\n * and re-merging that by attribute name with the current list metadatas, whilst overwriting\n * the data from the form we've built.\n */\n const meta = Object.entries(data?.component.metadatas ?? {}).reduce<Metadatas>(\n (acc, [name, { edit, list }]) => {\n const {\n __temp_key__,\n size: _size,\n name: _name,\n ...editedMetadata\n } = formData.layout.flatMap((row) => row.children).find((field) => field.name === name) ??\n {};\n\n acc[name] = {\n edit: {\n ...edit,\n ...editedMetadata,\n },\n list,\n };\n\n return acc;\n },\n {}\n );\n\n const res = await updateConfiguration({\n layouts: {\n edit: formData.layout.map((row) =>\n row.children.reduce<Array<{ name: string; size: number }>>((acc, { name, size }) => {\n if (name !== TEMP_FIELD_NAME) {\n return [...acc, { name, size }];\n }\n\n return acc;\n }, [])\n ),\n list: data?.component.layouts.list,\n },\n settings: setIn(formData.settings, 'displayName', undefined),\n metadatas: meta,\n uid: model,\n });\n\n if ('data' in res) {\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || errorSchema || !schema) {\n return <Page.Error />;\n }\n\n return (\n <>\n <Page.Title>{`Configure ${editLayout.settings.displayName} Edit View`}</Page.Title>\n <ConfigurationForm\n onSubmit={handleSubmit}\n attributes={schema.attributes}\n fieldSizes={fieldSizes}\n layout={editLayout}\n />\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\nconst formatEditLayout = (\n data: FindComponentConfiguration.Response['data'],\n { schema, components }: { schema?: Component; components: ComponentsDictionary }\n) => {\n const editAttributes = convertEditLayoutToFieldLayouts(\n data.component.layouts.edit,\n schema?.attributes,\n data.component.metadatas,\n { configurations: data.components, schemas: components }\n );\n\n const componentEditAttributes = Object.entries(data.components).reduce<EditLayout['components']>(\n (acc, [uid, configuration]) => {\n acc[uid] = {\n layout: convertEditLayoutToFieldLayouts(\n configuration.layouts.edit,\n components[uid].attributes,\n configuration.metadatas\n ),\n settings: {\n ...configuration.settings,\n icon: components[uid].info.icon,\n displayName: components[uid].info.displayName,\n },\n };\n return acc;\n },\n {}\n );\n\n const editMetadatas = Object.entries(data.component.metadatas).reduce<EditLayout['metadatas']>(\n (acc, [attribute, metadata]) => {\n return {\n ...acc,\n [attribute]: metadata.edit,\n };\n },\n {}\n );\n\n return {\n layout: [editAttributes],\n components: componentEditAttributes,\n metadatas: editMetadatas,\n options: {\n ...schema?.options,\n ...schema?.pluginOptions,\n },\n settings: {\n ...data.component.settings,\n displayName: schema?.info.displayName,\n },\n };\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Header\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedComponentConfigurationPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.contentManager?.componentsConfigurations\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ComponentConfigurationPage />\n </Page.Protect>\n );\n};\n\nexport { ComponentConfigurationPage, ProtectedComponentConfigurationPage };\n"],"names":["componentsApi","contentManagerApi","injectEndpoints","endpoints","builder","getComponentConfiguration","query","uid","transformResponse","response","data","providesTags","_result","_error","type","id","updateComponentConfiguration","mutation","body","url","method","invalidatesTags","useGetComponentConfigurationQuery","useUpdateComponentConfigurationMutation","ComponentConfigurationPage","slug","model","useParams","toggleNotification","useNotification","formatMessage","useIntl","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","components","fieldSizes","schema","error","errorSchema","isLoading","isLoadingSchema","isFetching","isFetchingSchema","useGetInitialDataQuery","undefined","selectFromResult","res","find","ct","componentsByKey","reduce","acc","component","extractContentTypeComponents","attributes","Object","entries","attributeName","default","size","React","useEffect","message","isLoadingConfig","isFetchingConfig","editLayout","useMemo","formatEditLayout","layout","metadatas","options","settings","DEFAULT_SETTINGS","updateConfiguration","handleSubmit","formData","meta","name","edit","list","__temp_key__","_size","_name","editedMetadata","flatMap","row","children","field","layouts","map","TEMP_FIELD_NAME","setIn","defaultMessage","_jsx","Page","Loading","Error","_jsxs","_Fragment","Title","displayName","ConfigurationForm","onSubmit","editAttributes","convertEditLayoutToFieldLayouts","configurations","schemas","componentEditAttributes","configuration","icon","info","editMetadatas","attribute","metadata","pluginOptions","ProtectedComponentConfigurationPage","permissions","useTypedSelector","state","admin_app","contentManager","componentsConfigurations","Protect"],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ComponentIcon-BZcTc4rj.mjs","sources":["../../../admin/src/components/ComponentIcon.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Flex, FlexProps } from '@strapi/design-system';\nimport * as Icons from '@strapi/icons';\nimport * as Symbols from '@strapi/icons/symbols';\n\nimport type { Struct } from '@strapi/types';\n\ninterface ComponentIconProps extends FlexProps {\n showBackground?: boolean;\n icon?: Struct.ContentTypeSchemaInfo['icon'];\n}\n\nconst ComponentIcon = ({\n showBackground = true,\n icon = 'dashboard',\n ...props\n}: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon as keyof typeof COMPONENT_ICONS] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={showBackground ? 'neutral200' : undefined}\n justifyContent=\"center\"\n height={8}\n width={8}\n color=\"neutral600\"\n borderRadius={showBackground ? '50%' : 0}\n {...props}\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n\nconst COMPONENT_ICONS: Record<string, React.ComponentType<any>> = {\n alien: Icons.Alien,\n apps: Icons.GridNine,\n archive: Icons.Archive,\n arrowDown: Icons.ArrowDown,\n arrowLeft: Icons.ArrowLeft,\n arrowRight: Icons.ArrowRight,\n arrowUp: Icons.ArrowUp,\n attachment: Icons.Paperclip,\n bell: Icons.Bell,\n bold: Icons.Bold,\n book: Icons.Book,\n briefcase: Icons.Briefcase,\n brush: Icons.PaintBrush,\n bulletList: Icons.BulletList,\n calendar: Icons.Calendar,\n car: Icons.Car,\n cast: Icons.Cast,\n chartBubble: Icons.ChartBubble,\n chartCircle: Icons.ChartCircle,\n chartPie: Icons.ChartPie,\n check: Icons.Check,\n clock: Icons.Clock,\n cloud: Icons.Cloud,\n code: Icons.Code,\n cog: Icons.Cog,\n collapse: Icons.Collapse,\n command: Icons.Command,\n connector: Icons.Faders,\n crop: Icons.Crop,\n crown: Icons.Crown,\n cup: Icons.Coffee,\n cursor: Icons.Cursor,\n dashboard: Icons.SquaresFour,\n database: Icons.Database,\n discuss: Icons.Discuss,\n doctor: Icons.Stethoscope,\n earth: Icons.Earth,\n emotionHappy: Icons.EmotionHappy,\n emotionUnhappy: Icons.EmotionUnhappy,\n envelop: Icons.Mail,\n exit: Icons.SignOut,\n expand: Icons.Expand,\n eye: Icons.Eye,\n feather: Icons.Feather,\n file: Icons.File,\n fileError: Icons.FileError,\n filePdf: Icons.FilePdf,\n filter: Icons.Filter,\n folder: Icons.Folder,\n gate: Icons.CastleTurret,\n gift: Icons.Gift,\n globe: Icons.Globe,\n grid: Icons.GridFour,\n handHeart: Icons.HandHeart,\n hashtag: Icons.Hashtag,\n headphone: Icons.Headphones,\n heart: Icons.Heart,\n house: Icons.House,\n information: Icons.Information,\n italic: Icons.Italic,\n key: Icons.Key,\n landscape: Icons.Images,\n layer: Icons.ListPlus,\n layout: Icons.Layout,\n lightbulb: Icons.Lightbulb,\n link: Icons.Link,\n lock: Icons.Lock,\n magic: Icons.Magic,\n manyToMany: Icons.ManyToMany,\n manyToOne: Icons.ManyToOne,\n manyWays: Icons.ManyWays,\n medium: Symbols.Medium,\n message: Icons.Message,\n microphone: Icons.Microphone,\n monitor: Icons.Monitor,\n moon: Icons.Moon,\n music: Icons.MusicNotes,\n oneToMany: Icons.OneToMany,\n oneToOne: Icons.OneToOne,\n oneWay: Icons.OneWay,\n paint: Icons.PaintBrush,\n paintBrush: Icons.PaintBrush,\n paperPlane: Icons.PaperPlane,\n pencil: Icons.Pencil,\n phone: Icons.Phone,\n picture: Icons.Image,\n pin: Icons.Pin,\n pinMap: Icons.PinMap,\n plane: Icons.Plane,\n play: Icons.Play,\n plus: Icons.Plus,\n priceTag: Icons.PriceTag,\n puzzle: Icons.PuzzlePiece,\n question: Icons.Question,\n quote: Icons.Quotes,\n refresh: Icons.ArrowClockwise,\n restaurant: Icons.Restaurant,\n rocket: Icons.Rocket,\n rotate: Icons.ArrowsCounterClockwise,\n scissors: Icons.Scissors,\n search: Icons.Search,\n seed: Icons.Plant,\n server: Icons.Server,\n shield: Icons.Shield,\n shirt: Icons.Shirt,\n shoppingCart: Icons.ShoppingCart,\n slideshow: Icons.PresentationChart,\n stack: Icons.Stack,\n star: Icons.Star,\n store: Icons.Store,\n strikeThrough: Icons.StrikeThrough,\n sun: Icons.Sun,\n television: Icons.Television,\n thumbDown: Icons.ThumbDown,\n thumbUp: Icons.ThumbUp,\n train: Icons.Train,\n twitter: Symbols.X,\n typhoon: Icons.Typhoon,\n underline: Icons.Underline,\n user: Icons.User,\n volumeMute: Icons.VolumeMute,\n volumeUp: Icons.VolumeUp,\n walk: Icons.Walk,\n wheelchair: Icons.Wheelchair,\n write: Icons.Feather,\n};\n\nexport { ComponentIcon, COMPONENT_ICONS };\nexport type { ComponentIconProps };\n"],"names":["ComponentIcon","showBackground","icon","props","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","undefined","justifyContent","height","width","color","borderRadius","alien","Icons","Alien","apps","GridNine","archive","Archive","arrowDown","ArrowDown","arrowLeft","ArrowLeft","arrowRight","ArrowRight","arrowUp","ArrowUp","attachment","Paperclip","bell","Bell","bold","Bold","book","Book","briefcase","Briefcase","brush","PaintBrush","bulletList","BulletList","calendar","Calendar","car","Car","cast","Cast","chartBubble","ChartBubble","chartCircle","ChartCircle","chartPie","ChartPie","check","Check","clock","Clock","cloud","Cloud","code","Code","cog","Cog","collapse","Collapse","command","Command","connector","Faders","crop","Crop","crown","Crown","cup","Coffee","cursor","Cursor","SquaresFour","database","Database","discuss","Discuss","doctor","Stethoscope","earth","Earth","emotionHappy","EmotionHappy","emotionUnhappy","EmotionUnhappy","envelop","Mail","exit","SignOut","expand","Expand","eye","Eye","feather","Feather","file","File","fileError","FileError","filePdf","FilePdf","filter","Filter","folder","Folder","gate","CastleTurret","gift","Gift","globe","Globe","grid","GridFour","handHeart","HandHeart","hashtag","Hashtag","headphone","Headphones","heart","Heart","house","House","information","Information","italic","Italic","key","Key","landscape","Images","layer","ListPlus","layout","Layout","lightbulb","Lightbulb","link","Link","lock","Lock","magic","Magic","manyToMany","ManyToMany","manyToOne","ManyToOne","manyWays","ManyWays","medium","Symbols","Medium","message","Message","microphone","Microphone","monitor","Monitor","moon","Moon","music","MusicNotes","oneToMany","OneToMany","oneToOne","OneToOne","oneWay","OneWay","paint","paintBrush","paperPlane","PaperPlane","pencil","Pencil","phone","Phone","picture","Image","pin","Pin","pinMap","PinMap","plane","Plane","play","Play","plus","Plus","priceTag","PriceTag","puzzle","PuzzlePiece","question","Question","quote","Quotes","refresh","ArrowClockwise","restaurant","Restaurant","rocket","Rocket","rotate","ArrowsCounterClockwise","scissors","Scissors","search","Search","seed","Plant","server","Server","shield","Shield","shirt","Shirt","shoppingCart","ShoppingCart","slideshow","PresentationChart","stack","Stack","star","Star","store","Store","strikeThrough","StrikeThrough","sun","Sun","television","Television","thumbDown","ThumbDown","thumbUp","ThumbUp","train","Train","twitter","X","typhoon","Typhoon","underline","Underline","user","User","volumeMute","VolumeMute","volumeUp","VolumeUp","walk","Walk","wheelchair","Wheelchair","write"],"mappings":"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"}
|
package/dist/admin/chunks/{EditConfigurationPage-D4Oio8m1.js → EditConfigurationPage-B0IuEz1P.mjs}
RENAMED
@@ -2,10 +2,10 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
3
3
|
import { useTracking, useNotification, useAPIErrorHandler, Page } from '@strapi/admin/strapi-admin';
|
4
4
|
import { useIntl } from 'react-intl';
|
5
|
-
import { C as ConfigurationForm, T as TEMP_FIELD_NAME } from './Form-
|
6
|
-
import { c as useDoc, m as useDocLayout, a as useGetInitialDataQuery, A as useUpdateContentTypeConfigurationMutation } from './index-
|
7
|
-
import { u as useTypedSelector } from './hooks-DMvik5y_.
|
8
|
-
import { s as setIn } from './objects-wl73iEma.
|
5
|
+
import { C as ConfigurationForm, T as TEMP_FIELD_NAME } from './Form-5g7HkFFt.mjs';
|
6
|
+
import { c as useDoc, m as useDocLayout, a as useGetInitialDataQuery, A as useUpdateContentTypeConfigurationMutation } from './index-CKhhB2D_.mjs';
|
7
|
+
import { u as useTypedSelector } from './hooks-DMvik5y_.mjs';
|
8
|
+
import { s as setIn } from './objects-wl73iEma.mjs';
|
9
9
|
import '@strapi/design-system';
|
10
10
|
import 'fractional-indexing';
|
11
11
|
import 'lodash/fp/pipe';
|
@@ -13,16 +13,17 @@ import '@strapi/icons';
|
|
13
13
|
import 'react-dnd-html5-backend';
|
14
14
|
import 'react-router-dom';
|
15
15
|
import 'styled-components';
|
16
|
-
import './useDragAndDrop-HYwNDExe.
|
16
|
+
import './useDragAndDrop-HYwNDExe.mjs';
|
17
17
|
import 'react-dnd';
|
18
|
-
import './ComponentIcon-BZcTc4rj.
|
18
|
+
import './ComponentIcon-BZcTc4rj.mjs';
|
19
19
|
import '@strapi/icons/symbols';
|
20
20
|
import 'yup';
|
21
|
-
import './FieldTypeIcon-BY6MrVF4.
|
21
|
+
import './FieldTypeIcon-BY6MrVF4.mjs';
|
22
22
|
import 'lodash/fp/mapValues';
|
23
23
|
import 'qs';
|
24
24
|
import 'date-fns';
|
25
25
|
import '@reduxjs/toolkit';
|
26
|
+
import 'prismjs';
|
26
27
|
import 'react-redux';
|
27
28
|
import 'lodash/clone';
|
28
29
|
import 'lodash/toPath';
|
@@ -155,4 +156,4 @@ const ProtectedEditConfigurationPage = ()=>{
|
|
155
156
|
};
|
156
157
|
|
157
158
|
export { EditConfigurationPage, ProtectedEditConfigurationPage };
|
158
|
-
//# sourceMappingURL=EditConfigurationPage-
|
159
|
+
//# sourceMappingURL=EditConfigurationPage-B0IuEz1P.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"EditConfigurationPage-B0IuEz1P.mjs","sources":["../../../admin/src/pages/EditConfigurationPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Page, useNotification, useTracking, useAPIErrorHandler } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\n\nimport { TEMP_FIELD_NAME } from '../components/ConfigurationForm/Fields';\nimport { ConfigurationForm, ConfigurationFormProps } from '../components/ConfigurationForm/Form';\nimport { useDoc } from '../hooks/useDocument';\nimport { useDocLayout } from '../hooks/useDocumentLayout';\nimport { useTypedSelector } from '../modules/hooks';\nimport { useUpdateContentTypeConfigurationMutation } from '../services/contentTypes';\nimport { useGetInitialDataQuery } from '../services/init';\nimport { setIn } from '../utils/objects';\n\nimport type { Metadatas } from '../../../shared/contracts/content-types';\n\nconst EditConfigurationPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { isLoading: isLoadingSchema, schema, model } = useDoc();\n const { isLoading: isLoadingLayout, error, list, edit } = useDocLayout();\n\n const {\n fieldSizes,\n error: errorFieldSizes,\n isLoading: isLoadingFieldSizes,\n isFetching: isFetchingFieldSizes,\n } = useGetInitialDataQuery(undefined, {\n selectFromResult: (res) => {\n const fieldSizes = Object.entries(res.data?.fieldSizes ?? {}).reduce<\n ConfigurationFormProps['fieldSizes']\n >((acc, [attributeName, { default: size }]) => {\n acc[attributeName] = size;\n\n return acc;\n }, {});\n\n return {\n isFetching: res.isFetching,\n isLoading: res.isLoading,\n error: res.error,\n fieldSizes,\n };\n },\n });\n\n React.useEffect(() => {\n if (errorFieldSizes) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(errorFieldSizes),\n });\n }\n }, [errorFieldSizes, formatAPIError, toggleNotification]);\n\n const isLoading =\n isLoadingSchema || isLoadingLayout || isLoadingFieldSizes || isFetchingFieldSizes;\n\n const [updateConfiguration] = useUpdateContentTypeConfigurationMutation();\n const handleSubmit: ConfigurationFormProps['onSubmit'] = async (data) => {\n try {\n trackUsage('willSaveContentTypeLayout');\n\n /**\n * We reconstruct the metadatas object by taking the existing list metadatas\n * and re-merging that by attribute name with the current list metadatas, whilst overwriting\n * the data from the form we've built.\n */\n const meta = Object.entries(list.metadatas).reduce<Metadatas>(\n (acc, [name, { mainField: _mainField, ...listMeta }]) => {\n const existingEditMeta = edit.metadatas[name];\n\n const {\n __temp_key__,\n size: _size,\n name: _name,\n ...editedMetadata\n } = data.layout.flatMap((row) => row.children).find((field) => field.name === name) ?? {};\n\n acc[name] = {\n edit: {\n ...existingEditMeta,\n ...editedMetadata,\n },\n list: listMeta,\n };\n\n return acc;\n },\n {}\n );\n\n const res = await updateConfiguration({\n layouts: {\n edit: data.layout.map((row) =>\n row.children.reduce<Array<{ name: string; size: number }>>((acc, { name, size }) => {\n if (name !== TEMP_FIELD_NAME) {\n return [...acc, { name, size }];\n }\n\n return acc;\n }, [])\n ),\n list: list.layout.map((field) => field.name),\n },\n settings: setIn(data.settings, 'displayName', undefined),\n metadatas: meta,\n uid: model,\n });\n\n if ('data' in res) {\n trackUsage('didEditEditSettings');\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (errorFieldSizes || error || !schema) {\n return <Page.Error />;\n }\n\n return (\n <>\n <Page.Title>{`Configure ${edit.settings.displayName} Edit View`}</Page.Title>\n <ConfigurationForm\n onSubmit={handleSubmit}\n attributes={schema.attributes}\n fieldSizes={fieldSizes}\n layout={edit}\n />\n </>\n );\n};\n\nconst ProtectedEditConfigurationPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.contentManager?.collectionTypesConfigurations\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditConfigurationPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedEditConfigurationPage, EditConfigurationPage };\n"],"names":["EditConfigurationPage","trackUsage","useTracking","formatMessage","useIntl","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","isLoading","isLoadingSchema","schema","model","useDoc","isLoadingLayout","error","list","edit","useDocLayout","fieldSizes","errorFieldSizes","isLoadingFieldSizes","isFetching","isFetchingFieldSizes","useGetInitialDataQuery","undefined","selectFromResult","res","Object","entries","data","reduce","acc","attributeName","default","size","React","useEffect","type","message","updateConfiguration","useUpdateContentTypeConfigurationMutation","handleSubmit","meta","metadatas","name","mainField","_mainField","listMeta","existingEditMeta","__temp_key__","_size","_name","editedMetadata","layout","flatMap","row","children","find","field","layouts","map","TEMP_FIELD_NAME","settings","setIn","uid","id","defaultMessage","_jsx","Page","Loading","Error","_jsxs","_Fragment","Title","displayName","ConfigurationForm","onSubmit","attributes","ProtectedEditConfigurationPage","permissions","useTypedSelector","state","admin_app","contentManager","collectionTypesConfigurations","Protect"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAMA,qBAAwB,GAAA,IAAA;IAC5B,MAAM,EAAEC,UAAU,EAAE,GAAGC,WAAAA,EAAAA;IACvB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEC,kBAAkB,EAAE,GAAGC,eAAAA,EAAAA;AAC/B,IAAA,MAAM,EAAEC,uBAAAA,EAAyBC,cAAc,EAAE,GAAGC,kBAAAA,EAAAA;IACpD,MAAM,EAAEC,WAAWC,eAAe,EAAEC,MAAM,EAAEC,KAAK,EAAE,GAAGC,MAAAA,EAAAA;IACtD,MAAM,EAAEJ,SAAWK,EAAAA,eAAe,EAAEC,KAAK,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAGC,YAAAA,EAAAA;AAE1D,IAAA,MAAM,EACJC,UAAU,EACVJ,KAAAA,EAAOK,eAAe,EACtBX,SAAAA,EAAWY,mBAAmB,EAC9BC,UAAYC,EAAAA,oBAAoB,EACjC,GAAGC,uBAAuBC,SAAW,EAAA;AACpCC,QAAAA,gBAAAA,EAAkB,CAACC,GAAAA,GAAAA;YACjB,MAAMR,UAAAA,GAAaS,OAAOC,OAAO,CAACF,IAAIG,IAAI,EAAEX,cAAc,EAAC,CAAA,CAAGY,MAAM,CAElE,CAACC,KAAK,CAACC,aAAAA,EAAe,EAAEC,OAASC,EAAAA,IAAI,EAAE,CAAC,GAAA;gBACxCH,GAAG,CAACC,cAAc,GAAGE,IAAAA;gBAErB,OAAOH,GAAAA;AACT,aAAA,EAAG,EAAC,CAAA;YAEJ,OAAO;AACLV,gBAAAA,UAAAA,EAAYK,IAAIL,UAAU;AAC1Bb,gBAAAA,SAAAA,EAAWkB,IAAIlB,SAAS;AACxBM,gBAAAA,KAAAA,EAAOY,IAAIZ,KAAK;AAChBI,gBAAAA;AACF,aAAA;AACF;AACF,KAAA,CAAA;AAEAiB,IAAAA,KAAAA,CAAMC,SAAS,CAAC,IAAA;AACd,QAAA,IAAIjB,eAAiB,EAAA;YACnBhB,kBAAmB,CAAA;gBACjBkC,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAAShC,cAAea,CAAAA,eAAAA;AAC1B,aAAA,CAAA;AACF;KACC,EAAA;AAACA,QAAAA,eAAAA;AAAiBb,QAAAA,cAAAA;AAAgBH,QAAAA;AAAmB,KAAA,CAAA;IAExD,MAAMK,SAAAA,GACJC,eAAmBI,IAAAA,eAAAA,IAAmBO,mBAAuBE,IAAAA,oBAAAA;IAE/D,MAAM,CAACiB,oBAAoB,GAAGC,yCAAAA,EAAAA;AAC9B,IAAA,MAAMC,eAAmD,OAAOZ,IAAAA,GAAAA;QAC9D,IAAI;YACF9B,UAAW,CAAA,2BAAA,CAAA;AAEX;;;;UAKA,MAAM2C,OAAOf,MAAOC,CAAAA,OAAO,CAACb,IAAK4B,CAAAA,SAAS,EAAEb,MAAM,CAChD,CAACC,GAAK,EAAA,CAACa,MAAM,EAAEC,SAAAA,EAAWC,UAAU,EAAE,GAAGC,UAAU,CAAC,GAAA;AAClD,gBAAA,MAAMC,gBAAmBhC,GAAAA,IAAAA,CAAK2B,SAAS,CAACC,IAAK,CAAA;AAE7C,gBAAA,MAAM,EACJK,YAAY,EACZf,IAAAA,EAAMgB,KAAK,EACXN,IAAMO,EAAAA,KAAK,EACX,GAAGC,cACJ,EAAA,GAAGvB,KAAKwB,MAAM,CAACC,OAAO,CAAC,CAACC,GAAAA,GAAQA,GAAIC,CAAAA,QAAQ,CAAEC,CAAAA,IAAI,CAAC,CAACC,KAAUA,GAAAA,KAAAA,CAAMd,IAAI,KAAKA,SAAS,EAAC;gBAExFb,GAAG,CAACa,KAAK,GAAG;oBACV5B,IAAM,EAAA;AACJ,wBAAA,GAAGgC,gBAAgB;AACnB,wBAAA,GAAGI;AACL,qBAAA;oBACArC,IAAMgC,EAAAA;AACR,iBAAA;gBAEA,OAAOhB,GAAAA;AACT,aAAA,EACA,EAAC,CAAA;YAGH,MAAML,GAAAA,GAAM,MAAMa,mBAAoB,CAAA;gBACpCoB,OAAS,EAAA;AACP3C,oBAAAA,IAAAA,EAAMa,KAAKwB,MAAM,CAACO,GAAG,CAAC,CAACL,MACrBA,GAAIC,CAAAA,QAAQ,CAAC1B,MAAM,CAAwC,CAACC,GAAAA,EAAK,EAAEa,IAAI,EAAEV,IAAI,EAAE,GAAA;AAC7E,4BAAA,IAAIU,SAASiB,eAAiB,EAAA;gCAC5B,OAAO;AAAI9B,oCAAAA,GAAAA,GAAAA;AAAK,oCAAA;AAAEa,wCAAAA,IAAAA;AAAMV,wCAAAA;AAAK;AAAE,iCAAA;AACjC;4BAEA,OAAOH,GAAAA;AACT,yBAAA,EAAG,EAAE,CAAA,CAAA;oBAEPhB,IAAMA,EAAAA,IAAAA,CAAKsC,MAAM,CAACO,GAAG,CAAC,CAACF,KAAAA,GAAUA,MAAMd,IAAI;AAC7C,iBAAA;AACAkB,gBAAAA,QAAAA,EAAUC,KAAMlC,CAAAA,IAAAA,CAAKiC,QAAQ,EAAE,aAAetC,EAAAA,SAAAA,CAAAA;gBAC9CmB,SAAWD,EAAAA,IAAAA;gBACXsB,GAAKrD,EAAAA;AACP,aAAA,CAAA;AAEA,YAAA,IAAI,UAAUe,GAAK,EAAA;gBACjB3B,UAAW,CAAA,qBAAA,CAAA;gBACXI,kBAAmB,CAAA;oBACjBkC,IAAM,EAAA,SAAA;AACNC,oBAAAA,OAAAA,EAASrC,aAAc,CAAA;wBAAEgE,EAAI,EAAA,4BAAA;wBAA8BC,cAAgB,EAAA;AAAQ,qBAAA;AACrF,iBAAA,CAAA;aACK,MAAA;gBACL/D,kBAAmB,CAAA;oBACjBkC,IAAM,EAAA,QAAA;oBACNC,OAAShC,EAAAA,cAAAA,CAAeoB,IAAIZ,KAAK;AACnC,iBAAA,CAAA;AACF;AACF,SAAA,CAAE,OAAM;YACNX,kBAAmB,CAAA;gBACjBkC,IAAM,EAAA,QAAA;AACNC,gBAAAA,OAAAA,EAASrC,aAAc,CAAA;oBAAEgE,EAAI,EAAA,oBAAA;oBAAsBC,cAAgB,EAAA;AAAoB,iBAAA;AACzF,aAAA,CAAA;AACF;AACF,KAAA;AAEA,IAAA,IAAI1D,SAAW,EAAA;QACb,qBAAO2D,GAAA,CAACC,KAAKC,OAAO,EAAA,EAAA,CAAA;AACtB;IAEA,IAAIlD,eAAAA,IAAmBL,KAAS,IAAA,CAACJ,MAAQ,EAAA;QACvC,qBAAOyD,GAAA,CAACC,KAAKE,KAAK,EAAA,EAAA,CAAA;AACpB;IAEA,qBACEC,IAAA,CAAAC,QAAA,EAAA;;AACE,0BAAAL,GAAA,CAACC,KAAKK,KAAK,EAAA;0BAAE,CAAC,UAAU,EAAEzD,IAAK8C,CAAAA,QAAQ,CAACY,WAAW,CAAC,UAAU;;0BAC9DP,GAACQ,CAAAA,iBAAAA,EAAAA;gBACCC,QAAUnC,EAAAA,YAAAA;AACVoC,gBAAAA,UAAAA,EAAYnE,OAAOmE,UAAU;gBAC7B3D,UAAYA,EAAAA,UAAAA;gBACZmC,MAAQrC,EAAAA;;;;AAIhB;AAEA,MAAM8D,8BAAiC,GAAA,IAAA;IACrC,MAAMC,WAAAA,GAAcC,gBAClB,CAAA,CAACC,KAAUA,GAAAA,KAAAA,CAAMC,SAAS,CAACH,WAAW,CAACI,cAAc,EAAEC,6BAAAA,CAAAA;IAGzD,qBACEjB,GAAA,CAACC,KAAKiB,OAAO,EAAA;QAACN,WAAaA,EAAAA,WAAAA;AACzB,QAAA,QAAA,gBAAAZ,GAACrE,CAAAA,qBAAAA,EAAAA,EAAAA;;AAGP;;;;"}
|
package/dist/admin/chunks/{EditConfigurationPage-BwmBhyl0.js → EditConfigurationPage-M30RR8U2.js}
RENAMED
@@ -4,8 +4,8 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var React = require('react');
|
5
5
|
var strapiAdmin = require('@strapi/admin/strapi-admin');
|
6
6
|
var reactIntl = require('react-intl');
|
7
|
-
var Form = require('./Form-
|
8
|
-
var index = require('./index-
|
7
|
+
var Form = require('./Form-BbSrOxiB.js');
|
8
|
+
var index = require('./index-BRXoE5Bv.js');
|
9
9
|
var hooks = require('./hooks-D-sOYd1s.js');
|
10
10
|
var objects = require('./objects-C3EebVVe.js');
|
11
11
|
require('@strapi/design-system');
|
@@ -25,6 +25,7 @@ require('lodash/fp/mapValues');
|
|
25
25
|
require('qs');
|
26
26
|
require('date-fns');
|
27
27
|
require('@reduxjs/toolkit');
|
28
|
+
require('prismjs');
|
28
29
|
require('react-redux');
|
29
30
|
require('lodash/clone');
|
30
31
|
require('lodash/toPath');
|
@@ -177,4 +178,4 @@ const ProtectedEditConfigurationPage = ()=>{
|
|
177
178
|
|
178
179
|
exports.EditConfigurationPage = EditConfigurationPage;
|
179
180
|
exports.ProtectedEditConfigurationPage = ProtectedEditConfigurationPage;
|
180
|
-
//# sourceMappingURL=EditConfigurationPage-
|
181
|
+
//# sourceMappingURL=EditConfigurationPage-M30RR8U2.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"EditConfigurationPage-BwmBhyl0.js","sources":["../../../admin/src/pages/EditConfigurationPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Page, useNotification, useTracking, useAPIErrorHandler } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\n\nimport { TEMP_FIELD_NAME } from '../components/ConfigurationForm/Fields';\nimport { ConfigurationForm, ConfigurationFormProps } from '../components/ConfigurationForm/Form';\nimport { useDoc } from '../hooks/useDocument';\nimport { useDocLayout } from '../hooks/useDocumentLayout';\nimport { useTypedSelector } from '../modules/hooks';\nimport { useUpdateContentTypeConfigurationMutation } from '../services/contentTypes';\nimport { useGetInitialDataQuery } from '../services/init';\nimport { setIn } from '../utils/objects';\n\nimport type { Metadatas } from '../../../shared/contracts/content-types';\n\nconst EditConfigurationPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { isLoading: isLoadingSchema, schema, model } = useDoc();\n const { isLoading: isLoadingLayout, error, list, edit } = useDocLayout();\n\n const {\n fieldSizes,\n error: errorFieldSizes,\n isLoading: isLoadingFieldSizes,\n isFetching: isFetchingFieldSizes,\n } = useGetInitialDataQuery(undefined, {\n selectFromResult: (res) => {\n const fieldSizes = Object.entries(res.data?.fieldSizes ?? {}).reduce<\n ConfigurationFormProps['fieldSizes']\n >((acc, [attributeName, { default: size }]) => {\n acc[attributeName] = size;\n\n return acc;\n }, {});\n\n return {\n isFetching: res.isFetching,\n isLoading: res.isLoading,\n error: res.error,\n fieldSizes,\n };\n },\n });\n\n React.useEffect(() => {\n if (errorFieldSizes) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(errorFieldSizes),\n });\n }\n }, [errorFieldSizes, formatAPIError, toggleNotification]);\n\n const isLoading =\n isLoadingSchema || isLoadingLayout || isLoadingFieldSizes || isFetchingFieldSizes;\n\n const [updateConfiguration] = useUpdateContentTypeConfigurationMutation();\n const handleSubmit: ConfigurationFormProps['onSubmit'] = async (data) => {\n try {\n trackUsage('willSaveContentTypeLayout');\n\n /**\n * We reconstruct the metadatas object by taking the existing list metadatas\n * and re-merging that by attribute name with the current list metadatas, whilst overwriting\n * the data from the form we've built.\n */\n const meta = Object.entries(list.metadatas).reduce<Metadatas>(\n (acc, [name, { mainField: _mainField, ...listMeta }]) => {\n const existingEditMeta = edit.metadatas[name];\n\n const {\n __temp_key__,\n size: _size,\n name: _name,\n ...editedMetadata\n } = data.layout.flatMap((row) => row.children).find((field) => field.name === name) ?? {};\n\n acc[name] = {\n edit: {\n ...existingEditMeta,\n ...editedMetadata,\n },\n list: listMeta,\n };\n\n return acc;\n },\n {}\n );\n\n const res = await updateConfiguration({\n layouts: {\n edit: data.layout.map((row) =>\n row.children.reduce<Array<{ name: string; size: number }>>((acc, { name, size }) => {\n if (name !== TEMP_FIELD_NAME) {\n return [...acc, { name, size }];\n }\n\n return acc;\n }, [])\n ),\n list: list.layout.map((field) => field.name),\n },\n settings: setIn(data.settings, 'displayName', undefined),\n metadatas: meta,\n uid: model,\n });\n\n if ('data' in res) {\n trackUsage('didEditEditSettings');\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (errorFieldSizes || error || !schema) {\n return <Page.Error />;\n }\n\n return (\n <>\n <Page.Title>{`Configure ${edit.settings.displayName} Edit View`}</Page.Title>\n <ConfigurationForm\n onSubmit={handleSubmit}\n attributes={schema.attributes}\n fieldSizes={fieldSizes}\n layout={edit}\n />\n </>\n );\n};\n\nconst ProtectedEditConfigurationPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.contentManager?.collectionTypesConfigurations\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditConfigurationPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedEditConfigurationPage, EditConfigurationPage };\n"],"names":["EditConfigurationPage","trackUsage","useTracking","formatMessage","useIntl","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","isLoading","isLoadingSchema","schema","model","useDoc","isLoadingLayout","error","list","edit","useDocLayout","fieldSizes","errorFieldSizes","isLoadingFieldSizes","isFetching","isFetchingFieldSizes","useGetInitialDataQuery","undefined","selectFromResult","res","Object","entries","data","reduce","acc","attributeName","default","size","React","useEffect","type","message","updateConfiguration","useUpdateContentTypeConfigurationMutation","handleSubmit","meta","metadatas","name","mainField","_mainField","listMeta","existingEditMeta","__temp_key__","_size","_name","editedMetadata","layout","flatMap","row","children","find","field","layouts","map","TEMP_FIELD_NAME","settings","setIn","uid","id","defaultMessage","_jsx","Page","Loading","Error","_jsxs","_Fragment","Title","displayName","ConfigurationForm","onSubmit","attributes","ProtectedEditConfigurationPage","permissions","useTypedSelector","state","admin_app","contentManager","collectionTypesConfigurations","Protect"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"EditConfigurationPage-M30RR8U2.js","sources":["../../../admin/src/pages/EditConfigurationPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Page, useNotification, useTracking, useAPIErrorHandler } from '@strapi/admin/strapi-admin';\nimport { useIntl } from 'react-intl';\n\nimport { TEMP_FIELD_NAME } from '../components/ConfigurationForm/Fields';\nimport { ConfigurationForm, ConfigurationFormProps } from '../components/ConfigurationForm/Form';\nimport { useDoc } from '../hooks/useDocument';\nimport { useDocLayout } from '../hooks/useDocumentLayout';\nimport { useTypedSelector } from '../modules/hooks';\nimport { useUpdateContentTypeConfigurationMutation } from '../services/contentTypes';\nimport { useGetInitialDataQuery } from '../services/init';\nimport { setIn } from '../utils/objects';\n\nimport type { Metadatas } from '../../../shared/contracts/content-types';\n\nconst EditConfigurationPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n const { isLoading: isLoadingSchema, schema, model } = useDoc();\n const { isLoading: isLoadingLayout, error, list, edit } = useDocLayout();\n\n const {\n fieldSizes,\n error: errorFieldSizes,\n isLoading: isLoadingFieldSizes,\n isFetching: isFetchingFieldSizes,\n } = useGetInitialDataQuery(undefined, {\n selectFromResult: (res) => {\n const fieldSizes = Object.entries(res.data?.fieldSizes ?? {}).reduce<\n ConfigurationFormProps['fieldSizes']\n >((acc, [attributeName, { default: size }]) => {\n acc[attributeName] = size;\n\n return acc;\n }, {});\n\n return {\n isFetching: res.isFetching,\n isLoading: res.isLoading,\n error: res.error,\n fieldSizes,\n };\n },\n });\n\n React.useEffect(() => {\n if (errorFieldSizes) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(errorFieldSizes),\n });\n }\n }, [errorFieldSizes, formatAPIError, toggleNotification]);\n\n const isLoading =\n isLoadingSchema || isLoadingLayout || isLoadingFieldSizes || isFetchingFieldSizes;\n\n const [updateConfiguration] = useUpdateContentTypeConfigurationMutation();\n const handleSubmit: ConfigurationFormProps['onSubmit'] = async (data) => {\n try {\n trackUsage('willSaveContentTypeLayout');\n\n /**\n * We reconstruct the metadatas object by taking the existing list metadatas\n * and re-merging that by attribute name with the current list metadatas, whilst overwriting\n * the data from the form we've built.\n */\n const meta = Object.entries(list.metadatas).reduce<Metadatas>(\n (acc, [name, { mainField: _mainField, ...listMeta }]) => {\n const existingEditMeta = edit.metadatas[name];\n\n const {\n __temp_key__,\n size: _size,\n name: _name,\n ...editedMetadata\n } = data.layout.flatMap((row) => row.children).find((field) => field.name === name) ?? {};\n\n acc[name] = {\n edit: {\n ...existingEditMeta,\n ...editedMetadata,\n },\n list: listMeta,\n };\n\n return acc;\n },\n {}\n );\n\n const res = await updateConfiguration({\n layouts: {\n edit: data.layout.map((row) =>\n row.children.reduce<Array<{ name: string; size: number }>>((acc, { name, size }) => {\n if (name !== TEMP_FIELD_NAME) {\n return [...acc, { name, size }];\n }\n\n return acc;\n }, [])\n ),\n list: list.layout.map((field) => field.name),\n },\n settings: setIn(data.settings, 'displayName', undefined),\n metadatas: meta,\n uid: model,\n });\n\n if ('data' in res) {\n trackUsage('didEditEditSettings');\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (errorFieldSizes || error || !schema) {\n return <Page.Error />;\n }\n\n return (\n <>\n <Page.Title>{`Configure ${edit.settings.displayName} Edit View`}</Page.Title>\n <ConfigurationForm\n onSubmit={handleSubmit}\n attributes={schema.attributes}\n fieldSizes={fieldSizes}\n layout={edit}\n />\n </>\n );\n};\n\nconst ProtectedEditConfigurationPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.contentManager?.collectionTypesConfigurations\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditConfigurationPage />\n </Page.Protect>\n );\n};\n\nexport { ProtectedEditConfigurationPage, EditConfigurationPage };\n"],"names":["EditConfigurationPage","trackUsage","useTracking","formatMessage","useIntl","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","isLoading","isLoadingSchema","schema","model","useDoc","isLoadingLayout","error","list","edit","useDocLayout","fieldSizes","errorFieldSizes","isLoadingFieldSizes","isFetching","isFetchingFieldSizes","useGetInitialDataQuery","undefined","selectFromResult","res","Object","entries","data","reduce","acc","attributeName","default","size","React","useEffect","type","message","updateConfiguration","useUpdateContentTypeConfigurationMutation","handleSubmit","meta","metadatas","name","mainField","_mainField","listMeta","existingEditMeta","__temp_key__","_size","_name","editedMetadata","layout","flatMap","row","children","find","field","layouts","map","TEMP_FIELD_NAME","settings","setIn","uid","id","defaultMessage","_jsx","Page","Loading","Error","_jsxs","_Fragment","Title","displayName","ConfigurationForm","onSubmit","attributes","ProtectedEditConfigurationPage","permissions","useTypedSelector","state","admin_app","contentManager","collectionTypesConfigurations","Protect"],"mappings":"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"}
|
@@ -5,8 +5,8 @@ import { Main, Tabs, Grid } from '@strapi/design-system';
|
|
5
5
|
import { useIntl } from 'react-intl';
|
6
6
|
import { useLocation, useParams } from 'react-router-dom';
|
7
7
|
import { styled } from 'styled-components';
|
8
|
-
import { c as useDoc, f as useDocumentRBAC, h as useDocumentLayout, i as createYupSchema, j as Header, g as getTranslation, P as Panels, k as PERMISSIONS, l as DocumentRBAC, S as SINGLE_TYPES } from './index-
|
9
|
-
import { u as useLazyComponents, F as FormLayout } from './Input-
|
8
|
+
import { c as useDoc, f as useDocumentRBAC, h as useDocumentLayout, i as createYupSchema, j as Header, g as getTranslation, P as Panels, k as PERMISSIONS, l as DocumentRBAC, S as SINGLE_TYPES } from './index-CKhhB2D_.mjs';
|
9
|
+
import { u as useLazyComponents, F as FormLayout } from './Input-BojOcrfa.mjs';
|
10
10
|
import '@strapi/icons';
|
11
11
|
import 'lodash/fp/mapValues';
|
12
12
|
import 'yup';
|
@@ -15,10 +15,10 @@ import 'lodash/fp/pipe';
|
|
15
15
|
import 'qs';
|
16
16
|
import 'date-fns';
|
17
17
|
import '@reduxjs/toolkit';
|
18
|
+
import 'prismjs';
|
18
19
|
import 'slate';
|
19
20
|
import 'slate-history';
|
20
21
|
import 'slate-react';
|
21
|
-
import 'prismjs';
|
22
22
|
import 'prismjs/themes/prism-solarizedlight.css';
|
23
23
|
import 'prismjs/components/prism-asmatmel';
|
24
24
|
import 'prismjs/components/prism-bash';
|
@@ -69,18 +69,18 @@ import 'prismjs/components/prism-typescript';
|
|
69
69
|
import 'prismjs/components/prism-tsx';
|
70
70
|
import 'prismjs/components/prism-vbnet';
|
71
71
|
import 'prismjs/components/prism-yaml';
|
72
|
-
import './usePrev-Bjw2dhmq.
|
73
|
-
import './useDragAndDrop-HYwNDExe.
|
72
|
+
import './usePrev-Bjw2dhmq.mjs';
|
73
|
+
import './useDragAndDrop-HYwNDExe.mjs';
|
74
74
|
import 'react-dnd';
|
75
75
|
import '@radix-ui/react-toolbar';
|
76
76
|
import 'react-dnd-html5-backend';
|
77
|
-
import './objects-wl73iEma.
|
77
|
+
import './objects-wl73iEma.mjs';
|
78
78
|
import 'lodash/clone';
|
79
79
|
import 'lodash/toPath';
|
80
|
-
import './Relations-
|
80
|
+
import './Relations-CND3mw3X.mjs';
|
81
81
|
import 'react-window';
|
82
|
-
import './relations-
|
83
|
-
import './ComponentIcon-BZcTc4rj.
|
82
|
+
import './relations-DOG6K89Q.mjs';
|
83
|
+
import './ComponentIcon-BZcTc4rj.mjs';
|
84
84
|
import '@strapi/icons/symbols';
|
85
85
|
import 'codemirror5';
|
86
86
|
import 'sanitize-html';
|
@@ -136,13 +136,10 @@ const emptyDeps = [];
|
|
136
136
|
const { isLazyLoading } = useLazyComponents([]);
|
137
137
|
const isLoading = isLoadingActionsRBAC || isLoadingDocument || isLoadingLayout || isLazyLoading;
|
138
138
|
const initialValues = getInitialFormValues(isCreatingDocument);
|
139
|
-
if (hasError) {
|
140
|
-
return /*#__PURE__*/ jsx(Page.Error, {});
|
141
|
-
}
|
142
139
|
if (isLoading && !document?.documentId) {
|
143
140
|
return /*#__PURE__*/ jsx(Page.Loading, {});
|
144
141
|
}
|
145
|
-
if (!initialValues) {
|
142
|
+
if (!initialValues || hasError) {
|
146
143
|
return /*#__PURE__*/ jsx(Page.Error, {});
|
147
144
|
}
|
148
145
|
const handleTabChange = (status)=>{
|
@@ -311,4 +308,4 @@ const StatusTab = styled(Tabs.Trigger)`
|
|
311
308
|
};
|
312
309
|
|
313
310
|
export { EditViewPage, ProtectedEditViewPage, getDocumentStatus };
|
314
|
-
//# sourceMappingURL=EditViewPage-
|
311
|
+
//# sourceMappingURL=EditViewPage-B8CdaXgs.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"EditViewPage-B8CdaXgs.mjs","sources":["../../../admin/src/hooks/useOnce.ts","../../../admin/src/pages/EditView/EditViewPage.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\nimport * as React from 'react';\n\nexport const useOnce = (effect: React.EffectCallback) => React.useEffect(effect, emptyDeps);\n\nconst emptyDeps: React.DependencyList = [];\n","import * as React from 'react';\n\nimport {\n Page,\n Blocker,\n Form,\n useRBAC,\n useNotification,\n useQueryParams,\n} from '@strapi/admin/strapi-admin';\nimport { Grid, Main, Tabs } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useParams } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { SINGLE_TYPES } from '../../constants/collections';\nimport { PERMISSIONS } from '../../constants/plugin';\nimport { DocumentRBAC, useDocumentRBAC } from '../../features/DocumentRBAC';\nimport { type UseDocument, useDoc } from '../../hooks/useDocument';\nimport { useDocumentLayout } from '../../hooks/useDocumentLayout';\nimport { useLazyComponents } from '../../hooks/useLazyComponents';\nimport { useOnce } from '../../hooks/useOnce';\nimport { getTranslation } from '../../utils/translations';\nimport { createYupSchema } from '../../utils/validation';\n\nimport { FormLayout } from './components/FormLayout';\nimport { Header } from './components/Header';\nimport { Panels } from './components/Panels';\n\n/* -------------------------------------------------------------------------------------------------\n * EditViewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst EditViewPage = () => {\n const location = useLocation();\n const [\n {\n query: { status },\n },\n setQuery,\n ] = useQueryParams<{ status: 'draft' | 'published' }>({\n status: 'draft',\n });\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n\n const {\n document,\n meta,\n isLoading: isLoadingDocument,\n schema,\n components,\n collectionType,\n id,\n model,\n hasError,\n getTitle,\n getInitialFormValues,\n } = useDoc();\n\n const hasDraftAndPublished = schema?.options?.draftAndPublish ?? false;\n\n useOnce(() => {\n /**\n * We only ever want to fire the notification once otherwise\n * whenever the app re-renders it'll pop up regardless of\n * what we do because the state comes from react-router-dom\n */\n if (location?.state && 'error' in location.state) {\n toggleNotification({\n type: 'danger',\n message: location.state.error,\n timeout: 5000,\n });\n }\n });\n\n const isLoadingActionsRBAC = useDocumentRBAC('EditViewPage', (state) => state.isLoading);\n\n const isSingleType = collectionType === SINGLE_TYPES;\n\n /**\n * single-types don't current have an id, but because they're a singleton\n * we can simply use the update operation to continuously update the same\n * document with varying params.\n */\n const isCreatingDocument = !id && !isSingleType;\n\n const {\n isLoading: isLoadingLayout,\n edit: {\n layout,\n settings: { mainField },\n },\n } = useDocumentLayout(model);\n\n const { isLazyLoading } = useLazyComponents([]);\n\n const isLoading = isLoadingActionsRBAC || isLoadingDocument || isLoadingLayout || isLazyLoading;\n\n const initialValues = getInitialFormValues(isCreatingDocument);\n\n if (isLoading && !document?.documentId) {\n return <Page.Loading />;\n }\n\n if (!initialValues || hasError) {\n return <Page.Error />;\n }\n\n const handleTabChange = (status: string) => {\n if (status === 'published' || status === 'draft') {\n setQuery({ status }, 'push', true);\n }\n };\n\n const validateSync = (values: Record<string, unknown>, options: Record<string, string>) => {\n const yupSchema = createYupSchema(schema?.attributes, components, {\n status,\n ...options,\n });\n\n return yupSchema.validateSync(values, { abortEarly: false });\n };\n\n return (\n <Main paddingLeft={10} paddingRight={10}>\n <Page.Title>{getTitle(mainField)}</Page.Title>\n <Form\n disabled={hasDraftAndPublished && status === 'published'}\n initialValues={initialValues}\n method={isCreatingDocument ? 'POST' : 'PUT'}\n validate={(values: Record<string, unknown>, options: Record<string, string>) => {\n const yupSchema = createYupSchema(schema?.attributes, components, {\n status,\n ...options,\n });\n\n return yupSchema.validate(values, { abortEarly: false });\n }}\n initialErrors={location?.state?.forceValidation ? validateSync(initialValues, {}) : {}}\n >\n {({ resetForm }) => (\n <>\n <Header\n isCreating={isCreatingDocument}\n status={hasDraftAndPublished ? getDocumentStatus(document, meta) : undefined}\n title={getTitle(mainField)}\n />\n <Tabs.Root variant=\"simple\" value={status} onValueChange={handleTabChange}>\n <Tabs.List\n aria-label={formatMessage({\n id: getTranslation('containers.edit.tabs.label'),\n defaultMessage: 'Document status',\n })}\n >\n {hasDraftAndPublished ? (\n <>\n <StatusTab value=\"draft\">\n {formatMessage({\n id: getTranslation('containers.edit.tabs.draft'),\n defaultMessage: 'draft',\n })}\n </StatusTab>\n <StatusTab\n disabled={!meta || meta.availableStatus.length === 0}\n value=\"published\"\n >\n {formatMessage({\n id: getTranslation('containers.edit.tabs.published'),\n defaultMessage: 'published',\n })}\n </StatusTab>\n </>\n ) : null}\n </Tabs.List>\n <Grid.Root paddingTop={8} gap={4}>\n <Grid.Item col={9} s={12} direction=\"column\" alignItems=\"stretch\">\n <Tabs.Content value=\"draft\">\n <FormLayout layout={layout} />\n </Tabs.Content>\n <Tabs.Content value=\"published\">\n <FormLayout layout={layout} />\n </Tabs.Content>\n </Grid.Item>\n <Grid.Item col={3} s={12} direction=\"column\" alignItems=\"stretch\">\n <Panels />\n </Grid.Item>\n </Grid.Root>\n </Tabs.Root>\n <Blocker\n // We reset the form to the published version to avoid errors like – https://strapi-inc.atlassian.net/browse/CONTENT-2284\n onProceed={resetForm}\n />\n </>\n )}\n </Form>\n </Main>\n );\n};\n\nconst StatusTab = styled(Tabs.Trigger)`\n text-transform: uppercase;\n`;\n\n/**\n * @internal\n * @description Returns the status of the document where its latest state takes priority,\n * this typically will be \"published\" unless a user has edited their draft in which we should\n * display \"modified\".\n */\nconst getDocumentStatus = (\n document: ReturnType<UseDocument>['document'],\n meta: ReturnType<UseDocument>['meta']\n): 'draft' | 'published' | 'modified' => {\n const docStatus = document?.status;\n const statuses = meta?.availableStatus ?? [];\n\n /**\n * Creating an entry\n */\n if (!docStatus) {\n return 'draft';\n }\n\n /**\n * We're viewing a draft, but the document could have a published version\n */\n if (docStatus === 'draft' && statuses.find((doc) => doc.publishedAt !== null)) {\n return 'published';\n }\n\n return docStatus;\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedEditViewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedEditViewPage = () => {\n const { slug = '' } = useParams<{\n slug: string;\n }>();\n const {\n permissions = [],\n isLoading,\n error,\n } = useRBAC(\n PERMISSIONS.map((action) => ({\n action,\n subject: slug,\n }))\n );\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || !slug) {\n return <Page.Error />;\n }\n\n return (\n <Page.Protect permissions={permissions}>\n {({ permissions }) => (\n <DocumentRBAC permissions={permissions}>\n <EditViewPage />\n </DocumentRBAC>\n )}\n </Page.Protect>\n );\n};\n\nexport { EditViewPage, ProtectedEditViewPage, getDocumentStatus };\n"],"names":["useOnce","effect","React","useEffect","emptyDeps","EditViewPage","location","useLocation","query","status","setQuery","useQueryParams","formatMessage","useIntl","toggleNotification","useNotification","document","meta","isLoading","isLoadingDocument","schema","components","collectionType","id","model","hasError","getTitle","getInitialFormValues","useDoc","hasDraftAndPublished","options","draftAndPublish","state","type","message","error","timeout","isLoadingActionsRBAC","useDocumentRBAC","isSingleType","SINGLE_TYPES","isCreatingDocument","isLoadingLayout","edit","layout","settings","mainField","useDocumentLayout","isLazyLoading","useLazyComponents","initialValues","documentId","_jsx","Page","Loading","Error","handleTabChange","validateSync","values","yupSchema","createYupSchema","attributes","abortEarly","_jsxs","Main","paddingLeft","paddingRight","Title","Form","disabled","method","validate","initialErrors","forceValidation","resetForm","_Fragment","Header","isCreating","getDocumentStatus","undefined","title","Tabs","Root","variant","value","onValueChange","List","aria-label","getTranslation","defaultMessage","StatusTab","availableStatus","length","Grid","paddingTop","gap","Item","col","s","direction","alignItems","Content","FormLayout","Panels","Blocker","onProceed","styled","Trigger","docStatus","statuses","find","doc","publishedAt","ProtectedEditViewPage","slug","useParams","permissions","useRBAC","PERMISSIONS","map","action","subject","Protect","DocumentRBAC"],"mappings":"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"}
|