@strapi/plugin-users-permissions 5.0.0-beta.1 → 5.0.0-beta.3
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 +4 -4
- package/admin/src/pages/EmailTemplates/index.jsx +3 -4
- package/admin/src/pages/Providers/index.jsx +3 -4
- package/admin/src/pages/Roles/pages/CreatePage.jsx +3 -4
- package/admin/src/pages/Roles/pages/EditPage.jsx +3 -4
- package/admin/src/pages/Roles/pages/ListPage/index.jsx +3 -4
- package/dist/_chunks/{index-_UNneVIg.js → index-21XWiNaI.js} +21 -37
- package/dist/_chunks/index-21XWiNaI.js.map +1 -0
- package/dist/_chunks/{index-gw-9XoIT.js → index-5Su9tV8W.js} +16 -22
- package/dist/_chunks/index-5Su9tV8W.js.map +1 -0
- package/dist/_chunks/{index-DtWla9tx.mjs → index-EfXIfij8.mjs} +9 -15
- package/dist/_chunks/index-EfXIfij8.mjs.map +1 -0
- package/dist/_chunks/{index-46oU0LRy.js → index-Ev6k_nHX.js} +11 -17
- package/dist/_chunks/index-Ev6k_nHX.js.map +1 -0
- package/dist/_chunks/{index-UxzhJuP2.js → index-I7wqiaSz.js} +13 -19
- package/dist/_chunks/index-I7wqiaSz.js.map +1 -0
- package/dist/_chunks/{index-G9pZniMC.mjs → index-J5bVMwKb.mjs} +10 -16
- package/dist/_chunks/index-J5bVMwKb.mjs.map +1 -0
- package/dist/_chunks/{index-JO4fO3Yj.js → index-RdT-49jb.js} +12 -12
- package/dist/_chunks/{index-JO4fO3Yj.js.map → index-RdT-49jb.js.map} +1 -1
- package/dist/_chunks/{index-PTS42_em.mjs → index-Yd7pX7dw.mjs} +12 -12
- package/dist/_chunks/{index-PTS42_em.mjs.map → index-Yd7pX7dw.mjs.map} +1 -1
- package/dist/_chunks/{index-Vg50EMBp.mjs → index-fIJnE26b.mjs} +14 -30
- package/dist/_chunks/index-fIJnE26b.mjs.map +1 -0
- package/dist/_chunks/index-oBxjGftZ-Zv9D3a55.js +10335 -0
- package/dist/_chunks/index-oBxjGftZ-Zv9D3a55.js.map +1 -0
- package/dist/_chunks/index-oBxjGftZ-sZD2cl-K.mjs +10311 -0
- package/dist/_chunks/index-oBxjGftZ-sZD2cl-K.mjs.map +1 -0
- package/dist/_chunks/{index-oUZpvYqS.mjs → index-oDAXPgSA.mjs} +10 -16
- package/dist/_chunks/index-oDAXPgSA.mjs.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/package.json +8 -8
- package/server/bootstrap/index.js +3 -3
- package/server/controllers/content-manager-user.js +4 -2
- package/server/services/users-permissions.js +3 -3
- package/dist/_chunks/EditViewPage-BJdNfzBZ-XIkFGBc4.mjs +0 -84380
- package/dist/_chunks/EditViewPage-BJdNfzBZ-XIkFGBc4.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-BJdNfzBZ-eKwHxgPQ.js +0 -84408
- package/dist/_chunks/EditViewPage-BJdNfzBZ-eKwHxgPQ.js.map +0 -1
- package/dist/_chunks/Helmet-En-SEnNC.mjs +0 -1008
- package/dist/_chunks/Helmet-En-SEnNC.mjs.map +0 -1
- package/dist/_chunks/Helmet-d9JljxUo.js +0 -1010
- package/dist/_chunks/Helmet-d9JljxUo.js.map +0 -1
- package/dist/_chunks/ListViewPage-FE12IpwT-Wq63ge4-.js +0 -1595
- package/dist/_chunks/ListViewPage-FE12IpwT-Wq63ge4-.js.map +0 -1
- package/dist/_chunks/ListViewPage-FE12IpwT-qmEuoG2g.mjs +0 -1571
- package/dist/_chunks/ListViewPage-FE12IpwT-qmEuoG2g.mjs.map +0 -1
- package/dist/_chunks/ReviewWorkflowsColumn-NUu47oVz-8gQO_Y5x.mjs +0 -33
- package/dist/_chunks/ReviewWorkflowsColumn-NUu47oVz-8gQO_Y5x.mjs.map +0 -1
- package/dist/_chunks/ReviewWorkflowsColumn-NUu47oVz-ARD7iQQF.js +0 -33
- package/dist/_chunks/ReviewWorkflowsColumn-NUu47oVz-ARD7iQQF.js.map +0 -1
- package/dist/_chunks/constants-D6NLEhwu-4IL8biHd.js +0 -209
- package/dist/_chunks/constants-D6NLEhwu-4IL8biHd.js.map +0 -1
- package/dist/_chunks/constants-D6NLEhwu-gRKBHArd.mjs +0 -190
- package/dist/_chunks/constants-D6NLEhwu-gRKBHArd.mjs.map +0 -1
- package/dist/_chunks/index-1NFAbkxM-Km1zKLTh.mjs +0 -16568
- package/dist/_chunks/index-1NFAbkxM-Km1zKLTh.mjs.map +0 -1
- package/dist/_chunks/index-1NFAbkxM-c8HdvwSA.js +0 -16593
- package/dist/_chunks/index-1NFAbkxM-c8HdvwSA.js.map +0 -1
- package/dist/_chunks/index-46oU0LRy.js.map +0 -1
- package/dist/_chunks/index-DtWla9tx.mjs.map +0 -1
- package/dist/_chunks/index-G9pZniMC.mjs.map +0 -1
- package/dist/_chunks/index-UxzhJuP2.js.map +0 -1
- package/dist/_chunks/index-Vg50EMBp.mjs.map +0 -1
- package/dist/_chunks/index-_UNneVIg.js.map +0 -1
- package/dist/_chunks/index-gw-9XoIT.js.map +0 -1
- package/dist/_chunks/index-oUZpvYqS.mjs.map +0 -1
- package/dist/_chunks/useSyncRbac-LNOzRXJ5-5S0qhFuZ.js +0 -63
- package/dist/_chunks/useSyncRbac-LNOzRXJ5-5S0qhFuZ.js.map +0 -1
- package/dist/_chunks/useSyncRbac-LNOzRXJ5-PZzFwA1X.mjs +0 -45
- package/dist/_chunks/useSyncRbac-LNOzRXJ5-PZzFwA1X.mjs.map +0 -1
- package/dist/style.css +0 -84
|
@@ -1,190 +0,0 @@
|
|
|
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-1NFAbkxM-Km1zKLTh.mjs";
|
|
2
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import * as React from "react";
|
|
4
|
-
import { Combobox, ComboboxOption, SingleSelect, Flex, Typography, Loader, SingleSelectOption } from "@strapi/design-system";
|
|
5
|
-
import { useIntl } from "react-intl";
|
|
6
|
-
function useReviewWorkflows(params = {}) {
|
|
7
|
-
const { id = "", ...queryParams } = params;
|
|
8
|
-
const { data, isLoading } = useGetWorkflowsQuery({
|
|
9
|
-
id,
|
|
10
|
-
populate: "stages",
|
|
11
|
-
...queryParams
|
|
12
|
-
});
|
|
13
|
-
const [createWorkflow] = useCreateWorkflowMutation();
|
|
14
|
-
const [updateWorkflow] = useUpdateWorkflowMutation();
|
|
15
|
-
const [deleteWorkflow] = useDeleteWorkflowMutation();
|
|
16
|
-
const { workflows, meta } = data ?? {};
|
|
17
|
-
return {
|
|
18
|
-
// meta contains e.g. the total of all workflows. we can not use
|
|
19
|
-
// the pagination object here, because the list is not paginated.
|
|
20
|
-
meta,
|
|
21
|
-
workflows,
|
|
22
|
-
isLoading,
|
|
23
|
-
createWorkflow,
|
|
24
|
-
updateWorkflow,
|
|
25
|
-
deleteWorkflow
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
const AssigneeFilter = ({ name }) => {
|
|
29
|
-
const [page, setPage] = React.useState(1);
|
|
30
|
-
const { formatMessage } = useIntl();
|
|
31
|
-
const { data, isLoading } = useAdminUsers({
|
|
32
|
-
page
|
|
33
|
-
});
|
|
34
|
-
const users = data?.users || [];
|
|
35
|
-
const field = useField(name);
|
|
36
|
-
const handleChange = (value) => {
|
|
37
|
-
setPage(1);
|
|
38
|
-
field.onChange(name, value);
|
|
39
|
-
};
|
|
40
|
-
return /* @__PURE__ */ jsx(
|
|
41
|
-
Combobox,
|
|
42
|
-
{
|
|
43
|
-
value: field.value,
|
|
44
|
-
"aria-label": formatMessage({
|
|
45
|
-
id: "content-manager.components.Filters.usersSelect.label",
|
|
46
|
-
defaultMessage: "Search and select an user to filter"
|
|
47
|
-
}),
|
|
48
|
-
onChange: handleChange,
|
|
49
|
-
loading: isLoading,
|
|
50
|
-
onLoadMore: () => setPage((prev) => prev + 1),
|
|
51
|
-
children: users.map((user) => {
|
|
52
|
-
return /* @__PURE__ */ jsx(ComboboxOption, { value: user.id.toString(), children: getDisplayName(user, formatMessage) }, user.id);
|
|
53
|
-
})
|
|
54
|
-
}
|
|
55
|
-
);
|
|
56
|
-
};
|
|
57
|
-
const StageFilter = (props) => {
|
|
58
|
-
const { model } = useDoc();
|
|
59
|
-
const { formatMessage } = useIntl();
|
|
60
|
-
const { workflows, isLoading } = useReviewWorkflows({ filters: { contentTypes: model } });
|
|
61
|
-
const field = useField(props.name);
|
|
62
|
-
const [workflow] = workflows ?? [];
|
|
63
|
-
return /* @__PURE__ */ jsx(
|
|
64
|
-
SingleSelect,
|
|
65
|
-
{
|
|
66
|
-
"aria-label": formatMessage({
|
|
67
|
-
id: "content-manager.components.Filters.reviewWorkflows.label",
|
|
68
|
-
defaultMessage: "Search and select an workflow stage to filter"
|
|
69
|
-
}),
|
|
70
|
-
value: field.value,
|
|
71
|
-
onChange: (value) => {
|
|
72
|
-
field.onChange(props.name, value);
|
|
73
|
-
},
|
|
74
|
-
loading: isLoading,
|
|
75
|
-
customizeContent: () => /* @__PURE__ */ jsxs(Flex, { as: "span", justifyContent: "space-between", alignItems: "center", width: "100%", children: [
|
|
76
|
-
/* @__PURE__ */ jsx(Typography, { textColor: "neutral800", ellipsis: true, children: field.value }),
|
|
77
|
-
isLoading ? /* @__PURE__ */ jsx(Loader, { small: true, style: { display: "flex" } }) : null
|
|
78
|
-
] }),
|
|
79
|
-
children: (workflow?.stages ?? []).map(({ id, color, name }) => {
|
|
80
|
-
const { themeColorName } = getStageColorByHex(color) ?? {};
|
|
81
|
-
return /* @__PURE__ */ jsx(
|
|
82
|
-
SingleSelectOption,
|
|
83
|
-
{
|
|
84
|
-
startIcon: /* @__PURE__ */ jsx(
|
|
85
|
-
Flex,
|
|
86
|
-
{
|
|
87
|
-
height: 2,
|
|
88
|
-
background: color,
|
|
89
|
-
borderColor: themeColorName === "neutral0" ? "neutral150" : void 0,
|
|
90
|
-
hasRadius: true,
|
|
91
|
-
shrink: 0,
|
|
92
|
-
width: 2
|
|
93
|
-
}
|
|
94
|
-
),
|
|
95
|
-
value: name,
|
|
96
|
-
children: name
|
|
97
|
-
},
|
|
98
|
-
id
|
|
99
|
-
);
|
|
100
|
-
})
|
|
101
|
-
}
|
|
102
|
-
);
|
|
103
|
-
};
|
|
104
|
-
const REVIEW_WORKFLOW_COLUMNS_EE = [
|
|
105
|
-
{
|
|
106
|
-
name: STAGE_ATTRIBUTE_NAME,
|
|
107
|
-
attribute: {
|
|
108
|
-
type: "relation",
|
|
109
|
-
relation: "oneToMany",
|
|
110
|
-
target: "admin::review-workflow-stage"
|
|
111
|
-
},
|
|
112
|
-
label: {
|
|
113
|
-
id: getTranslation(`containers.list.table-headers.reviewWorkflows.stage`),
|
|
114
|
-
defaultMessage: "Review stage"
|
|
115
|
-
},
|
|
116
|
-
searchable: false,
|
|
117
|
-
sortable: true,
|
|
118
|
-
mainField: {
|
|
119
|
-
name: "name",
|
|
120
|
-
type: "string"
|
|
121
|
-
}
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
name: ASSIGNEE_ATTRIBUTE_NAME,
|
|
125
|
-
attribute: {
|
|
126
|
-
type: "relation",
|
|
127
|
-
target: "admin::user",
|
|
128
|
-
relation: "oneToMany"
|
|
129
|
-
},
|
|
130
|
-
label: {
|
|
131
|
-
id: getTranslation(`containers.list.table-headers.reviewWorkflows.assignee`),
|
|
132
|
-
defaultMessage: "Assignee"
|
|
133
|
-
},
|
|
134
|
-
searchable: false,
|
|
135
|
-
sortable: true,
|
|
136
|
-
mainField: {
|
|
137
|
-
name: "firstname",
|
|
138
|
-
type: "string"
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
];
|
|
142
|
-
const REVIEW_WORKFLOW_FILTERS = [
|
|
143
|
-
{
|
|
144
|
-
mainField: {
|
|
145
|
-
name: "name",
|
|
146
|
-
type: "string"
|
|
147
|
-
},
|
|
148
|
-
input: StageFilter,
|
|
149
|
-
label: {
|
|
150
|
-
id: getTranslation(`containers.list.table-headers.reviewWorkflows.stage`),
|
|
151
|
-
defaultMessage: "Review stage"
|
|
152
|
-
},
|
|
153
|
-
name: "strapi_stage",
|
|
154
|
-
type: "relation"
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
type: "relation",
|
|
158
|
-
mainField: {
|
|
159
|
-
name: "id",
|
|
160
|
-
type: "integer"
|
|
161
|
-
},
|
|
162
|
-
input: AssigneeFilter,
|
|
163
|
-
operators: [
|
|
164
|
-
{
|
|
165
|
-
label: {
|
|
166
|
-
id: "components.FilterOptions.FILTER_TYPES.$eq",
|
|
167
|
-
defaultMessage: "is"
|
|
168
|
-
},
|
|
169
|
-
value: "$eq"
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
label: {
|
|
173
|
-
id: "components.FilterOptions.FILTER_TYPES.$ne",
|
|
174
|
-
defaultMessage: "is not"
|
|
175
|
-
},
|
|
176
|
-
value: "$ne"
|
|
177
|
-
}
|
|
178
|
-
],
|
|
179
|
-
label: {
|
|
180
|
-
id: getTranslation(`containers.list.table-headers.reviewWorkflows.assignee.label`),
|
|
181
|
-
defaultMessage: "Assignee"
|
|
182
|
-
},
|
|
183
|
-
name: "strapi_assignee"
|
|
184
|
-
}
|
|
185
|
-
];
|
|
186
|
-
export {
|
|
187
|
-
REVIEW_WORKFLOW_COLUMNS_EE,
|
|
188
|
-
REVIEW_WORKFLOW_FILTERS
|
|
189
|
-
};
|
|
190
|
-
//# sourceMappingURL=constants-D6NLEhwu-gRKBHArd.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants-D6NLEhwu-gRKBHArd.mjs","sources":["../../../../core/admin/dist/admin/useReviewWorkflows-HwyFyit7.mjs","../../../../core/admin/dist/admin/constants-D6NLEhwu.mjs"],"sourcesContent":["import { i as useGetWorkflowsQuery, j as useCreateWorkflowMutation, k as useUpdateWorkflowMutation, l as useDeleteWorkflowMutation } from './index-1NFAbkxM.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-HwyFyit7.mjs.map\n","import { l as useField, g as useDoc, q as getTranslation } from './reducers-IQWvK_9L.mjs';\nimport { d as useAdminUsers, I as getStageColorByHex, a5 as STAGE_ATTRIBUTE_NAME, a6 as ASSIGNEE_ATTRIBUTE_NAME } from './index-1NFAbkxM.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-4trWL6Jz.mjs';\nimport { u as useReviewWorkflows } from './useReviewWorkflows-HwyFyit7.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-D6NLEhwu.mjs.map\n"],"names":[],"mappings":"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"}
|