@strapi/plugin-users-permissions 5.48.0 → 5.49.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/dist/admin/components/BoundRoute/index.js +12 -6
- package/dist/admin/components/BoundRoute/index.js.map +1 -1
- package/dist/admin/components/FormModal/Input/index.js +25 -21
- package/dist/admin/components/FormModal/Input/index.js.map +1 -1
- package/dist/admin/components/FormModal/index.js +14 -10
- package/dist/admin/components/FormModal/index.js.map +1 -1
- package/dist/admin/components/Permissions/PermissionRow/SubCategory.js +8 -3
- package/dist/admin/components/Permissions/PermissionRow/SubCategory.js.map +1 -1
- package/dist/admin/components/Permissions/PermissionRow/index.js +9 -4
- package/dist/admin/components/Permissions/PermissionRow/index.js.map +1 -1
- package/dist/admin/components/Policies/index.js +9 -3
- package/dist/admin/components/Policies/index.js.map +1 -1
- package/dist/admin/components/UsersPermissions/index.js +6 -2
- package/dist/admin/components/UsersPermissions/index.js.map +1 -1
- package/dist/admin/components/UsersPermissions/reducer.js +10 -4
- package/dist/admin/components/UsersPermissions/reducer.js.map +1 -1
- package/dist/admin/contexts/UsersPermissionsContext/index.js +6 -2
- package/dist/admin/contexts/UsersPermissionsContext/index.js.map +1 -1
- package/dist/admin/pages/AdvancedSettings/utils/schema.js +3 -2
- package/dist/admin/pages/AdvancedSettings/utils/schema.js.map +1 -1
- package/dist/admin/pages/EmailTemplates/components/EmailForm.js +17 -13
- package/dist/admin/pages/EmailTemplates/components/EmailForm.js.map +1 -1
- package/dist/admin/pages/EmailTemplates/components/EmailTable.js +6 -2
- package/dist/admin/pages/EmailTemplates/components/EmailTable.js.map +1 -1
- package/dist/admin/pages/EmailTemplates/index.js +3 -2
- package/dist/admin/pages/EmailTemplates/index.js.map +1 -1
- package/dist/admin/pages/EmailTemplates/utils/schema.js +3 -2
- package/dist/admin/pages/EmailTemplates/utils/schema.js.map +1 -1
- package/dist/admin/pages/Providers/index.js +7 -3
- package/dist/admin/pages/Providers/index.js.map +1 -1
- package/dist/admin/pages/Providers/utils/forms.js +3 -2
- package/dist/admin/pages/Providers/utils/forms.js.map +1 -1
- package/dist/admin/pages/Roles/constants.js +3 -2
- package/dist/admin/pages/Roles/constants.js.map +1 -1
- package/dist/admin/pages/Roles/pages/CreatePage.js +3 -2
- package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -1
- package/dist/admin/pages/Roles/pages/EditPage.js +3 -2
- package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -1
- package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js +9 -5
- package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js.map +1 -1
- package/dist/admin/utils/cleanPermissions.js +6 -2
- package/dist/admin/utils/cleanPermissions.js.map +1 -1
- package/dist/admin/utils/formatPluginName.js +5 -1
- package/dist/admin/utils/formatPluginName.js.map +1 -1
- package/dist/server/bootstrap/index.js +7 -2
- package/dist/server/bootstrap/index.js.map +1 -1
- package/dist/server/bootstrap/index.mjs.map +1 -1
- package/dist/server/config.js.map +1 -1
- package/dist/server/config.mjs.map +1 -1
- package/dist/server/controllers/auth.js +13 -5
- package/dist/server/controllers/auth.js.map +1 -1
- package/dist/server/controllers/auth.mjs.map +1 -1
- package/dist/server/controllers/content-manager-user.js +8 -3
- package/dist/server/controllers/content-manager-user.js.map +1 -1
- package/dist/server/controllers/content-manager-user.mjs.map +1 -1
- package/dist/server/controllers/permissions.js +5 -1
- package/dist/server/controllers/permissions.js.map +1 -1
- package/dist/server/controllers/permissions.mjs.map +1 -1
- package/dist/server/controllers/role.js +7 -2
- package/dist/server/controllers/role.js.map +1 -1
- package/dist/server/controllers/role.mjs.map +1 -1
- package/dist/server/controllers/settings.js +7 -2
- package/dist/server/controllers/settings.js.map +1 -1
- package/dist/server/controllers/settings.mjs.map +1 -1
- package/dist/server/controllers/user.js +7 -2
- package/dist/server/controllers/user.js.map +1 -1
- package/dist/server/controllers/user.mjs.map +1 -1
- package/dist/server/controllers/validation/auth.js +5 -1
- package/dist/server/controllers/validation/auth.js.map +1 -1
- package/dist/server/controllers/validation/auth.mjs.map +1 -1
- package/dist/server/controllers/validation/email-template.js +7 -2
- package/dist/server/controllers/validation/email-template.js.map +1 -1
- package/dist/server/controllers/validation/user.js +5 -1
- package/dist/server/controllers/validation/user.js.map +1 -1
- package/dist/server/controllers/validation/user.mjs.map +1 -1
- package/dist/server/graphql/index.js.map +1 -1
- package/dist/server/graphql/index.mjs.map +1 -1
- package/dist/server/graphql/mutations/auth/change-password.js +5 -1
- package/dist/server/graphql/mutations/auth/change-password.js.map +1 -1
- package/dist/server/graphql/mutations/auth/email-confirmation.js +5 -1
- package/dist/server/graphql/mutations/auth/email-confirmation.js.map +1 -1
- package/dist/server/graphql/mutations/auth/forgot-password.js +5 -1
- package/dist/server/graphql/mutations/auth/forgot-password.js.map +1 -1
- package/dist/server/graphql/mutations/auth/login.js +5 -1
- package/dist/server/graphql/mutations/auth/login.js.map +1 -1
- package/dist/server/graphql/mutations/auth/login.mjs.map +1 -1
- package/dist/server/graphql/mutations/auth/register.js +5 -1
- package/dist/server/graphql/mutations/auth/register.js.map +1 -1
- package/dist/server/graphql/mutations/auth/reset-password.js +5 -1
- package/dist/server/graphql/mutations/auth/reset-password.js.map +1 -1
- package/dist/server/graphql/mutations/crud/role/create-role.js +5 -1
- package/dist/server/graphql/mutations/crud/role/create-role.js.map +1 -1
- package/dist/server/graphql/mutations/crud/role/create-role.mjs.map +1 -1
- package/dist/server/graphql/mutations/crud/role/delete-role.js.map +1 -1
- package/dist/server/graphql/mutations/crud/role/delete-role.mjs.map +1 -1
- package/dist/server/graphql/mutations/crud/role/update-role.js.map +1 -1
- package/dist/server/graphql/mutations/crud/role/update-role.mjs.map +1 -1
- package/dist/server/graphql/mutations/crud/user/create-user.js +5 -1
- package/dist/server/graphql/mutations/crud/user/create-user.js.map +1 -1
- package/dist/server/graphql/mutations/crud/user/create-user.mjs.map +1 -1
- package/dist/server/graphql/mutations/crud/user/update-user.js +5 -1
- package/dist/server/graphql/mutations/crud/user/update-user.js.map +1 -1
- package/dist/server/graphql/types/login-input.js.map +1 -1
- package/dist/server/graphql/types/login-input.mjs.map +1 -1
- package/dist/server/graphql/types/login-payload.js.map +1 -1
- package/dist/server/graphql/types/login-payload.mjs.map +1 -1
- package/dist/server/graphql/utils.js +5 -1
- package/dist/server/graphql/utils.js.map +1 -1
- package/dist/server/middlewares/rateLimit.js +11 -4
- package/dist/server/middlewares/rateLimit.js.map +1 -1
- package/dist/server/register.js +7 -2
- package/dist/server/register.js.map +1 -1
- package/dist/server/register.mjs.map +1 -1
- package/dist/server/routes/content-api/index.js +5 -1
- package/dist/server/routes/content-api/index.js.map +1 -1
- package/dist/server/routes/content-api/user.js +5 -1
- package/dist/server/routes/content-api/user.js.map +1 -1
- package/dist/server/routes/content-api/validation.js +7 -2
- package/dist/server/routes/content-api/validation.js.map +1 -1
- package/dist/server/services/jwt.js +7 -2
- package/dist/server/services/jwt.js.map +1 -1
- package/dist/server/services/jwt.mjs.map +1 -1
- package/dist/server/services/permission.js.map +1 -1
- package/dist/server/services/permission.mjs.map +1 -1
- package/dist/server/services/providers-registry.js +13 -5
- package/dist/server/services/providers-registry.js.map +1 -1
- package/dist/server/services/providers-registry.mjs.map +1 -1
- package/dist/server/services/providers.js +7 -2
- package/dist/server/services/providers.js.map +1 -1
- package/dist/server/services/providers.mjs.map +1 -1
- package/dist/server/services/role.js +7 -2
- package/dist/server/services/role.js.map +1 -1
- package/dist/server/services/role.mjs.map +1 -1
- package/dist/server/services/user.js +35 -9
- package/dist/server/services/user.js.map +1 -1
- package/dist/server/services/user.mjs +22 -4
- package/dist/server/services/user.mjs.map +1 -1
- package/dist/server/services/users-permissions.js +11 -4
- package/dist/server/services/users-permissions.js.map +1 -1
- package/dist/server/services/users-permissions.mjs.map +1 -1
- package/dist/server/strategies/users-permissions.js +7 -2
- package/dist/server/strategies/users-permissions.js.map +1 -1
- package/dist/server/strategies/users-permissions.mjs.map +1 -1
- package/dist/server/utils/index.js +5 -1
- package/dist/server/utils/index.js.map +1 -1
- package/dist/server/utils/index.mjs.map +1 -1
- package/dist/server/utils/sanitize/sanitizers.js +7 -2
- package/dist/server/utils/sanitize/sanitizers.js.map +1 -1
- package/package.json +4 -4
- package/server/services/user.js +22 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../admin/src/contexts/UsersPermissionsContext/index.jsx"],"sourcesContent":["import React, { createContext, useContext } from 'react';\n\nimport PropTypes from 'prop-types';\n\nconst UsersPermissions = createContext({});\n\nconst UsersPermissionsProvider = ({ children, value }) => {\n return <UsersPermissions.Provider value={value}>{children}</UsersPermissions.Provider>;\n};\n\nconst useUsersPermissions = () => useContext(UsersPermissions);\n\nUsersPermissionsProvider.propTypes = {\n children: PropTypes.node.isRequired,\n value: PropTypes.object.isRequired,\n};\n\nexport { UsersPermissions, UsersPermissionsProvider, useUsersPermissions };\n"],"names":["UsersPermissions","createContext","UsersPermissionsProvider","children","value","_jsx","Provider","useUsersPermissions","useContext","propTypes","PropTypes","node","isRequired","object"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../admin/src/contexts/UsersPermissionsContext/index.jsx"],"sourcesContent":["import React, { createContext, useContext } from 'react';\n\nimport PropTypes from 'prop-types';\n\nconst UsersPermissions = createContext({});\n\nconst UsersPermissionsProvider = ({ children, value }) => {\n return <UsersPermissions.Provider value={value}>{children}</UsersPermissions.Provider>;\n};\n\nconst useUsersPermissions = () => useContext(UsersPermissions);\n\nUsersPermissionsProvider.propTypes = {\n children: PropTypes.node.isRequired,\n value: PropTypes.object.isRequired,\n};\n\nexport { UsersPermissions, UsersPermissionsProvider, useUsersPermissions };\n"],"names":["UsersPermissions","createContext","UsersPermissionsProvider","children","value","_jsx","Provider","useUsersPermissions","useContext","propTypes","PropTypes","node","isRequired","object"],"mappings":";;;;;;;;;;AAIA,MAAMA,gBAAAA,iBAAmBC,oBAAc,EAAC;AAExC,MAAMC,2BAA2B,CAAC,EAAEC,QAAQ,EAAEC,KAAK,EAAE,GAAA;IACnD,qBAAOC,cAAA,CAACL,iBAAiBM,QAAQ,EAAA;QAACF,KAAAA,EAAOA,KAAAA;AAAQD,QAAAA,QAAAA,EAAAA;;AACnD;AAEA,MAAMI,mBAAAA,GAAsB,IAAMC,gBAAAA,CAAWR,gBAAAA;AAE7CE,wBAAAA,CAAyBO,SAAS,GAAG;IACnCN,QAAAA,EAAUO,0BAAAA,CAAUC,IAAI,CAACC,UAAU;IACnCR,KAAAA,EAAOM,0BAAAA,CAAUG,MAAM,CAACD;AAC1B,CAAA;;;;;;"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
var admin = require('@strapi/strapi/admin');
|
|
4
4
|
var yup = require('yup');
|
|
5
5
|
|
|
6
|
-
function
|
|
6
|
+
function _interopNamespace(e) {
|
|
7
|
+
if (e && e.__esModule) return e;
|
|
7
8
|
var n = Object.create(null);
|
|
8
9
|
if (e) {
|
|
9
10
|
Object.keys(e).forEach(function (k) {
|
|
@@ -20,7 +21,7 @@ function _interopNamespaceDefault(e) {
|
|
|
20
21
|
return Object.freeze(n);
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
var yup__namespace = /*#__PURE__*/
|
|
24
|
+
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
24
25
|
|
|
25
26
|
// eslint-disable-next-line prefer-regex-literals
|
|
26
27
|
const URL_REGEX = new RegExp('(^$)|((.+:\\/\\/.*)(d*)\\/?(.*))');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sources":["../../../../../admin/src/pages/AdvancedSettings/utils/schema.js"],"sourcesContent":["import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\n// eslint-disable-next-line prefer-regex-literals\nconst URL_REGEX = new RegExp('(^$)|((.+:\\\\/\\\\/.*)(d*)\\\\/?(.*))');\n\nconst schema = yup.object().shape({\n email_confirmation_redirection: yup.mixed().when('email_confirmation', {\n is: true,\n then: yup.string().matches(URL_REGEX).required(),\n otherwise: yup.string().nullable(),\n }),\n email_reset_password: yup\n .string(translatedErrors.string)\n .matches(URL_REGEX, {\n id: translatedErrors.regex.id,\n defaultMessage: 'This is not a valid URL',\n })\n .nullable(),\n});\n\nexport default schema;\n"],"names":["URL_REGEX","RegExp","schema","yup","object","shape","email_confirmation_redirection","mixed","when","is","then","string","matches","required","otherwise","nullable","email_reset_password","translatedErrors","id","regex","defaultMessage"],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.js","sources":["../../../../../admin/src/pages/AdvancedSettings/utils/schema.js"],"sourcesContent":["import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\n// eslint-disable-next-line prefer-regex-literals\nconst URL_REGEX = new RegExp('(^$)|((.+:\\\\/\\\\/.*)(d*)\\\\/?(.*))');\n\nconst schema = yup.object().shape({\n email_confirmation_redirection: yup.mixed().when('email_confirmation', {\n is: true,\n then: yup.string().matches(URL_REGEX).required(),\n otherwise: yup.string().nullable(),\n }),\n email_reset_password: yup\n .string(translatedErrors.string)\n .matches(URL_REGEX, {\n id: translatedErrors.regex.id,\n defaultMessage: 'This is not a valid URL',\n })\n .nullable(),\n});\n\nexport default schema;\n"],"names":["URL_REGEX","RegExp","schema","yup","object","shape","email_confirmation_redirection","mixed","when","is","then","string","matches","required","otherwise","nullable","email_reset_password","translatedErrors","id","regex","defaultMessage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACA,MAAMA,SAAAA,GAAY,IAAIC,MAAAA,CAAO,kCAAA,CAAA;AAE7B,MAAMC,MAAAA,GAASC,cAAAA,CAAIC,MAAM,EAAA,CAAGC,KAAK,CAAC;AAChCC,IAAAA,8BAAAA,EAAgCH,cAAAA,CAAII,KAAK,EAAA,CAAGC,IAAI,CAAC,oBAAA,EAAsB;QACrEC,EAAAA,EAAI,IAAA;AACJC,QAAAA,IAAAA,EAAMP,eAAIQ,MAAM,EAAA,CAAGC,OAAO,CAACZ,WAAWa,QAAQ,EAAA;QAC9CC,SAAAA,EAAWX,cAAAA,CAAIQ,MAAM,EAAA,CAAGI,QAAQ;AAClC,KAAA,CAAA;IACAC,oBAAAA,EAAsBb,cAAAA,CACnBQ,MAAM,CAACM,sBAAAA,CAAiBN,MAAM,CAAA,CAC9BC,OAAO,CAACZ,SAAAA,EAAW;QAClBkB,EAAAA,EAAID,sBAAAA,CAAiBE,KAAK,CAACD,EAAE;QAC7BE,cAAAA,EAAgB;AAClB,KAAA,CAAA,CACCL,QAAQ;AACb,CAAA;;;;"}
|
|
@@ -10,6 +10,10 @@ require('lodash/isEmpty');
|
|
|
10
10
|
var getTrad = require('../../../utils/getTrad.js');
|
|
11
11
|
var schema = require('../utils/schema.js');
|
|
12
12
|
|
|
13
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
|
|
15
|
+
var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
|
|
16
|
+
|
|
13
17
|
const EmailForm = ({ template = {}, onToggle, open, onSubmit })=>{
|
|
14
18
|
const { formatMessage } = reactIntl.useIntl();
|
|
15
19
|
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Root, {
|
|
@@ -150,22 +154,22 @@ EmailForm.defaultProps = {
|
|
|
150
154
|
template: {}
|
|
151
155
|
};
|
|
152
156
|
EmailForm.propTypes = {
|
|
153
|
-
template:
|
|
154
|
-
display:
|
|
155
|
-
icon:
|
|
156
|
-
options:
|
|
157
|
-
from:
|
|
158
|
-
name:
|
|
159
|
-
email:
|
|
157
|
+
template: PropTypes__default.default.shape({
|
|
158
|
+
display: PropTypes__default.default.string,
|
|
159
|
+
icon: PropTypes__default.default.string,
|
|
160
|
+
options: PropTypes__default.default.shape({
|
|
161
|
+
from: PropTypes__default.default.shape({
|
|
162
|
+
name: PropTypes__default.default.string,
|
|
163
|
+
email: PropTypes__default.default.string
|
|
160
164
|
}),
|
|
161
|
-
message:
|
|
162
|
-
object:
|
|
163
|
-
response_email:
|
|
165
|
+
message: PropTypes__default.default.string,
|
|
166
|
+
object: PropTypes__default.default.string,
|
|
167
|
+
response_email: PropTypes__default.default.string
|
|
164
168
|
})
|
|
165
169
|
}),
|
|
166
|
-
open:
|
|
167
|
-
onSubmit:
|
|
168
|
-
onToggle:
|
|
170
|
+
open: PropTypes__default.default.bool.isRequired,
|
|
171
|
+
onSubmit: PropTypes__default.default.func.isRequired,
|
|
172
|
+
onToggle: PropTypes__default.default.func.isRequired
|
|
169
173
|
};
|
|
170
174
|
|
|
171
175
|
module.exports = EmailForm;
|
|
@@ -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 m={size}\n xs={12}\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","m","xs","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 m={size}\n xs={12}\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","m","xs","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":";;;;;;;;;;;;;;;;AAUA,MAAMA,SAAAA,GAAY,CAAC,EAAEC,QAAAA,GAAW,EAAE,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,QAAQ,EAAE,GAAA;IAC5D,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,qBACEC,cAAA,CAACC,mBAAMC,IAAI,EAAA;QAACN,IAAAA,EAAMA,IAAAA;QAAMO,YAAAA,EAAcR,QAAAA;gCACpCS,eAAA,CAACH,mBAAMI,OAAO,EAAA;;AACZ,8BAAAD,eAAA,CAACH,mBAAMK,MAAM,EAAA;;sCACXF,eAAA,CAACG,wBAAAA,EAAAA;AACCC,4BAAAA,KAAAA,EAAO,GAAGV,aAAAA,CAAc;AACtBW,gCAAAA,EAAAA,EAAIC,OAAAA,CAAQ,uCAAA,CAAA;gCACZC,cAAAA,EAAgB;AAClB,6BAAA,CAAA,CAAG,EAAE,EACHjB,QAAAA,CAASkB,OAAO,GACZd,aAAAA,CAAc;gCACZW,EAAAA,EAAIC,OAAAA,CAAQhB,SAASkB,OAAO,CAAA;AAC5BD,gCAAAA,cAAAA,EAAgBjB,SAASkB;AAC3B,6BAAA,CAAA,GACA,EAAA,CAAA,CACJ;;8CAEFZ,cAAA,CAACa,kBAAAA,EAAAA;8CACEf,aAAAA,CAAc;AACbW,wCAAAA,EAAAA,EAAIC,OAAAA,CAAQ,uCAAA,CAAA;wCACZC,cAAAA,EAAgB;AAClB,qCAAA;;8CAEFX,cAAA,CAACa,kBAAAA,EAAAA;oCAAMC,SAAS,EAAA,IAAA;8CACbpB,QAAAA,CAASkB,OAAO,GACbd,aAAAA,CAAc;wCAAEW,EAAAA,EAAIC,OAAAA,CAAQhB,SAASkB,OAAO,CAAA;AAAGD,wCAAAA,cAAAA,EAAgBjB,SAASkB;qCAAQ,CAAA,GAChF;;;;sCAGRZ,cAAA,CAACe,2BAAAA,EAAAA;oDACCf,cAAA,CAACC,mBAAMe,KAAK,EAAA;AACT,gCAAA,QAAA,EAAA,CAAA,EAAGlB,aAAAA,CAAc;AAChBW,oCAAAA,EAAAA,EAAIC,OAAAA,CAAQ,uCAAA,CAAA;oCACZC,cAAAA,EAAgB;AAClB,iCAAA,CAAA,CAAG,EAAE,EAAEjB,QAAAA,CAASkB,OAAO,GAAGd,aAAAA,CAAc;oCAAEW,EAAAA,EAAIC,OAAAA,CAAQhB,SAASkB,OAAO,CAAA;AAAGD,oCAAAA,cAAAA,EAAgBjB,SAASkB;AAAQ,iCAAA,CAAA,GAAK,EAAA,CAAA;;;;;8BAIrHZ,cAAA,CAACiB,UAAAA,EAAAA;oBAAKpB,QAAAA,EAAUA,QAAAA;oBAAUqB,aAAAA,EAAexB,QAAAA;oBAAUyB,gBAAAA,EAAkBC,MAAAA;8BAClE,CAAC,EAAEC,YAAY,EAAE,GAAA;wBAChB,qBACEjB,eAAA,CAAAkB,mBAAA,EAAA;;AACE,8CAAAtB,cAAA,CAACC,mBAAMsB,IAAI,EAAA;4DACTvB,cAAA,CAACwB,kBAAKtB,IAAI,EAAA;wCAACuB,GAAAA,EAAK,CAAA;AACb,wCAAA,QAAA,EAAA;AACC,4CAAA;AACEjB,gDAAAA,KAAAA,EAAOV,aAAAA,CAAc;AACnBW,oDAAAA,EAAAA,EAAIC,OAAAA,CAAQ,yCAAA,CAAA;oDACZC,cAAAA,EAAgB;AAClB,iDAAA,CAAA;gDACAe,IAAAA,EAAM,mBAAA;gDACNC,IAAAA,EAAM,CAAA;gDACNC,IAAAA,EAAM;AACR,6CAAA;AACA,4CAAA;AACEpB,gDAAAA,KAAAA,EAAOV,aAAAA,CAAc;AACnBW,oDAAAA,EAAAA,EAAIC,OAAAA,CAAQ,0CAAA,CAAA;oDACZC,cAAAA,EAAgB;AAClB,iDAAA,CAAA;gDACAe,IAAAA,EAAM,oBAAA;gDACNC,IAAAA,EAAM,CAAA;gDACNC,IAAAA,EAAM;AACR,6CAAA;AACA,4CAAA;AACEpB,gDAAAA,KAAAA,EAAOV,aAAAA,CAAc;AACnBW,oDAAAA,EAAAA,EAAIC,OAAAA,CAAQ,8CAAA,CAAA;oDACZC,cAAAA,EAAgB;AAClB,iDAAA,CAAA;gDACAe,IAAAA,EAAM,wBAAA;gDACNC,IAAAA,EAAM,CAAA;gDACNC,IAAAA,EAAM;AACR,6CAAA;AACA,4CAAA;AACEpB,gDAAAA,KAAAA,EAAOV,aAAAA,CAAc;AACnBW,oDAAAA,EAAAA,EAAIC,OAAAA,CAAQ,sCAAA,CAAA;oDACZC,cAAAA,EAAgB;AAClB,iDAAA,CAAA;gDACAe,IAAAA,EAAM,gBAAA;gDACNC,IAAAA,EAAM,CAAA;gDACNC,IAAAA,EAAM;AACR,6CAAA;AACA,4CAAA;AACEpB,gDAAAA,KAAAA,EAAOV,aAAAA,CAAc;AACnBW,oDAAAA,EAAAA,EAAIC,OAAAA,CAAQ,uCAAA,CAAA;oDACZC,cAAAA,EAAgB;AAClB,iDAAA,CAAA;gDACAe,IAAAA,EAAM,iBAAA;gDACNC,IAAAA,EAAM,EAAA;gDACNC,IAAAA,EAAM;AACR;yCACD,CAACC,GAAG,CAAC,CAAC,EAAEF,IAAI,EAAE,GAAGG,KAAAA,EAAO,iBACvB9B,cAAA,CAACwB,iBAAAA,CAAKO,IAAI,EAAA;gDAERC,CAAAA,EAAGL,IAAAA;gDACHM,EAAAA,EAAI,EAAA;gDACJC,SAAAA,EAAU,QAAA;gDACVC,UAAAA,EAAW,SAAA;AAEX,gDAAA,QAAA,gBAAAnC,cAAA,CAACoC,mBAAAA,EAAAA;AAAe,oDAAA,GAAGN;;AANdA,6CAAAA,EAAAA,KAAAA,CAAMJ,IAAI,CAAA;;;AAWvB,8CAAAtB,eAAA,CAACH,mBAAMoC,MAAM,EAAA;;AACX,sDAAArC,cAAA,CAACC,mBAAMqC,KAAK,EAAA;AACV,4CAAA,QAAA,gBAAAtC,cAAA,CAACuC,mBAAAA,EAAAA;gDAAOC,OAAAA,EAAQ,UAAA;AAAW,gDAAA,QAAA,EAAA;;;sDAE7BxC,cAAA,CAACuC,mBAAAA,EAAAA;4CAAOE,OAAAA,EAASpB,YAAAA;4CAAcO,IAAAA,EAAK,QAAA;AAAS,4CAAA,QAAA,EAAA;;;;;;AAMrD,oBAAA;;;;;AAKV;AAEAnC,SAAAA,CAAUiD,YAAY,GAAG;AACvBhD,IAAAA,QAAAA,EAAU;AACZ,CAAA;AAEAD,SAAAA,CAAUkD,SAAS,GAAG;IACpBjD,QAAAA,EAAUkD,0BAAAA,CAAUC,KAAK,CAAC;AACxBjC,QAAAA,OAAAA,EAASgC,2BAAUE,MAAM;AACzBC,QAAAA,IAAAA,EAAMH,2BAAUE,MAAM;QACtBE,OAAAA,EAASJ,0BAAAA,CAAUC,KAAK,CAAC;YACvBI,IAAAA,EAAML,0BAAAA,CAAUC,KAAK,CAAC;AACpBnB,gBAAAA,IAAAA,EAAMkB,2BAAUE,MAAM;AACtBI,gBAAAA,KAAAA,EAAON,2BAAUE;AACnB,aAAA,CAAA;AACAK,YAAAA,OAAAA,EAASP,2BAAUE,MAAM;AACzBM,YAAAA,MAAAA,EAAQR,2BAAUE,MAAM;AACxBO,YAAAA,cAAAA,EAAgBT,2BAAUE;AAC5B,SAAA;AACF,KAAA,CAAA;IACAlD,IAAAA,EAAMgD,0BAAAA,CAAUU,IAAI,CAACC,UAAU;IAC/B1D,QAAAA,EAAU+C,0BAAAA,CAAUY,IAAI,CAACD,UAAU;IACnC5D,QAAAA,EAAUiD,0BAAAA,CAAUY,IAAI,CAACD;AAC3B,CAAA;;;;"}
|
|
@@ -9,6 +9,10 @@ var reactIntl = require('react-intl');
|
|
|
9
9
|
require('lodash/isEmpty');
|
|
10
10
|
var getTrad = require('../../../utils/getTrad.js');
|
|
11
11
|
|
|
12
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
|
|
14
|
+
var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
|
|
15
|
+
|
|
12
16
|
const EmailTable = ({ canUpdate, onEditClick })=>{
|
|
13
17
|
const { formatMessage } = reactIntl.useIntl();
|
|
14
18
|
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Table, {
|
|
@@ -137,8 +141,8 @@ const EmailTable = ({ canUpdate, onEditClick })=>{
|
|
|
137
141
|
});
|
|
138
142
|
};
|
|
139
143
|
EmailTable.propTypes = {
|
|
140
|
-
canUpdate:
|
|
141
|
-
onEditClick:
|
|
144
|
+
canUpdate: PropTypes__default.default.bool.isRequired,
|
|
145
|
+
onEditClick: PropTypes__default.default.func.isRequired
|
|
142
146
|
};
|
|
143
147
|
|
|
144
148
|
module.exports = EmailTable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmailTable.js","sources":["../../../../../admin/src/pages/EmailTemplates/components/EmailTable.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n IconButton,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n Box,\n} from '@strapi/design-system';\nimport { Check, Pencil, ArrowClockwise as Refresh } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\n\nconst EmailTable = ({ canUpdate, onEditClick }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Table colCount={3} rowCount={3}>\n <Thead>\n <Tr>\n <Th width=\"1%\">\n <VisuallyHidden>\n {formatMessage({\n id: getTrad('Email.template.table.icon.label'),\n defaultMessage: 'icon',\n })}\n </VisuallyHidden>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('Email.template.table.name.label'),\n defaultMessage: 'name',\n })}\n </Typography>\n </Th>\n <Th width=\"1%\">\n <VisuallyHidden>\n {formatMessage({\n id: getTrad('Email.template.table.action.label'),\n defaultMessage: 'action',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n <Tr cursor=\"pointer\" onClick={() => onEditClick('reset_password')}>\n <Td>\n <Box width=\"3.2rem\" height=\"3.2rem\" padding=\"0.8rem\">\n <Refresh\n aria-label={formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n />\n </Box>\n </Td>\n <Td>\n <Typography>\n {formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <IconButton\n onClick={() => onEditClick('reset_password')}\n label={formatMessage({\n id: getTrad('Email.template.form.edit.label'),\n defaultMessage: 'Edit a template',\n })}\n variant=\"ghost\"\n disabled={!canUpdate}\n >\n <Pencil />\n </IconButton>\n </Td>\n </Tr>\n <Tr cursor=\"pointer\" onClick={() => onEditClick('email_confirmation')}>\n <Td>\n <Box width=\"3.2rem\" height=\"3.2rem\" padding=\"0.8rem\">\n <Check\n aria-label={formatMessage({\n id: getTrad('Email.template.email_confirmation'),\n defaultMessage: 'Email address confirmation',\n })}\n />\n </Box>\n </Td>\n <Td>\n <Typography>\n {formatMessage({\n id: getTrad('Email.template.email_confirmation'),\n defaultMessage: 'Email address confirmation',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <IconButton\n onClick={() => onEditClick('email_confirmation')}\n label={formatMessage({\n id: getTrad('Email.template.form.edit.label'),\n defaultMessage: 'Edit a template',\n })}\n variant=\"ghost\"\n disabled={!canUpdate}\n >\n <Pencil />\n </IconButton>\n </Td>\n </Tr>\n </Tbody>\n </Table>\n );\n};\n\nEmailTable.propTypes = {\n canUpdate: PropTypes.bool.isRequired,\n onEditClick: PropTypes.func.isRequired,\n};\n\nexport default EmailTable;\n"],"names":["EmailTable","canUpdate","onEditClick","formatMessage","useIntl","_jsxs","Table","colCount","rowCount","_jsx","Thead","Tr","Th","width","VisuallyHidden","id","getTrad","defaultMessage","Typography","variant","textColor","Tbody","cursor","onClick","Td","Box","height","padding","Refresh","aria-label","e","stopPropagation","IconButton","label","disabled","Pencil","Check","propTypes","PropTypes","bool","isRequired","func"],"mappings":"
|
|
1
|
+
{"version":3,"file":"EmailTable.js","sources":["../../../../../admin/src/pages/EmailTemplates/components/EmailTable.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n IconButton,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n Box,\n} from '@strapi/design-system';\nimport { Check, Pencil, ArrowClockwise as Refresh } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\n\nconst EmailTable = ({ canUpdate, onEditClick }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Table colCount={3} rowCount={3}>\n <Thead>\n <Tr>\n <Th width=\"1%\">\n <VisuallyHidden>\n {formatMessage({\n id: getTrad('Email.template.table.icon.label'),\n defaultMessage: 'icon',\n })}\n </VisuallyHidden>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('Email.template.table.name.label'),\n defaultMessage: 'name',\n })}\n </Typography>\n </Th>\n <Th width=\"1%\">\n <VisuallyHidden>\n {formatMessage({\n id: getTrad('Email.template.table.action.label'),\n defaultMessage: 'action',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n <Tr cursor=\"pointer\" onClick={() => onEditClick('reset_password')}>\n <Td>\n <Box width=\"3.2rem\" height=\"3.2rem\" padding=\"0.8rem\">\n <Refresh\n aria-label={formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n />\n </Box>\n </Td>\n <Td>\n <Typography>\n {formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <IconButton\n onClick={() => onEditClick('reset_password')}\n label={formatMessage({\n id: getTrad('Email.template.form.edit.label'),\n defaultMessage: 'Edit a template',\n })}\n variant=\"ghost\"\n disabled={!canUpdate}\n >\n <Pencil />\n </IconButton>\n </Td>\n </Tr>\n <Tr cursor=\"pointer\" onClick={() => onEditClick('email_confirmation')}>\n <Td>\n <Box width=\"3.2rem\" height=\"3.2rem\" padding=\"0.8rem\">\n <Check\n aria-label={formatMessage({\n id: getTrad('Email.template.email_confirmation'),\n defaultMessage: 'Email address confirmation',\n })}\n />\n </Box>\n </Td>\n <Td>\n <Typography>\n {formatMessage({\n id: getTrad('Email.template.email_confirmation'),\n defaultMessage: 'Email address confirmation',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <IconButton\n onClick={() => onEditClick('email_confirmation')}\n label={formatMessage({\n id: getTrad('Email.template.form.edit.label'),\n defaultMessage: 'Edit a template',\n })}\n variant=\"ghost\"\n disabled={!canUpdate}\n >\n <Pencil />\n </IconButton>\n </Td>\n </Tr>\n </Tbody>\n </Table>\n );\n};\n\nEmailTable.propTypes = {\n canUpdate: PropTypes.bool.isRequired,\n onEditClick: PropTypes.func.isRequired,\n};\n\nexport default EmailTable;\n"],"names":["EmailTable","canUpdate","onEditClick","formatMessage","useIntl","_jsxs","Table","colCount","rowCount","_jsx","Thead","Tr","Th","width","VisuallyHidden","id","getTrad","defaultMessage","Typography","variant","textColor","Tbody","cursor","onClick","Td","Box","height","padding","Refresh","aria-label","e","stopPropagation","IconButton","label","disabled","Pencil","Check","propTypes","PropTypes","bool","isRequired","func"],"mappings":"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"}
|
|
@@ -13,7 +13,8 @@ var getTrad = require('../../utils/getTrad.js');
|
|
|
13
13
|
var EmailForm = require('./components/EmailForm.js');
|
|
14
14
|
var EmailTable = require('./components/EmailTable.js');
|
|
15
15
|
|
|
16
|
-
function
|
|
16
|
+
function _interopNamespace(e) {
|
|
17
|
+
if (e && e.__esModule) return e;
|
|
17
18
|
var n = Object.create(null);
|
|
18
19
|
if (e) {
|
|
19
20
|
Object.keys(e).forEach(function (k) {
|
|
@@ -30,7 +31,7 @@ function _interopNamespaceDefault(e) {
|
|
|
30
31
|
return Object.freeze(n);
|
|
31
32
|
}
|
|
32
33
|
|
|
33
|
-
var React__namespace = /*#__PURE__*/
|
|
34
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
34
35
|
|
|
35
36
|
const ProtectedEmailTemplatesPage = ()=>/*#__PURE__*/ jsxRuntime.jsx(admin.Page.Protect, {
|
|
36
37
|
permissions: constants.PERMISSIONS.readEmailTemplates,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../admin/src/pages/EmailTemplates/index.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\nimport { useNotifyAT } from '@strapi/design-system';\nimport {\n Page,\n useAPIErrorHandler,\n useNotification,\n useFetchClient,\n useRBAC,\n Layouts,\n} from '@strapi/strapi/admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { PERMISSIONS } from '../../constants';\nimport { getTrad } from '../../utils';\n\nimport EmailForm from './components/EmailForm';\nimport EmailTable from './components/EmailTable';\n\nconst ProtectedEmailTemplatesPage = () => (\n <Page.Protect permissions={PERMISSIONS.readEmailTemplates}>\n <EmailTemplatesPage />\n </Page.Protect>\n);\nconst EmailTemplatesPage = () => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { notifyStatus } = useNotifyAT();\n const { toggleNotification } = useNotification();\n const queryClient = useQueryClient();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n\n const [isModalOpen, setIsModalOpen] = React.useState(false);\n const [templateToEdit, setTemplateToEdit] = React.useState(null);\n\n const {\n isLoading: isLoadingForPermissions,\n allowedActions: { canUpdate },\n } = useRBAC({ update: PERMISSIONS.updateEmailTemplates });\n\n const { isLoading: isLoadingData, data } = useQuery(\n ['users-permissions', 'email-templates'],\n async () => {\n const { data } = await get('/users-permissions/email-templates');\n\n return data;\n },\n {\n onSuccess() {\n notifyStatus(\n formatMessage({\n id: getTrad('Email.template.data.loaded'),\n defaultMessage: 'Email templates has been loaded',\n })\n );\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n }\n );\n\n const isLoading = isLoadingForPermissions || isLoadingData;\n\n const handleToggle = () => {\n setIsModalOpen((prev) => !prev);\n };\n\n const handleEditClick = (template) => {\n setTemplateToEdit(template);\n handleToggle();\n };\n\n const submitMutation = useMutation(\n (body) => put('/users-permissions/email-templates', { 'email-templates': body }),\n {\n async onSuccess() {\n await queryClient.invalidateQueries(['users-permissions', 'email-templates']);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n\n trackUsage('didEditEmailTemplates');\n\n handleToggle();\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n refetchActive: true,\n }\n );\n\n const handleSubmit = (body) => {\n trackUsage('willEditEmailTemplates');\n\n const editedTemplates = { ...data, [templateToEdit]: body };\n submitMutation.mutate(editedTemplates);\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main aria-busy={submitMutation.isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n })}\n />\n <Layouts.Content>\n <EmailTable onEditClick={handleEditClick} canUpdate={canUpdate} />\n <EmailForm\n template={data[templateToEdit]}\n onToggle={handleToggle}\n open={isModalOpen}\n onSubmit={handleSubmit}\n />\n </Layouts.Content>\n </Page.Main>\n );\n};\n\nexport { ProtectedEmailTemplatesPage, EmailTemplatesPage };\n"],"names":["ProtectedEmailTemplatesPage","_jsx","Page","Protect","permissions","PERMISSIONS","readEmailTemplates","EmailTemplatesPage","formatMessage","useIntl","trackUsage","useTracking","notifyStatus","useNotifyAT","toggleNotification","useNotification","queryClient","useQueryClient","get","put","useFetchClient","formatAPIError","useAPIErrorHandler","isModalOpen","setIsModalOpen","React","useState","templateToEdit","setTemplateToEdit","isLoading","isLoadingForPermissions","allowedActions","canUpdate","useRBAC","update","updateEmailTemplates","isLoadingData","data","useQuery","onSuccess","id","getTrad","defaultMessage","onError","error","type","message","handleToggle","prev","handleEditClick","template","submitMutation","useMutation","body","invalidateQueries","refetchActive","handleSubmit","editedTemplates","mutate","Loading","_jsxs","Main","aria-busy","Title","name","Layouts","Header","title","Content","EmailTable","onEditClick","EmailForm","onToggle","open","onSubmit"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../admin/src/pages/EmailTemplates/index.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\nimport { useNotifyAT } from '@strapi/design-system';\nimport {\n Page,\n useAPIErrorHandler,\n useNotification,\n useFetchClient,\n useRBAC,\n Layouts,\n} from '@strapi/strapi/admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { PERMISSIONS } from '../../constants';\nimport { getTrad } from '../../utils';\n\nimport EmailForm from './components/EmailForm';\nimport EmailTable from './components/EmailTable';\n\nconst ProtectedEmailTemplatesPage = () => (\n <Page.Protect permissions={PERMISSIONS.readEmailTemplates}>\n <EmailTemplatesPage />\n </Page.Protect>\n);\nconst EmailTemplatesPage = () => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { notifyStatus } = useNotifyAT();\n const { toggleNotification } = useNotification();\n const queryClient = useQueryClient();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n\n const [isModalOpen, setIsModalOpen] = React.useState(false);\n const [templateToEdit, setTemplateToEdit] = React.useState(null);\n\n const {\n isLoading: isLoadingForPermissions,\n allowedActions: { canUpdate },\n } = useRBAC({ update: PERMISSIONS.updateEmailTemplates });\n\n const { isLoading: isLoadingData, data } = useQuery(\n ['users-permissions', 'email-templates'],\n async () => {\n const { data } = await get('/users-permissions/email-templates');\n\n return data;\n },\n {\n onSuccess() {\n notifyStatus(\n formatMessage({\n id: getTrad('Email.template.data.loaded'),\n defaultMessage: 'Email templates has been loaded',\n })\n );\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n }\n );\n\n const isLoading = isLoadingForPermissions || isLoadingData;\n\n const handleToggle = () => {\n setIsModalOpen((prev) => !prev);\n };\n\n const handleEditClick = (template) => {\n setTemplateToEdit(template);\n handleToggle();\n };\n\n const submitMutation = useMutation(\n (body) => put('/users-permissions/email-templates', { 'email-templates': body }),\n {\n async onSuccess() {\n await queryClient.invalidateQueries(['users-permissions', 'email-templates']);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n\n trackUsage('didEditEmailTemplates');\n\n handleToggle();\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n refetchActive: true,\n }\n );\n\n const handleSubmit = (body) => {\n trackUsage('willEditEmailTemplates');\n\n const editedTemplates = { ...data, [templateToEdit]: body };\n submitMutation.mutate(editedTemplates);\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main aria-busy={submitMutation.isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n })}\n />\n <Layouts.Content>\n <EmailTable onEditClick={handleEditClick} canUpdate={canUpdate} />\n <EmailForm\n template={data[templateToEdit]}\n onToggle={handleToggle}\n open={isModalOpen}\n onSubmit={handleSubmit}\n />\n </Layouts.Content>\n </Page.Main>\n );\n};\n\nexport { ProtectedEmailTemplatesPage, EmailTemplatesPage };\n"],"names":["ProtectedEmailTemplatesPage","_jsx","Page","Protect","permissions","PERMISSIONS","readEmailTemplates","EmailTemplatesPage","formatMessage","useIntl","trackUsage","useTracking","notifyStatus","useNotifyAT","toggleNotification","useNotification","queryClient","useQueryClient","get","put","useFetchClient","formatAPIError","useAPIErrorHandler","isModalOpen","setIsModalOpen","React","useState","templateToEdit","setTemplateToEdit","isLoading","isLoadingForPermissions","allowedActions","canUpdate","useRBAC","update","updateEmailTemplates","isLoadingData","data","useQuery","onSuccess","id","getTrad","defaultMessage","onError","error","type","message","handleToggle","prev","handleEditClick","template","submitMutation","useMutation","body","invalidateQueries","refetchActive","handleSubmit","editedTemplates","mutate","Loading","_jsxs","Main","aria-busy","Title","name","Layouts","Header","title","Content","EmailTable","onEditClick","EmailForm","onToggle","open","onSubmit"],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
var admin = require('@strapi/strapi/admin');
|
|
4
4
|
var yup = require('yup');
|
|
5
5
|
|
|
6
|
-
function
|
|
6
|
+
function _interopNamespace(e) {
|
|
7
|
+
if (e && e.__esModule) return e;
|
|
7
8
|
var n = Object.create(null);
|
|
8
9
|
if (e) {
|
|
9
10
|
Object.keys(e).forEach(function (k) {
|
|
@@ -20,7 +21,7 @@ function _interopNamespaceDefault(e) {
|
|
|
20
21
|
return Object.freeze(n);
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
var yup__namespace = /*#__PURE__*/
|
|
24
|
+
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
24
25
|
|
|
25
26
|
const schema = yup__namespace.object().shape({
|
|
26
27
|
options: yup__namespace.object().shape({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sources":["../../../../../admin/src/pages/EmailTemplates/utils/schema.js"],"sourcesContent":["import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\nconst schema = yup.object().shape({\n options: yup\n .object()\n .shape({\n from: yup\n .object()\n .shape({\n name: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n email: yup.string().email(translatedErrors.email).required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n })\n .required(),\n response_email: yup.string().email(translatedErrors.email),\n object: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n message: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n })\n .required(translatedErrors.required.id),\n});\n\nexport default schema;\n"],"names":["schema","yup","object","shape","options","from","name","string","required","id","translatedErrors","defaultMessage","email","response_email","message"],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.js","sources":["../../../../../admin/src/pages/EmailTemplates/utils/schema.js"],"sourcesContent":["import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\nconst schema = yup.object().shape({\n options: yup\n .object()\n .shape({\n from: yup\n .object()\n .shape({\n name: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n email: yup.string().email(translatedErrors.email).required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n })\n .required(),\n response_email: yup.string().email(translatedErrors.email),\n object: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n message: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n })\n .required(translatedErrors.required.id),\n});\n\nexport default schema;\n"],"names":["schema","yup","object","shape","options","from","name","string","required","id","translatedErrors","defaultMessage","email","response_email","message"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAMA,MAAAA,GAASC,cAAAA,CAAIC,MAAM,EAAA,CAAGC,KAAK,CAAC;AAChCC,IAAAA,OAAAA,EAASH,cAAAA,CACNC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLE,QAAAA,IAAAA,EAAMJ,cAAAA,CACHC,MAAM,EAAA,CACNC,KAAK,CAAC;AACLG,YAAAA,IAAAA,EAAML,cAAAA,CAAIM,MAAM,EAAA,CAAGC,QAAQ,CAAC;gBAC1BC,EAAAA,EAAIC,sBAAAA,CAAiBF,QAAQ,CAACC,EAAE;gBAChCE,cAAAA,EAAgB;AAClB,aAAA,CAAA;YACAC,KAAAA,EAAOX,cAAAA,CAAIM,MAAM,EAAA,CAAGK,KAAK,CAACF,sBAAAA,CAAiBE,KAAK,CAAA,CAAEJ,QAAQ,CAAC;gBACzDC,EAAAA,EAAIC,sBAAAA,CAAiBF,QAAQ,CAACC,EAAE;gBAChCE,cAAAA,EAAgB;AAClB,aAAA;AACF,SAAA,CAAA,CACCH,QAAQ,EAAA;AACXK,QAAAA,cAAAA,EAAgBZ,eAAIM,MAAM,EAAA,CAAGK,KAAK,CAACF,uBAAiBE,KAAK,CAAA;AACzDV,QAAAA,MAAAA,EAAQD,cAAAA,CAAIM,MAAM,EAAA,CAAGC,QAAQ,CAAC;YAC5BC,EAAAA,EAAIC,sBAAAA,CAAiBF,QAAQ,CAACC,EAAE;YAChCE,cAAAA,EAAgB;AAClB,SAAA,CAAA;AACAG,QAAAA,OAAAA,EAASb,cAAAA,CAAIM,MAAM,EAAA,CAAGC,QAAQ,CAAC;YAC7BC,EAAAA,EAAIC,sBAAAA,CAAiBF,QAAQ,CAACC,EAAE;YAChCE,cAAAA,EAAgB;AAClB,SAAA;AACF,KAAA,CAAA,CACCH,QAAQ,CAACE,sBAAAA,CAAiBF,QAAQ,CAACC,EAAE;AAC1C,CAAA;;;;"}
|
|
@@ -17,7 +17,10 @@ require('lodash/isEmpty');
|
|
|
17
17
|
var getTrad = require('../../utils/getTrad.js');
|
|
18
18
|
var forms = require('./utils/forms.js');
|
|
19
19
|
|
|
20
|
-
function
|
|
20
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
21
|
+
|
|
22
|
+
function _interopNamespace(e) {
|
|
23
|
+
if (e && e.__esModule) return e;
|
|
21
24
|
var n = Object.create(null);
|
|
22
25
|
if (e) {
|
|
23
26
|
Object.keys(e).forEach(function (k) {
|
|
@@ -34,7 +37,8 @@ function _interopNamespaceDefault(e) {
|
|
|
34
37
|
return Object.freeze(n);
|
|
35
38
|
}
|
|
36
39
|
|
|
37
|
-
var React__namespace = /*#__PURE__*/
|
|
40
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
41
|
+
var upperFirst__default = /*#__PURE__*/_interopDefault(upperFirst);
|
|
38
42
|
|
|
39
43
|
const ProvidersPage = ()=>{
|
|
40
44
|
const { formatMessage, locale } = reactIntl.useIntl();
|
|
@@ -255,7 +259,7 @@ const ProvidersPage = ()=>{
|
|
|
255
259
|
id: getTrad('PopUpForm.header.edit.providers'),
|
|
256
260
|
defaultMessage: 'Edit Provider'
|
|
257
261
|
}),
|
|
258
|
-
|
|
262
|
+
upperFirst__default.default(providerToEditName)
|
|
259
263
|
],
|
|
260
264
|
onToggle: handleToggleModal,
|
|
261
265
|
onSubmit: handleSubmit,
|
|
@@ -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 <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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"}
|
|
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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"}
|
|
@@ -5,7 +5,8 @@ var yup = require('yup');
|
|
|
5
5
|
require('lodash/isEmpty');
|
|
6
6
|
var getTrad = require('../../../utils/getTrad.js');
|
|
7
7
|
|
|
8
|
-
function
|
|
8
|
+
function _interopNamespace(e) {
|
|
9
|
+
if (e && e.__esModule) return e;
|
|
9
10
|
var n = Object.create(null);
|
|
10
11
|
if (e) {
|
|
11
12
|
Object.keys(e).forEach(function (k) {
|
|
@@ -22,7 +23,7 @@ function _interopNamespaceDefault(e) {
|
|
|
22
23
|
return Object.freeze(n);
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
var yup__namespace = /*#__PURE__*/
|
|
26
|
+
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
26
27
|
|
|
27
28
|
const callbackLabel = {
|
|
28
29
|
id: getTrad('PopUpForm.Providers.redirectURL.front-end.label'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms.js","sources":["../../../../../admin/src/pages/Providers/utils/forms.js"],"sourcesContent":["import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\nimport { getTrad } from '../../../utils';\n\nconst callbackLabel = {\n id: getTrad('PopUpForm.Providers.redirectURL.front-end.label'),\n defaultMessage: 'The redirect URL to your front-end app',\n};\nconst callbackPlaceholder = {\n id: 'http://www.client-app.com',\n defaultMessage: 'http://www.client-app.com',\n};\nconst enabledDescription = {\n id: getTrad('PopUpForm.Providers.enabled.description'),\n defaultMessage: \"If disabled, users won't be able to use this provider.\",\n};\nconst enabledLabel = {\n id: getTrad('PopUpForm.Providers.enabled.label'),\n defaultMessage: 'Enable',\n};\nconst keyLabel = { id: getTrad('PopUpForm.Providers.key.label'), defaultMessage: 'Client ID' };\nconst hintLabel = {\n id: getTrad('PopUpForm.Providers.redirectURL.label'),\n defaultMessage: 'The redirect URL to add in your {provider} application configurations',\n};\nconst textPlaceholder = {\n id: getTrad('PopUpForm.Providers.key.placeholder'),\n defaultMessage: 'TEXT',\n};\n\nconst secretLabel = {\n id: getTrad('PopUpForm.Providers.secret.label'),\n defaultMessage: 'Client Secret',\n};\n\nconst CALLBACK_REGEX = /^$|^[a-z][a-z0-9+.-]*:\\/\\/[^\\s/$.?#](?:[^\\s]*[^\\s/$.?#])?$/i;\nconst SUBDOMAIN_REGEX = /^(([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+)(:\\d+)?(\\/\\S*)?$/i;\n\nconst forms = {\n email: {\n form: [\n [\n {\n intlLabel: enabledLabel,\n name: 'enabled',\n type: 'bool',\n description: enabledDescription,\n size: 6,\n // TODO check if still needed\n // validations: {\n // required: true,\n // },\n },\n ],\n ],\n schema: yup.object().shape({\n enabled: yup.bool().required(translatedErrors.required.id),\n }),\n },\n providers: {\n form: [\n [\n {\n intlLabel: enabledLabel,\n name: 'enabled',\n type: 'bool',\n description: enabledDescription,\n size: 6,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: keyLabel,\n name: 'key',\n type: 'text',\n placeholder: textPlaceholder,\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: secretLabel,\n name: 'secret',\n type: 'text',\n placeholder: textPlaceholder,\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: callbackLabel,\n placeholder: callbackPlaceholder,\n name: 'callback',\n type: 'text',\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: hintLabel,\n name: 'noName',\n type: 'text',\n validations: {},\n size: 12,\n disabled: true,\n },\n ],\n ],\n schema: yup.object().shape({\n enabled: yup.bool().required(translatedErrors.required.id),\n key: yup.string().when('enabled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n secret: yup.string().when('enabled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n callback: yup.string().when('enabled', {\n is: true,\n then: yup\n .string()\n .matches(CALLBACK_REGEX, translatedErrors.regex.id)\n .required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n }),\n },\n providersWithSubdomain: {\n form: [\n [\n {\n intlLabel: enabledLabel,\n name: 'enabled',\n type: 'bool',\n description: enabledDescription,\n size: 6,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: keyLabel,\n name: 'key',\n type: 'text',\n placeholder: textPlaceholder,\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: secretLabel,\n name: 'secret',\n type: 'text',\n placeholder: textPlaceholder,\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: {\n id: getTrad({ id: 'PopUpForm.Providers.jwksurl.label' }),\n defaultMessage: 'JWKS URL',\n },\n name: 'jwksurl',\n type: 'text',\n placeholder: textPlaceholder,\n size: 12,\n validations: {\n required: false,\n },\n },\n ],\n\n [\n {\n intlLabel: {\n id: getTrad('PopUpForm.Providers.subdomain.label'),\n defaultMessage: 'Host URI (Subdomain)',\n },\n name: 'subdomain',\n type: 'text',\n placeholder: {\n id: getTrad('PopUpForm.Providers.subdomain.placeholder'),\n defaultMessage: 'my.subdomain.com',\n },\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: callbackLabel,\n placeholder: callbackPlaceholder,\n name: 'callback',\n type: 'text',\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: hintLabel,\n name: 'noName',\n type: 'text',\n validations: {},\n size: 12,\n disabled: true,\n },\n ],\n ],\n schema: yup.object().shape({\n enabled: yup.bool().required(translatedErrors.required.id),\n key: yup.string().when('enabled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n secret: yup.string().when('enabled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n subdomain: yup.string().when('enabled', {\n is: true,\n then: yup\n .string()\n .matches(SUBDOMAIN_REGEX, translatedErrors.regex.id)\n .required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n callback: yup.string().when('enabled', {\n is: true,\n then: yup\n .string()\n .matches(CALLBACK_REGEX, translatedErrors.regex.id)\n .required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n }),\n },\n};\n\nexport default forms;\n"],"names":["callbackLabel","id","getTrad","defaultMessage","callbackPlaceholder","enabledDescription","enabledLabel","keyLabel","hintLabel","textPlaceholder","secretLabel","CALLBACK_REGEX","SUBDOMAIN_REGEX","forms","email","form","intlLabel","name","type","description","size","schema","yup","object","shape","enabled","bool","required","translatedErrors","providers","validations","placeholder","disabled","key","string","when","is","then","otherwise","secret","callback","matches","regex","providersWithSubdomain","subdomain"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"forms.js","sources":["../../../../../admin/src/pages/Providers/utils/forms.js"],"sourcesContent":["import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\nimport { getTrad } from '../../../utils';\n\nconst callbackLabel = {\n id: getTrad('PopUpForm.Providers.redirectURL.front-end.label'),\n defaultMessage: 'The redirect URL to your front-end app',\n};\nconst callbackPlaceholder = {\n id: 'http://www.client-app.com',\n defaultMessage: 'http://www.client-app.com',\n};\nconst enabledDescription = {\n id: getTrad('PopUpForm.Providers.enabled.description'),\n defaultMessage: \"If disabled, users won't be able to use this provider.\",\n};\nconst enabledLabel = {\n id: getTrad('PopUpForm.Providers.enabled.label'),\n defaultMessage: 'Enable',\n};\nconst keyLabel = { id: getTrad('PopUpForm.Providers.key.label'), defaultMessage: 'Client ID' };\nconst hintLabel = {\n id: getTrad('PopUpForm.Providers.redirectURL.label'),\n defaultMessage: 'The redirect URL to add in your {provider} application configurations',\n};\nconst textPlaceholder = {\n id: getTrad('PopUpForm.Providers.key.placeholder'),\n defaultMessage: 'TEXT',\n};\n\nconst secretLabel = {\n id: getTrad('PopUpForm.Providers.secret.label'),\n defaultMessage: 'Client Secret',\n};\n\nconst CALLBACK_REGEX = /^$|^[a-z][a-z0-9+.-]*:\\/\\/[^\\s/$.?#](?:[^\\s]*[^\\s/$.?#])?$/i;\nconst SUBDOMAIN_REGEX = /^(([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+)(:\\d+)?(\\/\\S*)?$/i;\n\nconst forms = {\n email: {\n form: [\n [\n {\n intlLabel: enabledLabel,\n name: 'enabled',\n type: 'bool',\n description: enabledDescription,\n size: 6,\n // TODO check if still needed\n // validations: {\n // required: true,\n // },\n },\n ],\n ],\n schema: yup.object().shape({\n enabled: yup.bool().required(translatedErrors.required.id),\n }),\n },\n providers: {\n form: [\n [\n {\n intlLabel: enabledLabel,\n name: 'enabled',\n type: 'bool',\n description: enabledDescription,\n size: 6,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: keyLabel,\n name: 'key',\n type: 'text',\n placeholder: textPlaceholder,\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: secretLabel,\n name: 'secret',\n type: 'text',\n placeholder: textPlaceholder,\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: callbackLabel,\n placeholder: callbackPlaceholder,\n name: 'callback',\n type: 'text',\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: hintLabel,\n name: 'noName',\n type: 'text',\n validations: {},\n size: 12,\n disabled: true,\n },\n ],\n ],\n schema: yup.object().shape({\n enabled: yup.bool().required(translatedErrors.required.id),\n key: yup.string().when('enabled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n secret: yup.string().when('enabled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n callback: yup.string().when('enabled', {\n is: true,\n then: yup\n .string()\n .matches(CALLBACK_REGEX, translatedErrors.regex.id)\n .required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n }),\n },\n providersWithSubdomain: {\n form: [\n [\n {\n intlLabel: enabledLabel,\n name: 'enabled',\n type: 'bool',\n description: enabledDescription,\n size: 6,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: keyLabel,\n name: 'key',\n type: 'text',\n placeholder: textPlaceholder,\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: secretLabel,\n name: 'secret',\n type: 'text',\n placeholder: textPlaceholder,\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: {\n id: getTrad({ id: 'PopUpForm.Providers.jwksurl.label' }),\n defaultMessage: 'JWKS URL',\n },\n name: 'jwksurl',\n type: 'text',\n placeholder: textPlaceholder,\n size: 12,\n validations: {\n required: false,\n },\n },\n ],\n\n [\n {\n intlLabel: {\n id: getTrad('PopUpForm.Providers.subdomain.label'),\n defaultMessage: 'Host URI (Subdomain)',\n },\n name: 'subdomain',\n type: 'text',\n placeholder: {\n id: getTrad('PopUpForm.Providers.subdomain.placeholder'),\n defaultMessage: 'my.subdomain.com',\n },\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: callbackLabel,\n placeholder: callbackPlaceholder,\n name: 'callback',\n type: 'text',\n size: 12,\n validations: {\n required: true,\n },\n },\n ],\n [\n {\n intlLabel: hintLabel,\n name: 'noName',\n type: 'text',\n validations: {},\n size: 12,\n disabled: true,\n },\n ],\n ],\n schema: yup.object().shape({\n enabled: yup.bool().required(translatedErrors.required.id),\n key: yup.string().when('enabled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n secret: yup.string().when('enabled', {\n is: true,\n then: yup.string().required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n subdomain: yup.string().when('enabled', {\n is: true,\n then: yup\n .string()\n .matches(SUBDOMAIN_REGEX, translatedErrors.regex.id)\n .required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n callback: yup.string().when('enabled', {\n is: true,\n then: yup\n .string()\n .matches(CALLBACK_REGEX, translatedErrors.regex.id)\n .required(translatedErrors.required.id),\n otherwise: yup.string(),\n }),\n }),\n },\n};\n\nexport default forms;\n"],"names":["callbackLabel","id","getTrad","defaultMessage","callbackPlaceholder","enabledDescription","enabledLabel","keyLabel","hintLabel","textPlaceholder","secretLabel","CALLBACK_REGEX","SUBDOMAIN_REGEX","forms","email","form","intlLabel","name","type","description","size","schema","yup","object","shape","enabled","bool","required","translatedErrors","providers","validations","placeholder","disabled","key","string","when","is","then","otherwise","secret","callback","matches","regex","providersWithSubdomain","subdomain"],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
var admin = require('@strapi/strapi/admin');
|
|
4
4
|
var yup = require('yup');
|
|
5
5
|
|
|
6
|
-
function
|
|
6
|
+
function _interopNamespace(e) {
|
|
7
|
+
if (e && e.__esModule) return e;
|
|
7
8
|
var n = Object.create(null);
|
|
8
9
|
if (e) {
|
|
9
10
|
Object.keys(e).forEach(function (k) {
|
|
@@ -20,7 +21,7 @@ function _interopNamespaceDefault(e) {
|
|
|
20
21
|
return Object.freeze(n);
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
var yup__namespace = /*#__PURE__*/
|
|
24
|
+
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
24
25
|
|
|
25
26
|
const createRoleSchema = yup__namespace.object().shape({
|
|
26
27
|
name: yup__namespace.string().required(admin.translatedErrors.required.id),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../admin/src/pages/Roles/constants.js"],"sourcesContent":["import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\nexport const createRoleSchema = yup.object().shape({\n name: yup.string().required(translatedErrors.required.id),\n description: yup.string().required(translatedErrors.required.id),\n});\n"],"names":["createRoleSchema","yup","object","shape","name","string","required","translatedErrors","id","description"],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../admin/src/pages/Roles/constants.js"],"sourcesContent":["import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\nexport const createRoleSchema = yup.object().shape({\n name: yup.string().required(translatedErrors.required.id),\n description: yup.string().required(translatedErrors.required.id),\n});\n"],"names":["createRoleSchema","yup","object","shape","name","string","required","translatedErrors","id","description"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;MAGaA,gBAAAA,GAAmBC,cAAAA,CAAIC,MAAM,EAAA,CAAGC,KAAK,CAAC;IACjDC,IAAAA,EAAMH,cAAAA,CAAII,MAAM,EAAA,CAAGC,QAAQ,CAACC,sBAAAA,CAAiBD,QAAQ,CAACE,EAAE,CAAA;IACxDC,WAAAA,EAAaR,cAAAA,CAAII,MAAM,EAAA,CAAGC,QAAQ,CAACC,sBAAAA,CAAiBD,QAAQ,CAACE,EAAE;AACjE,CAAA;;;;"}
|
|
@@ -15,7 +15,8 @@ var getTrad = require('../../../utils/getTrad.js');
|
|
|
15
15
|
var constants$1 = require('../constants.js');
|
|
16
16
|
var usePlugins = require('../hooks/usePlugins.js');
|
|
17
17
|
|
|
18
|
-
function
|
|
18
|
+
function _interopNamespace(e) {
|
|
19
|
+
if (e && e.__esModule) return e;
|
|
19
20
|
var n = Object.create(null);
|
|
20
21
|
if (e) {
|
|
21
22
|
Object.keys(e).forEach(function (k) {
|
|
@@ -32,7 +33,7 @@ function _interopNamespaceDefault(e) {
|
|
|
32
33
|
return Object.freeze(n);
|
|
33
34
|
}
|
|
34
35
|
|
|
35
|
-
var React__namespace = /*#__PURE__*/
|
|
36
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
36
37
|
|
|
37
38
|
const CreatePage = ()=>{
|
|
38
39
|
const { formatMessage } = reactIntl.useIntl();
|