@strapi/content-manager 0.0.0-next.e3eb36dde0d936dc941df54e440e2c50a0582eeb → 0.0.0-next.e50ef5e2ea57ecf3da5bcf308508b51ee3c0deca
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/admin/components/ConfigurationForm/Fields.js +300 -204
- package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
- package/dist/admin/components/ConfigurationForm/Fields.mjs +304 -209
- package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
- package/dist/admin/components/LeftMenu.js +34 -30
- package/dist/admin/components/LeftMenu.js.map +1 -1
- package/dist/admin/components/LeftMenu.mjs +36 -32
- package/dist/admin/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/history/components/VersionContent.js +24 -3
- package/dist/admin/history/components/VersionContent.js.map +1 -1
- package/dist/admin/history/components/VersionContent.mjs +25 -4
- package/dist/admin/history/components/VersionContent.mjs.map +1 -1
- package/dist/admin/history/components/VersionHeader.js +6 -0
- package/dist/admin/history/components/VersionHeader.js.map +1 -1
- package/dist/admin/history/components/VersionHeader.mjs +7 -1
- package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentActions.js +7 -3
- package/dist/admin/hooks/useDocumentActions.js.map +1 -1
- package/dist/admin/hooks/useDocumentActions.mjs +7 -3
- package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
- package/dist/admin/index.js +2 -0
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +1 -0
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.js +94 -75
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.mjs +95 -76
- package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.js +83 -70
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +85 -72
- package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +12 -15
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +12 -15
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +54 -14
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +55 -15
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +21 -35
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +21 -35
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +12 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +13 -2
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +13 -2
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +14 -3
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +18 -5
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +20 -7
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +1 -0
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +155 -106
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +158 -109
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.js +4 -2
- package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +4 -2
- package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +86 -118
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +86 -118
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.js +46 -26
- package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.mjs +46 -26
- package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/utils/data.js +103 -0
- package/dist/admin/pages/EditView/utils/data.js.map +1 -1
- package/dist/admin/pages/EditView/utils/data.mjs +103 -1
- package/dist/admin/pages/EditView/utils/data.mjs.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.js +86 -0
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs +88 -2
- package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +2 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -1
- package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.js +1 -0
- package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.mjs +1 -0
- package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.js +13 -3
- package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
- package/dist/admin/pages/ListView/components/TableActions.mjs +13 -3
- package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
- package/dist/admin/services/api.js +2 -1
- package/dist/admin/services/api.js.map +1 -1
- package/dist/admin/services/api.mjs +2 -1
- package/dist/admin/services/api.mjs.map +1 -1
- package/dist/admin/services/documents.js +4 -4
- package/dist/admin/services/documents.js.map +1 -1
- package/dist/admin/services/documents.mjs +4 -4
- package/dist/admin/services/documents.mjs.map +1 -1
- package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +6 -4
- package/dist/admin/src/exports.d.ts +1 -0
- package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
- package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +7 -7
- package/dist/admin/src/pages/EditView/utils/data.d.ts +19 -1
- package/dist/admin/src/preview/services/preview.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 +23 -17
- package/dist/admin/src/services/homepage.d.ts +1 -1
- 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 +1 -0
- package/dist/admin/translations/en.json.js +1 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +1 -0
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/fr.json.js +6 -1
- package/dist/admin/translations/fr.json.js.map +1 -1
- package/dist/admin/translations/fr.json.mjs +6 -1
- package/dist/admin/translations/fr.json.mjs.map +1 -1
- package/dist/admin/utils/validation.js +17 -6
- package/dist/admin/utils/validation.js.map +1 -1
- package/dist/admin/utils/validation.mjs +17 -6
- package/dist/admin/utils/validation.mjs.map +1 -1
- package/dist/server/controllers/content-types.js +11 -1
- package/dist/server/controllers/content-types.js.map +1 -1
- package/dist/server/controllers/content-types.mjs +11 -1
- package/dist/server/controllers/content-types.mjs.map +1 -1
- package/dist/server/controllers/relations.js +2 -2
- package/dist/server/controllers/relations.js.map +1 -1
- package/dist/server/controllers/relations.mjs +2 -2
- package/dist/server/controllers/relations.mjs.map +1 -1
- package/dist/server/controllers/validation/index.js +14 -2
- package/dist/server/controllers/validation/index.js.map +1 -1
- package/dist/server/controllers/validation/index.mjs +14 -2
- package/dist/server/controllers/validation/index.mjs.map +1 -1
- package/dist/server/history/services/lifecycles.js +3 -0
- package/dist/server/history/services/lifecycles.js.map +1 -1
- package/dist/server/history/services/lifecycles.mjs +3 -0
- package/dist/server/history/services/lifecycles.mjs.map +1 -1
- package/dist/server/homepage/services/homepage.js +58 -49
- package/dist/server/homepage/services/homepage.js.map +1 -1
- package/dist/server/homepage/services/homepage.mjs +58 -49
- package/dist/server/homepage/services/homepage.mjs.map +1 -1
- package/dist/server/services/data-mapper.js +4 -1
- package/dist/server/services/data-mapper.js.map +1 -1
- package/dist/server/services/data-mapper.mjs +4 -1
- package/dist/server/services/data-mapper.mjs.map +1 -1
- package/dist/server/services/document-manager.js +8 -1
- package/dist/server/services/document-manager.js.map +1 -1
- package/dist/server/services/document-manager.mjs +8 -1
- package/dist/server/services/document-manager.mjs.map +1 -1
- package/dist/server/services/document-metadata.js +3 -1
- package/dist/server/services/document-metadata.js.map +1 -1
- package/dist/server/services/document-metadata.mjs +3 -1
- package/dist/server/services/document-metadata.mjs.map +1 -1
- package/dist/server/services/utils/configuration/attributes.js +1 -1
- package/dist/server/services/utils/configuration/attributes.js.map +1 -1
- package/dist/server/services/utils/configuration/attributes.mjs +1 -1
- package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
- package/dist/server/services/utils/configuration/layouts.js +1 -1
- package/dist/server/services/utils/configuration/layouts.js.map +1 -1
- package/dist/server/services/utils/configuration/layouts.mjs +1 -1
- package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
- package/dist/server/services/utils/configuration/metadatas.js +8 -0
- package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
- package/dist/server/services/utils/configuration/metadatas.mjs +8 -0
- package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
- package/dist/server/services/utils/populate.js +11 -0
- package/dist/server/services/utils/populate.js.map +1 -1
- package/dist/server/services/utils/populate.mjs +11 -0
- package/dist/server/services/utils/populate.mjs.map +1 -1
- package/dist/server/src/controllers/content-types.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/index.d.ts +6 -1
- package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
- package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
- package/dist/server/src/homepage/index.d.ts +2 -0
- package/dist/server/src/homepage/index.d.ts.map +1 -1
- package/dist/server/src/homepage/services/homepage.d.ts +3 -1
- package/dist/server/src/homepage/services/homepage.d.ts.map +1 -1
- package/dist/server/src/homepage/services/index.d.ts +2 -0
- package/dist/server/src/homepage/services/index.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +3 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/services/data-mapper.d.ts +1 -0
- package/dist/server/src/services/data-mapper.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.map +1 -1
- package/dist/server/src/services/index.d.ts +3 -0
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -1
- package/dist/server/src/services/utils/populate.d.ts.map +1 -1
- package/dist/shared/contracts/collection-types.d.ts +0 -1
- package/dist/shared/contracts/collection-types.d.ts.map +1 -1
- package/package.json +11 -8
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { useNotification, useAPIErrorHandler, useQueryParams, useForm } from '@strapi/admin/strapi-admin';
|
|
4
|
-
import {
|
|
3
|
+
import { unstable_tours, useNotification, useAPIErrorHandler, useQueryParams, useForm } from '@strapi/admin/strapi-admin';
|
|
4
|
+
import { Flex, Button, Menu, VisuallyHidden, Dialog, Modal, Typography, Radio } from '@strapi/design-system';
|
|
5
5
|
import { More, Cross, WarningCircle } from '@strapi/icons';
|
|
6
6
|
import mapValues from 'lodash/fp/mapValues';
|
|
7
7
|
import get from 'lodash/get';
|
|
@@ -9,7 +9,6 @@ import merge from 'lodash/merge';
|
|
|
9
9
|
import set from 'lodash/set';
|
|
10
10
|
import { useIntl } from 'react-intl';
|
|
11
11
|
import { useNavigate, useMatch, useParams } from 'react-router-dom';
|
|
12
|
-
import { styled } from 'styled-components';
|
|
13
12
|
import { PUBLISHED_AT_ATTRIBUTE_NAME } from '../../../constants/attributes.mjs';
|
|
14
13
|
import { SINGLE_TYPES } from '../../../constants/collections.mjs';
|
|
15
14
|
import { useDocumentRBAC } from '../../../features/DocumentRBAC.mjs';
|
|
@@ -21,6 +20,7 @@ import { LIST_PATH, CLONE_PATH } from '../../../router.mjs';
|
|
|
21
20
|
import { useGetDraftRelationCountQuery as useLazyGetDraftRelationCountQuery, useUpdateDocumentMutation } from '../../../services/documents.mjs';
|
|
22
21
|
import { isBaseQueryError, buildValidParams } from '../../../utils/api.mjs';
|
|
23
22
|
import { getTranslation } from '../../../utils/translations.mjs';
|
|
23
|
+
import { handleInvisibleAttributes } from '../utils/data.mjs';
|
|
24
24
|
import { useRelationModal } from './FormInputs/Relations/RelationModal.mjs';
|
|
25
25
|
|
|
26
26
|
const connectRelationToParent = (parentDataToUpdate, fieldToConnect, data, fieldToConnectUID)=>{
|
|
@@ -75,23 +75,33 @@ const DocumentActions = ({ actions })=>{
|
|
|
75
75
|
alignItems: "stretch",
|
|
76
76
|
width: "100%",
|
|
77
77
|
children: [
|
|
78
|
-
/*#__PURE__*/
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
78
|
+
/*#__PURE__*/ jsx(unstable_tours.contentManager.Publish, {
|
|
79
|
+
children: /*#__PURE__*/ jsxs(Flex, {
|
|
80
|
+
gap: 2,
|
|
81
|
+
children: [
|
|
82
|
+
primaryAction.label === 'Publish' ? /*#__PURE__*/ jsx(DocumentActionButton, {
|
|
83
|
+
...primaryAction,
|
|
84
|
+
variant: primaryAction.variant || 'default'
|
|
85
|
+
}) : /*#__PURE__*/ jsx(DocumentActionButton, {
|
|
86
|
+
...primaryAction,
|
|
87
|
+
variant: primaryAction.variant || 'default'
|
|
88
|
+
}),
|
|
89
|
+
restActions.length > 0 ? /*#__PURE__*/ jsx(DocumentActionsMenu, {
|
|
90
|
+
actions: restActions,
|
|
91
|
+
label: formatMessage({
|
|
92
|
+
id: 'content-manager.containers.edit.panels.default.more-actions',
|
|
93
|
+
defaultMessage: 'More document actions'
|
|
94
|
+
})
|
|
95
|
+
}) : null
|
|
96
|
+
]
|
|
97
|
+
})
|
|
93
98
|
}),
|
|
94
|
-
secondaryAction ? /*#__PURE__*/ jsx(
|
|
99
|
+
secondaryAction ? secondaryAction.label === 'Publish' ? /*#__PURE__*/ jsx(unstable_tours.contentManager.Publish, {
|
|
100
|
+
children: /*#__PURE__*/ jsx(DocumentActionButton, {
|
|
101
|
+
...secondaryAction,
|
|
102
|
+
variant: secondaryAction.variant || 'secondary'
|
|
103
|
+
})
|
|
104
|
+
}) : /*#__PURE__*/ jsx(DocumentActionButton, {
|
|
95
105
|
...secondaryAction,
|
|
96
106
|
variant: secondaryAction.variant || 'secondary'
|
|
97
107
|
}) : null
|
|
@@ -153,11 +163,6 @@ const DocumentActionButton = (action)=>{
|
|
|
153
163
|
]
|
|
154
164
|
});
|
|
155
165
|
};
|
|
156
|
-
const MenuItem = styled(Menu.Item)`
|
|
157
|
-
&:hover {
|
|
158
|
-
background: ${({ theme, isVariantDanger, isDisabled })=>isVariantDanger && !isDisabled ? theme.colors.danger100 : 'neutral'};
|
|
159
|
-
}
|
|
160
|
-
`;
|
|
161
166
|
const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })=>{
|
|
162
167
|
const [isOpen, setIsOpen] = React.useState(false);
|
|
163
168
|
const [dialogId, setDialogId] = React.useState(null);
|
|
@@ -219,27 +224,19 @@ const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })
|
|
|
219
224
|
popoverPlacement: "bottom-end",
|
|
220
225
|
children: [
|
|
221
226
|
actions.map((action)=>{
|
|
222
|
-
return /*#__PURE__*/ jsx(
|
|
227
|
+
return /*#__PURE__*/ jsx(Menu.Item, {
|
|
223
228
|
disabled: action.disabled,
|
|
224
229
|
/* @ts-expect-error – TODO: this is an error in the DS where it is most likely a synthetic event, not regular. */ onSelect: handleClick(action),
|
|
225
230
|
display: "block",
|
|
226
|
-
|
|
227
|
-
|
|
231
|
+
variant: action.variant === 'danger' ? action.variant : 'default',
|
|
232
|
+
startIcon: action.icon,
|
|
228
233
|
children: /*#__PURE__*/ jsx(Flex, {
|
|
229
234
|
justifyContent: "space-between",
|
|
230
235
|
gap: 4,
|
|
231
|
-
children: /*#__PURE__*/
|
|
232
|
-
color: !action.disabled ? convertActionVariantToColor(action.variant) : 'inherit',
|
|
236
|
+
children: /*#__PURE__*/ jsx(Flex, {
|
|
233
237
|
gap: 2,
|
|
234
238
|
tag: "span",
|
|
235
|
-
children:
|
|
236
|
-
/*#__PURE__*/ jsx(Flex, {
|
|
237
|
-
tag: "span",
|
|
238
|
-
color: !action.disabled ? convertActionVariantToIconColor(action.variant) : 'inherit',
|
|
239
|
-
children: action.icon
|
|
240
|
-
}),
|
|
241
|
-
action.label
|
|
242
|
-
]
|
|
239
|
+
children: action.label
|
|
243
240
|
})
|
|
244
241
|
})
|
|
245
242
|
}, action.id);
|
|
@@ -267,30 +264,6 @@ const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })
|
|
|
267
264
|
]
|
|
268
265
|
});
|
|
269
266
|
};
|
|
270
|
-
const convertActionVariantToColor = (variant = 'secondary')=>{
|
|
271
|
-
switch(variant){
|
|
272
|
-
case 'danger':
|
|
273
|
-
return 'danger600';
|
|
274
|
-
case 'secondary':
|
|
275
|
-
return undefined;
|
|
276
|
-
case 'success':
|
|
277
|
-
return 'success600';
|
|
278
|
-
default:
|
|
279
|
-
return 'primary600';
|
|
280
|
-
}
|
|
281
|
-
};
|
|
282
|
-
const convertActionVariantToIconColor = (variant = 'secondary')=>{
|
|
283
|
-
switch(variant){
|
|
284
|
-
case 'danger':
|
|
285
|
-
return 'danger600';
|
|
286
|
-
case 'secondary':
|
|
287
|
-
return 'neutral500';
|
|
288
|
-
case 'success':
|
|
289
|
-
return 'success600';
|
|
290
|
-
default:
|
|
291
|
-
return 'primary600';
|
|
292
|
-
}
|
|
293
|
-
};
|
|
294
267
|
const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary', loading })=>{
|
|
295
268
|
const { formatMessage } = useIntl();
|
|
296
269
|
const handleClose = async ()=>{
|
|
@@ -396,7 +369,10 @@ const transformData = (data)=>{
|
|
|
396
369
|
const isCloning = useMatch(CLONE_PATH) !== null;
|
|
397
370
|
const { id } = useParams();
|
|
398
371
|
const { formatMessage } = useIntl();
|
|
399
|
-
const canPublish = useDocumentRBAC('PublishAction', ({ canPublish })=>
|
|
372
|
+
const { canPublish, canReadFields } = useDocumentRBAC('PublishAction', ({ canPublish, canReadFields })=>({
|
|
373
|
+
canPublish,
|
|
374
|
+
canReadFields
|
|
375
|
+
}));
|
|
400
376
|
const { publish, isLoading } = useDocumentActions();
|
|
401
377
|
const onPreview = usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
|
|
402
378
|
const [countDraftRelations, { isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }] = useLazyGetDraftRelationCountQuery();
|
|
@@ -410,6 +386,7 @@ const transformData = (data)=>{
|
|
|
410
386
|
const setErrors = useForm('PublishAction', (state)=>state.setErrors);
|
|
411
387
|
const formValues = useForm('PublishAction', ({ values })=>values);
|
|
412
388
|
const resetForm = useForm('PublishAction', ({ resetForm })=>resetForm);
|
|
389
|
+
const { currentDocument: { components } } = useDocumentContext('PublishAction');
|
|
413
390
|
// need to discriminate if the publish is coming from a relation modal or in the edit view
|
|
414
391
|
const relationContext = useRelationModal('PublishAction', ()=>true, false);
|
|
415
392
|
const fromRelationModal = relationContext != undefined;
|
|
@@ -525,21 +502,39 @@ const transformData = (data)=>{
|
|
|
525
502
|
status: 'published'
|
|
526
503
|
});
|
|
527
504
|
if (errors) {
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
id: 'content-manager.validation.error',
|
|
532
|
-
defaultMessage: 'There are validation errors in your document. Please fix them before saving.'
|
|
533
|
-
})
|
|
505
|
+
const hasUnreadableRequiredField = Object.keys(schema.attributes).some((fieldName)=>{
|
|
506
|
+
const attribute = schema.attributes[fieldName];
|
|
507
|
+
return attribute?.required && !(canReadFields ?? []).includes(fieldName);
|
|
534
508
|
});
|
|
509
|
+
if (hasUnreadableRequiredField) {
|
|
510
|
+
toggleNotification({
|
|
511
|
+
type: 'danger',
|
|
512
|
+
message: formatMessage({
|
|
513
|
+
id: 'content-manager.validation.error.unreadable-required-field',
|
|
514
|
+
defaultMessage: 'Your current permissions prevent access to certain required fields. Please request access from an administrator to proceed.'
|
|
515
|
+
})
|
|
516
|
+
});
|
|
517
|
+
} else {
|
|
518
|
+
toggleNotification({
|
|
519
|
+
type: 'danger',
|
|
520
|
+
message: formatMessage({
|
|
521
|
+
id: 'content-manager.validation.error',
|
|
522
|
+
defaultMessage: 'There are validation errors in your document. Please fix them before saving.'
|
|
523
|
+
})
|
|
524
|
+
});
|
|
525
|
+
}
|
|
535
526
|
return;
|
|
536
527
|
}
|
|
528
|
+
const { data } = handleInvisibleAttributes(transformData(formValues), {
|
|
529
|
+
schema,
|
|
530
|
+
components
|
|
531
|
+
});
|
|
537
532
|
const res = await publish({
|
|
538
533
|
collectionType,
|
|
539
534
|
model,
|
|
540
535
|
documentId,
|
|
541
536
|
params: currentDocumentMeta.params
|
|
542
|
-
},
|
|
537
|
+
}, data);
|
|
543
538
|
// Reset form if successful
|
|
544
539
|
if ('data' in res) {
|
|
545
540
|
resetForm();
|
|
@@ -673,12 +668,14 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
673
668
|
const isCloning = cloneMatch !== null;
|
|
674
669
|
const { formatMessage } = useIntl();
|
|
675
670
|
const { create, update, clone, isLoading } = useDocumentActions();
|
|
671
|
+
const { currentDocument: { components } } = useDocumentContext('UpdateAction');
|
|
676
672
|
const [{ rawQuery }] = useQueryParams();
|
|
677
673
|
const onPreview = usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
|
|
678
674
|
const { getInitialFormValues } = useDoc();
|
|
679
675
|
const isSubmitting = useForm('UpdateAction', ({ isSubmitting })=>isSubmitting);
|
|
680
676
|
const modified = useForm('UpdateAction', ({ modified })=>modified);
|
|
681
677
|
const setSubmitting = useForm('UpdateAction', ({ setSubmitting })=>setSubmitting);
|
|
678
|
+
const initialValues = useForm('UpdateAction', ({ initialValues })=>initialValues);
|
|
682
679
|
const document = useForm('UpdateAction', ({ values })=>values);
|
|
683
680
|
const validate = useForm('UpdateAction', (state)=>state.validate);
|
|
684
681
|
const setErrors = useForm('UpdateAction', (state)=>state.setErrors);
|
|
@@ -686,6 +683,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
686
683
|
const dispatch = useRelationModal('UpdateAction', (state)=>state.dispatch);
|
|
687
684
|
// need to discriminate if the update is coming from a relation modal or in the edit view
|
|
688
685
|
const relationContext = useRelationModal('UpdateAction', ()=>true, false);
|
|
686
|
+
const relationalModalSchema = useRelationModal('UpdateAction', (state)=>state.currentDocument.schema, false);
|
|
689
687
|
const fieldToConnect = useRelationModal('UpdateAction', (state)=>state.state.fieldToConnect, false);
|
|
690
688
|
const fieldToConnectUID = useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
|
|
691
689
|
const documentHistory = useRelationModal('UpdateAction', (state)=>state.state.documentHistory, false);
|
|
@@ -703,6 +701,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
703
701
|
}, {
|
|
704
702
|
skip: !parentDocumentMetaToUpdate
|
|
705
703
|
});
|
|
704
|
+
const { schema } = useDoc();
|
|
706
705
|
const handleUpdate = React.useCallback(async ()=>{
|
|
707
706
|
setSubmitting(true);
|
|
708
707
|
try {
|
|
@@ -739,22 +738,32 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
739
738
|
setErrors(formatValidationErrors(res.error));
|
|
740
739
|
}
|
|
741
740
|
} else if (documentId || collectionType === SINGLE_TYPES) {
|
|
741
|
+
const { data } = handleInvisibleAttributes(transformData(document), {
|
|
742
|
+
schema: fromRelationModal ? relationalModalSchema : schema,
|
|
743
|
+
initialValues,
|
|
744
|
+
components
|
|
745
|
+
});
|
|
742
746
|
const res = await update({
|
|
743
747
|
collectionType,
|
|
744
748
|
model,
|
|
745
749
|
documentId,
|
|
746
750
|
params: currentDocumentMeta.params
|
|
747
|
-
},
|
|
751
|
+
}, data);
|
|
748
752
|
if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
|
|
749
753
|
setErrors(formatValidationErrors(res.error));
|
|
750
754
|
} else {
|
|
751
755
|
resetForm();
|
|
752
756
|
}
|
|
753
757
|
} else {
|
|
758
|
+
const { data } = handleInvisibleAttributes(transformData(document), {
|
|
759
|
+
schema: fromRelationModal ? relationalModalSchema : schema,
|
|
760
|
+
initialValues,
|
|
761
|
+
components
|
|
762
|
+
});
|
|
754
763
|
const res = await create({
|
|
755
764
|
model,
|
|
756
765
|
params: currentDocumentMeta.params
|
|
757
|
-
},
|
|
766
|
+
}, data);
|
|
758
767
|
if ('data' in res && collectionType !== SINGLE_TYPES) {
|
|
759
768
|
if (fromRelationModal) {
|
|
760
769
|
const createdRelation = {
|
|
@@ -855,7 +864,11 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
855
864
|
fieldToConnectUID,
|
|
856
865
|
updateDocumentMutation,
|
|
857
866
|
formatAPIError,
|
|
858
|
-
onPreview
|
|
867
|
+
onPreview,
|
|
868
|
+
initialValues,
|
|
869
|
+
schema,
|
|
870
|
+
components,
|
|
871
|
+
relationalModalSchema
|
|
859
872
|
]);
|
|
860
873
|
// Auto-save on CMD+S or CMD+Enter on macOS, and CTRL+S or CTRL+Enter on Windows/Linux
|
|
861
874
|
React.useEffect(()=>{
|