@strapi/plugin-users-permissions 5.0.0-alpha.2 → 5.0.0-alpha.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 +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-9jnyNYlZ.js → EditViewPage--KlNP7xz-qZQydloS.js} +212 -214
- package/dist/_chunks/EditViewPage--KlNP7xz-qZQydloS.js.map +1 -0
- package/dist/_chunks/{EditViewPage-JFzIJClS-SluImrzz.mjs → EditViewPage--KlNP7xz-uG_Cdw0b.mjs} +34 -34
- package/dist/_chunks/EditViewPage--KlNP7xz-uG_Cdw0b.mjs.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-TJbHzMdV-02M2sPzu.js} +112 -134
- package/dist/_chunks/ListViewPage-TJbHzMdV-02M2sPzu.js.map +1 -0
- package/dist/_chunks/{ListViewPage-1VNVP9Rw-Ce-HkFp1.mjs → ListViewPage-TJbHzMdV-Rx9tWeSb.mjs} +14 -37
- package/dist/_chunks/ListViewPage-TJbHzMdV-Rx9tWeSb.mjs.map +1 -0
- package/dist/_chunks/{ReviewWorkflowsColumn-sPZxvFUd-Cd4JhTlj.mjs → ReviewWorkflowsColumn-6zZJluSU-OxQnKLyn.mjs} +2 -2
- package/dist/_chunks/ReviewWorkflowsColumn-6zZJluSU-OxQnKLyn.mjs.map +1 -0
- package/dist/_chunks/{ReviewWorkflowsColumn-sPZxvFUd-S2eFi9Dy.js → ReviewWorkflowsColumn-6zZJluSU-kgZGsgKW.js} +5 -5
- package/dist/_chunks/ReviewWorkflowsColumn-6zZJluSU-kgZGsgKW.js.map +1 -0
- package/dist/_chunks/{constants-0OGkpIzK-f_M9PDKN.js → constants-VMWcn5Dg-AljxaBIG.js} +18 -18
- package/dist/_chunks/constants-VMWcn5Dg-AljxaBIG.js.map +1 -0
- package/dist/_chunks/{constants-0OGkpIzK-R5N7-OUr.mjs → constants-VMWcn5Dg-z8ZNCCYd.mjs} +2 -2
- package/dist/_chunks/constants-VMWcn5Dg-z8ZNCCYd.mjs.map +1 -0
- package/dist/_chunks/{index-GIVuHJgC-_q6V7_2B.mjs → index--h1ljeG8-PYl4iNtw.mjs} +14794 -14761
- package/dist/_chunks/index--h1ljeG8-PYl4iNtw.mjs.map +1 -0
- package/dist/_chunks/{index-GIVuHJgC-tj2acNbO.js → index--h1ljeG8-TLddt1Eo.js} +14443 -14410
- package/dist/_chunks/index--h1ljeG8-TLddt1Eo.js.map +1 -0
- package/dist/_chunks/{index-heeE_h30.js → index-16v7Dlxu.js} +5 -6
- package/dist/_chunks/index-16v7Dlxu.js.map +1 -0
- package/dist/_chunks/{index-tFzYCM9l.js → index-6NC_epS-.js} +3 -4
- package/dist/_chunks/index-6NC_epS-.js.map +1 -0
- package/dist/_chunks/{index-whB2wk2v.mjs → index-7se0hVon.mjs} +4 -5
- package/dist/_chunks/index-7se0hVon.mjs.map +1 -0
- package/dist/_chunks/{index-Q5NQ4RI9.js → index-FMaaApFE.js} +9 -10
- package/dist/_chunks/{index-Q5NQ4RI9.js.map → index-FMaaApFE.js.map} +1 -1
- package/dist/_chunks/{index-RT4MW9Nr.js → index-OMVNJNU-.js} +4 -5
- package/dist/_chunks/{index-RT4MW9Nr.js.map → index-OMVNJNU-.js.map} +1 -1
- package/dist/_chunks/{index-av_iGW-0.mjs → index-RgmqBr40.mjs} +5 -6
- package/dist/_chunks/{index-av_iGW-0.mjs.map → index-RgmqBr40.mjs.map} +1 -1
- package/dist/_chunks/{index-6X9XaLjS.js → index-lTUWz_Sg.js} +5 -6
- package/dist/_chunks/index-lTUWz_Sg.js.map +1 -0
- package/dist/_chunks/{index-iaIILeuQ.mjs → index-t3PVq5nA.mjs} +9 -10
- package/dist/_chunks/{index-iaIILeuQ.mjs.map → index-t3PVq5nA.mjs.map} +1 -1
- package/dist/_chunks/{index-vvcDunmb.mjs → index-xoDKvifY.mjs} +5 -6
- package/dist/_chunks/index-xoDKvifY.mjs.map +1 -0
- package/dist/_chunks/{index-pDvppjQG.mjs → index-xyd70Gjt.mjs} +5 -6
- package/dist/_chunks/index-xyd70Gjt.mjs.map +1 -0
- package/dist/_chunks/{useSyncRbac-JNQibLFa-D0RzXrU4.mjs → useSyncRbac-Od0wrAnD-NsSU7-VV.mjs} +12 -6
- package/dist/_chunks/useSyncRbac-Od0wrAnD-NsSU7-VV.mjs.map +1 -0
- package/dist/_chunks/{useSyncRbac-JNQibLFa-G2N9BPgu.js → useSyncRbac-Od0wrAnD-_nmioRwh.js} +16 -10
- package/dist/_chunks/useSyncRbac-Od0wrAnD-_nmioRwh.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
package/dist/_chunks/{ListViewPage-1VNVP9Rw-94jqnla4.js → ListViewPage-TJbHzMdV-02M2sPzu.js}
RENAMED
|
@@ -5,13 +5,12 @@ const React = require("react");
|
|
|
5
5
|
const designSystem = require("@strapi/design-system");
|
|
6
6
|
const Icons = require("@strapi/icons");
|
|
7
7
|
const isEqual = require("lodash/isEqual");
|
|
8
|
-
const
|
|
8
|
+
const index_H1ljeG8 = require("./index--h1ljeG8-TLddt1Eo.js");
|
|
9
9
|
const Helmet = require("./Helmet-d9JljxUo.js");
|
|
10
10
|
const reactIntl = require("react-intl");
|
|
11
11
|
const reactRouterDom = require("react-router-dom");
|
|
12
12
|
const styled = require("styled-components");
|
|
13
|
-
const
|
|
14
|
-
const helperPlugin = require("@strapi/helper-plugin");
|
|
13
|
+
const useSyncRbacOd0wrAnD = require("./useSyncRbac-Od0wrAnD-_nmioRwh.js");
|
|
15
14
|
const isEmpty = require("lodash/isEmpty");
|
|
16
15
|
const toString = require("lodash/toString");
|
|
17
16
|
const v2 = require("@strapi/design-system/v2");
|
|
@@ -41,8 +40,8 @@ const isEmpty__default = /* @__PURE__ */ _interopDefault(isEmpty);
|
|
|
41
40
|
const toString__default = /* @__PURE__ */ _interopDefault(toString);
|
|
42
41
|
function parseISO(argument, options) {
|
|
43
42
|
var _options$additionalDi;
|
|
44
|
-
|
|
45
|
-
var additionalDigits =
|
|
43
|
+
index_H1ljeG8.requiredArgs(1, arguments);
|
|
44
|
+
var additionalDigits = index_H1ljeG8.toInteger((_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2);
|
|
46
45
|
if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {
|
|
47
46
|
throw new RangeError("additionalDigits must be 0, 1 or 2");
|
|
48
47
|
}
|
|
@@ -171,7 +170,7 @@ function parseTime(timeString) {
|
|
|
171
170
|
if (!validateTime(hours, minutes, seconds)) {
|
|
172
171
|
return NaN;
|
|
173
172
|
}
|
|
174
|
-
return hours *
|
|
173
|
+
return hours * index_H1ljeG8.millisecondsInHour + minutes * index_H1ljeG8.millisecondsInMinute + seconds * 1e3;
|
|
175
174
|
}
|
|
176
175
|
function parseTimeUnit(value) {
|
|
177
176
|
return value && parseFloat(value.replace(",", ".")) || 0;
|
|
@@ -188,7 +187,7 @@ function parseTimezone(timezoneString) {
|
|
|
188
187
|
if (!validateTimezone(hours, minutes)) {
|
|
189
188
|
return NaN;
|
|
190
189
|
}
|
|
191
|
-
return sign * (hours *
|
|
190
|
+
return sign * (hours * index_H1ljeG8.millisecondsInHour + minutes * index_H1ljeG8.millisecondsInMinute);
|
|
192
191
|
}
|
|
193
192
|
function dayOfISOWeekYear(isoWeekYear, week, day) {
|
|
194
193
|
var date = /* @__PURE__ */ new Date(0);
|
|
@@ -350,7 +349,7 @@ const STRING_PARSE_FILTERS = [
|
|
|
350
349
|
value: "$endsWithi"
|
|
351
350
|
}
|
|
352
351
|
];
|
|
353
|
-
const [FiltersProvider, useFilters] =
|
|
352
|
+
const [FiltersProvider, useFilters] = index_H1ljeG8.createContext("Filters");
|
|
354
353
|
const Root = ({
|
|
355
354
|
children,
|
|
356
355
|
disabled = false,
|
|
@@ -361,7 +360,7 @@ const Root = ({
|
|
|
361
360
|
options = []
|
|
362
361
|
}) => {
|
|
363
362
|
const [triggerNode, setTriggerNode] = React__namespace.useState(null);
|
|
364
|
-
const [open = false, setOpen] =
|
|
363
|
+
const [open = false, setOpen] = index_H1ljeG8.useControllableState({
|
|
365
364
|
prop: openProp,
|
|
366
365
|
defaultProp: defaultOpen,
|
|
367
366
|
onChange: onOpenChange
|
|
@@ -411,7 +410,7 @@ const Trigger = React__namespace.forwardRef(
|
|
|
411
410
|
}
|
|
412
411
|
);
|
|
413
412
|
const PopoverImpl = () => {
|
|
414
|
-
const [{ query }, setQuery] =
|
|
413
|
+
const [{ query }, setQuery] = index_H1ljeG8.useQueryParams();
|
|
415
414
|
const { formatMessage } = reactIntl.useIntl();
|
|
416
415
|
const open = useFilters("Popover", ({ open: open2 }) => open2);
|
|
417
416
|
const options = useFilters("Popover", ({ options: options2 }) => options2);
|
|
@@ -455,7 +454,7 @@ const PopoverImpl = () => {
|
|
|
455
454
|
spacing: 4,
|
|
456
455
|
maxHeight: "unset",
|
|
457
456
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
458
|
-
|
|
457
|
+
index_H1ljeG8.Form,
|
|
459
458
|
{
|
|
460
459
|
method: "POST",
|
|
461
460
|
initialValues: {
|
|
@@ -465,7 +464,7 @@ const PopoverImpl = () => {
|
|
|
465
464
|
onSubmit: handleSubmit,
|
|
466
465
|
children: ({ values: formValues, modified, isSubmitting }) => {
|
|
467
466
|
const filter = options.find((filter2) => filter2.name === formValues.name);
|
|
468
|
-
const Input = filter?.input ||
|
|
467
|
+
const Input = filter?.input || index_H1ljeG8.InputRenderer;
|
|
469
468
|
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 2, style: { minWidth: 184 }, children: [
|
|
470
469
|
[
|
|
471
470
|
{
|
|
@@ -500,7 +499,7 @@ const PopoverImpl = () => {
|
|
|
500
499
|
}),
|
|
501
500
|
type: "enumeration"
|
|
502
501
|
}
|
|
503
|
-
].map((field) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
502
|
+
].map((field) => /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.InputRenderer, { ...field }, field.name)),
|
|
504
503
|
filter && formValues.filter && formValues.filter !== "$null" && formValues.filter !== "$notNull" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
505
504
|
Input,
|
|
506
505
|
{
|
|
@@ -565,7 +564,7 @@ const getFilterList = (filter) => {
|
|
|
565
564
|
}
|
|
566
565
|
};
|
|
567
566
|
const List = () => {
|
|
568
|
-
const [{ query }, setQuery] =
|
|
567
|
+
const [{ query }, setQuery] = index_H1ljeG8.useQueryParams();
|
|
569
568
|
const options = useFilters("List", ({ options: options2 }) => options2);
|
|
570
569
|
const handleClick = (data) => {
|
|
571
570
|
const nextFilters = (query?.filters?.$and ?? []).filter((filter) => {
|
|
@@ -696,13 +695,6 @@ const Filters = {
|
|
|
696
695
|
Root,
|
|
697
696
|
Trigger
|
|
698
697
|
};
|
|
699
|
-
const usePrev = (value) => {
|
|
700
|
-
const ref = React.useRef();
|
|
701
|
-
React.useEffect(() => {
|
|
702
|
-
ref.current = value;
|
|
703
|
-
}, [value]);
|
|
704
|
-
return ref.current;
|
|
705
|
-
};
|
|
706
698
|
const REVIEW_WORKFLOW_FILTER_CE = [];
|
|
707
699
|
const NOT_ALLOWED_FILTERS = [
|
|
708
700
|
"json",
|
|
@@ -714,21 +706,18 @@ const NOT_ALLOWED_FILTERS = [
|
|
|
714
706
|
"blocks"
|
|
715
707
|
];
|
|
716
708
|
const DEFAULT_ALLOWED_FILTERS = ["createdAt", "updatedAt"];
|
|
717
|
-
const USER_FILTER_ATTRIBUTES = [...
|
|
709
|
+
const USER_FILTER_ATTRIBUTES = [...index_H1ljeG8.CREATOR_FIELDS, "strapi_assignee"];
|
|
718
710
|
const FiltersImpl = ({ disabled, schema }) => {
|
|
719
711
|
const { attributes, uid: model, options } = schema;
|
|
720
712
|
const { formatMessage, locale } = reactIntl.useIntl();
|
|
721
|
-
const { trackUsage } =
|
|
722
|
-
const
|
|
723
|
-
const [{ query }] =
|
|
724
|
-
const { schemas } =
|
|
713
|
+
const { trackUsage } = index_H1ljeG8.useTracking();
|
|
714
|
+
const allPermissions = index_H1ljeG8.useAuth("FiltersImpl", (state) => state.permissions);
|
|
715
|
+
const [{ query }] = index_H1ljeG8.useQueryParams();
|
|
716
|
+
const { schemas } = index_H1ljeG8.useContentTypeSchema();
|
|
725
717
|
const canReadAdminUsers = React__namespace.useMemo(
|
|
726
|
-
() =>
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
subject: null
|
|
730
|
-
}
|
|
731
|
-
]).length > 0,
|
|
718
|
+
() => allPermissions.filter(
|
|
719
|
+
(permission) => permission.action === "admin::users.read" && permission.subject === null
|
|
720
|
+
).length > 0,
|
|
732
721
|
[allPermissions]
|
|
733
722
|
);
|
|
734
723
|
const selectedUserIds = (query?.filters?.$and ?? []).reduce((acc, filter) => {
|
|
@@ -742,7 +731,7 @@ const FiltersImpl = ({ disabled, schema }) => {
|
|
|
742
731
|
}
|
|
743
732
|
return acc;
|
|
744
733
|
}, []);
|
|
745
|
-
const { data: userData, isLoading: isLoadingAdminUsers } =
|
|
734
|
+
const { data: userData, isLoading: isLoadingAdminUsers } = index_H1ljeG8.useAdminUsers(
|
|
746
735
|
{ filters: { id: { $in: selectedUserIds } } },
|
|
747
736
|
{
|
|
748
737
|
// fetch the list of admin users only if the filter contains users and the
|
|
@@ -751,21 +740,15 @@ const FiltersImpl = ({ disabled, schema }) => {
|
|
|
751
740
|
}
|
|
752
741
|
);
|
|
753
742
|
const { users = [] } = userData ?? {};
|
|
754
|
-
const { metadata } =
|
|
743
|
+
const { metadata } = index_H1ljeG8.useGetContentTypeConfigurationQuery(model, {
|
|
755
744
|
selectFromResult: ({ data }) => ({ metadata: data?.contentType.metadatas ?? {} })
|
|
756
745
|
});
|
|
757
746
|
const formatter = designSystem.useCollator(locale, {
|
|
758
747
|
sensitivity: "base"
|
|
759
748
|
});
|
|
760
749
|
const displayedAttributeFilters = React__namespace.useMemo(() => {
|
|
761
|
-
const [{ properties: { fields = [] } = { fields: [] } }] =
|
|
762
|
-
|
|
763
|
-
[
|
|
764
|
-
{
|
|
765
|
-
action: "plugin::content-manager.explorer.read",
|
|
766
|
-
subject: model
|
|
767
|
-
}
|
|
768
|
-
]
|
|
750
|
+
const [{ properties: { fields = [] } = { fields: [] } }] = allPermissions.filter(
|
|
751
|
+
(permission) => permission.action === "plugin::content-manager.explorer.read" && permission.subject === model
|
|
769
752
|
);
|
|
770
753
|
const allowedFields = fields.filter((field) => {
|
|
771
754
|
const attribute = attributes[field] ?? {};
|
|
@@ -775,7 +758,7 @@ const FiltersImpl = ({ disabled, schema }) => {
|
|
|
775
758
|
"id",
|
|
776
759
|
...allowedFields,
|
|
777
760
|
...DEFAULT_ALLOWED_FILTERS,
|
|
778
|
-
...canReadAdminUsers ?
|
|
761
|
+
...canReadAdminUsers ? index_H1ljeG8.CREATOR_FIELDS : []
|
|
779
762
|
].map((name) => {
|
|
780
763
|
const attribute = attributes[name];
|
|
781
764
|
if (NOT_ALLOWED_FILTERS.includes(attribute.type)) {
|
|
@@ -785,7 +768,7 @@ const FiltersImpl = ({ disabled, schema }) => {
|
|
|
785
768
|
let filter = {
|
|
786
769
|
name,
|
|
787
770
|
label: label ?? "",
|
|
788
|
-
mainField:
|
|
771
|
+
mainField: index_H1ljeG8.getMainField(attribute, mainFieldName, { schemas, components: {} }),
|
|
789
772
|
// @ts-expect-error – TODO: this is filtered out above in the `allowedFields` call but TS complains, is there a better way to solve this?
|
|
790
773
|
type: attribute.type
|
|
791
774
|
};
|
|
@@ -794,7 +777,7 @@ const FiltersImpl = ({ disabled, schema }) => {
|
|
|
794
777
|
...filter,
|
|
795
778
|
input: AdminUsersFilter,
|
|
796
779
|
options: users.map((user) => ({
|
|
797
|
-
label:
|
|
780
|
+
label: index_H1ljeG8.getDisplayName(user, formatMessage),
|
|
798
781
|
value: user.id.toString()
|
|
799
782
|
})),
|
|
800
783
|
operators: [
|
|
@@ -831,21 +814,16 @@ const FiltersImpl = ({ disabled, schema }) => {
|
|
|
831
814
|
users,
|
|
832
815
|
formatMessage
|
|
833
816
|
]);
|
|
834
|
-
const reviewWorkflowFilter =
|
|
817
|
+
const reviewWorkflowFilter = index_H1ljeG8.useEnterprise(
|
|
835
818
|
REVIEW_WORKFLOW_FILTER_CE,
|
|
836
|
-
async () => (await Promise.resolve().then(() => require("./constants-
|
|
819
|
+
async () => (await Promise.resolve().then(() => require("./constants-VMWcn5Dg-AljxaBIG.js"))).REVIEW_WORKFLOW_FILTERS,
|
|
837
820
|
{
|
|
838
821
|
combine(ceFilters, eeFilters) {
|
|
839
822
|
return [
|
|
840
823
|
...ceFilters,
|
|
841
824
|
...eeFilters.filter((eeFilter) => {
|
|
842
825
|
if (eeFilter.name === "strapi_assignee") {
|
|
843
|
-
return
|
|
844
|
-
{
|
|
845
|
-
action: "admin::users.read",
|
|
846
|
-
subject: null
|
|
847
|
-
}
|
|
848
|
-
]).length > 0;
|
|
826
|
+
return canReadAdminUsers;
|
|
849
827
|
}
|
|
850
828
|
return true;
|
|
851
829
|
}).map((eeFilter) => ({
|
|
@@ -855,7 +833,7 @@ const FiltersImpl = ({ disabled, schema }) => {
|
|
|
855
833
|
// TODO: strapi_assignee should not be in here and rather defined
|
|
856
834
|
// in the ee directory.
|
|
857
835
|
eeFilter.name === "strapi_assignee" ? users.map((user) => ({
|
|
858
|
-
label:
|
|
836
|
+
label: index_H1ljeG8.getDisplayName(user, formatMessage),
|
|
859
837
|
value: user.id.toString()
|
|
860
838
|
})) : void 0
|
|
861
839
|
)
|
|
@@ -907,10 +885,10 @@ const FiltersImpl = ({ disabled, schema }) => {
|
|
|
907
885
|
const AdminUsersFilter = ({ name }) => {
|
|
908
886
|
const [page, setPage] = React__namespace.useState(1);
|
|
909
887
|
const { formatMessage } = reactIntl.useIntl();
|
|
910
|
-
const { data, isLoading } =
|
|
888
|
+
const { data, isLoading } = index_H1ljeG8.useAdminUsers({
|
|
911
889
|
page
|
|
912
890
|
});
|
|
913
|
-
const field =
|
|
891
|
+
const field = index_H1ljeG8.useField(name);
|
|
914
892
|
const handleOpenChange = (isOpen) => {
|
|
915
893
|
if (!isOpen) {
|
|
916
894
|
setPage(1);
|
|
@@ -930,7 +908,7 @@ const AdminUsersFilter = ({ name }) => {
|
|
|
930
908
|
loading: isLoading,
|
|
931
909
|
onLoadMore: () => setPage((prev) => prev + 1),
|
|
932
910
|
children: users.map((user) => {
|
|
933
|
-
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.ComboboxOption, { value: user.id.toString(), children:
|
|
911
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.ComboboxOption, { value: user.id.toString(), children: index_H1ljeG8.getDisplayName(user, formatMessage) }, user.id);
|
|
934
912
|
})
|
|
935
913
|
}
|
|
936
914
|
);
|
|
@@ -1006,10 +984,10 @@ const MenuTrigger$1 = styled__default.default(v2.Menu.Trigger)`
|
|
|
1006
984
|
`;
|
|
1007
985
|
const getFileExtension = (ext) => ext && ext[0] === "." ? ext.substring(1) : ext;
|
|
1008
986
|
const MediaSingle = ({ url, mime, alternativeText, name, ext, formats }) => {
|
|
1009
|
-
const fileURL =
|
|
987
|
+
const fileURL = index_H1ljeG8.prefixFileUrlWithBackendUrl(url);
|
|
1010
988
|
if (mime.includes("image")) {
|
|
1011
989
|
const thumbnail = formats?.thumbnail?.url;
|
|
1012
|
-
const mediaURL =
|
|
990
|
+
const mediaURL = index_H1ljeG8.prefixFileUrlWithBackendUrl(thumbnail) || fileURL;
|
|
1013
991
|
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Avatar, { src: mediaURL, alt: alternativeText || name, preview: true });
|
|
1014
992
|
}
|
|
1015
993
|
const fileExtension = getFileExtension(ext);
|
|
@@ -1052,18 +1030,18 @@ const MediaMultiple = ({ content }) => {
|
|
|
1052
1030
|
}) });
|
|
1053
1031
|
};
|
|
1054
1032
|
const RelationSingle = ({ mainField, content }) => {
|
|
1055
|
-
return /* @__PURE__ */ jsxRuntime.jsx(TypographyMaxWidth$1, { textColor: "neutral800", ellipsis: true, children:
|
|
1033
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TypographyMaxWidth$1, { textColor: "neutral800", ellipsis: true, children: index_H1ljeG8.getRelationLabel(content, mainField) });
|
|
1056
1034
|
};
|
|
1057
1035
|
const TypographyMaxWidth$1 = styled__default.default(designSystem.Typography)`
|
|
1058
1036
|
max-width: 500px;
|
|
1059
1037
|
`;
|
|
1060
1038
|
const RelationMultiple = ({ mainField, content, rowId, name }) => {
|
|
1061
|
-
const { model } =
|
|
1039
|
+
const { model } = index_H1ljeG8.useDoc();
|
|
1062
1040
|
const { formatMessage } = reactIntl.useIntl();
|
|
1063
1041
|
const { notifyStatus } = designSystem.useNotifyAT();
|
|
1064
1042
|
const [isOpen, setIsOpen] = React__namespace.useState(false);
|
|
1065
1043
|
const [targetField] = name.split(".");
|
|
1066
|
-
const { data, isLoading } =
|
|
1044
|
+
const { data, isLoading } = index_H1ljeG8.useGetRelationsQuery(
|
|
1067
1045
|
{
|
|
1068
1046
|
model,
|
|
1069
1047
|
id: rowId,
|
|
@@ -1078,7 +1056,7 @@ const RelationMultiple = ({ mainField, content, rowId, name }) => {
|
|
|
1078
1056
|
if (data) {
|
|
1079
1057
|
notifyStatus(
|
|
1080
1058
|
formatMessage({
|
|
1081
|
-
id:
|
|
1059
|
+
id: index_H1ljeG8.getTranslation("DynamicTable.relation-loaded"),
|
|
1082
1060
|
defaultMessage: "Relations have been loaded"
|
|
1083
1061
|
})
|
|
1084
1062
|
);
|
|
@@ -1097,17 +1075,17 @@ const RelationMultiple = ({ mainField, content, rowId, name }) => {
|
|
|
1097
1075
|
] }) }),
|
|
1098
1076
|
/* @__PURE__ */ jsxRuntime.jsxs(v2.Menu.Content, { children: [
|
|
1099
1077
|
isLoading && /* @__PURE__ */ jsxRuntime.jsx(v2.Menu.Item, { disabled: true, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Loader, { small: true, children: formatMessage({
|
|
1100
|
-
id:
|
|
1078
|
+
id: index_H1ljeG8.getTranslation("ListViewTable.relation-loading"),
|
|
1101
1079
|
defaultMessage: "Relations are loading"
|
|
1102
1080
|
}) }) }),
|
|
1103
1081
|
data?.results && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1104
|
-
data.results.map((entry) => /* @__PURE__ */ jsxRuntime.jsx(v2.Menu.Item, { disabled: true, children: /* @__PURE__ */ jsxRuntime.jsx(TypographyMaxWidth$1, { ellipsis: true, children:
|
|
1082
|
+
data.results.map((entry) => /* @__PURE__ */ jsxRuntime.jsx(v2.Menu.Item, { disabled: true, children: /* @__PURE__ */ jsxRuntime.jsx(TypographyMaxWidth$1, { ellipsis: true, children: index_H1ljeG8.getRelationLabel(entry, mainField) }) }, entry.documentId)),
|
|
1105
1083
|
data?.pagination && data?.pagination.total > 10 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1106
1084
|
v2.Menu.Item,
|
|
1107
1085
|
{
|
|
1108
1086
|
"aria-disabled": true,
|
|
1109
1087
|
"aria-label": formatMessage({
|
|
1110
|
-
id:
|
|
1088
|
+
id: index_H1ljeG8.getTranslation("ListViewTable.relation-more"),
|
|
1111
1089
|
defaultMessage: "This relation contains more entities than displayed"
|
|
1112
1090
|
}),
|
|
1113
1091
|
children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: "…" })
|
|
@@ -1182,14 +1160,14 @@ const isSingleRelation = (type) => ["oneToOne", "manyToOne", "oneToOneMorph"].in
|
|
|
1182
1160
|
const ViewSettingsMenu = (props) => {
|
|
1183
1161
|
const [isVisible, setIsVisible] = React__namespace.useState(false);
|
|
1184
1162
|
const cogButtonRef = React__namespace.useRef(null);
|
|
1185
|
-
const permissions =
|
|
1163
|
+
const permissions = index_H1ljeG8.useTypedSelector(
|
|
1186
1164
|
(state) => state.admin_app.permissions.contentManager?.collectionTypesConfigurations ?? []
|
|
1187
1165
|
);
|
|
1188
|
-
const [{ query }] =
|
|
1166
|
+
const [{ query }] = index_H1ljeG8.useQueryParams();
|
|
1189
1167
|
const { formatMessage } = reactIntl.useIntl();
|
|
1190
1168
|
const {
|
|
1191
1169
|
allowedActions: { canViewConfiguration }
|
|
1192
|
-
} =
|
|
1170
|
+
} = index_H1ljeG8.useRBAC({
|
|
1193
1171
|
viewConfiguration: permissions
|
|
1194
1172
|
});
|
|
1195
1173
|
const handleToggle = () => {
|
|
@@ -1226,7 +1204,7 @@ const ViewSettingsMenu = (props) => {
|
|
|
1226
1204
|
as: reactRouterDom.NavLink,
|
|
1227
1205
|
to: {
|
|
1228
1206
|
pathname: "configurations/list",
|
|
1229
|
-
search: query.plugins ?
|
|
1207
|
+
search: query.plugins ? index_H1ljeG8.lib.stringify({ plugins: query.plugins }, { encode: false }) : ""
|
|
1230
1208
|
},
|
|
1231
1209
|
children: formatMessage({
|
|
1232
1210
|
id: "app.links.configure-view",
|
|
@@ -1241,15 +1219,15 @@ const ViewSettingsMenu = (props) => {
|
|
|
1241
1219
|
] });
|
|
1242
1220
|
};
|
|
1243
1221
|
const FieldPicker = ({ headers = [], resetHeaders, setHeaders }) => {
|
|
1244
|
-
const { trackUsage } =
|
|
1222
|
+
const { trackUsage } = index_H1ljeG8.useTracking();
|
|
1245
1223
|
const { formatMessage, locale } = reactIntl.useIntl();
|
|
1246
|
-
const { schema, model } =
|
|
1247
|
-
const { list } =
|
|
1224
|
+
const { schema, model } = index_H1ljeG8.useDoc();
|
|
1225
|
+
const { list } = index_H1ljeG8.useDocumentLayout(model);
|
|
1248
1226
|
const formatter = designSystem.useCollator(locale, {
|
|
1249
1227
|
sensitivity: "base"
|
|
1250
1228
|
});
|
|
1251
1229
|
const attributes = schema?.attributes ?? {};
|
|
1252
|
-
const columns = Object.keys(attributes).filter((name) =>
|
|
1230
|
+
const columns = Object.keys(attributes).filter((name) => index_H1ljeG8.checkIfAttributeIsDisplayable(attributes[name])).map((name) => ({
|
|
1253
1231
|
name,
|
|
1254
1232
|
label: list.metadatas[name]?.label ?? ""
|
|
1255
1233
|
})).sort((a, b) => formatter.compare(a.label, b.label));
|
|
@@ -1305,22 +1283,22 @@ const ChackboxWrapper = styled__default.default(designSystem.Flex)`
|
|
|
1305
1283
|
background-color: ${(props) => props.theme.colors.primary100};
|
|
1306
1284
|
}
|
|
1307
1285
|
`;
|
|
1308
|
-
const { INJECT_COLUMN_IN_TABLE } =
|
|
1286
|
+
const { INJECT_COLUMN_IN_TABLE } = index_H1ljeG8.HOOKS;
|
|
1309
1287
|
const REVIEW_WORKFLOW_COLUMNS_CE = null;
|
|
1310
1288
|
const REVIEW_WORKFLOW_COLUMNS_CELL_CE = {
|
|
1311
1289
|
ReviewWorkflowsStageEE: () => null,
|
|
1312
1290
|
ReviewWorkflowsAssigneeEE: () => null
|
|
1313
1291
|
};
|
|
1314
1292
|
const ListViewPage = () => {
|
|
1315
|
-
const { trackUsage } =
|
|
1293
|
+
const { trackUsage } = index_H1ljeG8.useTracking();
|
|
1316
1294
|
const navigate = reactRouterDom.useNavigate();
|
|
1317
1295
|
const { formatMessage } = reactIntl.useIntl();
|
|
1318
|
-
const { toggleNotification } =
|
|
1319
|
-
const { _unstableFormatAPIError: formatAPIError } =
|
|
1320
|
-
const { collectionType, model, schema } =
|
|
1321
|
-
const { list } =
|
|
1296
|
+
const { toggleNotification } = index_H1ljeG8.useNotification();
|
|
1297
|
+
const { _unstableFormatAPIError: formatAPIError } = index_H1ljeG8.useAPIErrorHandler(index_H1ljeG8.getTranslation);
|
|
1298
|
+
const { collectionType, model, schema } = index_H1ljeG8.useDoc();
|
|
1299
|
+
const { list } = index_H1ljeG8.useDocumentLayout(model);
|
|
1322
1300
|
const [displayedHeaders, setDisplayedHeaders] = React__namespace.useState([]);
|
|
1323
|
-
const listLayout = usePrev(list.layout);
|
|
1301
|
+
const listLayout = index_H1ljeG8.usePrev(list.layout);
|
|
1324
1302
|
React__namespace.useEffect(() => {
|
|
1325
1303
|
if (!isEqual__default.default(listLayout, list.layout)) {
|
|
1326
1304
|
setDisplayedHeaders(list.layout);
|
|
@@ -1328,16 +1306,16 @@ const ListViewPage = () => {
|
|
|
1328
1306
|
}, [list.layout, listLayout]);
|
|
1329
1307
|
const handleSetHeaders = (headers) => {
|
|
1330
1308
|
setDisplayedHeaders(
|
|
1331
|
-
|
|
1309
|
+
index_H1ljeG8.convertListLayoutToFieldLayouts(headers, schema.attributes, list.metadatas)
|
|
1332
1310
|
);
|
|
1333
1311
|
};
|
|
1334
|
-
const [{ query }] =
|
|
1312
|
+
const [{ query }] = index_H1ljeG8.useQueryParams({
|
|
1335
1313
|
page: "1",
|
|
1336
1314
|
pageSize: list.settings.pageSize.toString(),
|
|
1337
1315
|
sort: list.settings.defaultSortBy ? `${list.settings.defaultSortBy}:${list.settings.defaultSortOrder}` : ""
|
|
1338
1316
|
});
|
|
1339
|
-
const params = React__namespace.useMemo(() =>
|
|
1340
|
-
const { data, error, isLoading } =
|
|
1317
|
+
const params = React__namespace.useMemo(() => index_H1ljeG8.buildValidParams(query), [query]);
|
|
1318
|
+
const { data, error, isLoading } = index_H1ljeG8.useGetAllDocumentsQuery({
|
|
1341
1319
|
model,
|
|
1342
1320
|
params
|
|
1343
1321
|
});
|
|
@@ -1354,7 +1332,7 @@ const ListViewPage = () => {
|
|
|
1354
1332
|
if (pagination && pagination.pageCount > 0 && pagination.page > pagination.pageCount) {
|
|
1355
1333
|
navigate(
|
|
1356
1334
|
{
|
|
1357
|
-
search:
|
|
1335
|
+
search: index_H1ljeG8.lib.stringify({
|
|
1358
1336
|
...query,
|
|
1359
1337
|
page: pagination.pageCount
|
|
1360
1338
|
})
|
|
@@ -1363,27 +1341,27 @@ const ListViewPage = () => {
|
|
|
1363
1341
|
);
|
|
1364
1342
|
}
|
|
1365
1343
|
}, [pagination, formatMessage, query, navigate]);
|
|
1366
|
-
const { canCreate } =
|
|
1344
|
+
const { canCreate } = index_H1ljeG8.useDocumentRBAC("ListViewPage", ({ canCreate: canCreate2 }) => ({
|
|
1367
1345
|
canCreate: canCreate2
|
|
1368
1346
|
}));
|
|
1369
|
-
const reviewWorkflowColumns =
|
|
1347
|
+
const reviewWorkflowColumns = index_H1ljeG8.useEnterprise(
|
|
1370
1348
|
REVIEW_WORKFLOW_COLUMNS_CE,
|
|
1371
|
-
async () => (await Promise.resolve().then(() => require("./constants-
|
|
1349
|
+
async () => (await Promise.resolve().then(() => require("./constants-VMWcn5Dg-AljxaBIG.js"))).REVIEW_WORKFLOW_COLUMNS_EE,
|
|
1372
1350
|
{
|
|
1373
1351
|
enabled: !!schema?.options?.reviewWorkflows
|
|
1374
1352
|
}
|
|
1375
1353
|
);
|
|
1376
|
-
const ReviewWorkflowsColumns =
|
|
1354
|
+
const ReviewWorkflowsColumns = index_H1ljeG8.useEnterprise(
|
|
1377
1355
|
REVIEW_WORKFLOW_COLUMNS_CELL_CE,
|
|
1378
1356
|
async () => {
|
|
1379
|
-
const { ReviewWorkflowsStageEE, ReviewWorkflowsAssigneeEE } = await Promise.resolve().then(() => require("./ReviewWorkflowsColumn-
|
|
1357
|
+
const { ReviewWorkflowsStageEE, ReviewWorkflowsAssigneeEE } = await Promise.resolve().then(() => require("./ReviewWorkflowsColumn-6zZJluSU-kgZGsgKW.js"));
|
|
1380
1358
|
return { ReviewWorkflowsStageEE, ReviewWorkflowsAssigneeEE };
|
|
1381
1359
|
},
|
|
1382
1360
|
{
|
|
1383
1361
|
enabled: !!schema?.options?.reviewWorkflows
|
|
1384
1362
|
}
|
|
1385
1363
|
);
|
|
1386
|
-
const runHookWaterfall =
|
|
1364
|
+
const runHookWaterfall = index_H1ljeG8.useStrapiApp("ListViewPage", ({ runHookWaterfall: runHookWaterfall2 }) => runHookWaterfall2);
|
|
1387
1365
|
const tableHeaders = React__namespace.useMemo(() => {
|
|
1388
1366
|
const headers = runHookWaterfall(INJECT_COLUMN_IN_TABLE, {
|
|
1389
1367
|
displayedHeaders,
|
|
@@ -1403,7 +1381,7 @@ const ListViewPage = () => {
|
|
|
1403
1381
|
},
|
|
1404
1382
|
name: "status",
|
|
1405
1383
|
label: formatMessage({
|
|
1406
|
-
id:
|
|
1384
|
+
id: index_H1ljeG8.getTranslation(`containers.list.table-headers.status`),
|
|
1407
1385
|
defaultMessage: "status"
|
|
1408
1386
|
}),
|
|
1409
1387
|
searchable: false,
|
|
@@ -1428,20 +1406,20 @@ const ListViewPage = () => {
|
|
|
1428
1406
|
schema?.options?.draftAndPublish
|
|
1429
1407
|
]);
|
|
1430
1408
|
if (isLoading) {
|
|
1431
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1409
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Page.Loading, {});
|
|
1432
1410
|
}
|
|
1433
1411
|
if (error) {
|
|
1434
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1412
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Page.Error, {});
|
|
1435
1413
|
}
|
|
1436
1414
|
const contentTypeTitle = schema?.info.displayName ?? "Untitled";
|
|
1437
1415
|
const handleRowClick = (id) => () => {
|
|
1438
1416
|
trackUsage("willEditEntryFromList");
|
|
1439
1417
|
navigate({
|
|
1440
1418
|
pathname: id.toString(),
|
|
1441
|
-
search:
|
|
1419
|
+
search: index_H1ljeG8.lib.stringify({ plugins: query.plugins })
|
|
1442
1420
|
});
|
|
1443
1421
|
};
|
|
1444
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1422
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(index_H1ljeG8.Page.Main, { children: [
|
|
1445
1423
|
/* @__PURE__ */ jsxRuntime.jsx(Helmet.HelmetExport, { title: `${contentTypeTitle} | Strapi` }),
|
|
1446
1424
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1447
1425
|
designSystem.HeaderLayout,
|
|
@@ -1449,20 +1427,20 @@ const ListViewPage = () => {
|
|
|
1449
1427
|
primaryAction: canCreate ? /* @__PURE__ */ jsxRuntime.jsx(CreateButton, {}) : null,
|
|
1450
1428
|
subtitle: formatMessage(
|
|
1451
1429
|
{
|
|
1452
|
-
id:
|
|
1430
|
+
id: index_H1ljeG8.getTranslation("pages.ListView.header-subtitle"),
|
|
1453
1431
|
defaultMessage: "{number, plural, =0 {# entries} one {# entry} other {# entries}} found"
|
|
1454
1432
|
},
|
|
1455
1433
|
{ number: pagination?.total }
|
|
1456
1434
|
),
|
|
1457
1435
|
title: contentTypeTitle,
|
|
1458
|
-
navigationAction: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1436
|
+
navigationAction: /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.BackButton, {})
|
|
1459
1437
|
}
|
|
1460
1438
|
),
|
|
1461
1439
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1462
1440
|
designSystem.ActionLayout,
|
|
1463
1441
|
{
|
|
1464
1442
|
endActions: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1465
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1443
|
+
/* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.InjectionZone, { area: "contentManager.listView.actions" }),
|
|
1466
1444
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1467
1445
|
ViewSettingsMenu,
|
|
1468
1446
|
{
|
|
@@ -1474,7 +1452,7 @@ const ListViewPage = () => {
|
|
|
1474
1452
|
] }),
|
|
1475
1453
|
startActions: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1476
1454
|
list.settings.searchable && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1477
|
-
|
|
1455
|
+
index_H1ljeG8.SearchInput,
|
|
1478
1456
|
{
|
|
1479
1457
|
disabled: results.length === 0,
|
|
1480
1458
|
label: formatMessage(
|
|
@@ -1493,31 +1471,31 @@ const ListViewPage = () => {
|
|
|
1493
1471
|
}
|
|
1494
1472
|
),
|
|
1495
1473
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.ContentLayout, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 4, direction: "column", alignItems: "stretch", children: [
|
|
1496
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1497
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1498
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1499
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1500
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1501
|
-
tableHeaders.map((header) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1474
|
+
/* @__PURE__ */ jsxRuntime.jsxs(index_H1ljeG8.Table.Root, { rows: results, headers: tableHeaders, isLoading, children: [
|
|
1475
|
+
/* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Table.ActionBar, {}),
|
|
1476
|
+
/* @__PURE__ */ jsxRuntime.jsxs(index_H1ljeG8.Table.Content, { children: [
|
|
1477
|
+
/* @__PURE__ */ jsxRuntime.jsxs(index_H1ljeG8.Table.Head, { children: [
|
|
1478
|
+
/* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Table.HeaderCheckboxCell, {}),
|
|
1479
|
+
tableHeaders.map((header) => /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Table.HeaderCell, { ...header }, header.name))
|
|
1502
1480
|
] }),
|
|
1503
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1504
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1505
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1481
|
+
/* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Table.Loading, {}),
|
|
1482
|
+
/* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Table.Empty, { action: canCreate ? /* @__PURE__ */ jsxRuntime.jsx(CreateButton, { variant: "secondary" }) : null }),
|
|
1483
|
+
/* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Table.Body, { children: results.map((row) => {
|
|
1506
1484
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1507
|
-
|
|
1485
|
+
index_H1ljeG8.Table.Row,
|
|
1508
1486
|
{
|
|
1509
1487
|
cursor: "pointer",
|
|
1510
1488
|
onClick: handleRowClick(row.documentId),
|
|
1511
1489
|
children: [
|
|
1512
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1490
|
+
/* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Table.CheckboxCell, { id: row.id }),
|
|
1513
1491
|
tableHeaders.map(({ cellFormatter, ...header }) => {
|
|
1514
1492
|
if (header.name === "status") {
|
|
1515
1493
|
const { status } = row;
|
|
1516
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1494
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.DocumentStatus, { status, maxWidth: "min-content" }) }, header.name);
|
|
1517
1495
|
}
|
|
1518
1496
|
if (schema?.options?.reviewWorkflows) {
|
|
1519
1497
|
if (header.name === "strapi_stage") {
|
|
1520
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1498
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Table.Cell, { children: row.strapi_stage ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1521
1499
|
ReviewWorkflowsColumns.ReviewWorkflowsStageEE,
|
|
1522
1500
|
{
|
|
1523
1501
|
color: row.strapi_stage.color ?? designSystem.lightTheme.colors.primary600,
|
|
@@ -1526,7 +1504,7 @@ const ListViewPage = () => {
|
|
|
1526
1504
|
) : /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "neutral800", children: "-" }) }, header.name);
|
|
1527
1505
|
}
|
|
1528
1506
|
if (header.name === "strapi_assignee") {
|
|
1529
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1507
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Table.Cell, { children: row.strapi_assignee ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1530
1508
|
ReviewWorkflowsColumns.ReviewWorkflowsAssigneeEE,
|
|
1531
1509
|
{
|
|
1532
1510
|
user: row.strapi_assignee
|
|
@@ -1535,12 +1513,12 @@ const ListViewPage = () => {
|
|
|
1535
1513
|
}
|
|
1536
1514
|
}
|
|
1537
1515
|
if (["createdBy", "updatedBy"].includes(header.name.split(".")[0])) {
|
|
1538
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1516
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "neutral800", children: row[header.name.split(".")[0]] ? index_H1ljeG8.getDisplayName(row[header.name.split(".")[0]], formatMessage) : "-" }) }, header.name);
|
|
1539
1517
|
}
|
|
1540
1518
|
if (typeof cellFormatter === "function") {
|
|
1541
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1519
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Table.Cell, { children: cellFormatter(row, header, { collectionType, model }) }, header.name);
|
|
1542
1520
|
}
|
|
1543
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1521
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Table.Cell, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1544
1522
|
CellContent,
|
|
1545
1523
|
{
|
|
1546
1524
|
content: row[header.name.split(".")[0]],
|
|
@@ -1549,7 +1527,7 @@ const ListViewPage = () => {
|
|
|
1549
1527
|
}
|
|
1550
1528
|
) }, header.name);
|
|
1551
1529
|
}),
|
|
1552
|
-
/* @__PURE__ */ jsxRuntime.jsx(ActionsCell, { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1530
|
+
/* @__PURE__ */ jsxRuntime.jsx(ActionsCell, { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.TableActions, { document: row }) })
|
|
1553
1531
|
]
|
|
1554
1532
|
},
|
|
1555
1533
|
row.id
|
|
@@ -1558,27 +1536,27 @@ const ListViewPage = () => {
|
|
|
1558
1536
|
] })
|
|
1559
1537
|
] }),
|
|
1560
1538
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1561
|
-
|
|
1539
|
+
index_H1ljeG8.Pagination.Root,
|
|
1562
1540
|
{
|
|
1563
1541
|
...pagination,
|
|
1564
1542
|
onPageSizeChange: () => trackUsage("willChangeNumberOfEntriesPerPage"),
|
|
1565
1543
|
children: [
|
|
1566
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1567
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1544
|
+
/* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Pagination.PageSize, {}),
|
|
1545
|
+
/* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Pagination.Links, {})
|
|
1568
1546
|
]
|
|
1569
1547
|
}
|
|
1570
1548
|
)
|
|
1571
1549
|
] }) })
|
|
1572
1550
|
] });
|
|
1573
1551
|
};
|
|
1574
|
-
const ActionsCell = styled__default.default(
|
|
1552
|
+
const ActionsCell = styled__default.default(index_H1ljeG8.Table.Cell)`
|
|
1575
1553
|
display: flex;
|
|
1576
1554
|
justify-content: flex-end;
|
|
1577
1555
|
`;
|
|
1578
1556
|
const CreateButton = ({ variant }) => {
|
|
1579
1557
|
const { formatMessage } = reactIntl.useIntl();
|
|
1580
|
-
const { trackUsage } =
|
|
1581
|
-
const [{ query }] =
|
|
1558
|
+
const { trackUsage } = index_H1ljeG8.useTracking();
|
|
1559
|
+
const [{ query }] = index_H1ljeG8.useQueryParams();
|
|
1582
1560
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1583
1561
|
designSystem.Button,
|
|
1584
1562
|
{
|
|
@@ -1591,27 +1569,27 @@ const CreateButton = ({ variant }) => {
|
|
|
1591
1569
|
style: { textDecoration: "none" },
|
|
1592
1570
|
to: {
|
|
1593
1571
|
pathname: "create",
|
|
1594
|
-
search:
|
|
1572
|
+
search: index_H1ljeG8.lib.stringify({ plugins: query.plugins })
|
|
1595
1573
|
},
|
|
1596
1574
|
children: formatMessage({
|
|
1597
|
-
id:
|
|
1575
|
+
id: index_H1ljeG8.getTranslation("HeaderLayout.button.label-add-entry"),
|
|
1598
1576
|
defaultMessage: "Create new entry"
|
|
1599
1577
|
})
|
|
1600
1578
|
}
|
|
1601
1579
|
);
|
|
1602
1580
|
};
|
|
1603
1581
|
const ProtectedListViewPage = () => {
|
|
1604
|
-
const { model } =
|
|
1605
|
-
const [{ query }] =
|
|
1606
|
-
const { permissions = [], isLoading, isError } =
|
|
1582
|
+
const { model } = index_H1ljeG8.useDoc();
|
|
1583
|
+
const [{ query }] = index_H1ljeG8.useQueryParams();
|
|
1584
|
+
const { permissions = [], isLoading, isError } = useSyncRbacOd0wrAnD.useSyncRbac(model, query, "editView");
|
|
1607
1585
|
if (isLoading) {
|
|
1608
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1586
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Page.Loading, {});
|
|
1609
1587
|
}
|
|
1610
1588
|
if (isError) {
|
|
1611
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1589
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Page.Error, {});
|
|
1612
1590
|
}
|
|
1613
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1591
|
+
return /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.Page.Protect, { permissions, children: ({ permissions: permissions2 }) => /* @__PURE__ */ jsxRuntime.jsx(index_H1ljeG8.DocumentRBAC, { permissions: permissions2, children: /* @__PURE__ */ jsxRuntime.jsx(ListViewPage, {}) }) });
|
|
1614
1592
|
};
|
|
1615
1593
|
exports.ListViewPage = ListViewPage;
|
|
1616
1594
|
exports.ProtectedListViewPage = ProtectedListViewPage;
|
|
1617
|
-
//# sourceMappingURL=ListViewPage-
|
|
1595
|
+
//# sourceMappingURL=ListViewPage-TJbHzMdV-02M2sPzu.js.map
|