@strapi/plugin-users-permissions 5.0.0-alpha.2 → 5.0.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin/src/pages/AdvancedSettings/index.jsx +1 -1
- package/admin/src/pages/EmailTemplates/index.jsx +7 -2
- package/admin/src/pages/Providers/index.jsx +7 -2
- package/admin/src/pages/Roles/pages/ListPage/index.jsx +2 -2
- package/dist/_chunks/{EditViewPage-JFzIJClS-SluImrzz.mjs → EditViewPage-m8eq8b5B-cBfNGZPe.mjs} +34 -34
- package/dist/_chunks/EditViewPage-m8eq8b5B-cBfNGZPe.mjs.map +1 -0
- package/dist/_chunks/{EditViewPage-JFzIJClS-9jnyNYlZ.js → EditViewPage-m8eq8b5B-qJf03x_F.js} +212 -214
- package/dist/_chunks/EditViewPage-m8eq8b5B-qJf03x_F.js.map +1 -0
- package/dist/_chunks/{Helmet-kyJ1Zklj.mjs → Helmet-En-SEnNC.mjs} +3 -3
- package/dist/_chunks/{Helmet-kyJ1Zklj.mjs.map → Helmet-En-SEnNC.mjs.map} +1 -1
- package/dist/_chunks/{ListViewPage-1VNVP9Rw-94jqnla4.js → ListViewPage-fcwyHB4o-PGOFJwgO.js} +112 -134
- package/dist/_chunks/ListViewPage-fcwyHB4o-PGOFJwgO.js.map +1 -0
- package/dist/_chunks/{ListViewPage-1VNVP9Rw-Ce-HkFp1.mjs → ListViewPage-fcwyHB4o-pXnDB8JN.mjs} +14 -37
- package/dist/_chunks/ListViewPage-fcwyHB4o-pXnDB8JN.mjs.map +1 -0
- package/dist/_chunks/{ReviewWorkflowsColumn-sPZxvFUd-Cd4JhTlj.mjs → ReviewWorkflowsColumn-BdkHPnDo-FKss4ScT.mjs} +2 -2
- package/dist/_chunks/ReviewWorkflowsColumn-BdkHPnDo-FKss4ScT.mjs.map +1 -0
- package/dist/_chunks/{ReviewWorkflowsColumn-sPZxvFUd-S2eFi9Dy.js → ReviewWorkflowsColumn-BdkHPnDo-WzfiGGDw.js} +5 -5
- package/dist/_chunks/ReviewWorkflowsColumn-BdkHPnDo-WzfiGGDw.js.map +1 -0
- package/dist/_chunks/{constants-0OGkpIzK-R5N7-OUr.mjs → constants-OqgYP6sX-CuWG8Tf6.mjs} +2 -2
- package/dist/_chunks/constants-OqgYP6sX-CuWG8Tf6.mjs.map +1 -0
- package/dist/_chunks/{constants-0OGkpIzK-f_M9PDKN.js → constants-OqgYP6sX-GMa0Al3c.js} +18 -18
- package/dist/_chunks/constants-OqgYP6sX-GMa0Al3c.js.map +1 -0
- package/dist/_chunks/{index-pDvppjQG.mjs → index-2l_GqZpn.mjs} +5 -6
- package/dist/_chunks/index-2l_GqZpn.mjs.map +1 -0
- package/dist/_chunks/{index-6X9XaLjS.js → index-4VuFIgcs.js} +5 -6
- package/dist/_chunks/index-4VuFIgcs.js.map +1 -0
- package/dist/_chunks/{index-av_iGW-0.mjs → index-56e4iv7D.mjs} +5 -6
- package/dist/_chunks/{index-av_iGW-0.mjs.map → index-56e4iv7D.mjs.map} +1 -1
- package/dist/_chunks/{index-RT4MW9Nr.js → index-88KLL-Er.js} +4 -5
- package/dist/_chunks/{index-RT4MW9Nr.js.map → index-88KLL-Er.js.map} +1 -1
- package/dist/_chunks/{index-whB2wk2v.mjs → index-JmhOjX0C.mjs} +4 -5
- package/dist/_chunks/index-JmhOjX0C.mjs.map +1 -0
- package/dist/_chunks/{index-GIVuHJgC-_q6V7_2B.mjs → index-Sd8uo7mE-B6VoGXRI.mjs} +14794 -14761
- package/dist/_chunks/index-Sd8uo7mE-B6VoGXRI.mjs.map +1 -0
- package/dist/_chunks/{index-GIVuHJgC-tj2acNbO.js → index-Sd8uo7mE-t07iYafJ.js} +14443 -14410
- package/dist/_chunks/index-Sd8uo7mE-t07iYafJ.js.map +1 -0
- package/dist/_chunks/{index-iaIILeuQ.mjs → index-bRul6pJT.mjs} +9 -10
- package/dist/_chunks/{index-iaIILeuQ.mjs.map → index-bRul6pJT.mjs.map} +1 -1
- package/dist/_chunks/{index-Q5NQ4RI9.js → index-pdD8Ki58.js} +9 -10
- package/dist/_chunks/{index-Q5NQ4RI9.js.map → index-pdD8Ki58.js.map} +1 -1
- package/dist/_chunks/{index-vvcDunmb.mjs → index-s6lRRSB-.mjs} +5 -6
- package/dist/_chunks/index-s6lRRSB-.mjs.map +1 -0
- package/dist/_chunks/{index-tFzYCM9l.js → index-vpLrCwat.js} +3 -4
- package/dist/_chunks/index-vpLrCwat.js.map +1 -0
- package/dist/_chunks/{index-heeE_h30.js → index-ytMb2WgP.js} +5 -6
- package/dist/_chunks/index-ytMb2WgP.js.map +1 -0
- package/dist/_chunks/{useSyncRbac-JNQibLFa-D0RzXrU4.mjs → useSyncRbac-Od0wrAnD-0D-br2LF.mjs} +12 -6
- package/dist/_chunks/useSyncRbac-Od0wrAnD-0D-br2LF.mjs.map +1 -0
- package/dist/_chunks/{useSyncRbac-JNQibLFa-G2N9BPgu.js → useSyncRbac-Od0wrAnD-U2WlPjap.js} +16 -10
- package/dist/_chunks/useSyncRbac-Od0wrAnD-U2WlPjap.js.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/package.json +5 -6
- package/dist/_chunks/EditViewPage-JFzIJClS-9jnyNYlZ.js.map +0 -1
- package/dist/_chunks/EditViewPage-JFzIJClS-SluImrzz.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-1VNVP9Rw-94jqnla4.js.map +0 -1
- package/dist/_chunks/ListViewPage-1VNVP9Rw-Ce-HkFp1.mjs.map +0 -1
- package/dist/_chunks/ReviewWorkflowsColumn-sPZxvFUd-Cd4JhTlj.mjs.map +0 -1
- package/dist/_chunks/ReviewWorkflowsColumn-sPZxvFUd-S2eFi9Dy.js.map +0 -1
- package/dist/_chunks/constants-0OGkpIzK-R5N7-OUr.mjs.map +0 -1
- package/dist/_chunks/constants-0OGkpIzK-f_M9PDKN.js.map +0 -1
- package/dist/_chunks/index-6X9XaLjS.js.map +0 -1
- package/dist/_chunks/index-GIVuHJgC-_q6V7_2B.mjs.map +0 -1
- package/dist/_chunks/index-GIVuHJgC-tj2acNbO.js.map +0 -1
- package/dist/_chunks/index-heeE_h30.js.map +0 -1
- package/dist/_chunks/index-pDvppjQG.mjs.map +0 -1
- package/dist/_chunks/index-tFzYCM9l.js.map +0 -1
- package/dist/_chunks/index-vvcDunmb.mjs.map +0 -1
- package/dist/_chunks/index-whB2wk2v.mjs.map +0 -1
- package/dist/_chunks/useSyncRbac-JNQibLFa-D0RzXrU4.mjs.map +0 -1
- package/dist/_chunks/useSyncRbac-JNQibLFa-G2N9BPgu.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Flex, Box, Typography } from "@strapi/design-system";
|
|
3
|
-
import {
|
|
3
|
+
import { ap as getStageColorByHex, aq as STAGE_COLOR_DEFAULT, a0 as getDisplayName } from "./index-Sd8uo7mE-B6VoGXRI.mjs";
|
|
4
4
|
import { useIntl } from "react-intl";
|
|
5
5
|
const ReviewWorkflowsStageEE = ({
|
|
6
6
|
color = STAGE_COLOR_DEFAULT,
|
|
@@ -30,4 +30,4 @@ export {
|
|
|
30
30
|
ReviewWorkflowsAssigneeEE,
|
|
31
31
|
ReviewWorkflowsStageEE
|
|
32
32
|
};
|
|
33
|
-
//# sourceMappingURL=ReviewWorkflowsColumn-
|
|
33
|
+
//# sourceMappingURL=ReviewWorkflowsColumn-BdkHPnDo-FKss4ScT.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReviewWorkflowsColumn-BdkHPnDo-FKss4ScT.mjs","sources":["../../../../core/admin/dist/admin/ReviewWorkflowsColumn-BdkHPnDo.mjs"],"sourcesContent":["import { jsxs, jsx } from 'react/jsx-runtime';\nimport { Flex, Box, Typography } from '@strapi/design-system';\nimport { I as getStageColorByHex, G as STAGE_COLOR_DEFAULT } from './index-Sd8uo7mE.mjs';\nimport { useIntl } from 'react-intl';\nimport { g as getDisplayName } from './useDocumentLayout-5UQF9Yls.mjs';\n\nconst ReviewWorkflowsStageEE = ({\n color = STAGE_COLOR_DEFAULT,\n name\n}) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n return /* @__PURE__ */ jsxs(Flex, { alignItems: \"center\", gap: 2, maxWidth: `${300 / 16}rem`, children: [\n /* @__PURE__ */ jsx(\n Box,\n {\n height: 2,\n background: color,\n borderColor: themeColorName === \"neutral0\" ? \"neutral150\" : void 0,\n hasRadius: true,\n shrink: 0,\n width: 2\n }\n ),\n /* @__PURE__ */ jsx(Typography, { fontWeight: \"regular\", textColor: \"neutral700\", ellipsis: true, children: name })\n ] });\n};\n\nconst ReviewWorkflowsAssigneeEE = ({ user }) => {\n const { formatMessage } = useIntl();\n return /* @__PURE__ */ jsx(Typography, { textColor: \"neutral800\", children: getDisplayName(user, formatMessage) });\n};\n\nexport { ReviewWorkflowsAssigneeEE, ReviewWorkflowsStageEE };\n//# sourceMappingURL=ReviewWorkflowsColumn-BdkHPnDo.mjs.map\n"],"names":[],"mappings":";;;;AAMK,MAAC,yBAAyB,CAAC;AAAA,EAC9B,QAAQ;AAAA,EACR;AACF,MAAM;AACJ,QAAM,EAAE,eAAgB,IAAG,mBAAmB,KAAK,KAAK,CAAA;AACxD,SAAuB,qBAAK,MAAM,EAAE,YAAY,UAAU,KAAK,GAAG,UAAU,GAAG,MAAM,EAAE,OAAO,UAAU;AAAA,IACtF;AAAA,MACd;AAAA,MACA;AAAA,QACE,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,aAAa,mBAAmB,aAAa,eAAe;AAAA,QAC5D,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,OAAO;AAAA,MACR;AAAA,IACF;AAAA,IACe,oBAAI,YAAY,EAAE,YAAY,WAAW,WAAW,cAAc,UAAU,MAAM,UAAU,KAAI,CAAE;AAAA,EACnH,EAAA,CAAE;AACL;AAEK,MAAC,4BAA4B,CAAC,EAAE,WAAW;AAC9C,QAAM,EAAE,kBAAkB;AAC1B,SAAuB,oBAAI,YAAY,EAAE,WAAW,cAAc,UAAU,eAAe,MAAM,aAAa,EAAC,CAAE;AACnH;"}
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const designSystem = require("@strapi/design-system");
|
|
5
|
-
const
|
|
5
|
+
const indexSd8uo7mE = require("./index-Sd8uo7mE-t07iYafJ.js");
|
|
6
6
|
const reactIntl = require("react-intl");
|
|
7
7
|
const ReviewWorkflowsStageEE = ({
|
|
8
|
-
color =
|
|
8
|
+
color = indexSd8uo7mE.STAGE_COLOR_DEFAULT,
|
|
9
9
|
name
|
|
10
10
|
}) => {
|
|
11
|
-
const { themeColorName } =
|
|
11
|
+
const { themeColorName } = indexSd8uo7mE.getStageColorByHex(color) ?? {};
|
|
12
12
|
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "center", gap: 2, maxWidth: `${300 / 16}rem`, children: [
|
|
13
13
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
14
14
|
designSystem.Box,
|
|
@@ -26,8 +26,8 @@ const ReviewWorkflowsStageEE = ({
|
|
|
26
26
|
};
|
|
27
27
|
const ReviewWorkflowsAssigneeEE = ({ user }) => {
|
|
28
28
|
const { formatMessage } = reactIntl.useIntl();
|
|
29
|
-
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "neutral800", children:
|
|
29
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "neutral800", children: indexSd8uo7mE.getDisplayName(user, formatMessage) });
|
|
30
30
|
};
|
|
31
31
|
exports.ReviewWorkflowsAssigneeEE = ReviewWorkflowsAssigneeEE;
|
|
32
32
|
exports.ReviewWorkflowsStageEE = ReviewWorkflowsStageEE;
|
|
33
|
-
//# sourceMappingURL=ReviewWorkflowsColumn-
|
|
33
|
+
//# sourceMappingURL=ReviewWorkflowsColumn-BdkHPnDo-WzfiGGDw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReviewWorkflowsColumn-BdkHPnDo-WzfiGGDw.js","sources":["../../../../core/admin/dist/admin/ReviewWorkflowsColumn-BdkHPnDo.mjs"],"sourcesContent":["import { jsxs, jsx } from 'react/jsx-runtime';\nimport { Flex, Box, Typography } from '@strapi/design-system';\nimport { I as getStageColorByHex, G as STAGE_COLOR_DEFAULT } from './index-Sd8uo7mE.mjs';\nimport { useIntl } from 'react-intl';\nimport { g as getDisplayName } from './useDocumentLayout-5UQF9Yls.mjs';\n\nconst ReviewWorkflowsStageEE = ({\n color = STAGE_COLOR_DEFAULT,\n name\n}) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n return /* @__PURE__ */ jsxs(Flex, { alignItems: \"center\", gap: 2, maxWidth: `${300 / 16}rem`, children: [\n /* @__PURE__ */ jsx(\n Box,\n {\n height: 2,\n background: color,\n borderColor: themeColorName === \"neutral0\" ? \"neutral150\" : void 0,\n hasRadius: true,\n shrink: 0,\n width: 2\n }\n ),\n /* @__PURE__ */ jsx(Typography, { fontWeight: \"regular\", textColor: \"neutral700\", ellipsis: true, children: name })\n ] });\n};\n\nconst ReviewWorkflowsAssigneeEE = ({ user }) => {\n const { formatMessage } = useIntl();\n return /* @__PURE__ */ jsx(Typography, { textColor: \"neutral800\", children: getDisplayName(user, formatMessage) });\n};\n\nexport { ReviewWorkflowsAssigneeEE, ReviewWorkflowsStageEE };\n//# sourceMappingURL=ReviewWorkflowsColumn-BdkHPnDo.mjs.map\n"],"names":["STAGE_COLOR_DEFAULT","getStageColorByHex","jsxs","Flex","jsx","Box","Typography","useIntl","getDisplayName"],"mappings":";;;;;;AAMK,MAAC,yBAAyB,CAAC;AAAA,EAC9B,QAAQA,cAAmB;AAAA,EAC3B;AACF,MAAM;AACJ,QAAM,EAAE,eAAgB,IAAGC,cAAkB,mBAAC,KAAK,KAAK,CAAA;AACxD,SAAuBC,2BAAI,KAACC,aAAI,MAAE,EAAE,YAAY,UAAU,KAAK,GAAG,UAAU,GAAG,MAAM,EAAE,OAAO,UAAU;AAAA,IACtFC,2BAAG;AAAA,MACjBC,aAAG;AAAA,MACH;AAAA,QACE,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,aAAa,mBAAmB,aAAa,eAAe;AAAA,QAC5D,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,OAAO;AAAA,MACR;AAAA,IACF;AAAA,IACeD,2BAAAA,IAAIE,aAAU,YAAE,EAAE,YAAY,WAAW,WAAW,cAAc,UAAU,MAAM,UAAU,KAAI,CAAE;AAAA,EACnH,EAAA,CAAE;AACL;AAEK,MAAC,4BAA4B,CAAC,EAAE,WAAW;AAC9C,QAAM,EAAE,kBAAkBC,UAAAA;AAC1B,SAAuBH,+BAAIE,aAAAA,YAAY,EAAE,WAAW,cAAc,UAAUE,cAAAA,eAAe,MAAM,aAAa,EAAC,CAAE;AACnH;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { aj as useGetWorkflowsQuery, ak as useCreateWorkflowMutation, al as useUpdateWorkflowMutation, am as useDeleteWorkflowMutation, an as STAGE_ATTRIBUTE_NAME, g as getTranslation, ao as ASSIGNEE_ATTRIBUTE_NAME, a5 as useAdminUsers, a as useField, a0 as getDisplayName, d as useDoc, ap as getStageColorByHex } from "./index-Sd8uo7mE-B6VoGXRI.mjs";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { Combobox, ComboboxOption, SingleSelect, Flex, Typography, Loader, SingleSelectOption } from "@strapi/design-system";
|
|
@@ -187,4 +187,4 @@ export {
|
|
|
187
187
|
REVIEW_WORKFLOW_COLUMNS_EE,
|
|
188
188
|
REVIEW_WORKFLOW_FILTERS
|
|
189
189
|
};
|
|
190
|
-
//# sourceMappingURL=constants-
|
|
190
|
+
//# sourceMappingURL=constants-OqgYP6sX-CuWG8Tf6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants-OqgYP6sX-CuWG8Tf6.mjs","sources":["../../../../core/admin/dist/admin/useReviewWorkflows-vIYhJ1WA.mjs","../../../../core/admin/dist/admin/constants-OqgYP6sX.mjs"],"sourcesContent":["import { i as useGetWorkflowsQuery, j as useCreateWorkflowMutation, k as useUpdateWorkflowMutation, l as useDeleteWorkflowMutation } from './index-Sd8uo7mE.mjs';\n\nfunction useReviewWorkflows(params = {}) {\n const { id = \"\", ...queryParams } = params;\n const { data, isLoading } = useGetWorkflowsQuery({\n id,\n populate: \"stages\",\n ...queryParams\n });\n const [createWorkflow] = useCreateWorkflowMutation();\n const [updateWorkflow] = useUpdateWorkflowMutation();\n const [deleteWorkflow] = useDeleteWorkflowMutation();\n const { workflows, meta } = data ?? {};\n return {\n // meta contains e.g. the total of all workflows. we can not use\n // the pagination object here, because the list is not paginated.\n meta,\n workflows,\n isLoading,\n createWorkflow,\n updateWorkflow,\n deleteWorkflow\n };\n}\n\nexport { useReviewWorkflows as u };\n//# sourceMappingURL=useReviewWorkflows-vIYhJ1WA.mjs.map\n","import { l as useField, g as useDoc, q as getTranslation } from './reducers-TOuLOGw_.mjs';\nimport { d as useAdminUsers, I as getStageColorByHex, a5 as STAGE_ATTRIBUTE_NAME, a6 as ASSIGNEE_ATTRIBUTE_NAME } from './index-Sd8uo7mE.mjs';\nimport { jsx, jsxs } from 'react/jsx-runtime';\nimport * as React from 'react';\nimport { Combobox, ComboboxOption, SingleSelect, Flex, Typography, Loader, SingleSelectOption } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { g as getDisplayName } from './useDocumentLayout-5UQF9Yls.mjs';\nimport { u as useReviewWorkflows } from './useReviewWorkflows-vIYhJ1WA.mjs';\n\nconst AssigneeFilter = ({ name }) => {\n const [page, setPage] = React.useState(1);\n const { formatMessage } = useIntl();\n const { data, isLoading } = useAdminUsers({\n page\n });\n const users = data?.users || [];\n const field = useField(name);\n const handleChange = (value) => {\n setPage(1);\n field.onChange(name, value);\n };\n return /* @__PURE__ */ jsx(\n Combobox,\n {\n value: field.value,\n \"aria-label\": formatMessage({\n id: \"content-manager.components.Filters.usersSelect.label\",\n defaultMessage: \"Search and select an user to filter\"\n }),\n onChange: handleChange,\n loading: isLoading,\n onLoadMore: () => setPage((prev) => prev + 1),\n children: users.map((user) => {\n return /* @__PURE__ */ jsx(ComboboxOption, { value: user.id.toString(), children: getDisplayName(user, formatMessage) }, user.id);\n })\n }\n );\n};\n\nconst StageFilter = (props) => {\n const { model } = useDoc();\n const { formatMessage } = useIntl();\n const { workflows, isLoading } = useReviewWorkflows({ filters: { contentTypes: model } });\n const field = useField(props.name);\n const [workflow] = workflows ?? [];\n return /* @__PURE__ */ jsx(\n SingleSelect,\n {\n \"aria-label\": formatMessage({\n id: \"content-manager.components.Filters.reviewWorkflows.label\",\n defaultMessage: \"Search and select an workflow stage to filter\"\n }),\n value: field.value,\n onChange: (value) => {\n field.onChange(props.name, value);\n },\n loading: isLoading,\n customizeContent: () => /* @__PURE__ */ jsxs(Flex, { as: \"span\", justifyContent: \"space-between\", alignItems: \"center\", width: \"100%\", children: [\n /* @__PURE__ */ jsx(Typography, { textColor: \"neutral800\", ellipsis: true, children: field.value }),\n isLoading ? /* @__PURE__ */ jsx(Loader, { small: true, style: { display: \"flex\" } }) : null\n ] }),\n children: (workflow?.stages ?? []).map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n return /* @__PURE__ */ jsx(\n SingleSelectOption,\n {\n startIcon: /* @__PURE__ */ jsx(\n Flex,\n {\n height: 2,\n background: color,\n borderColor: themeColorName === \"neutral0\" ? \"neutral150\" : void 0,\n hasRadius: true,\n shrink: 0,\n width: 2\n }\n ),\n value: name,\n children: name\n },\n id\n );\n })\n }\n );\n};\n\nconst REVIEW_WORKFLOW_COLUMNS_EE = [\n {\n name: STAGE_ATTRIBUTE_NAME,\n attribute: {\n type: \"relation\",\n relation: \"oneToMany\",\n target: \"admin::review-workflow-stage\"\n },\n label: {\n id: getTranslation(`containers.list.table-headers.reviewWorkflows.stage`),\n defaultMessage: \"Review stage\"\n },\n searchable: false,\n sortable: true,\n mainField: {\n name: \"name\",\n type: \"string\"\n }\n },\n {\n name: ASSIGNEE_ATTRIBUTE_NAME,\n attribute: {\n type: \"relation\",\n target: \"admin::user\",\n relation: \"oneToMany\"\n },\n label: {\n id: getTranslation(`containers.list.table-headers.reviewWorkflows.assignee`),\n defaultMessage: \"Assignee\"\n },\n searchable: false,\n sortable: true,\n mainField: {\n name: \"firstname\",\n type: \"string\"\n }\n }\n];\nconst REVIEW_WORKFLOW_FILTERS = [\n {\n mainField: {\n name: \"name\",\n type: \"string\"\n },\n input: StageFilter,\n label: {\n id: getTranslation(`containers.list.table-headers.reviewWorkflows.stage`),\n defaultMessage: \"Review stage\"\n },\n name: \"strapi_stage\",\n type: \"relation\"\n },\n {\n type: \"relation\",\n mainField: {\n name: \"id\",\n type: \"integer\"\n },\n input: AssigneeFilter,\n operators: [\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$eq\",\n defaultMessage: \"is\"\n },\n value: \"$eq\"\n },\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$ne\",\n defaultMessage: \"is not\"\n },\n value: \"$ne\"\n }\n ],\n label: {\n id: getTranslation(`containers.list.table-headers.reviewWorkflows.assignee.label`),\n defaultMessage: \"Assignee\"\n },\n name: \"strapi_assignee\"\n }\n];\n\nexport { REVIEW_WORKFLOW_COLUMNS_EE, REVIEW_WORKFLOW_FILTERS };\n//# sourceMappingURL=constants-OqgYP6sX.mjs.map\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const
|
|
3
|
+
const indexSd8uo7mE = require("./index-Sd8uo7mE-t07iYafJ.js");
|
|
4
4
|
const jsxRuntime = require("react/jsx-runtime");
|
|
5
5
|
const React = require("react");
|
|
6
6
|
const designSystem = require("@strapi/design-system");
|
|
@@ -26,14 +26,14 @@ function _interopNamespace(e) {
|
|
|
26
26
|
const React__namespace = /* @__PURE__ */ _interopNamespace(React);
|
|
27
27
|
function useReviewWorkflows(params = {}) {
|
|
28
28
|
const { id = "", ...queryParams } = params;
|
|
29
|
-
const { data, isLoading } =
|
|
29
|
+
const { data, isLoading } = indexSd8uo7mE.useGetWorkflowsQuery({
|
|
30
30
|
id,
|
|
31
31
|
populate: "stages",
|
|
32
32
|
...queryParams
|
|
33
33
|
});
|
|
34
|
-
const [createWorkflow] =
|
|
35
|
-
const [updateWorkflow] =
|
|
36
|
-
const [deleteWorkflow] =
|
|
34
|
+
const [createWorkflow] = indexSd8uo7mE.useCreateWorkflowMutation();
|
|
35
|
+
const [updateWorkflow] = indexSd8uo7mE.useUpdateWorkflowMutation();
|
|
36
|
+
const [deleteWorkflow] = indexSd8uo7mE.useDeleteWorkflowMutation();
|
|
37
37
|
const { workflows, meta } = data ?? {};
|
|
38
38
|
return {
|
|
39
39
|
// meta contains e.g. the total of all workflows. we can not use
|
|
@@ -49,11 +49,11 @@ function useReviewWorkflows(params = {}) {
|
|
|
49
49
|
const AssigneeFilter = ({ name }) => {
|
|
50
50
|
const [page, setPage] = React__namespace.useState(1);
|
|
51
51
|
const { formatMessage } = reactIntl.useIntl();
|
|
52
|
-
const { data, isLoading } =
|
|
52
|
+
const { data, isLoading } = indexSd8uo7mE.useAdminUsers({
|
|
53
53
|
page
|
|
54
54
|
});
|
|
55
55
|
const users = data?.users || [];
|
|
56
|
-
const field =
|
|
56
|
+
const field = indexSd8uo7mE.useField(name);
|
|
57
57
|
const handleChange = (value) => {
|
|
58
58
|
setPage(1);
|
|
59
59
|
field.onChange(name, value);
|
|
@@ -70,16 +70,16 @@ const AssigneeFilter = ({ name }) => {
|
|
|
70
70
|
loading: isLoading,
|
|
71
71
|
onLoadMore: () => setPage((prev) => prev + 1),
|
|
72
72
|
children: users.map((user) => {
|
|
73
|
-
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.ComboboxOption, { value: user.id.toString(), children:
|
|
73
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.ComboboxOption, { value: user.id.toString(), children: indexSd8uo7mE.getDisplayName(user, formatMessage) }, user.id);
|
|
74
74
|
})
|
|
75
75
|
}
|
|
76
76
|
);
|
|
77
77
|
};
|
|
78
78
|
const StageFilter = (props) => {
|
|
79
|
-
const { model } =
|
|
79
|
+
const { model } = indexSd8uo7mE.useDoc();
|
|
80
80
|
const { formatMessage } = reactIntl.useIntl();
|
|
81
81
|
const { workflows, isLoading } = useReviewWorkflows({ filters: { contentTypes: model } });
|
|
82
|
-
const field =
|
|
82
|
+
const field = indexSd8uo7mE.useField(props.name);
|
|
83
83
|
const [workflow] = workflows ?? [];
|
|
84
84
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
85
85
|
designSystem.SingleSelect,
|
|
@@ -98,7 +98,7 @@ const StageFilter = (props) => {
|
|
|
98
98
|
isLoading ? /* @__PURE__ */ jsxRuntime.jsx(designSystem.Loader, { small: true, style: { display: "flex" } }) : null
|
|
99
99
|
] }),
|
|
100
100
|
children: (workflow?.stages ?? []).map(({ id, color, name }) => {
|
|
101
|
-
const { themeColorName } =
|
|
101
|
+
const { themeColorName } = indexSd8uo7mE.getStageColorByHex(color) ?? {};
|
|
102
102
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
103
103
|
designSystem.SingleSelectOption,
|
|
104
104
|
{
|
|
@@ -124,14 +124,14 @@ const StageFilter = (props) => {
|
|
|
124
124
|
};
|
|
125
125
|
const REVIEW_WORKFLOW_COLUMNS_EE = [
|
|
126
126
|
{
|
|
127
|
-
name:
|
|
127
|
+
name: indexSd8uo7mE.STAGE_ATTRIBUTE_NAME,
|
|
128
128
|
attribute: {
|
|
129
129
|
type: "relation",
|
|
130
130
|
relation: "oneToMany",
|
|
131
131
|
target: "admin::review-workflow-stage"
|
|
132
132
|
},
|
|
133
133
|
label: {
|
|
134
|
-
id:
|
|
134
|
+
id: indexSd8uo7mE.getTranslation(`containers.list.table-headers.reviewWorkflows.stage`),
|
|
135
135
|
defaultMessage: "Review stage"
|
|
136
136
|
},
|
|
137
137
|
searchable: false,
|
|
@@ -142,14 +142,14 @@ const REVIEW_WORKFLOW_COLUMNS_EE = [
|
|
|
142
142
|
}
|
|
143
143
|
},
|
|
144
144
|
{
|
|
145
|
-
name:
|
|
145
|
+
name: indexSd8uo7mE.ASSIGNEE_ATTRIBUTE_NAME,
|
|
146
146
|
attribute: {
|
|
147
147
|
type: "relation",
|
|
148
148
|
target: "admin::user",
|
|
149
149
|
relation: "oneToMany"
|
|
150
150
|
},
|
|
151
151
|
label: {
|
|
152
|
-
id:
|
|
152
|
+
id: indexSd8uo7mE.getTranslation(`containers.list.table-headers.reviewWorkflows.assignee`),
|
|
153
153
|
defaultMessage: "Assignee"
|
|
154
154
|
},
|
|
155
155
|
searchable: false,
|
|
@@ -168,7 +168,7 @@ const REVIEW_WORKFLOW_FILTERS = [
|
|
|
168
168
|
},
|
|
169
169
|
input: StageFilter,
|
|
170
170
|
label: {
|
|
171
|
-
id:
|
|
171
|
+
id: indexSd8uo7mE.getTranslation(`containers.list.table-headers.reviewWorkflows.stage`),
|
|
172
172
|
defaultMessage: "Review stage"
|
|
173
173
|
},
|
|
174
174
|
name: "strapi_stage",
|
|
@@ -198,7 +198,7 @@ const REVIEW_WORKFLOW_FILTERS = [
|
|
|
198
198
|
}
|
|
199
199
|
],
|
|
200
200
|
label: {
|
|
201
|
-
id:
|
|
201
|
+
id: indexSd8uo7mE.getTranslation(`containers.list.table-headers.reviewWorkflows.assignee.label`),
|
|
202
202
|
defaultMessage: "Assignee"
|
|
203
203
|
},
|
|
204
204
|
name: "strapi_assignee"
|
|
@@ -206,4 +206,4 @@ const REVIEW_WORKFLOW_FILTERS = [
|
|
|
206
206
|
];
|
|
207
207
|
exports.REVIEW_WORKFLOW_COLUMNS_EE = REVIEW_WORKFLOW_COLUMNS_EE;
|
|
208
208
|
exports.REVIEW_WORKFLOW_FILTERS = REVIEW_WORKFLOW_FILTERS;
|
|
209
|
-
//# sourceMappingURL=constants-
|
|
209
|
+
//# sourceMappingURL=constants-OqgYP6sX-GMa0Al3c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants-OqgYP6sX-GMa0Al3c.js","sources":["../../../../core/admin/dist/admin/useReviewWorkflows-vIYhJ1WA.mjs","../../../../core/admin/dist/admin/constants-OqgYP6sX.mjs"],"sourcesContent":["import { i as useGetWorkflowsQuery, j as useCreateWorkflowMutation, k as useUpdateWorkflowMutation, l as useDeleteWorkflowMutation } from './index-Sd8uo7mE.mjs';\n\nfunction useReviewWorkflows(params = {}) {\n const { id = \"\", ...queryParams } = params;\n const { data, isLoading } = useGetWorkflowsQuery({\n id,\n populate: \"stages\",\n ...queryParams\n });\n const [createWorkflow] = useCreateWorkflowMutation();\n const [updateWorkflow] = useUpdateWorkflowMutation();\n const [deleteWorkflow] = useDeleteWorkflowMutation();\n const { workflows, meta } = data ?? {};\n return {\n // meta contains e.g. the total of all workflows. we can not use\n // the pagination object here, because the list is not paginated.\n meta,\n workflows,\n isLoading,\n createWorkflow,\n updateWorkflow,\n deleteWorkflow\n };\n}\n\nexport { useReviewWorkflows as u };\n//# sourceMappingURL=useReviewWorkflows-vIYhJ1WA.mjs.map\n","import { l as useField, g as useDoc, q as getTranslation } from './reducers-TOuLOGw_.mjs';\nimport { d as useAdminUsers, I as getStageColorByHex, a5 as STAGE_ATTRIBUTE_NAME, a6 as ASSIGNEE_ATTRIBUTE_NAME } from './index-Sd8uo7mE.mjs';\nimport { jsx, jsxs } from 'react/jsx-runtime';\nimport * as React from 'react';\nimport { Combobox, ComboboxOption, SingleSelect, Flex, Typography, Loader, SingleSelectOption } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { g as getDisplayName } from './useDocumentLayout-5UQF9Yls.mjs';\nimport { u as useReviewWorkflows } from './useReviewWorkflows-vIYhJ1WA.mjs';\n\nconst AssigneeFilter = ({ name }) => {\n const [page, setPage] = React.useState(1);\n const { formatMessage } = useIntl();\n const { data, isLoading } = useAdminUsers({\n page\n });\n const users = data?.users || [];\n const field = useField(name);\n const handleChange = (value) => {\n setPage(1);\n field.onChange(name, value);\n };\n return /* @__PURE__ */ jsx(\n Combobox,\n {\n value: field.value,\n \"aria-label\": formatMessage({\n id: \"content-manager.components.Filters.usersSelect.label\",\n defaultMessage: \"Search and select an user to filter\"\n }),\n onChange: handleChange,\n loading: isLoading,\n onLoadMore: () => setPage((prev) => prev + 1),\n children: users.map((user) => {\n return /* @__PURE__ */ jsx(ComboboxOption, { value: user.id.toString(), children: getDisplayName(user, formatMessage) }, user.id);\n })\n }\n );\n};\n\nconst StageFilter = (props) => {\n const { model } = useDoc();\n const { formatMessage } = useIntl();\n const { workflows, isLoading } = useReviewWorkflows({ filters: { contentTypes: model } });\n const field = useField(props.name);\n const [workflow] = workflows ?? [];\n return /* @__PURE__ */ jsx(\n SingleSelect,\n {\n \"aria-label\": formatMessage({\n id: \"content-manager.components.Filters.reviewWorkflows.label\",\n defaultMessage: \"Search and select an workflow stage to filter\"\n }),\n value: field.value,\n onChange: (value) => {\n field.onChange(props.name, value);\n },\n loading: isLoading,\n customizeContent: () => /* @__PURE__ */ jsxs(Flex, { as: \"span\", justifyContent: \"space-between\", alignItems: \"center\", width: \"100%\", children: [\n /* @__PURE__ */ jsx(Typography, { textColor: \"neutral800\", ellipsis: true, children: field.value }),\n isLoading ? /* @__PURE__ */ jsx(Loader, { small: true, style: { display: \"flex\" } }) : null\n ] }),\n children: (workflow?.stages ?? []).map(({ id, color, name }) => {\n const { themeColorName } = getStageColorByHex(color) ?? {};\n return /* @__PURE__ */ jsx(\n SingleSelectOption,\n {\n startIcon: /* @__PURE__ */ jsx(\n Flex,\n {\n height: 2,\n background: color,\n borderColor: themeColorName === \"neutral0\" ? \"neutral150\" : void 0,\n hasRadius: true,\n shrink: 0,\n width: 2\n }\n ),\n value: name,\n children: name\n },\n id\n );\n })\n }\n );\n};\n\nconst REVIEW_WORKFLOW_COLUMNS_EE = [\n {\n name: STAGE_ATTRIBUTE_NAME,\n attribute: {\n type: \"relation\",\n relation: \"oneToMany\",\n target: \"admin::review-workflow-stage\"\n },\n label: {\n id: getTranslation(`containers.list.table-headers.reviewWorkflows.stage`),\n defaultMessage: \"Review stage\"\n },\n searchable: false,\n sortable: true,\n mainField: {\n name: \"name\",\n type: \"string\"\n }\n },\n {\n name: ASSIGNEE_ATTRIBUTE_NAME,\n attribute: {\n type: \"relation\",\n target: \"admin::user\",\n relation: \"oneToMany\"\n },\n label: {\n id: getTranslation(`containers.list.table-headers.reviewWorkflows.assignee`),\n defaultMessage: \"Assignee\"\n },\n searchable: false,\n sortable: true,\n mainField: {\n name: \"firstname\",\n type: \"string\"\n }\n }\n];\nconst REVIEW_WORKFLOW_FILTERS = [\n {\n mainField: {\n name: \"name\",\n type: \"string\"\n },\n input: StageFilter,\n label: {\n id: getTranslation(`containers.list.table-headers.reviewWorkflows.stage`),\n defaultMessage: \"Review stage\"\n },\n name: \"strapi_stage\",\n type: \"relation\"\n },\n {\n type: \"relation\",\n mainField: {\n name: \"id\",\n type: \"integer\"\n },\n input: AssigneeFilter,\n operators: [\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$eq\",\n defaultMessage: \"is\"\n },\n value: \"$eq\"\n },\n {\n label: {\n id: \"components.FilterOptions.FILTER_TYPES.$ne\",\n defaultMessage: \"is not\"\n },\n value: \"$ne\"\n }\n ],\n label: {\n id: getTranslation(`containers.list.table-headers.reviewWorkflows.assignee.label`),\n defaultMessage: \"Assignee\"\n },\n name: \"strapi_assignee\"\n }\n];\n\nexport { REVIEW_WORKFLOW_COLUMNS_EE, REVIEW_WORKFLOW_FILTERS };\n//# sourceMappingURL=constants-OqgYP6sX.mjs.map\n"],"names":["useGetWorkflowsQuery","useCreateWorkflowMutation","useUpdateWorkflowMutation","useDeleteWorkflowMutation","React","useIntl","useAdminUsers","useField","jsx","Combobox","ComboboxOption","getDisplayName","useDoc","SingleSelect","jsxs","Flex","Typography","Loader","getStageColorByHex","SingleSelectOption","STAGE_ATTRIBUTE_NAME","getTranslation","ASSIGNEE_ATTRIBUTE_NAME"],"mappings":"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"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import { u as useTracking } from "./index-
|
|
3
|
+
import { u as useTracking } from "./index-Sd8uo7mE-B6VoGXRI.mjs";
|
|
4
4
|
import { ModalLayout, ModalHeader, ModalBody, Grid, GridItem, ModalFooter, Button, Table, Thead, Tr, Th, VisuallyHidden, Typography, Tbody, Td, Icon, IconButton, useNotifyAT, HeaderLayout, ContentLayout } from "@strapi/design-system";
|
|
5
|
-
import { useRBAC } from "@strapi/
|
|
6
|
-
import {
|
|
7
|
-
import { H as HelmetExport } from "./Helmet-kyJ1Zklj.mjs";
|
|
5
|
+
import { translatedErrors, Form, InputRenderer, Page, useNotification, useFetchClient, useAPIErrorHandler, useRBAC } from "@strapi/strapi/admin";
|
|
6
|
+
import { H as HelmetExport } from "./Helmet-En-SEnNC.mjs";
|
|
8
7
|
import { useIntl } from "react-intl";
|
|
9
8
|
import { useQueryClient, useQuery, useMutation } from "react-query";
|
|
10
|
-
import { g as getTrad, P as PERMISSIONS } from "./index-
|
|
9
|
+
import { g as getTrad, P as PERMISSIONS } from "./index-bRul6pJT.mjs";
|
|
11
10
|
import "lodash/isEmpty";
|
|
12
11
|
import { Breadcrumbs, Crumb } from "@strapi/design-system/v2";
|
|
13
12
|
import PropTypes from "prop-types";
|
|
@@ -340,4 +339,4 @@ export {
|
|
|
340
339
|
EmailTemplatesPage,
|
|
341
340
|
ProtectedEmailTemplatesPage
|
|
342
341
|
};
|
|
343
|
-
//# sourceMappingURL=index-
|
|
342
|
+
//# sourceMappingURL=index-2l_GqZpn.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-2l_GqZpn.mjs","sources":["../../admin/src/pages/EmailTemplates/utils/schema.js","../../admin/src/pages/EmailTemplates/components/EmailForm.jsx","../../admin/src/pages/EmailTemplates/components/EmailTable.jsx","../../admin/src/pages/EmailTemplates/index.jsx"],"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","import React from 'react';\n\nimport {\n Button,\n Grid,\n GridItem,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalLayout,\n} from '@strapi/design-system';\nimport { Breadcrumbs, Crumb } from '@strapi/design-system/v2';\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, onSubmit }) => {\n const { formatMessage } = useIntl();\n\n return (\n <ModalLayout\n onClose={onToggle}\n labelledBy={`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${formatMessage({ id: getTrad(template.display), defaultMessage: template.display })}`}\n >\n <ModalHeader>\n <Breadcrumbs\n label={`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${formatMessage({\n id: getTrad(template.display),\n defaultMessage: template.display,\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 {formatMessage({ id: getTrad(template.display), defaultMessage: template.display })}\n </Crumb>\n </Breadcrumbs>\n </ModalHeader>\n <Form onSubmit={onSubmit} initialValues={template} validationSchema={schema}>\n {({ isSubmitting }) => {\n return (\n <>\n <ModalBody>\n <Grid 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 <GridItem key={field.name} col={size}>\n <InputRenderer {...field} />\n </GridItem>\n ))}\n </Grid>\n </ModalBody>\n <ModalFooter\n startActions={\n <Button onClick={onToggle} variant=\"tertiary\">\n Cancel\n </Button>\n }\n endActions={\n <Button loading={isSubmitting} type=\"submit\">\n Finish\n </Button>\n }\n />\n </>\n );\n }}\n </Form>\n </ModalLayout>\n );\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 }).isRequired,\n onSubmit: PropTypes.func.isRequired,\n onToggle: PropTypes.func.isRequired,\n};\n\nexport default EmailForm;\n","import React from 'react';\n\nimport {\n Icon,\n IconButton,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { Check, Pencil, 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 onClick={() => onEditClick('reset_password')}>\n <Td>\n <Icon>\n <Refresh\n aria-label={formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n />\n </Icon>\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 noBorder\n icon={canUpdate && <Pencil />}\n />\n </Td>\n </Tr>\n <Tr onClick={() => onEditClick('email_confirmation')}>\n <Td>\n <Icon>\n <Check\n aria-label={formatMessage({\n id: getTrad('Email.template.email_confirmation'),\n defaultMessage: 'Email address confirmation',\n })}\n />\n </Icon>\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 noBorder\n icon={canUpdate && <Pencil />}\n />\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","import * as React from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\nimport { ContentLayout, HeaderLayout, useNotifyAT } from '@strapi/design-system';\nimport {\n Page,\n useAPIErrorHandler,\n useNotification,\n useFetchClient,\n useRBAC,\n} from '@strapi/strapi/admin';\nimport { Helmet } from 'react-helmet';\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 <Helmet\n title={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 />\n <HeaderLayout\n title={formatMessage({\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n })}\n />\n <ContentLayout>\n <EmailTable onEditClick={handleEditClick} canUpdate={canUpdate} />\n {isModalOpen && (\n <EmailForm\n template={data[templateToEdit]}\n onToggle={handleToggle}\n onSubmit={handleSubmit}\n />\n )}\n </ContentLayout>\n </Page.Main>\n );\n};\n\nexport { ProtectedEmailTemplatesPage, EmailTemplatesPage };\n"],"names":["data","Helmet"],"mappings":"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"}
|
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const React = require("react");
|
|
5
|
-
const
|
|
5
|
+
const indexSd8uo7mE = require("./index-Sd8uo7mE-t07iYafJ.js");
|
|
6
6
|
const designSystem = require("@strapi/design-system");
|
|
7
|
-
const helperPlugin = require("@strapi/helper-plugin");
|
|
8
7
|
const admin = require("@strapi/strapi/admin");
|
|
9
8
|
const Helmet = require("./Helmet-d9JljxUo.js");
|
|
10
9
|
const reactIntl = require("react-intl");
|
|
11
10
|
const reactQuery = require("react-query");
|
|
12
|
-
const index = require("./index-
|
|
11
|
+
const index = require("./index-pdD8Ki58.js");
|
|
13
12
|
require("lodash/isEmpty");
|
|
14
13
|
const v2 = require("@strapi/design-system/v2");
|
|
15
14
|
const PropTypes = require("prop-types");
|
|
@@ -251,7 +250,7 @@ EmailTable.propTypes = {
|
|
|
251
250
|
const ProtectedEmailTemplatesPage = () => /* @__PURE__ */ jsxRuntime.jsx(admin.Page.Protect, { permissions: index.PERMISSIONS.readEmailTemplates, children: /* @__PURE__ */ jsxRuntime.jsx(EmailTemplatesPage, {}) });
|
|
252
251
|
const EmailTemplatesPage = () => {
|
|
253
252
|
const { formatMessage } = reactIntl.useIntl();
|
|
254
|
-
const { trackUsage } =
|
|
253
|
+
const { trackUsage } = indexSd8uo7mE.useTracking();
|
|
255
254
|
const { notifyStatus } = designSystem.useNotifyAT();
|
|
256
255
|
const { toggleNotification } = admin.useNotification();
|
|
257
256
|
const queryClient = reactQuery.useQueryClient();
|
|
@@ -262,7 +261,7 @@ const EmailTemplatesPage = () => {
|
|
|
262
261
|
const {
|
|
263
262
|
isLoading: isLoadingForPermissions,
|
|
264
263
|
allowedActions: { canUpdate }
|
|
265
|
-
} =
|
|
264
|
+
} = admin.useRBAC({ update: index.PERMISSIONS.updateEmailTemplates });
|
|
266
265
|
const { isLoading: isLoadingData, data } = reactQuery.useQuery(
|
|
267
266
|
["users-permissions", "email-templates"],
|
|
268
267
|
async () => {
|
|
@@ -362,4 +361,4 @@ const EmailTemplatesPage = () => {
|
|
|
362
361
|
};
|
|
363
362
|
exports.EmailTemplatesPage = EmailTemplatesPage;
|
|
364
363
|
exports.ProtectedEmailTemplatesPage = ProtectedEmailTemplatesPage;
|
|
365
|
-
//# sourceMappingURL=index-
|
|
364
|
+
//# sourceMappingURL=index-4VuFIgcs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-4VuFIgcs.js","sources":["../../admin/src/pages/EmailTemplates/utils/schema.js","../../admin/src/pages/EmailTemplates/components/EmailForm.jsx","../../admin/src/pages/EmailTemplates/components/EmailTable.jsx","../../admin/src/pages/EmailTemplates/index.jsx"],"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","import React from 'react';\n\nimport {\n Button,\n Grid,\n GridItem,\n ModalBody,\n ModalFooter,\n ModalHeader,\n ModalLayout,\n} from '@strapi/design-system';\nimport { Breadcrumbs, Crumb } from '@strapi/design-system/v2';\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, onSubmit }) => {\n const { formatMessage } = useIntl();\n\n return (\n <ModalLayout\n onClose={onToggle}\n labelledBy={`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${formatMessage({ id: getTrad(template.display), defaultMessage: template.display })}`}\n >\n <ModalHeader>\n <Breadcrumbs\n label={`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${formatMessage({\n id: getTrad(template.display),\n defaultMessage: template.display,\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 {formatMessage({ id: getTrad(template.display), defaultMessage: template.display })}\n </Crumb>\n </Breadcrumbs>\n </ModalHeader>\n <Form onSubmit={onSubmit} initialValues={template} validationSchema={schema}>\n {({ isSubmitting }) => {\n return (\n <>\n <ModalBody>\n <Grid 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 <GridItem key={field.name} col={size}>\n <InputRenderer {...field} />\n </GridItem>\n ))}\n </Grid>\n </ModalBody>\n <ModalFooter\n startActions={\n <Button onClick={onToggle} variant=\"tertiary\">\n Cancel\n </Button>\n }\n endActions={\n <Button loading={isSubmitting} type=\"submit\">\n Finish\n </Button>\n }\n />\n </>\n );\n }}\n </Form>\n </ModalLayout>\n );\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 }).isRequired,\n onSubmit: PropTypes.func.isRequired,\n onToggle: PropTypes.func.isRequired,\n};\n\nexport default EmailForm;\n","import React from 'react';\n\nimport {\n Icon,\n IconButton,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n} from '@strapi/design-system';\nimport { Check, Pencil, 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 onClick={() => onEditClick('reset_password')}>\n <Td>\n <Icon>\n <Refresh\n aria-label={formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n />\n </Icon>\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 noBorder\n icon={canUpdate && <Pencil />}\n />\n </Td>\n </Tr>\n <Tr onClick={() => onEditClick('email_confirmation')}>\n <Td>\n <Icon>\n <Check\n aria-label={formatMessage({\n id: getTrad('Email.template.email_confirmation'),\n defaultMessage: 'Email address confirmation',\n })}\n />\n </Icon>\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 noBorder\n icon={canUpdate && <Pencil />}\n />\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","import * as React from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\nimport { ContentLayout, HeaderLayout, useNotifyAT } from '@strapi/design-system';\nimport {\n Page,\n useAPIErrorHandler,\n useNotification,\n useFetchClient,\n useRBAC,\n} from '@strapi/strapi/admin';\nimport { Helmet } from 'react-helmet';\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 <Helmet\n title={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 />\n <HeaderLayout\n title={formatMessage({\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n })}\n />\n <ContentLayout>\n <EmailTable onEditClick={handleEditClick} canUpdate={canUpdate} />\n {isModalOpen && (\n <EmailForm\n template={data[templateToEdit]}\n onToggle={handleToggle}\n onSubmit={handleSubmit}\n />\n )}\n </ContentLayout>\n </Page.Main>\n );\n};\n\nexport { ProtectedEmailTemplatesPage, EmailTemplatesPage };\n"],"names":["yup","translatedErrors","useIntl","jsxs","ModalLayout","getTrad","jsx","ModalHeader","Breadcrumbs","Crumb","Form","Fragment","ModalBody","Grid","GridItem","InputRenderer","ModalFooter","Button","PropTypes","Table","Thead","Tr","Th","VisuallyHidden","Typography","Tbody","Td","Icon","Refresh","IconButton","Pencil","Check","Page","PERMISSIONS","useTracking","useNotifyAT","useNotification","useQueryClient","useFetchClient","useAPIErrorHandler","React","useRBAC","useQuery","data","useMutation","Helmet","HeaderLayout","ContentLayout"],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { createContext, useContext, useMemo, useCallback, useReducer, forwardRef, useImperativeHandle, memo, useEffect, useState } from "react";
|
|
4
|
-
import { translatedErrors, useNotification, useFetchClient, useAPIErrorHandler, Page, useTracking, BackButton, useQueryParams, SearchInput, ConfirmDialog } from "@strapi/strapi/admin";
|
|
4
|
+
import { translatedErrors, useNotification, useFetchClient, useAPIErrorHandler, Page, useTracking, BackButton, useQueryParams, useRBAC, SearchInput, ConfirmDialog } from "@strapi/strapi/admin";
|
|
5
5
|
import { useNavigate, useMatch, NavLink, Routes, Route } from "react-router-dom";
|
|
6
|
-
import { g as getTrad, P as PERMISSIONS } from "./index-
|
|
6
|
+
import { g as getTrad, P as PERMISSIONS } from "./index-bRul6pJT.mjs";
|
|
7
7
|
import { Box, Flex, Typography, Checkbox, Grid, GridItem, VisuallyHidden, Accordion, AccordionToggle, AccordionContent, Main, HeaderLayout, Button, ContentLayout, TextInput, Textarea, Link, Tbody, Tr, Td, IconButton, useNotifyAT, useFilter, useCollator, Layout, ActionLayout, Table, Thead, Th, EmptyStateLayout } from "@strapi/design-system";
|
|
8
8
|
import { Cog, Check, Pencil, Trash, Plus } from "@strapi/icons";
|
|
9
9
|
import { Formik, Form } from "formik";
|
|
10
|
-
import { H as HelmetExport } from "./Helmet-
|
|
10
|
+
import { H as HelmetExport } from "./Helmet-En-SEnNC.mjs";
|
|
11
11
|
import { useIntl } from "react-intl";
|
|
12
12
|
import { useQueries, useMutation, useQuery } from "react-query";
|
|
13
13
|
import PropTypes from "prop-types";
|
|
@@ -24,7 +24,6 @@ import set from "lodash/set";
|
|
|
24
24
|
import take from "lodash/take";
|
|
25
25
|
import * as yup from "yup";
|
|
26
26
|
import { LinkButton } from "@strapi/design-system/v2";
|
|
27
|
-
import { useRBAC } from "@strapi/helper-plugin";
|
|
28
27
|
const UsersPermissions$2 = createContext({});
|
|
29
28
|
const UsersPermissionsProvider = ({ children, value }) => {
|
|
30
29
|
return /* @__PURE__ */ jsx(UsersPermissions$2.Provider, { value, children });
|
|
@@ -1012,7 +1011,7 @@ const RolesListPage = () => {
|
|
|
1012
1011
|
} catch (err) {
|
|
1013
1012
|
toggleNotification2({
|
|
1014
1013
|
type: "danger",
|
|
1015
|
-
message: formatMessage2({ id: "notification.error" })
|
|
1014
|
+
message: formatMessage2({ id: "notification.error", defaultMessage: "An error occurred" })
|
|
1016
1015
|
});
|
|
1017
1016
|
throw new Error(err);
|
|
1018
1017
|
}
|
|
@@ -1157,4 +1156,4 @@ const Roles = () => {
|
|
|
1157
1156
|
export {
|
|
1158
1157
|
Roles as default
|
|
1159
1158
|
};
|
|
1160
|
-
//# sourceMappingURL=index-
|
|
1159
|
+
//# sourceMappingURL=index-56e4iv7D.mjs.map
|