@strapi/admin 5.0.0-alpha.3 → 5.0.0-alpha.4
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/{AdminSeatInfo-RaHBmrod.mjs → AdminSeatInfo-G8sTB4TN.mjs} +2 -2
- package/dist/admin/{AdminSeatInfo-RaHBmrod.mjs.map → AdminSeatInfo-G8sTB4TN.mjs.map} +1 -1
- package/dist/admin/{AdminSeatInfo-TsCaWOLV.js → AdminSeatInfo-jHCKfvy4.js} +2 -2
- package/dist/admin/{AdminSeatInfo-TsCaWOLV.js.map → AdminSeatInfo-jHCKfvy4.js.map} +1 -1
- package/dist/admin/{ApplicationInfoPage-ma8gBkmC.js → ApplicationInfoPage-DPcd8u-E.js} +3 -3
- package/dist/admin/{ApplicationInfoPage-ma8gBkmC.js.map → ApplicationInfoPage-DPcd8u-E.js.map} +1 -1
- package/dist/admin/{ApplicationInfoPage-Q9wPZ3rv.mjs → ApplicationInfoPage-rYJxaeKG.mjs} +3 -3
- package/dist/admin/{ApplicationInfoPage-Q9wPZ3rv.mjs.map → ApplicationInfoPage-rYJxaeKG.mjs.map} +1 -1
- package/dist/admin/{AuthenticatedLayout-xBpE8NA-.js → AuthenticatedLayout-C4p6uMXy.js} +12 -12
- package/dist/admin/{AuthenticatedLayout-xBpE8NA-.js.map → AuthenticatedLayout-C4p6uMXy.js.map} +1 -1
- package/dist/admin/{AuthenticatedLayout--yP2CRIf.mjs → AuthenticatedLayout-FJd0k59k.mjs} +12 -12
- package/dist/admin/{AuthenticatedLayout--yP2CRIf.mjs.map → AuthenticatedLayout-FJd0k59k.mjs.map} +1 -1
- package/dist/admin/{ComponentConfigurationPage-hY2EaAYj.js → ComponentConfigurationPage-5UqUF73x.js} +2 -2
- package/dist/admin/{ComponentConfigurationPage-hY2EaAYj.js.map → ComponentConfigurationPage-5UqUF73x.js.map} +1 -1
- package/dist/admin/{ComponentConfigurationPage-KnpNn9te.mjs → ComponentConfigurationPage-aH3eivWq.mjs} +2 -2
- package/dist/admin/{ComponentConfigurationPage-KnpNn9te.mjs.map → ComponentConfigurationPage-aH3eivWq.mjs.map} +1 -1
- package/dist/admin/{CreateActionEE-MO4CwmTg.js → CreateActionEE-FShadq9j.js} +2 -2
- package/dist/admin/{CreateActionEE-MO4CwmTg.js.map → CreateActionEE-FShadq9j.js.map} +1 -1
- package/dist/admin/{CreateActionEE-MS5BO87T.mjs → CreateActionEE-PeDYp0gX.mjs} +2 -2
- package/dist/admin/{CreateActionEE-MS5BO87T.mjs.map → CreateActionEE-PeDYp0gX.mjs.map} +1 -1
- package/dist/admin/{CreatePage-nXCKqLfv.js → CreatePage--AtUMCaU.js} +2 -2
- package/dist/admin/{CreatePage-nXCKqLfv.js.map → CreatePage--AtUMCaU.js.map} +1 -1
- package/dist/admin/{CreatePage-TuxqMr0o.mjs → CreatePage-XuobAWJK.mjs} +6 -6
- package/dist/admin/{CreatePage-TuxqMr0o.mjs.map → CreatePage-XuobAWJK.mjs.map} +1 -1
- package/dist/admin/{CreatePage-qT-aQZxS.mjs → CreatePage-ZExp8rHA.mjs} +2 -2
- package/dist/admin/{CreatePage-qT-aQZxS.mjs.map → CreatePage-ZExp8rHA.mjs.map} +1 -1
- package/dist/admin/{CreatePage-rPWvvWs7.js → CreatePage-btStJe_p.js} +2 -2
- package/dist/admin/{CreatePage-rPWvvWs7.js.map → CreatePage-btStJe_p.js.map} +1 -1
- package/dist/admin/{CreatePage-WpCjH5Y_.js → CreatePage-dQ2vPAka.js} +6 -6
- package/dist/admin/{CreatePage-WpCjH5Y_.js.map → CreatePage-dQ2vPAka.js.map} +1 -1
- package/dist/admin/{CreatePage-atcxK0nv.mjs → CreatePage-vUR8c8Wi.mjs} +2 -2
- package/dist/admin/{CreatePage-atcxK0nv.mjs.map → CreatePage-vUR8c8Wi.mjs.map} +1 -1
- package/dist/admin/{CreateView-Tdx1lvOB.js → CreateView-L98QJ908.js} +2 -2
- package/dist/admin/{CreateView-Tdx1lvOB.js.map → CreateView-L98QJ908.js.map} +1 -1
- package/dist/admin/{CreateView-2p_vypXq.js → CreateView-Ry0jxIm8.js} +2 -2
- package/dist/admin/{CreateView-2p_vypXq.js.map → CreateView-Ry0jxIm8.js.map} +1 -1
- package/dist/admin/{CreateView-e7AQd7tP.mjs → CreateView-UAXKJ1XB.mjs} +2 -2
- package/dist/admin/{CreateView-e7AQd7tP.mjs.map → CreateView-UAXKJ1XB.mjs.map} +1 -1
- package/dist/admin/{CreateView-C1q22Lvk.mjs → CreateView-n-X-ip9A.mjs} +2 -2
- package/dist/admin/{CreateView-C1q22Lvk.mjs.map → CreateView-n-X-ip9A.mjs.map} +1 -1
- package/dist/admin/{EditConfigurationPage-elMqHM_A.mjs → EditConfigurationPage-7aqUfM-_.mjs} +2 -2
- package/dist/admin/{EditConfigurationPage-elMqHM_A.mjs.map → EditConfigurationPage-7aqUfM-_.mjs.map} +1 -1
- package/dist/admin/{EditConfigurationPage-lf0uG4_2.js → EditConfigurationPage-9hpFgyVd.js} +2 -2
- package/dist/admin/{EditConfigurationPage-lf0uG4_2.js.map → EditConfigurationPage-9hpFgyVd.js.map} +1 -1
- package/dist/admin/{EditPage-erGEYjBw.mjs → EditPage-5_mPjbp1.mjs} +4 -4
- package/dist/admin/{EditPage-erGEYjBw.mjs.map → EditPage-5_mPjbp1.mjs.map} +1 -1
- package/dist/admin/{EditPage-Ef0Fslnn.js → EditPage-7p0wMhRr.js} +4 -4
- package/dist/admin/{EditPage-Ef0Fslnn.js.map → EditPage-7p0wMhRr.js.map} +1 -1
- package/dist/admin/{EditPage-Pve0dLk9.js → EditPage-FfXtsX6I.js} +6 -6
- package/dist/admin/{EditPage-Pve0dLk9.js.map → EditPage-FfXtsX6I.js.map} +1 -1
- package/dist/admin/{EditPage-OeI53g45.mjs → EditPage-NIhP9MDK.mjs} +3 -3
- package/dist/admin/{EditPage-OeI53g45.mjs.map → EditPage-NIhP9MDK.mjs.map} +1 -1
- package/dist/admin/{EditPage-UJJ2TqBc.js → EditPage-PKgsIJsU.js} +3 -3
- package/dist/admin/{EditPage-UJJ2TqBc.js.map → EditPage-PKgsIJsU.js.map} +1 -1
- package/dist/admin/{EditPage-eR-YN8hj.mjs → EditPage-T3344ZeF.mjs} +3 -3
- package/dist/admin/{EditPage-eR-YN8hj.mjs.map → EditPage-T3344ZeF.mjs.map} +1 -1
- package/dist/admin/{EditPage-tC47Sw_P.js → EditPage-icpAlX0U.js} +3 -3
- package/dist/admin/{EditPage-tC47Sw_P.js.map → EditPage-icpAlX0U.js.map} +1 -1
- package/dist/admin/{EditPage-h8lmVUEA.mjs → EditPage-zuPfy7bP.mjs} +6 -6
- package/dist/admin/{EditPage-h8lmVUEA.mjs.map → EditPage-zuPfy7bP.mjs.map} +1 -1
- package/dist/admin/{EditView-eySlKWYf.js → EditView-6orvVYcs.js} +2 -2
- package/dist/admin/{EditView-eySlKWYf.js.map → EditView-6orvVYcs.js.map} +1 -1
- package/dist/admin/{EditView-x1qgWntY.mjs → EditView-Py-98_8F.mjs} +2 -2
- package/dist/admin/{EditView-x1qgWntY.mjs.map → EditView-Py-98_8F.mjs.map} +1 -1
- package/dist/admin/{EditViewPage-_9OVPk8U.js → EditViewPage-b8B7crGF.js} +2 -2
- package/dist/admin/{EditViewPage-_9OVPk8U.js.map → EditViewPage-b8B7crGF.js.map} +1 -1
- package/dist/admin/{EditViewPage-MF0jfabM.js → EditViewPage-bvSm02vo.js} +2 -2
- package/dist/admin/{EditViewPage-MF0jfabM.js.map → EditViewPage-bvSm02vo.js.map} +1 -1
- package/dist/admin/{EditViewPage--KlNP7xz.mjs → EditViewPage-m8eq8b5B.mjs} +2 -2
- package/dist/admin/{EditViewPage--KlNP7xz.mjs.map → EditViewPage-m8eq8b5B.mjs.map} +1 -1
- package/dist/admin/{EditViewPage-NC42P37Y.mjs → EditViewPage-taqlSy8-.mjs} +2 -2
- package/dist/admin/{EditViewPage-NC42P37Y.mjs.map → EditViewPage-taqlSy8-.mjs.map} +1 -1
- package/dist/admin/{EventsTable-FclswYEC.js → EventsTable-PkxRHECw.js} +2 -2
- package/dist/admin/{EventsTable-FclswYEC.js.map → EventsTable-PkxRHECw.js.map} +1 -1
- package/dist/admin/{EventsTable-sl9Ii-zk.mjs → EventsTable-nHKCiGbY.mjs} +2 -2
- package/dist/admin/{EventsTable-sl9Ii-zk.mjs.map → EventsTable-nHKCiGbY.mjs.map} +1 -1
- package/dist/admin/{Filters-WmczcUjA.mjs → Filters-8DH_AqD9.mjs} +2 -2
- package/dist/admin/{Filters-WmczcUjA.mjs.map → Filters-8DH_AqD9.mjs.map} +1 -1
- package/dist/admin/{Filters-xCY3Scq4.js → Filters-ogIU7Q6e.js} +2 -2
- package/dist/admin/{Filters-xCY3Scq4.js.map → Filters-ogIU7Q6e.js.map} +1 -1
- package/dist/admin/{Form-4WnSgaHv.mjs → Form-qYMSW-OI.mjs} +2 -2
- package/dist/admin/{Form-4WnSgaHv.mjs.map → Form-qYMSW-OI.mjs.map} +1 -1
- package/dist/admin/{Form-KkSKnRfU.js → Form-ykqsO6fm.js} +2 -2
- package/dist/admin/{Form-KkSKnRfU.js.map → Form-ykqsO6fm.js.map} +1 -1
- package/dist/admin/{HomePage-c066MxgP.mjs → HomePage-1pjv0BI8.mjs} +3 -3
- package/dist/admin/{HomePage-c066MxgP.mjs.map → HomePage-1pjv0BI8.mjs.map} +1 -1
- package/dist/admin/{HomePage-rnxrKLBm.js → HomePage-3V4WbE7J.js} +3 -3
- package/dist/admin/{HomePage-rnxrKLBm.js.map → HomePage-3V4WbE7J.js.map} +1 -1
- package/dist/admin/{HomePage-ruRmxUmi.mjs → HomePage-Kc_uEvV-.mjs} +3 -3
- package/dist/admin/{HomePage-ruRmxUmi.mjs.map → HomePage-Kc_uEvV-.mjs.map} +1 -1
- package/dist/admin/{HomePage-lw1r2If1.js → HomePage-OlYV50mz.js} +3 -3
- package/dist/admin/{HomePage-lw1r2If1.js.map → HomePage-OlYV50mz.js.map} +1 -1
- package/dist/admin/{Layout-IkzS-9jW.mjs → Layout-DpiBAhal.mjs} +3 -3
- package/dist/admin/{Layout-IkzS-9jW.mjs.map → Layout-DpiBAhal.mjs.map} +1 -1
- package/dist/admin/{Layout--4O1STTS.js → Layout-Drko3mHh.js} +3 -3
- package/dist/admin/{Layout--4O1STTS.js.map → Layout-Drko3mHh.js.map} +1 -1
- package/dist/admin/{Layout-LPeuunW1.js → Layout-G57F6Yr1.js} +2 -2
- package/dist/admin/{Layout-LPeuunW1.js.map → Layout-G57F6Yr1.js.map} +1 -1
- package/dist/admin/{Layout-12gUdjvi.mjs → Layout-ipua3uHy.mjs} +2 -2
- package/dist/admin/{Layout-12gUdjvi.mjs.map → Layout-ipua3uHy.mjs.map} +1 -1
- package/dist/admin/{ListConfigurationPage-Sj0Fbune.js → ListConfigurationPage-fR6bfJTF.js} +2 -2
- package/dist/admin/{ListConfigurationPage-Sj0Fbune.js.map → ListConfigurationPage-fR6bfJTF.js.map} +1 -1
- package/dist/admin/{ListConfigurationPage-aVwnEajq.mjs → ListConfigurationPage-vJzC-kba.mjs} +2 -2
- package/dist/admin/{ListConfigurationPage-aVwnEajq.mjs.map → ListConfigurationPage-vJzC-kba.mjs.map} +1 -1
- package/dist/admin/{ListPage-fgcVicZB.mjs → ListPage-0ZSyBi8x.mjs} +3 -3
- package/dist/admin/{ListPage-fgcVicZB.mjs.map → ListPage-0ZSyBi8x.mjs.map} +1 -1
- package/dist/admin/{ListPage-pbpYBzDZ.mjs → ListPage-9heSiDbD.mjs} +3 -3
- package/dist/admin/{ListPage-pbpYBzDZ.mjs.map → ListPage-9heSiDbD.mjs.map} +1 -1
- package/dist/admin/{ListPage-cjKaeLgt.mjs → ListPage-FY6b3WdF.mjs} +2 -2
- package/dist/admin/{ListPage-cjKaeLgt.mjs.map → ListPage-FY6b3WdF.mjs.map} +1 -1
- package/dist/admin/{ListPage-pcklRUos.js → ListPage-LLm7jeMJ.js} +4 -4
- package/dist/admin/{ListPage-pcklRUos.js.map → ListPage-LLm7jeMJ.js.map} +1 -1
- package/dist/admin/{ListPage-Umx66wz5.js → ListPage-NfgDLiTv.js} +7 -7
- package/dist/admin/{ListPage-Umx66wz5.js.map → ListPage-NfgDLiTv.js.map} +1 -1
- package/dist/admin/{ListPage-udzDwGlH.js → ListPage-PF-K0vRV.js} +3 -3
- package/dist/admin/{ListPage-udzDwGlH.js.map → ListPage-PF-K0vRV.js.map} +1 -1
- package/dist/admin/{ListPage-pvhgqLCH.js → ListPage-YhzdUuPY.js} +3 -3
- package/dist/admin/{ListPage-pvhgqLCH.js.map → ListPage-YhzdUuPY.js.map} +1 -1
- package/dist/admin/{ListPage-5Mv-pB4C.js → ListPage-eBRwQOBq.js} +3 -3
- package/dist/admin/{ListPage-5Mv-pB4C.js.map → ListPage-eBRwQOBq.js.map} +1 -1
- package/dist/admin/{ListPage-4-8fscdP.js → ListPage-hyHTGust.js} +2 -2
- package/dist/admin/{ListPage-4-8fscdP.js.map → ListPage-hyHTGust.js.map} +1 -1
- package/dist/admin/{ListPage-J7j1MewO.mjs → ListPage-k7Cm8qlS.mjs} +7 -7
- package/dist/admin/{ListPage-J7j1MewO.mjs.map → ListPage-k7Cm8qlS.mjs.map} +1 -1
- package/dist/admin/{ListPage-w59EHkU5.mjs → ListPage-q5CzNEts.mjs} +3 -3
- package/dist/admin/{ListPage-w59EHkU5.mjs.map → ListPage-q5CzNEts.mjs.map} +1 -1
- package/dist/admin/{ListPage-YQEYg_px.mjs → ListPage-u0H0CObE.mjs} +4 -4
- package/dist/admin/{ListPage-YQEYg_px.mjs.map → ListPage-u0H0CObE.mjs.map} +1 -1
- package/dist/admin/{ListView-n1aKpVDI.js → ListView-5cUHtatI.js} +2 -2
- package/dist/admin/{ListView-n1aKpVDI.js.map → ListView-5cUHtatI.js.map} +1 -1
- package/dist/admin/{ListView-j2r_9ISi.js → ListView-ZrssEOAH.js} +2 -2
- package/dist/admin/{ListView-j2r_9ISi.js.map → ListView-ZrssEOAH.js.map} +1 -1
- package/dist/admin/{ListView-r5ixmUC5.mjs → ListView-he-cDEr8.mjs} +2 -2
- package/dist/admin/{ListView-r5ixmUC5.mjs.map → ListView-he-cDEr8.mjs.map} +1 -1
- package/dist/admin/{ListView-kGivEizN.mjs → ListView-wtrnAeIs.mjs} +2 -2
- package/dist/admin/{ListView-kGivEizN.mjs.map → ListView-wtrnAeIs.mjs.map} +1 -1
- package/dist/admin/{ListViewPage-P945_1O5.js → ListViewPage--usbPNMW.js} +6 -6
- package/dist/admin/{ListViewPage-P945_1O5.js.map → ListViewPage--usbPNMW.js.map} +1 -1
- package/dist/admin/{ListViewPage-TJbHzMdV.mjs → ListViewPage-fcwyHB4o.mjs} +6 -6
- package/dist/admin/{ListViewPage-TJbHzMdV.mjs.map → ListViewPage-fcwyHB4o.mjs.map} +1 -1
- package/dist/admin/{Login-0X6MwipF.mjs → Login-JhiQkX0g.mjs} +2 -2
- package/dist/admin/{Login-0X6MwipF.mjs.map → Login-JhiQkX0g.mjs.map} +1 -1
- package/dist/admin/{Login-z6SxPtlF.js → Login-ge1q7Ao9.js} +2 -2
- package/dist/admin/{Login-z6SxPtlF.js.map → Login-ge1q7Ao9.js.map} +1 -1
- package/dist/admin/{MagicLinkEE-OoAnOb7G.mjs → MagicLinkEE-6fksiP2N.mjs} +3 -3
- package/dist/admin/{MagicLinkEE-OoAnOb7G.mjs.map → MagicLinkEE-6fksiP2N.mjs.map} +1 -1
- package/dist/admin/{MagicLinkEE-Y6HYUQfj.js → MagicLinkEE-HZRvA15-.js} +3 -3
- package/dist/admin/{MagicLinkEE-Y6HYUQfj.js.map → MagicLinkEE-HZRvA15-.js.map} +1 -1
- package/dist/admin/{MarketplacePage-PYAB5VYz.mjs → MarketplacePage-BhzDMBT-.mjs} +2 -2
- package/dist/admin/{MarketplacePage-PYAB5VYz.mjs.map → MarketplacePage-BhzDMBT-.mjs.map} +1 -1
- package/dist/admin/{MarketplacePage-7fNWKnG0.js → MarketplacePage-jeaqEHfo.js} +2 -2
- package/dist/admin/{MarketplacePage-7fNWKnG0.js.map → MarketplacePage-jeaqEHfo.js.map} +1 -1
- package/dist/admin/{ReviewWorkflowsColumn-6zZJluSU.mjs → ReviewWorkflowsColumn-BdkHPnDo.mjs} +2 -2
- package/dist/admin/{ReviewWorkflowsColumn-6zZJluSU.mjs.map → ReviewWorkflowsColumn-BdkHPnDo.mjs.map} +1 -1
- package/dist/admin/{ReviewWorkflowsColumn-NVi2rQul.js → ReviewWorkflowsColumn-xNjqgu-L.js} +2 -2
- package/dist/admin/{ReviewWorkflowsColumn-NVi2rQul.js.map → ReviewWorkflowsColumn-xNjqgu-L.js.map} +1 -1
- package/dist/admin/{SelectRoles-cVDrVL5d.mjs → SelectRoles--7dfmawm.mjs} +3 -3
- package/dist/admin/{SelectRoles-cVDrVL5d.mjs.map → SelectRoles--7dfmawm.mjs.map} +1 -1
- package/dist/admin/{SelectRoles-x4F6UwAi.js → SelectRoles-JxYKvga9.js} +3 -3
- package/dist/admin/{SelectRoles-x4F6UwAi.js.map → SelectRoles-JxYKvga9.js.map} +1 -1
- package/dist/admin/{SingleSignOnPage-MXM2dl1r.js → SingleSignOnPage-APC1hAX2.js} +2 -2
- package/dist/admin/{SingleSignOnPage-MXM2dl1r.js.map → SingleSignOnPage-APC1hAX2.js.map} +1 -1
- package/dist/admin/{SingleSignOnPage-qyob98fd.mjs → SingleSignOnPage-rKeiHpGS.mjs} +2 -2
- package/dist/admin/{SingleSignOnPage-qyob98fd.mjs.map → SingleSignOnPage-rKeiHpGS.mjs.map} +1 -1
- package/dist/admin/{Table-L9ox45fi.js → Table-BKVants3.js} +2 -2
- package/dist/admin/{Table-L9ox45fi.js.map → Table-BKVants3.js.map} +1 -1
- package/dist/admin/{Table-GO4n7QXV.mjs → Table-idNir8r9.mjs} +2 -2
- package/dist/admin/{Table-GO4n7QXV.mjs.map → Table-idNir8r9.mjs.map} +1 -1
- package/dist/admin/{TokenTypeSelect-mlkqk9MH.js → TokenTypeSelect-Y6C3wEJm.js} +2 -2
- package/dist/admin/{TokenTypeSelect-mlkqk9MH.js.map → TokenTypeSelect-Y6C3wEJm.js.map} +1 -1
- package/dist/admin/{TokenTypeSelect-IMMoVNb1.mjs → TokenTypeSelect-k_R6xVFw.mjs} +2 -2
- package/dist/admin/{TokenTypeSelect-IMMoVNb1.mjs.map → TokenTypeSelect-k_R6xVFw.mjs.map} +1 -1
- package/dist/admin/{UseCasePage-iGGqfq7-.js → UseCasePage-63kprMhe.js} +2 -2
- package/dist/admin/{UseCasePage-iGGqfq7-.js.map → UseCasePage-63kprMhe.js.map} +1 -1
- package/dist/admin/{UseCasePage-QSUB-KqK.mjs → UseCasePage-eOIMEIRP.mjs} +2 -2
- package/dist/admin/{UseCasePage-QSUB-KqK.mjs.map → UseCasePage-eOIMEIRP.mjs.map} +1 -1
- package/dist/admin/{constants-ePjaxS4h.js → constants-GzcRsyWk.js} +2 -2
- package/dist/admin/{constants-ePjaxS4h.js.map → constants-GzcRsyWk.js.map} +1 -1
- package/dist/admin/{constants-VMWcn5Dg.mjs → constants-OqgYP6sX.mjs} +3 -3
- package/dist/admin/{constants-VMWcn5Dg.mjs.map → constants-OqgYP6sX.mjs.map} +1 -1
- package/dist/admin/{constants-7TD-JFW-.mjs → constants-X5ozLqHT.mjs} +2 -2
- package/dist/admin/{constants-7TD-JFW-.mjs.map → constants-X5ozLqHT.mjs.map} +1 -1
- package/dist/admin/{constants-eV26e_2a.js → constants-zUoXz50h.js} +3 -3
- package/dist/admin/{constants-eV26e_2a.js.map → constants-zUoXz50h.js.map} +1 -1
- package/dist/admin/{index--h1ljeG8.mjs → index-Sd8uo7mE.mjs} +36 -36
- package/dist/admin/{index--h1ljeG8.mjs.map → index-Sd8uo7mE.mjs.map} +1 -1
- package/dist/admin/{index-Xcv2DEB8.js → index-_fZT3TVe.js} +36 -36
- package/dist/admin/{index-Xcv2DEB8.js.map → index-_fZT3TVe.js.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/{useAdminRoles-gR2hyMNd.mjs → useAdminRoles-YT1f2LGL.mjs} +2 -2
- package/dist/admin/{useAdminRoles-gR2hyMNd.mjs.map → useAdminRoles-YT1f2LGL.mjs.map} +1 -1
- package/dist/admin/{useAdminRoles-2R5oKMoO.js → useAdminRoles-pS_ZatAB.js} +2 -2
- package/dist/admin/{useAdminRoles-2R5oKMoO.js.map → useAdminRoles-pS_ZatAB.js.map} +1 -1
- package/dist/admin/{useLicenseLimitNotification-SSUn-Y_I.mjs → useLicenseLimitNotification-EXzXTEr3.mjs} +2 -2
- package/dist/admin/{useLicenseLimitNotification-SSUn-Y_I.mjs.map → useLicenseLimitNotification-EXzXTEr3.mjs.map} +1 -1
- package/dist/admin/{useLicenseLimitNotification-wFWLFjgU.js → useLicenseLimitNotification-KDK7jUFG.js} +2 -2
- package/dist/admin/{useLicenseLimitNotification-wFWLFjgU.js.map → useLicenseLimitNotification-KDK7jUFG.js.map} +1 -1
- package/dist/admin/{useReviewWorkflows-b64v93dC.js → useReviewWorkflows-2ubos26m.js} +2 -2
- package/dist/admin/{useReviewWorkflows-b64v93dC.js.map → useReviewWorkflows-2ubos26m.js.map} +1 -1
- package/dist/admin/{useReviewWorkflows-5xeAwxah.mjs → useReviewWorkflows-vIYhJ1WA.mjs} +2 -2
- package/dist/admin/{useReviewWorkflows-5xeAwxah.mjs.map → useReviewWorkflows-vIYhJ1WA.mjs.map} +1 -1
- package/dist/admin/{validateWorkflow-nIbqjAha.mjs → validateWorkflow-KQMhiXda.mjs} +2 -2
- package/dist/admin/{validateWorkflow-nIbqjAha.mjs.map → validateWorkflow-KQMhiXda.mjs.map} +1 -1
- package/dist/admin/{validateWorkflow-28G5p4rG.js → validateWorkflow-dAaScNrW.js} +2 -2
- package/dist/admin/{validateWorkflow-28G5p4rG.js.map → validateWorkflow-dAaScNrW.js.map} +1 -1
- package/dist/package.json.d.ts +10 -10
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatePage-WpCjH5Y_.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/CreatePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, Loader, Typography } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport { useFormik, Form, FormikProvider, FormikErrors } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useNavigate } from 'react-router-dom';\n\nimport { ConfirmDialog } from '../../../../../../../admin/src/components/ConfirmDialog';\nimport { BackButton } from '../../../../../../../admin/src/features/BackButton';\nimport { useNotification } from '../../../../../../../admin/src/features/Notifications';\nimport { useAdminRoles } from '../../../../../../../admin/src/hooks/useAdminRoles';\nimport { useAPIErrorHandler } from '../../../../../../../admin/src/hooks/useAPIErrorHandler';\nimport { useContentTypes } from '../../../../../../../admin/src/hooks/useContentTypes';\nimport { useInjectReducer } from '../../../../../../../admin/src/hooks/useInjectReducer';\nimport { isBaseQueryError } from '../../../../../../../admin/src/utils/baseQuery';\nimport { useLicenseLimits } from '../../../../hooks/useLicenseLimits';\n\nimport {\n addStage,\n resetWorkflow,\n setContentTypes,\n setIsLoading,\n setRoles,\n setWorkflows,\n} from './actions';\nimport * as Layout from './components/Layout';\nimport { LimitsModal } from './components/LimitsModal';\nimport { Stages } from './components/Stages';\nimport { WorkflowAttributes } from './components/WorkflowAttributes';\nimport {\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n REDUX_NAMESPACE,\n} from './constants';\nimport { useReviewWorkflows } from './hooks/useReviewWorkflows';\nimport { CurrentWorkflow, reducer } from './reducer';\nimport {\n selectIsLoading,\n selectIsWorkflowDirty,\n selectCurrentWorkflow,\n selectRoles,\n} from './selectors';\nimport { validateWorkflow } from './utils/validateWorkflow';\n\nexport const ReviewWorkflowsCreatePage = () => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const dispatch = useDispatch();\n const { toggleNotification } = useNotification();\n const { collectionTypes, singleTypes, isLoading: isLoadingContentTypes } = useContentTypes();\n const { isLoading: isLoadingWorkflow, meta, workflows, createWorkflow } = useReviewWorkflows();\n const { isLoading: isLoadingRoles, roles: serverRoles } = useAdminRoles();\n const isLoading = useSelector(selectIsLoading);\n const currentWorkflowIsDirty = useSelector(selectIsWorkflowDirty);\n const currentWorkflow = useSelector(selectCurrentWorkflow);\n const roles = useSelector(selectRoles);\n const [showLimitModal, setShowLimitModal] = React.useState<'workflow' | 'stage' | null>(null);\n const { isLoading: isLicenseLoading, getFeature } = useLicenseLimits();\n const [initialErrors, setInitialErrors] = React.useState<FormikErrors<CurrentWorkflow>>();\n const [savePrompts, setSavePrompts] = React.useState<{ hasReassignedContentTypes?: boolean }>({});\n\n const limits = getFeature<string>('review-workflows');\n const numberOfWorkflows = limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME];\n const stagesPerWorkflow = limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME];\n const contentTypesFromOtherWorkflows = workflows?.flatMap((workflow) => workflow.contentTypes);\n\n const submitForm = async () => {\n setSavePrompts({});\n\n try {\n const res = await createWorkflow({\n // @ts-expect-error – currentWorkflow will have already been validated by formik before it gets here.\n data: currentWorkflow,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n setInitialErrors(formatValidationErrors(res.error));\n }\n\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'Settings.review-workflows.create.page.notification.success',\n defaultMessage: 'Workflow successfully created',\n }),\n });\n\n navigate(res.data.id.toString());\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'Settings.review-workflows.create.page.notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const handleConfirmDeleteDialog = async () => {\n await submitForm();\n };\n\n const handleConfirmClose = () => {\n setSavePrompts({});\n };\n\n const formik = useFormik({\n enableReinitialize: true,\n initialErrors,\n initialValues: currentWorkflow,\n async onSubmit() {\n const isContentTypeReassignment = currentWorkflow.contentTypes?.some((contentType) =>\n contentTypesFromOtherWorkflows?.includes(contentType)\n );\n\n /**\n * If the current license has a limit, check if the total count of workflows\n * exceeds that limit and display the limits modal instead of sending the\n * update, because it would throw an API error.\n */\n\n if (meta && numberOfWorkflows && meta?.workflowCount >= parseInt(numberOfWorkflows, 10)) {\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit, check if the total count of stages\n * exceeds that limit and display the limits modal instead of sending the\n * update, because it would throw an API error.\n */\n } else if (\n currentWorkflow.stages &&\n stagesPerWorkflow &&\n currentWorkflow.stages.length >= parseInt(stagesPerWorkflow, 10)\n ) {\n setShowLimitModal('stage');\n } else if (isContentTypeReassignment) {\n setSavePrompts((prev) => ({ ...prev, hasReassignedContentTypes: true }));\n } else {\n submitForm();\n }\n },\n validate(values) {\n return validateWorkflow({ values, formatMessage });\n },\n });\n\n useInjectReducer(REDUX_NAMESPACE, reducer);\n\n React.useEffect(() => {\n dispatch(resetWorkflow());\n\n if (!isLoadingWorkflow && workflows) {\n dispatch(setWorkflows({ workflows }));\n }\n\n if (!isLoadingContentTypes) {\n dispatch(setContentTypes({ collectionTypes, singleTypes }));\n }\n\n if (!isLoadingRoles) {\n dispatch(setRoles(serverRoles));\n }\n\n dispatch(setIsLoading(isLoadingContentTypes || isLoadingRoles));\n\n // Create an empty default stage\n dispatch(\n addStage({\n name: '',\n })\n );\n }, [\n collectionTypes,\n dispatch,\n isLoadingContentTypes,\n isLoadingRoles,\n isLoadingWorkflow,\n serverRoles,\n singleTypes,\n workflows,\n ]);\n\n /**\n * If the current license has a limit:\n * check if the total count of workflows or stages exceeds that limit and display\n * the limits modal on page load. It can be closed by the user, but the\n * API will throw an error in case they try to create a new workflow or update the\n * stages.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now). In case they are trying to create the 201st workflow/ stage\n * the API will throw an error.\n *\n */\n React.useEffect(() => {\n if (!isLoadingWorkflow && !isLicenseLoading) {\n if (\n currentWorkflow.stages &&\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n stagesPerWorkflow &&\n currentWorkflow.stages.length >= parseInt(stagesPerWorkflow, 10)\n ) {\n setShowLimitModal('stage');\n }\n }\n }, [isLicenseLoading, isLoadingWorkflow, limits, currentWorkflow.stages, stagesPerWorkflow]);\n\n React.useEffect(() => {\n if (!isLoading && roles?.length === 0) {\n toggleNotification({\n blockTransition: true,\n type: 'danger',\n message: formatMessage({\n id: 'Settings.review-workflows.stage.permissions.noPermissions.description',\n defaultMessage: 'You don’t have the permission to see roles',\n }),\n });\n }\n }, [formatMessage, isLoading, roles, toggleNotification]);\n\n return (\n <>\n <Layout.DragLayerRendered />\n <FormikProvider value={formik}>\n <Form onSubmit={formik.handleSubmit}>\n <Layout.Header\n navigationAction={<BackButton />}\n primaryAction={\n <Button\n startIcon={<Check />}\n type=\"submit\"\n size=\"M\"\n disabled={!currentWorkflowIsDirty}\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n }\n title={formatMessage({\n id: 'Settings.review-workflows.create.page.title',\n defaultMessage: 'Create Review Workflow',\n })}\n subtitle={formatMessage(\n {\n id: 'Settings.review-workflows.page.subtitle',\n defaultMessage: '{count, plural, one {# stage} other {# stages}}',\n },\n { count: currentWorkflow?.stages?.length ?? 0 }\n )}\n />\n <Layout.Root>\n <Flex alignItems=\"stretch\" direction=\"column\" gap={7}>\n {isLoading ? (\n <Loader>\n {formatMessage({\n id: 'Settings.review-workflows.page.isLoading',\n defaultMessage: 'Workflow is loading',\n })}\n </Loader>\n ) : (\n <Flex alignItems=\"stretch\" direction=\"column\" gap={7}>\n <WorkflowAttributes />\n <Stages stages={formik.values?.stages} />\n </Flex>\n )}\n </Flex>\n </Layout.Root>\n </Form>\n </FormikProvider>\n\n <ConfirmDialog\n isOpen={Object.keys(savePrompts).length > 0}\n onClose={handleConfirmClose}\n onConfirm={handleConfirmDeleteDialog}\n >\n <Flex direction=\"column\" gap={5}>\n {savePrompts.hasReassignedContentTypes && (\n <Typography textAlign=\"center\" variant=\"omega\">\n {formatMessage(\n {\n id: 'Settings.review-workflows.page.delete.confirm.contentType.body',\n defaultMessage:\n '{count} {count, plural, one {content-type} other {content-types}} {count, plural, one {is} other {are}} already mapped to {count, plural, one {another workflow} other {other workflows}}. If you save changes, {count, plural, one {this} other {these}} {count, plural, one {content-type} other {{count} content-types}} will no more be mapped to the {count, plural, one {another workflow} other {other workflows}} and all corresponding information will be removed.',\n },\n {\n count: contentTypesFromOtherWorkflows?.filter((contentType) =>\n currentWorkflow.contentTypes?.includes(contentType)\n ).length,\n }\n )}\n </Typography>\n )}\n\n <Typography textAlign=\"center\" variant=\"omega\">\n {formatMessage({\n id: 'Settings.review-workflows.page.delete.confirm.confirm',\n defaultMessage: 'Are you sure you want to save?',\n })}\n </Typography>\n </Flex>\n </ConfirmDialog>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'workflow'}\n onClose={() => setShowLimitModal(null)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'Settings.review-workflows.create.page.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'Settings.review-workflows.create.page.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n\n <LimitsModal.Root isOpen={showLimitModal === 'stage'} onClose={() => setShowLimitModal(null)}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'Settings.review-workflows.create.page.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'Settings.review-workflows.create.page.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </>\n );\n};\n"],"names":["useIntl","useNavigate","useAPIErrorHandler","useDispatch","useNotification","useContentTypes","useReviewWorkflows","useAdminRoles","useSelector","selectIsLoading","selectIsWorkflowDirty","selectCurrentWorkflow","selectRoles","React","useLicenseLimits","CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME","CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME","isBaseQueryError","formik","useFormik","validateWorkflow","useInjectReducer","REDUX_NAMESPACE","reducer","resetWorkflow","setWorkflows","setContentTypes","setRoles","setIsLoading","addStage","jsxs","Fragment","jsx","Layout.DragLayerRendered","FormikProvider","Form","Layout.Header","BackButton","Button","Check","Layout.Root","Flex","Loader","WorkflowAttributes","Stages","ConfirmDialog","Typography","LimitsModal"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CreatePage-dQ2vPAka.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/ReviewWorkflows/CreatePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Flex, Loader, Typography } from '@strapi/design-system';\nimport { Check } from '@strapi/icons';\nimport { useFormik, Form, FormikProvider, FormikErrors } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useNavigate } from 'react-router-dom';\n\nimport { ConfirmDialog } from '../../../../../../../admin/src/components/ConfirmDialog';\nimport { BackButton } from '../../../../../../../admin/src/features/BackButton';\nimport { useNotification } from '../../../../../../../admin/src/features/Notifications';\nimport { useAdminRoles } from '../../../../../../../admin/src/hooks/useAdminRoles';\nimport { useAPIErrorHandler } from '../../../../../../../admin/src/hooks/useAPIErrorHandler';\nimport { useContentTypes } from '../../../../../../../admin/src/hooks/useContentTypes';\nimport { useInjectReducer } from '../../../../../../../admin/src/hooks/useInjectReducer';\nimport { isBaseQueryError } from '../../../../../../../admin/src/utils/baseQuery';\nimport { useLicenseLimits } from '../../../../hooks/useLicenseLimits';\n\nimport {\n addStage,\n resetWorkflow,\n setContentTypes,\n setIsLoading,\n setRoles,\n setWorkflows,\n} from './actions';\nimport * as Layout from './components/Layout';\nimport { LimitsModal } from './components/LimitsModal';\nimport { Stages } from './components/Stages';\nimport { WorkflowAttributes } from './components/WorkflowAttributes';\nimport {\n CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME,\n CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME,\n REDUX_NAMESPACE,\n} from './constants';\nimport { useReviewWorkflows } from './hooks/useReviewWorkflows';\nimport { CurrentWorkflow, reducer } from './reducer';\nimport {\n selectIsLoading,\n selectIsWorkflowDirty,\n selectCurrentWorkflow,\n selectRoles,\n} from './selectors';\nimport { validateWorkflow } from './utils/validateWorkflow';\n\nexport const ReviewWorkflowsCreatePage = () => {\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n const dispatch = useDispatch();\n const { toggleNotification } = useNotification();\n const { collectionTypes, singleTypes, isLoading: isLoadingContentTypes } = useContentTypes();\n const { isLoading: isLoadingWorkflow, meta, workflows, createWorkflow } = useReviewWorkflows();\n const { isLoading: isLoadingRoles, roles: serverRoles } = useAdminRoles();\n const isLoading = useSelector(selectIsLoading);\n const currentWorkflowIsDirty = useSelector(selectIsWorkflowDirty);\n const currentWorkflow = useSelector(selectCurrentWorkflow);\n const roles = useSelector(selectRoles);\n const [showLimitModal, setShowLimitModal] = React.useState<'workflow' | 'stage' | null>(null);\n const { isLoading: isLicenseLoading, getFeature } = useLicenseLimits();\n const [initialErrors, setInitialErrors] = React.useState<FormikErrors<CurrentWorkflow>>();\n const [savePrompts, setSavePrompts] = React.useState<{ hasReassignedContentTypes?: boolean }>({});\n\n const limits = getFeature<string>('review-workflows');\n const numberOfWorkflows = limits?.[CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME];\n const stagesPerWorkflow = limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME];\n const contentTypesFromOtherWorkflows = workflows?.flatMap((workflow) => workflow.contentTypes);\n\n const submitForm = async () => {\n setSavePrompts({});\n\n try {\n const res = await createWorkflow({\n // @ts-expect-error – currentWorkflow will have already been validated by formik before it gets here.\n data: currentWorkflow,\n });\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n setInitialErrors(formatValidationErrors(res.error));\n }\n\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n\n return;\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({\n id: 'Settings.review-workflows.create.page.notification.success',\n defaultMessage: 'Workflow successfully created',\n }),\n });\n\n navigate(res.data.id.toString());\n } catch (error) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: 'Settings.review-workflows.create.page.notification.error',\n defaultMessage: 'An error occurred',\n }),\n });\n }\n };\n\n const handleConfirmDeleteDialog = async () => {\n await submitForm();\n };\n\n const handleConfirmClose = () => {\n setSavePrompts({});\n };\n\n const formik = useFormik({\n enableReinitialize: true,\n initialErrors,\n initialValues: currentWorkflow,\n async onSubmit() {\n const isContentTypeReassignment = currentWorkflow.contentTypes?.some((contentType) =>\n contentTypesFromOtherWorkflows?.includes(contentType)\n );\n\n /**\n * If the current license has a limit, check if the total count of workflows\n * exceeds that limit and display the limits modal instead of sending the\n * update, because it would throw an API error.\n */\n\n if (meta && numberOfWorkflows && meta?.workflowCount >= parseInt(numberOfWorkflows, 10)) {\n setShowLimitModal('workflow');\n\n /**\n * If the current license has a limit, check if the total count of stages\n * exceeds that limit and display the limits modal instead of sending the\n * update, because it would throw an API error.\n */\n } else if (\n currentWorkflow.stages &&\n stagesPerWorkflow &&\n currentWorkflow.stages.length >= parseInt(stagesPerWorkflow, 10)\n ) {\n setShowLimitModal('stage');\n } else if (isContentTypeReassignment) {\n setSavePrompts((prev) => ({ ...prev, hasReassignedContentTypes: true }));\n } else {\n submitForm();\n }\n },\n validate(values) {\n return validateWorkflow({ values, formatMessage });\n },\n });\n\n useInjectReducer(REDUX_NAMESPACE, reducer);\n\n React.useEffect(() => {\n dispatch(resetWorkflow());\n\n if (!isLoadingWorkflow && workflows) {\n dispatch(setWorkflows({ workflows }));\n }\n\n if (!isLoadingContentTypes) {\n dispatch(setContentTypes({ collectionTypes, singleTypes }));\n }\n\n if (!isLoadingRoles) {\n dispatch(setRoles(serverRoles));\n }\n\n dispatch(setIsLoading(isLoadingContentTypes || isLoadingRoles));\n\n // Create an empty default stage\n dispatch(\n addStage({\n name: '',\n })\n );\n }, [\n collectionTypes,\n dispatch,\n isLoadingContentTypes,\n isLoadingRoles,\n isLoadingWorkflow,\n serverRoles,\n singleTypes,\n workflows,\n ]);\n\n /**\n * If the current license has a limit:\n * check if the total count of workflows or stages exceeds that limit and display\n * the limits modal on page load. It can be closed by the user, but the\n * API will throw an error in case they try to create a new workflow or update the\n * stages.\n *\n * If the current license does not have a limit (e.g. offline license):\n * do nothing (for now). In case they are trying to create the 201st workflow/ stage\n * the API will throw an error.\n *\n */\n React.useEffect(() => {\n if (!isLoadingWorkflow && !isLicenseLoading) {\n if (\n currentWorkflow.stages &&\n limits?.[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME] &&\n stagesPerWorkflow &&\n currentWorkflow.stages.length >= parseInt(stagesPerWorkflow, 10)\n ) {\n setShowLimitModal('stage');\n }\n }\n }, [isLicenseLoading, isLoadingWorkflow, limits, currentWorkflow.stages, stagesPerWorkflow]);\n\n React.useEffect(() => {\n if (!isLoading && roles?.length === 0) {\n toggleNotification({\n blockTransition: true,\n type: 'danger',\n message: formatMessage({\n id: 'Settings.review-workflows.stage.permissions.noPermissions.description',\n defaultMessage: 'You don’t have the permission to see roles',\n }),\n });\n }\n }, [formatMessage, isLoading, roles, toggleNotification]);\n\n return (\n <>\n <Layout.DragLayerRendered />\n <FormikProvider value={formik}>\n <Form onSubmit={formik.handleSubmit}>\n <Layout.Header\n navigationAction={<BackButton />}\n primaryAction={\n <Button\n startIcon={<Check />}\n type=\"submit\"\n size=\"M\"\n disabled={!currentWorkflowIsDirty}\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n }\n title={formatMessage({\n id: 'Settings.review-workflows.create.page.title',\n defaultMessage: 'Create Review Workflow',\n })}\n subtitle={formatMessage(\n {\n id: 'Settings.review-workflows.page.subtitle',\n defaultMessage: '{count, plural, one {# stage} other {# stages}}',\n },\n { count: currentWorkflow?.stages?.length ?? 0 }\n )}\n />\n <Layout.Root>\n <Flex alignItems=\"stretch\" direction=\"column\" gap={7}>\n {isLoading ? (\n <Loader>\n {formatMessage({\n id: 'Settings.review-workflows.page.isLoading',\n defaultMessage: 'Workflow is loading',\n })}\n </Loader>\n ) : (\n <Flex alignItems=\"stretch\" direction=\"column\" gap={7}>\n <WorkflowAttributes />\n <Stages stages={formik.values?.stages} />\n </Flex>\n )}\n </Flex>\n </Layout.Root>\n </Form>\n </FormikProvider>\n\n <ConfirmDialog\n isOpen={Object.keys(savePrompts).length > 0}\n onClose={handleConfirmClose}\n onConfirm={handleConfirmDeleteDialog}\n >\n <Flex direction=\"column\" gap={5}>\n {savePrompts.hasReassignedContentTypes && (\n <Typography textAlign=\"center\" variant=\"omega\">\n {formatMessage(\n {\n id: 'Settings.review-workflows.page.delete.confirm.contentType.body',\n defaultMessage:\n '{count} {count, plural, one {content-type} other {content-types}} {count, plural, one {is} other {are}} already mapped to {count, plural, one {another workflow} other {other workflows}}. If you save changes, {count, plural, one {this} other {these}} {count, plural, one {content-type} other {{count} content-types}} will no more be mapped to the {count, plural, one {another workflow} other {other workflows}} and all corresponding information will be removed.',\n },\n {\n count: contentTypesFromOtherWorkflows?.filter((contentType) =>\n currentWorkflow.contentTypes?.includes(contentType)\n ).length,\n }\n )}\n </Typography>\n )}\n\n <Typography textAlign=\"center\" variant=\"omega\">\n {formatMessage({\n id: 'Settings.review-workflows.page.delete.confirm.confirm',\n defaultMessage: 'Are you sure you want to save?',\n })}\n </Typography>\n </Flex>\n </ConfirmDialog>\n\n <LimitsModal.Root\n isOpen={showLimitModal === 'workflow'}\n onClose={() => setShowLimitModal(null)}\n >\n <LimitsModal.Title>\n {formatMessage({\n id: 'Settings.review-workflows.create.page.workflows.limit.title',\n defaultMessage: 'You’ve reached the limit of workflows in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'Settings.review-workflows.create.page.workflows.limit.body',\n defaultMessage: 'Delete a workflow or contact Sales to enable more workflows.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n\n <LimitsModal.Root isOpen={showLimitModal === 'stage'} onClose={() => setShowLimitModal(null)}>\n <LimitsModal.Title>\n {formatMessage({\n id: 'Settings.review-workflows.create.page.stages.limit.title',\n defaultMessage: 'You have reached the limit of stages for this workflow in your plan',\n })}\n </LimitsModal.Title>\n\n <LimitsModal.Body>\n {formatMessage({\n id: 'Settings.review-workflows.create.page.stages.limit.body',\n defaultMessage: 'Try deleting some stages or contact Sales to enable more stages.',\n })}\n </LimitsModal.Body>\n </LimitsModal.Root>\n </>\n );\n};\n"],"names":["useIntl","useNavigate","useAPIErrorHandler","useDispatch","useNotification","useContentTypes","useReviewWorkflows","useAdminRoles","useSelector","selectIsLoading","selectIsWorkflowDirty","selectCurrentWorkflow","selectRoles","React","useLicenseLimits","CHARGEBEE_WORKFLOW_ENTITLEMENT_NAME","CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME","isBaseQueryError","formik","useFormik","validateWorkflow","useInjectReducer","REDUX_NAMESPACE","reducer","resetWorkflow","setWorkflows","setContentTypes","setRoles","setIsLoading","addStage","jsxs","Fragment","jsx","Layout.DragLayerRendered","FormikProvider","Form","Layout.Header","BackButton","Button","Check","Layout.Root","Flex","Loader","WorkflowAttributes","Stages","ConfirmDialog","Typography","LimitsModal"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import { useMatch, useNavigate } from 'react-router-dom';
|
|
|
9
9
|
import styled from 'styled-components';
|
|
10
10
|
import * as yup from 'yup';
|
|
11
11
|
import { _ as errorsTrads, h as useTypedSelector, P as Page, j as useNotification, o as useTracking, i as useAPIErrorHandler, H as isBaseQueryError } from './reducers-TOuLOGw_.mjs';
|
|
12
|
-
import { Y as useGetRolePermissionLayoutQuery, Z as useGetRolePermissionsQuery, _ as useCreateRoleMutation, $ as useUpdateRolePermissionsMutation, B as BackButton } from './index
|
|
12
|
+
import { Y as useGetRolePermissionLayoutQuery, Z as useGetRolePermissionsQuery, _ as useCreateRoleMutation, $ as useUpdateRolePermissionsMutation, B as BackButton } from './index-Sd8uo7mE.mjs';
|
|
13
13
|
import { P as Permissions } from './Permissions-kvKR0BEy.mjs';
|
|
14
14
|
|
|
15
15
|
const CREATE_SCHEMA = yup.object().shape({
|
|
@@ -242,4 +242,4 @@ const ProtectedCreatePage = () => {
|
|
|
242
242
|
};
|
|
243
243
|
|
|
244
244
|
export { CreatePage, ProtectedCreatePage };
|
|
245
|
-
//# sourceMappingURL=CreatePage-
|
|
245
|
+
//# sourceMappingURL=CreatePage-vUR8c8Wi.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreatePage-atcxK0nv.mjs","sources":["../../admin/src/pages/Settings/pages/Roles/CreatePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Main,\n Textarea,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport { format } from 'date-fns';\nimport { Formik, Form, FormikHelpers } from 'formik';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useNavigate, useMatch } from 'react-router-dom';\nimport styled from 'styled-components';\nimport * as yup from 'yup';\n\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport {\n useCreateRoleMutation,\n useGetRolePermissionLayoutQuery,\n useGetRolePermissionsQuery,\n useUpdateRolePermissionsMutation,\n} from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\n\nimport { Permissions, PermissionsAPI } from './components/Permissions';\n\n/* -------------------------------------------------------------------------------------------------\n * CreatePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst CREATE_SCHEMA = yup.object().shape({\n name: yup.string().required(translatedErrors.required.id),\n description: yup.string().required(translatedErrors.required.id),\n});\n\n/**\n * TODO: be nice if we could just infer this from the schema\n */\ninterface CreateRoleFormValues {\n name: string;\n description: string;\n}\n\n/**\n * TODO: this whole section of the app needs refactoring. Using a ref to\n * manage the state of the child is nonsensical.\n */\nconst CreatePage = () => {\n const match = useMatch('/settings/roles/duplicate/:id');\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const permissionsRef = React.useRef<PermissionsAPI>(null);\n const { trackUsage } = useTracking();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const id = match?.params.id ?? null;\n\n const { isLoading: isLoadingPermissionsLayout, data: permissionsLayout } =\n useGetRolePermissionLayoutQuery({\n /**\n * Role here is a query param so if there's no role we pass an empty string\n * which returns us a default layout.\n */\n role: id ?? '',\n });\n\n /**\n * We need this so if we're cloning a role, we can fetch\n * the current permissions that role has.\n */\n const { data: rolePermissions, isLoading: isLoadingRole } = useGetRolePermissionsQuery(\n {\n id: id!,\n },\n {\n skip: !id,\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [createRole] = useCreateRoleMutation();\n const [updateRolePermissions] = useUpdateRolePermissionsMutation();\n\n const handleCreateRoleSubmit = async (\n data: CreateRoleFormValues,\n formik: FormikHelpers<CreateRoleFormValues>\n ) => {\n try {\n if (id) {\n trackUsage('willDuplicateRole');\n } else {\n trackUsage('willCreateNewRole');\n }\n\n const res = await createRole(data);\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n const { permissionsToSend } = permissionsRef.current?.getPermissions() ?? {};\n\n if (res.data.id && Array.isArray(permissionsToSend) && permissionsToSend.length > 0) {\n const updateRes = await updateRolePermissions({\n id: res.data.id,\n permissions: permissionsToSend,\n });\n\n if ('error' in updateRes) {\n if (isBaseQueryError(updateRes.error) && updateRes.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(updateRes.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(updateRes.error),\n });\n }\n\n return;\n }\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'Settings.roles.created', defaultMessage: 'created' }),\n });\n\n navigate(res.data.id.toString(), { replace: true });\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if ((isLoadingPermissionsLayout && isLoadingRole) || !permissionsLayout) {\n return <Page.Loading />;\n }\n\n return (\n <Main>\n <Helmet\n title={formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Roles',\n }\n )}\n />\n <Formik\n initialValues={\n {\n name: '',\n description: `${formatMessage({\n id: 'Settings.roles.form.created',\n defaultMessage: 'Created',\n })} ${format(new Date(), 'PPP')}`,\n } satisfies CreateRoleFormValues\n }\n onSubmit={handleCreateRoleSubmit}\n validationSchema={CREATE_SCHEMA}\n validateOnChange={false}\n >\n {({ values, errors, handleReset, handleChange, isSubmitting }) => (\n <Form>\n <>\n <HeaderLayout\n primaryAction={\n <Flex gap={2}>\n <Button\n variant=\"secondary\"\n onClick={() => {\n handleReset();\n permissionsRef.current?.resetForm();\n }}\n size=\"L\"\n >\n {formatMessage({\n id: 'app.components.Button.reset',\n defaultMessage: 'Reset',\n })}\n </Button>\n <Button type=\"submit\" loading={isSubmitting} size=\"L\">\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n }\n title={formatMessage({\n id: 'Settings.roles.create.title',\n defaultMessage: 'Create a role',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.create.description',\n defaultMessage: 'Define the rights given to the role',\n })}\n navigationAction={<BackButton />}\n />\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Box background=\"neutral0\" padding={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex justifyContent=\"space-between\">\n <Box>\n <Box>\n <Typography fontWeight=\"bold\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n </Box>\n <Box>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.roles.form.description',\n defaultMessage: 'Name and description of the role',\n })}\n </Typography>\n </Box>\n </Box>\n <UsersRoleNumber>\n {formatMessage(\n {\n id: 'Settings.roles.form.button.users-with-role',\n defaultMessage:\n '{number, plural, =0 {# users} one {# user} other {# users}} with this role',\n },\n { number: 0 }\n )}\n </UsersRoleNumber>\n </Flex>\n <Grid gap={4}>\n <GridItem col={6}>\n <TextInput\n name=\"name\"\n error={errors.name && formatMessage({ id: errors.name })}\n label={formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n onChange={handleChange}\n required\n value={values.name}\n />\n </GridItem>\n <GridItem col={6}>\n <Textarea\n label={formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n id=\"description\"\n error={errors.description && formatMessage({ id: errors.description })}\n onChange={handleChange}\n >\n {values.description}\n </Textarea>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n <Box shadow=\"filterShadow\" hasRadius>\n <Permissions\n isFormDisabled={false}\n ref={permissionsRef}\n permissions={rolePermissions}\n layout={permissionsLayout}\n />\n </Box>\n </Flex>\n </ContentLayout>\n </>\n </Form>\n )}\n </Formik>\n </Main>\n );\n};\n\nconst UsersRoleNumber = styled.div`\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n padding: ${({ theme }) => `${theme.spaces[2]} ${theme.spaces[4]}`};\n color: ${({ theme }) => theme.colors.primary600};\n border-radius: ${({ theme }) => theme.borderRadius};\n font-size: ${12 / 16}rem;\n font-weight: bold;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedCreatePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedCreatePage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.roles.create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <CreatePage />\n </Page.Protect>\n );\n};\n\nexport { CreatePage, ProtectedCreatePage };\n"],"names":["translatedErrors"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CreatePage-vUR8c8Wi.mjs","sources":["../../admin/src/pages/Settings/pages/Roles/CreatePage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Button,\n ContentLayout,\n Flex,\n Grid,\n GridItem,\n HeaderLayout,\n Main,\n Textarea,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport { format } from 'date-fns';\nimport { Formik, Form, FormikHelpers } from 'formik';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\nimport { useNavigate, useMatch } from 'react-router-dom';\nimport styled from 'styled-components';\nimport * as yup from 'yup';\n\nimport { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\nimport { BackButton } from '../../../../features/BackButton';\nimport { useNotification } from '../../../../features/Notifications';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useAPIErrorHandler } from '../../../../hooks/useAPIErrorHandler';\nimport {\n useCreateRoleMutation,\n useGetRolePermissionLayoutQuery,\n useGetRolePermissionsQuery,\n useUpdateRolePermissionsMutation,\n} from '../../../../services/users';\nimport { isBaseQueryError } from '../../../../utils/baseQuery';\nimport { translatedErrors } from '../../../../utils/translatedErrors';\n\nimport { Permissions, PermissionsAPI } from './components/Permissions';\n\n/* -------------------------------------------------------------------------------------------------\n * CreatePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst CREATE_SCHEMA = yup.object().shape({\n name: yup.string().required(translatedErrors.required.id),\n description: yup.string().required(translatedErrors.required.id),\n});\n\n/**\n * TODO: be nice if we could just infer this from the schema\n */\ninterface CreateRoleFormValues {\n name: string;\n description: string;\n}\n\n/**\n * TODO: this whole section of the app needs refactoring. Using a ref to\n * manage the state of the child is nonsensical.\n */\nconst CreatePage = () => {\n const match = useMatch('/settings/roles/duplicate/:id');\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const navigate = useNavigate();\n const permissionsRef = React.useRef<PermissionsAPI>(null);\n const { trackUsage } = useTracking();\n const {\n _unstableFormatAPIError: formatAPIError,\n _unstableFormatValidationErrors: formatValidationErrors,\n } = useAPIErrorHandler();\n\n const id = match?.params.id ?? null;\n\n const { isLoading: isLoadingPermissionsLayout, data: permissionsLayout } =\n useGetRolePermissionLayoutQuery({\n /**\n * Role here is a query param so if there's no role we pass an empty string\n * which returns us a default layout.\n */\n role: id ?? '',\n });\n\n /**\n * We need this so if we're cloning a role, we can fetch\n * the current permissions that role has.\n */\n const { data: rolePermissions, isLoading: isLoadingRole } = useGetRolePermissionsQuery(\n {\n id: id!,\n },\n {\n skip: !id,\n refetchOnMountOrArgChange: true,\n }\n );\n\n const [createRole] = useCreateRoleMutation();\n const [updateRolePermissions] = useUpdateRolePermissionsMutation();\n\n const handleCreateRoleSubmit = async (\n data: CreateRoleFormValues,\n formik: FormikHelpers<CreateRoleFormValues>\n ) => {\n try {\n if (id) {\n trackUsage('willDuplicateRole');\n } else {\n trackUsage('willCreateNewRole');\n }\n\n const res = await createRole(data);\n\n if ('error' in res) {\n if (isBaseQueryError(res.error) && res.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(res.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n\n return;\n }\n\n const { permissionsToSend } = permissionsRef.current?.getPermissions() ?? {};\n\n if (res.data.id && Array.isArray(permissionsToSend) && permissionsToSend.length > 0) {\n const updateRes = await updateRolePermissions({\n id: res.data.id,\n permissions: permissionsToSend,\n });\n\n if ('error' in updateRes) {\n if (isBaseQueryError(updateRes.error) && updateRes.error.name === 'ValidationError') {\n formik.setErrors(formatValidationErrors(updateRes.error));\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(updateRes.error),\n });\n }\n\n return;\n }\n }\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'Settings.roles.created', defaultMessage: 'created' }),\n });\n\n navigate(res.data.id.toString(), { replace: true });\n } catch (err) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n if ((isLoadingPermissionsLayout && isLoadingRole) || !permissionsLayout) {\n return <Page.Loading />;\n }\n\n return (\n <Main>\n <Helmet\n title={formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: 'Roles',\n }\n )}\n />\n <Formik\n initialValues={\n {\n name: '',\n description: `${formatMessage({\n id: 'Settings.roles.form.created',\n defaultMessage: 'Created',\n })} ${format(new Date(), 'PPP')}`,\n } satisfies CreateRoleFormValues\n }\n onSubmit={handleCreateRoleSubmit}\n validationSchema={CREATE_SCHEMA}\n validateOnChange={false}\n >\n {({ values, errors, handleReset, handleChange, isSubmitting }) => (\n <Form>\n <>\n <HeaderLayout\n primaryAction={\n <Flex gap={2}>\n <Button\n variant=\"secondary\"\n onClick={() => {\n handleReset();\n permissionsRef.current?.resetForm();\n }}\n size=\"L\"\n >\n {formatMessage({\n id: 'app.components.Button.reset',\n defaultMessage: 'Reset',\n })}\n </Button>\n <Button type=\"submit\" loading={isSubmitting} size=\"L\">\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n }\n title={formatMessage({\n id: 'Settings.roles.create.title',\n defaultMessage: 'Create a role',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.create.description',\n defaultMessage: 'Define the rights given to the role',\n })}\n navigationAction={<BackButton />}\n />\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Box background=\"neutral0\" padding={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex justifyContent=\"space-between\">\n <Box>\n <Box>\n <Typography fontWeight=\"bold\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n </Box>\n <Box>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage({\n id: 'Settings.roles.form.description',\n defaultMessage: 'Name and description of the role',\n })}\n </Typography>\n </Box>\n </Box>\n <UsersRoleNumber>\n {formatMessage(\n {\n id: 'Settings.roles.form.button.users-with-role',\n defaultMessage:\n '{number, plural, =0 {# users} one {# user} other {# users}} with this role',\n },\n { number: 0 }\n )}\n </UsersRoleNumber>\n </Flex>\n <Grid gap={4}>\n <GridItem col={6}>\n <TextInput\n name=\"name\"\n error={errors.name && formatMessage({ id: errors.name })}\n label={formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n onChange={handleChange}\n required\n value={values.name}\n />\n </GridItem>\n <GridItem col={6}>\n <Textarea\n label={formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n id=\"description\"\n error={errors.description && formatMessage({ id: errors.description })}\n onChange={handleChange}\n >\n {values.description}\n </Textarea>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n <Box shadow=\"filterShadow\" hasRadius>\n <Permissions\n isFormDisabled={false}\n ref={permissionsRef}\n permissions={rolePermissions}\n layout={permissionsLayout}\n />\n </Box>\n </Flex>\n </ContentLayout>\n </>\n </Form>\n )}\n </Formik>\n </Main>\n );\n};\n\nconst UsersRoleNumber = styled.div`\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n padding: ${({ theme }) => `${theme.spaces[2]} ${theme.spaces[4]}`};\n color: ${({ theme }) => theme.colors.primary600};\n border-radius: ${({ theme }) => theme.borderRadius};\n font-size: ${12 / 16}rem;\n font-weight: bold;\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedCreatePage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedCreatePage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.roles.create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <CreatePage />\n </Page.Protect>\n );\n};\n\nexport { CreatePage, ProtectedCreatePage };\n"],"names":["translatedErrors"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
4
4
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
const layout = require('./reducers-uDxSALD_.js');
|
|
7
|
-
const EditView = require('./EditView-
|
|
7
|
+
const EditView = require('./EditView-6orvVYcs.js');
|
|
8
8
|
|
|
9
9
|
const ProtectedCreateView = () => {
|
|
10
10
|
const permissions = layout.useTypedSelector(
|
|
@@ -14,4 +14,4 @@ const ProtectedCreateView = () => {
|
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
exports.ProtectedCreateView = ProtectedCreateView;
|
|
17
|
-
//# sourceMappingURL=CreateView-
|
|
17
|
+
//# sourceMappingURL=CreateView-L98QJ908.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateView-
|
|
1
|
+
{"version":3,"file":"CreateView-L98QJ908.js","sources":["../../admin/src/pages/Settings/pages/TransferTokens/CreateView.tsx"],"sourcesContent":["import { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\n\nimport { EditView } from './EditView';\n\nexport const ProtectedCreateView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n"],"names":["useTypedSelector","Page","jsx","EditView"],"mappings":";;;;;;;;AAKO,MAAM,sBAAsB,MAAM;AACvC,EAAA,MAAM,WAAc,GAAAA,uBAAA;AAAA,IAClB,CAAC,KAAU,KAAA,KAAA,CAAM,UAAU,WAAY,CAAA,QAAA,GAAW,iBAAiB,CAAE,CAAA,MAAA;AAAA,GACvE,CAAA;AAEA,EAAA,sCACGC,WAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAAC,cAAA,CAACC,qBAAS,CACZ,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
4
4
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
const layout = require('./reducers-uDxSALD_.js');
|
|
7
|
-
const EditViewPage = require('./EditViewPage-
|
|
7
|
+
const EditViewPage = require('./EditViewPage-b8B7crGF.js');
|
|
8
8
|
|
|
9
9
|
const ProtectedCreateView = () => {
|
|
10
10
|
const permissions = layout.useTypedSelector(
|
|
@@ -14,4 +14,4 @@ const ProtectedCreateView = () => {
|
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
exports.ProtectedCreateView = ProtectedCreateView;
|
|
17
|
-
//# sourceMappingURL=CreateView-
|
|
17
|
+
//# sourceMappingURL=CreateView-Ry0jxIm8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateView-
|
|
1
|
+
{"version":3,"file":"CreateView-Ry0jxIm8.js","sources":["../../admin/src/pages/Settings/pages/ApiTokens/CreateView.tsx"],"sourcesContent":["import { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\n\nimport { EditView } from './EditView/EditViewPage';\n\nexport const ProtectedCreateView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['api-tokens'].create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n"],"names":["useTypedSelector","Page","jsx","EditView"],"mappings":";;;;;;;;AAKO,MAAM,sBAAsB,MAAM;AACvC,EAAA,MAAM,WAAc,GAAAA,uBAAA;AAAA,IAClB,CAAC,KAAU,KAAA,KAAA,CAAM,UAAU,WAAY,CAAA,QAAA,GAAW,YAAY,CAAE,CAAA,MAAA;AAAA,GAClE,CAAA;AAEA,EAAA,sCACGC,WAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAAC,cAAA,CAACC,yBAAS,CACZ,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { h as useTypedSelector, P as Page } from './reducers-TOuLOGw_.mjs';
|
|
3
|
-
import { EditView } from './EditView-
|
|
3
|
+
import { EditView } from './EditView-Py-98_8F.mjs';
|
|
4
4
|
|
|
5
5
|
const ProtectedCreateView = () => {
|
|
6
6
|
const permissions = useTypedSelector(
|
|
@@ -10,4 +10,4 @@ const ProtectedCreateView = () => {
|
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
export { ProtectedCreateView };
|
|
13
|
-
//# sourceMappingURL=CreateView-
|
|
13
|
+
//# sourceMappingURL=CreateView-UAXKJ1XB.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateView-
|
|
1
|
+
{"version":3,"file":"CreateView-UAXKJ1XB.mjs","sources":["../../admin/src/pages/Settings/pages/TransferTokens/CreateView.tsx"],"sourcesContent":["import { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\n\nimport { EditView } from './EditView';\n\nexport const ProtectedCreateView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['transfer-tokens'].create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n"],"names":[],"mappings":";;;;AAKO,MAAM,sBAAsB,MAAM;AACvC,EAAA,MAAM,WAAc,GAAA,gBAAA;AAAA,IAClB,CAAC,KAAU,KAAA,KAAA,CAAM,UAAU,WAAY,CAAA,QAAA,GAAW,iBAAiB,CAAE,CAAA,MAAA;AAAA,GACvE,CAAA;AAEA,EAAA,2BACG,IAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAA,GAAA,CAAC,YAAS,CACZ,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { h as useTypedSelector, P as Page } from './reducers-TOuLOGw_.mjs';
|
|
3
|
-
import { EditView } from './EditViewPage-
|
|
3
|
+
import { EditView } from './EditViewPage-taqlSy8-.mjs';
|
|
4
4
|
|
|
5
5
|
const ProtectedCreateView = () => {
|
|
6
6
|
const permissions = useTypedSelector(
|
|
@@ -10,4 +10,4 @@ const ProtectedCreateView = () => {
|
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
export { ProtectedCreateView };
|
|
13
|
-
//# sourceMappingURL=CreateView-
|
|
13
|
+
//# sourceMappingURL=CreateView-n-X-ip9A.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateView-
|
|
1
|
+
{"version":3,"file":"CreateView-n-X-ip9A.mjs","sources":["../../admin/src/pages/Settings/pages/ApiTokens/CreateView.tsx"],"sourcesContent":["import { Page } from '../../../../components/PageHelpers';\nimport { useTypedSelector } from '../../../../core/store/hooks';\n\nimport { EditView } from './EditView/EditViewPage';\n\nexport const ProtectedCreateView = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.['api-tokens'].create\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <EditView />\n </Page.Protect>\n );\n};\n"],"names":[],"mappings":";;;;AAKO,MAAM,sBAAsB,MAAM;AACvC,EAAA,MAAM,WAAc,GAAA,gBAAA;AAAA,IAClB,CAAC,KAAU,KAAA,KAAA,CAAM,UAAU,WAAY,CAAA,QAAA,GAAW,YAAY,CAAE,CAAA,MAAA;AAAA,GAClE,CAAA;AAEA,EAAA,2BACG,IAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAA,GAAA,CAAC,YAAS,CACZ,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
package/dist/admin/{EditConfigurationPage-elMqHM_A.mjs → EditConfigurationPage-7aqUfM-_.mjs}
RENAMED
|
@@ -3,7 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import { Helmet } from 'react-helmet';
|
|
4
4
|
import { useIntl } from 'react-intl';
|
|
5
5
|
import { h as useTypedSelector, P as Page, o as useTracking, j as useNotification, i as useAPIErrorHandler, g as useDoc, aR as useGetInitialDataQuery, aP as useUpdateContentTypeConfigurationMutation, aQ as setIn } from './reducers-TOuLOGw_.mjs';
|
|
6
|
-
import { C as ConfigurationForm, T as TEMP_FIELD_NAME } from './Form-
|
|
6
|
+
import { C as ConfigurationForm, T as TEMP_FIELD_NAME } from './Form-qYMSW-OI.mjs';
|
|
7
7
|
import { b as useDocLayout } from './useDocumentLayout-5UQF9Yls.mjs';
|
|
8
8
|
|
|
9
9
|
const EditConfigurationPage = () => {
|
|
@@ -127,4 +127,4 @@ const ProtectedEditConfigurationPage = () => {
|
|
|
127
127
|
};
|
|
128
128
|
|
|
129
129
|
export { EditConfigurationPage, ProtectedEditConfigurationPage };
|
|
130
|
-
//# sourceMappingURL=EditConfigurationPage-
|
|
130
|
+
//# sourceMappingURL=EditConfigurationPage-7aqUfM-_.mjs.map
|
package/dist/admin/{EditConfigurationPage-elMqHM_A.mjs.map → EditConfigurationPage-7aqUfM-_.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditConfigurationPage-
|
|
1
|
+
{"version":3,"file":"EditConfigurationPage-7aqUfM-_.mjs","sources":["../../admin/src/content-manager/pages/EditConfigurationPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\n\nimport { Page } from '../../components/PageHelpers';\nimport { useTypedSelector } from '../../core/store/hooks';\nimport { useNotification } from '../../features/Notifications';\nimport { useTracking } from '../../features/Tracking';\nimport { useAPIErrorHandler } from '../../hooks/useAPIErrorHandler';\nimport { setIn } from '../../utils/objects';\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 { useUpdateContentTypeConfigurationMutation } from '../services/contentTypes';\nimport { useGetInitialDataQuery } from '../services/init';\n\nimport type { Contracts } from '@strapi/plugin-content-manager/_internal/shared';\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<Contracts.ContentTypes.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 <Helmet title={`Configure ${edit.settings.displayName} Edit View | Strapi`} />\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":["fieldSizes"],"mappings":";;;;;;;;AAoBA,MAAM,wBAAwB,MAAM;AAClC,EAAM,MAAA,EAAE,UAAW,EAAA,GAAI,WAAY,EAAA,CAAA;AACnC,EAAM,MAAA,EAAE,aAAc,EAAA,GAAI,OAAQ,EAAA,CAAA;AAClC,EAAM,MAAA,EAAE,kBAAmB,EAAA,GAAI,eAAgB,EAAA,CAAA;AAC/C,EAAA,MAAM,EAAE,uBAAA,EAAyB,cAAe,EAAA,GAAI,kBAAmB,EAAA,CAAA;AACvE,EAAA,MAAM,EAAE,SAAW,EAAA,eAAA,EAAiB,MAAQ,EAAA,KAAA,KAAU,MAAO,EAAA,CAAA;AAC7D,EAAA,MAAM,EAAE,SAAW,EAAA,eAAA,EAAiB,OAAO,IAAM,EAAA,IAAA,KAAS,YAAa,EAAA,CAAA;AAEvE,EAAM,MAAA;AAAA,IACJ,UAAA;AAAA,IACA,KAAO,EAAA,eAAA;AAAA,IACP,SAAW,EAAA,mBAAA;AAAA,IACX,UAAY,EAAA,oBAAA;AAAA,GACd,GAAI,uBAAuB,KAAW,CAAA,EAAA;AAAA,IACpC,gBAAA,EAAkB,CAAC,GAAQ,KAAA;AACzB,MAAA,MAAMA,cAAa,MAAO,CAAA,OAAA,CAAQ,IAAI,IAAM,EAAA,UAAA,IAAc,EAAE,CAAA,CAAE,MAE5D,CAAA,CAAC,KAAK,CAAC,aAAA,EAAe,EAAE,OAAS,EAAA,IAAA,EAAM,CAAM,KAAA;AAC7C,QAAA,GAAA,CAAI,aAAa,CAAI,GAAA,IAAA,CAAA;AAErB,QAAO,OAAA,GAAA,CAAA;AAAA,OACT,EAAG,EAAE,CAAA,CAAA;AAEL,MAAO,OAAA;AAAA,QACL,YAAY,GAAI,CAAA,UAAA;AAAA,QAChB,WAAW,GAAI,CAAA,SAAA;AAAA,QACf,OAAO,GAAI,CAAA,KAAA;AAAA,QACX,UAAAA,EAAAA,WAAAA;AAAA,OACF,CAAA;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AAED,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,eAAiB,EAAA;AACnB,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,QAAA;AAAA,QACN,OAAA,EAAS,eAAe,eAAe,CAAA;AAAA,OACxC,CAAA,CAAA;AAAA,KACH;AAAA,GACC,EAAA,CAAC,eAAiB,EAAA,cAAA,EAAgB,kBAAkB,CAAC,CAAA,CAAA;AAExD,EAAM,MAAA,SAAA,GACJ,eAAmB,IAAA,eAAA,IAAmB,mBAAuB,IAAA,oBAAA,CAAA;AAE/D,EAAM,MAAA,CAAC,mBAAmB,CAAA,GAAI,yCAA0C,EAAA,CAAA;AACxE,EAAM,MAAA,YAAA,GAAmD,OAAO,IAAS,KAAA;AACvE,IAAI,IAAA;AACF,MAAA,UAAA,CAAW,2BAA2B,CAAA,CAAA;AAOtC,MAAA,MAAM,IAAO,GAAA,MAAA,CAAO,OAAQ,CAAA,IAAA,CAAK,SAAS,CAAE,CAAA,MAAA;AAAA,QAC1C,CAAC,GAAK,EAAA,CAAC,IAAM,EAAA,EAAE,WAAW,UAAY,EAAA,GAAG,QAAS,EAAC,CAAM,KAAA;AACvD,UAAM,MAAA,gBAAA,GAAmB,IAAK,CAAA,SAAA,CAAU,IAAI,CAAA,CAAA;AAE5C,UAAM,MAAA;AAAA,YACJ,YAAA;AAAA,YACA,IAAM,EAAA,KAAA;AAAA,YACN,IAAM,EAAA,KAAA;AAAA,YACN,GAAG,cAAA;AAAA,cACD,IAAK,CAAA,MAAA,CAAO,OAAQ,CAAA,CAAC,QAAQ,GAAI,CAAA,QAAQ,CAAE,CAAA,IAAA,CAAK,CAAC,KAAU,KAAA,KAAA,CAAM,IAAS,KAAA,IAAI,KAAK,EAAC,CAAA;AAExF,UAAA,GAAA,CAAI,IAAI,CAAI,GAAA;AAAA,YACV,IAAM,EAAA;AAAA,cACJ,GAAG,gBAAA;AAAA,cACH,GAAG,cAAA;AAAA,aACL;AAAA,YACA,IAAM,EAAA,QAAA;AAAA,WACR,CAAA;AAEA,UAAO,OAAA,GAAA,CAAA;AAAA,SACT;AAAA,QACA,EAAC;AAAA,OACH,CAAA;AAEA,MAAM,MAAA,GAAA,GAAM,MAAM,mBAAoB,CAAA;AAAA,QACpC,OAAS,EAAA;AAAA,UACP,IAAA,EAAM,KAAK,MAAO,CAAA,GAAA;AAAA,YAAI,CAAC,GACrB,KAAA,GAAA,CAAI,QAAS,CAAA,MAAA,CAA8C,CAAC,GAAK,EAAA,EAAE,IAAM,EAAA,IAAA,EAAW,KAAA;AAClF,cAAA,IAAI,SAAS,eAAiB,EAAA;AAC5B,gBAAA,OAAO,CAAC,GAAG,GAAA,EAAK,EAAE,IAAA,EAAM,MAAM,CAAA,CAAA;AAAA,eAChC;AAEA,cAAO,OAAA,GAAA,CAAA;AAAA,aACT,EAAG,EAAE,CAAA;AAAA,WACP;AAAA,UACA,MAAM,IAAK,CAAA,MAAA,CAAO,IAAI,CAAC,KAAA,KAAU,MAAM,IAAI,CAAA;AAAA,SAC7C;AAAA,QACA,QAAU,EAAA,KAAA,CAAM,IAAK,CAAA,QAAA,EAAU,eAAe,KAAS,CAAA,CAAA;AAAA,QACvD,SAAW,EAAA,IAAA;AAAA,QACX,GAAK,EAAA,KAAA;AAAA,OACN,CAAA,CAAA;AAED,MAAA,IAAI,UAAU,GAAK,EAAA;AACjB,QAAA,UAAA,CAAW,qBAAqB,CAAA,CAAA;AAChC,QAAmB,kBAAA,CAAA;AAAA,UACjB,IAAM,EAAA,SAAA;AAAA,UACN,SAAS,aAAc,CAAA,EAAE,IAAI,4BAA8B,EAAA,cAAA,EAAgB,SAAS,CAAA;AAAA,SACrF,CAAA,CAAA;AAAA,OACI,MAAA;AACL,QAAmB,kBAAA,CAAA;AAAA,UACjB,IAAM,EAAA,QAAA;AAAA,UACN,OAAA,EAAS,cAAe,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,SAClC,CAAA,CAAA;AAAA,OACH;AAAA,KACM,CAAA,MAAA;AACN,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,QAAA;AAAA,QACN,SAAS,aAAc,CAAA,EAAE,IAAI,oBAAsB,EAAA,cAAA,EAAgB,qBAAqB,CAAA;AAAA,OACzF,CAAA,CAAA;AAAA,KACH;AAAA,GACF,CAAA;AAEA,EAAA,IAAI,SAAW,EAAA;AACb,IAAO,uBAAA,GAAA,CAAC,IAAK,CAAA,OAAA,EAAL,EAAa,CAAA,CAAA;AAAA,GACvB;AAEA,EAAI,IAAA,eAAA,IAAmB,KAAS,IAAA,CAAC,MAAQ,EAAA;AACvC,IAAO,uBAAA,GAAA,CAAC,IAAK,CAAA,KAAA,EAAL,EAAW,CAAA,CAAA;AAAA,GACrB;AAEA,EAAA,uBAEI,IAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAO,KAAO,EAAA,CAAA,UAAA,EAAa,IAAK,CAAA,QAAA,CAAS,WAAW,CAAuB,mBAAA,CAAA,EAAA,CAAA;AAAA,oBAC5E,GAAA;AAAA,MAAC,iBAAA;AAAA,MAAA;AAAA,QACC,QAAU,EAAA,YAAA;AAAA,QACV,YAAY,MAAO,CAAA,UAAA;AAAA,QACnB,UAAA;AAAA,QACA,MAAQ,EAAA,IAAA;AAAA,OAAA;AAAA,KACV;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAEA,MAAM,iCAAiC,MAAM;AAC3C,EAAA,MAAM,WAAc,GAAA,gBAAA;AAAA,IAClB,CAAC,KAAA,KAAU,KAAM,CAAA,SAAA,CAAU,YAAY,cAAgB,EAAA,6BAAA;AAAA,GACzD,CAAA;AAEA,EAAA,2BACG,IAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAA,GAAA,CAAC,yBAAsB,CACzB,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -7,7 +7,7 @@ const React = require('react');
|
|
|
7
7
|
const reactHelmet = require('react-helmet');
|
|
8
8
|
const reactIntl = require('react-intl');
|
|
9
9
|
const layout = require('./reducers-uDxSALD_.js');
|
|
10
|
-
const Form = require('./Form-
|
|
10
|
+
const Form = require('./Form-ykqsO6fm.js');
|
|
11
11
|
const useDocumentLayout = require('./useDocumentLayout-wBQQmFJL.js');
|
|
12
12
|
|
|
13
13
|
function _interopNamespace(e) {
|
|
@@ -152,4 +152,4 @@ const ProtectedEditConfigurationPage = () => {
|
|
|
152
152
|
|
|
153
153
|
exports.EditConfigurationPage = EditConfigurationPage;
|
|
154
154
|
exports.ProtectedEditConfigurationPage = ProtectedEditConfigurationPage;
|
|
155
|
-
//# sourceMappingURL=EditConfigurationPage-
|
|
155
|
+
//# sourceMappingURL=EditConfigurationPage-9hpFgyVd.js.map
|
package/dist/admin/{EditConfigurationPage-lf0uG4_2.js.map → EditConfigurationPage-9hpFgyVd.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditConfigurationPage-lf0uG4_2.js","sources":["../../admin/src/content-manager/pages/EditConfigurationPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\n\nimport { Page } from '../../components/PageHelpers';\nimport { useTypedSelector } from '../../core/store/hooks';\nimport { useNotification } from '../../features/Notifications';\nimport { useTracking } from '../../features/Tracking';\nimport { useAPIErrorHandler } from '../../hooks/useAPIErrorHandler';\nimport { setIn } from '../../utils/objects';\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 { useUpdateContentTypeConfigurationMutation } from '../services/contentTypes';\nimport { useGetInitialDataQuery } from '../services/init';\n\nimport type { Contracts } from '@strapi/plugin-content-manager/_internal/shared';\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<Contracts.ContentTypes.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 <Helmet title={`Configure ${edit.settings.displayName} Edit View | Strapi`} />\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":["useTracking","useIntl","useNotification","useAPIErrorHandler","useDoc","useDocLayout","useGetInitialDataQuery","fieldSizes","React","useUpdateContentTypeConfigurationMutation","TEMP_FIELD_NAME","setIn","jsx","Page","jsxs","Fragment","Helmet","ConfigurationForm","useTypedSelector"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EditConfigurationPage-9hpFgyVd.js","sources":["../../admin/src/content-manager/pages/EditConfigurationPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'react-intl';\n\nimport { Page } from '../../components/PageHelpers';\nimport { useTypedSelector } from '../../core/store/hooks';\nimport { useNotification } from '../../features/Notifications';\nimport { useTracking } from '../../features/Tracking';\nimport { useAPIErrorHandler } from '../../hooks/useAPIErrorHandler';\nimport { setIn } from '../../utils/objects';\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 { useUpdateContentTypeConfigurationMutation } from '../services/contentTypes';\nimport { useGetInitialDataQuery } from '../services/init';\n\nimport type { Contracts } from '@strapi/plugin-content-manager/_internal/shared';\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<Contracts.ContentTypes.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 <Helmet title={`Configure ${edit.settings.displayName} Edit View | Strapi`} />\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":["useTracking","useIntl","useNotification","useAPIErrorHandler","useDoc","useDocLayout","useGetInitialDataQuery","fieldSizes","React","useUpdateContentTypeConfigurationMutation","TEMP_FIELD_NAME","setIn","jsx","Page","jsxs","Fragment","Helmet","ConfigurationForm","useTypedSelector"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,MAAM,wBAAwB,MAAM;AAClC,EAAM,MAAA,EAAE,UAAW,EAAA,GAAIA,kBAAY,EAAA,CAAA;AACnC,EAAM,MAAA,EAAE,aAAc,EAAA,GAAIC,iBAAQ,EAAA,CAAA;AAClC,EAAM,MAAA,EAAE,kBAAmB,EAAA,GAAIC,sBAAgB,EAAA,CAAA;AAC/C,EAAA,MAAM,EAAE,uBAAA,EAAyB,cAAe,EAAA,GAAIC,yBAAmB,EAAA,CAAA;AACvE,EAAA,MAAM,EAAE,SAAW,EAAA,eAAA,EAAiB,MAAQ,EAAA,KAAA,KAAUC,aAAO,EAAA,CAAA;AAC7D,EAAA,MAAM,EAAE,SAAW,EAAA,eAAA,EAAiB,OAAO,IAAM,EAAA,IAAA,KAASC,8BAAa,EAAA,CAAA;AAEvE,EAAM,MAAA;AAAA,IACJ,UAAA;AAAA,IACA,KAAO,EAAA,eAAA;AAAA,IACP,SAAW,EAAA,mBAAA;AAAA,IACX,UAAY,EAAA,oBAAA;AAAA,GACd,GAAIC,8BAAuB,KAAW,CAAA,EAAA;AAAA,IACpC,gBAAA,EAAkB,CAAC,GAAQ,KAAA;AACzB,MAAA,MAAMC,cAAa,MAAO,CAAA,OAAA,CAAQ,IAAI,IAAM,EAAA,UAAA,IAAc,EAAE,CAAA,CAAE,MAE5D,CAAA,CAAC,KAAK,CAAC,aAAA,EAAe,EAAE,OAAS,EAAA,IAAA,EAAM,CAAM,KAAA;AAC7C,QAAA,GAAA,CAAI,aAAa,CAAI,GAAA,IAAA,CAAA;AAErB,QAAO,OAAA,GAAA,CAAA;AAAA,OACT,EAAG,EAAE,CAAA,CAAA;AAEL,MAAO,OAAA;AAAA,QACL,YAAY,GAAI,CAAA,UAAA;AAAA,QAChB,WAAW,GAAI,CAAA,SAAA;AAAA,QACf,OAAO,GAAI,CAAA,KAAA;AAAA,QACX,UAAAA,EAAAA,WAAAA;AAAA,OACF,CAAA;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AAED,EAAAC,gBAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,eAAiB,EAAA;AACnB,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,QAAA;AAAA,QACN,OAAA,EAAS,eAAe,eAAe,CAAA;AAAA,OACxC,CAAA,CAAA;AAAA,KACH;AAAA,GACC,EAAA,CAAC,eAAiB,EAAA,cAAA,EAAgB,kBAAkB,CAAC,CAAA,CAAA;AAExD,EAAM,MAAA,SAAA,GACJ,eAAmB,IAAA,eAAA,IAAmB,mBAAuB,IAAA,oBAAA,CAAA;AAE/D,EAAM,MAAA,CAAC,mBAAmB,CAAA,GAAIC,gDAA0C,EAAA,CAAA;AACxE,EAAM,MAAA,YAAA,GAAmD,OAAO,IAAS,KAAA;AACvE,IAAI,IAAA;AACF,MAAA,UAAA,CAAW,2BAA2B,CAAA,CAAA;AAOtC,MAAA,MAAM,IAAO,GAAA,MAAA,CAAO,OAAQ,CAAA,IAAA,CAAK,SAAS,CAAE,CAAA,MAAA;AAAA,QAC1C,CAAC,GAAK,EAAA,CAAC,IAAM,EAAA,EAAE,WAAW,UAAY,EAAA,GAAG,QAAS,EAAC,CAAM,KAAA;AACvD,UAAM,MAAA,gBAAA,GAAmB,IAAK,CAAA,SAAA,CAAU,IAAI,CAAA,CAAA;AAE5C,UAAM,MAAA;AAAA,YACJ,YAAA;AAAA,YACA,IAAM,EAAA,KAAA;AAAA,YACN,IAAM,EAAA,KAAA;AAAA,YACN,GAAG,cAAA;AAAA,cACD,IAAK,CAAA,MAAA,CAAO,OAAQ,CAAA,CAAC,QAAQ,GAAI,CAAA,QAAQ,CAAE,CAAA,IAAA,CAAK,CAAC,KAAU,KAAA,KAAA,CAAM,IAAS,KAAA,IAAI,KAAK,EAAC,CAAA;AAExF,UAAA,GAAA,CAAI,IAAI,CAAI,GAAA;AAAA,YACV,IAAM,EAAA;AAAA,cACJ,GAAG,gBAAA;AAAA,cACH,GAAG,cAAA;AAAA,aACL;AAAA,YACA,IAAM,EAAA,QAAA;AAAA,WACR,CAAA;AAEA,UAAO,OAAA,GAAA,CAAA;AAAA,SACT;AAAA,QACA,EAAC;AAAA,OACH,CAAA;AAEA,MAAM,MAAA,GAAA,GAAM,MAAM,mBAAoB,CAAA;AAAA,QACpC,OAAS,EAAA;AAAA,UACP,IAAA,EAAM,KAAK,MAAO,CAAA,GAAA;AAAA,YAAI,CAAC,GACrB,KAAA,GAAA,CAAI,QAAS,CAAA,MAAA,CAA8C,CAAC,GAAK,EAAA,EAAE,IAAM,EAAA,IAAA,EAAW,KAAA;AAClF,cAAA,IAAI,SAASC,oBAAiB,EAAA;AAC5B,gBAAA,OAAO,CAAC,GAAG,GAAA,EAAK,EAAE,IAAA,EAAM,MAAM,CAAA,CAAA;AAAA,eAChC;AAEA,cAAO,OAAA,GAAA,CAAA;AAAA,aACT,EAAG,EAAE,CAAA;AAAA,WACP;AAAA,UACA,MAAM,IAAK,CAAA,MAAA,CAAO,IAAI,CAAC,KAAA,KAAU,MAAM,IAAI,CAAA;AAAA,SAC7C;AAAA,QACA,QAAU,EAAAC,YAAA,CAAM,IAAK,CAAA,QAAA,EAAU,eAAe,KAAS,CAAA,CAAA;AAAA,QACvD,SAAW,EAAA,IAAA;AAAA,QACX,GAAK,EAAA,KAAA;AAAA,OACN,CAAA,CAAA;AAED,MAAA,IAAI,UAAU,GAAK,EAAA;AACjB,QAAA,UAAA,CAAW,qBAAqB,CAAA,CAAA;AAChC,QAAmB,kBAAA,CAAA;AAAA,UACjB,IAAM,EAAA,SAAA;AAAA,UACN,SAAS,aAAc,CAAA,EAAE,IAAI,4BAA8B,EAAA,cAAA,EAAgB,SAAS,CAAA;AAAA,SACrF,CAAA,CAAA;AAAA,OACI,MAAA;AACL,QAAmB,kBAAA,CAAA;AAAA,UACjB,IAAM,EAAA,QAAA;AAAA,UACN,OAAA,EAAS,cAAe,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,SAClC,CAAA,CAAA;AAAA,OACH;AAAA,KACM,CAAA,MAAA;AACN,MAAmB,kBAAA,CAAA;AAAA,QACjB,IAAM,EAAA,QAAA;AAAA,QACN,SAAS,aAAc,CAAA,EAAE,IAAI,oBAAsB,EAAA,cAAA,EAAgB,qBAAqB,CAAA;AAAA,OACzF,CAAA,CAAA;AAAA,KACH;AAAA,GACF,CAAA;AAEA,EAAA,IAAI,SAAW,EAAA;AACb,IAAO,uBAAAC,cAAA,CAACC,WAAK,CAAA,OAAA,EAAL,EAAa,CAAA,CAAA;AAAA,GACvB;AAEA,EAAI,IAAA,eAAA,IAAmB,KAAS,IAAA,CAAC,MAAQ,EAAA;AACvC,IAAO,uBAAAD,cAAA,CAACC,WAAK,CAAA,KAAA,EAAL,EAAW,CAAA,CAAA;AAAA,GACrB;AAEA,EAAA,uBAEIC,eAAA,CAAAC,mBAAA,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAH,cAAA,CAACI,sBAAO,KAAO,EAAA,CAAA,UAAA,EAAa,IAAK,CAAA,QAAA,CAAS,WAAW,CAAuB,mBAAA,CAAA,EAAA,CAAA;AAAA,oBAC5EJ,cAAA;AAAA,MAACK,sBAAA;AAAA,MAAA;AAAA,QACC,QAAU,EAAA,YAAA;AAAA,QACV,YAAY,MAAO,CAAA,UAAA;AAAA,QACnB,UAAA;AAAA,QACA,MAAQ,EAAA,IAAA;AAAA,OAAA;AAAA,KACV;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,EAAA;AAEA,MAAM,iCAAiC,MAAM;AAC3C,EAAA,MAAM,WAAc,GAAAC,uBAAA;AAAA,IAClB,CAAC,KAAA,KAAU,KAAM,CAAA,SAAA,CAAU,YAAY,cAAgB,EAAA,6BAAA;AAAA,GACzD,CAAA;AAEA,EAAA,sCACGL,WAAK,CAAA,OAAA,EAAL,EAAa,WACZ,EAAA,QAAA,kBAAAD,cAAA,CAAC,yBAAsB,CACzB,EAAA,CAAA,CAAA;AAEJ;;;;;"}
|
|
@@ -9,9 +9,9 @@ import { useMatch, useNavigate } from 'react-router-dom';
|
|
|
9
9
|
import * as yup from 'yup';
|
|
10
10
|
import { _ as errorsTrads, h as useTypedSelector, P as Page, j as useNotification, i as useAPIErrorHandler, k as useRBAC, a0 as Form, H as isBaseQueryError } from './reducers-TOuLOGw_.mjs';
|
|
11
11
|
import { g as getDisplayName, I as InputRenderer } from './useDocumentLayout-5UQF9Yls.mjs';
|
|
12
|
-
import { b as useEnterprise, a4 as useUpdateUserMutation, d as useAdminUsers, B as BackButton } from './index
|
|
12
|
+
import { b as useEnterprise, a4 as useUpdateUserMutation, d as useAdminUsers, B as BackButton } from './index-Sd8uo7mE.mjs';
|
|
13
13
|
import { s as selectAdminPermissions } from './selectors-NvWWczps.mjs';
|
|
14
|
-
import { M as MagicLinkCE, S as SelectRoles } from './SelectRoles
|
|
14
|
+
import { M as MagicLinkCE, S as SelectRoles } from './SelectRoles--7dfmawm.mjs';
|
|
15
15
|
import { C as COMMON_USER_SCHEMA } from './validation-uxcqs4Uq.mjs';
|
|
16
16
|
|
|
17
17
|
const EDIT_VALIDATION_SCHEMA = yup.object().shape({
|
|
@@ -34,7 +34,7 @@ const EditPage = () => {
|
|
|
34
34
|
const { toggleNotification } = useNotification();
|
|
35
35
|
const MagicLink = useEnterprise(
|
|
36
36
|
MagicLinkCE,
|
|
37
|
-
async () => (await import('./MagicLinkEE-
|
|
37
|
+
async () => (await import('./MagicLinkEE-6fksiP2N.mjs')).MagicLinkEE
|
|
38
38
|
);
|
|
39
39
|
const {
|
|
40
40
|
_unstableFormatAPIError: formatAPIError,
|
|
@@ -322,4 +322,4 @@ const ProtectedEditPage = () => {
|
|
|
322
322
|
};
|
|
323
323
|
|
|
324
324
|
export { EditPage, ProtectedEditPage };
|
|
325
|
-
//# sourceMappingURL=EditPage-
|
|
325
|
+
//# sourceMappingURL=EditPage-5_mPjbp1.mjs.map
|