@strapi/admin 4.10.0-beta.0 → 4.10.0
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/.eslintignore +4 -0
- package/.eslintrc.js +14 -0
- package/admin/src/components/LanguageProvider/index.js +1 -1
- package/admin/src/components/LocalesProvider/__mocks__/useLocalesProvider.js +7 -0
- package/admin/src/components/LocalesProvider/index.js +2 -3
- package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +3 -6
- package/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js +2 -0
- package/admin/src/content-manager/components/DynamicTable/index.js +11 -29
- package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +12 -6
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findAllAndReplace.js +10 -3
- package/admin/src/content-manager/components/InputUID/endActionStyle.js +4 -13
- package/admin/src/content-manager/components/InputUID/index.js +95 -72
- package/admin/src/content-manager/components/RepeatableComponent/components/Component.js +8 -2
- package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +4 -8
- package/admin/src/content-manager/pages/App/LeftMenu/index.js +56 -35
- package/admin/src/content-manager/pages/App/actions.js +19 -7
- package/admin/src/content-manager/pages/App/constants.js +3 -3
- package/admin/src/content-manager/pages/App/index.js +5 -4
- package/admin/src/content-manager/pages/App/reducer.js +7 -6
- package/admin/src/content-manager/pages/App/selectors.js +3 -0
- package/admin/src/content-manager/pages/App/{useModels.js → useContentManagerInitData.js} +29 -28
- package/admin/src/content-manager/pages/App/utils/generateModelsLinks.js +2 -2
- package/admin/src/content-manager/pages/App/utils/getContentTypeLinks.js +17 -15
- package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +6 -5
- package/admin/src/content-manager/pages/EditSettingsView/index.js +4 -0
- package/admin/src/content-manager/pages/EditSettingsView/reducer.js +12 -7
- package/admin/src/content-manager/pages/EditSettingsView/utils/layout.js +1 -30
- package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +5 -11
- package/admin/src/content-manager/pages/EditView/index.js +2 -7
- package/admin/src/content-manager/pages/EditViewLayoutManager/reducer.js +4 -4
- package/admin/src/content-manager/pages/ListSettingsView/index.js +1 -0
- package/admin/src/hooks/useConfigurations/__mocks__/index.js +7 -0
- package/admin/src/hooks/useFetchMarketplacePlugins/utils/api.js +7 -8
- package/admin/src/hooks/useFetchMarketplaceProviders/utils/api.js +5 -0
- package/admin/src/hooks/useFetchPermissionsLayout/index.js +24 -15
- package/admin/src/hooks/useFetchRole/index.js +37 -30
- package/admin/src/hooks/useModels/index.js +22 -12
- package/admin/src/hooks/useRegenerate/index.js +12 -7
- package/admin/src/hooks/useSettingsForm/index.js +14 -6
- package/admin/src/pages/App/index.js +19 -24
- package/admin/src/pages/AuthPage/components/Register/index.js +46 -38
- package/admin/src/pages/HomePage/SocialLinks.js +1 -1
- package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/index.js +3 -3
- package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +42 -9
- package/admin/src/pages/MarketplacePage/components/NpmPackagesPagination/index.js +26 -0
- package/admin/src/pages/MarketplacePage/components/OfflineLayout/index.js +45 -0
- package/admin/src/pages/MarketplacePage/index.js +80 -175
- package/admin/src/pages/MarketplacePage/utils/useMarketplaceData.js +85 -0
- package/admin/src/pages/SettingsPage/components/Tokens/FormHead/index.js +4 -0
- package/admin/src/pages/SettingsPage/components/Tokens/Regenerate/index.js +5 -3
- package/admin/src/pages/SettingsPage/components/Tokens/TokenTypeSelect/index.js +7 -5
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/PendingLogoDialog.js +1 -3
- package/admin/src/pages/SettingsPage/pages/Roles/CreatePage/index.js +6 -12
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +6 -10
- package/admin/src/pages/SettingsPage/pages/Roles/ListPage/components/RoleRow/index.js +12 -4
- package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +21 -2
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js +41 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +53 -9
- package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/schema.js +1 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/index.js +27 -5
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +18 -33
- package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +41 -41
- package/admin/src/translations/en.json +52 -50
- package/admin/src/translations/fr.json +89 -1
- package/admin/src/translations/ru.json +51 -19
- package/build/1387.84b454d3.chunk.js +1 -0
- package/build/1657.45231968.chunk.js +168 -0
- package/build/3081.bcf9a12f.chunk.js +108 -0
- package/build/462.8fff7f3b.chunk.js +71 -0
- package/build/4628.20631dd1.chunk.js +1 -0
- package/build/5542.b8240e3f.chunk.js +70 -0
- package/build/5563.905daa13.chunk.js +79 -0
- package/build/6404.68405699.chunk.js +100 -0
- package/build/7259.b7d00cea.chunk.js +1 -0
- package/build/8694.6522968d.chunk.js +247 -0
- package/build/Admin-authenticatedApp.b036fe95.chunk.js +79 -0
- package/build/Admin_InternalErrorPage.15c6bf07.chunk.js +1 -0
- package/build/Admin_homePage.f9309c6d.chunk.js +73 -0
- package/build/Admin_marketplace.56bc1008.chunk.js +31 -0
- package/build/Admin_pluginsPage.f6b52ee9.chunk.js +6 -0
- package/build/Admin_profilePage.9112cffc.chunk.js +15 -0
- package/build/Admin_settingsPage.4604a16c.chunk.js +79 -0
- package/build/Upload_ConfigureTheView.eaaec495.chunk.js +1 -0
- package/build/admin-app.014adc27.chunk.js +110 -0
- package/build/admin-edit-roles-page.8a4063f7.chunk.js +280 -0
- package/build/admin-edit-users.7e14d85f.chunk.js +10 -0
- package/build/admin-roles-list.329c1f63.chunk.js +31 -0
- package/build/admin-users.d02de059.chunk.js +34 -0
- package/build/api-tokens-create-page.97595e12.chunk.js +1 -0
- package/build/api-tokens-edit-page.cd36e30e.chunk.js +1 -0
- package/build/api-tokens-list-page.6757c7b9.chunk.js +16 -0
- package/build/audit-logs-settings-page.19d90bda.chunk.js +76 -0
- package/build/content-manager.84f81966.chunk.js +1130 -0
- package/build/content-type-builder-list-view.9c2c020c.chunk.js +214 -0
- package/build/{content-type-builder-translation-de-json.0979cccb.chunk.js → content-type-builder-translation-de-json.393a76c0.chunk.js} +1 -1
- package/build/{content-type-builder-translation-dk-json.e05583e9.chunk.js → content-type-builder-translation-dk-json.fbd39bb7.chunk.js} +1 -1
- package/build/content-type-builder-translation-en-json.446b611d.chunk.js +1 -0
- package/build/{content-type-builder-translation-es-json.fe4daad8.chunk.js → content-type-builder-translation-es-json.9288474b.chunk.js} +1 -1
- package/build/{content-type-builder-translation-fr-json.b1eb52f6.chunk.js → content-type-builder-translation-fr-json.d35e269c.chunk.js} +1 -1
- package/build/{content-type-builder-translation-id-json.ee3b36bb.chunk.js → content-type-builder-translation-id-json.f0513929.chunk.js} +1 -1
- package/build/{content-type-builder-translation-it-json.13b3c26a.chunk.js → content-type-builder-translation-it-json.aaf16753.chunk.js} +1 -1
- package/build/{content-type-builder-translation-ko-json.8a274be5.chunk.js → content-type-builder-translation-ko-json.8fe21a7f.chunk.js} +1 -1
- package/build/{content-type-builder-translation-ms-json.2d29c1e0.chunk.js → content-type-builder-translation-ms-json.3b5d2d3e.chunk.js} +1 -1
- package/build/{content-type-builder-translation-nl-json.40bbc562.chunk.js → content-type-builder-translation-nl-json.225ef5d3.chunk.js} +1 -1
- package/build/{content-type-builder-translation-pl-json.24a34349.chunk.js → content-type-builder-translation-pl-json.92f36be2.chunk.js} +1 -1
- package/build/{content-type-builder-translation-pt-BR-json.97f71a9d.chunk.js → content-type-builder-translation-pt-BR-json.3bd10f89.chunk.js} +1 -1
- package/build/{content-type-builder-translation-ru-json.54d11230.chunk.js → content-type-builder-translation-ru-json.9bfe47ce.chunk.js} +1 -1
- package/build/{content-type-builder-translation-sk-json.626c9493.chunk.js → content-type-builder-translation-sk-json.d03cc18a.chunk.js} +1 -1
- package/build/{content-type-builder-translation-sv-json.59f5e1e5.chunk.js → content-type-builder-translation-sv-json.d23dcd32.chunk.js} +1 -1
- package/build/{content-type-builder-translation-th-json.6fe3ed55.chunk.js → content-type-builder-translation-th-json.7ad256e2.chunk.js} +1 -1
- package/build/{content-type-builder-translation-tr-json.cea4d226.chunk.js → content-type-builder-translation-tr-json.926f6191.chunk.js} +1 -1
- package/build/{content-type-builder-translation-uk-json.c4524247.chunk.js → content-type-builder-translation-uk-json.7bf19546.chunk.js} +1 -1
- package/build/{content-type-builder-translation-zh-json.faedd610.chunk.js → content-type-builder-translation-zh-json.ad24dbeb.chunk.js} +1 -1
- package/build/content-type-builder.68af11d2.chunk.js +126 -0
- package/build/email-settings-page.1095e1ab.chunk.js +10 -0
- package/build/en-json.c7fc79af.chunk.js +1 -0
- package/build/fr-json.5947cf63.chunk.js +1 -0
- package/build/{highlight.js.26ef649f.chunk.js → highlight.js.28a1547e.chunk.js} +2 -2
- package/build/i18n-settings-page.d95b32df.chunk.js +60 -0
- package/build/index.html +1 -1
- package/build/main.841e0dcb.js +2280 -0
- package/build/review-workflows-settings.f7890c40.chunk.js +106 -0
- package/build/ru-json.e0662702.chunk.js +1 -0
- package/build/{runtime~main.5a95bee6.js → runtime~main.965f8af8.js} +1 -1
- package/build/sso-settings-page.1dd4886e.chunk.js +1 -0
- package/build/transfer-tokens-create-page.ec2ca215.chunk.js +1 -0
- package/build/transfer-tokens-edit-page.22bf28e5.chunk.js +1 -0
- package/build/transfer-tokens-list-page.cf8c77f2.chunk.js +16 -0
- package/build/upload-settings.945fdcfa.chunk.js +13 -0
- package/build/{upload-translation-th-json.3847dae0.chunk.js → upload-translation-th-json.98d35574.chunk.js} +1 -1
- package/build/upload.a86b1054.chunk.js +33 -0
- package/build/users-advanced-settings-page.5b5a9baa.chunk.js +8 -0
- package/build/users-email-settings-page.e5506eb4.chunk.js +23 -0
- package/build/users-providers-settings-page.e32089c2.chunk.js +28 -0
- package/build/users-roles-settings-page.20656f92.chunk.js +30 -0
- package/build/webhook-edit-page.a3b62049.chunk.js +75 -0
- package/build/webhook-list-page.ca38eeef.chunk.js +71 -0
- package/{admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/ReviewWorkflowsStage.js → ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/ReviewWorkflowsStageEE.js} +2 -2
- package/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js +47 -0
- package/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/index.js +3 -0
- package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +64 -18
- package/ee/admin/hooks/useAuthProviders/index.js +28 -29
- package/ee/admin/hooks/useLicenseLimitNotification/index.js +1 -1
- package/ee/admin/pages/AuthResponse/index.js +7 -3
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useAuditLogsData.js +6 -3
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/index.js +15 -5
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js +52 -45
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +9 -5
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +2 -2
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +2 -2
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +2 -1
- package/ee/server/content-types/workflow/index.js +0 -3
- package/ee/server/content-types/workflow-stage/index.js +0 -5
- package/ee/server/controllers/authentication/middlewares.js +2 -1
- package/ee/server/controllers/workflows/stages/index.js +8 -1
- package/ee/server/register.js +3 -1
- package/ee/server/services/audit-logs.js +75 -16
- package/ee/server/services/index.js +1 -0
- package/ee/server/services/review-workflows/entity-service-decorator.js +17 -5
- package/ee/server/services/review-workflows/metrics.js +24 -0
- package/ee/server/services/review-workflows/review-workflows.js +44 -94
- package/ee/server/services/review-workflows/stages.js +136 -17
- package/ee/server/utils/persisted-tables.js +116 -22
- package/ee/server/utils/review-workflows.js +9 -0
- package/jest.config.front.js +1 -6
- package/package.json +25 -23
- package/server/controllers/transfer/runner.js +4 -2
- package/server/middlewares/data-transfer.js +4 -1
- package/server/routes/transfer.js +13 -4
- package/server/services/constants.js +4 -0
- package/server/services/transfer/permission.js +1 -1
- package/server/services/transfer/token.js +33 -31
- package/server/strategies/api-token.js +8 -1
- package/server/validation/transfer/token.js +10 -2
- package/webpack.config.js +6 -2
- package/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/index.js +0 -1
- package/admin/src/content-manager/pages/App/LeftMenu/utils/index.js +0 -1
- package/admin/src/content-manager/pages/App/LeftMenu/utils/matchByTitle.js +0 -24
- package/build/2263.4c5916f9.chunk.js +0 -98
- package/build/4049.64715f20.chunk.js +0 -1
- package/build/4649.213b8a3b.chunk.js +0 -30
- package/build/6985.66cca29c.chunk.js +0 -1
- package/build/7259.aefb51e8.chunk.js +0 -1
- package/build/8469.853c822b.chunk.js +0 -1
- package/build/9505.dbe702ab.chunk.js +0 -14
- package/build/9816.01ee964f.chunk.js +0 -2
- package/build/Admin-authenticatedApp.f50ad423.chunk.js +0 -79
- package/build/Admin_InternalErrorPage.4ad8b0df.chunk.js +0 -1
- package/build/Admin_homePage.1411fb7c.chunk.js +0 -68
- package/build/Admin_marketplace.02608d56.chunk.js +0 -22
- package/build/Admin_pluginsPage.15e3b0fd.chunk.js +0 -1
- package/build/Admin_profilePage.76afeca0.chunk.js +0 -15
- package/build/Admin_settingsPage.147755cd.chunk.js +0 -9
- package/build/Upload_ConfigureTheView.34dde278.chunk.js +0 -1
- package/build/admin-app.55dd7921.chunk.js +0 -112
- package/build/admin-edit-roles-page.cf543488.chunk.js +0 -216
- package/build/admin-edit-users.31c20712.chunk.js +0 -10
- package/build/admin-roles-list.489c501f.chunk.js +0 -2
- package/build/admin-users.3e111a7d.chunk.js +0 -11
- package/build/api-tokens-create-page.4328b852.chunk.js +0 -1
- package/build/api-tokens-edit-page.bce5050f.chunk.js +0 -1
- package/build/api-tokens-list-page.93f24348.chunk.js +0 -16
- package/build/audit-logs-settings-page.7be97e82.chunk.js +0 -1
- package/build/content-manager.4480ae88.chunk.js +0 -1137
- package/build/content-type-builder-list-view.cf38fe2f.chunk.js +0 -191
- package/build/content-type-builder-translation-en-json.7961593e.chunk.js +0 -1
- package/build/content-type-builder.af9abf1e.chunk.js +0 -126
- package/build/email-settings-page.4bdbef9a.chunk.js +0 -3
- package/build/en-json.697b4bcf.chunk.js +0 -1
- package/build/fr-json.f66c3211.chunk.js +0 -1
- package/build/i18n-settings-page.2bb5be96.chunk.js +0 -1
- package/build/main.af8c0f31.js +0 -3790
- package/build/review-workflows-settings.7a7dc773.chunk.js +0 -57
- package/build/ru-json.6a01cea6.chunk.js +0 -1
- package/build/sso-settings-page.272b87c8.chunk.js +0 -1
- package/build/transfer-tokens-create-page.a1f14bb1.chunk.js +0 -1
- package/build/transfer-tokens-edit-page.00ee1c74.chunk.js +0 -1
- package/build/transfer-tokens-list-page.ce37354b.chunk.js +0 -16
- package/build/upload-settings.0875e973.chunk.js +0 -1
- package/build/upload.c7da1611.chunk.js +0 -13
- package/build/users-advanced-settings-page.1d3c14c7.chunk.js +0 -1
- package/build/users-email-settings-page.e8db68c4.chunk.js +0 -1
- package/build/users-providers-settings-page.14cac425.chunk.js +0 -1
- package/build/users-roles-settings-page.2ea4de84.chunk.js +0 -30
- package/build/webhook-edit-page.329141a5.chunk.js +0 -23
- package/build/webhook-list-page.029957a4.chunk.js +0 -1
- package/ee/server/migrations/review-workflows.js +0 -39
- package/ee/server/utils/test.js +0 -11
- /package/admin/src/{content-manager/components/InputUID/useDebounce.js → hooks/useDebounce/index.js} +0 -0
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3650],{84837:function(it,J,t){t.r(J),t.d(J,{default:function(){return we}});var e=t(32735),R=t(5141),A=t(5636),Ee=t(99357),g=t(13478),n=t(39161),Z=t(83292),X=t(33348),y=t(57269),he=t(86588),ve=t(61405),ye=t(91575),Ce=t(35468),Me=t(65790),Fe=t(25005),Be=t(89581),Se=t(60216),f=t.n(Se);const V=({pagination:s})=>e.createElement(n.Box,{paddingTop:6},e.createElement(n.Flex,{alignItems:"flex-end",justifyContent:"space-between"},e.createElement(g.PageSizeURLQuery,null),e.createElement(g.PaginationURLQuery,{pagination:s})));V.defaultProps={pagination:{pageCount:0,pageSize:10,total:0}},V.propTypes={pagination:f().shape({page:f().number,pageCount:f().number,pageSize:f().number,total:f().number})};var p=t(68781),Le=t(20069),Ae=t(81094);const Y=({selected:s,onSuccess:l})=>{const{formatMessage:r}=(0,A.useIntl)(),[i,c]=(0,e.useState)(!1),{isLoading:u,remove:h}=(0,Ae.K)(),E=async()=>{await h(s),l()};return e.createElement(e.Fragment,null,e.createElement(n.Button,{variant:"danger-light",size:"S",startIcon:e.createElement(y.Trash,null),onClick:()=>c(!0)},r({id:"global.delete",defaultMessage:"Delete"})),e.createElement(g.ConfirmDialog,{isConfirmButtonLoading:u,isOpen:i,onToggleDialog:()=>c(!1),onConfirm:E}))};Y.propTypes={selected:f().arrayOf(p.pw,p.nx).isRequired,onSuccess:f().func.isRequired};var be=t(83281),Ie=t(86834),Te=t.n(Ie),q=t(84968),x=t(74951),d=t(15503);const Re=()=>{const s=(0,g.useNotification)(),l=(0,q.useQueryClient)(),r=(0,d.IF)("actions/bulk-move"),{post:i}=(0,g.useFetchClient)(),c=({destinationFolderId:E,filesAndFolders:m})=>{const C=m.reduce((v,o)=>{const{id:b,type:B}=o,T=B==="asset"?"fileIds":"folderIds";return v[T]||(v[T]=[]),v[T].push(b),v},{});return i(r,{...C,destinationFolderId:E})},u=(0,q.useMutation)(c,{onSuccess(E){const{data:{data:m}}=E;m?.files?.length>0&&(l.refetchQueries([x.Z,"assets"],{active:!0}),l.refetchQueries([x.Z,"asset-count"],{active:!0})),l.refetchQueries([x.Z,"folders"],{active:!0}),s({type:"success",message:{id:(0,d.OB)("modal.move.success-label"),defaultMessage:"Elements have been moved successfully."}})}});return{...u,move:(E,m)=>u.mutateAsync({destinationFolderId:E,filesAndFolders:m})}};var xe=t(21375),De=t(72236);const $=({onClose:s,selected:l,currentFolder:r})=>{const{formatMessage:i}=(0,A.useIntl)(),{data:c,isLoading:u}=(0,De.v)(),{move:h}=Re();if(!c)return null;const E=async(v,{setErrors:o})=>{try{await h(v.destination.value,l),s()}catch(b){const T=(0,g.normalizeAPIError)(b).errors.reduce((O,S)=>(O[S.values?.path?.length||"destination"]=S.defaultMessage,O),{});Te()(T)||o(T)}},m=()=>{s()};if(u)return e.createElement(n.ModalLayout,{onClose:m,labelledBy:"title"},e.createElement(n.ModalBody,null,e.createElement(n.Flex,{justifyContent:"center",paddingTop:4,paddingBottom:4},e.createElement(n.Loader,null,i({id:(0,d.OB)("content.isLoading"),defaultMessage:"Content is loading."})))));const C={destination:{value:r?.id||"",label:r?.name||c[0].label}};return e.createElement(n.ModalLayout,{onClose:m,labelledBy:"title"},e.createElement(be.Formik,{validateOnChange:!1,onSubmit:E,initialValues:C},({values:v,errors:o,setFieldValue:b})=>e.createElement(g.Form,{noValidate:!0},e.createElement(n.ModalHeader,null,e.createElement(n.Typography,{fontWeight:"bold",textColor:"neutral800",as:"h2",id:"title"},i({id:(0,d.OB)("modal.folder.move.title"),defaultMessage:"Move elements to"}))),e.createElement(n.ModalBody,null,e.createElement(n.Grid,{gap:4},e.createElement(n.GridItem,{xs:12,col:12},e.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:1},e.createElement(n.FieldLabel,{htmlFor:"folder-destination"},i({id:(0,d.OB)("form.input.label.folder-location"),defaultMessage:"Location"})),e.createElement(xe.Z,{options:c,onChange:B=>{b("destination",B)},defaultValue:v.destination,name:"destination",menuPortalTarget:document.querySelector("body"),inputId:"folder-destination",error:o?.destination,ariaErrorMessage:"destination-error"}),o.destination&&e.createElement(n.Typography,{variant:"pi",as:"p",id:"folder-destination-error",textColor:"danger600"},o.destination))))),e.createElement(n.ModalFooter,{startActions:e.createElement(n.Button,{onClick:m,variant:"tertiary",name:"cancel"},i({id:"cancel",defaultMessage:"Cancel"})),endActions:e.createElement(n.Button,{type:"submit",loading:u},i({id:"modal.folder.move.submit",defaultMessage:"Move"}))}))))};$.defaultProps={currentFolder:void 0},$.propTypes={onClose:f().func.isRequired,currentFolder:p.nx,selected:f().arrayOf(p.nx,p.pw).isRequired};const z=({selected:s,onSuccess:l,currentFolder:r})=>{const{formatMessage:i}=(0,A.useIntl)(),[c,u]=(0,e.useState)(!1),h=()=>{u(!1),l()};return e.createElement(e.Fragment,null,e.createElement(n.Button,{variant:"secondary",size:"S",startIcon:e.createElement(y.Folder,null),onClick:()=>u(!0)},i({id:"global.move",defaultMessage:"Move"})),c&&e.createElement($,{currentFolder:r,onClose:h,selected:s}))};z.defaultProps={currentFolder:void 0},z.propTypes={onSuccess:f().func.isRequired,currentFolder:p.nx,selected:f().arrayOf(p.pw,p.nx).isRequired};const G=({selected:s,onSuccess:l,currentFolder:r})=>{const{formatMessage:i}=(0,A.useIntl)();return e.createElement(n.Flex,{gap:2,paddingBottom:5},e.createElement(n.Typography,{variant:"epsilon",textColor:"neutral600"},i({id:(0,Le.Z)("list.assets.selected"),defaultMessage:"{numberFolders, plural, one {1 folder} other {# folders}} - {numberAssets, plural, one {1 asset} other {# assets}} selected"},{numberFolders:s.filter(({type:c})=>c==="folder").length,numberAssets:s.filter(({type:c})=>c==="asset").length})),e.createElement(Y,{selected:s,onSuccess:l}),e.createElement(z,{currentFolder:r,selected:s,onSuccess:l}))};G.defaultProps={currentFolder:void 0},G.propTypes={onSuccess:f().func.isRequired,currentFolder:p.nx,selected:f().arrayOf(p.pw,p.nx).isRequired};var Oe=t(1920);const Pe=({isFiltering:s,canCreate:l,canRead:r})=>s?{id:"list.assets-empty.title-withSearch",defaultMessage:"There are no elements with the applied filters"}:r?l?{id:"list.assets.empty-upload",defaultMessage:"Upload your first assets..."}:{id:"list.assets.empty",defaultMessage:"Media Library is empty"}:{id:"header.actions.no-permissions",defaultMessage:"No permissions to view"},_=({canCreate:s,isFiltering:l,canRead:r,onActionClick:i})=>{const{formatMessage:c}=(0,A.useIntl)(),u=Pe({isFiltering:l,canCreate:s,canRead:r});return e.createElement(Oe.i,{icon:r?null:y.EmptyPermissions,action:s&&!l&&e.createElement(n.Button,{variant:"secondary",startIcon:e.createElement(y.Plus,null),onClick:i},c({id:(0,d.OB)("header.actions.add-assets"),defaultMessage:"Add new assets"})),content:c({...u,id:(0,d.OB)(u.id)})})};_.propTypes={canCreate:f().bool.isRequired,canRead:f().bool.isRequired,isFiltering:f().bool.isRequired,onActionClick:f().func.isRequired};var D=t(47359),Ue=t(79996),Qe=t(90768),ee=t(90142);const ke=()=>{const s=(0,e.useRef)(null),[l,r]=(0,e.useState)(!1),{formatMessage:i}=(0,A.useIntl)(),{trackUsage:c}=(0,g.useTracking)(),[{query:u},h]=(0,g.useQueryParams)(),E=u?.filters?.$and||[],m=()=>r(o=>!o),C=o=>{h({filters:{$and:o},page:1})},v=o=>{c("didFilterMediaLibraryElements",{location:"content-manager",filter:Object.keys(o[o.length-1])[0]}),h({filters:{$and:o},page:1})};return e.createElement(e.Fragment,null,e.createElement(n.Button,{variant:"tertiary",ref:s,startIcon:e.createElement(y.Filter,null),onClick:m,size:"S"},i({id:"app.utils.filters",defaultMessage:"Filters"})),l&&e.createElement(Qe.Z,{displayedFilters:ee.Z,filters:E,onSubmit:v,onToggle:m,source:s}),e.createElement(Ue.Z,{appliedFilters:E,filtersSchema:ee.Z,onRemoveFilter:C}))};var Ze=t(17837);const W=({breadcrumbs:s,canCreate:l,folder:r,onToggleEditFolderDialog:i,onToggleUploadAssetDialog:c})=>{const{formatMessage:u}=(0,A.useIntl)(),{pathname:h}=(0,R.useLocation)(),[{query:E}]=(0,g.useQueryParams)(),m={...E,folder:r?.parent?.id??void 0};return e.createElement(n.HeaderLayout,{title:u({id:(0,d.OB)("plugin.name"),defaultMessage:"Media Library"}),subtitle:s&&r&&e.createElement(Ze.O,{as:"nav",label:u({id:(0,d.OB)("header.breadcrumbs.nav.label"),defaultMessage:"Folders navigation"}),breadcrumbs:s,currentFolderId:r?.id}),navigationAction:r&&e.createElement(n.Link,{startIcon:e.createElement(y.ArrowLeft,null),to:`${h}?${(0,X.stringify)(m,{encode:!1})}`},u({id:(0,d.OB)("header.actions.folder-level-up"),defaultMessage:"Back"})),primaryAction:l&&e.createElement(n.Flex,{gap:2},e.createElement(n.Button,{startIcon:e.createElement(y.Plus,null),variant:"secondary",onClick:i},u({id:(0,d.OB)("header.actions.add-folder"),defaultMessage:"Add new folder"})),e.createElement(n.Button,{startIcon:e.createElement(y.Plus,null),onClick:c},u({id:(0,d.OB)("header.actions.add-assets"),defaultMessage:"Add new assets"})))})};W.defaultProps={breadcrumbs:!1,folder:null},W.propTypes={breadcrumbs:f().oneOfType([p.Fv,f().bool]),canCreate:f().bool.isRequired,folder:p.nx,onToggleEditFolderDialog:f().func.isRequired,onToggleUploadAssetDialog:f().func.isRequired};var Ve=t(37293),$e=t(77935),ze=t(46891),Ge=t(36156),We=t(93826);const He=(0,Z.default)(n.Box)`
|
|
2
|
-
height: ${32/16}rem;
|
|
3
|
-
display: flex;
|
|
4
|
-
align-items: center;
|
|
5
|
-
`,te=(0,Z.default)(n.Typography)`
|
|
6
|
-
max-width: 100%;
|
|
7
|
-
`,ne=(0,Z.default)(n.Box)`
|
|
8
|
-
svg {
|
|
9
|
-
path {
|
|
10
|
-
fill: ${({theme:s})=>s.colors.neutral500};
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
`,Ne=()=>{const{push:s}=(0,R.useHistory)(),{canRead:l,canCreate:r,canUpdate:i,canCopyLink:c,canDownload:u,isLoading:h}=(0,ze.y)(),E=(0,e.useRef)(),{formatMessage:m}=(0,A.useIntl)(),{pathname:C}=(0,R.useLocation)(),{trackUsage:v}=(0,g.useTracking)(),[{query:o},b]=(0,g.useQueryParams)(),B=Boolean(o._q||o.filters),[T,O]=(0,g.usePersistentState)(p.uf.view,p.Uk.GRID),S=T===p.Uk.GRID,{data:L,isLoading:Je,errors:Xe}=(0,Ve.L)({skipWhen:!l,query:o}),{data:Ye,isLoading:qe,errors:_e}=(0,$e.j)({enabled:l&&L?.pagination?.page===1&&!(0,d.rV)(o),query:o}),{data:H,isLoading:ae,error:et}=(0,Ge.W)(o?.folder,{enabled:l&&!!o?.folder});et?.response?.status===404&&s(C);const P=Ye?.map(a=>({...a,type:"folder",folderURL:(0,d.Km)(C,o,a.id),isSelectable:i}))??[],M=P?.length||0,U=L?.results?.map(a=>({...a,type:"asset",isSelectable:i}))||[],F=U?.length??0,tt=L?.pagination?.total,se=ae||qe||h||Je,[nt,at]=(0,e.useState)(!1),[st,oe]=(0,e.useState)(!1),[le,N]=(0,e.useState)(void 0),[j,re]=(0,e.useState)(void 0),[I,{selectOne:Q,selectAll:ie}]=(0,g.useSelectionState)(["type","id"],[]),de=I?.length>0&&I?.length!==F+M,K=()=>at(a=>!a),ce=({created:a=!1}={})=>{a&&o?.page!=="1"&&b({...o,page:1}),oe(k=>!k)},ue=(a,k)=>{a.target.checked&&v("didSelectAllMediaLibraryElements"),ie(k)},me=a=>{v("didSortMediaLibraryElements",{location:"upload",sort:a}),b({sort:a})},ge=a=>{re(a),oe(!0)},ot=a=>{re(null),ce(a),E.current&&E.current.focus()},fe=a=>{a===F&&L.pagination.page===L.pagination.pageCount&&L.pagination.page>1&&b({...o,page:L.pagination.page-1})},lt=()=>{ie(),fe(I.length)};return(0,g.useFocusWhenNavigate)(),e.createElement(n.Layout,null,e.createElement(n.Main,{"aria-busy":se},e.createElement(W,{breadcrumbs:!ae&&(0,d.M4)(H,{pathname:C,query:o}),canCreate:r,onToggleEditFolderDialog:ce,onToggleUploadAssetDialog:K,folder:H}),e.createElement(n.ActionLayout,{startActions:e.createElement(e.Fragment,null,i&&S&&(F>0||M>0)&&e.createElement(He,{paddingLeft:2,paddingRight:2,background:"neutral0",hasRadius:!0,borderColor:"neutral200"},e.createElement(n.BaseCheckbox,{"aria-label":m({id:(0,d.OB)("bulk.select.label"),defaultMessage:"Select all folders & assets"}),indeterminate:de,value:(F>0||M>0)&&I.length===F+M,onChange:a=>ue(a,[...U,...P])})),l&&S&&e.createElement(Be.Z,{onChangeSort:me}),l&&e.createElement(ke,null)),endActions:e.createElement(e.Fragment,null,e.createElement(g.CheckPermissions,{permissions:We.Z.configureView},e.createElement(ne,{paddingTop:1,paddingBottom:1},e.createElement(n.IconButton,{forwardedAs:R.Link,to:{pathname:`${C}/configuration`,search:(0,X.stringify)(o,{encode:!1})},icon:e.createElement(y.Cog,null),label:m({id:"app.links.configure-view",defaultMessage:"Configure the view"})}))),e.createElement(ne,{paddingTop:1,paddingBottom:1},e.createElement(n.IconButton,{icon:S?e.createElement(y.List,null):e.createElement(y.Grid,null),label:m(S?{id:(0,d.OB)("view-switch.list"),defaultMessage:"List View"}:{id:(0,d.OB)("view-switch.grid"),defaultMessage:"Grid View"}),onClick:()=>O(S?p.Uk.LIST:p.Uk.GRID)})),e.createElement(g.SearchURLQuery,{label:m({id:(0,d.OB)("search.label"),defaultMessage:"Search for an asset"}),trackedEvent:"didSearchMediaLibraryElements",trackedEventDetails:{location:"upload"}}))}),e.createElement(n.ContentLayout,null,I.length>0&&e.createElement(G,{currentFolder:H,selected:I,onSuccess:lt}),se&&e.createElement(g.LoadingIndicatorPage,null),(Xe||_e)&&e.createElement(g.AnErrorOccurred,null),M===0&&F===0&&e.createElement(_,{canCreate:r,canRead:l,isFiltering:B,onActionClick:K}),l&&!S&&(F>0||M>0)&&e.createElement(Fe.b,{assetCount:F,folderCount:M,indeterminate:de,onChangeSort:me,onChangeFolder:a=>s((0,d.Km)(C,o,a)),onEditAsset:N,onEditFolder:ge,onSelectOne:Q,onSelectAll:ue,rows:[...P,...U],selected:I,shouldDisableBulkSelect:!i,sortQuery:o?.sort??""}),l&&S&&e.createElement(e.Fragment,null,M>0&&e.createElement(Me.a,{title:(B&&F>0||!B)&&m({id:(0,d.OB)("list.folders.title"),defaultMessage:"Folders ({count})"},{count:M})||""},P.map(a=>{const rt=!!I.filter(({type:w})=>w==="folder").find(w=>w.id===a.id),pe=(0,d.Km)(C,o,a?.id);return e.createElement(n.GridItem,{col:3,key:`folder-${a.id}`},e.createElement(D.Ac,{ref:j&&a.id===j.id?E:void 0,ariaLabel:a.name,id:`folder-${a.id}`,to:pe,startAction:Q&&a.isSelectable?e.createElement(D.MM,{"data-testid":`folder-checkbox-${a.id}`,value:rt,onChange:()=>Q(a)}):null,cardActions:e.createElement(n.IconButton,{icon:e.createElement(y.Pencil,null),"aria-label":m({id:(0,d.OB)("list.folder.edit"),defaultMessage:"Edit folder"}),onClick:()=>ge(a)})},e.createElement(D.Bu,null,e.createElement(D.u6,{to:pe},e.createElement(n.Flex,{as:"h2",direction:"column",alignItems:"start",maxWidth:"100%"},e.createElement(te,{fontWeight:"semiBold",ellipsis:!0},a.name,e.createElement(n.VisuallyHidden,null,":")),e.createElement(te,{as:"span",textColor:"neutral600",variant:"pi",ellipsis:!0},m({id:(0,d.OB)("list.folder.subtitle"),defaultMessage:"{folderCount, plural, =0 {# folder} one {# folder} other {# folders}}, {filesCount, plural, =0 {# asset} one {# asset} other {# assets}}"},{folderCount:a.children.count,filesCount:a.files.count})))))))})),F>0&&M>0&&e.createElement(n.Box,{paddingTop:6,paddingBottom:4},e.createElement(n.Divider,null)),F>0&&e.createElement(Ce.r,{assets:U,onEditAsset:N,onSelectAsset:Q,selectedAssets:I.filter(({type:a})=>a==="asset"),title:(!B||B&&M>0)&&L?.pagination?.page===1&&m({id:(0,d.OB)("list.assets.title"),defaultMessage:"Assets ({count})"},{count:tt})||""})),L?.pagination&&e.createElement(V,{pagination:L.pagination}))),nt&&e.createElement(he.x,{onClose:K,trackedLocation:"upload",folderId:o?.folder}),st&&e.createElement(ve.f,{onClose:ot,folder:j,parentFolderId:o?.folder,location:"upload"}),le&&e.createElement(ye.s,{onClose:a=>{a===null&&fe(1),N(void 0)},asset:le,canUpdate:i,canCopyLink:c,canDownload:u,trackedLocation:"upload"}))};var je=t(68715);const Ke=(0,e.lazy)(()=>t.e(9514).then(t.bind(t,1372)));var we=()=>{const{config:{isLoading:s,isError:l,data:r}}=(0,je.Z)(),[{rawQuery:i},c]=(0,g.useQueryParams)(),{formatMessage:u}=(0,A.useIntl)(),h=u({id:(0,d.OB)("plugin.name"),defaultMessage:"Media Library"});return(0,e.useEffect)(()=>{s||l||i||c({sort:r.sort,page:1,pageSize:r.pageSize})},[s,l,r,i,c]),(0,g.useFocusWhenNavigate)(),e.createElement(n.Main,{"aria-busy":s},e.createElement(Ee.Helmet,{title:h}),s&&e.createElement(g.LoadingIndicatorPage,null),i?e.createElement(e.Suspense,{fallback:e.createElement(g.LoadingIndicatorPage,null)},e.createElement(R.Switch,null,e.createElement(R.Route,{exact:!0,path:`/plugins/${x.Z}`,component:Ne}),e.createElement(R.Route,{exact:!0,path:`/plugins/${x.Z}/configuration`,render:()=>e.createElement(Ke,{config:r})}))):null)}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[9460],{84764:function(L,f,a){a.r(f),a.d(f,{default:function(){return P}});var t=a(32735),c=a(84968),b=a(5636),y=a(83281),i=a(13478),n=a(39161),S=a(57269),p=a(88369),e=a(59677),h=[{intlLabel:{id:(0,e.OB)("EditForm.inputToggle.label.email"),defaultMessage:"One account per email address"},description:{id:(0,e.OB)("EditForm.inputToggle.description.email"),defaultMessage:"Disallow the user to create multiple accounts using the same email address with different authentication providers."},name:"unique_email",type:"bool",size:{col:12,xs:12}},{intlLabel:{id:(0,e.OB)("EditForm.inputToggle.label.sign-up"),defaultMessage:"Enable sign-ups"},description:{id:(0,e.OB)("EditForm.inputToggle.description.sign-up"),defaultMessage:"When disabled (OFF), the registration process is forbidden. No one can subscribe anymore no matter the used provider."},name:"allow_register",type:"bool",size:{col:12,xs:12}},{intlLabel:{id:(0,e.OB)("EditForm.inputToggle.label.email-reset-password"),defaultMessage:"Reset password page"},description:{id:(0,e.OB)("EditForm.inputToggle.description.email-reset-password"),defaultMessage:"URL of your application's reset password page."},placeholder:{id:(0,e.OB)("EditForm.inputToggle.placeholder.email-reset-password"),defaultMessage:"ex: https://youtfrontend.com/reset-password"},name:"email_reset_password",type:"text",size:{col:6,xs:12}},{intlLabel:{id:(0,e.OB)("EditForm.inputToggle.label.email-confirmation"),defaultMessage:"Enable email confirmation"},description:{id:(0,e.OB)("EditForm.inputToggle.description.email-confirmation"),defaultMessage:"When enabled (ON), new registered users receive a confirmation email."},name:"email_confirmation",type:"bool",size:{col:12,xs:12}},{intlLabel:{id:(0,e.OB)("EditForm.inputToggle.label.email-confirmation-redirection"),defaultMessage:"Redirection url"},description:{id:(0,e.OB)("EditForm.inputToggle.description.email-confirmation-redirection"),defaultMessage:"After you confirmed your email, choose where you will be redirected."},placeholder:{id:(0,e.OB)("EditForm.inputToggle.placeholder.email-confirmation-redirection"),defaultMessage:"ex: https://youtfrontend.com/email-confirmation"},name:"email_confirmation_redirection",type:"text",size:{col:6,xs:12}}],r=a(5173);const u=new RegExp("(^$)|((.+:\\/\\/.*)(d*)\\/?(.*))");var m=r.Ry().shape({email_confirmation_redirection:r.nK().when("email_confirmation",{is:!0,then:r.Z_().matches(u).required(),otherwise:r.Z_().nullable()}),email_reset_password:r.Z_(i.translatedErrors.string).matches(u,i.translatedErrors.regex).nullable()});const T=async()=>{const{get:s}=(0,i.getFetchClient)(),{data:l}=await s((0,e.Gc)("advanced"));return l},R=s=>{const{put:l}=(0,i.getFetchClient)();return l((0,e.Gc)("advanced"),s)},w=()=>t.createElement(i.CheckPagePermissions,{permissions:p.Z.readAdvancedSettings},t.createElement(C,null)),C=()=>{const{formatMessage:s}=(0,b.useIntl)(),l=(0,i.useNotification)(),{lockApp:x,unlockApp:M}=(0,i.useOverlayBlocker)(),{notifyStatus:N}=(0,n.useNotifyAT)(),I=(0,c.useQueryClient)();(0,i.useFocusWhenNavigate)();const z=(0,t.useMemo)(()=>({update:p.Z.updateAdvancedSettings}),[]),{isLoading:G,allowedActions:{canUpdate:Z}}=(0,i.useRBAC)(z),{status:H,data:B}=(0,c.useQuery)("advanced",()=>T(),{onSuccess(){N(s({id:(0,e.OB)("Form.advancedSettings.data.loaded"),defaultMessage:"Advanced settings data has been loaded"}))},onError(){l({type:"warning",message:{id:(0,e.OB)("notification.error"),defaultMessage:"An error occured"}})}}),U=G||H!=="success",F=(0,c.useMutation)(d=>R(d),{async onSuccess(){await I.invalidateQueries("advanced"),l({type:"success",message:{id:(0,e.OB)("notification.success.saved"),defaultMessage:"Saved"}}),M()},onError(){l({type:"warning",message:{id:(0,e.OB)("notification.error"),defaultMessage:"An error occured"}}),M()},refetchActive:!0}),{isLoading:k}=F,D=async d=>{x();const g=d.email_confirmation?d.email_confirmation_redirection:"";await F.mutateAsync({...d,email_confirmation_redirection:g})};return U?t.createElement(n.Main,{"aria-busy":"true"},t.createElement(i.SettingsPageTitle,{name:s({id:(0,e.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),t.createElement(n.HeaderLayout,{title:s({id:(0,e.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),t.createElement(n.ContentLayout,null,t.createElement(i.LoadingIndicatorPage,null))):t.createElement(n.Main,{"aria-busy":k},t.createElement(i.SettingsPageTitle,{name:s({id:(0,e.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),t.createElement(y.Formik,{onSubmit:D,initialValues:B.settings,validateOnChange:!1,validationSchema:m,enableReinitialize:!0},({errors:d,values:g,handleChange:A,isSubmitting:Q})=>t.createElement(i.Form,null,t.createElement(n.HeaderLayout,{title:s({id:(0,e.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"}),primaryAction:t.createElement(n.Button,{loading:Q,type:"submit",disabled:!Z,startIcon:t.createElement(S.Check,null),size:"S"},s({id:"global.save",defaultMessage:"Save"}))}),t.createElement(n.ContentLayout,null,t.createElement(n.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:4},t.createElement(n.Typography,{variant:"delta",as:"h2"},s({id:"global.settings",defaultMessage:"Settings"})),t.createElement(n.Grid,{gap:6},t.createElement(n.GridItem,{col:6,s:12},t.createElement(n.Select,{label:s({id:(0,e.OB)("EditForm.inputSelect.label.role"),defaultMessage:"Default role for authenticated users"}),value:g.default_role,hint:s({id:(0,e.OB)("EditForm.inputSelect.description.role"),defaultMessage:"It will attach the new authenticated user to the selected role."}),onChange:o=>A({target:{name:"default_role",value:o}})},B.roles.map(o=>t.createElement(n.Option,{key:o.type,value:o.type},o.name)))),h.map(o=>{let O=g[o.name];return O||(O=o.type==="bool"?!1:""),t.createElement(n.GridItem,{key:o.name,...o.size},t.createElement(i.GenericInput,{...o,value:O,error:d[o.name],disabled:o.name==="email_confirmation_redirection"&&g.email_confirmation===!1,onChange:A}))}))))))))};var P=w},59677:function(L,f,a){a.d(f,{YX:function(){return y},Gc:function(){return S},OB:function(){return p.Z}});var t=a(86834),c=a.n(t),y=e=>Object.keys(e).reduce((v,h)=>{const r=e[h].controllers,u=Object.keys(r).reduce((E,m)=>(c()(r[m])||(E[m]=r[m]),E),{});return c()(u)||(v[h]={controllers:u}),v},{}),i=a(90201),S=e=>`/${i.Z}/${e}`,p=a(82069)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8418],{218:function(U,v,n){n.r(v),n.d(v,{default:function(){return H}});var e=n(32735),f=n(84968),B=n(5636),a=n(13478),t=n(39161),O=n(88369),l=n(59677);const C=async()=>{const{get:s}=(0,a.getFetchClient)(),{data:o}=await s((0,l.Gc)("email-templates"));return o},y=s=>{const{put:o}=(0,a.getFetchClient)();return o((0,l.Gc)("email-templates"),s)};var T=n(60216),i=n.n(T),c=n(57269);const M=({canUpdate:s,onEditClick:o})=>{const{formatMessage:r}=(0,B.useIntl)();return e.createElement(t.Table,{colCount:3,rowCount:3},e.createElement(t.Thead,null,e.createElement(t.Tr,null,e.createElement(t.Th,{width:"1%"},e.createElement(t.VisuallyHidden,null,r({id:(0,l.OB)("Email.template.table.icon.label"),defaultMessage:"icon"}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},r({id:(0,l.OB)("Email.template.table.name.label"),defaultMessage:"name"}))),e.createElement(t.Th,{width:"1%"},e.createElement(t.VisuallyHidden,null,r({id:(0,l.OB)("Email.template.table.action.label"),defaultMessage:"action"}))))),e.createElement(t.Tbody,null,e.createElement(t.Tr,{...(0,a.onRowClick)({fn:()=>o("reset_password")})},e.createElement(t.Td,null,e.createElement(t.Icon,null,e.createElement(c.Refresh,{"aria-label":r({id:"global.reset-password",defaultMessage:"Reset password"})}))),e.createElement(t.Td,null,e.createElement(t.Typography,null,r({id:"global.reset-password",defaultMessage:"Reset password"}))),e.createElement(t.Td,{...a.stopPropagation},e.createElement(t.IconButton,{onClick:()=>o("reset_password"),label:r({id:(0,l.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:s&&e.createElement(c.Pencil,null)}))),e.createElement(t.Tr,{...(0,a.onRowClick)({fn:()=>o("email_confirmation")})},e.createElement(t.Td,null,e.createElement(t.Icon,null,e.createElement(c.Check,{"aria-label":r({id:(0,l.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"})}))),e.createElement(t.Td,null,e.createElement(t.Typography,null,r({id:(0,l.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"}))),e.createElement(t.Td,{...a.stopPropagation},e.createElement(t.IconButton,{onClick:()=>o("email_confirmation"),label:r({id:(0,l.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:s&&e.createElement(c.Pencil,null)})))))};M.propTypes={canUpdate:i().bool.isRequired,onEditClick:i().func.isRequired};var b=M,h=n(83281),u=n(5173),G=u.Ry().shape({options:u.Ry().shape({from:u.Ry().shape({name:u.Z_().required(a.translatedErrors.required),email:u.Z_().email(a.translatedErrors.email).required(a.translatedErrors.required)}).required(),response_email:u.Z_().email(a.translatedErrors.email),object:u.Z_().required(a.translatedErrors.required),message:u.Z_().required(a.translatedErrors.required)}).required(a.translatedErrors.required)});const F=({template:s,onToggle:o,onSubmit:r})=>{const{formatMessage:m}=(0,B.useIntl)();return e.createElement(t.ModalLayout,{onClose:o,labelledBy:`${m({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${m({id:(0,l.OB)(s.display),defaultMessage:s.display})}`},e.createElement(t.ModalHeader,null,e.createElement(t.Breadcrumbs,{label:`${m({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${m({id:(0,l.OB)(s.display),defaultMessage:s.display})}`},e.createElement(t.Crumb,null,m({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})),e.createElement(t.Crumb,null,m({id:(0,l.OB)(s.display),defaultMessage:s.display})))),e.createElement(h.Formik,{onSubmit:r,initialValues:s,validateOnChange:!1,validationSchema:G,enableReinitialize:!0},({errors:d,values:p,handleChange:E,isSubmitting:P})=>e.createElement(a.Form,null,e.createElement(t.ModalBody,null,e.createElement(t.Grid,{gap:5},e.createElement(t.GridItem,{col:6,s:12},e.createElement(a.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.from.name.label"),defaultMessage:"Shipper name"},name:"options.from.name",onChange:E,value:p.options.from.name,error:d?.options?.from?.name,type:"text"})),e.createElement(t.GridItem,{col:6,s:12},e.createElement(a.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.from.email.label"),defaultMessage:"Shipper email"},name:"options.from.email",onChange:E,value:p.options.from.email,error:d?.options?.from?.email,type:"text"})),e.createElement(t.GridItem,{col:6,s:12},e.createElement(a.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.response_email.label"),defaultMessage:"Response email"},name:"options.response_email",onChange:E,value:p.options.response_email,error:d?.options?.response_email,type:"text"})),e.createElement(t.GridItem,{col:6,s:12},e.createElement(a.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.object.label"),defaultMessage:"Subject"},name:"options.object",onChange:E,value:p.options.object,error:d?.options?.object,type:"text"})),e.createElement(t.GridItem,{col:12,s:12},e.createElement(t.Textarea,{label:m({id:(0,l.OB)("PopUpForm.Email.options.message.label"),defaultMessage:"Message"}),name:"options.message",onChange:E,value:p.options.message,error:d?.options?.message&&m({id:d.options.message,defaultMessage:d.options.message})})))),e.createElement(t.ModalFooter,{startActions:e.createElement(t.Button,{onClick:o,variant:"tertiary"},"Cancel"),endActions:e.createElement(t.Button,{loading:P,type:"submit"},"Finish")}))))};F.propTypes={template:i().shape({display:i().string,icon:i().string,options:i().shape({from:i().shape({name:i().string,email:i().string}),message:i().string,object:i().string,response_email:i().string})}).isRequired,onSubmit:i().func.isRequired,onToggle:i().func.isRequired};var A=F;const j=()=>e.createElement(a.CheckPagePermissions,{permissions:O.Z.readEmailTemplates},e.createElement(k,null)),k=()=>{const{formatMessage:s}=(0,B.useIntl)(),{trackUsage:o}=(0,a.useTracking)(),{notifyStatus:r}=(0,t.useNotifyAT)(),m=(0,a.useNotification)(),{lockApp:d,unlockApp:p}=(0,a.useOverlayBlocker)(),E=(0,e.useRef)(o),P=(0,f.useQueryClient)();(0,a.useFocusWhenNavigate)();const[Z,N]=(0,e.useState)(!1),[I,$]=(0,e.useState)(null),x=(0,e.useMemo)(()=>({update:O.Z.updateEmailTemplates}),[]),{isLoading:q,allowedActions:{canUpdate:w}}=(0,a.useRBAC)(x),{status:Q,data:L}=(0,f.useQuery)("email-templates",()=>C(),{onSuccess(){r(s({id:(0,l.OB)("Email.template.data.loaded"),defaultMessage:"Email templates has been loaded"}))},onError(){m({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),V=q||Q!=="success",R=()=>{N(g=>!g)},D=g=>{$(g),R()},S=(0,f.useMutation)(g=>y({"email-templates":g}),{async onSuccess(){await P.invalidateQueries("email-templates"),m({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}}),E.current("didEditEmailTemplates"),p(),R()},onError(){m({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),p()},refetchActive:!0}),{isLoading:z}=S,W=g=>{d(),E.current("willEditEmailTemplates");const X={...L,[I]:g};S.mutate(X)};return V?e.createElement(t.Main,{"aria-busy":"true"},e.createElement(a.SettingsPageTitle,{name:s({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(t.HeaderLayout,{title:s({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(t.ContentLayout,null,e.createElement(a.LoadingIndicatorPage,null))):e.createElement(t.Main,{"aria-busy":z},e.createElement(a.SettingsPageTitle,{name:s({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(t.HeaderLayout,{title:s({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(t.ContentLayout,null,e.createElement(b,{onEditClick:D,canUpdate:w}),Z&&e.createElement(A,{template:L[I],onToggle:R,onSubmit:W})))};var H=j},59677:function(U,v,n){n.d(v,{YX:function(){return a},Gc:function(){return l},OB:function(){return C.Z}});var e=n(86834),f=n.n(e),a=y=>Object.keys(y).reduce((T,i)=>{const c=y[i].controllers,M=Object.keys(c).reduce((b,h)=>(f()(c[h])||(b[h]=c[h]),b),{});return f()(M)||(T[i]={controllers:M}),T},{}),t=n(90201),l=y=>`/${t.Z}/${y}`,C=n(82069)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2282],{51509:function(f,P,t){"use strict";t.r(P),t.d(P,{ProvidersPage:function(){return K},default:function(){return le}});var e=t(32735),d=t(5636),a=t(13478),l=t(23973),u=t.n(l),m=t(23940),o=t.n(m),r=t(39161),p=t(57269),b=t(84968),n=t(5173),s=t(59677);const U={id:(0,s.OB)("PopUpForm.Providers.redirectURL.front-end.label"),defaultMessage:"The redirect URL to your front-end app"},F={id:"http://www.client-app.com",defaultMessage:"http://www.client-app.com"},C={id:(0,s.OB)("PopUpForm.Providers.enabled.description"),defaultMessage:"If disabled, users won't be able to use this provider."},y={id:(0,s.OB)("PopUpForm.Providers.enabled.label"),defaultMessage:"Enable"},Z={id:(0,s.OB)("PopUpForm.Providers.key.label"),defaultMessage:"Client ID"},D={id:(0,s.OB)("PopUpForm.Providers.redirectURL.label"),defaultMessage:"The redirect URL to add in your {provider} application configurations"},k={id:(0,s.OB)("PopUpForm.Providers.key.placeholder"),defaultMessage:"TEXT"},z={id:(0,s.OB)("PopUpForm.Providers.secret.label"),defaultMessage:"Client Secret"};var G={email:{form:[[{intlLabel:y,name:"enabled",type:"bool",description:C,size:6}]],schema:n.Ry().shape({enabled:n.Xg().required(a.translatedErrors.required)})},providers:{form:[[{intlLabel:y,name:"enabled",type:"bool",description:C,size:6,validations:{required:!0}}],[{intlLabel:Z,name:"key",type:"text",placeholder:k,size:12,validations:{required:!0}}],[{intlLabel:z,name:"secret",type:"text",placeholder:k,size:12,validations:{required:!0}}],[{intlLabel:U,placeholder:F,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:D,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:n.Ry().shape({enabled:n.Xg().required(a.translatedErrors.required),key:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()}),secret:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()}),callback:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()})})},providersWithSubdomain:{form:[[{intlLabel:y,name:"enabled",type:"bool",description:C,size:6,validations:{required:!0}}],[{intlLabel:Z,name:"key",type:"text",placeholder:k,size:12,validations:{required:!0}}],[{intlLabel:z,name:"secret",type:"text",placeholder:k,size:12,validations:{required:!0}}],[{intlLabel:{id:(0,s.OB)({id:"PopUpForm.Providers.jwksurl.label"}),defaultMessage:"JWKS URL"},name:"jwksurl",type:"text",placeholder:k,size:12,validations:{required:!1}}],[{intlLabel:{id:(0,s.OB)("PopUpForm.Providers.subdomain.label"),defaultMessage:"Host URI (Subdomain)"},name:"subdomain",type:"text",placeholder:{id:(0,s.OB)("PopUpForm.Providers.subdomain.placeholder"),defaultMessage:"my.subdomain.com"},size:12,validations:{required:!0}}],[{intlLabel:U,placeholder:F,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:D,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:n.Ry().shape({enabled:n.Xg().required(a.translatedErrors.required),key:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()}),secret:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()}),subdomain:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()}),callback:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()})})}};const _=async c=>{try{const{get:v}=(0,a.getFetchClient)(),{data:M}=await v((0,s.Gc)("providers"));return M}catch{throw c({type:"warning",message:{id:"notification.error"}}),new Error("error")}},ee=c=>{const{put:v}=(0,a.getFetchClient)();return v((0,s.Gc)("providers"),c)};var te=t(98978),re=t.n(te),ae=c=>re()(Object.keys(c).reduce((v,M)=>{const{icon:T,enabled:E,subdomain:O}=c[M],L=T==="envelope"?["fas","envelope"]:["fab",T];return O!==void 0?v.push({name:M,icon:L,enabled:E,subdomain:O}):v.push({name:M,icon:L,enabled:E}),v},[]),"name"),J=t(88369),ne=t(60216),i=t.n(ne),se=t(83281);const H=({description:c,disabled:v,intlLabel:M,error:T,name:E,onChange:O,placeholder:L,providerToEditName:S,type:R,value:g})=>{const{formatMessage:B}=(0,d.useIntl)(),A=E==="noName"?`${strapi.backendURL}/api/connect/${S}/callback`:g,q=B({id:M.id,defaultMessage:M.defaultMessage},{provider:S,...M.values}),x=c?B({id:c.id,defaultMessage:c.defaultMessage},{provider:S,...c.values}):"";if(R==="bool")return e.createElement(r.ToggleInput,{"aria-label":E,checked:g,disabled:v,hint:x,label:q,name:E,offLabel:B({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:B({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:w=>{O({target:{name:E,value:w.target.checked}})}});const X=L?B({id:L.id,defaultMessage:L.defaultMessage},{...L.values}):"",$=T?B({id:T,defaultMessage:T}):"";return e.createElement(r.TextInput,{"aria-label":E,disabled:v,error:$,label:q,name:E,onChange:O,placeholder:X,type:R,value:A})};H.defaultProps={description:null,disabled:!1,error:"",placeholder:null,value:""},H.propTypes={description:i().shape({id:i().string.isRequired,defaultMessage:i().string.isRequired,values:i().object}),disabled:i().bool,error:i().string,intlLabel:i().shape({id:i().string.isRequired,defaultMessage:i().string.isRequired,values:i().object}).isRequired,name:i().string.isRequired,onChange:i().func.isRequired,placeholder:i().shape({id:i().string.isRequired,defaultMessage:i().string.isRequired,values:i().object}),providerToEditName:i().string.isRequired,type:i().string.isRequired,value:i().oneOfType([i().bool,i().string])};var ie=H;const W=({headerBreadcrumbs:c,initialData:v,isSubmiting:M,layout:T,isOpen:E,onSubmit:O,onToggle:L,providerToEditName:S})=>{const{formatMessage:R}=(0,d.useIntl)();return E?e.createElement(r.ModalLayout,{onClose:L,labelledBy:"title"},e.createElement(r.ModalHeader,null,e.createElement(r.Breadcrumbs,{label:c.join(", ")},c.map(g=>e.createElement(r.Crumb,{key:g},g)))),e.createElement(se.Formik,{onSubmit:g=>O(g),initialValues:v,validationSchema:T.schema,validateOnChange:!1},({errors:g,handleChange:B,values:A})=>e.createElement(a.Form,null,e.createElement(r.ModalBody,null,e.createElement(r.Flex,{direction:"column",alignItems:"stretch",gap:1},e.createElement(r.Grid,{gap:5},T.form.map(q=>q.map(x=>e.createElement(r.GridItem,{key:x.name,col:x.size,xs:12},e.createElement(ie,{...x,error:g[x.name],onChange:B,value:A[x.name],providerToEditName:S}))))))),e.createElement(r.ModalFooter,{startActions:e.createElement(r.Button,{variant:"tertiary",onClick:L,type:"button"},R({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(r.Button,{type:"submit",loading:M},R({id:"global.save",defaultMessage:"Save"}))})))):null};W.defaultProps={initialData:null,providerToEditName:null},W.propTypes={headerBreadcrumbs:i().arrayOf(i().string).isRequired,initialData:i().object,layout:i().shape({form:i().arrayOf(i().array),schema:i().object}).isRequired,isOpen:i().bool.isRequired,isSubmiting:i().bool.isRequired,onSubmit:i().func.isRequired,onToggle:i().func.isRequired,providerToEditName:i().string};var oe=W;const K=()=>{const{formatMessage:c}=(0,d.useIntl)();(0,a.useFocusWhenNavigate)();const{notifyStatus:v}=(0,r.useNotifyAT)(),M=(0,b.useQueryClient)(),{trackUsage:T}=(0,a.useTracking)(),E=(0,e.useRef)(T),[O,L]=(0,e.useState)(!1),[S,R]=(0,e.useState)(!1),[g,B]=(0,e.useState)(null),A=(0,a.useNotification)(),{lockApp:q,unlockApp:x}=(0,a.useOverlayBlocker)(),X=(0,e.useMemo)(()=>({update:J.Z.updateProviders}),[]),{isLoading:$,allowedActions:{canUpdate:w}}=(0,a.useRBAC)(X),{isLoading:de,data:j,isFetching:ue}=(0,b.useQuery)("get-providers",()=>_(A),{onSuccess(){v(c({id:(0,s.OB)("Providers.data.loaded"),defaultMessage:"Providers have been loaded"}))},initialData:{}}),ce=de||ue,me=(0,b.useMutation)(ee,{async onSuccess(){await M.invalidateQueries("get-providers"),A({type:"info",message:{id:(0,s.OB)("notification.success.submit")}}),E.current("didEditAuthenticationProvider"),R(!1),Q(),x()},onError(){A({type:"warning",message:{id:"notification.error"}}),x(),R(!1)},refetchActive:!1}),N=(0,e.useMemo)(()=>ae(j),[j]),pe=N.length,Y=(0,e.useMemo)(()=>{if(!g)return!1;const h=N.find(V=>V.name===g);return u()(h,"subdomain")},[N,g]),ge=c({id:(0,s.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"}),fe=(0,e.useMemo)(()=>g==="email"?G.email:Y?G.providersWithSubdomain:G.providers,[g,Y]),Q=()=>{L(h=>!h)},I=h=>{w&&(B(h.name),Q())},be=async h=>{R(!0),q(),E.current("willEditAuthenticationProvider");const V={...j,[g]:h};me.mutate({providers:V})};return e.createElement(r.Layout,null,e.createElement(a.SettingsPageTitle,{name:ge}),e.createElement(r.Main,null,e.createElement(r.HeaderLayout,{title:c({id:(0,s.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"})}),ce||$?e.createElement(a.LoadingIndicatorPage,null):e.createElement(r.ContentLayout,null,e.createElement(r.Table,{colCount:3,rowCount:pe+1},e.createElement(r.Thead,null,e.createElement(r.Tr,null,e.createElement(r.Th,null,e.createElement(r.Typography,{variant:"sigma",textColor:"neutral600"},c({id:"global.name",defaultMessage:"Name"}))),e.createElement(r.Th,null,e.createElement(r.Typography,{variant:"sigma",textColor:"neutral600"},c({id:(0,s.OB)("Providers.status"),defaultMessage:"Status"}))),e.createElement(r.Th,null,e.createElement(r.Typography,{variant:"sigma"},e.createElement(r.VisuallyHidden,null,c({id:"global.settings",defaultMessage:"Settings"})))))),e.createElement(r.Tbody,null,N.map(h=>e.createElement(r.Tr,{key:h.name,...(0,a.onRowClick)({fn:()=>I(h),condition:w})},e.createElement(r.Td,{width:"45%"},e.createElement(r.Typography,{fontWeight:"semiBold",textColor:"neutral800"},h.name)),e.createElement(r.Td,{width:"65%"},e.createElement(r.Typography,{textColor:h.enabled?"success600":"danger600","data-testid":`enable-${h.name}`},h.enabled?c({id:"global.enabled",defaultMessage:"Enabled"}):c({id:"global.disabled",defaultMessage:"Disabled"}))),e.createElement(r.Td,{...a.stopPropagation},w&&e.createElement(r.IconButton,{onClick:()=>I(h),noBorder:!0,icon:e.createElement(p.Pencil,null),label:"Edit"})))))))),e.createElement(oe,{initialData:j[g],isOpen:O,isSubmiting:S,layout:fe,headerBreadcrumbs:[c({id:(0,s.OB)("PopUpForm.header.edit.providers"),defaultMessage:"Edit Provider"}),o()(g)],onToggle:Q,onSubmit:be,providerToEditName:g}))};var le=()=>e.createElement(a.CheckPagePermissions,{permissions:J.Z.readProviders},e.createElement(K,null))},59677:function(f,P,t){"use strict";t.d(P,{YX:function(){return l},Gc:function(){return o},OB:function(){return r.Z}});var e=t(86834),d=t.n(e),l=p=>Object.keys(p).reduce((b,n)=>{const s=p[n].controllers,U=Object.keys(s).reduce((F,C)=>(d()(s[C])||(F[C]=s[C]),F),{});return d()(U)||(b[n]={controllers:U}),b},{}),u=t(90201),o=p=>`/${u.Z}/${p}`,r=t(82069)},56671:function(f,P,t){var e=t(35897),d=t(74741),a=d(e);f.exports=a},52920:function(f,P,t){var e=t(56671),d=t(81580);function a(l,u){var m=-1,o=d(l)?Array(l.length):[];return e(l,function(r,p,b){o[++m]=u(r,p,b)}),o}f.exports=a},50690:function(f,P,t){var e=t(26460),d=t(80166),a=t(88904),l=t(52920),u=t(36024),m=t(76535),o=t(1397),r=t(15362),p=t(77236);function b(n,s,U){s.length?s=e(s,function(y){return p(y)?function(Z){return d(Z,y.length===1?y[0]:y)}:y}):s=[r];var F=-1;s=e(s,m(a));var C=l(n,function(y,Z,D){var k=e(s,function(z){return z(y)});return{criteria:k,index:++F,value:y}});return u(C,function(y,Z){return o(y,Z,U)})}f.exports=b},36024:function(f){function P(t,e){var d=t.length;for(t.sort(e);d--;)t[d]=t[d].value;return t}f.exports=P},40709:function(f,P,t){var e=t(22945);function d(a,l){if(a!==l){var u=a!==void 0,m=a===null,o=a===a,r=e(a),p=l!==void 0,b=l===null,n=l===l,s=e(l);if(!b&&!s&&!r&&a>l||r&&p&&n&&!b&&!s||m&&p&&n||!u&&n||!o)return 1;if(!m&&!r&&!s&&a<l||s&&u&&o&&!m&&!r||b&&u&&o||!p&&o||!n)return-1}return 0}f.exports=d},1397:function(f,P,t){var e=t(40709);function d(a,l,u){for(var m=-1,o=a.criteria,r=l.criteria,p=o.length,b=u.length;++m<p;){var n=e(o[m],r[m]);if(n){if(m>=b)return n;var s=u[m];return n*(s=="desc"?-1:1)}}return a.index-l.index}f.exports=d},74741:function(f,P,t){var e=t(81580);function d(a,l){return function(u,m){if(u==null)return u;if(!e(u))return a(u,m);for(var o=u.length,r=l?o:-1,p=Object(u);(l?r--:++r<o)&&m(p[r],r,p)!==!1;);return u}}f.exports=d},98978:function(f,P,t){var e=t(40314),d=t(50690),a=t(94569),l=t(63108),u=a(function(m,o){if(m==null)return[];var r=o.length;return r>1&&l(m,o[0],o[1])?o=[]:r>2&&l(o[0],o[1],o[2])&&(o=[o[0]]),d(m,e(o,1),[])});f.exports=u}}]);
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{77495:function(f,b,n){"use strict";n.r(b),n.d(b,{default:function(){return et}});var e=n(32735),d=n(5141),r=n(13478),i=n(90201),l=n(88369),t=n(39161),m=n(57269),R=n(5636),P=n(84968),x=n(58469),T=n(59677);const D=async(s,o)=>{try{const{get:a}=(0,r.getFetchClient)(),{data:c}=await a((0,T.Gc)("roles"));return o("The roles have loaded successfully"),c}catch{throw s({type:"warning",message:{id:"notification.error"}}),new Error("error")}},F=async(s,o)=>{try{const{del:a}=(0,r.getFetchClient)();await a(`${(0,T.Gc)("roles")}/${s}`)}catch{o({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}};var B=n(60216),v=n.n(B);const M=({sortedRoles:s,canDelete:o,permissions:a,setRoleToDelete:c,onDelete:p})=>{const{formatMessage:u}=(0,R.useIntl)(),{push:E}=(0,d.useHistory)(),[y,C]=p,h=g=>o&&!["public","authenticated"].includes(g.type),A=g=>{c(g),C(!y)},L=g=>{E(`/settings/${i.Z}/roles/${g}`)};return e.createElement(t.Tbody,null,s?.map(g=>e.createElement(t.Tr,{key:g.name,...(0,r.onRowClick)({fn:()=>L(g.id)})},e.createElement(t.Td,{width:"20%"},e.createElement(t.Typography,null,g.name)),e.createElement(t.Td,{width:"50%"},e.createElement(t.Typography,null,g.description)),e.createElement(t.Td,{width:"30%"},e.createElement(t.Typography,null,`${g.nb_users} ${u({id:"global.users",defaultMessage:"users"}).toLowerCase()}`)),e.createElement(t.Td,null,e.createElement(t.Flex,{justifyContent:"end",...r.stopPropagation},e.createElement(r.CheckPermissions,{permissions:a.updateRole},e.createElement(t.IconButton,{onClick:()=>L(g.id),noBorder:!0,icon:e.createElement(m.Pencil,null),label:u({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${g.name}`})})),h(g)&&e.createElement(r.CheckPermissions,{permissions:a.deleteRole},e.createElement(t.IconButton,{onClick:()=>A(g.id),noBorder:!0,icon:e.createElement(m.Trash,null),label:u({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${g.name}`})})))))))};var I=M;M.defaultProps={canDelete:!1},M.propTypes={onDelete:v().array.isRequired,permissions:v().object.isRequired,setRoleToDelete:v().func.isRequired,sortedRoles:v().array.isRequired,canDelete:v().bool};var G=()=>{const{trackUsage:s}=(0,r.useTracking)(),{formatMessage:o}=(0,R.useIntl)(),{push:a}=(0,d.useHistory)(),c=(0,r.useNotification)(),{notifyStatus:p}=(0,t.useNotifyAT)(),[{query:u}]=(0,r.useQueryParams)(),E=u?._q||"",[y,C]=(0,e.useState)(!1),[h,A]=(0,e.useState)(!1),[L,g]=(0,e.useState)();(0,r.useFocusWhenNavigate)();const k=(0,P.useQueryClient)(),U=(0,e.useMemo)(()=>({create:l.Z.createRole,read:l.Z.readRoles,update:l.Z.updateRole,delete:l.Z.deleteRole}),[]),{isLoading:S,allowedActions:{canRead:O,canDelete:N}}=(0,r.useRBAC)(U),{isLoading:j,data:{roles:ce},isFetching:tt}=(0,P.useQuery)("get-roles",()=>D(c,p),{initialData:{},enabled:O}),ue=j||tt,nt=()=>{s("willCreateRole"),a(`/settings/${i.Z}/roles/new`)},st=()=>{C(!y)},rt={roles:{id:(0,T.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,T.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},at=o({id:"global.roles",defaultMessage:"Roles"}),ot=(0,P.useMutation)(dt=>F(dt,c),{async onSuccess(){await k.invalidateQueries("get-roles")}}),it=async()=>{A(!0),await ot.mutateAsync(L),C(!y),A(!1)},Y=(0,x.ZP)(ce||[],E,{keys:["name","description"]}),lt=E&&!Y.length?"search":"roles",ct=4,ut=(ce?.length||0)+1;return e.createElement(t.Layout,null,e.createElement(r.SettingsPageTitle,{name:at}),e.createElement(t.Main,{"aria-busy":ue},e.createElement(t.HeaderLayout,{title:o({id:"global.roles",defaultMessage:"Roles"}),subtitle:o({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:e.createElement(r.CheckPermissions,{permissions:l.Z.createRole},e.createElement(t.Button,{onClick:nt,startIcon:e.createElement(m.Plus,null),size:"S"},o({id:(0,T.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),e.createElement(t.ActionLayout,{startActions:e.createElement(r.SearchURLQuery,{label:o({id:"app.component.search.label",defaultMessage:"Search"})})}),e.createElement(t.ContentLayout,null,!O&&e.createElement(r.NoPermissions,null),(ue||S)&&e.createElement(r.LoadingIndicatorPage,null),O&&Y&&Y?.length?e.createElement(t.Table,{colCount:ct,rowCount:ut},e.createElement(t.Thead,null,e.createElement(t.Tr,null,e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},o({id:"global.name",defaultMessage:"Name"}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},o({id:"global.description",defaultMessage:"Description"}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},o({id:"global.users",defaultMessage:"Users"}))),e.createElement(t.Th,null,e.createElement(t.VisuallyHidden,null,o({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(I,{sortedRoles:Y,canDelete:N,permissions:l.Z,setRoleToDelete:g,onDelete:[y,C]})):e.createElement(r.EmptyStateLayout,{content:rt[lt]})),e.createElement(r.ConfirmDialog,{isConfirmButtonLoading:h,onConfirm:it,onToggleDialog:st,isOpen:y})))},V=()=>e.createElement(r.CheckPagePermissions,{permissions:l.Z.accessRoles},e.createElement(G,null)),K=n(83281),Z=n(82069),de=n(33795),H=n.n(de),me=n(86834),ge=n.n(me),pe=n(86205),Ee=n.n(pe);const q=(0,e.createContext)({}),_=({children:s,value:o})=>e.createElement(q.Provider,{value:o},s),X=()=>(0,e.useContext)(q);_.propTypes={children:v().node.isRequired,value:v().object.isRequired};var W=n(83292),he=n(37213),fe=n.n(he),ye=n(15738),Ce=n.n(ye),Re=s=>{switch(s){case"POST":return{text:"success600",border:"success200",background:"success100"};case"GET":return{text:"secondary600",border:"secondary200",background:"secondary100"};case"PUT":return{text:"warning600",border:"warning200",background:"warning100"};case"DELETE":return{text:"danger600",border:"danger200",background:"danger100"};default:return{text:"neutral600",border:"neutral200",background:"neutral100"}}};const be=(0,W.default)(t.Box)`
|
|
2
|
-
margin: -1px;
|
|
3
|
-
border-radius: ${({theme:s})=>s.spaces[1]} 0 0 ${({theme:s})=>s.spaces[1]};
|
|
4
|
-
`;function J({route:s}){const{formatMessage:o}=(0,R.useIntl)(),{method:a,handler:c,path:p}=s,u=p?Ce()(p.split("/")):[],[E="",y=""]=c?c.split("."):[],C=Re(s.method);return e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:2},e.createElement(t.Typography,{variant:"delta",as:"h3"},o({id:"users-permissions.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",e.createElement("span",null,E),e.createElement(t.Typography,{variant:"delta",textColor:"primary600"},".",y)),e.createElement(t.Flex,{hasRadius:!0,background:"neutral0",borderColor:"neutral200",gap:0},e.createElement(be,{background:C.background,borderColor:C.border,padding:2},e.createElement(t.Typography,{fontWeight:"bold",textColor:C.text},a)),e.createElement(t.Box,{paddingLeft:2,paddingRight:2},fe()(u,h=>e.createElement(t.Typography,{key:h,textColor:h.includes(":")?"neutral600":"neutral900"},"/",h)))))}J.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},J.propTypes={route:v().shape({handler:v().string,method:v().string,path:v().string})};var ve=J,Te=()=>{const{formatMessage:s}=(0,R.useIntl)(),{selectedAction:o,routes:a}=X(),c=Ee()(o.split("."),"controllers"),p=H()(a,c[0]),u=c.slice(1).join("."),E=ge()(p)?[]:p.filter(y=>y.handler.endsWith(u));return e.createElement(t.GridItem,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},o?e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:2},E.map((y,C)=>e.createElement(ve,{key:C,route:y}))):e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:2},e.createElement(t.Typography,{variant:"delta",as:"h3"},s({id:"users-permissions.Policies.header.title",defaultMessage:"Advanced settings"})),e.createElement(t.Typography,{as:"p",textColor:"neutral600"},s({id:"users-permissions.Policies.header.hint",defaultMessage:"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"}))))},Ae=n(23940),Pe=n.n(Ae);function xe(s){switch(s){case"application":return"Application";case"plugin::content-manager":return"Content manager";case"plugin::content-type-builder":return"Content types builder";case"plugin::documentation":return"Documentation";case"plugin::email":return"Email";case"plugin::i18n":return"i18n";case"plugin::upload":return"Upload";case"plugin::users-permissions":return"Users-permissions";default:return Pe()(s.replace("api::","").replace("plugin::",""))}}var De=xe,Le=n(98978),ee=n.n(Le);const te=W.css`
|
|
5
|
-
background: ${s=>s.theme.colors.primary100};
|
|
6
|
-
svg {
|
|
7
|
-
opacity: 1;
|
|
8
|
-
}
|
|
9
|
-
`;var Me=(0,W.default)(t.Box)`
|
|
10
|
-
display: flex;
|
|
11
|
-
justify-content: space-between;
|
|
12
|
-
align-items: center;
|
|
13
|
-
|
|
14
|
-
svg {
|
|
15
|
-
opacity: 0;
|
|
16
|
-
path {
|
|
17
|
-
fill: ${s=>s.theme.colors.primary600};
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/* Show active style both on hover and when the action is selected */
|
|
22
|
-
${s=>s.isActive&&te}
|
|
23
|
-
&:hover {
|
|
24
|
-
${te}
|
|
25
|
-
}
|
|
26
|
-
`;const Se=W.default.div`
|
|
27
|
-
flex: 1;
|
|
28
|
-
align-self: center;
|
|
29
|
-
border-top: 1px solid ${({theme:s})=>s.colors.neutral150};
|
|
30
|
-
`,ne=({subCategory:s})=>{const{formatMessage:o}=(0,R.useIntl)(),{onChange:a,onChangeSelectAll:c,onSelectedAction:p,selectedAction:u,modifiedData:E}=X(),y=(0,e.useMemo)(()=>H()(E,s.name,{}),[E,s]),C=(0,e.useMemo)(()=>Object.values(y).every(g=>g.enabled===!0),[y]),h=(0,e.useMemo)(()=>Object.values(y).some(g=>g.enabled===!0)&&!C,[y,C]),A=(0,e.useCallback)(({target:{name:g}})=>{c({target:{name:g,value:!C}})},[C,c]),L=(0,e.useCallback)(g=>u===g,[u]);return e.createElement(t.Box,null,e.createElement(t.Flex,{justifyContent:"space-between",alignItems:"center"},e.createElement(t.Box,{paddingRight:4},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},s.label)),e.createElement(Se,null),e.createElement(t.Box,{paddingLeft:4},e.createElement(t.Checkbox,{name:s.name,value:C,onValueChange:g=>A({target:{name:s.name,value:g}}),indeterminate:h},o({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(t.Flex,{paddingTop:6,paddingBottom:6},e.createElement(t.Grid,{gap:2,style:{flex:1}},s.actions.map(g=>{const k=`${g.name}.enabled`;return e.createElement(t.GridItem,{col:6,key:g.name},e.createElement(Me,{isActive:L(g.name),padding:2,hasRadius:!0},e.createElement(t.Checkbox,{value:H()(E,k,!1),name:k,onValueChange:U=>a({target:{name:k,value:U}})},g.label),e.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>p(g.name),style:{display:"inline-flex",alignItems:"center"}},e.createElement(m.Cog,null))))}))))};ne.propTypes={subCategory:v().object.isRequired};var ke=ne;const se=({name:s,permissions:o})=>{const a=(0,e.useMemo)(()=>ee()(Object.values(o.controllers).reduce((c,p,u)=>{const E=`${s}.controllers.${Object.keys(o.controllers)[u]}`,y=ee()(Object.keys(p).reduce((C,h)=>[...C,{...p[h],label:h,name:`${E}.${h}`}],[]),"label");return[...c,{actions:y,label:Object.keys(o.controllers)[u],name:E}]},[]),"label"),[s,o]);return e.createElement(t.Box,{padding:6},a.map(c=>e.createElement(ke,{key:c.name,subCategory:c})))};se.propTypes={name:v().string.isRequired,permissions:v().object.isRequired};var Oe=se,Be=(s,o)=>{const a=Object.keys(o).sort().map(c=>({name:c,isOpen:!1}));return{...s,collapses:a}},Q=n(97889);const Ie={collapses:[]},Ge=(s,o)=>(0,Q.default)(s,a=>{switch(o.type){case"TOGGLE_COLLAPSE":{a.collapses=s.collapses.map((c,p)=>p===o.index?{...c,isOpen:!c.isOpen}:{...c,isOpen:!1});break}default:return a}});var Fe=()=>{const{modifiedData:s}=X(),{formatMessage:o}=(0,R.useIntl)(),[{collapses:a},c]=(0,e.useReducer)(Ge,Ie,u=>Be(u,s)),p=u=>c({type:"TOGGLE_COLLAPSE",index:u});return e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:1},a.map((u,E)=>e.createElement(t.Accordion,{expanded:u.isOpen,onToggle:()=>p(E),key:u.name,variant:E%2===0?"secondary":void 0},e.createElement(t.AccordionToggle,{title:De(u.name),description:o({id:"users-permissions.Plugin.permissions.plugins.description",defaultMessage:"Define all allowed actions for the {name} plugin."},{name:u.name}),variant:E%2?"primary":"secondary"}),e.createElement(t.AccordionContent,null,e.createElement(t.Box,null,e.createElement(Oe,{permissions:s[u.name],name:u.name}))))))},Ue=n(3040),re=n.n(Ue),Ne=n(88708),we=n.n(Ne);const Ze={initialData:{},modifiedData:{},routes:{},selectedAction:"",policies:[]};var $e=(s,o)=>(0,Q.default)(s,a=>{switch(o.type){case"ON_CHANGE":{const c=o.keys.length,p=o.keys[c-1]==="enabled";if(o.value&&p){const u=we()(o.keys,c-1).join(".");a.selectedAction=u}re()(a,["modifiedData",...o.keys],o.value);break}case"ON_CHANGE_SELECT_ALL":{const c=["modifiedData",...o.keys],p=H()(s,c,{}),u=Object.keys(p).reduce((E,y)=>(E[y]={...p[y],enabled:o.value},E),{});re()(a,c,u);break}case"ON_RESET":{a.modifiedData=s.initialData;break}case"ON_SUBMIT_SUCCEEDED":{a.initialData=s.modifiedData;break}case"SELECT_ACTION":{const{actionToSelect:c}=o;a.selectedAction=c===s.selectedAction?"":c;break}default:return a}}),je=(s,o,a)=>({...s,initialData:o,modifiedData:o,routes:a});const ae=(0,e.forwardRef)(({permissions:s,routes:o},a)=>{const{formatMessage:c}=(0,R.useIntl)(),[p,u]=(0,e.useReducer)($e,Ze,A=>je(A,s,o));(0,e.useImperativeHandle)(a,()=>({getPermissions(){return{permissions:p.modifiedData}},resetForm(){u({type:"ON_RESET"})},setFormAfterSubmit(){u({type:"ON_SUBMIT_SUCCEEDED"})}}));const h={...p,onChange:({target:{name:A,value:L}})=>u({type:"ON_CHANGE",keys:A.split("."),value:L==="empty__string_value"?"":L}),onChangeSelectAll:({target:{name:A,value:L}})=>u({type:"ON_CHANGE_SELECT_ALL",keys:A.split("."),value:L}),onSelectedAction:A=>u({type:"SELECT_ACTION",actionToSelect:A})};return e.createElement(_,{value:h},e.createElement(t.Grid,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},e.createElement(t.GridItem,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:6},e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:2},e.createElement(t.Typography,{variant:"delta",as:"h2"},c({id:(0,Z.Z)("Plugins.header.title"),defaultMessage:"Permissions"})),e.createElement(t.Typography,{as:"p",textColor:"neutral600"},c({id:(0,Z.Z)("Plugins.header.description"),defaultMessage:"Only actions bound by a route are listed below."}))),e.createElement(Fe,null))),e.createElement(Te,null)))});ae.propTypes={permissions:v().object.isRequired,routes:v().object.isRequired};var oe=(0,e.memo)(ae);const Ct={isLoading:!0,modifiedData:{}},Rt=(s,o)=>produce(s,a=>{switch(o.type){case"GET_DATA":{a.isLoading=!0,a.modifiedData={};break}case"GET_DATA_SUCCEEDED":{a.isLoading=!1,a.modifiedData=o.data;break}case"GET_DATA_ERROR":{a.isLoading=!0;break}case"ON_SUBMIT_SUCCEEDED":{a.modifiedData=o.data;break}default:return a}});var bt=null;const vt=(s,o)=>{const{isLoading:a,allowedActions:c}=useRBAC(o),[{isLoading:p,modifiedData:u},E]=useReducer(reducer,initialState),y=useNotification(),C=useRef(!0),h=new AbortController,{signal:A}=h;useEffect(()=>(a||(async()=>{try{E({type:"GET_DATA"});const k=await request(getRequestURL(s),{method:"GET",signal:A});E({type:"GET_DATA_SUCCEEDED",data:k})}catch(k){C.current&&(E({type:"GET_DATA_ERROR"}),console.error(k),y({type:"warning",message:{id:"notification.error"}}))}})(),()=>{h.abort(),C.current=!1}),[a,s]);const L=useCallback(g=>{E({type:"ON_SUBMIT_SUCCEEDED",data:g})},[]);return{allowedActions:c,dispatchSubmitSucceeded:L,isLoading:p,isLoadingForPermissions:a,modifiedData:u}};var Tt=null;const At={roles:[],isLoading:!0},Pt=(s,o)=>produce(s,a=>{switch(o.type){case"GET_DATA":{a.isLoading=!0,a.roles=[];break}case"GET_DATA_SUCCEEDED":{a.roles=o.data,a.isLoading=!1;break}case"GET_DATA_ERROR":{a.isLoading=!1;break}default:return a}});var xt=null;const Dt=(s=!0)=>{const[{roles:o,isLoading:a},c]=useReducer(reducer,initialState,()=>init(initialState,s)),p=useNotification(),u=useRef(!0),E=new AbortController,{signal:y}=E;useEffect(()=>(s&&C(),()=>{E.abort(),u.current=!1}),[s]);const C=async()=>{try{c({type:"GET_DATA"});const{roles:h}=await request(`/${pluginId}/roles`,{method:"GET",signal:y});c({type:"GET_DATA_SUCCEEDED",data:h})}catch(h){const A=get(h,["response","payload","message"],"An error occured");u.current&&(c({type:"GET_DATA_ERROR"}),A!=="Forbidden"&&p({type:"warning",message:A}))}};return{roles:o,isLoading:a,getData:C}};var Lt=null,He=(s,o)=>({...s,isLoading:o});const ie={permissions:{},routes:{},isLoading:!0};var Ve=(s,o)=>(0,Q.default)(s,a=>{switch(o.type){case"GET_DATA":{a.isLoading=!0,a.permissions={},a.routes={};break}case"GET_DATA_SUCCEEDED":{a.permissions=o.permissions,a.routes=o.routes,a.isLoading=!1;break}case"GET_DATA_ERROR":{a.isLoading=!1;break}default:return a}}),le=(s=!0)=>{const o=(0,r.useNotification)(),[{permissions:a,routes:c,isLoading:p},u]=(0,e.useReducer)(Ve,ie,()=>He(ie,s)),E=(0,r.useFetchClient)(),y=(0,e.useCallback)(async()=>{try{u({type:"GET_DATA"});const[{permissions:C},{routes:h}]=await Promise.all([`/${i.Z}/permissions`,`/${i.Z}/routes`].map(async A=>(await E.get(A)).data));u({type:"GET_DATA_SUCCEEDED",permissions:(0,T.YX)(C),routes:h})}catch(C){const h=H()(C,["response","payload","message"],"An error occured");u({type:"GET_DATA_ERROR"}),h!=="Forbidden"&&o({type:"warning",message:h})}},[o]);return(0,e.useEffect)(()=>{s&&y()},[y,s]),{permissions:a,routes:c,getData:y,isLoading:p}};const We={role:{},isLoading:!0};var Qe=(s,o)=>(0,Q.default)(s,a=>{switch(o.type){case"GET_DATA_SUCCEEDED":{a.role=o.role,a.isLoading=!1;break}case"GET_DATA_ERROR":{a.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{a.role.name=o.name,a.role.description=o.description;break}default:return a}}),Ye=s=>{const[o,a]=(0,e.useReducer)(Qe,We),c=(0,r.useNotification)(),p=(0,e.useRef)(null),{get:u}=(0,r.useFetchClient)();(0,e.useEffect)(()=>(p.current=!0,s?E(s):a({type:"GET_DATA_SUCCEEDED",role:{}}),()=>p.current=!1),[s]);const E=async C=>{try{const{data:{role:h}}=await u(`/${i.Z}/roles/${C}`);p.current&&a({type:"GET_DATA_SUCCEEDED",role:h})}catch(h){console.error(h),a({type:"GET_DATA_ERROR"}),c({type:"warning",message:{id:"notification.error"}})}},y=(0,e.useCallback)(C=>{a({type:"ON_SUBMIT_SUCCEEDED",...C})},[]);return{...o,onSubmitSucceeded:y}},$=n(5173),ze=$.Ry().shape({name:$.Z_().required(r.translatedErrors.required),description:$.Z_().required(r.translatedErrors.required)}),Xe=()=>{const{formatMessage:s}=(0,R.useIntl)(),[o,a]=(0,e.useState)(!1),c=(0,r.useNotification)(),{lockApp:p,unlockApp:u}=(0,r.useOverlayBlocker)(),{params:{id:E}}=(0,d.useRouteMatch)(`/settings/${i.Z}/roles/:id`),{isLoading:y,routes:C}=le(),{role:h,onSubmitSucceeded:A,isLoading:L}=Ye(E),g=(0,e.useRef)(),{put:k}=(0,r.useFetchClient)(),U=async S=>{p(),a(!0);try{const O=g.current.getPermissions();await k(`/${i.Z}/roles/${E}`,{...S,...O,users:[]}),A({name:S.name,description:S.description}),c({type:"success",message:{id:(0,Z.Z)("Settings.roles.edited"),defaultMessage:"Role edited"}})}catch(O){console.error(O),c({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}a(!1),u()};return L?e.createElement(r.LoadingIndicatorPage,null):e.createElement(t.Main,null,e.createElement(r.SettingsPageTitle,{name:"Roles"}),e.createElement(K.Formik,{enableReinitialize:!0,initialValues:{name:h.name,description:h.description},onSubmit:U,validationSchema:ze},({handleSubmit:S,values:O,handleChange:N,errors:j})=>e.createElement(r.Form,{noValidate:!0,onSubmit:S},e.createElement(t.HeaderLayout,{primaryAction:!y&&e.createElement(t.Button,{disabled:h.code==="strapi-super-admin",type:"submit",loading:o,startIcon:e.createElement(m.Check,null)},s({id:"global.save",defaultMessage:"Save"})),title:h.name,subtitle:h.description,navigationAction:e.createElement(r.Link,{startIcon:e.createElement(m.ArrowLeft,null),to:"/settings/users-permissions/roles"},s({id:"global.back",defaultMessage:"Back"}))}),e.createElement(t.ContentLayout,null,e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:7},e.createElement(t.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:4},e.createElement(t.Typography,{variant:"delta",as:"h2"},s({id:(0,Z.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),e.createElement(t.Grid,{gap:4},e.createElement(t.GridItem,{col:6},e.createElement(t.TextInput,{name:"name",value:O.name||"",onChange:N,label:s({id:"global.name",defaultMessage:"Name"}),error:j.name?s({id:j.name,defaultMessage:"Invalid value"}):null})),e.createElement(t.GridItem,{col:6},e.createElement(t.Textarea,{name:"description",value:O.description||"",onChange:N,label:s({id:"global.description",defaultMessage:"Description"}),error:j.description?s({id:j.description,defaultMessage:"Invalid value"}):null}))))),!y&&e.createElement(oe,{ref:g,permissions:h.permissions,routes:C}))))))},Je=()=>e.createElement(r.CheckPagePermissions,{permissions:l.Z.updateRole},e.createElement(Xe,null)),Ke=$.Ry().shape({name:$.Z_().required(r.translatedErrors.required),description:$.Z_().required(r.translatedErrors.required)}),qe=()=>{const{formatMessage:s}=(0,R.useIntl)(),[o,a]=(0,e.useState)(!1),c=(0,r.useNotification)(),{goBack:p}=(0,d.useHistory)(),{lockApp:u,unlockApp:E}=(0,r.useOverlayBlocker)(),{isLoading:y,permissions:C,routes:h}=le(),{trackUsage:A}=(0,r.useTracking)(),L=(0,e.useRef)(),{post:g}=(0,r.useFetchClient)(),k=async U=>{u(),a(!0);try{const S=L.current.getPermissions();await g(`/${i.Z}/roles`,{...U,...S,users:[]}),A("didCreateRole"),c({type:"success",message:{id:(0,Z.Z)("Settings.roles.created"),defaultMessage:"Role created"}}),p()}catch(S){console.error(S),c({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}a(!1),E()};return e.createElement(t.Main,null,e.createElement(r.SettingsPageTitle,{name:"Roles"}),e.createElement(K.Formik,{enableReinitialize:!0,initialValues:{name:"",description:""},onSubmit:k,validationSchema:Ke},({handleSubmit:U,values:S,handleChange:O,errors:N})=>e.createElement(r.Form,{noValidate:!0,onSubmit:U},e.createElement(t.HeaderLayout,{primaryAction:!y&&e.createElement(t.Button,{type:"submit",loading:o,startIcon:e.createElement(m.Check,null)},s({id:"global.save",defaultMessage:"Save"})),title:s({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:s({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"})}),e.createElement(t.ContentLayout,null,e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:7},e.createElement(t.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:4},e.createElement(t.Typography,{variant:"delta",as:"h2"},s({id:(0,Z.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),e.createElement(t.Grid,{gap:4},e.createElement(t.GridItem,{col:6},e.createElement(t.TextInput,{name:"name",value:S.name||"",onChange:O,label:s({id:"global.name",defaultMessage:"Name"}),error:N.name?s({id:N.name,defaultMessage:"Invalid value"}):null})),e.createElement(t.GridItem,{col:6},e.createElement(t.Textarea,{name:"description",value:S.description||"",onChange:O,label:s({id:"global.description",defaultMessage:"Description"}),error:N.description?s({id:N.description,defaultMessage:"Invalid value"}):null}))))),!y&&e.createElement(oe,{ref:L,permissions:C,routes:h}))))))},_e=()=>e.createElement(r.CheckPagePermissions,{permissions:l.Z.createRole},e.createElement(qe,null)),et=()=>e.createElement(r.CheckPagePermissions,{permissions:l.Z.accessRoles},e.createElement(d.Switch,null,e.createElement(d.Route,{path:`/settings/${i.Z}/roles/new`,component:_e,exact:!0}),e.createElement(d.Route,{path:`/settings/${i.Z}/roles/:id`,component:Je,exact:!0}),e.createElement(d.Route,{path:`/settings/${i.Z}/roles`,component:V,exact:!0}),e.createElement(d.Route,{path:"",component:r.NotFound})))},59677:function(f,b,n){"use strict";n.d(b,{YX:function(){return i},Gc:function(){return m},OB:function(){return R.Z}});var e=n(86834),d=n.n(e),i=P=>Object.keys(P).reduce((x,T)=>{const D=P[T].controllers,F=Object.keys(D).reduce((B,v)=>(d()(D[v])||(B[v]=D[v]),B),{});return d()(F)||(x[T]={controllers:F}),x},{}),l=n(90201),m=P=>`/${l.Z}/${P}`,R=n(82069)},88058:function(f,b,n){var e=n(87650);function d(r,i){var l=r==null?0:r.length;return!!l&&e(r,i,0)>-1}f.exports=d},37431:function(f){function b(n,e,d){for(var r=-1,i=n==null?0:n.length;++r<i;)if(d(e,n[r]))return!0;return!1}f.exports=b},91096:function(f,b,n){var e=n(61124),d=n(88058),r=n(37431),i=n(26460),l=n(76535),t=n(30555),m=200;function R(P,x,T,D){var F=-1,B=d,v=!0,M=P.length,I=[],z=x.length;if(!M)return I;T&&(x=i(x,l(T))),D?(B=r,v=!1):x.length>=m&&(B=t,v=!1,x=new e(x));e:for(;++F<M;){var G=P[F],w=T==null?G:T(G);if(G=D||G!==0?G:0,v&&w===w){for(var V=z;V--;)if(x[V]===w)continue e;I.push(G)}else B(x,w,D)||I.push(G)}return I}f.exports=R},56671:function(f,b,n){var e=n(35897),d=n(74741),r=d(e);f.exports=r},60528:function(f){function b(n,e,d,r){for(var i=n.length,l=d+(r?1:-1);r?l--:++l<i;)if(e(n[l],l,n))return l;return-1}f.exports=b},87650:function(f,b,n){var e=n(60528),d=n(25556),r=n(54256);function i(l,t,m){return t===t?r(l,t,m):e(l,d,m)}f.exports=i},25556:function(f){function b(n){return n!==n}f.exports=b},52920:function(f,b,n){var e=n(56671),d=n(81580);function r(i,l){var t=-1,m=d(i)?Array(i.length):[];return e(i,function(R,P,x){m[++t]=l(R,P,x)}),m}f.exports=r},50690:function(f,b,n){var e=n(26460),d=n(80166),r=n(88904),i=n(52920),l=n(36024),t=n(76535),m=n(1397),R=n(15362),P=n(77236);function x(T,D,F){D.length?D=e(D,function(M){return P(M)?function(I){return d(I,M.length===1?M[0]:M)}:M}):D=[R];var B=-1;D=e(D,t(r));var v=i(T,function(M,I,z){var G=e(D,function(w){return w(M)});return{criteria:G,index:++B,value:M}});return l(v,function(M,I){return m(M,I,F)})}f.exports=x},36024:function(f){function b(n,e){var d=n.length;for(n.sort(e);d--;)n[d]=n[d].value;return n}f.exports=b},40709:function(f,b,n){var e=n(22945);function d(r,i){if(r!==i){var l=r!==void 0,t=r===null,m=r===r,R=e(r),P=i!==void 0,x=i===null,T=i===i,D=e(i);if(!x&&!D&&!R&&r>i||R&&P&&T&&!x&&!D||t&&P&&T||!l&&T||!m)return 1;if(!t&&!R&&!D&&r<i||D&&l&&m&&!t&&!R||x&&l&&m||!P&&m||!T)return-1}return 0}f.exports=d},1397:function(f,b,n){var e=n(40709);function d(r,i,l){for(var t=-1,m=r.criteria,R=i.criteria,P=m.length,x=l.length;++t<P;){var T=e(m[t],R[t]);if(T){if(t>=x)return T;var D=l[t];return T*(D=="desc"?-1:1)}}return r.index-i.index}f.exports=d},74741:function(f,b,n){var e=n(81580);function d(r,i){return function(l,t){if(l==null)return l;if(!e(l))return r(l,t);for(var m=l.length,R=i?m:-1,P=Object(l);(i?R--:++R<m)&&t(P[R],R,P)!==!1;);return l}}f.exports=d},54256:function(f){function b(n,e,d){for(var r=d-1,i=n.length;++r<i;)if(n[r]===e)return r;return-1}f.exports=b},37213:function(f,b,n){var e=n(26460),d=n(88904),r=n(52920),i=n(77236);function l(t,m){var R=i(t)?e:r;return R(t,d(m,3))}f.exports=l},98978:function(f,b,n){var e=n(40314),d=n(50690),r=n(94569),i=n(63108),l=r(function(t,m){if(t==null)return[];var R=m.length;return R>1&&i(t,m[0],m[1])?m=[]:R>2&&i(m[0],m[1],m[2])&&(m=[m[0]]),d(t,e(m,1),[])});f.exports=l},15738:function(f,b,n){var e=n(4293);function d(r){var i=r==null?0:r.length;return i?e(r,1,i):[]}f.exports=d},88708:function(f,b,n){var e=n(4293),d=n(25225);function r(i,l,t){return i&&i.length?(l=t||l===void 0?1:d(l),e(i,0,l<0?0:l)):[]}f.exports=r},86205:function(f,b,n){var e=n(91096),d=n(94569),r=n(99747),i=d(function(l,t){return r(l)?e(l,t):[]});f.exports=i}}]);
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{47272:function(V,P,l){l.d(P,{Z:function(){return oe}});var e=l(32735),o=l(13478),t=l(39161),y=l(84968),x=l(5141),R=l(8888),j=l(60216),i=l.n(j),k=l(57269),I=l(83281),T=l(5636),$=l(83292),N=l(23940),z=l.n(N);const O=({disabledEvents:a,name:n,events:r,inputValue:s,handleChange:u,handleChangeAll:p})=>{const d=r.filter(g=>!a.includes(g)),c=s.length===d.length,h=s.length>0,f=({target:{name:g}})=>{p({target:{name:g,value:!c}})};return e.createElement("tr",null,e.createElement("td",null,e.createElement(t.Checkbox,{indeterminate:h&&!c,"aria-label":"Select all entries",name:n,onChange:f,value:c},z()(n))),r.map(g=>e.createElement("td",{key:g},e.createElement(t.BaseCheckbox,{disabled:a.includes(g),"aria-label":g,name:g,value:s.includes(g),onValueChange:E=>u({target:{name:g,value:E}})}))))};O.defaultProps={disabledEvents:[],events:[],inputValue:[],handleChange(){},handleChangeAll(){}},O.propTypes={disabledEvents:i().array,events:i().array,inputValue:i().array,handleChange:i().func,handleChangeAll:i().func,name:i().string.isRequired};var X=O,Q=a=>a.reduce((n,r)=>{const s=r.split(".")[0];return n[s]||(n[s]=[]),n[s].push(r),n},{});const q=$.default.table`
|
|
2
|
-
td {
|
|
3
|
-
height: ${52/16}rem;
|
|
4
|
-
width: 10%;
|
|
5
|
-
vertical-align: middle;
|
|
6
|
-
text-align: center;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
tbody tr:nth-child(odd) {
|
|
10
|
-
background: ${({theme:a})=>a.colors.neutral100};
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
tbody tr td:first-child {
|
|
14
|
-
padding-left: ${({theme:a})=>a.spaces[7]};
|
|
15
|
-
}
|
|
16
|
-
`,w={headers:{default:[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"}],draftAndPublish:[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"},{id:"app.utils.publish",defaultMessage:"Publish"},{id:"app.utils.unpublish",defaultMessage:"Unpublish"}]},events:{default:{entry:["entry.create","entry.update","entry.delete"],media:["media.create","media.update","media.delete"]},draftAndPublish:{entry:["entry.create","entry.update","entry.delete","entry.publish","entry.unpublish"],media:["media.create","media.update","media.delete"]}}},G=({isDraftAndPublish:a})=>{const n=a?w.headers.draftAndPublish:w.headers.default,r=a?w.events.draftAndPublish:w.events.default,{formatMessage:s}=(0,T.useIntl)(),{values:u,handleChange:p}=(0,I.useFormikContext)(),d="events",c=u.events,h=[],f=Q(c),g=({target:{name:m,value:A}})=>{let C=new Set(c);A?C.add(m):C.delete(m),p({target:{name:d,value:Array.from(C)}})},E=({target:{name:m,value:A}})=>{let C=new Set(c);A?r[m].forEach(S=>{h.includes(S)||C.add(S)}):r[m].forEach(S=>C.delete(S)),p({target:{name:d,value:Array.from(C)}})};return e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:1},e.createElement(t.FieldLabel,null,s({id:"Settings.webhooks.form.events",defaultMessage:"Events"})),e.createElement(q,null,e.createElement("thead",null,e.createElement("tr",null,e.createElement("td",null),n.map(m=>m==="app.utils.publish"||m==="app.utils.unpublish"?e.createElement("td",{key:m.id,title:s({id:"Settings.webhooks.event.publish-tooltip",defaultMessage:"This event only exists for content with draft & publish enabled"})},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},s(m))):e.createElement("td",{key:m.id},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},s(m)))))),e.createElement("tbody",null,Object.keys(r).map(m=>e.createElement(X,{disabledEvents:h,key:m,name:m,events:r[m],inputValue:f[m],handleChange:g,handleChangeAll:E})))))};G.propTypes={isDraftAndPublish:i().bool.isRequired};var _=G,H=["A-IM","Accept","Accept-Charset","Accept-Encoding","Accept-Language","Accept-Datetime","Access-Control-Request-Method","Access-Control-Request-Headers","Authorization","Cache-Control","Connection","Content-Length","Content-Type","Cookie","Date","Expect","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Max-Forwards","Origin","Pragma","Proxy-Authorization","Range","Referer","TE","User-Agent","Upgrade","Via","Warning"];const D=({name:a,onChange:n,value:r,...s})=>{const[u,p]=(0,e.useState)(r?[...H,r]:H),d=h=>{n({target:{name:a,value:h}})},c=h=>{p(f=>[...f,h]),n({target:{name:a,value:h}})};return e.createElement(t.CreatableCombobox,{...s,onChange:d,onCreateOption:c,placeholder:"",value:r},u.map(h=>e.createElement(t.ComboboxOption,{value:h,key:h},h)))};D.defaultProps={value:void 0},D.propTypes={name:i().string.isRequired,onChange:i().func.isRequired,value:i().string};var J=D,Y=()=>{const{formatMessage:a}=(0,T.useIntl)(),{values:n,errors:r}=(0,I.useFormikContext)();return e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:1},e.createElement(t.FieldLabel,null,a({id:"Settings.webhooks.form.headers",defaultMessage:"Headers"})),e.createElement(t.Box,{padding:8,background:"neutral100",hasRadius:!0},e.createElement(I.FieldArray,{validateOnChange:!1,name:"headers",render:({push:s,remove:u})=>e.createElement(t.Grid,{gap:4},n.headers?.map((p,d)=>e.createElement(e.Fragment,{key:d},e.createElement(t.GridItem,{col:6},e.createElement(I.Field,{as:J,name:`headers.${d}.key`,"aria-label":`row ${d+1} key`,label:a({id:"Settings.webhooks.key",defaultMessage:"Key"}),error:r.headers?.[d]?.key&&a({id:r.headers[d]?.key,defaultMessage:r.headers[d]?.key})})),e.createElement(t.GridItem,{col:6},e.createElement(t.Flex,{alignItems:"flex-end"},e.createElement(t.Box,{style:{flex:1}},e.createElement(I.Field,{as:t.TextInput,"aria-label":`row ${d+1} value`,label:a({id:"Settings.webhooks.value",defaultMessage:"Value"}),name:`headers.${d}.value`,error:r.headers?.[d]?.value&&a({id:r.headers[d]?.value,defaultMessage:r.headers[d]?.value})})),e.createElement(t.Flex,{paddingLeft:2,style:{alignSelf:"center"},paddingTop:r.headers?.[d]?.value?0:5},e.createElement(o.RemoveRoundedButton,{onClick:()=>n.headers.length!==1&&u(d),label:a({id:"Settings.webhooks.headers.remove",defaultMessage:"Remove header row {number}"},{number:d+1})})))))),e.createElement(t.GridItem,{col:12},e.createElement(t.TextButton,{type:"button",onClick:()=>{s({key:"",value:""})},startIcon:e.createElement(k.Plus,null)},a({id:"Settings.webhooks.create.header",defaultMessage:"Create new header"}))))})))};const F=$.default.svg(({theme:a,color:n})=>`
|
|
17
|
-
width: ${12/16}rem;
|
|
18
|
-
height: ${12/16}rem;
|
|
19
|
-
|
|
20
|
-
path {
|
|
21
|
-
fill: ${a.colors[n]};
|
|
22
|
-
}
|
|
23
|
-
`),L=({isPending:a,statusCode:n})=>{const{formatMessage:r}=(0,T.useIntl)();return a?e.createElement(t.Flex,{gap:2,alignItems:"center"},e.createElement(F,{as:k.Loader}),e.createElement(t.Typography,null,r({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):n>=200&&n<300?e.createElement(t.Flex,{gap:2,alignItems:"center"},e.createElement(F,{as:k.Check,color:"success700"}),e.createElement(t.Typography,null,r({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):n>=300?e.createElement(t.Flex,{gap:2,alignItems:"center"},e.createElement(F,{as:k.Cross,color:"danger700"}),e.createElement(t.Typography,null,r({id:"Settings.error",defaultMessage:"error"})," ",n)):null};L.propTypes={isPending:i().bool.isRequired,statusCode:i().number},L.defaultProps={statusCode:void 0};const B=({statusCode:a,message:n})=>{const{formatMessage:r}=(0,T.useIntl)();return a>=200&&a<300?e.createElement(t.Flex,{justifyContent:"flex-end"},e.createElement(t.Typography,{textColor:"neutral600",ellipsis:!0},r({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):a>=300?e.createElement(t.Flex,{justifyContent:"flex-end"},e.createElement(t.Flex,{maxWidth:(0,o.pxToRem)(250),justifyContent:"flex-end",title:n},e.createElement(t.Typography,{ellipsis:!0,textColor:"neutral600"},n))):null};B.propTypes={statusCode:i().number,message:i().string},B.defaultProps={statusCode:void 0,message:void 0};const K=({onCancel:a})=>{const{formatMessage:n}=(0,T.useIntl)();return e.createElement(t.Flex,{justifyContent:"flex-end"},e.createElement("button",{onClick:a,type:"button"},e.createElement(t.Flex,{gap:2,alignItems:"center"},e.createElement(t.Typography,{textColor:"neutral400"},n({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement(F,{as:k.Cross,color:"neutral400"}))))};K.propTypes={onCancel:i().func.isRequired};const W=({isPending:a,onCancel:n,response:r})=>{const{statusCode:s,message:u}=r,{formatMessage:p}=(0,T.useIntl)();return e.createElement(t.Box,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(t.Grid,{gap:4,style:{alignItems:"center"}},e.createElement(t.GridItem,{col:3},e.createElement(t.Typography,null,p({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(t.GridItem,{col:3},e.createElement(L,{isPending:a,statusCode:s})),e.createElement(t.GridItem,{col:6},a?e.createElement(K,{onCancel:n}):e.createElement(B,{statusCode:s,message:u}))))};W.defaultProps={isPending:!1,onCancel(){},response:{}},W.propTypes={isPending:i().bool,onCancel:i().func,response:i().object};var ee=W,v=l(5173);const te=/(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/,ae=/(^$)|((https?:\/\/.*)(d*)\/?(.*))/;var ne=v.Ry().shape({name:v.Z_(o.translatedErrors.string).required(o.translatedErrors.required).matches(te,o.translatedErrors.regex),url:v.Z_(o.translatedErrors.string).required(o.translatedErrors.required).matches(ae,o.translatedErrors.regex),headers:v.Vo(a=>{let n=v.IX();if(a.length===1){const{key:r,value:s}=a[0];if(!r&&!s)return n}return n.of(v.Ry().shape({key:v.Z_().required(o.translatedErrors.required),value:v.Z_().required(o.translatedErrors.required)}))}),events:v.IX()});const U=({handleSubmit:a,data:n,triggerWebhook:r,isCreating:s,isTriggering:u,triggerResponse:p,isDraftAndPublishEvents:d})=>{const{formatMessage:c}=(0,T.useIntl)(),[h,f]=(0,e.useState)(!1);return e.createElement(I.Formik,{onSubmit:a,initialValues:{name:n?.name||"",url:n?.url||"",headers:Object.keys(n?.headers||[]).length?Object.entries(n.headers).map(([g,E])=>({key:g,value:E})):[{key:"",value:""}],events:n?.events||[]},validationSchema:ne,validateOnChange:!1,validateOnBlur:!1},({handleSubmit:g,errors:E})=>e.createElement(o.Form,{noValidate:!0},e.createElement(t.HeaderLayout,{primaryAction:e.createElement(t.Flex,{gap:2},e.createElement(t.Button,{onClick:()=>{r(),f(!0)},variant:"tertiary",startIcon:e.createElement(k.Play,null),disabled:s||u,size:"L"},c({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(t.Button,{startIcon:e.createElement(k.Check,null),onClick:g,type:"submit",size:"L"},c({id:"global.save",defaultMessage:"Save"}))),title:s?c({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):n?.name,navigationAction:e.createElement(o.Link,{startIcon:e.createElement(k.ArrowLeft,null),to:"/settings/webhooks"},c({id:"global.back",defaultMessage:"Back"}))}),e.createElement(t.ContentLayout,null,e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:4},h&&e.createElement("div",{className:"trigger-wrapper"},e.createElement(ee,{isPending:u,response:p,onCancel:()=>f(!1)})),e.createElement(t.Box,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:6},e.createElement(t.Grid,{gap:6},e.createElement(t.GridItem,{col:6},e.createElement(I.Field,{as:t.TextInput,name:"name",error:E.name&&c({id:E.name}),label:c({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(t.GridItem,{col:12},e.createElement(I.Field,{as:t.TextInput,name:"url",error:E.url&&c({id:E.url}),label:c({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(Y,null),e.createElement(_,{isDraftAndPublish:d})))))))};U.propTypes={data:i().object,handleSubmit:i().func.isRequired,triggerWebhook:i().func.isRequired,isCreating:i().bool.isRequired,isDraftAndPublishEvents:i().bool.isRequired,isTriggering:i().bool.isRequired,triggerResponse:i().object},U.defaultProps={data:void 0,triggerResponse:void 0};var re=U;const se=a=>({...a,headers:le(a.headers)}),le=a=>a.reduce((n,r)=>{const{key:s,value:u}=r;return s!==""?{...n,[s]:u}:n},{});var Z=se,oe=()=>{const{params:{id:a}}=(0,x.useRouteMatch)("/settings/webhooks/:id"),{replace:n}=(0,x.useHistory)(),{lockApp:r,unlockApp:s}=(0,o.useOverlayBlocker)(),u=(0,o.useNotification)(),p=(0,y.useQueryClient)(),{isLoading:d,collectionTypes:c}=(0,R.bP)(),{post:h}=(0,o.useFetchClient)(),f=a==="create",g=(0,e.useCallback)(async b=>{const[M,{data:he}]=await(0,o.to)((0,o.request)(`/admin/webhooks/${b}`,{method:"GET"}));return M?(u({type:"warning",message:{id:"notification.error"}}),null):he},[u]),{isLoading:E,data:m}=(0,y.useQuery)(["get-webhook",a],()=>g(a),{enabled:!f}),{isLoading:A,data:C,isIdle:S,mutate:ie}=(0,y.useMutation)(()=>h(`/admin/webhooks/${a}/trigger`)),de=()=>ie(null,{onError(){u({type:"warning",message:{id:"notification.error"}})}}),ue=(0,y.useMutation)(b=>(0,o.request)("/admin/webhooks",{method:"POST",body:b})),ce=(0,y.useMutation)(({id:b,body:M})=>(0,o.request)(`/admin/webhooks/${b}`,{method:"PUT",body:M})),me=async b=>{f?(r(),ue.mutate(Z(b),{onSuccess(M){u({type:"success",message:{id:"Settings.webhooks.created"}}),n(`/settings/webhooks/${M.data.id}`),s()},onError(M){u({type:"warning",message:{id:"notification.error"}}),console.log(M),s()}})):(r(),ce.mutate({id:a,body:Z(b)},{onSuccess(){p.invalidateQueries(["get-webhook",a]),u({type:"success",message:{id:"notification.form.success.fields"}}),s()},onError(M){u({type:"warning",message:{id:"notification.error"}}),console.log(M),s()}}))},ge=(0,e.useMemo)(()=>c.some(b=>b.options.draftAndPublish===!0),[c]);return E||d?e.createElement(o.LoadingIndicatorPage,null):e.createElement(t.Main,null,e.createElement(o.SettingsPageTitle,{name:"Webhooks"}),e.createElement(re,{handleSubmit:me,data:m,triggerWebhook:de,isCreating:f,isTriggering:A,isTriggerIdle:S,triggerResponse:C?.data.data,isDraftAndPublishEvents:ge}))}},33238:function(V,P,l){l.r(P);var e=l(32735),o=l(13478),t=l.n(o),y=l(72041),x=l(47272);const R=()=>e.createElement(o.CheckPagePermissions,{permissions:y.Z.settings.webhooks.create},e.createElement(x.Z,null));P.default=R},59021:function(V,P,l){l.r(P);var e=l(32735),o=l(13478),t=l.n(o),y=l(72041),x=l(47272);const R=()=>e.createElement(o.CheckPagePermissions,{permissions:y.Z.settings.webhooks.update},e.createElement(x.Z,null));P.default=R}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4121],{70791:function(ee,L,i){i.r(L),i.d(L,{default:function(){return V}});var e=i(32735),a=i(13478),C=i(72041),O=i(5141),x=i(5636),t=i(39161),E=i(57269),P=i(97889),H=i(3040),K=i.n(H);const I={webhooks:[],webhooksToDelete:[],webhookToDelete:null,loadingWebhooks:!0};var G=(r,s)=>(0,P.default)(r,l=>{switch(s.type){case"GET_DATA_SUCCEEDED":{l.webhooks=s.data,l.loadingWebhooks=!1;break}case"TOGGLE_LOADING":{l.loadingWebhooks=!r.loadingWebhooks;break}case"SET_WEBHOOK_ENABLED":{K()(l,["webhooks",...s.keys],s.value);break}case"SET_WEBHOOK_TO_DELETE":{l.webhookToDelete=s.id;break}case"SET_WEBHOOKS_TO_DELETE":{s.value?l.webhooksToDelete.push(s.id):l.webhooksToDelete=r.webhooksToDelete.filter(d=>d!==s.id);break}case"SET_ALL_WEBHOOKS_TO_DELETE":{r.webhooksToDelete.length===0?l.webhooksToDelete=r.webhooks.map(d=>d.id):l.webhooksToDelete=[];break}case"WEBHOOKS_DELETED":{l.webhooks=r.webhooks.filter(d=>!r.webhooksToDelete.includes(d.id)),l.webhooksToDelete=[];break}case"WEBHOOK_DELETED":{l.webhooks=r.webhooks.filter((d,g)=>g!==s.index),l.webhookToDelete=null;break}default:return l}}),N=()=>{const{isLoading:r,allowedActions:{canCreate:s,canRead:l,canUpdate:d,canDelete:g}}=(0,a.useRBAC)(C.Z.settings.webhooks),b=(0,a.useNotification)(),h=(0,e.useRef)(!0),{formatMessage:n}=(0,x.useIntl)(),[$,T]=(0,e.useState)(!1),[{webhooks:f,webhooksToDelete:y,webhookToDelete:D,loadingWebhooks:p},u]=(0,e.useReducer)(G,I),{notifyStatus:R}=(0,t.useNotifyAT)();(0,a.useFocusWhenNavigate)();const{push:U}=(0,O.useHistory)(),{pathname:S}=(0,O.useLocation)(),k=f.length,m=y.length,B=o=>f.findIndex(c=>c.id===o);(0,e.useEffect)(()=>(h.current=!0,()=>{h.current=!1}),[]),(0,e.useEffect)(()=>{l&&F()},[l]);const F=async()=>{try{const{data:o}=await(0,a.request)("/admin/webhooks",{method:"GET"});h.current&&(u({type:"GET_DATA_SUCCEEDED",data:o}),R("webhooks have been loaded"))}catch(o){console.log(o),h.current&&(o.code!==20&&b({type:"warning",message:{id:"notification.error"}}),u({type:"TOGGLE_LOADING"}))}},z=()=>{T(o=>!o)},Z=()=>{D?j():J()},j=async()=>{try{await(0,a.request)(`/admin/webhooks/${D}`,{method:"DELETE"}),u({type:"WEBHOOK_DELETED",index:B(D)})}catch(o){o.code!==20&&b({type:"warning",message:{id:"notification.error"}})}T(!1)},J=async()=>{const o={ids:y};try{await(0,a.request)("/admin/webhooks/batch-delete",{method:"POST",body:o}),h.current&&u({type:"WEBHOOKS_DELETED"})}catch(c){h.current&&c.code!==20&&b({type:"warning",message:{id:"notification.error"}})}T(!1)},v=o=>{T(!0),o!=="all"&&u({type:"SET_WEBHOOK_TO_DELETE",id:o})},Q=async(o,c)=>{const W=B(c),_=f[W],M=[W,"isEnabled"],A={..._,isEnabled:o};delete A.id;try{u({type:"SET_WEBHOOK_ENABLED",keys:M,value:o}),await(0,a.request)(`/admin/webhooks/${c}`,{method:"PUT",body:A})}catch(q){h.current&&(u({type:"SET_WEBHOOK_ENABLED",keys:M,value:!o}),q.code!==20&&b({type:"warning",message:{id:"notification.error"}}))}},X=()=>{u({type:"SET_ALL_WEBHOOKS_TO_DELETE"})},Y=(o,c)=>{u({type:"SET_WEBHOOKS_TO_DELETE",value:o,id:c})},w=o=>{U(`${S}/${o}`)};return e.createElement(t.Layout,null,e.createElement(a.SettingsPageTitle,{name:"Webhooks"}),e.createElement(t.Main,{"aria-busy":r||p},e.createElement(t.HeaderLayout,{title:n({id:"Settings.webhooks.title",defaultMessage:"Webhooks"}),subtitle:n({id:"Settings.webhooks.list.description",defaultMessage:"Get POST changes notifications"}),primaryAction:s&&!p&&e.createElement(a.LinkButton,{startIcon:e.createElement(E.Plus,null),variant:"default",to:`${S}/create`,size:"S"},n({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}),m>0&&g&&e.createElement(t.ActionLayout,{startActions:e.createElement(e.Fragment,null,e.createElement(t.Typography,{variant:"epsilon",textColor:"neutral600"},n({id:"Settings.webhooks.to.delete",defaultMessage:"{webhooksToDeleteLength, plural, one {# asset} other {# assets}} selected"},{webhooksToDeleteLength:m})),e.createElement(t.Button,{onClick:()=>v("all"),startIcon:e.createElement(E.Trash,null),size:"L",variant:"danger-light"},n({id:"global.delete",defaultMessage:"Delete"})))}),e.createElement(t.ContentLayout,null,r||p?e.createElement(t.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(a.LoadingIndicatorPage,null)):k>0?e.createElement(t.Table,{colCount:5,rowCount:k+1,footer:e.createElement(t.TFooter,{onClick:()=>s?w("create"):{},icon:e.createElement(E.Plus,null)},n({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))},e.createElement(t.Thead,null,e.createElement(t.Tr,null,e.createElement(t.Th,null,e.createElement(t.BaseCheckbox,{"aria-label":n({id:"global.select-all-entries",defaultMessage:"Select all entries"}),indeterminate:m>0&&m<k,value:m===k,onValueChange:X})),e.createElement(t.Th,{width:"20%"},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},n({id:"global.name",defaultMessage:"Name"}))),e.createElement(t.Th,{width:"60%"},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},n({id:"Settings.webhooks.form.url",defaultMessage:"URL"}))),e.createElement(t.Th,{width:"20%"},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},n({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"}))),e.createElement(t.Th,null,e.createElement(t.VisuallyHidden,null,n({id:"Settings.webhooks.list.th.actions",defaultMessage:"Actions"}))))),e.createElement(t.Tbody,null,f.map(o=>e.createElement(t.Tr,{key:o.id,...(0,a.onRowClick)({fn:()=>w(o.id),condition:d})},e.createElement(t.Td,{...a.stopPropagation},e.createElement(t.BaseCheckbox,{"aria-label":`${n({id:"global.select",defaultMessage:"Select"})} ${o.name}`,value:y?.includes(o.id),onValueChange:c=>Y(c,o.id),id:"select",name:"select"})),e.createElement(t.Td,null,e.createElement(t.Typography,{fontWeight:"semiBold",textColor:"neutral800"},o.name)),e.createElement(t.Td,null,e.createElement(t.Typography,{textColor:"neutral800"},o.url)),e.createElement(t.Td,null,e.createElement(t.Flex,{...a.stopPropagation},e.createElement(t.Switch,{onLabel:n({id:"global.enabled",defaultMessage:"Enabled"}),offLabel:n({id:"global.disabled",defaultMessage:"Disabled"}),label:`${o.name} ${n({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"})}`,selected:o.isEnabled,onChange:()=>Q(!o.isEnabled,o.id),visibleLabels:!0}))),e.createElement(t.Td,null,e.createElement(t.Flex,{gap:1,...a.stopPropagation},d&&e.createElement(t.IconButton,{onClick:()=>{w(o.id)},label:n({id:"Settings.webhooks.events.update",defaultMessage:"Update"}),icon:e.createElement(E.Pencil,null),noBorder:!0}),g&&e.createElement(t.IconButton,{onClick:()=>v(o.id),label:n({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(E.Trash,null),noBorder:!0,id:`delete-${o.id}`}))))))):e.createElement(t.EmptyStateLayout,{icon:e.createElement(E.EmptyDocuments,{width:"160px"}),content:n({id:"Settings.webhooks.list.empty.description",defaultMessage:"No webhooks found"}),action:e.createElement(t.Button,{variant:"secondary",startIcon:e.createElement(E.Plus,null),onClick:()=>s?w("create"):{}},n({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}))),e.createElement(a.ConfirmDialog,{isOpen:$,onToggleDialog:z,onConfirm:Z}))},V=()=>e.createElement(a.CheckPagePermissions,{permissions:C.Z.settings.webhooks.main},e.createElement(N,null))}}]);
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const { hasReviewWorkflow } = require('../utils/review-workflows');
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Remove all stage information for all content types that have had review workflows disabled
|
|
7
|
-
*/
|
|
8
|
-
/* eslint-disable no-continue */
|
|
9
|
-
const disableOnContentTypes = async ({ oldContentTypes, contentTypes }) => {
|
|
10
|
-
const uidsToRemove = [];
|
|
11
|
-
for (const uid in contentTypes) {
|
|
12
|
-
if (!oldContentTypes || !oldContentTypes[uid]) {
|
|
13
|
-
continue;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
const oldContentType = oldContentTypes[uid];
|
|
17
|
-
const contentType = contentTypes?.[uid];
|
|
18
|
-
|
|
19
|
-
if (
|
|
20
|
-
hasReviewWorkflow({ strapi }, oldContentType) &&
|
|
21
|
-
!hasReviewWorkflow({ strapi }, contentType)
|
|
22
|
-
) {
|
|
23
|
-
// If review workflows has been turned off on a content type
|
|
24
|
-
// remove stage information from all entities within this CT
|
|
25
|
-
uidsToRemove.push(uid);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
if (uidsToRemove.length === 0) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
await strapi.db
|
|
34
|
-
.connection('strapi_workflows_stages_related_morphs')
|
|
35
|
-
.whereIn('related_type', uidsToRemove)
|
|
36
|
-
.del();
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
module.exports = { disableOnContentTypes };
|
package/ee/server/utils/test.js
DELETED
/package/admin/src/{content-manager/components/InputUID/useDebounce.js → hooks/useDebounce/index.js}
RENAMED
|
File without changes
|