@strapi/content-manager 0.0.0-experimental.35644b9b8cc9cb7d3104ab14464d2de4f1bd19ed → 0.0.0-experimental.36f6fd69b4f935991d26f27957949ec71f187528
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 +1 -3
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.js +92 -75
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.mjs +93 -76
- package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.js +115 -88
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +116 -89
- 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 +15 -2
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +16 -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 +118 -101
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +118 -101
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +155 -99
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +158 -102
- 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 +77 -0
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs +78 -1
- 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/documents.js +2 -2
- package/dist/admin/services/documents.js.map +1 -1
- package/dist/admin/services/documents.mjs +2 -2
- package/dist/admin/services/documents.mjs.map +1 -1
- package/dist/admin/services/homepage.js +9 -5
- package/dist/admin/services/homepage.js.map +1 -1
- package/dist/admin/services/homepage.mjs +9 -5
- package/dist/admin/services/homepage.mjs.map +1 -1
- package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +6 -4
- package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +3 -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/services/documents.d.ts +7 -1
- 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/translations/ru.json.js +235 -226
- package/dist/admin/translations/ru.json.js.map +1 -1
- package/dist/admin/translations/ru.json.mjs +230 -226
- package/dist/admin/translations/ru.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/index.js +3 -1
- package/dist/server/controllers/index.js.map +1 -1
- package/dist/server/controllers/index.mjs +3 -1
- package/dist/server/controllers/index.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/controllers/homepage.js +57 -0
- package/dist/server/homepage/controllers/homepage.js.map +1 -0
- package/dist/server/homepage/controllers/homepage.mjs +36 -0
- package/dist/server/homepage/controllers/homepage.mjs.map +1 -0
- package/dist/server/homepage/controllers/index.js +10 -0
- package/dist/server/homepage/controllers/index.js.map +1 -0
- package/dist/server/homepage/controllers/index.mjs +8 -0
- package/dist/server/homepage/controllers/index.mjs.map +1 -0
- package/dist/server/homepage/index.js +14 -0
- package/dist/server/homepage/index.js.map +1 -0
- package/dist/server/homepage/index.mjs +12 -0
- package/dist/server/homepage/index.mjs.map +1 -0
- package/dist/server/homepage/routes/homepage.js +25 -0
- package/dist/server/homepage/routes/homepage.js.map +1 -0
- package/dist/server/homepage/routes/homepage.mjs +23 -0
- package/dist/server/homepage/routes/homepage.mjs.map +1 -0
- package/dist/server/homepage/routes/index.js +13 -0
- package/dist/server/homepage/routes/index.js.map +1 -0
- package/dist/server/homepage/routes/index.mjs +11 -0
- package/dist/server/homepage/routes/index.mjs.map +1 -0
- package/dist/server/homepage/services/homepage.js +157 -0
- package/dist/server/homepage/services/homepage.js.map +1 -0
- package/dist/server/homepage/services/homepage.mjs +155 -0
- package/dist/server/homepage/services/homepage.mjs.map +1 -0
- package/dist/server/homepage/services/index.js +10 -0
- package/dist/server/homepage/services/index.js.map +1 -0
- package/dist/server/homepage/services/index.mjs +8 -0
- package/dist/server/homepage/services/index.mjs.map +1 -0
- package/dist/server/preview/services/preview.js +0 -1
- package/dist/server/preview/services/preview.js.map +1 -1
- package/dist/server/preview/services/preview.mjs +0 -1
- package/dist/server/preview/services/preview.mjs.map +1 -1
- package/dist/server/routes/index.js +3 -1
- package/dist/server/routes/index.js.map +1 -1
- package/dist/server/routes/index.mjs +3 -1
- package/dist/server/routes/index.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/index.js +3 -1
- package/dist/server/services/index.js.map +1 -1
- package/dist/server/services/index.mjs +3 -1
- package/dist/server/services/index.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/index.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 +7 -0
- package/dist/server/src/homepage/controllers/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/controllers/index.d.ts +2 -0
- package/dist/server/src/homepage/controllers/index.d.ts.map +1 -0
- package/dist/server/src/homepage/index.d.ts +16 -0
- package/dist/server/src/homepage/index.d.ts.map +1 -0
- package/dist/server/src/homepage/routes/homepage.d.ts +4 -0
- package/dist/server/src/homepage/routes/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/routes/index.d.ts +8 -0
- package/dist/server/src/homepage/routes/index.d.ts.map +1 -0
- package/dist/server/src/{services → homepage/services}/homepage.d.ts +1 -1
- package/dist/server/src/homepage/services/homepage.d.ts.map +1 -0
- package/dist/server/src/homepage/services/index.d.ts +9 -0
- package/dist/server/src/homepage/services/index.d.ts.map +1 -0
- 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/preview.d.ts.map +1 -1
- package/dist/server/src/routes/index.d.ts +1 -0
- package/dist/server/src/routes/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 +7 -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
- package/dist/admin/src/utils/mergeObject.d.ts +0 -11
- package/dist/admin/utils/mergeObject.js +0 -90
- package/dist/admin/utils/mergeObject.js.map +0 -1
- package/dist/admin/utils/mergeObject.mjs +0 -87
- package/dist/admin/utils/mergeObject.mjs.map +0 -1
- package/dist/server/src/services/homepage.d.ts.map +0 -1
|
@@ -6,9 +6,11 @@ var strapiAdmin = require('@strapi/admin/strapi-admin');
|
|
|
6
6
|
var designSystem = require('@strapi/design-system');
|
|
7
7
|
var Icons = require('@strapi/icons');
|
|
8
8
|
var mapValues = require('lodash/fp/mapValues');
|
|
9
|
+
var get = require('lodash/get');
|
|
10
|
+
var merge = require('lodash/merge');
|
|
11
|
+
var set = require('lodash/set');
|
|
9
12
|
var reactIntl = require('react-intl');
|
|
10
13
|
var reactRouterDom = require('react-router-dom');
|
|
11
|
-
var styledComponents = require('styled-components');
|
|
12
14
|
var attributes = require('../../../constants/attributes.js');
|
|
13
15
|
var collections = require('../../../constants/collections.js');
|
|
14
16
|
var DocumentRBAC = require('../../../features/DocumentRBAC.js');
|
|
@@ -19,8 +21,8 @@ var Preview = require('../../../preview/pages/Preview.js');
|
|
|
19
21
|
var router = require('../../../router.js');
|
|
20
22
|
var documents = require('../../../services/documents.js');
|
|
21
23
|
var api = require('../../../utils/api.js');
|
|
22
|
-
var mergeObject = require('../../../utils/mergeObject.js');
|
|
23
24
|
var translations = require('../../../utils/translations.js');
|
|
25
|
+
var data = require('../utils/data.js');
|
|
24
26
|
var RelationModal = require('./FormInputs/Relations/RelationModal.js');
|
|
25
27
|
|
|
26
28
|
function _interopNamespaceDefault(e) {
|
|
@@ -42,6 +44,38 @@ function _interopNamespaceDefault(e) {
|
|
|
42
44
|
|
|
43
45
|
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
44
46
|
|
|
47
|
+
const connectRelationToParent = (parentDataToUpdate, fieldToConnect, data, fieldToConnectUID)=>{
|
|
48
|
+
/*
|
|
49
|
+
* Check if the fieldToConnect is already present in the parentDataToUpdate.
|
|
50
|
+
* This happens in particular when in the parentDocument you have created
|
|
51
|
+
* a new component without saving.
|
|
52
|
+
*/ const isFieldPresent = !!get(parentDataToUpdate, fieldToConnect);
|
|
53
|
+
const fieldToConnectPath = isFieldPresent ? fieldToConnect : fieldToConnect.split('.').slice(0, -1).join('.');
|
|
54
|
+
const fieldToConnectValue = isFieldPresent ? {
|
|
55
|
+
connect: [
|
|
56
|
+
{
|
|
57
|
+
id: data.documentId,
|
|
58
|
+
documentId: data.documentId,
|
|
59
|
+
locale: data.locale
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
} : {
|
|
63
|
+
[fieldToConnect.split('.').pop()]: {
|
|
64
|
+
connect: [
|
|
65
|
+
{
|
|
66
|
+
id: data.documentId,
|
|
67
|
+
documentId: data.documentId,
|
|
68
|
+
locale: data.locale
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
disconnect: []
|
|
72
|
+
},
|
|
73
|
+
// In case the object was not present you need to pass the componentUID of the parent document
|
|
74
|
+
__component: fieldToConnectUID
|
|
75
|
+
};
|
|
76
|
+
const objectToConnect = set({}, fieldToConnectPath, fieldToConnectValue);
|
|
77
|
+
return merge(parentDataToUpdate, objectToConnect);
|
|
78
|
+
};
|
|
45
79
|
const DocumentActions = ({ actions })=>{
|
|
46
80
|
const { formatMessage } = reactIntl.useIntl();
|
|
47
81
|
const [primaryAction, secondaryAction, ...restActions] = actions.filter((action)=>{
|
|
@@ -140,11 +174,6 @@ const DocumentActionButton = (action)=>{
|
|
|
140
174
|
]
|
|
141
175
|
});
|
|
142
176
|
};
|
|
143
|
-
const MenuItem = styledComponents.styled(designSystem.Menu.Item)`
|
|
144
|
-
&:hover {
|
|
145
|
-
background: ${({ theme, isVariantDanger, isDisabled })=>isVariantDanger && !isDisabled ? theme.colors.danger100 : 'neutral'};
|
|
146
|
-
}
|
|
147
|
-
`;
|
|
148
177
|
const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })=>{
|
|
149
178
|
const [isOpen, setIsOpen] = React__namespace.useState(false);
|
|
150
179
|
const [dialogId, setDialogId] = React__namespace.useState(null);
|
|
@@ -206,27 +235,19 @@ const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })
|
|
|
206
235
|
popoverPlacement: "bottom-end",
|
|
207
236
|
children: [
|
|
208
237
|
actions.map((action)=>{
|
|
209
|
-
return /*#__PURE__*/ jsxRuntime.jsx(
|
|
238
|
+
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
|
|
210
239
|
disabled: action.disabled,
|
|
211
240
|
/* @ts-expect-error – TODO: this is an error in the DS where it is most likely a synthetic event, not regular. */ onSelect: handleClick(action),
|
|
212
241
|
display: "block",
|
|
213
|
-
|
|
214
|
-
|
|
242
|
+
variant: action.variant === 'danger' ? action.variant : 'default',
|
|
243
|
+
startIcon: action.icon,
|
|
215
244
|
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
216
245
|
justifyContent: "space-between",
|
|
217
246
|
gap: 4,
|
|
218
|
-
children: /*#__PURE__*/ jsxRuntime.
|
|
219
|
-
color: !action.disabled ? convertActionVariantToColor(action.variant) : 'inherit',
|
|
247
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
220
248
|
gap: 2,
|
|
221
249
|
tag: "span",
|
|
222
|
-
children:
|
|
223
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
224
|
-
tag: "span",
|
|
225
|
-
color: !action.disabled ? convertActionVariantToIconColor(action.variant) : 'inherit',
|
|
226
|
-
children: action.icon
|
|
227
|
-
}),
|
|
228
|
-
action.label
|
|
229
|
-
]
|
|
250
|
+
children: action.label
|
|
230
251
|
})
|
|
231
252
|
})
|
|
232
253
|
}, action.id);
|
|
@@ -254,30 +275,6 @@ const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })
|
|
|
254
275
|
]
|
|
255
276
|
});
|
|
256
277
|
};
|
|
257
|
-
const convertActionVariantToColor = (variant = 'secondary')=>{
|
|
258
|
-
switch(variant){
|
|
259
|
-
case 'danger':
|
|
260
|
-
return 'danger600';
|
|
261
|
-
case 'secondary':
|
|
262
|
-
return undefined;
|
|
263
|
-
case 'success':
|
|
264
|
-
return 'success600';
|
|
265
|
-
default:
|
|
266
|
-
return 'primary600';
|
|
267
|
-
}
|
|
268
|
-
};
|
|
269
|
-
const convertActionVariantToIconColor = (variant = 'secondary')=>{
|
|
270
|
-
switch(variant){
|
|
271
|
-
case 'danger':
|
|
272
|
-
return 'danger600';
|
|
273
|
-
case 'secondary':
|
|
274
|
-
return 'neutral500';
|
|
275
|
-
case 'success':
|
|
276
|
-
return 'success600';
|
|
277
|
-
default:
|
|
278
|
-
return 'primary600';
|
|
279
|
-
}
|
|
280
|
-
};
|
|
281
278
|
const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary', loading })=>{
|
|
282
279
|
const { formatMessage } = reactIntl.useIntl();
|
|
283
280
|
const handleClose = async ()=>{
|
|
@@ -383,7 +380,10 @@ const transformData = (data)=>{
|
|
|
383
380
|
const isCloning = reactRouterDom.useMatch(router.CLONE_PATH) !== null;
|
|
384
381
|
const { id } = reactRouterDom.useParams();
|
|
385
382
|
const { formatMessage } = reactIntl.useIntl();
|
|
386
|
-
const canPublish = DocumentRBAC.useDocumentRBAC('PublishAction', ({ canPublish })=>
|
|
383
|
+
const { canPublish, canReadFields } = DocumentRBAC.useDocumentRBAC('PublishAction', ({ canPublish, canReadFields })=>({
|
|
384
|
+
canPublish,
|
|
385
|
+
canReadFields
|
|
386
|
+
}));
|
|
387
387
|
const { publish, isLoading } = useDocumentActions.useDocumentActions();
|
|
388
388
|
const onPreview = Preview.usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
|
|
389
389
|
const [countDraftRelations, { isLoading: isLoadingDraftRelations, isError: isErrorDraftRelations }] = documents.useGetDraftRelationCountQuery();
|
|
@@ -397,11 +397,13 @@ const transformData = (data)=>{
|
|
|
397
397
|
const setErrors = strapiAdmin.useForm('PublishAction', (state)=>state.setErrors);
|
|
398
398
|
const formValues = strapiAdmin.useForm('PublishAction', ({ values })=>values);
|
|
399
399
|
const resetForm = strapiAdmin.useForm('PublishAction', ({ resetForm })=>resetForm);
|
|
400
|
+
const { currentDocument: { components } } = useDocumentContext.useDocumentContext('PublishAction');
|
|
400
401
|
// need to discriminate if the publish is coming from a relation modal or in the edit view
|
|
401
402
|
const relationContext = RelationModal.useRelationModal('PublishAction', ()=>true, false);
|
|
402
403
|
const fromRelationModal = relationContext != undefined;
|
|
403
404
|
const dispatch = RelationModal.useRelationModal('PublishAction', (state)=>state.dispatch);
|
|
404
405
|
const fieldToConnect = RelationModal.useRelationModal('PublishAction', (state)=>state.state.fieldToConnect, false);
|
|
406
|
+
const fieldToConnectUID = RelationModal.useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
|
|
405
407
|
const documentHistory = RelationModal.useRelationModal('PublishAction', (state)=>state.state.documentHistory, false);
|
|
406
408
|
const rootDocumentMeta = RelationModal.useRelationModal('PublishAction', (state)=>state.rootDocumentMeta);
|
|
407
409
|
const { currentDocumentMeta } = useDocumentContext.useDocumentContext('PublishAction');
|
|
@@ -499,6 +501,7 @@ const transformData = (data)=>{
|
|
|
499
501
|
}, {
|
|
500
502
|
skip: !parentDocumentMetaToUpdate
|
|
501
503
|
});
|
|
504
|
+
const { getInitialFormValues } = useDocument.useDoc();
|
|
502
505
|
const isDocumentPublished = (document?.[attributes.PUBLISHED_AT_ATTRIBUTE_NAME] || meta?.availableStatus.some((doc)=>doc[attributes.PUBLISHED_AT_ATTRIBUTE_NAME] !== null)) && document?.status !== 'modified';
|
|
503
506
|
if (!schema?.options?.draftAndPublish) {
|
|
504
507
|
return null;
|
|
@@ -510,21 +513,39 @@ const transformData = (data)=>{
|
|
|
510
513
|
status: 'published'
|
|
511
514
|
});
|
|
512
515
|
if (errors) {
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
id: 'content-manager.validation.error',
|
|
517
|
-
defaultMessage: 'There are validation errors in your document. Please fix them before saving.'
|
|
518
|
-
})
|
|
516
|
+
const hasUnreadableRequiredField = Object.keys(schema.attributes).some((fieldName)=>{
|
|
517
|
+
const attribute = schema.attributes[fieldName];
|
|
518
|
+
return attribute?.required && !(canReadFields ?? []).includes(fieldName);
|
|
519
519
|
});
|
|
520
|
+
if (hasUnreadableRequiredField) {
|
|
521
|
+
toggleNotification({
|
|
522
|
+
type: 'danger',
|
|
523
|
+
message: formatMessage({
|
|
524
|
+
id: 'content-manager.validation.error.unreadable-required-field',
|
|
525
|
+
defaultMessage: 'Your current permissions prevent access to certain required fields. Please request access from an administrator to proceed.'
|
|
526
|
+
})
|
|
527
|
+
});
|
|
528
|
+
} else {
|
|
529
|
+
toggleNotification({
|
|
530
|
+
type: 'danger',
|
|
531
|
+
message: formatMessage({
|
|
532
|
+
id: 'content-manager.validation.error',
|
|
533
|
+
defaultMessage: 'There are validation errors in your document. Please fix them before saving.'
|
|
534
|
+
})
|
|
535
|
+
});
|
|
536
|
+
}
|
|
520
537
|
return;
|
|
521
538
|
}
|
|
539
|
+
const { data: data$1 } = data.handleInvisibleAttributes(transformData(formValues), {
|
|
540
|
+
schema,
|
|
541
|
+
components
|
|
542
|
+
});
|
|
522
543
|
const res = await publish({
|
|
523
544
|
collectionType,
|
|
524
545
|
model,
|
|
525
546
|
documentId,
|
|
526
547
|
params: currentDocumentMeta.params
|
|
527
|
-
},
|
|
548
|
+
}, data$1);
|
|
528
549
|
// Reset form if successful
|
|
529
550
|
if ('data' in res) {
|
|
530
551
|
resetForm();
|
|
@@ -544,30 +565,21 @@ const transformData = (data)=>{
|
|
|
544
565
|
model,
|
|
545
566
|
params: currentDocumentMeta.params
|
|
546
567
|
};
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
568
|
+
/*
|
|
569
|
+
* Update, if needed, the parent relation with the newly published document.
|
|
570
|
+
* Check if in history we have the parent relation otherwise use the
|
|
571
|
+
* rootDocument
|
|
572
|
+
*/ if (fieldToConnect && documentHistory && (parentDocumentMetaToUpdate.documentId || parentDocumentMetaToUpdate.collectionType === collections.SINGLE_TYPES)) {
|
|
573
|
+
const parentDataToUpdate = parentDocumentMetaToUpdate.collectionType === collections.SINGLE_TYPES ? getInitialFormValues() : parentDocumentData.getInitialFormValues();
|
|
551
574
|
const metaDocumentToUpdate = documentHistory.at(-2) ?? rootDocumentMeta;
|
|
552
|
-
const
|
|
553
|
-
connect: [
|
|
554
|
-
{
|
|
555
|
-
id: res.data.documentId,
|
|
556
|
-
documentId: res.data.documentId,
|
|
557
|
-
locale: res.data.locale
|
|
558
|
-
}
|
|
559
|
-
]
|
|
560
|
-
});
|
|
561
|
-
const dataToUpdate = mergeObject.deepMerge(parentDataToUpdate, objectToConnect);
|
|
575
|
+
const dataToUpdate = connectRelationToParent(parentDataToUpdate, fieldToConnect, res.data, fieldToConnectUID);
|
|
562
576
|
try {
|
|
563
577
|
const updateRes = await updateDocumentMutation({
|
|
564
578
|
collectionType: metaDocumentToUpdate.collectionType,
|
|
565
579
|
model: metaDocumentToUpdate.model,
|
|
566
|
-
documentId: metaDocumentToUpdate.documentId,
|
|
580
|
+
documentId: metaDocumentToUpdate.collectionType !== collections.SINGLE_TYPES ? metaDocumentToUpdate.documentId : undefined,
|
|
567
581
|
params: metaDocumentToUpdate.params,
|
|
568
|
-
data:
|
|
569
|
-
...dataToUpdate
|
|
570
|
-
}
|
|
582
|
+
data: dataToUpdate
|
|
571
583
|
});
|
|
572
584
|
if ('error' in updateRes) {
|
|
573
585
|
toggleNotification({
|
|
@@ -667,11 +679,14 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
667
679
|
const isCloning = cloneMatch !== null;
|
|
668
680
|
const { formatMessage } = reactIntl.useIntl();
|
|
669
681
|
const { create, update, clone, isLoading } = useDocumentActions.useDocumentActions();
|
|
682
|
+
const { currentDocument: { components } } = useDocumentContext.useDocumentContext('UpdateAction');
|
|
670
683
|
const [{ rawQuery }] = strapiAdmin.useQueryParams();
|
|
671
684
|
const onPreview = Preview.usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
|
|
685
|
+
const { getInitialFormValues } = useDocument.useDoc();
|
|
672
686
|
const isSubmitting = strapiAdmin.useForm('UpdateAction', ({ isSubmitting })=>isSubmitting);
|
|
673
687
|
const modified = strapiAdmin.useForm('UpdateAction', ({ modified })=>modified);
|
|
674
688
|
const setSubmitting = strapiAdmin.useForm('UpdateAction', ({ setSubmitting })=>setSubmitting);
|
|
689
|
+
const initialValues = strapiAdmin.useForm('UpdateAction', ({ initialValues })=>initialValues);
|
|
675
690
|
const document = strapiAdmin.useForm('UpdateAction', ({ values })=>values);
|
|
676
691
|
const validate = strapiAdmin.useForm('UpdateAction', (state)=>state.validate);
|
|
677
692
|
const setErrors = strapiAdmin.useForm('UpdateAction', (state)=>state.setErrors);
|
|
@@ -679,7 +694,9 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
679
694
|
const dispatch = RelationModal.useRelationModal('UpdateAction', (state)=>state.dispatch);
|
|
680
695
|
// need to discriminate if the update is coming from a relation modal or in the edit view
|
|
681
696
|
const relationContext = RelationModal.useRelationModal('UpdateAction', ()=>true, false);
|
|
697
|
+
const relationalModalSchema = RelationModal.useRelationModal('UpdateAction', (state)=>state.currentDocument.schema, false);
|
|
682
698
|
const fieldToConnect = RelationModal.useRelationModal('UpdateAction', (state)=>state.state.fieldToConnect, false);
|
|
699
|
+
const fieldToConnectUID = RelationModal.useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
|
|
683
700
|
const documentHistory = RelationModal.useRelationModal('UpdateAction', (state)=>state.state.documentHistory, false);
|
|
684
701
|
const rootDocumentMeta = RelationModal.useRelationModal('UpdateAction', (state)=>state.rootDocumentMeta);
|
|
685
702
|
const fromRelationModal = relationContext != undefined;
|
|
@@ -695,6 +712,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
695
712
|
}, {
|
|
696
713
|
skip: !parentDocumentMetaToUpdate
|
|
697
714
|
});
|
|
715
|
+
const { schema } = useDocument.useDoc();
|
|
698
716
|
const handleUpdate = React__namespace.useCallback(async ()=>{
|
|
699
717
|
setSubmitting(true);
|
|
700
718
|
try {
|
|
@@ -731,22 +749,32 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
731
749
|
setErrors(formatValidationErrors(res.error));
|
|
732
750
|
}
|
|
733
751
|
} else if (documentId || collectionType === collections.SINGLE_TYPES) {
|
|
752
|
+
const { data: data$1 } = data.handleInvisibleAttributes(transformData(document), {
|
|
753
|
+
schema: fromRelationModal ? relationalModalSchema : schema,
|
|
754
|
+
initialValues,
|
|
755
|
+
components
|
|
756
|
+
});
|
|
734
757
|
const res = await update({
|
|
735
758
|
collectionType,
|
|
736
759
|
model,
|
|
737
760
|
documentId,
|
|
738
761
|
params: currentDocumentMeta.params
|
|
739
|
-
},
|
|
762
|
+
}, data$1);
|
|
740
763
|
if ('error' in res && api.isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
|
|
741
764
|
setErrors(formatValidationErrors(res.error));
|
|
742
765
|
} else {
|
|
743
766
|
resetForm();
|
|
744
767
|
}
|
|
745
768
|
} else {
|
|
769
|
+
const { data: data$1 } = data.handleInvisibleAttributes(transformData(document), {
|
|
770
|
+
schema: fromRelationModal ? relationalModalSchema : schema,
|
|
771
|
+
initialValues,
|
|
772
|
+
components
|
|
773
|
+
});
|
|
746
774
|
const res = await create({
|
|
747
775
|
model,
|
|
748
776
|
params: currentDocumentMeta.params
|
|
749
|
-
},
|
|
777
|
+
}, data$1);
|
|
750
778
|
if ('data' in res && collectionType !== collections.SINGLE_TYPES) {
|
|
751
779
|
if (fromRelationModal) {
|
|
752
780
|
const createdRelation = {
|
|
@@ -755,25 +783,18 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
755
783
|
model,
|
|
756
784
|
params: currentDocumentMeta.params
|
|
757
785
|
};
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
id: res.data.documentId,
|
|
766
|
-
documentId: res.data.documentId,
|
|
767
|
-
locale: res.data.locale
|
|
768
|
-
}
|
|
769
|
-
]
|
|
770
|
-
});
|
|
771
|
-
const dataToUpdate = mergeObject.deepMerge(parentDataToUpdate, objectToConnect);
|
|
786
|
+
/*
|
|
787
|
+
* Update, if needed, the parent relation with the newly published document.
|
|
788
|
+
* Check if in history we have the parent relation otherwise use the
|
|
789
|
+
* rootDocument
|
|
790
|
+
*/ if (fieldToConnect && documentHistory && (parentDocumentMetaToUpdate.documentId || parentDocumentMetaToUpdate.collectionType === collections.SINGLE_TYPES)) {
|
|
791
|
+
const parentDataToUpdate = parentDocumentMetaToUpdate.collectionType === collections.SINGLE_TYPES ? getInitialFormValues() : parentDocumentData.getInitialFormValues();
|
|
792
|
+
const dataToUpdate = connectRelationToParent(parentDataToUpdate, fieldToConnect, res.data, fieldToConnectUID);
|
|
772
793
|
try {
|
|
773
794
|
const updateRes = await updateDocumentMutation({
|
|
774
795
|
collectionType: parentDocumentMetaToUpdate.collectionType,
|
|
775
796
|
model: parentDocumentMetaToUpdate.model,
|
|
776
|
-
documentId: parentDocumentMetaToUpdate.documentId,
|
|
797
|
+
documentId: parentDocumentMetaToUpdate.collectionType !== collections.SINGLE_TYPES ? parentDocumentMetaToUpdate.documentId : undefined,
|
|
777
798
|
params: parentDocumentMetaToUpdate.params,
|
|
778
799
|
data: {
|
|
779
800
|
...dataToUpdate
|
|
@@ -849,10 +870,16 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
849
870
|
documentHistory,
|
|
850
871
|
parentDocumentMetaToUpdate,
|
|
851
872
|
dispatch,
|
|
873
|
+
getInitialFormValues,
|
|
852
874
|
parentDocumentData,
|
|
875
|
+
fieldToConnectUID,
|
|
853
876
|
updateDocumentMutation,
|
|
854
877
|
formatAPIError,
|
|
855
|
-
onPreview
|
|
878
|
+
onPreview,
|
|
879
|
+
initialValues,
|
|
880
|
+
schema,
|
|
881
|
+
components,
|
|
882
|
+
relationalModalSchema
|
|
856
883
|
]);
|
|
857
884
|
// Auto-save on CMD+S or CMD+Enter on macOS, and CTRL+S or CTRL+Enter on Windows/Linux
|
|
858
885
|
React__namespace.useEffect(()=>{
|