@strapi/plugin-users-permissions 0.0.0-next.ce5699024a72ea224891438d5bbe39f904ec6774 → 0.0.0-next.ce8ed0c8aa03361c3009f41af96f742be028ffd9
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/admin/src/pages/Providers/index.jsx +74 -76
- package/admin/src/pages/Roles/pages/CreatePage.jsx +18 -5
- package/admin/src/pages/Roles/pages/EditPage.jsx +10 -5
- package/admin/src/pages/Roles/pages/ListPage/index.jsx +91 -93
- package/admin/src/translations/en.json +1 -0
- package/admin/src/utils/formatPluginName.js +1 -1
- package/dist/admin/components/FormModal/Input/index.js.map +1 -1
- package/dist/admin/components/FormModal/Input/index.mjs.map +1 -1
- package/dist/admin/components/Permissions/PermissionRow/SubCategory.js.map +1 -1
- package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs.map +1 -1
- package/dist/admin/components/Permissions/PermissionRow/index.js.map +1 -1
- package/dist/admin/components/Permissions/PermissionRow/index.mjs.map +1 -1
- package/dist/admin/pages/EmailTemplates/components/EmailForm.js.map +1 -1
- package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs.map +1 -1
- package/dist/admin/pages/Providers/index.js +84 -88
- package/dist/admin/pages/Providers/index.js.map +1 -1
- package/dist/admin/pages/Providers/index.mjs +84 -88
- package/dist/admin/pages/Providers/index.mjs.map +1 -1
- package/dist/admin/pages/Roles/pages/CreatePage.js +12 -1
- package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -1
- package/dist/admin/pages/Roles/pages/CreatePage.mjs +14 -3
- package/dist/admin/pages/Roles/pages/CreatePage.mjs.map +1 -1
- package/dist/admin/pages/Roles/pages/EditPage.js +11 -3
- package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -1
- package/dist/admin/pages/Roles/pages/EditPage.mjs +12 -4
- package/dist/admin/pages/Roles/pages/EditPage.mjs.map +1 -1
- package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js.map +1 -1
- package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs.map +1 -1
- package/dist/admin/pages/Roles/pages/ListPage/index.js +95 -99
- package/dist/admin/pages/Roles/pages/ListPage/index.js.map +1 -1
- package/dist/admin/pages/Roles/pages/ListPage/index.mjs +95 -99
- package/dist/admin/pages/Roles/pages/ListPage/index.mjs.map +1 -1
- package/dist/admin/translations/en.json.js +1 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +1 -0
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/utils/formatPluginName.js +1 -1
- package/dist/admin/utils/formatPluginName.js.map +1 -1
- package/dist/admin/utils/formatPluginName.mjs +1 -1
- package/dist/admin/utils/formatPluginName.mjs.map +1 -1
- package/dist/admin/utils/getTrad.js.map +1 -1
- package/dist/admin/utils/getTrad.mjs.map +1 -1
- package/dist/admin/utils/prefixPluginTranslations.js.map +1 -1
- package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -1
- package/dist/server/bootstrap/index.js +28 -7
- package/dist/server/bootstrap/index.js.map +1 -1
- package/dist/server/bootstrap/index.mjs +28 -7
- package/dist/server/bootstrap/index.mjs.map +1 -1
- package/dist/server/config.js +16 -0
- package/dist/server/config.js.map +1 -1
- package/dist/server/config.mjs +16 -0
- package/dist/server/config.mjs.map +1 -1
- package/dist/server/controllers/auth.js +204 -3
- package/dist/server/controllers/auth.js.map +1 -1
- package/dist/server/controllers/auth.mjs +204 -3
- package/dist/server/controllers/auth.mjs.map +1 -1
- package/dist/server/controllers/content-manager-user.js +3 -3
- package/dist/server/controllers/content-manager-user.js.map +1 -1
- package/dist/server/controllers/content-manager-user.mjs +3 -3
- package/dist/server/controllers/content-manager-user.mjs.map +1 -1
- package/dist/server/controllers/validation/user.js +6 -1
- package/dist/server/controllers/validation/user.js.map +1 -1
- package/dist/server/controllers/validation/user.mjs +6 -1
- package/dist/server/controllers/validation/user.mjs.map +1 -1
- package/dist/server/graphql/resolvers-configs.js.map +1 -1
- package/dist/server/graphql/resolvers-configs.mjs.map +1 -1
- package/dist/server/middlewares/rateLimit.js.map +1 -1
- package/dist/server/middlewares/rateLimit.mjs.map +1 -1
- package/dist/server/routes/content-api/auth.js +155 -91
- package/dist/server/routes/content-api/auth.js.map +1 -1
- package/dist/server/routes/content-api/auth.mjs +155 -91
- package/dist/server/routes/content-api/auth.mjs.map +1 -1
- package/dist/server/routes/content-api/index.js +11 -9
- package/dist/server/routes/content-api/index.js.map +1 -1
- package/dist/server/routes/content-api/index.mjs +11 -9
- package/dist/server/routes/content-api/index.mjs.map +1 -1
- package/dist/server/routes/content-api/permissions.js +14 -7
- package/dist/server/routes/content-api/permissions.js.map +1 -1
- package/dist/server/routes/content-api/permissions.mjs +14 -7
- package/dist/server/routes/content-api/permissions.mjs.map +1 -1
- package/dist/server/routes/content-api/role.js +61 -27
- package/dist/server/routes/content-api/role.js.map +1 -1
- package/dist/server/routes/content-api/role.mjs +61 -27
- package/dist/server/routes/content-api/role.mjs.map +1 -1
- package/dist/server/routes/content-api/user.js +119 -57
- package/dist/server/routes/content-api/user.js.map +1 -1
- package/dist/server/routes/content-api/user.mjs +119 -57
- package/dist/server/routes/content-api/user.mjs.map +1 -1
- package/dist/server/routes/content-api/validation.js +217 -0
- package/dist/server/routes/content-api/validation.js.map +1 -0
- package/dist/server/routes/content-api/validation.mjs +215 -0
- package/dist/server/routes/content-api/validation.mjs.map +1 -0
- package/dist/server/services/constants.js +19 -0
- package/dist/server/services/constants.js.map +1 -0
- package/dist/server/services/constants.mjs +17 -0
- package/dist/server/services/constants.mjs.map +1 -0
- package/dist/server/services/jwt.js +45 -2
- package/dist/server/services/jwt.js.map +1 -1
- package/dist/server/services/jwt.mjs +45 -2
- package/dist/server/services/jwt.mjs.map +1 -1
- package/dist/server/services/providers-registry.js.map +1 -1
- package/dist/server/services/providers-registry.mjs.map +1 -1
- package/dist/server/services/role.js.map +1 -1
- package/dist/server/services/role.mjs.map +1 -1
- package/dist/server/services/user.js +29 -20
- package/dist/server/services/user.js.map +1 -1
- package/dist/server/services/user.mjs +29 -20
- package/dist/server/services/user.mjs.map +1 -1
- package/dist/server/services/users-permissions.js +4 -3
- package/dist/server/services/users-permissions.js.map +1 -1
- package/dist/server/services/users-permissions.mjs +4 -3
- package/dist/server/services/users-permissions.mjs.map +1 -1
- package/package.json +8 -7
- package/server/bootstrap/index.js +31 -0
- package/server/config.js +22 -0
- package/server/controllers/auth.js +248 -8
- package/server/controllers/content-manager-user.js +3 -4
- package/server/controllers/validation/user.js +12 -1
- package/server/routes/content-api/auth.js +119 -71
- package/server/routes/content-api/index.js +11 -4
- package/server/routes/content-api/permissions.js +14 -7
- package/server/routes/content-api/role.js +57 -27
- package/server/routes/content-api/user.js +108 -51
- package/server/routes/content-api/validation.js +250 -0
- package/server/services/constants.js +9 -0
- package/server/services/jwt.js +50 -2
- package/server/services/user.js +11 -0
- package/server/services/users-permissions.js +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubCategory.mjs","sources":["../../../../../admin/src/components/Permissions/PermissionRow/SubCategory.jsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\n\nimport { Box, Checkbox, Flex, Typography, Grid, VisuallyHidden } from '@strapi/design-system';\nimport { Cog } from '@strapi/icons';\nimport get from 'lodash/get';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useUsersPermissions } from '../../../contexts/UsersPermissionsContext';\n\nimport CheckboxWrapper from './CheckboxWrapper';\n\nconst Border = styled.div`\n flex: 1;\n align-self: center;\n border-top: 1px solid ${({ theme }) => theme.colors.neutral150};\n`;\n\nconst SubCategory = ({ subCategory }) => {\n const { formatMessage } = useIntl();\n const { onChange, onChangeSelectAll, onSelectedAction, selectedAction, modifiedData } =\n useUsersPermissions();\n\n const currentScopedModifiedData = useMemo(() => {\n return get(modifiedData, subCategory.name, {});\n }, [modifiedData, subCategory]);\n\n const hasAllActionsSelected = useMemo(() => {\n return Object.values(currentScopedModifiedData).every((action) => action.enabled === true);\n }, [currentScopedModifiedData]);\n\n const hasSomeActionsSelected = useMemo(() => {\n return (\n Object.values(currentScopedModifiedData).some((action) => action.enabled === true) &&\n !hasAllActionsSelected\n );\n }, [currentScopedModifiedData, hasAllActionsSelected]);\n\n const handleChangeSelectAll = useCallback(\n ({ target: { name } }) => {\n onChangeSelectAll({ target: { name, value: !hasAllActionsSelected } });\n },\n [hasAllActionsSelected, onChangeSelectAll]\n );\n\n const isActionSelected = useCallback(\n (actionName) => {\n return selectedAction === actionName;\n },\n [selectedAction]\n );\n\n return (\n <Box>\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Box paddingRight={4}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {subCategory.label}\n </Typography>\n </Box>\n <Border />\n <Box paddingLeft={4}>\n <Checkbox\n name={subCategory.name}\n checked={hasSomeActionsSelected ? 'indeterminate' : hasAllActionsSelected}\n onCheckedChange={(value) =>\n handleChangeSelectAll({ target: { name: subCategory.name, value } })\n }\n >\n {formatMessage({ id: 'app.utils.select-all', defaultMessage: 'Select all' })}\n </Checkbox>\n </Box>\n </Flex>\n <Flex paddingTop={6} paddingBottom={6}>\n <Grid.Root gap={2} style={{ flex: 1 }}>\n {subCategory.actions.map((action) => {\n const name = `${action.name}.enabled`;\n\n return (\n <Grid.Item col={6} key={action.name} direction=\"column\" alignItems=\"stretch\">\n <CheckboxWrapper isActive={isActionSelected(action.name)} padding={2} hasRadius>\n <Checkbox\n checked={get(modifiedData, name, false)}\n name={name}\n onCheckedChange={(value) => onChange({ target: { name, value } })}\n >\n {action.label}\n </Checkbox>\n <button\n type=\"button\"\n onClick={() => onSelectedAction(action.name)}\n style={{ display: 'inline-flex', alignItems: 'center' }}\n >\n <VisuallyHidden tag=\"span\">\n {formatMessage(\n {\n id: 'app.utils.show-bound-route',\n defaultMessage: 'Show bound route for {route}',\n },\n {\n route: action.name,\n }\n )}\n </VisuallyHidden>\n <Cog id=\"cog\" cursor=\"pointer\" />\n </button>\n </CheckboxWrapper>\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\nSubCategory.propTypes = {\n subCategory: PropTypes.object.isRequired,\n};\n\nexport default SubCategory;\n"],"names":["Border","styled","div","theme","colors","neutral150","SubCategory","subCategory","formatMessage","useIntl","onChange","onChangeSelectAll","onSelectedAction","selectedAction","modifiedData","useUsersPermissions","currentScopedModifiedData","useMemo","get","name","hasAllActionsSelected","Object","values","every","action","enabled","hasSomeActionsSelected","some","handleChangeSelectAll","useCallback","target","value","isActionSelected","actionName","_jsxs","Box","Flex","justifyContent","alignItems","_jsx","paddingRight","Typography","variant","textColor","label","paddingLeft","Checkbox","checked","onCheckedChange","id","defaultMessage","paddingTop","paddingBottom","Grid","Root","gap","style","flex","actions","map","Item","col","direction","CheckboxWrapper","isActive","padding","hasRadius","button","type","onClick","display","VisuallyHidden","tag","route","Cog","cursor","propTypes","PropTypes","object","isRequired"],"mappings":";;;;;;;;;;;AAaA,MAAMA,MAAAA,GAASC,MAAOC,CAAAA,GAAG;;;wBAGD,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAMC,CAAAA,MAAM,CAACC,UAAU,CAAC;AACjE,CAAC;AAED,MAAMC,WAAc,GAAA,CAAC,EAAEC,WAAW,EAAE,GAAA;IAClC,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEC,QAAQ,EAAEC,iBAAiB,EAAEC,gBAAgB,EAAEC,cAAc,EAAEC,YAAY,EAAE,GACnFC,mBAAAA,EAAAA;AAEF,IAAA,MAAMC,4BAA4BC,OAAQ,CAAA,IAAA;AACxC,QAAA,OAAOC,GAAIJ,CAAAA,YAAAA,EAAcP,WAAYY,CAAAA,IAAI,EAAE,EAAC,CAAA;KAC3C,EAAA;AAACL,QAAAA,YAAAA;AAAcP,QAAAA;AAAY,KAAA,CAAA;AAE9B,IAAA,MAAMa,wBAAwBH,OAAQ,CAAA,IAAA;QACpC,OAAOI,MAAAA,CAAOC,MAAM,CAACN,yBAA2BO,CAAAA,CAAAA,KAAK,CAAC,CAACC,MAAAA,GAAWA,MAAOC,CAAAA,OAAO,KAAK,IAAA,CAAA;KACpF,EAAA;AAACT,QAAAA;AAA0B,KAAA,CAAA;AAE9B,IAAA,MAAMU,yBAAyBT,OAAQ,CAAA,IAAA;AACrC,QAAA,OACEI,MAAOC,CAAAA,MAAM,CAACN,yBAAAA,CAAAA,CAA2BW,IAAI,CAAC,CAACH,MAAAA,GAAWA,MAAOC,CAAAA,OAAO,KAAK,IAAA,CAAA,IAC7E,CAACL,qBAAAA;KAEF,EAAA;AAACJ,QAAAA,yBAAAA;AAA2BI,QAAAA;AAAsB,KAAA,CAAA;IAErD,MAAMQ,qBAAAA,GAAwBC,YAC5B,CAAC,EAAEC,QAAQ,EAAEX,IAAI,EAAE,EAAE,GAAA;QACnBR,iBAAkB,CAAA;YAAEmB,MAAQ,EAAA;AAAEX,gBAAAA,IAAAA;AAAMY,gBAAAA,KAAAA,EAAO,CAACX;AAAsB;AAAE,SAAA,CAAA;KAEtE,EAAA;AAACA,QAAAA,qBAAAA;AAAuBT,QAAAA;AAAkB,KAAA,CAAA;IAG5C,MAAMqB,gBAAAA,GAAmBH,YACvB,CAACI,UAAAA,GAAAA;AACC,QAAA,OAAOpB,cAAmBoB,KAAAA,UAAAA;KAE5B,EAAA;AAACpB,QAAAA;AAAe,KAAA,CAAA;AAGlB,IAAA,qBACEqB,IAACC,CAAAA,GAAAA,EAAAA;;0BACCD,IAACE,CAAAA,IAAAA,EAAAA;gBAAKC,cAAe,EAAA,eAAA;gBAAgBC,UAAW,EAAA,QAAA;;kCAC9CC,GAACJ,CAAAA,GAAAA,EAAAA;wBAAIK,YAAc,EAAA,CAAA;AACjB,wBAAA,QAAA,gBAAAD,GAACE,CAAAA,UAAAA,EAAAA;4BAAWC,OAAQ,EAAA,OAAA;4BAAQC,SAAU,EAAA,YAAA;AACnCpC,4BAAAA,QAAAA,EAAAA,WAAAA,CAAYqC;;;kCAGjBL,GAACvC,CAAAA,MAAAA,EAAAA,EAAAA,CAAAA;kCACDuC,GAACJ,CAAAA,GAAAA,EAAAA;wBAAIU,WAAa,EAAA,CAAA;AAChB,wBAAA,QAAA,gBAAAN,GAACO,CAAAA,QAAAA,EAAAA;AACC3B,4BAAAA,IAAAA,EAAMZ,YAAYY,IAAI;AACtB4B,4BAAAA,OAAAA,EAASrB,yBAAyB,eAAkBN,GAAAA,qBAAAA;4BACpD4B,eAAiB,EAAA,CAACjB,QAChBH,qBAAsB,CAAA;oCAAEE,MAAQ,EAAA;AAAEX,wCAAAA,IAAAA,EAAMZ,YAAYY,IAAI;AAAEY,wCAAAA;AAAM;AAAE,iCAAA,CAAA;sCAGnEvB,aAAc,CAAA;gCAAEyC,EAAI,EAAA,sBAAA;gCAAwBC,cAAgB,EAAA;AAAa,6BAAA;;;;;0BAIhFX,GAACH,CAAAA,IAAAA,EAAAA;gBAAKe,UAAY,EAAA,CAAA;gBAAGC,aAAe,EAAA,CAAA;wCAClCb,GAAA,CAACc,KAAKC,IAAI,EAAA;oBAACC,GAAK,EAAA,CAAA;oBAAGC,KAAO,EAAA;wBAAEC,IAAM,EAAA;AAAE,qBAAA;AACjClD,oBAAAA,QAAAA,EAAAA,WAAAA,CAAYmD,OAAO,CAACC,GAAG,CAAC,CAACnC,MAAAA,GAAAA;AACxB,wBAAA,MAAML,OAAO,
|
|
1
|
+
{"version":3,"file":"SubCategory.mjs","sources":["../../../../../admin/src/components/Permissions/PermissionRow/SubCategory.jsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\n\nimport { Box, Checkbox, Flex, Typography, Grid, VisuallyHidden } from '@strapi/design-system';\nimport { Cog } from '@strapi/icons';\nimport get from 'lodash/get';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useUsersPermissions } from '../../../contexts/UsersPermissionsContext';\n\nimport CheckboxWrapper from './CheckboxWrapper';\n\nconst Border = styled.div`\n flex: 1;\n align-self: center;\n border-top: 1px solid ${({ theme }) => theme.colors.neutral150};\n`;\n\nconst SubCategory = ({ subCategory }) => {\n const { formatMessage } = useIntl();\n const { onChange, onChangeSelectAll, onSelectedAction, selectedAction, modifiedData } =\n useUsersPermissions();\n\n const currentScopedModifiedData = useMemo(() => {\n return get(modifiedData, subCategory.name, {});\n }, [modifiedData, subCategory]);\n\n const hasAllActionsSelected = useMemo(() => {\n return Object.values(currentScopedModifiedData).every((action) => action.enabled === true);\n }, [currentScopedModifiedData]);\n\n const hasSomeActionsSelected = useMemo(() => {\n return (\n Object.values(currentScopedModifiedData).some((action) => action.enabled === true) &&\n !hasAllActionsSelected\n );\n }, [currentScopedModifiedData, hasAllActionsSelected]);\n\n const handleChangeSelectAll = useCallback(\n ({ target: { name } }) => {\n onChangeSelectAll({ target: { name, value: !hasAllActionsSelected } });\n },\n [hasAllActionsSelected, onChangeSelectAll]\n );\n\n const isActionSelected = useCallback(\n (actionName) => {\n return selectedAction === actionName;\n },\n [selectedAction]\n );\n\n return (\n <Box>\n <Flex justifyContent=\"space-between\" alignItems=\"center\">\n <Box paddingRight={4}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {subCategory.label}\n </Typography>\n </Box>\n <Border />\n <Box paddingLeft={4}>\n <Checkbox\n name={subCategory.name}\n checked={hasSomeActionsSelected ? 'indeterminate' : hasAllActionsSelected}\n onCheckedChange={(value) =>\n handleChangeSelectAll({ target: { name: subCategory.name, value } })\n }\n >\n {formatMessage({ id: 'app.utils.select-all', defaultMessage: 'Select all' })}\n </Checkbox>\n </Box>\n </Flex>\n <Flex paddingTop={6} paddingBottom={6}>\n <Grid.Root gap={2} style={{ flex: 1 }}>\n {subCategory.actions.map((action) => {\n const name = `${action.name}.enabled`;\n\n return (\n <Grid.Item col={6} key={action.name} direction=\"column\" alignItems=\"stretch\">\n <CheckboxWrapper isActive={isActionSelected(action.name)} padding={2} hasRadius>\n <Checkbox\n checked={get(modifiedData, name, false)}\n name={name}\n onCheckedChange={(value) => onChange({ target: { name, value } })}\n >\n {action.label}\n </Checkbox>\n <button\n type=\"button\"\n onClick={() => onSelectedAction(action.name)}\n style={{ display: 'inline-flex', alignItems: 'center' }}\n >\n <VisuallyHidden tag=\"span\">\n {formatMessage(\n {\n id: 'app.utils.show-bound-route',\n defaultMessage: 'Show bound route for {route}',\n },\n {\n route: action.name,\n }\n )}\n </VisuallyHidden>\n <Cog id=\"cog\" cursor=\"pointer\" />\n </button>\n </CheckboxWrapper>\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </Flex>\n </Box>\n );\n};\n\nSubCategory.propTypes = {\n subCategory: PropTypes.object.isRequired,\n};\n\nexport default SubCategory;\n"],"names":["Border","styled","div","theme","colors","neutral150","SubCategory","subCategory","formatMessage","useIntl","onChange","onChangeSelectAll","onSelectedAction","selectedAction","modifiedData","useUsersPermissions","currentScopedModifiedData","useMemo","get","name","hasAllActionsSelected","Object","values","every","action","enabled","hasSomeActionsSelected","some","handleChangeSelectAll","useCallback","target","value","isActionSelected","actionName","_jsxs","Box","Flex","justifyContent","alignItems","_jsx","paddingRight","Typography","variant","textColor","label","paddingLeft","Checkbox","checked","onCheckedChange","id","defaultMessage","paddingTop","paddingBottom","Grid","Root","gap","style","flex","actions","map","Item","col","direction","CheckboxWrapper","isActive","padding","hasRadius","button","type","onClick","display","VisuallyHidden","tag","route","Cog","cursor","propTypes","PropTypes","object","isRequired"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../admin/src/components/Permissions/PermissionRow/index.jsx"],"sourcesContent":["import React, { useMemo } from 'react';\n\nimport { Box } from '@strapi/design-system';\nimport sortBy from 'lodash/sortBy';\nimport PropTypes from 'prop-types';\n\nimport SubCategory from './SubCategory';\n\nconst PermissionRow = ({ name, permissions }) => {\n const subCategories = useMemo(() => {\n return sortBy(\n Object.values(permissions.controllers).reduce((acc, curr, index) => {\n const currentName = `${name}.controllers.${Object.keys(permissions.controllers)[index]}`;\n const actions = sortBy(\n Object.keys(curr).reduce((acc, current) => {\n return [\n ...acc,\n {\n ...curr[current],\n label: current,\n name: `${currentName}.${current}`,\n },\n ];\n }, []),\n 'label'\n );\n\n return [\n ...acc,\n {\n actions,\n label: Object.keys(permissions.controllers)[index],\n name: currentName,\n },\n ];\n }, []),\n 'label'\n );\n }, [name, permissions]);\n\n return (\n <Box padding={6}>\n {subCategories.map((subCategory) => (\n <SubCategory key={subCategory.name} subCategory={subCategory} />\n ))}\n </Box>\n );\n};\n\nPermissionRow.propTypes = {\n name: PropTypes.string.isRequired,\n permissions: PropTypes.object.isRequired,\n};\n\nexport default PermissionRow;\n"],"names":["PermissionRow","name","permissions","subCategories","useMemo","sortBy","Object","values","controllers","reduce","acc","curr","index","currentName","keys","actions","current","label","_jsx","Box","padding","map","subCategory","SubCategory","propTypes","PropTypes","string","isRequired","object"],"mappings":";;;;;;;;;AAQA,MAAMA,gBAAgB,CAAC,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAA;AAC1C,IAAA,MAAMC,gBAAgBC,aAAQ,CAAA,IAAA;QAC5B,OAAOC,MAAAA,CACLC,MAAOC,CAAAA,MAAM,CAACL,WAAAA,CAAYM,WAAW,CAAA,CAAEC,MAAM,CAAC,CAACC,GAAAA,EAAKC,IAAMC,EAAAA,KAAAA,GAAAA;AACxD,YAAA,MAAMC,WAAc,GAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../admin/src/components/Permissions/PermissionRow/index.jsx"],"sourcesContent":["import React, { useMemo } from 'react';\n\nimport { Box } from '@strapi/design-system';\nimport sortBy from 'lodash/sortBy';\nimport PropTypes from 'prop-types';\n\nimport SubCategory from './SubCategory';\n\nconst PermissionRow = ({ name, permissions }) => {\n const subCategories = useMemo(() => {\n return sortBy(\n Object.values(permissions.controllers).reduce((acc, curr, index) => {\n const currentName = `${name}.controllers.${Object.keys(permissions.controllers)[index]}`;\n const actions = sortBy(\n Object.keys(curr).reduce((acc, current) => {\n return [\n ...acc,\n {\n ...curr[current],\n label: current,\n name: `${currentName}.${current}`,\n },\n ];\n }, []),\n 'label'\n );\n\n return [\n ...acc,\n {\n actions,\n label: Object.keys(permissions.controllers)[index],\n name: currentName,\n },\n ];\n }, []),\n 'label'\n );\n }, [name, permissions]);\n\n return (\n <Box padding={6}>\n {subCategories.map((subCategory) => (\n <SubCategory key={subCategory.name} subCategory={subCategory} />\n ))}\n </Box>\n );\n};\n\nPermissionRow.propTypes = {\n name: PropTypes.string.isRequired,\n permissions: PropTypes.object.isRequired,\n};\n\nexport default PermissionRow;\n"],"names":["PermissionRow","name","permissions","subCategories","useMemo","sortBy","Object","values","controllers","reduce","acc","curr","index","currentName","keys","actions","current","label","_jsx","Box","padding","map","subCategory","SubCategory","propTypes","PropTypes","string","isRequired","object"],"mappings":";;;;;;;;;AAQA,MAAMA,gBAAgB,CAAC,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAA;AAC1C,IAAA,MAAMC,gBAAgBC,aAAQ,CAAA,IAAA;QAC5B,OAAOC,MAAAA,CACLC,MAAOC,CAAAA,MAAM,CAACL,WAAAA,CAAYM,WAAW,CAAA,CAAEC,MAAM,CAAC,CAACC,GAAAA,EAAKC,IAAMC,EAAAA,KAAAA,GAAAA;AACxD,YAAA,MAAMC,WAAc,GAAA,CAAA,EAAGZ,IAAK,CAAA,aAAa,EAAEK,MAAAA,CAAOQ,IAAI,CAACZ,WAAYM,CAAAA,WAAW,CAAC,CAACI,MAAM,CAAE,CAAA;YACxF,MAAMG,OAAAA,GAAUV,OACdC,MAAOQ,CAAAA,IAAI,CAACH,IAAMF,CAAAA,CAAAA,MAAM,CAAC,CAACC,GAAKM,EAAAA,OAAAA,GAAAA;gBAC7B,OAAO;AACFN,oBAAAA,GAAAA,GAAAA;AACH,oBAAA;wBACE,GAAGC,IAAI,CAACK,OAAQ,CAAA;wBAChBC,KAAOD,EAAAA,OAAAA;AACPf,wBAAAA,IAAAA,EAAM,CAAGY,EAAAA,WAAAA,CAAY,CAAC,EAAEG,OAAS,CAAA;AACnC;AACD,iBAAA;AACH,aAAA,EAAG,EAAE,CACL,EAAA,OAAA,CAAA;YAGF,OAAO;AACFN,gBAAAA,GAAAA,GAAAA;AACH,gBAAA;AACEK,oBAAAA,OAAAA;AACAE,oBAAAA,KAAAA,EAAOX,OAAOQ,IAAI,CAACZ,YAAYM,WAAW,CAAC,CAACI,KAAM,CAAA;oBAClDX,IAAMY,EAAAA;AACR;AACD,aAAA;AACH,SAAA,EAAG,EAAE,CACL,EAAA,OAAA,CAAA;KAED,EAAA;AAACZ,QAAAA,IAAAA;AAAMC,QAAAA;AAAY,KAAA,CAAA;AAEtB,IAAA,qBACEgB,cAACC,CAAAA,gBAAAA,EAAAA;QAAIC,OAAS,EAAA,CAAA;AACXjB,QAAAA,QAAAA,EAAAA,aAAAA,CAAckB,GAAG,CAAC,CAACC,WAAAA,iBAClBJ,cAACK,CAAAA,WAAAA,EAAAA;gBAAmCD,WAAaA,EAAAA;AAA/BA,aAAAA,EAAAA,WAAAA,CAAYrB,IAAI,CAAA;;AAI1C;AAEAD,aAAAA,CAAcwB,SAAS,GAAG;IACxBvB,IAAMwB,EAAAA,SAAAA,CAAUC,MAAM,CAACC,UAAU;IACjCzB,WAAauB,EAAAA,SAAAA,CAAUG,MAAM,CAACD;AAChC,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../admin/src/components/Permissions/PermissionRow/index.jsx"],"sourcesContent":["import React, { useMemo } from 'react';\n\nimport { Box } from '@strapi/design-system';\nimport sortBy from 'lodash/sortBy';\nimport PropTypes from 'prop-types';\n\nimport SubCategory from './SubCategory';\n\nconst PermissionRow = ({ name, permissions }) => {\n const subCategories = useMemo(() => {\n return sortBy(\n Object.values(permissions.controllers).reduce((acc, curr, index) => {\n const currentName = `${name}.controllers.${Object.keys(permissions.controllers)[index]}`;\n const actions = sortBy(\n Object.keys(curr).reduce((acc, current) => {\n return [\n ...acc,\n {\n ...curr[current],\n label: current,\n name: `${currentName}.${current}`,\n },\n ];\n }, []),\n 'label'\n );\n\n return [\n ...acc,\n {\n actions,\n label: Object.keys(permissions.controllers)[index],\n name: currentName,\n },\n ];\n }, []),\n 'label'\n );\n }, [name, permissions]);\n\n return (\n <Box padding={6}>\n {subCategories.map((subCategory) => (\n <SubCategory key={subCategory.name} subCategory={subCategory} />\n ))}\n </Box>\n );\n};\n\nPermissionRow.propTypes = {\n name: PropTypes.string.isRequired,\n permissions: PropTypes.object.isRequired,\n};\n\nexport default PermissionRow;\n"],"names":["PermissionRow","name","permissions","subCategories","useMemo","sortBy","Object","values","controllers","reduce","acc","curr","index","currentName","keys","actions","current","label","_jsx","Box","padding","map","subCategory","SubCategory","propTypes","PropTypes","string","isRequired","object"],"mappings":";;;;;;;AAQA,MAAMA,gBAAgB,CAAC,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAA;AAC1C,IAAA,MAAMC,gBAAgBC,OAAQ,CAAA,IAAA;QAC5B,OAAOC,MAAAA,CACLC,MAAOC,CAAAA,MAAM,CAACL,WAAAA,CAAYM,WAAW,CAAA,CAAEC,MAAM,CAAC,CAACC,GAAAA,EAAKC,IAAMC,EAAAA,KAAAA,GAAAA;AACxD,YAAA,MAAMC,WAAc,GAAA,
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../admin/src/components/Permissions/PermissionRow/index.jsx"],"sourcesContent":["import React, { useMemo } from 'react';\n\nimport { Box } from '@strapi/design-system';\nimport sortBy from 'lodash/sortBy';\nimport PropTypes from 'prop-types';\n\nimport SubCategory from './SubCategory';\n\nconst PermissionRow = ({ name, permissions }) => {\n const subCategories = useMemo(() => {\n return sortBy(\n Object.values(permissions.controllers).reduce((acc, curr, index) => {\n const currentName = `${name}.controllers.${Object.keys(permissions.controllers)[index]}`;\n const actions = sortBy(\n Object.keys(curr).reduce((acc, current) => {\n return [\n ...acc,\n {\n ...curr[current],\n label: current,\n name: `${currentName}.${current}`,\n },\n ];\n }, []),\n 'label'\n );\n\n return [\n ...acc,\n {\n actions,\n label: Object.keys(permissions.controllers)[index],\n name: currentName,\n },\n ];\n }, []),\n 'label'\n );\n }, [name, permissions]);\n\n return (\n <Box padding={6}>\n {subCategories.map((subCategory) => (\n <SubCategory key={subCategory.name} subCategory={subCategory} />\n ))}\n </Box>\n );\n};\n\nPermissionRow.propTypes = {\n name: PropTypes.string.isRequired,\n permissions: PropTypes.object.isRequired,\n};\n\nexport default PermissionRow;\n"],"names":["PermissionRow","name","permissions","subCategories","useMemo","sortBy","Object","values","controllers","reduce","acc","curr","index","currentName","keys","actions","current","label","_jsx","Box","padding","map","subCategory","SubCategory","propTypes","PropTypes","string","isRequired","object"],"mappings":";;;;;;;AAQA,MAAMA,gBAAgB,CAAC,EAAEC,IAAI,EAAEC,WAAW,EAAE,GAAA;AAC1C,IAAA,MAAMC,gBAAgBC,OAAQ,CAAA,IAAA;QAC5B,OAAOC,MAAAA,CACLC,MAAOC,CAAAA,MAAM,CAACL,WAAAA,CAAYM,WAAW,CAAA,CAAEC,MAAM,CAAC,CAACC,GAAAA,EAAKC,IAAMC,EAAAA,KAAAA,GAAAA;AACxD,YAAA,MAAMC,WAAc,GAAA,CAAA,EAAGZ,IAAK,CAAA,aAAa,EAAEK,MAAAA,CAAOQ,IAAI,CAACZ,WAAYM,CAAAA,WAAW,CAAC,CAACI,MAAM,CAAE,CAAA;YACxF,MAAMG,OAAAA,GAAUV,OACdC,MAAOQ,CAAAA,IAAI,CAACH,IAAMF,CAAAA,CAAAA,MAAM,CAAC,CAACC,GAAKM,EAAAA,OAAAA,GAAAA;gBAC7B,OAAO;AACFN,oBAAAA,GAAAA,GAAAA;AACH,oBAAA;wBACE,GAAGC,IAAI,CAACK,OAAQ,CAAA;wBAChBC,KAAOD,EAAAA,OAAAA;AACPf,wBAAAA,IAAAA,EAAM,CAAGY,EAAAA,WAAAA,CAAY,CAAC,EAAEG,OAAS,CAAA;AACnC;AACD,iBAAA;AACH,aAAA,EAAG,EAAE,CACL,EAAA,OAAA,CAAA;YAGF,OAAO;AACFN,gBAAAA,GAAAA,GAAAA;AACH,gBAAA;AACEK,oBAAAA,OAAAA;AACAE,oBAAAA,KAAAA,EAAOX,OAAOQ,IAAI,CAACZ,YAAYM,WAAW,CAAC,CAACI,KAAM,CAAA;oBAClDX,IAAMY,EAAAA;AACR;AACD,aAAA;AACH,SAAA,EAAG,EAAE,CACL,EAAA,OAAA,CAAA;KAED,EAAA;AAACZ,QAAAA,IAAAA;AAAMC,QAAAA;AAAY,KAAA,CAAA;AAEtB,IAAA,qBACEgB,GAACC,CAAAA,GAAAA,EAAAA;QAAIC,OAAS,EAAA,CAAA;AACXjB,QAAAA,QAAAA,EAAAA,aAAAA,CAAckB,GAAG,CAAC,CAACC,WAAAA,iBAClBJ,GAACK,CAAAA,WAAAA,EAAAA;gBAAmCD,WAAaA,EAAAA;AAA/BA,aAAAA,EAAAA,WAAAA,CAAYrB,IAAI,CAAA;;AAI1C;AAEAD,aAAAA,CAAcwB,SAAS,GAAG;IACxBvB,IAAMwB,EAAAA,SAAAA,CAAUC,MAAM,CAACC,UAAU;IACjCzB,WAAauB,EAAAA,SAAAA,CAAUG,MAAM,CAACD;AAChC,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailForm.js","sources":["../../../../../admin/src/pages/EmailTemplates/components/EmailForm.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Grid, Modal, Breadcrumbs, Crumb, VisuallyHidden } from '@strapi/design-system';\nimport { Form, InputRenderer } from '@strapi/strapi/admin';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\nimport schema from '../utils/schema';\n\nconst EmailForm = ({ template = {}, onToggle, open, onSubmit }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Modal.Root open={open} onOpenChange={onToggle}>\n <Modal.Content>\n <Modal.Header>\n <Breadcrumbs\n label={`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${\n template.display\n ? formatMessage({\n id: getTrad(template.display),\n defaultMessage: template.display,\n })\n : ''\n }`}\n >\n <Crumb>\n {formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}\n </Crumb>\n <Crumb isCurrent>\n {template.display\n ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display })\n : ''}\n </Crumb>\n </Breadcrumbs>\n <VisuallyHidden>\n <Modal.Title>\n {`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${template.display ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display }) : ''}`}\n </Modal.Title>\n </VisuallyHidden>\n </Modal.Header>\n <Form onSubmit={onSubmit} initialValues={template} validationSchema={schema}>\n {({ isSubmitting }) => {\n return (\n <>\n <Modal.Body>\n <Grid.Root gap={5}>\n {[\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.name.label'),\n defaultMessage: 'Shipper name',\n }),\n name: 'options.from.name',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.email.label'),\n defaultMessage: 'Shipper email',\n }),\n name: 'options.from.email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.response_email.label'),\n defaultMessage: 'Response email',\n }),\n name: 'options.response_email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.object.label'),\n defaultMessage: 'Subject',\n }),\n name: 'options.object',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.message.label'),\n defaultMessage: 'Message',\n }),\n name: 'options.message',\n size: 12,\n type: 'text',\n },\n ].map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">Cancel</Button>\n </Modal.Close>\n <Button loading={isSubmitting} type=\"submit\">\n Finish\n </Button>\n </Modal.Footer>\n </>\n );\n }}\n </Form>\n </Modal.Content>\n </Modal.Root>\n );\n};\n\nEmailForm.defaultProps = {\n template: {},\n};\n\nEmailForm.propTypes = {\n template: PropTypes.shape({\n display: PropTypes.string,\n icon: PropTypes.string,\n options: PropTypes.shape({\n from: PropTypes.shape({\n name: PropTypes.string,\n email: PropTypes.string,\n }),\n message: PropTypes.string,\n object: PropTypes.string,\n response_email: PropTypes.string,\n }),\n }),\n open: PropTypes.bool.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onToggle: PropTypes.func.isRequired,\n};\n\nexport default EmailForm;\n"],"names":["EmailForm","template","onToggle","open","onSubmit","formatMessage","useIntl","_jsx","Modal","Root","onOpenChange","_jsxs","Content","Header","Breadcrumbs","label","id","getTrad","defaultMessage","display","Crumb","isCurrent","VisuallyHidden","Title","Form","initialValues","validationSchema","schema","isSubmitting","_Fragment","Body","Grid","gap","name","size","type","map","field","Item","col","direction","alignItems","InputRenderer","Footer","Close","Button","variant","loading","defaultProps","propTypes","PropTypes","shape","string","icon","options","from","email","message","object","response_email","bool","isRequired","func"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EmailForm.js","sources":["../../../../../admin/src/pages/EmailTemplates/components/EmailForm.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Grid, Modal, Breadcrumbs, Crumb, VisuallyHidden } from '@strapi/design-system';\nimport { Form, InputRenderer } from '@strapi/strapi/admin';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\nimport schema from '../utils/schema';\n\nconst EmailForm = ({ template = {}, onToggle, open, onSubmit }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Modal.Root open={open} onOpenChange={onToggle}>\n <Modal.Content>\n <Modal.Header>\n <Breadcrumbs\n label={`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${\n template.display\n ? formatMessage({\n id: getTrad(template.display),\n defaultMessage: template.display,\n })\n : ''\n }`}\n >\n <Crumb>\n {formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}\n </Crumb>\n <Crumb isCurrent>\n {template.display\n ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display })\n : ''}\n </Crumb>\n </Breadcrumbs>\n <VisuallyHidden>\n <Modal.Title>\n {`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${template.display ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display }) : ''}`}\n </Modal.Title>\n </VisuallyHidden>\n </Modal.Header>\n <Form onSubmit={onSubmit} initialValues={template} validationSchema={schema}>\n {({ isSubmitting }) => {\n return (\n <>\n <Modal.Body>\n <Grid.Root gap={5}>\n {[\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.name.label'),\n defaultMessage: 'Shipper name',\n }),\n name: 'options.from.name',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.email.label'),\n defaultMessage: 'Shipper email',\n }),\n name: 'options.from.email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.response_email.label'),\n defaultMessage: 'Response email',\n }),\n name: 'options.response_email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.object.label'),\n defaultMessage: 'Subject',\n }),\n name: 'options.object',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.message.label'),\n defaultMessage: 'Message',\n }),\n name: 'options.message',\n size: 12,\n type: 'text',\n },\n ].map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">Cancel</Button>\n </Modal.Close>\n <Button loading={isSubmitting} type=\"submit\">\n Finish\n </Button>\n </Modal.Footer>\n </>\n );\n }}\n </Form>\n </Modal.Content>\n </Modal.Root>\n );\n};\n\nEmailForm.defaultProps = {\n template: {},\n};\n\nEmailForm.propTypes = {\n template: PropTypes.shape({\n display: PropTypes.string,\n icon: PropTypes.string,\n options: PropTypes.shape({\n from: PropTypes.shape({\n name: PropTypes.string,\n email: PropTypes.string,\n }),\n message: PropTypes.string,\n object: PropTypes.string,\n response_email: PropTypes.string,\n }),\n }),\n open: PropTypes.bool.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onToggle: PropTypes.func.isRequired,\n};\n\nexport default EmailForm;\n"],"names":["EmailForm","template","onToggle","open","onSubmit","formatMessage","useIntl","_jsx","Modal","Root","onOpenChange","_jsxs","Content","Header","Breadcrumbs","label","id","getTrad","defaultMessage","display","Crumb","isCurrent","VisuallyHidden","Title","Form","initialValues","validationSchema","schema","isSubmitting","_Fragment","Body","Grid","gap","name","size","type","map","field","Item","col","direction","alignItems","InputRenderer","Footer","Close","Button","variant","loading","defaultProps","propTypes","PropTypes","shape","string","icon","options","from","email","message","object","response_email","bool","isRequired","func"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailForm.mjs","sources":["../../../../../admin/src/pages/EmailTemplates/components/EmailForm.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Grid, Modal, Breadcrumbs, Crumb, VisuallyHidden } from '@strapi/design-system';\nimport { Form, InputRenderer } from '@strapi/strapi/admin';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\nimport schema from '../utils/schema';\n\nconst EmailForm = ({ template = {}, onToggle, open, onSubmit }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Modal.Root open={open} onOpenChange={onToggle}>\n <Modal.Content>\n <Modal.Header>\n <Breadcrumbs\n label={`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${\n template.display\n ? formatMessage({\n id: getTrad(template.display),\n defaultMessage: template.display,\n })\n : ''\n }`}\n >\n <Crumb>\n {formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}\n </Crumb>\n <Crumb isCurrent>\n {template.display\n ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display })\n : ''}\n </Crumb>\n </Breadcrumbs>\n <VisuallyHidden>\n <Modal.Title>\n {`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${template.display ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display }) : ''}`}\n </Modal.Title>\n </VisuallyHidden>\n </Modal.Header>\n <Form onSubmit={onSubmit} initialValues={template} validationSchema={schema}>\n {({ isSubmitting }) => {\n return (\n <>\n <Modal.Body>\n <Grid.Root gap={5}>\n {[\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.name.label'),\n defaultMessage: 'Shipper name',\n }),\n name: 'options.from.name',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.email.label'),\n defaultMessage: 'Shipper email',\n }),\n name: 'options.from.email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.response_email.label'),\n defaultMessage: 'Response email',\n }),\n name: 'options.response_email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.object.label'),\n defaultMessage: 'Subject',\n }),\n name: 'options.object',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.message.label'),\n defaultMessage: 'Message',\n }),\n name: 'options.message',\n size: 12,\n type: 'text',\n },\n ].map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">Cancel</Button>\n </Modal.Close>\n <Button loading={isSubmitting} type=\"submit\">\n Finish\n </Button>\n </Modal.Footer>\n </>\n );\n }}\n </Form>\n </Modal.Content>\n </Modal.Root>\n );\n};\n\nEmailForm.defaultProps = {\n template: {},\n};\n\nEmailForm.propTypes = {\n template: PropTypes.shape({\n display: PropTypes.string,\n icon: PropTypes.string,\n options: PropTypes.shape({\n from: PropTypes.shape({\n name: PropTypes.string,\n email: PropTypes.string,\n }),\n message: PropTypes.string,\n object: PropTypes.string,\n response_email: PropTypes.string,\n }),\n }),\n open: PropTypes.bool.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onToggle: PropTypes.func.isRequired,\n};\n\nexport default EmailForm;\n"],"names":["EmailForm","template","onToggle","open","onSubmit","formatMessage","useIntl","_jsx","Modal","Root","onOpenChange","_jsxs","Content","Header","Breadcrumbs","label","id","getTrad","defaultMessage","display","Crumb","isCurrent","VisuallyHidden","Title","Form","initialValues","validationSchema","schema","isSubmitting","_Fragment","Body","Grid","gap","name","size","type","map","field","Item","col","direction","alignItems","InputRenderer","Footer","Close","Button","variant","loading","defaultProps","propTypes","PropTypes","shape","string","icon","options","from","email","message","object","response_email","bool","isRequired","func"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EmailForm.mjs","sources":["../../../../../admin/src/pages/EmailTemplates/components/EmailForm.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Grid, Modal, Breadcrumbs, Crumb, VisuallyHidden } from '@strapi/design-system';\nimport { Form, InputRenderer } from '@strapi/strapi/admin';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\nimport schema from '../utils/schema';\n\nconst EmailForm = ({ template = {}, onToggle, open, onSubmit }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Modal.Root open={open} onOpenChange={onToggle}>\n <Modal.Content>\n <Modal.Header>\n <Breadcrumbs\n label={`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${\n template.display\n ? formatMessage({\n id: getTrad(template.display),\n defaultMessage: template.display,\n })\n : ''\n }`}\n >\n <Crumb>\n {formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}\n </Crumb>\n <Crumb isCurrent>\n {template.display\n ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display })\n : ''}\n </Crumb>\n </Breadcrumbs>\n <VisuallyHidden>\n <Modal.Title>\n {`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${template.display ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display }) : ''}`}\n </Modal.Title>\n </VisuallyHidden>\n </Modal.Header>\n <Form onSubmit={onSubmit} initialValues={template} validationSchema={schema}>\n {({ isSubmitting }) => {\n return (\n <>\n <Modal.Body>\n <Grid.Root gap={5}>\n {[\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.name.label'),\n defaultMessage: 'Shipper name',\n }),\n name: 'options.from.name',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.email.label'),\n defaultMessage: 'Shipper email',\n }),\n name: 'options.from.email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.response_email.label'),\n defaultMessage: 'Response email',\n }),\n name: 'options.response_email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.object.label'),\n defaultMessage: 'Subject',\n }),\n name: 'options.object',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.message.label'),\n defaultMessage: 'Message',\n }),\n name: 'options.message',\n size: 12,\n type: 'text',\n },\n ].map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">Cancel</Button>\n </Modal.Close>\n <Button loading={isSubmitting} type=\"submit\">\n Finish\n </Button>\n </Modal.Footer>\n </>\n );\n }}\n </Form>\n </Modal.Content>\n </Modal.Root>\n );\n};\n\nEmailForm.defaultProps = {\n template: {},\n};\n\nEmailForm.propTypes = {\n template: PropTypes.shape({\n display: PropTypes.string,\n icon: PropTypes.string,\n options: PropTypes.shape({\n from: PropTypes.shape({\n name: PropTypes.string,\n email: PropTypes.string,\n }),\n message: PropTypes.string,\n object: PropTypes.string,\n response_email: PropTypes.string,\n }),\n }),\n open: PropTypes.bool.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onToggle: PropTypes.func.isRequired,\n};\n\nexport default EmailForm;\n"],"names":["EmailForm","template","onToggle","open","onSubmit","formatMessage","useIntl","_jsx","Modal","Root","onOpenChange","_jsxs","Content","Header","Breadcrumbs","label","id","getTrad","defaultMessage","display","Crumb","isCurrent","VisuallyHidden","Title","Form","initialValues","validationSchema","schema","isSubmitting","_Fragment","Body","Grid","gap","name","size","type","map","field","Item","col","direction","alignItems","InputRenderer","Footer","Close","Button","variant","loading","defaultProps","propTypes","PropTypes","shape","string","icon","options","from","email","message","object","response_email","bool","isRequired","func"],"mappings":"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"}
|
|
@@ -143,7 +143,7 @@ const ProvidersPage = ()=>{
|
|
|
143
143
|
if (isLoading) {
|
|
144
144
|
return /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Loading, {});
|
|
145
145
|
}
|
|
146
|
-
return /*#__PURE__*/ jsxRuntime.jsxs(
|
|
146
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(admin.Page.Main, {
|
|
147
147
|
children: [
|
|
148
148
|
/*#__PURE__*/ jsxRuntime.jsx(admin.Page.Title, {
|
|
149
149
|
children: formatMessage({
|
|
@@ -156,98 +156,94 @@ const ProvidersPage = ()=>{
|
|
|
156
156
|
})
|
|
157
157
|
})
|
|
158
158
|
}),
|
|
159
|
-
/*#__PURE__*/ jsxRuntime.
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
children:
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
children:
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
id: 'global.settings',
|
|
201
|
-
defaultMessage: 'Settings'
|
|
202
|
-
})
|
|
203
|
-
})
|
|
159
|
+
/*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Header, {
|
|
160
|
+
title: formatMessage({
|
|
161
|
+
id: getTrad('HeaderNav.link.providers'),
|
|
162
|
+
defaultMessage: 'Providers'
|
|
163
|
+
})
|
|
164
|
+
}),
|
|
165
|
+
/*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Content, {
|
|
166
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Table, {
|
|
167
|
+
colCount: 3,
|
|
168
|
+
rowCount: providers.length + 1,
|
|
169
|
+
children: [
|
|
170
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Thead, {
|
|
171
|
+
children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tr, {
|
|
172
|
+
children: [
|
|
173
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
|
|
174
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
175
|
+
variant: "sigma",
|
|
176
|
+
textColor: "neutral600",
|
|
177
|
+
children: formatMessage({
|
|
178
|
+
id: 'global.name',
|
|
179
|
+
defaultMessage: 'Name'
|
|
180
|
+
})
|
|
181
|
+
})
|
|
182
|
+
}),
|
|
183
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
|
|
184
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
185
|
+
variant: "sigma",
|
|
186
|
+
textColor: "neutral600",
|
|
187
|
+
children: formatMessage({
|
|
188
|
+
id: getTrad('Providers.status'),
|
|
189
|
+
defaultMessage: 'Status'
|
|
190
|
+
})
|
|
191
|
+
})
|
|
192
|
+
}),
|
|
193
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
|
|
194
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
195
|
+
variant: "sigma",
|
|
196
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.VisuallyHidden, {
|
|
197
|
+
children: formatMessage({
|
|
198
|
+
id: 'global.settings',
|
|
199
|
+
defaultMessage: 'Settings'
|
|
204
200
|
})
|
|
205
201
|
})
|
|
206
|
-
|
|
202
|
+
})
|
|
207
203
|
})
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
}),
|
|
235
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
|
|
236
|
-
onClick: (e)=>e.stopPropagation(),
|
|
237
|
-
children: canUpdate && /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
|
|
238
|
-
onClick: ()=>handleClickEdit(provider),
|
|
239
|
-
variant: "ghost",
|
|
240
|
-
label: "Edit",
|
|
241
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(icons.Pencil, {})
|
|
242
|
-
})
|
|
204
|
+
]
|
|
205
|
+
})
|
|
206
|
+
}),
|
|
207
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Tbody, {
|
|
208
|
+
children: providers.map((provider)=>/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tr, {
|
|
209
|
+
onClick: ()=>canUpdate ? handleClickEdit(provider) : undefined,
|
|
210
|
+
children: [
|
|
211
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
|
|
212
|
+
width: "45%",
|
|
213
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
214
|
+
fontWeight: "semiBold",
|
|
215
|
+
textColor: "neutral800",
|
|
216
|
+
children: provider.name
|
|
217
|
+
})
|
|
218
|
+
}),
|
|
219
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
|
|
220
|
+
width: "65%",
|
|
221
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
222
|
+
textColor: provider.enabled ? 'success600' : 'danger600',
|
|
223
|
+
"data-testid": `enable-${provider.name}`,
|
|
224
|
+
children: provider.enabled ? formatMessage({
|
|
225
|
+
id: 'global.enabled',
|
|
226
|
+
defaultMessage: 'Enabled'
|
|
227
|
+
}) : formatMessage({
|
|
228
|
+
id: 'global.disabled',
|
|
229
|
+
defaultMessage: 'Disabled'
|
|
243
230
|
})
|
|
244
|
-
|
|
245
|
-
},
|
|
246
|
-
|
|
247
|
-
|
|
231
|
+
})
|
|
232
|
+
}),
|
|
233
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
|
|
234
|
+
onClick: (e)=>e.stopPropagation(),
|
|
235
|
+
children: canUpdate && /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
|
|
236
|
+
onClick: ()=>handleClickEdit(provider),
|
|
237
|
+
variant: "ghost",
|
|
238
|
+
label: "Edit",
|
|
239
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(icons.Pencil, {})
|
|
240
|
+
})
|
|
241
|
+
})
|
|
242
|
+
]
|
|
243
|
+
}, provider.name))
|
|
248
244
|
})
|
|
249
|
-
|
|
250
|
-
|
|
245
|
+
]
|
|
246
|
+
})
|
|
251
247
|
}),
|
|
252
248
|
/*#__PURE__*/ jsxRuntime.jsx(index, {
|
|
253
249
|
initialData: data[providerToEditName],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../admin/src/pages/Providers/index.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useTracking, Layouts } from '@strapi/admin/strapi-admin';\nimport {\n IconButton,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n useCollator,\n} from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport {\n Page,\n useAPIErrorHandler,\n useNotification,\n useFetchClient,\n useRBAC,\n} from '@strapi/strapi/admin';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport FormModal from '../../components/FormModal';\nimport { PERMISSIONS } from '../../constants';\nimport { getTrad } from '../../utils';\n\nimport forms from './utils/forms';\n\nexport const ProvidersPage = () => {\n const { formatMessage, locale } = useIntl();\n const queryClient = useQueryClient();\n const { trackUsage } = useTracking();\n const [isOpen, setIsOpen] = React.useState(false);\n const [providerToEditName, setProviderToEditName] = React.useState(null);\n const { toggleNotification } = useNotification();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const {\n isLoading: isLoadingPermissions,\n allowedActions: { canUpdate },\n } = useRBAC({ update: PERMISSIONS.updateProviders });\n\n const { isLoading: isLoadingData, data } = useQuery(\n ['users-permissions', 'get-providers'],\n async () => {\n const { data } = await get('/users-permissions/providers');\n\n return data;\n },\n {\n initialData: {},\n }\n );\n\n const submitMutation = useMutation((body) => put('/users-permissions/providers', body), {\n async onSuccess() {\n await queryClient.invalidateQueries(['users-permissions', 'get-providers']);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: getTrad('notification.success.submit') }),\n });\n\n trackUsage('didEditAuthenticationProvider');\n\n handleToggleModal();\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n refetchActive: false,\n });\n\n const providers = Object.entries(data)\n .reduce((acc, [name, provider]) => {\n const { icon, enabled, subdomain } = provider;\n\n acc.push({\n name,\n icon: icon === 'envelope' ? ['fas', 'envelope'] : ['fab', icon],\n enabled,\n subdomain,\n });\n\n return acc;\n }, [])\n .sort((a, b) => formatter.compare(a.name, b.name));\n\n const isLoading = isLoadingData || isLoadingPermissions;\n\n const isProviderWithSubdomain = React.useMemo(() => {\n if (!providerToEditName) {\n return false;\n }\n\n const providerToEdit = providers.find((obj) => obj.name === providerToEditName);\n\n return !!providerToEdit?.subdomain;\n }, [providers, providerToEditName]);\n\n const layoutToRender = React.useMemo(() => {\n if (providerToEditName === 'email') {\n return forms.email;\n }\n\n if (isProviderWithSubdomain) {\n return forms.providersWithSubdomain;\n }\n\n return forms.providers;\n }, [providerToEditName, isProviderWithSubdomain]);\n\n const handleToggleModal = () => {\n setIsOpen((prev) => !prev);\n };\n\n const handleClickEdit = (provider) => {\n if (canUpdate) {\n setProviderToEditName(provider.name);\n handleToggleModal();\n }\n };\n\n const handleSubmit = async (values) => {\n trackUsage('willEditAuthenticationProvider');\n\n submitMutation.mutate({ providers: { ...data, [providerToEditName]: values } });\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: getTrad('HeaderNav.link.providers'),\n defaultMessage: 'Providers',\n }),\n }\n )}\n </Page.Title>\n <Page.Main>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('HeaderNav.link.providers'),\n defaultMessage: 'Providers',\n })}\n />\n <Layouts.Content>\n <Table colCount={3} rowCount={providers.length + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'global.name', defaultMessage: 'Name' })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: getTrad('Providers.status'), defaultMessage: 'Status' })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\">\n <VisuallyHidden>\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </VisuallyHidden>\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {providers.map((provider) => (\n <Tr\n key={provider.name}\n onClick={() => (canUpdate ? handleClickEdit(provider) : undefined)}\n >\n <Td width=\"45%\">\n <Typography fontWeight=\"semiBold\" textColor=\"neutral800\">\n {provider.name}\n </Typography>\n </Td>\n <Td width=\"65%\">\n <Typography\n textColor={provider.enabled ? 'success600' : 'danger600'}\n data-testid={`enable-${provider.name}`}\n >\n {provider.enabled\n ? formatMessage({\n id: 'global.enabled',\n defaultMessage: 'Enabled',\n })\n : formatMessage({\n id: 'global.disabled',\n defaultMessage: 'Disabled',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n {canUpdate && (\n <IconButton\n onClick={() => handleClickEdit(provider)}\n variant=\"ghost\"\n label=\"Edit\"\n >\n <Pencil />\n </IconButton>\n )}\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n </Layouts.Content>\n </Page.Main>\n <FormModal\n initialData={data[providerToEditName]}\n isOpen={isOpen}\n isSubmiting={submitMutation.isLoading}\n layout={layoutToRender}\n headerBreadcrumbs={[\n formatMessage({\n id: getTrad('PopUpForm.header.edit.providers'),\n defaultMessage: 'Edit Provider',\n }),\n upperFirst(providerToEditName),\n ]}\n onToggle={handleToggleModal}\n onSubmit={handleSubmit}\n providerToEditName={providerToEditName}\n />\n </Layouts.Root>\n );\n};\n\nconst ProtectedProvidersPage = () => (\n <Page.Protect permissions={PERMISSIONS.readProviders}>\n <ProvidersPage />\n </Page.Protect>\n);\n\nexport default ProtectedProvidersPage;\n"],"names":["ProvidersPage","formatMessage","locale","useIntl","queryClient","useQueryClient","trackUsage","useTracking","isOpen","setIsOpen","React","useState","providerToEditName","setProviderToEditName","toggleNotification","useNotification","get","put","useFetchClient","formatAPIError","useAPIErrorHandler","formatter","useCollator","sensitivity","isLoading","isLoadingPermissions","allowedActions","canUpdate","useRBAC","update","PERMISSIONS","updateProviders","isLoadingData","data","useQuery","initialData","submitMutation","useMutation","body","onSuccess","invalidateQueries","type","message","id","getTrad","handleToggleModal","onError","error","refetchActive","providers","Object","entries","reduce","acc","name","provider","icon","enabled","subdomain","push","sort","a","b","compare","isProviderWithSubdomain","useMemo","providerToEdit","find","obj","layoutToRender","forms","email","providersWithSubdomain","prev","handleClickEdit","handleSubmit","values","mutate","_jsx","Page","Loading","_jsxs","Layouts","Root","Title","defaultMessage","Main","Header","title","Content","Table","colCount","rowCount","length","Thead","Tr","Th","Typography","variant","textColor","VisuallyHidden","Tbody","map","onClick","undefined","Td","width","fontWeight","data-testid","e","stopPropagation","IconButton","label","Pencil","FormModal","isSubmiting","layout","headerBreadcrumbs","upperFirst","onToggle","onSubmit","ProtectedProvidersPage","Protect","permissions","readProviders"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../admin/src/pages/Providers/index.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useTracking, Layouts } from '@strapi/admin/strapi-admin';\nimport {\n IconButton,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n useCollator,\n} from '@strapi/design-system';\nimport { Pencil } from '@strapi/icons';\nimport {\n Page,\n useAPIErrorHandler,\n useNotification,\n useFetchClient,\n useRBAC,\n} from '@strapi/strapi/admin';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport FormModal from '../../components/FormModal';\nimport { PERMISSIONS } from '../../constants';\nimport { getTrad } from '../../utils';\n\nimport forms from './utils/forms';\n\nexport const ProvidersPage = () => {\n const { formatMessage, locale } = useIntl();\n const queryClient = useQueryClient();\n const { trackUsage } = useTracking();\n const [isOpen, setIsOpen] = React.useState(false);\n const [providerToEditName, setProviderToEditName] = React.useState(null);\n const { toggleNotification } = useNotification();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const {\n isLoading: isLoadingPermissions,\n allowedActions: { canUpdate },\n } = useRBAC({ update: PERMISSIONS.updateProviders });\n\n const { isLoading: isLoadingData, data } = useQuery(\n ['users-permissions', 'get-providers'],\n async () => {\n const { data } = await get('/users-permissions/providers');\n\n return data;\n },\n {\n initialData: {},\n }\n );\n\n const submitMutation = useMutation((body) => put('/users-permissions/providers', body), {\n async onSuccess() {\n await queryClient.invalidateQueries(['users-permissions', 'get-providers']);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: getTrad('notification.success.submit') }),\n });\n\n trackUsage('didEditAuthenticationProvider');\n\n handleToggleModal();\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n refetchActive: false,\n });\n\n const providers = Object.entries(data)\n .reduce((acc, [name, provider]) => {\n const { icon, enabled, subdomain } = provider;\n\n acc.push({\n name,\n icon: icon === 'envelope' ? ['fas', 'envelope'] : ['fab', icon],\n enabled,\n subdomain,\n });\n\n return acc;\n }, [])\n .sort((a, b) => formatter.compare(a.name, b.name));\n\n const isLoading = isLoadingData || isLoadingPermissions;\n\n const isProviderWithSubdomain = React.useMemo(() => {\n if (!providerToEditName) {\n return false;\n }\n\n const providerToEdit = providers.find((obj) => obj.name === providerToEditName);\n\n return !!providerToEdit?.subdomain;\n }, [providers, providerToEditName]);\n\n const layoutToRender = React.useMemo(() => {\n if (providerToEditName === 'email') {\n return forms.email;\n }\n\n if (isProviderWithSubdomain) {\n return forms.providersWithSubdomain;\n }\n\n return forms.providers;\n }, [providerToEditName, isProviderWithSubdomain]);\n\n const handleToggleModal = () => {\n setIsOpen((prev) => !prev);\n };\n\n const handleClickEdit = (provider) => {\n if (canUpdate) {\n setProviderToEditName(provider.name);\n handleToggleModal();\n }\n };\n\n const handleSubmit = async (values) => {\n trackUsage('willEditAuthenticationProvider');\n\n submitMutation.mutate({ providers: { ...data, [providerToEditName]: values } });\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: getTrad('HeaderNav.link.providers'),\n defaultMessage: 'Providers',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('HeaderNav.link.providers'),\n defaultMessage: 'Providers',\n })}\n />\n <Layouts.Content>\n <Table colCount={3} rowCount={providers.length + 1}>\n <Thead>\n <Tr>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: 'global.name', defaultMessage: 'Name' })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({ id: getTrad('Providers.status'), defaultMessage: 'Status' })}\n </Typography>\n </Th>\n <Th>\n <Typography variant=\"sigma\">\n <VisuallyHidden>\n {formatMessage({\n id: 'global.settings',\n defaultMessage: 'Settings',\n })}\n </VisuallyHidden>\n </Typography>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n {providers.map((provider) => (\n <Tr\n key={provider.name}\n onClick={() => (canUpdate ? handleClickEdit(provider) : undefined)}\n >\n <Td width=\"45%\">\n <Typography fontWeight=\"semiBold\" textColor=\"neutral800\">\n {provider.name}\n </Typography>\n </Td>\n <Td width=\"65%\">\n <Typography\n textColor={provider.enabled ? 'success600' : 'danger600'}\n data-testid={`enable-${provider.name}`}\n >\n {provider.enabled\n ? formatMessage({\n id: 'global.enabled',\n defaultMessage: 'Enabled',\n })\n : formatMessage({\n id: 'global.disabled',\n defaultMessage: 'Disabled',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n {canUpdate && (\n <IconButton\n onClick={() => handleClickEdit(provider)}\n variant=\"ghost\"\n label=\"Edit\"\n >\n <Pencil />\n </IconButton>\n )}\n </Td>\n </Tr>\n ))}\n </Tbody>\n </Table>\n </Layouts.Content>\n <FormModal\n initialData={data[providerToEditName]}\n isOpen={isOpen}\n isSubmiting={submitMutation.isLoading}\n layout={layoutToRender}\n headerBreadcrumbs={[\n formatMessage({\n id: getTrad('PopUpForm.header.edit.providers'),\n defaultMessage: 'Edit Provider',\n }),\n upperFirst(providerToEditName),\n ]}\n onToggle={handleToggleModal}\n onSubmit={handleSubmit}\n providerToEditName={providerToEditName}\n />\n </Page.Main>\n );\n};\n\nconst ProtectedProvidersPage = () => (\n <Page.Protect permissions={PERMISSIONS.readProviders}>\n <ProvidersPage />\n </Page.Protect>\n);\n\nexport default ProtectedProvidersPage;\n"],"names":["ProvidersPage","formatMessage","locale","useIntl","queryClient","useQueryClient","trackUsage","useTracking","isOpen","setIsOpen","React","useState","providerToEditName","setProviderToEditName","toggleNotification","useNotification","get","put","useFetchClient","formatAPIError","useAPIErrorHandler","formatter","useCollator","sensitivity","isLoading","isLoadingPermissions","allowedActions","canUpdate","useRBAC","update","PERMISSIONS","updateProviders","isLoadingData","data","useQuery","initialData","submitMutation","useMutation","body","onSuccess","invalidateQueries","type","message","id","getTrad","handleToggleModal","onError","error","refetchActive","providers","Object","entries","reduce","acc","name","provider","icon","enabled","subdomain","push","sort","a","b","compare","isProviderWithSubdomain","useMemo","providerToEdit","find","obj","layoutToRender","forms","email","providersWithSubdomain","prev","handleClickEdit","handleSubmit","values","mutate","_jsx","Page","Loading","_jsxs","Main","Title","defaultMessage","Layouts","Header","title","Content","Table","colCount","rowCount","length","Thead","Tr","Th","Typography","variant","textColor","VisuallyHidden","Tbody","map","onClick","undefined","Td","width","fontWeight","data-testid","e","stopPropagation","IconButton","label","Pencil","FormModal","isSubmiting","layout","headerBreadcrumbs","upperFirst","onToggle","onSubmit","ProtectedProvidersPage","Protect","permissions","readProviders"],"mappings":"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"}
|