@strapi/content-manager 0.0.0-next.8d576f41729640e32a4a0cfcb258b6288e6631f6 → 0.0.0-next.8f0cdd4f9e4697ffed86c783465297fe532713f8
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/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/hooks/useDocumentActions.js +0 -3
- package/dist/admin/hooks/useDocumentActions.js.map +1 -1
- package/dist/admin/hooks/useDocumentActions.mjs +1 -4
- 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 +23 -6
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.mjs +25 -8
- package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.js +59 -63
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +61 -65
- package/dist/admin/pages/EditView/components/DocumentActions.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 +156 -105
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +159 -108
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.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 +27 -3
- package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.mjs +27 -3
- 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 +221 -203
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs +222 -204
- package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.js +3 -1
- package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
- package/dist/admin/pages/ListView/components/Filters.mjs +3 -1
- package/dist/admin/pages/ListView/components/Filters.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 +30 -14
- package/dist/admin/services/documents.js.map +1 -1
- package/dist/admin/services/documents.mjs +30 -14
- 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/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/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 +16 -16
- 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/api.d.ts +1 -1
- package/dist/admin/src/utils/validation.d.ts +1 -0
- package/dist/admin/translations/en.json.js +6 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +6 -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/api.js +1 -1
- package/dist/admin/utils/api.js.map +1 -1
- package/dist/admin/utils/api.mjs +1 -1
- package/dist/admin/utils/api.mjs.map +1 -1
- package/dist/admin/utils/validation.js +18 -6
- package/dist/admin/utils/validation.js.map +1 -1
- package/dist/admin/utils/validation.mjs +18 -6
- package/dist/admin/utils/validation.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/history/services/lifecycles.js +20 -19
- package/dist/server/history/services/lifecycles.js.map +1 -1
- package/dist/server/history/services/lifecycles.mjs +20 -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/document-metadata.js +1 -1
- package/dist/server/services/document-metadata.js.map +1 -1
- package/dist/server/services/document-metadata.mjs +1 -1
- package/dist/server/services/document-metadata.mjs.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 +7 -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/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/shared/contracts/homepage.d.ts +13 -0
- package/dist/shared/contracts/homepage.d.ts.map +1 -1
- package/package.json +7 -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 { 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 ()=>{
|
|
@@ -413,6 +386,7 @@ const transformData = (data)=>{
|
|
|
413
386
|
const setErrors = useForm('PublishAction', (state)=>state.setErrors);
|
|
414
387
|
const formValues = useForm('PublishAction', ({ values })=>values);
|
|
415
388
|
const resetForm = useForm('PublishAction', ({ resetForm })=>resetForm);
|
|
389
|
+
const { currentDocument: { components } } = useDocumentContext('PublishAction');
|
|
416
390
|
// need to discriminate if the publish is coming from a relation modal or in the edit view
|
|
417
391
|
const relationContext = useRelationModal('PublishAction', ()=>true, false);
|
|
418
392
|
const fromRelationModal = relationContext != undefined;
|
|
@@ -551,12 +525,16 @@ const transformData = (data)=>{
|
|
|
551
525
|
}
|
|
552
526
|
return;
|
|
553
527
|
}
|
|
528
|
+
const { data } = handleInvisibleAttributes(transformData(formValues), {
|
|
529
|
+
schema,
|
|
530
|
+
components
|
|
531
|
+
});
|
|
554
532
|
const res = await publish({
|
|
555
533
|
collectionType,
|
|
556
534
|
model,
|
|
557
535
|
documentId,
|
|
558
536
|
params: currentDocumentMeta.params
|
|
559
|
-
},
|
|
537
|
+
}, data);
|
|
560
538
|
// Reset form if successful
|
|
561
539
|
if ('data' in res) {
|
|
562
540
|
resetForm();
|
|
@@ -690,12 +668,14 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
690
668
|
const isCloning = cloneMatch !== null;
|
|
691
669
|
const { formatMessage } = useIntl();
|
|
692
670
|
const { create, update, clone, isLoading } = useDocumentActions();
|
|
671
|
+
const { currentDocument: { components } } = useDocumentContext('UpdateAction');
|
|
693
672
|
const [{ rawQuery }] = useQueryParams();
|
|
694
673
|
const onPreview = usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
|
|
695
674
|
const { getInitialFormValues } = useDoc();
|
|
696
675
|
const isSubmitting = useForm('UpdateAction', ({ isSubmitting })=>isSubmitting);
|
|
697
676
|
const modified = useForm('UpdateAction', ({ modified })=>modified);
|
|
698
677
|
const setSubmitting = useForm('UpdateAction', ({ setSubmitting })=>setSubmitting);
|
|
678
|
+
const initialValues = useForm('UpdateAction', ({ initialValues })=>initialValues);
|
|
699
679
|
const document = useForm('UpdateAction', ({ values })=>values);
|
|
700
680
|
const validate = useForm('UpdateAction', (state)=>state.validate);
|
|
701
681
|
const setErrors = useForm('UpdateAction', (state)=>state.setErrors);
|
|
@@ -703,6 +683,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
703
683
|
const dispatch = useRelationModal('UpdateAction', (state)=>state.dispatch);
|
|
704
684
|
// need to discriminate if the update is coming from a relation modal or in the edit view
|
|
705
685
|
const relationContext = useRelationModal('UpdateAction', ()=>true, false);
|
|
686
|
+
const relationalModalSchema = useRelationModal('UpdateAction', (state)=>state.currentDocument.schema, false);
|
|
706
687
|
const fieldToConnect = useRelationModal('UpdateAction', (state)=>state.state.fieldToConnect, false);
|
|
707
688
|
const fieldToConnectUID = useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
|
|
708
689
|
const documentHistory = useRelationModal('UpdateAction', (state)=>state.state.documentHistory, false);
|
|
@@ -720,6 +701,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
720
701
|
}, {
|
|
721
702
|
skip: !parentDocumentMetaToUpdate
|
|
722
703
|
});
|
|
704
|
+
const { schema } = useDoc();
|
|
723
705
|
const handleUpdate = React.useCallback(async ()=>{
|
|
724
706
|
setSubmitting(true);
|
|
725
707
|
try {
|
|
@@ -756,22 +738,32 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
756
738
|
setErrors(formatValidationErrors(res.error));
|
|
757
739
|
}
|
|
758
740
|
} else if (documentId || collectionType === SINGLE_TYPES) {
|
|
741
|
+
const { data } = handleInvisibleAttributes(transformData(document), {
|
|
742
|
+
schema: fromRelationModal ? relationalModalSchema : schema,
|
|
743
|
+
initialValues,
|
|
744
|
+
components
|
|
745
|
+
});
|
|
759
746
|
const res = await update({
|
|
760
747
|
collectionType,
|
|
761
748
|
model,
|
|
762
749
|
documentId,
|
|
763
750
|
params: currentDocumentMeta.params
|
|
764
|
-
},
|
|
751
|
+
}, data);
|
|
765
752
|
if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
|
|
766
753
|
setErrors(formatValidationErrors(res.error));
|
|
767
754
|
} else {
|
|
768
755
|
resetForm();
|
|
769
756
|
}
|
|
770
757
|
} else {
|
|
758
|
+
const { data } = handleInvisibleAttributes(transformData(document), {
|
|
759
|
+
schema: fromRelationModal ? relationalModalSchema : schema,
|
|
760
|
+
initialValues,
|
|
761
|
+
components
|
|
762
|
+
});
|
|
771
763
|
const res = await create({
|
|
772
764
|
model,
|
|
773
765
|
params: currentDocumentMeta.params
|
|
774
|
-
},
|
|
766
|
+
}, data);
|
|
775
767
|
if ('data' in res && collectionType !== SINGLE_TYPES) {
|
|
776
768
|
if (fromRelationModal) {
|
|
777
769
|
const createdRelation = {
|
|
@@ -872,7 +864,11 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
872
864
|
fieldToConnectUID,
|
|
873
865
|
updateDocumentMutation,
|
|
874
866
|
formatAPIError,
|
|
875
|
-
onPreview
|
|
867
|
+
onPreview,
|
|
868
|
+
initialValues,
|
|
869
|
+
schema,
|
|
870
|
+
components,
|
|
871
|
+
relationalModalSchema
|
|
876
872
|
]);
|
|
877
873
|
// Auto-save on CMD+S or CMD+Enter on macOS, and CTRL+S or CTRL+Enter on Windows/Linux
|
|
878
874
|
React.useEffect(()=>{
|