@strapi/content-manager 0.0.0-next.daa3d4c4db6322f58233f0ccb757d80dbd1b48e9 → 0.0.0-next.df0d99415fc543d9747f3946fd7d1a4c39052b95
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/components/Widgets.js +253 -0
- package/dist/admin/components/Widgets.js.map +1 -1
- package/dist/admin/components/Widgets.mjs +236 -3
- package/dist/admin/components/Widgets.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 -6
- package/dist/admin/hooks/useDocumentActions.js.map +1 -1
- package/dist/admin/hooks/useDocumentActions.mjs +8 -7
- package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
- package/dist/admin/index.js +47 -8
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +47 -9
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/layout.js +1 -27
- package/dist/admin/layout.js.map +1 -1
- package/dist/admin/layout.mjs +2 -9
- package/dist/admin/layout.mjs.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.js +99 -75
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.mjs +101 -77
- 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 +158 -106
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +161 -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 +47 -27
- package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.mjs +47 -27
- 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 +227 -132
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs +229 -134
- 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 +4 -1
- package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.mjs +4 -1
- 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/preview/components/PreviewSidePanel.js +31 -4
- package/dist/admin/preview/components/PreviewSidePanel.js.map +1 -1
- package/dist/admin/preview/components/PreviewSidePanel.mjs +32 -5
- package/dist/admin/preview/components/PreviewSidePanel.mjs.map +1 -1
- package/dist/admin/preview/pages/Preview.js +101 -35
- package/dist/admin/preview/pages/Preview.js.map +1 -1
- package/dist/admin/preview/pages/Preview.mjs +102 -36
- package/dist/admin/preview/pages/Preview.mjs.map +1 -1
- package/dist/admin/services/api.js +3 -1
- package/dist/admin/services/api.js.map +1 -1
- package/dist/admin/services/api.mjs +3 -1
- package/dist/admin/services/api.mjs.map +1 -1
- package/dist/admin/services/documents.js +32 -16
- package/dist/admin/services/documents.js.map +1 -1
- package/dist/admin/services/documents.mjs +32 -16
- package/dist/admin/services/documents.mjs.map +1 -1
- package/dist/admin/services/homepage.js +11 -2
- package/dist/admin/services/homepage.js.map +1 -1
- package/dist/admin/services/homepage.mjs +11 -3
- package/dist/admin/services/homepage.mjs.map +1 -1
- package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +6 -4
- package/dist/admin/src/components/Widgets.d.ts +2 -1
- 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 -8
- 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 +6 -2
- 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 +7 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +7 -0
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/es.json.js +5 -2
- package/dist/admin/translations/es.json.js.map +1 -1
- package/dist/admin/translations/es.json.mjs +5 -2
- package/dist/admin/translations/es.json.mjs.map +1 -1
- package/dist/admin/translations/fr.json.js +10 -2
- package/dist/admin/translations/fr.json.js.map +1 -1
- package/dist/admin/translations/fr.json.mjs +10 -2
- package/dist/admin/translations/fr.json.mjs.map +1 -1
- package/dist/admin/utils/validation.js +19 -7
- package/dist/admin/utils/validation.js.map +1 -1
- package/dist/admin/utils/validation.mjs +19 -7
- 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 +23 -19
- package/dist/server/history/services/lifecycles.js.map +1 -1
- package/dist/server/history/services/lifecycles.mjs +23 -19
- package/dist/server/history/services/lifecycles.mjs.map +1 -1
- package/dist/server/homepage/controllers/homepage.js +5 -0
- package/dist/server/homepage/controllers/homepage.js.map +1 -1
- package/dist/server/homepage/controllers/homepage.mjs +5 -0
- package/dist/server/homepage/controllers/homepage.mjs.map +1 -1
- package/dist/server/homepage/routes/homepage.js +11 -0
- package/dist/server/homepage/routes/homepage.js.map +1 -1
- package/dist/server/homepage/routes/homepage.mjs +11 -0
- package/dist/server/homepage/routes/homepage.mjs.map +1 -1
- package/dist/server/homepage/services/homepage.js +86 -46
- package/dist/server/homepage/services/homepage.js.map +1 -1
- package/dist/server/homepage/services/homepage.mjs +86 -46
- package/dist/server/homepage/services/homepage.mjs.map +1 -1
- package/dist/server/preview/services/preview-config.js +5 -1
- package/dist/server/preview/services/preview-config.js.map +1 -1
- package/dist/server/preview/services/preview-config.mjs +5 -1
- package/dist/server/preview/services/preview-config.mjs.map +1 -1
- package/dist/server/preview/services/preview.js +4 -0
- package/dist/server/preview/services/preview.js.map +1 -1
- package/dist/server/preview/services/preview.mjs +4 -0
- package/dist/server/preview/services/preview.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/controllers/homepage.d.ts +2 -1
- package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -1
- package/dist/server/src/homepage/index.d.ts +7 -0
- package/dist/server/src/homepage/index.d.ts.map +1 -1
- package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -1
- package/dist/server/src/homepage/services/homepage.d.ts +4 -1
- package/dist/server/src/homepage/services/homepage.d.ts.map +1 -1
- package/dist/server/src/homepage/services/index.d.ts +7 -0
- package/dist/server/src/homepage/services/index.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +8 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/preview/services/index.d.ts +1 -0
- package/dist/server/src/preview/services/index.d.ts.map +1 -1
- package/dist/server/src/preview/services/preview-config.d.ts +1 -0
- package/dist/server/src/preview/services/preview-config.d.ts.map +1 -1
- package/dist/server/src/preview/services/preview.d.ts.map +1 -1
- package/dist/server/src/preview/utils.d.ts +1 -0
- package/dist/server/src/preview/utils.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 +8 -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/dist/shared/contracts/homepage.d.ts +13 -0
- package/dist/shared/contracts/homepage.d.ts.map +1 -1
- package/package.json +11 -9
|
@@ -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 { 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(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(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(()=>{
|