@strapi/content-manager 0.0.0-experimental.3c73a4c6f6073abdf1608121a200c3d4d87b1aa8 → 0.0.0-experimental.3d5794391d4c2d9eddf7bd162c02f4bb836eb7a6
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/LICENSE +18 -3
- package/dist/_chunks/{ComponentConfigurationPage-BZIaEffq.js → ComponentConfigurationPage-Cjr64OS0.js} +4 -4
- package/dist/_chunks/{ComponentConfigurationPage-BZIaEffq.js.map → ComponentConfigurationPage-Cjr64OS0.js.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-Cxz51Sve.mjs → ComponentConfigurationPage-DKuCF_uX.mjs} +4 -4
- package/dist/_chunks/{ComponentConfigurationPage-Cxz51Sve.mjs.map → ComponentConfigurationPage-DKuCF_uX.mjs.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-CM62NN0L.js → EditConfigurationPage-BeikGxvq.js} +4 -4
- package/dist/_chunks/{EditConfigurationPage-CM62NN0L.js.map → EditConfigurationPage-BeikGxvq.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-CZLbgfIp.mjs → EditConfigurationPage-CyqSP6ru.mjs} +4 -4
- package/dist/_chunks/{EditConfigurationPage-CZLbgfIp.mjs.map → EditConfigurationPage-CyqSP6ru.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-CzuJgWWp.mjs → EditViewPage-PrPHZN_9.mjs} +102 -51
- package/dist/_chunks/EditViewPage-PrPHZN_9.mjs.map +1 -0
- package/dist/_chunks/{EditViewPage-CU7724gt.js → EditViewPage-pyqEgLgP.js} +100 -49
- package/dist/_chunks/EditViewPage-pyqEgLgP.js.map +1 -0
- package/dist/_chunks/{Field-QtUSh5mU.mjs → Field-DuAYQka5.mjs} +600 -228
- package/dist/_chunks/Field-DuAYQka5.mjs.map +1 -0
- package/dist/_chunks/{Field-Dh1yZyqy.js → Field-fKtb7rWK.js} +602 -230
- package/dist/_chunks/Field-fKtb7rWK.js.map +1 -0
- package/dist/_chunks/{Form-BOR8NOe1.js → Form-BPXw-S-J.js} +52 -34
- package/dist/_chunks/Form-BPXw-S-J.js.map +1 -0
- package/dist/_chunks/{Form-COLpvlnv.mjs → Form-Dxh71ckp.mjs} +54 -36
- package/dist/_chunks/Form-Dxh71ckp.mjs.map +1 -0
- package/dist/_chunks/{History-CW2akQ6h.js → History-BGGn9JGY.js} +171 -126
- package/dist/_chunks/History-BGGn9JGY.js.map +1 -0
- package/dist/_chunks/{History-Bu53Yfw-.mjs → History-CGblSVMc.mjs} +172 -127
- package/dist/_chunks/History-CGblSVMc.mjs.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-jzdhEk_u.js → ListConfigurationPage-D3Avyi4t.js} +58 -47
- package/dist/_chunks/ListConfigurationPage-D3Avyi4t.js.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-TqrmwjPN.mjs → ListConfigurationPage-TIM0JveM.mjs} +59 -49
- package/dist/_chunks/ListConfigurationPage-TIM0JveM.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-BO_mOXIl.mjs → ListViewPage-C975eW-t.mjs} +128 -105
- package/dist/_chunks/ListViewPage-C975eW-t.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-B3bMOrMv.js → ListViewPage-DtAHWFMV.js} +130 -107
- package/dist/_chunks/ListViewPage-DtAHWFMV.js.map +1 -0
- package/dist/_chunks/{NoContentTypePage-D77xsNHj.js → NoContentTypePage-BFjWZX0i.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-D77xsNHj.js.map → NoContentTypePage-BFjWZX0i.js.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-DqB0QV0k.mjs → NoContentTypePage-SgNTVGjF.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-DqB0QV0k.mjs.map → NoContentTypePage-SgNTVGjF.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-DTXi042N.mjs → NoPermissionsPage-D4XYRoPf.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-DTXi042N.mjs.map → NoPermissionsPage-D4XYRoPf.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-C6qTGogm.js → NoPermissionsPage-j7oulOpl.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-C6qTGogm.js.map → NoPermissionsPage-j7oulOpl.js.map} +1 -1
- package/dist/_chunks/Preview-Bx1WfmKJ.js +256 -0
- package/dist/_chunks/Preview-Bx1WfmKJ.js.map +1 -0
- package/dist/_chunks/Preview-Cy6fuAnd.mjs +237 -0
- package/dist/_chunks/Preview-Cy6fuAnd.mjs.map +1 -0
- package/dist/_chunks/{Relations-B6fb2POW.js → Relations-CXQqwRXC.js} +72 -36
- package/dist/_chunks/Relations-CXQqwRXC.js.map +1 -0
- package/dist/_chunks/{Relations-CJ4qdkRo.mjs → Relations-DUrYWw0N.mjs} +73 -37
- package/dist/_chunks/Relations-DUrYWw0N.mjs.map +1 -0
- package/dist/_chunks/{en-9GwRW_ku.mjs → en-69jRDM9j.mjs} +31 -17
- package/dist/_chunks/{en-9GwRW_ku.mjs.map → en-69jRDM9j.mjs.map} +1 -1
- package/dist/_chunks/{en-DZXjRiWA.js → en-DAgtrRoa.js} +31 -17
- package/dist/_chunks/{en-DZXjRiWA.js.map → en-DAgtrRoa.js.map} +1 -1
- package/dist/_chunks/{es-EUonQTon.js → es-9K52xZIr.js} +2 -2
- package/dist/_chunks/{ja-CcFe8diO.js.map → es-9K52xZIr.js.map} +1 -1
- package/dist/_chunks/{es-CeXiYflN.mjs → es-D34tqjMw.mjs} +2 -2
- package/dist/_chunks/{es-CeXiYflN.mjs.map → es-D34tqjMw.mjs.map} +1 -1
- package/dist/_chunks/{fr-CD9VFbPM.mjs → fr--pg5jUbt.mjs} +13 -3
- package/dist/_chunks/{fr-CD9VFbPM.mjs.map → fr--pg5jUbt.mjs.map} +1 -1
- package/dist/_chunks/{fr-B7kGGg3E.js → fr-B2Kyv8Z9.js} +13 -3
- package/dist/_chunks/{fr-B7kGGg3E.js.map → fr-B2Kyv8Z9.js.map} +1 -1
- package/dist/_chunks/{index-Dahjdw4h.mjs → index-Ta--2bRa.mjs} +1107 -883
- package/dist/_chunks/index-Ta--2bRa.mjs.map +1 -0
- package/dist/_chunks/{index-DcUu-_72.js → index-_j7lH3CO.js} +1099 -874
- package/dist/_chunks/index-_j7lH3CO.js.map +1 -0
- package/dist/_chunks/{ja-CcFe8diO.js → ja-7sfIbjxE.js} +2 -2
- package/dist/_chunks/{es-EUonQTon.js.map → ja-7sfIbjxE.js.map} +1 -1
- package/dist/_chunks/{ja-CtsUxOvk.mjs → ja-BHqhDq4V.mjs} +2 -2
- package/dist/_chunks/{ja-CtsUxOvk.mjs.map → ja-BHqhDq4V.mjs.map} +1 -1
- package/dist/_chunks/{layout-jcY4dyUG.js → layout-BDwU2I_y.js} +25 -12
- package/dist/_chunks/layout-BDwU2I_y.js.map +1 -0
- package/dist/_chunks/{layout-omucV6TV.mjs → layout-C8H4oKDo.mjs} +27 -14
- package/dist/_chunks/layout-C8H4oKDo.mjs.map +1 -0
- package/dist/_chunks/{objects-gigeqt7s.js → objects-BcXOv6_9.js} +2 -4
- package/dist/_chunks/{objects-gigeqt7s.js.map → objects-BcXOv6_9.js.map} +1 -1
- package/dist/_chunks/{objects-mKMAmfec.mjs → objects-D6yBsdmx.mjs} +2 -4
- package/dist/_chunks/{objects-mKMAmfec.mjs.map → objects-D6yBsdmx.mjs.map} +1 -1
- package/dist/_chunks/{relations-DGzD7ORa.js → relations-CPfMNzM6.js} +6 -7
- package/dist/_chunks/relations-CPfMNzM6.js.map +1 -0
- package/dist/_chunks/{relations-CN0-aw6p.mjs → relations-Ch70q86O.mjs} +6 -7
- package/dist/_chunks/relations-Ch70q86O.mjs.map +1 -0
- package/dist/_chunks/{usePrev-B9w_-eYc.js → useDebounce-CtcjDB3L.js} +14 -1
- package/dist/_chunks/useDebounce-CtcjDB3L.js.map +1 -0
- package/dist/_chunks/useDebounce-DmuSJIF3.mjs +29 -0
- package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +1 -0
- package/dist/admin/index.js +2 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +4 -3
- package/dist/admin/src/exports.d.ts +1 -1
- package/dist/admin/src/history/components/VersionInputRenderer.d.ts +1 -1
- package/dist/admin/src/history/index.d.ts +3 -0
- package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
- package/dist/admin/src/hooks/useDocument.d.ts +32 -1
- package/dist/admin/src/index.d.ts +1 -0
- package/dist/admin/src/pages/EditView/EditViewPage.d.ts +9 -1
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +8 -3
- package/dist/admin/src/pages/EditView/components/DocumentStatus.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +4 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +20 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +6 -58
- package/dist/admin/src/pages/EditView/components/Header.d.ts +11 -11
- package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +3 -30
- package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +2 -2
- package/dist/admin/src/preview/components/PreviewContent.d.ts +2 -0
- package/dist/admin/src/preview/components/PreviewHeader.d.ts +2 -0
- package/dist/admin/src/preview/components/PreviewSidePanel.d.ts +3 -0
- package/dist/admin/src/preview/constants.d.ts +1 -0
- package/dist/admin/src/preview/index.d.ts +4 -0
- package/dist/admin/src/preview/pages/Preview.d.ts +11 -0
- package/dist/admin/src/preview/routes.d.ts +3 -0
- package/dist/admin/src/preview/services/preview.d.ts +3 -0
- package/dist/admin/src/router.d.ts +1 -1
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/components.d.ts +2 -2
- package/dist/admin/src/services/contentTypes.d.ts +3 -3
- package/dist/admin/src/services/documents.d.ts +19 -17
- package/dist/admin/src/services/init.d.ts +1 -1
- package/dist/admin/src/services/relations.d.ts +2 -2
- package/dist/admin/src/services/uid.d.ts +3 -3
- package/dist/admin/src/utils/validation.d.ts +4 -1
- package/dist/server/index.js +551 -263
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +552 -264
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/bootstrap.d.ts.map +1 -1
- package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/relations.d.ts.map +1 -1
- package/dist/server/src/controllers/uid.d.ts.map +1 -1
- package/dist/server/src/controllers/utils/metadata.d.ts +15 -1
- package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/dimensions.d.ts +4 -2
- package/dist/server/src/controllers/validation/dimensions.d.ts.map +1 -1
- package/dist/server/src/history/services/history.d.ts.map +1 -1
- package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
- package/dist/server/src/history/services/utils.d.ts +4 -4
- package/dist/server/src/history/services/utils.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +4 -4
- package/dist/server/src/policies/hasPermissions.d.ts.map +1 -1
- package/dist/server/src/preview/constants.d.ts +2 -0
- package/dist/server/src/preview/constants.d.ts.map +1 -0
- package/dist/server/src/preview/controllers/index.d.ts +2 -0
- package/dist/server/src/preview/controllers/index.d.ts.map +1 -0
- package/dist/server/src/preview/controllers/preview.d.ts +13 -0
- package/dist/server/src/preview/controllers/preview.d.ts.map +1 -0
- package/dist/server/src/preview/controllers/validation/preview.d.ts +6 -0
- package/dist/server/src/preview/controllers/validation/preview.d.ts.map +1 -0
- package/dist/server/src/preview/index.d.ts +4 -0
- package/dist/server/src/preview/index.d.ts.map +1 -0
- package/dist/server/src/preview/routes/index.d.ts +8 -0
- package/dist/server/src/preview/routes/index.d.ts.map +1 -0
- package/dist/server/src/preview/routes/preview.d.ts +4 -0
- package/dist/server/src/preview/routes/preview.d.ts.map +1 -0
- package/dist/server/src/preview/services/index.d.ts +15 -0
- package/dist/server/src/preview/services/index.d.ts.map +1 -0
- package/dist/server/src/preview/services/preview-config.d.ts +30 -0
- package/dist/server/src/preview/services/preview-config.d.ts.map +1 -0
- package/dist/server/src/preview/services/preview.d.ts +12 -0
- package/dist/server/src/preview/services/preview.d.ts.map +1 -0
- package/dist/server/src/preview/utils.d.ts +18 -0
- package/dist/server/src/preview/utils.d.ts.map +1 -0
- package/dist/server/src/routes/index.d.ts.map +1 -1
- package/dist/server/src/services/document-manager.d.ts.map +1 -1
- package/dist/server/src/services/document-metadata.d.ts +8 -8
- package/dist/server/src/services/document-metadata.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +4 -4
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/permission-checker.d.ts.map +1 -1
- package/dist/server/src/services/utils/configuration/index.d.ts +2 -2
- package/dist/server/src/services/utils/configuration/layouts.d.ts +2 -2
- package/dist/server/src/services/utils/populate.d.ts.map +1 -1
- package/dist/server/src/utils/index.d.ts +2 -0
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/dist/shared/contracts/collection-types.d.ts +3 -1
- package/dist/shared/contracts/collection-types.d.ts.map +1 -1
- package/dist/shared/contracts/index.d.ts +1 -0
- package/dist/shared/contracts/index.d.ts.map +1 -1
- package/dist/shared/contracts/preview.d.ts +27 -0
- package/dist/shared/contracts/preview.d.ts.map +1 -0
- package/dist/shared/index.js +4 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/index.mjs +4 -0
- package/dist/shared/index.mjs.map +1 -1
- package/package.json +14 -14
- package/dist/_chunks/EditViewPage-CU7724gt.js.map +0 -1
- package/dist/_chunks/EditViewPage-CzuJgWWp.mjs.map +0 -1
- package/dist/_chunks/Field-Dh1yZyqy.js.map +0 -1
- package/dist/_chunks/Field-QtUSh5mU.mjs.map +0 -1
- package/dist/_chunks/Form-BOR8NOe1.js.map +0 -1
- package/dist/_chunks/Form-COLpvlnv.mjs.map +0 -1
- package/dist/_chunks/History-Bu53Yfw-.mjs.map +0 -1
- package/dist/_chunks/History-CW2akQ6h.js.map +0 -1
- package/dist/_chunks/ListConfigurationPage-TqrmwjPN.mjs.map +0 -1
- package/dist/_chunks/ListConfigurationPage-jzdhEk_u.js.map +0 -1
- package/dist/_chunks/ListViewPage-B3bMOrMv.js.map +0 -1
- package/dist/_chunks/ListViewPage-BO_mOXIl.mjs.map +0 -1
- package/dist/_chunks/Relations-B6fb2POW.js.map +0 -1
- package/dist/_chunks/Relations-CJ4qdkRo.mjs.map +0 -1
- package/dist/_chunks/index-Dahjdw4h.mjs.map +0 -1
- package/dist/_chunks/index-DcUu-_72.js.map +0 -1
- package/dist/_chunks/layout-jcY4dyUG.js.map +0 -1
- package/dist/_chunks/layout-omucV6TV.mjs.map +0 -1
- package/dist/_chunks/relations-CN0-aw6p.mjs.map +0 -1
- package/dist/_chunks/relations-DGzD7ORa.js.map +0 -1
- package/dist/_chunks/usePrev-B9w_-eYc.js.map +0 -1
- package/dist/_chunks/usePrev-DH6iah0A.mjs +0 -16
- package/dist/_chunks/usePrev-DH6iah0A.mjs.map +0 -1
- package/strapi-server.js +0 -3
@@ -1,19 +1,19 @@
|
|
1
1
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
2
2
|
import * as React from "react";
|
3
3
|
import { useForm, useStrapiApp, InputRenderer, useField, Form, Layouts, useNotification, useQueryParams, useRBAC, ConfirmDialog, createContext, Page } from "@strapi/admin/strapi-admin";
|
4
|
-
import { Alert, Link, Flex, Field, Box, Tooltip,
|
4
|
+
import { Alert, Link, Flex, Field, Box, Tooltip, Typography, Divider, Grid, Dialog, Button, Portal, FocusTrap, Main } from "@strapi/design-system";
|
5
5
|
import { stringify } from "qs";
|
6
6
|
import { useIntl } from "react-intl";
|
7
7
|
import { NavLink, useNavigate, useParams, Link as Link$1, Navigate } from "react-router-dom";
|
8
|
-
import { c as useDoc, f as useDocumentRBAC,
|
8
|
+
import { c as useDoc, f as useDocumentRBAC, o as useDocLayout, C as COLLECTION_TYPES, D as DocumentStatus, e as contentManagerApi, k as PERMISSIONS, t as getDisplayName, R as RelativeTime, l as DocumentRBAC, J as useDocument, h as useDocumentLayout, p as useGetContentTypeConfigurationQuery, d as buildValidParams } from "./index-Ta--2bRa.mjs";
|
9
9
|
import pipe from "lodash/fp/pipe";
|
10
10
|
import { u as useTypedSelector } from "./hooks-E5u1mcgM.mjs";
|
11
|
-
import { a as useDynamicZone, u as useLazyComponents, b as useFieldHint, N as NotAllowedInput, d as MemoizedUIDInput, e as MemoizedWysiwyg, D as DynamicZone, f as MemoizedComponentInput, g as MemoizedBlocksInput, r as removeFieldsThatDontExistOnSchema, p as prepareTempKeys } from "./Field-
|
11
|
+
import { a as useDynamicZone, u as useLazyComponents, b as useFieldHint, N as NotAllowedInput, d as MemoizedUIDInput, e as MemoizedWysiwyg, D as DynamicZone, f as MemoizedComponentInput, g as MemoizedBlocksInput, r as removeFieldsThatDontExistOnSchema, p as prepareTempKeys } from "./Field-DuAYQka5.mjs";
|
12
12
|
import { ArrowLeft, WarningCircle } from "@strapi/icons";
|
13
13
|
import { styled } from "styled-components";
|
14
|
-
import { g as getRelationLabel } from "./relations-
|
14
|
+
import { g as getRelationLabel } from "./relations-Ch70q86O.mjs";
|
15
15
|
const StyledAlert = styled(Alert).attrs({ closeLabel: "Close", onClose: () => {
|
16
|
-
} })`
|
16
|
+
}, shadow: "none" })`
|
17
17
|
button {
|
18
18
|
display: none;
|
19
19
|
}
|
@@ -31,13 +31,13 @@ const LinkEllipsis = styled(Link)`
|
|
31
31
|
const CustomRelationInput = (props) => {
|
32
32
|
const { formatMessage } = useIntl();
|
33
33
|
const field = useField(props.name);
|
34
|
-
|
35
|
-
|
36
|
-
meta: { missingCount: 0 }
|
37
|
-
}
|
34
|
+
let formattedFieldValue;
|
35
|
+
if (field) {
|
36
|
+
formattedFieldValue = Array.isArray(field.value) ? { results: field.value, meta: { missingCount: 0 } } : field.value;
|
37
|
+
}
|
38
38
|
if (!formattedFieldValue || formattedFieldValue.results.length === 0 && formattedFieldValue.meta.missingCount === 0) {
|
39
39
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
40
|
-
/* @__PURE__ */ jsx(Field.Label, { children: props.label }),
|
40
|
+
/* @__PURE__ */ jsx(Field.Label, { action: props.labelAction, children: props.label }),
|
41
41
|
/* @__PURE__ */ jsx(Box, { marginTop: 1, children: /* @__PURE__ */ jsx(StyledAlert, { variant: "default", children: formatMessage({
|
42
42
|
id: "content-manager.history.content.no-relations",
|
43
43
|
defaultMessage: "No relations."
|
@@ -48,8 +48,10 @@ const CustomRelationInput = (props) => {
|
|
48
48
|
return /* @__PURE__ */ jsxs(Box, { children: [
|
49
49
|
/* @__PURE__ */ jsx(Field.Label, { children: props.label }),
|
50
50
|
results.length > 0 && /* @__PURE__ */ jsx(Flex, { direction: "column", gap: 2, marginTop: 1, alignItems: "stretch", children: results.map((relationData) => {
|
51
|
-
const
|
51
|
+
const { targetModel } = props.attribute;
|
52
|
+
const href = `../${COLLECTION_TYPES}/${targetModel}/${relationData.documentId}`;
|
52
53
|
const label = getRelationLabel(relationData, props.mainField);
|
54
|
+
const isAdminUserRelation = targetModel === "admin::user";
|
53
55
|
return /* @__PURE__ */ jsxs(
|
54
56
|
Flex,
|
55
57
|
{
|
@@ -62,11 +64,11 @@ const CustomRelationInput = (props) => {
|
|
62
64
|
background: "neutral150",
|
63
65
|
justifyContent: "space-between",
|
64
66
|
children: [
|
65
|
-
/* @__PURE__ */ jsx(Box, { minWidth: 0, paddingTop: 1, paddingBottom: 1, paddingRight: 4, children: /* @__PURE__ */ jsx(Tooltip, {
|
67
|
+
/* @__PURE__ */ jsx(Box, { minWidth: 0, paddingTop: 1, paddingBottom: 1, paddingRight: 4, children: /* @__PURE__ */ jsx(Tooltip, { label, children: isAdminUserRelation ? /* @__PURE__ */ jsx(Typography, { children: label }) : /* @__PURE__ */ jsx(LinkEllipsis, { tag: NavLink, to: href, children: label }) }) }),
|
66
68
|
/* @__PURE__ */ jsx(DocumentStatus, { status: relationData.status })
|
67
69
|
]
|
68
70
|
},
|
69
|
-
relationData.documentId
|
71
|
+
relationData.documentId ?? relationData.id
|
70
72
|
);
|
71
73
|
}) }),
|
72
74
|
meta.missingCount > 0 && /* @ts-expect-error – we dont need closeLabel */
|
@@ -94,9 +96,9 @@ const CustomRelationInput = (props) => {
|
|
94
96
|
] });
|
95
97
|
};
|
96
98
|
const CustomMediaInput = (props) => {
|
97
|
-
const {
|
98
|
-
|
99
|
-
|
99
|
+
const { value } = useField(props.name);
|
100
|
+
const results = value ? value.results : [];
|
101
|
+
const meta = value ? value.meta : { missingCount: 0 };
|
100
102
|
const { formatMessage } = useIntl();
|
101
103
|
const fields = useStrapiApp("CustomMediaInput", (state) => state.fields);
|
102
104
|
const MediaLibrary = fields.media;
|
@@ -127,12 +129,39 @@ const CustomMediaInput = (props) => {
|
|
127
129
|
)
|
128
130
|
] });
|
129
131
|
};
|
132
|
+
const getLabelAction = (labelAction) => {
|
133
|
+
if (!React.isValidElement(labelAction)) {
|
134
|
+
return labelAction;
|
135
|
+
}
|
136
|
+
const labelActionTitleId = labelAction.props.title.id;
|
137
|
+
if (labelActionTitleId === "i18n.Field.localized") {
|
138
|
+
return React.cloneElement(labelAction, {
|
139
|
+
...labelAction.props,
|
140
|
+
title: {
|
141
|
+
id: "history.content.localized",
|
142
|
+
defaultMessage: "This value is specific to this locale. If you restore this version, the content will not be replaced for other locales."
|
143
|
+
}
|
144
|
+
});
|
145
|
+
}
|
146
|
+
if (labelActionTitleId === "i18n.Field.not-localized") {
|
147
|
+
return React.cloneElement(labelAction, {
|
148
|
+
...labelAction.props,
|
149
|
+
title: {
|
150
|
+
id: "history.content.not-localized",
|
151
|
+
defaultMessage: "This value is common to all locales. If you restore this version and save the changes, the content will be replaced for all locales."
|
152
|
+
}
|
153
|
+
});
|
154
|
+
}
|
155
|
+
return labelAction;
|
156
|
+
};
|
130
157
|
const VersionInputRenderer = ({
|
131
158
|
visible,
|
132
159
|
hint: providedHint,
|
133
160
|
shouldIgnoreRBAC = false,
|
161
|
+
labelAction,
|
134
162
|
...props
|
135
163
|
}) => {
|
164
|
+
const customLabelAction = getLabelAction(labelAction);
|
136
165
|
const { formatMessage } = useIntl();
|
137
166
|
const version = useHistoryContext("VersionContent", (state) => state.selectedVersion);
|
138
167
|
const configuration = useHistoryContext("VersionContent", (state) => state.configuration);
|
@@ -190,25 +219,42 @@ const VersionInputRenderer = ({
|
|
190
219
|
if (attributeHasCustomFieldProperty(props.attribute)) {
|
191
220
|
const CustomInput = lazyComponentStore[props.attribute.customField];
|
192
221
|
if (CustomInput) {
|
193
|
-
return /* @__PURE__ */ jsx(
|
222
|
+
return /* @__PURE__ */ jsx(
|
223
|
+
CustomInput,
|
224
|
+
{
|
225
|
+
...props,
|
226
|
+
hint,
|
227
|
+
labelAction: customLabelAction,
|
228
|
+
disabled: fieldIsDisabled
|
229
|
+
}
|
230
|
+
);
|
194
231
|
}
|
195
232
|
return /* @__PURE__ */ jsx(
|
196
233
|
InputRenderer,
|
197
234
|
{
|
198
235
|
...props,
|
199
236
|
hint,
|
237
|
+
labelAction: customLabelAction,
|
200
238
|
type: props.attribute.customField,
|
201
239
|
disabled: fieldIsDisabled
|
202
240
|
}
|
203
241
|
);
|
204
242
|
}
|
205
243
|
if (props.type === "media") {
|
206
|
-
return /* @__PURE__ */ jsx(CustomMediaInput, { ...props, disabled: fieldIsDisabled });
|
244
|
+
return /* @__PURE__ */ jsx(CustomMediaInput, { ...props, labelAction: customLabelAction, disabled: fieldIsDisabled });
|
207
245
|
}
|
208
246
|
const addedInputTypes = Object.keys(fields);
|
209
247
|
if (!attributeHasCustomFieldProperty(props.attribute) && addedInputTypes.includes(props.type)) {
|
210
248
|
const CustomInput = fields[props.type];
|
211
|
-
return /* @__PURE__ */ jsx(
|
249
|
+
return /* @__PURE__ */ jsx(
|
250
|
+
CustomInput,
|
251
|
+
{
|
252
|
+
...props,
|
253
|
+
hint,
|
254
|
+
labelAction: customLabelAction,
|
255
|
+
disabled: fieldIsDisabled
|
256
|
+
}
|
257
|
+
);
|
212
258
|
}
|
213
259
|
switch (props.type) {
|
214
260
|
case "blocks":
|
@@ -227,24 +273,60 @@ const VersionInputRenderer = ({
|
|
227
273
|
...props,
|
228
274
|
layout: [...layout, ...remainingFieldsLayout || []],
|
229
275
|
hint,
|
276
|
+
labelAction: customLabelAction,
|
230
277
|
disabled: fieldIsDisabled,
|
231
278
|
children: (inputProps) => /* @__PURE__ */ jsx(VersionInputRenderer, { ...inputProps, shouldIgnoreRBAC: true })
|
232
279
|
}
|
233
280
|
);
|
234
281
|
case "dynamiczone":
|
235
|
-
return /* @__PURE__ */ jsx(
|
282
|
+
return /* @__PURE__ */ jsx(
|
283
|
+
DynamicZone,
|
284
|
+
{
|
285
|
+
...props,
|
286
|
+
hint,
|
287
|
+
labelAction: customLabelAction,
|
288
|
+
disabled: fieldIsDisabled
|
289
|
+
}
|
290
|
+
);
|
236
291
|
case "relation":
|
237
|
-
return /* @__PURE__ */ jsx(
|
292
|
+
return /* @__PURE__ */ jsx(
|
293
|
+
CustomRelationInput,
|
294
|
+
{
|
295
|
+
...props,
|
296
|
+
hint,
|
297
|
+
labelAction: customLabelAction,
|
298
|
+
disabled: fieldIsDisabled
|
299
|
+
}
|
300
|
+
);
|
238
301
|
case "richtext":
|
239
|
-
return /* @__PURE__ */ jsx(
|
302
|
+
return /* @__PURE__ */ jsx(
|
303
|
+
MemoizedWysiwyg,
|
304
|
+
{
|
305
|
+
...props,
|
306
|
+
hint,
|
307
|
+
type: props.type,
|
308
|
+
labelAction: customLabelAction,
|
309
|
+
disabled: fieldIsDisabled
|
310
|
+
}
|
311
|
+
);
|
240
312
|
case "uid":
|
241
|
-
return /* @__PURE__ */ jsx(
|
313
|
+
return /* @__PURE__ */ jsx(
|
314
|
+
MemoizedUIDInput,
|
315
|
+
{
|
316
|
+
...props,
|
317
|
+
hint,
|
318
|
+
type: props.type,
|
319
|
+
labelAction: customLabelAction,
|
320
|
+
disabled: fieldIsDisabled
|
321
|
+
}
|
322
|
+
);
|
242
323
|
case "enumeration":
|
243
324
|
return /* @__PURE__ */ jsx(
|
244
325
|
InputRenderer,
|
245
326
|
{
|
246
327
|
...props,
|
247
328
|
hint,
|
329
|
+
labelAction: customLabelAction,
|
248
330
|
options: props.attribute.enum.map((value) => ({ value })),
|
249
331
|
type: props.customField ? "custom-field" : props.type,
|
250
332
|
disabled: fieldIsDisabled
|
@@ -257,6 +339,7 @@ const VersionInputRenderer = ({
|
|
257
339
|
{
|
258
340
|
...restProps,
|
259
341
|
hint,
|
342
|
+
labelAction: customLabelAction,
|
260
343
|
type: props.customField ? "custom-field" : props.type,
|
261
344
|
disabled: fieldIsDisabled
|
262
345
|
}
|
@@ -310,7 +393,7 @@ const FormPanel = ({ panel }) => {
|
|
310
393
|
if (panel.some((row) => row.some((field) => field.type === "dynamiczone"))) {
|
311
394
|
const [row] = panel;
|
312
395
|
const [field] = row;
|
313
|
-
return /* @__PURE__ */ jsx(Grid, { gap: 4, children: /* @__PURE__ */ jsx(
|
396
|
+
return /* @__PURE__ */ jsx(Grid.Root, { gap: 4, children: /* @__PURE__ */ jsx(Grid.Item, { col: 12, s: 12, xs: 12, direction: "column", alignItems: "stretch", children: /* @__PURE__ */ jsx(VersionInputRenderer, { ...field }) }) }, field.name);
|
314
397
|
}
|
315
398
|
return /* @__PURE__ */ jsx(
|
316
399
|
Box,
|
@@ -323,8 +406,19 @@ const FormPanel = ({ panel }) => {
|
|
323
406
|
paddingTop: 6,
|
324
407
|
paddingBottom: 6,
|
325
408
|
borderColor: "neutral150",
|
326
|
-
children: /* @__PURE__ */ jsx(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: panel.map((row, gridRowIndex) => /* @__PURE__ */ jsx(Grid, { gap: 4, children: row.map(({ size, ...field }) => {
|
327
|
-
return /* @__PURE__ */ jsx(
|
409
|
+
children: /* @__PURE__ */ jsx(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: panel.map((row, gridRowIndex) => /* @__PURE__ */ jsx(Grid.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
410
|
+
return /* @__PURE__ */ jsx(
|
411
|
+
Grid.Item,
|
412
|
+
{
|
413
|
+
col: size,
|
414
|
+
s: 12,
|
415
|
+
xs: 12,
|
416
|
+
direction: "column",
|
417
|
+
alignItems: "stretch",
|
418
|
+
children: /* @__PURE__ */ jsx(VersionInputRenderer, { ...field })
|
419
|
+
},
|
420
|
+
field.name
|
421
|
+
);
|
328
422
|
}) }, gridRowIndex)) })
|
329
423
|
}
|
330
424
|
);
|
@@ -454,14 +548,8 @@ const VersionHeader = ({ headerId }) => {
|
|
454
548
|
const mainFieldValue = version.data[mainField];
|
455
549
|
const getNextNavigation = () => {
|
456
550
|
const pluginsQueryParams = stringify({ plugins: query.plugins }, { encode: false });
|
457
|
-
if (collectionType === COLLECTION_TYPES) {
|
458
|
-
return {
|
459
|
-
pathname: `/content-manager/${collectionType}/${version.contentType}/${version.relatedDocumentId}`,
|
460
|
-
search: pluginsQueryParams
|
461
|
-
};
|
462
|
-
}
|
463
551
|
return {
|
464
|
-
pathname:
|
552
|
+
pathname: "..",
|
465
553
|
search: pluginsQueryParams
|
466
554
|
};
|
467
555
|
};
|
@@ -477,7 +565,7 @@ const VersionHeader = ({ headerId }) => {
|
|
477
565
|
body: { contentType: version.contentType }
|
478
566
|
});
|
479
567
|
if ("data" in response) {
|
480
|
-
navigate(getNextNavigation());
|
568
|
+
navigate(getNextNavigation(), { relative: "path" });
|
481
569
|
toggleNotification({
|
482
570
|
type: "success",
|
483
571
|
title: formatMessage({
|
@@ -506,7 +594,7 @@ const VersionHeader = ({ headerId }) => {
|
|
506
594
|
});
|
507
595
|
}
|
508
596
|
};
|
509
|
-
return /* @__PURE__ */ jsxs(
|
597
|
+
return /* @__PURE__ */ jsxs(Dialog.Root, { open: isConfirmDialogOpen, onOpenChange: setIsConfirmDialogOpen, children: [
|
510
598
|
/* @__PURE__ */ jsx(
|
511
599
|
Layouts.BaseHeader,
|
512
600
|
{
|
@@ -518,7 +606,7 @@ const VersionHeader = ({ headerId }) => {
|
|
518
606
|
hour: "numeric",
|
519
607
|
minute: "numeric"
|
520
608
|
}),
|
521
|
-
subtitle: /* @__PURE__ */ jsx(Typography, { variant: "epsilon", children: formatMessage(
|
609
|
+
subtitle: /* @__PURE__ */ jsx(Typography, { variant: "epsilon", textColor: "neutral600", children: formatMessage(
|
522
610
|
{
|
523
611
|
id: "content-manager.history.version.subtitle",
|
524
612
|
defaultMessage: "{hasLocale, select, true {{subtitle}, in {locale}} other {{subtitle}}}"
|
@@ -529,12 +617,22 @@ const VersionHeader = ({ headerId }) => {
|
|
529
617
|
locale: version.locale?.name
|
530
618
|
}
|
531
619
|
) }),
|
532
|
-
navigationAction: /* @__PURE__ */ jsx(
|
533
|
-
|
534
|
-
|
535
|
-
|
620
|
+
navigationAction: /* @__PURE__ */ jsx(
|
621
|
+
Link,
|
622
|
+
{
|
623
|
+
startIcon: /* @__PURE__ */ jsx(ArrowLeft, {}),
|
624
|
+
tag: NavLink,
|
625
|
+
to: getNextNavigation(),
|
626
|
+
relative: "path",
|
627
|
+
isExternal: false,
|
628
|
+
children: formatMessage({
|
629
|
+
id: "global.back",
|
630
|
+
defaultMessage: "Back"
|
631
|
+
})
|
632
|
+
}
|
633
|
+
),
|
536
634
|
sticky: false,
|
537
|
-
primaryAction: /* @__PURE__ */ jsx(
|
635
|
+
primaryAction: /* @__PURE__ */ jsx(Dialog.Trigger, { children: /* @__PURE__ */ jsx(
|
538
636
|
Button,
|
539
637
|
{
|
540
638
|
disabled: !allowedActions.canUpdate || isCurrentVersion,
|
@@ -546,16 +644,13 @@ const VersionHeader = ({ headerId }) => {
|
|
546
644
|
defaultMessage: "Restore"
|
547
645
|
})
|
548
646
|
}
|
549
|
-
)
|
647
|
+
) })
|
550
648
|
}
|
551
649
|
),
|
552
650
|
/* @__PURE__ */ jsx(
|
553
651
|
ConfirmDialog,
|
554
652
|
{
|
555
|
-
isOpen: isConfirmDialogOpen,
|
556
|
-
onClose: () => setIsConfirmDialogOpen(false),
|
557
653
|
onConfirm: handleRestore,
|
558
|
-
icon: /* @__PURE__ */ jsx(WarningCircle, {}),
|
559
654
|
endAction: /* @__PURE__ */ jsx(Button, { variant: "secondary", onClick: handleRestore, loading: isLoading, children: formatMessage({
|
560
655
|
id: "content-manager.history.restore.confirm.button",
|
561
656
|
defaultMessage: "Restore"
|
@@ -569,6 +664,7 @@ const VersionHeader = ({ headerId }) => {
|
|
569
664
|
gap: 2,
|
570
665
|
textAlign: "center",
|
571
666
|
children: [
|
667
|
+
/* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(WarningCircle, { width: "24px", height: "24px", fill: "danger600" }) }),
|
572
668
|
/* @__PURE__ */ jsx(Typography, { children: formatMessage({
|
573
669
|
id: "content-manager.history.restore.confirm.title",
|
574
670
|
defaultMessage: "Are you sure you want to restore this version?"
|
@@ -589,46 +685,10 @@ const VersionHeader = ({ headerId }) => {
|
|
589
685
|
)
|
590
686
|
] });
|
591
687
|
};
|
592
|
-
const BlueText = (children) => /* @__PURE__ */ jsx(Typography, { textColor: "primary600", children });
|
688
|
+
const BlueText = (children) => /* @__PURE__ */ jsx(Typography, { textColor: "primary600", variant: "pi", children });
|
593
689
|
const VersionCard = ({ version, isCurrent }) => {
|
594
690
|
const { formatDate, formatMessage } = useIntl();
|
595
691
|
const [{ query }] = useQueryParams();
|
596
|
-
const statusData = (() => {
|
597
|
-
switch (version.status) {
|
598
|
-
case "draft":
|
599
|
-
return {
|
600
|
-
background: "secondary100",
|
601
|
-
border: "secondary200",
|
602
|
-
text: "secondary700",
|
603
|
-
message: {
|
604
|
-
id: "content-manager.containers.List.draft",
|
605
|
-
defaultMessage: "Draft"
|
606
|
-
}
|
607
|
-
};
|
608
|
-
case "modified":
|
609
|
-
return {
|
610
|
-
background: "alternative100",
|
611
|
-
border: "alternative200",
|
612
|
-
text: "alternative700",
|
613
|
-
message: {
|
614
|
-
// TODO: check the translation key once D&P v5 is done
|
615
|
-
id: "content-manager.containers.List.modified",
|
616
|
-
defaultMessage: "Modified"
|
617
|
-
}
|
618
|
-
};
|
619
|
-
case "published":
|
620
|
-
default:
|
621
|
-
return {
|
622
|
-
background: "success100",
|
623
|
-
border: "success200",
|
624
|
-
text: "success700",
|
625
|
-
message: {
|
626
|
-
id: "content-manager.containers.List.published",
|
627
|
-
defaultMessage: "Published"
|
628
|
-
}
|
629
|
-
};
|
630
|
-
}
|
631
|
-
})();
|
632
692
|
const isActive = query.id === version.id.toString();
|
633
693
|
const author = version.createdBy && getDisplayName(version.createdBy);
|
634
694
|
return /* @__PURE__ */ jsxs(
|
@@ -642,10 +702,7 @@ const VersionCard = ({ version, isCurrent }) => {
|
|
642
702
|
borderStyle: "solid",
|
643
703
|
borderColor: isActive ? "primary600" : "neutral200",
|
644
704
|
color: "neutral800",
|
645
|
-
|
646
|
-
paddingBottom: 4,
|
647
|
-
paddingLeft: 5,
|
648
|
-
paddingRight: 5,
|
705
|
+
padding: 5,
|
649
706
|
tag: Link$1,
|
650
707
|
to: `?${stringify({ ...query, id: version.id })}`,
|
651
708
|
style: { textDecoration: "none" },
|
@@ -672,21 +729,7 @@ const VersionCard = ({ version, isCurrent }) => {
|
|
672
729
|
}
|
673
730
|
) })
|
674
731
|
] }),
|
675
|
-
version.status && /* @__PURE__ */ jsx(
|
676
|
-
Box,
|
677
|
-
{
|
678
|
-
background: statusData.background,
|
679
|
-
borderStyle: "solid",
|
680
|
-
borderWidth: "1px",
|
681
|
-
borderColor: statusData.border,
|
682
|
-
hasRadius: true,
|
683
|
-
paddingLeft: "6px",
|
684
|
-
paddingRight: "6px",
|
685
|
-
paddingTop: "2px",
|
686
|
-
paddingBottom: "2px",
|
687
|
-
children: /* @__PURE__ */ jsx(Typography, { variant: "pi", fontWeight: "bold", textColor: statusData.text, children: formatMessage(statusData.message) })
|
688
|
-
}
|
689
|
-
)
|
732
|
+
version.status && /* @__PURE__ */ jsx(DocumentStatus, { status: version.status, size: "XS" })
|
690
733
|
]
|
691
734
|
}
|
692
735
|
);
|
@@ -740,31 +783,18 @@ const VersionsList = () => {
|
|
740
783
|
id: "content-manager.history.sidebar.show-newer",
|
741
784
|
defaultMessage: "Show newer versions"
|
742
785
|
}) }) }),
|
743
|
-
/* @__PURE__ */ jsx(
|
744
|
-
|
786
|
+
/* @__PURE__ */ jsx(Flex, { direction: "column", gap: 3, padding: 4, tag: "ul", alignItems: "stretch", children: versions.data.map((version, index) => /* @__PURE__ */ jsx(
|
787
|
+
"li",
|
745
788
|
{
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
"li",
|
756
|
-
{
|
757
|
-
"aria-label": formatMessage({
|
758
|
-
id: "content-manager.history.sidebar.title.version-card.aria-label",
|
759
|
-
defaultMessage: "Version card"
|
760
|
-
}),
|
761
|
-
children: /* @__PURE__ */ jsx(VersionCard, { version, isCurrent: page === 1 && index === 0 })
|
762
|
-
},
|
763
|
-
version.id
|
764
|
-
))
|
765
|
-
}
|
766
|
-
),
|
767
|
-
versions.meta.pagination.page < versions.meta.pagination.pageCount && /* @__PURE__ */ jsx(Box, { paddingBottom: 5, textAlign: "center", children: /* @__PURE__ */ jsx(PaginationButton, { page: page + 1, children: formatMessage({
|
789
|
+
"aria-label": formatMessage({
|
790
|
+
id: "content-manager.history.sidebar.title.version-card.aria-label",
|
791
|
+
defaultMessage: "Version card"
|
792
|
+
}),
|
793
|
+
children: /* @__PURE__ */ jsx(VersionCard, { version, isCurrent: page === 1 && index === 0 })
|
794
|
+
},
|
795
|
+
version.id
|
796
|
+
)) }),
|
797
|
+
versions.meta.pagination.page < versions.meta.pagination.pageCount && /* @__PURE__ */ jsx(Box, { paddingBottom: 4, textAlign: "center", children: /* @__PURE__ */ jsx(PaginationButton, { page: page + 1, children: formatMessage({
|
768
798
|
id: "content-manager.history.sidebar.show-older",
|
769
799
|
defaultMessage: "Show older versions"
|
770
800
|
}) }) })
|
@@ -816,7 +846,22 @@ const HistoryPage = () => {
|
|
816
846
|
return /* @__PURE__ */ jsx(Page.Loading, {});
|
817
847
|
}
|
818
848
|
if (!versionsResponse.isError && !versionsResponse.data?.data?.length) {
|
819
|
-
return /* @__PURE__ */ jsx(
|
849
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
|
850
|
+
Page.NoData,
|
851
|
+
{
|
852
|
+
action: /* @__PURE__ */ jsx(
|
853
|
+
Link,
|
854
|
+
{
|
855
|
+
tag: NavLink,
|
856
|
+
to: `/content-manager/${collectionType}/${slug}${documentId ? `/${documentId}` : ""}`,
|
857
|
+
children: formatMessage({
|
858
|
+
id: "global.back",
|
859
|
+
defaultMessage: "Back"
|
860
|
+
})
|
861
|
+
}
|
862
|
+
)
|
863
|
+
}
|
864
|
+
) });
|
820
865
|
}
|
821
866
|
if (versionsResponse.data?.data?.length && !selectedVersionId) {
|
822
867
|
return /* @__PURE__ */ jsx(
|
@@ -925,4 +970,4 @@ export {
|
|
925
970
|
ProtectedHistoryPage,
|
926
971
|
useHistoryContext
|
927
972
|
};
|
928
|
-
//# sourceMappingURL=History-
|
973
|
+
//# sourceMappingURL=History-CGblSVMc.mjs.map
|