@strapi/content-releases 5.0.0-rc.3 → 5.0.0-rc.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{App-UQxgTJY5.mjs → App-BA2xDdy0.mjs} +43 -20
- package/dist/_chunks/App-BA2xDdy0.mjs.map +1 -0
- package/dist/_chunks/{App-D-lWdVb2.js → App-D4Wira1X.js} +42 -19
- package/dist/_chunks/App-D4Wira1X.js.map +1 -0
- package/dist/_chunks/{ReleasesSettingsPage-CuUXvABk.mjs → ReleasesSettingsPage-BAlbMWpw.mjs} +4 -4
- package/dist/_chunks/ReleasesSettingsPage-BAlbMWpw.mjs.map +1 -0
- package/dist/_chunks/{ReleasesSettingsPage-xfAoY8N3.js → ReleasesSettingsPage-xhFyRXCM.js} +4 -4
- package/dist/_chunks/ReleasesSettingsPage-xhFyRXCM.js.map +1 -0
- package/dist/_chunks/{en-BCDLTJn3.js → en-CmYoEnA7.js} +2 -1
- package/dist/_chunks/en-CmYoEnA7.js.map +1 -0
- package/dist/_chunks/{en-CGXIF4vQ.mjs → en-D0yVZFqf.mjs} +2 -1
- package/dist/_chunks/en-D0yVZFqf.mjs.map +1 -0
- package/dist/_chunks/{index-b3Ej95H7.mjs → index-CCFFG3Zs.mjs} +289 -23
- package/dist/_chunks/index-CCFFG3Zs.mjs.map +1 -0
- package/dist/_chunks/{index-jnv9zdcE.js → index-DxkQGp4N.js} +286 -20
- package/dist/_chunks/index-DxkQGp4N.js.map +1 -0
- package/dist/_chunks/{schemas-z5zp-_Gd.js → schemas-BE1LxE9J.js} +2 -2
- package/dist/_chunks/schemas-BE1LxE9J.js.map +1 -0
- package/dist/_chunks/{schemas-63pFihNF.mjs → schemas-DdA2ic2U.mjs} +2 -2
- package/dist/_chunks/schemas-DdA2ic2U.mjs.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/components/ReleaseListCell.d.ts +28 -0
- package/dist/admin/src/services/release.d.ts +34 -32
- package/dist/server/index.js +108 -79
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +108 -79
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/controllers/index.d.ts +2 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/release-action.d.ts +1 -0
- package/dist/server/src/controllers/release-action.d.ts.map +1 -1
- package/dist/server/src/controllers/release.d.ts +1 -0
- package/dist/server/src/controllers/release.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +4 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/release-action.d.ts.map +1 -1
- package/dist/server/src/routes/release.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +2 -0
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/release-action.d.ts +3 -1
- package/dist/server/src/services/release-action.d.ts.map +1 -1
- package/dist/shared/contracts/release-actions.d.ts +3 -5
- package/dist/shared/contracts/release-actions.d.ts.map +1 -1
- package/dist/shared/contracts/releases.d.ts +3 -2
- package/dist/shared/contracts/releases.d.ts.map +1 -1
- package/package.json +12 -11
- package/dist/_chunks/App-D-lWdVb2.js.map +0 -1
- package/dist/_chunks/App-UQxgTJY5.mjs.map +0 -1
- package/dist/_chunks/ReleasesSettingsPage-CuUXvABk.mjs.map +0 -1
- package/dist/_chunks/ReleasesSettingsPage-xfAoY8N3.js.map +0 -1
- package/dist/_chunks/en-BCDLTJn3.js.map +0 -1
- package/dist/_chunks/en-CGXIF4vQ.mjs.map +0 -1
- package/dist/_chunks/index-b3Ej95H7.mjs.map +0 -1
- package/dist/_chunks/index-jnv9zdcE.js.map +0 -1
- package/dist/_chunks/schemas-63pFihNF.mjs.map +0 -1
- package/dist/_chunks/schemas-z5zp-_Gd.js.map +0 -1
- package/strapi-server.js +0 -3
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
const icons = require("@strapi/icons");
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const strapiAdmin = require("@strapi/admin/strapi-admin");
|
|
5
|
-
const strapiAdmin$1 = require("@strapi/content-manager/strapi-admin");
|
|
6
5
|
const designSystem = require("@strapi/design-system");
|
|
7
|
-
const symbols = require("@strapi/icons/symbols");
|
|
8
6
|
const formik = require("formik");
|
|
9
7
|
const reactIntl = require("react-intl");
|
|
8
|
+
const strapiAdmin$1 = require("@strapi/content-manager/strapi-admin");
|
|
9
|
+
const symbols = require("@strapi/icons/symbols");
|
|
10
10
|
const reactRouterDom = require("react-router-dom");
|
|
11
11
|
const yup = require("yup");
|
|
12
12
|
const styledComponents = require("styled-components");
|
|
@@ -124,7 +124,7 @@ const extendInvalidatesTags = (endpoint, extraTags) => {
|
|
|
124
124
|
Object.assign(endpoint, { invalidatesTags: newInvalidatesTags });
|
|
125
125
|
};
|
|
126
126
|
const releaseApi = strapiAdmin.adminApi.enhanceEndpoints({
|
|
127
|
-
addTagTypes: ["Release", "ReleaseAction", "EntriesInRelease", "ReleaseSettings"],
|
|
127
|
+
addTagTypes: ["Release", "ReleaseAction", "EntriesInRelease", "ReleaseSettings", "Document"],
|
|
128
128
|
endpoints: {
|
|
129
129
|
updateDocument(endpoint) {
|
|
130
130
|
extendInvalidatesTags(endpoint, [
|
|
@@ -219,7 +219,10 @@ const releaseApi = strapiAdmin.adminApi.enhanceEndpoints({
|
|
|
219
219
|
method: "GET"
|
|
220
220
|
};
|
|
221
221
|
},
|
|
222
|
-
providesTags: (result, error, arg) => [
|
|
222
|
+
providesTags: (result, error, arg) => [
|
|
223
|
+
{ type: "Release", id: "LIST" },
|
|
224
|
+
{ type: "Release", id: arg.id }
|
|
225
|
+
]
|
|
223
226
|
}),
|
|
224
227
|
getReleaseActions: build.query({
|
|
225
228
|
query({ releaseId, ...params }) {
|
|
@@ -288,7 +291,11 @@ const releaseApi = strapiAdmin.adminApi.enhanceEndpoints({
|
|
|
288
291
|
data: body
|
|
289
292
|
};
|
|
290
293
|
},
|
|
291
|
-
invalidatesTags: () => [
|
|
294
|
+
invalidatesTags: (res, error, arg) => [
|
|
295
|
+
{ type: "ReleaseAction", id: "LIST" },
|
|
296
|
+
{ type: "Release", id: "LIST" },
|
|
297
|
+
{ type: "Release", id: arg.params.releaseId }
|
|
298
|
+
],
|
|
292
299
|
async onQueryStarted({ body, params, query, actionPath }, { dispatch, queryFulfilled }) {
|
|
293
300
|
const paramsWithoutActionId = {
|
|
294
301
|
releaseId: params.releaseId,
|
|
@@ -335,7 +342,10 @@ const releaseApi = strapiAdmin.adminApi.enhanceEndpoints({
|
|
|
335
342
|
method: "POST"
|
|
336
343
|
};
|
|
337
344
|
},
|
|
338
|
-
invalidatesTags: (result, error, arg) => [
|
|
345
|
+
invalidatesTags: (result, error, arg) => [
|
|
346
|
+
{ type: "Release", id: arg.id },
|
|
347
|
+
{ type: "Document", id: `ALL_LIST` }
|
|
348
|
+
]
|
|
339
349
|
}),
|
|
340
350
|
deleteRelease: build.mutation({
|
|
341
351
|
query({ id }) {
|
|
@@ -373,7 +383,7 @@ const releaseApi = strapiAdmin.adminApi.enhanceEndpoints({
|
|
|
373
383
|
data
|
|
374
384
|
};
|
|
375
385
|
},
|
|
376
|
-
invalidatesTags:
|
|
386
|
+
invalidatesTags: [{ type: "ReleaseSettings" }]
|
|
377
387
|
})
|
|
378
388
|
};
|
|
379
389
|
}
|
|
@@ -598,6 +608,7 @@ const AddActionToReleaseModal = ({
|
|
|
598
608
|
};
|
|
599
609
|
const ReleaseActionModalForm = ({
|
|
600
610
|
documentId,
|
|
611
|
+
document,
|
|
601
612
|
model,
|
|
602
613
|
collectionType
|
|
603
614
|
}) => {
|
|
@@ -676,6 +687,8 @@ const ReleaseActionModalForm = ({
|
|
|
676
687
|
defaultMessage: "Add to release"
|
|
677
688
|
}),
|
|
678
689
|
icon: /* @__PURE__ */ jsxRuntime.jsx(icons.PaperPlane, {}),
|
|
690
|
+
// Entry is creating so we don't want to allow adding it to a release
|
|
691
|
+
disabled: !document,
|
|
679
692
|
position: ["panel", "table-row"],
|
|
680
693
|
dialog: {
|
|
681
694
|
type: "modal",
|
|
@@ -714,6 +727,236 @@ const ReleaseActionModalForm = ({
|
|
|
714
727
|
}
|
|
715
728
|
};
|
|
716
729
|
};
|
|
730
|
+
const getContentPermissions = (subject) => {
|
|
731
|
+
const permissions = {
|
|
732
|
+
publish: [
|
|
733
|
+
{
|
|
734
|
+
action: "plugin::content-manager.explorer.publish",
|
|
735
|
+
subject,
|
|
736
|
+
id: "",
|
|
737
|
+
actionParameters: {},
|
|
738
|
+
properties: {},
|
|
739
|
+
conditions: []
|
|
740
|
+
}
|
|
741
|
+
]
|
|
742
|
+
};
|
|
743
|
+
return permissions;
|
|
744
|
+
};
|
|
745
|
+
const ReleaseAction = ({ documents, model }) => {
|
|
746
|
+
const { formatMessage } = reactIntl.useIntl();
|
|
747
|
+
const { toggleNotification } = strapiAdmin.useNotification();
|
|
748
|
+
const { formatAPIError } = strapiAdmin.useAPIErrorHandler();
|
|
749
|
+
const [{ query }] = strapiAdmin.useQueryParams();
|
|
750
|
+
const contentPermissions = getContentPermissions(model);
|
|
751
|
+
const {
|
|
752
|
+
allowedActions: { canPublish }
|
|
753
|
+
} = strapiAdmin.useRBAC(contentPermissions);
|
|
754
|
+
const {
|
|
755
|
+
allowedActions: { canCreate }
|
|
756
|
+
} = strapiAdmin.useRBAC(PERMISSIONS);
|
|
757
|
+
const response = useGetReleasesQuery();
|
|
758
|
+
const releases = response.data?.data;
|
|
759
|
+
const [createManyReleaseActions, { isLoading }] = useCreateManyReleaseActionsMutation();
|
|
760
|
+
const documentIds = documents.map((doc) => doc.documentId);
|
|
761
|
+
const handleSubmit = async (values) => {
|
|
762
|
+
const locale = query.plugins?.i18n?.locale;
|
|
763
|
+
const releaseActionEntries = documentIds.map(
|
|
764
|
+
(entryDocumentId) => ({
|
|
765
|
+
type: values.type,
|
|
766
|
+
contentType: model,
|
|
767
|
+
entryDocumentId,
|
|
768
|
+
locale
|
|
769
|
+
})
|
|
770
|
+
);
|
|
771
|
+
const response2 = await createManyReleaseActions({
|
|
772
|
+
body: releaseActionEntries,
|
|
773
|
+
params: { releaseId: values.releaseId }
|
|
774
|
+
});
|
|
775
|
+
if ("data" in response2) {
|
|
776
|
+
const notificationMessage = formatMessage(
|
|
777
|
+
{
|
|
778
|
+
id: "content-releases.content-manager-list-view.add-to-release.notification.success.message",
|
|
779
|
+
defaultMessage: "{entriesAlreadyInRelease} out of {totalEntries} entries were already in the release."
|
|
780
|
+
},
|
|
781
|
+
{
|
|
782
|
+
entriesAlreadyInRelease: response2.data.meta.entriesAlreadyInRelease,
|
|
783
|
+
totalEntries: response2.data.meta.totalEntries
|
|
784
|
+
}
|
|
785
|
+
);
|
|
786
|
+
const notification = {
|
|
787
|
+
type: "success",
|
|
788
|
+
title: formatMessage(
|
|
789
|
+
{
|
|
790
|
+
id: "content-releases.content-manager-list-view.add-to-release.notification.success.title",
|
|
791
|
+
defaultMessage: "Successfully added to release."
|
|
792
|
+
},
|
|
793
|
+
{
|
|
794
|
+
entriesAlreadyInRelease: response2.data.meta.entriesAlreadyInRelease,
|
|
795
|
+
totalEntries: response2.data.meta.totalEntries
|
|
796
|
+
}
|
|
797
|
+
),
|
|
798
|
+
message: response2.data.meta.entriesAlreadyInRelease ? notificationMessage : ""
|
|
799
|
+
};
|
|
800
|
+
toggleNotification(notification);
|
|
801
|
+
return true;
|
|
802
|
+
}
|
|
803
|
+
if ("error" in response2) {
|
|
804
|
+
if (strapiAdmin.isFetchError(response2.error)) {
|
|
805
|
+
toggleNotification({
|
|
806
|
+
type: "warning",
|
|
807
|
+
message: formatAPIError(response2.error)
|
|
808
|
+
});
|
|
809
|
+
} else {
|
|
810
|
+
toggleNotification({
|
|
811
|
+
type: "warning",
|
|
812
|
+
message: formatMessage({ id: "notification.error", defaultMessage: "An error occurred" })
|
|
813
|
+
});
|
|
814
|
+
}
|
|
815
|
+
}
|
|
816
|
+
};
|
|
817
|
+
if (!canCreate || !canPublish)
|
|
818
|
+
return null;
|
|
819
|
+
return {
|
|
820
|
+
actionType: "release",
|
|
821
|
+
variant: "tertiary",
|
|
822
|
+
label: formatMessage({
|
|
823
|
+
id: "content-manager-list-view.add-to-release",
|
|
824
|
+
defaultMessage: "Add to Release"
|
|
825
|
+
}),
|
|
826
|
+
dialog: {
|
|
827
|
+
type: "modal",
|
|
828
|
+
title: formatMessage({
|
|
829
|
+
id: "content-manager-list-view.add-to-release",
|
|
830
|
+
defaultMessage: "Add to Release"
|
|
831
|
+
}),
|
|
832
|
+
content: ({ onClose }) => {
|
|
833
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
834
|
+
formik.Formik,
|
|
835
|
+
{
|
|
836
|
+
onSubmit: async (values) => {
|
|
837
|
+
const data = await handleSubmit(values);
|
|
838
|
+
if (data) {
|
|
839
|
+
return onClose();
|
|
840
|
+
}
|
|
841
|
+
},
|
|
842
|
+
validationSchema: RELEASE_ACTION_FORM_SCHEMA,
|
|
843
|
+
initialValues: INITIAL_VALUES,
|
|
844
|
+
children: ({ values, setFieldValue }) => /* @__PURE__ */ jsxRuntime.jsxs(formik.Form, { children: [
|
|
845
|
+
releases?.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(NoReleases, {}) : /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Body, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 2, children: [
|
|
846
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { paddingBottom: 6, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Field.Root, { required: true, children: [
|
|
847
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: formatMessage({
|
|
848
|
+
id: "content-releases.content-manager-list-view.add-to-release.select-label",
|
|
849
|
+
defaultMessage: "Select a release"
|
|
850
|
+
}) }),
|
|
851
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
852
|
+
designSystem.SingleSelect,
|
|
853
|
+
{
|
|
854
|
+
placeholder: formatMessage({
|
|
855
|
+
id: "content-releases.content-manager-list-view.add-to-release.select-placeholder",
|
|
856
|
+
defaultMessage: "Select"
|
|
857
|
+
}),
|
|
858
|
+
onChange: (value) => setFieldValue("releaseId", value),
|
|
859
|
+
value: values.releaseId,
|
|
860
|
+
children: releases?.map((release) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: release.id, children: release.name }, release.id))
|
|
861
|
+
}
|
|
862
|
+
)
|
|
863
|
+
] }) }),
|
|
864
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: formatMessage({
|
|
865
|
+
id: "content-releases.content-manager-list-view.add-to-release.action-type-label",
|
|
866
|
+
defaultMessage: "What do you want to do with these entries?"
|
|
867
|
+
}) }),
|
|
868
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
869
|
+
ReleaseActionOptions,
|
|
870
|
+
{
|
|
871
|
+
selected: values.type,
|
|
872
|
+
handleChange: (e) => setFieldValue("type", e.target.value),
|
|
873
|
+
name: "type"
|
|
874
|
+
}
|
|
875
|
+
)
|
|
876
|
+
] }) }),
|
|
877
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Footer, { children: [
|
|
878
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: onClose, variant: "tertiary", name: "cancel", children: formatMessage({
|
|
879
|
+
id: "content-releases.content-manager-list-view.add-to-release.cancel-button",
|
|
880
|
+
defaultMessage: "Cancel"
|
|
881
|
+
}) }),
|
|
882
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { type: "submit", disabled: !values.releaseId, loading: isLoading, children: formatMessage({
|
|
883
|
+
id: "content-releases.content-manager-list-view.add-to-release.continue-button",
|
|
884
|
+
defaultMessage: "Continue"
|
|
885
|
+
}) })
|
|
886
|
+
] })
|
|
887
|
+
] })
|
|
888
|
+
}
|
|
889
|
+
);
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
};
|
|
893
|
+
};
|
|
894
|
+
const useReleasesList = (contentTypeUid, documentId) => {
|
|
895
|
+
const listViewData = strapiAdmin.useTable("ListView", (state) => state.rows);
|
|
896
|
+
const documentIds = listViewData.map((entry) => entry.documentId);
|
|
897
|
+
const [{ query }] = strapiAdmin.useQueryParams();
|
|
898
|
+
const locale = query?.plugins?.i18n?.locale || void 0;
|
|
899
|
+
const response = useGetMappedEntriesInReleasesQuery(
|
|
900
|
+
{ contentTypeUid, documentIds, locale },
|
|
901
|
+
{ skip: !documentIds || !contentTypeUid || documentIds.length === 0 }
|
|
902
|
+
);
|
|
903
|
+
const mappedEntriesInReleases = response.data || {};
|
|
904
|
+
return mappedEntriesInReleases?.[documentId] || [];
|
|
905
|
+
};
|
|
906
|
+
const addColumnToTableHook = ({ displayedHeaders, layout }) => {
|
|
907
|
+
const { options } = layout;
|
|
908
|
+
if (!options?.draftAndPublish) {
|
|
909
|
+
return { displayedHeaders, layout };
|
|
910
|
+
}
|
|
911
|
+
return {
|
|
912
|
+
displayedHeaders: [
|
|
913
|
+
...displayedHeaders,
|
|
914
|
+
{
|
|
915
|
+
searchable: false,
|
|
916
|
+
sortable: false,
|
|
917
|
+
name: "releases",
|
|
918
|
+
label: {
|
|
919
|
+
id: "content-releases.content-manager.list-view.releases.header",
|
|
920
|
+
defaultMessage: "To be released in"
|
|
921
|
+
},
|
|
922
|
+
cellFormatter: (props, _, { model }) => /* @__PURE__ */ jsxRuntime.jsx(ReleaseListCell, { ...props, model })
|
|
923
|
+
}
|
|
924
|
+
],
|
|
925
|
+
layout
|
|
926
|
+
};
|
|
927
|
+
};
|
|
928
|
+
const ReleaseListCell = ({ documentId, model }) => {
|
|
929
|
+
const releases = useReleasesList(model, documentId);
|
|
930
|
+
const { formatMessage } = reactIntl.useIntl();
|
|
931
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Popover.Root, { children: [
|
|
932
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
933
|
+
designSystem.Button,
|
|
934
|
+
{
|
|
935
|
+
variant: "ghost",
|
|
936
|
+
onClick: (e) => e.stopPropagation(),
|
|
937
|
+
endIcon: releases.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(icons.CaretDown, { width: "1.2rem", height: "1.2rem" }) : null,
|
|
938
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
939
|
+
designSystem.Typography,
|
|
940
|
+
{
|
|
941
|
+
style: { maxWidth: "252px", cursor: "pointer" },
|
|
942
|
+
textColor: "neutral800",
|
|
943
|
+
fontWeight: "regular",
|
|
944
|
+
children: releases.length > 0 ? formatMessage(
|
|
945
|
+
{
|
|
946
|
+
id: "content-releases.content-manager.list-view.releases-number",
|
|
947
|
+
defaultMessage: "{number} {number, plural, one {release} other {releases}}"
|
|
948
|
+
},
|
|
949
|
+
{
|
|
950
|
+
number: releases.length
|
|
951
|
+
}
|
|
952
|
+
) : "-"
|
|
953
|
+
}
|
|
954
|
+
)
|
|
955
|
+
}
|
|
956
|
+
) }),
|
|
957
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Popover.Content, { children: /* @__PURE__ */ jsxRuntime.jsx("ul", { children: releases.map(({ id, name }) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { padding: 3, tag: "li", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Link, { href: `/admin/plugins/content-releases/${id}`, isExternal: false, children: name }) }, id)) }) })
|
|
958
|
+
] });
|
|
959
|
+
};
|
|
717
960
|
const getTimezoneOffset = (timezone, date) => {
|
|
718
961
|
try {
|
|
719
962
|
const offsetPart = new Intl.DateTimeFormat("en", {
|
|
@@ -880,7 +1123,7 @@ const Root = ({ children }) => {
|
|
|
880
1123
|
return (
|
|
881
1124
|
// A user can access the dropdown if they have permissions to delete a release-action OR update a release
|
|
882
1125
|
allowedActions.canDeleteAction || allowedActions.canUpdate ? /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Menu.Root, { children: [
|
|
883
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1126
|
+
/* @__PURE__ */ jsxRuntime.jsx(StyledMoreButton, { variant: "tertiary", endIcon: null, paddingLeft: "7px", paddingRight: "7px", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
884
1127
|
designSystem.AccessibleIcon,
|
|
885
1128
|
{
|
|
886
1129
|
label: formatMessage({
|
|
@@ -894,13 +1137,23 @@ const Root = ({ children }) => {
|
|
|
894
1137
|
] }) : null
|
|
895
1138
|
);
|
|
896
1139
|
};
|
|
1140
|
+
const StyledMoreButton = styledComponents.styled(designSystem.Menu.Trigger)`
|
|
1141
|
+
& > span {
|
|
1142
|
+
display: flex;
|
|
1143
|
+
}
|
|
1144
|
+
`;
|
|
897
1145
|
const ReleaseActionMenu = {
|
|
898
1146
|
Root,
|
|
899
1147
|
EditReleaseItem,
|
|
900
1148
|
DeleteReleaseActionItem,
|
|
901
1149
|
ReleaseActionEntryLinkItem
|
|
902
1150
|
};
|
|
903
|
-
const Panel = ({
|
|
1151
|
+
const Panel = ({
|
|
1152
|
+
model,
|
|
1153
|
+
document,
|
|
1154
|
+
documentId,
|
|
1155
|
+
collectionType
|
|
1156
|
+
}) => {
|
|
904
1157
|
const [{ query }] = strapiAdmin.useQueryParams();
|
|
905
1158
|
const locale = query.plugins?.i18n?.locale;
|
|
906
1159
|
const {
|
|
@@ -909,12 +1162,17 @@ const Panel = ({ model, documentId, collectionType }) => {
|
|
|
909
1162
|
const { formatMessage, formatDate, formatTime } = reactIntl.useIntl();
|
|
910
1163
|
const { allowedActions } = strapiAdmin.useRBAC(PERMISSIONS);
|
|
911
1164
|
const { canRead, canDeleteAction } = allowedActions;
|
|
912
|
-
const response = useGetReleasesForEntryQuery(
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
1165
|
+
const response = useGetReleasesForEntryQuery(
|
|
1166
|
+
{
|
|
1167
|
+
contentType: model,
|
|
1168
|
+
entryDocumentId: documentId,
|
|
1169
|
+
locale,
|
|
1170
|
+
hasEntryAttached: true
|
|
1171
|
+
},
|
|
1172
|
+
{
|
|
1173
|
+
skip: !document
|
|
1174
|
+
}
|
|
1175
|
+
);
|
|
918
1176
|
const releases = response.data?.data;
|
|
919
1177
|
const getReleaseColorVariant = (actionType, shade) => {
|
|
920
1178
|
if (actionType === "unpublish") {
|
|
@@ -928,7 +1186,7 @@ const Panel = ({ model, documentId, collectionType }) => {
|
|
|
928
1186
|
if (collectionType === "collection-types" && (!documentId || documentId === "create")) {
|
|
929
1187
|
return null;
|
|
930
1188
|
}
|
|
931
|
-
if (releases
|
|
1189
|
+
if (!releases || releases.length === 0) {
|
|
932
1190
|
return null;
|
|
933
1191
|
}
|
|
934
1192
|
return {
|
|
@@ -1033,7 +1291,7 @@ const admin = {
|
|
|
1033
1291
|
id: `${pluginId}.plugin.name`,
|
|
1034
1292
|
defaultMessage: "Releases"
|
|
1035
1293
|
},
|
|
1036
|
-
Component: () => Promise.resolve().then(() => require("./App-
|
|
1294
|
+
Component: () => Promise.resolve().then(() => require("./App-D4Wira1X.js")).then((mod) => ({ default: mod.App })),
|
|
1037
1295
|
permissions: PERMISSIONS.main,
|
|
1038
1296
|
position: 2
|
|
1039
1297
|
});
|
|
@@ -1057,10 +1315,18 @@ const admin = {
|
|
|
1057
1315
|
},
|
|
1058
1316
|
permissions: [],
|
|
1059
1317
|
async Component() {
|
|
1060
|
-
const { ProtectedReleasesSettingsPage } = await Promise.resolve().then(() => require("./ReleasesSettingsPage-
|
|
1318
|
+
const { ProtectedReleasesSettingsPage } = await Promise.resolve().then(() => require("./ReleasesSettingsPage-xhFyRXCM.js"));
|
|
1061
1319
|
return { default: ProtectedReleasesSettingsPage };
|
|
1062
1320
|
}
|
|
1063
1321
|
});
|
|
1322
|
+
if ("addBulkAction" in contentManagerPluginApis && typeof contentManagerPluginApis.addBulkAction === "function") {
|
|
1323
|
+
contentManagerPluginApis.addBulkAction((actions) => {
|
|
1324
|
+
const deleteActionIndex = actions.findIndex((action) => action.type === "delete");
|
|
1325
|
+
actions.splice(deleteActionIndex, 0, ReleaseAction);
|
|
1326
|
+
return actions;
|
|
1327
|
+
});
|
|
1328
|
+
}
|
|
1329
|
+
app.registerHook("Admin/CM/pages/ListView/inject-column-in-table", addColumnToTableHook);
|
|
1064
1330
|
} else if (!window.strapi.features.isEnabled("cms-content-releases") && window.strapi?.flags?.promoteEE) {
|
|
1065
1331
|
app.addSettingsLink("global", {
|
|
1066
1332
|
id: pluginId,
|
|
@@ -1081,7 +1347,7 @@ const admin = {
|
|
|
1081
1347
|
async registerTrads({ locales }) {
|
|
1082
1348
|
const importedTrads = await Promise.all(
|
|
1083
1349
|
locales.map((locale) => {
|
|
1084
|
-
return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/en.json": () => Promise.resolve().then(() => require("./en-
|
|
1350
|
+
return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/en.json": () => Promise.resolve().then(() => require("./en-CmYoEnA7.js")) }), `./translations/${locale}.json`).then(({ default: data }) => {
|
|
1085
1351
|
return {
|
|
1086
1352
|
data: prefixPluginTranslations(data, "content-releases"),
|
|
1087
1353
|
locale
|
|
@@ -1115,4 +1381,4 @@ exports.usePublishReleaseMutation = usePublishReleaseMutation;
|
|
|
1115
1381
|
exports.useUpdateReleaseActionMutation = useUpdateReleaseActionMutation;
|
|
1116
1382
|
exports.useUpdateReleaseMutation = useUpdateReleaseMutation;
|
|
1117
1383
|
exports.useUpdateReleaseSettingsMutation = useUpdateReleaseSettingsMutation;
|
|
1118
|
-
//# sourceMappingURL=index-
|
|
1384
|
+
//# sourceMappingURL=index-DxkQGp4N.js.map
|