@strapi/content-manager 5.12.5 → 5.13.0-beta.0
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/hooks/useDocumentActions.js +5 -1
- package/dist/admin/hooks/useDocumentActions.js.map +1 -1
- package/dist/admin/hooks/useDocumentActions.mjs +5 -1
- package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
- package/dist/admin/hooks/useDocumentContext.js.map +1 -1
- package/dist/admin/hooks/useDocumentContext.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.js +206 -21
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +208 -23
- package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +7 -12
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +8 -13
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js +46 -95
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs +48 -78
- package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +2 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +2 -0
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js +199 -137
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs +199 -137
- package/dist/admin/pages/EditView/components/FormInputs/Relations/RelationModal.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +89 -50
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +91 -52
- package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js +50 -97
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs +51 -79
- package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.mjs.map +1 -1
- package/dist/admin/preview/components/PreviewHeader.js +1 -1
- package/dist/admin/preview/components/PreviewHeader.js.map +1 -1
- package/dist/admin/preview/components/PreviewHeader.mjs +1 -1
- package/dist/admin/preview/components/PreviewHeader.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/hooks/useDocumentContext.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/EditorLayout.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +26 -5
- package/dist/admin/translations/en.json.js +2 -1
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +2 -1
- package/dist/admin/translations/en.json.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/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/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/src/controllers/index.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 +7 -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/index.d.ts +6 -0
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/package.json +7 -7
- package/dist/server/src/services/homepage.d.ts.map +0 -1
@@ -4,21 +4,57 @@ import { useNotification, useAPIErrorHandler, useQueryParams, useForm } from '@s
|
|
4
4
|
import { Menu, Flex, Button, 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
|
+
import get from 'lodash/get';
|
8
|
+
import merge from 'lodash/merge';
|
9
|
+
import set from 'lodash/set';
|
7
10
|
import { useIntl } from 'react-intl';
|
8
11
|
import { useNavigate, useMatch, useParams } from 'react-router-dom';
|
9
12
|
import { styled } from 'styled-components';
|
10
13
|
import { PUBLISHED_AT_ATTRIBUTE_NAME } from '../../../constants/attributes.mjs';
|
11
14
|
import { SINGLE_TYPES } from '../../../constants/collections.mjs';
|
12
15
|
import { useDocumentRBAC } from '../../../features/DocumentRBAC.mjs';
|
13
|
-
import { useDoc } from '../../../hooks/useDocument.mjs';
|
16
|
+
import { useDocument, useDoc } from '../../../hooks/useDocument.mjs';
|
14
17
|
import { useDocumentActions } from '../../../hooks/useDocumentActions.mjs';
|
15
18
|
import { useDocumentContext } from '../../../hooks/useDocumentContext.mjs';
|
16
19
|
import { usePreviewContext } from '../../../preview/pages/Preview.mjs';
|
17
20
|
import { LIST_PATH, CLONE_PATH } from '../../../router.mjs';
|
18
|
-
import { useGetDraftRelationCountQuery as useLazyGetDraftRelationCountQuery } from '../../../services/documents.mjs';
|
21
|
+
import { useGetDraftRelationCountQuery as useLazyGetDraftRelationCountQuery, useUpdateDocumentMutation } from '../../../services/documents.mjs';
|
19
22
|
import { isBaseQueryError, buildValidParams } from '../../../utils/api.mjs';
|
20
23
|
import { getTranslation } from '../../../utils/translations.mjs';
|
24
|
+
import { useRelationModal } from './FormInputs/Relations/RelationModal.mjs';
|
21
25
|
|
26
|
+
const connectRelationToParent = (parentDataToUpdate, fieldToConnect, data, fieldToConnectUID)=>{
|
27
|
+
/*
|
28
|
+
* Check if the fieldToConnect is already present in the parentDataToUpdate.
|
29
|
+
* This happens in particular when in the parentDocument you have created
|
30
|
+
* a new component without saving.
|
31
|
+
*/ const isFieldPresent = !!get(parentDataToUpdate, fieldToConnect);
|
32
|
+
const fieldToConnectPath = isFieldPresent ? fieldToConnect : fieldToConnect.split('.').slice(0, -1).join('.');
|
33
|
+
const fieldToConnectValue = isFieldPresent ? {
|
34
|
+
connect: [
|
35
|
+
{
|
36
|
+
id: data.documentId,
|
37
|
+
documentId: data.documentId,
|
38
|
+
locale: data.locale
|
39
|
+
}
|
40
|
+
]
|
41
|
+
} : {
|
42
|
+
[fieldToConnect.split('.').pop()]: {
|
43
|
+
connect: [
|
44
|
+
{
|
45
|
+
id: data.documentId,
|
46
|
+
documentId: data.documentId,
|
47
|
+
locale: data.locale
|
48
|
+
}
|
49
|
+
],
|
50
|
+
disconnect: []
|
51
|
+
},
|
52
|
+
// In case the object was not present you need to pass the componentUID of the parent document
|
53
|
+
__component: fieldToConnectUID
|
54
|
+
};
|
55
|
+
const objectToConnect = set({}, fieldToConnectPath, fieldToConnectValue);
|
56
|
+
return merge(parentDataToUpdate, objectToConnect);
|
57
|
+
};
|
22
58
|
const DocumentActions = ({ actions })=>{
|
23
59
|
const { formatMessage } = useIntl();
|
24
60
|
const [primaryAction, secondaryAction, ...restActions] = actions.filter((action)=>{
|
@@ -374,7 +410,17 @@ const transformData = (data)=>{
|
|
374
410
|
const setErrors = useForm('PublishAction', (state)=>state.setErrors);
|
375
411
|
const formValues = useForm('PublishAction', ({ values })=>values);
|
376
412
|
const resetForm = useForm('PublishAction', ({ resetForm })=>resetForm);
|
413
|
+
// need to discriminate if the publish is coming from a relation modal or in the edit view
|
414
|
+
const relationContext = useRelationModal('PublishAction', ()=>true, false);
|
415
|
+
const fromRelationModal = relationContext != undefined;
|
416
|
+
const dispatch = useRelationModal('PublishAction', (state)=>state.dispatch);
|
417
|
+
const fieldToConnect = useRelationModal('PublishAction', (state)=>state.state.fieldToConnect, false);
|
418
|
+
const fieldToConnectUID = useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
|
419
|
+
const documentHistory = useRelationModal('PublishAction', (state)=>state.state.documentHistory, false);
|
420
|
+
const rootDocumentMeta = useRelationModal('PublishAction', (state)=>state.rootDocumentMeta);
|
377
421
|
const { currentDocumentMeta } = useDocumentContext('PublishAction');
|
422
|
+
const [updateDocumentMutation] = useUpdateDocumentMutation();
|
423
|
+
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
|
378
424
|
const idToPublish = currentDocumentMeta.documentId || id;
|
379
425
|
React.useEffect(()=>{
|
380
426
|
if (isErrorDraftRelations) {
|
@@ -458,6 +504,16 @@ const transformData = (data)=>{
|
|
458
504
|
model,
|
459
505
|
currentDocumentMeta.params
|
460
506
|
]);
|
507
|
+
const parentDocumentMetaToUpdate = documentHistory?.at(-2) ?? rootDocumentMeta;
|
508
|
+
const parentDocumentData = useDocument({
|
509
|
+
documentId: parentDocumentMetaToUpdate?.documentId,
|
510
|
+
model: parentDocumentMetaToUpdate?.model,
|
511
|
+
collectionType: parentDocumentMetaToUpdate?.collectionType,
|
512
|
+
params: parentDocumentMetaToUpdate?.params
|
513
|
+
}, {
|
514
|
+
skip: !parentDocumentMetaToUpdate
|
515
|
+
});
|
516
|
+
const { getInitialFormValues } = useDoc();
|
461
517
|
const isDocumentPublished = (document?.[PUBLISHED_AT_ATTRIBUTE_NAME] || meta?.availableStatus.some((doc)=>doc[PUBLISHED_AT_ATTRIBUTE_NAME] !== null)) && document?.status !== 'modified';
|
462
518
|
if (!schema?.options?.draftAndPublish) {
|
463
519
|
return null;
|
@@ -491,11 +547,59 @@ const transformData = (data)=>{
|
|
491
547
|
if ('data' in res && collectionType !== SINGLE_TYPES) {
|
492
548
|
/**
|
493
549
|
* TODO: refactor the router so we can just do `../${res.data.documentId}` instead of this.
|
494
|
-
*/ if (idToPublish === 'create') {
|
550
|
+
*/ if (idToPublish === 'create' && !fromRelationModal) {
|
495
551
|
navigate({
|
496
552
|
pathname: `../${collectionType}/${model}/${res.data.documentId}`,
|
497
553
|
search: rawQuery
|
498
554
|
});
|
555
|
+
} else if (fromRelationModal) {
|
556
|
+
const newRelation = {
|
557
|
+
documentId: res.data.documentId,
|
558
|
+
collectionType,
|
559
|
+
model,
|
560
|
+
params: currentDocumentMeta.params
|
561
|
+
};
|
562
|
+
/*
|
563
|
+
* Update, if needed, the parent relation with the newly published document.
|
564
|
+
* Check if in history we have the parent relation otherwise use the
|
565
|
+
* rootDocument
|
566
|
+
*/ if (fieldToConnect && documentHistory && (parentDocumentMetaToUpdate.documentId || parentDocumentMetaToUpdate.collectionType === SINGLE_TYPES)) {
|
567
|
+
const parentDataToUpdate = parentDocumentMetaToUpdate.collectionType === SINGLE_TYPES ? getInitialFormValues() : parentDocumentData.getInitialFormValues();
|
568
|
+
const metaDocumentToUpdate = documentHistory.at(-2) ?? rootDocumentMeta;
|
569
|
+
const dataToUpdate = connectRelationToParent(parentDataToUpdate, fieldToConnect, res.data, fieldToConnectUID);
|
570
|
+
try {
|
571
|
+
const updateRes = await updateDocumentMutation({
|
572
|
+
collectionType: metaDocumentToUpdate.collectionType,
|
573
|
+
model: metaDocumentToUpdate.model,
|
574
|
+
documentId: metaDocumentToUpdate.collectionType !== SINGLE_TYPES ? metaDocumentToUpdate.documentId : undefined,
|
575
|
+
params: metaDocumentToUpdate.params,
|
576
|
+
data: dataToUpdate
|
577
|
+
});
|
578
|
+
if ('error' in updateRes) {
|
579
|
+
toggleNotification({
|
580
|
+
type: 'danger',
|
581
|
+
message: formatAPIError(updateRes.error)
|
582
|
+
});
|
583
|
+
return;
|
584
|
+
}
|
585
|
+
} catch (err) {
|
586
|
+
toggleNotification({
|
587
|
+
type: 'danger',
|
588
|
+
message: formatMessage({
|
589
|
+
id: 'notification.error',
|
590
|
+
defaultMessage: 'An error occurred'
|
591
|
+
})
|
592
|
+
});
|
593
|
+
throw err;
|
594
|
+
}
|
595
|
+
}
|
596
|
+
dispatch({
|
597
|
+
type: 'GO_TO_CREATED_RELATION',
|
598
|
+
payload: {
|
599
|
+
document: newRelation,
|
600
|
+
shouldBypassConfirmation: true
|
601
|
+
}
|
602
|
+
});
|
499
603
|
}
|
500
604
|
} else if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
|
501
605
|
setErrors(formatValidationErrors(res.error));
|
@@ -571,14 +675,34 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
571
675
|
const { create, update, clone, isLoading } = useDocumentActions();
|
572
676
|
const [{ rawQuery }] = useQueryParams();
|
573
677
|
const onPreview = usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
|
678
|
+
const { getInitialFormValues } = useDoc();
|
574
679
|
const isSubmitting = useForm('UpdateAction', ({ isSubmitting })=>isSubmitting);
|
575
680
|
const modified = useForm('UpdateAction', ({ modified })=>modified);
|
576
681
|
const setSubmitting = useForm('UpdateAction', ({ setSubmitting })=>setSubmitting);
|
577
682
|
const document = useForm('UpdateAction', ({ values })=>values);
|
578
683
|
const validate = useForm('UpdateAction', (state)=>state.validate);
|
579
684
|
const setErrors = useForm('UpdateAction', (state)=>state.setErrors);
|
580
|
-
const resetForm = useForm('
|
685
|
+
const resetForm = useForm('UpdateAction', ({ resetForm })=>resetForm);
|
686
|
+
const dispatch = useRelationModal('UpdateAction', (state)=>state.dispatch);
|
687
|
+
// need to discriminate if the update is coming from a relation modal or in the edit view
|
688
|
+
const relationContext = useRelationModal('UpdateAction', ()=>true, false);
|
689
|
+
const fieldToConnect = useRelationModal('UpdateAction', (state)=>state.state.fieldToConnect, false);
|
690
|
+
const fieldToConnectUID = useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
|
691
|
+
const documentHistory = useRelationModal('UpdateAction', (state)=>state.state.documentHistory, false);
|
692
|
+
const rootDocumentMeta = useRelationModal('UpdateAction', (state)=>state.rootDocumentMeta);
|
693
|
+
const fromRelationModal = relationContext != undefined;
|
581
694
|
const { currentDocumentMeta } = useDocumentContext('UpdateAction');
|
695
|
+
const [updateDocumentMutation] = useUpdateDocumentMutation();
|
696
|
+
const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();
|
697
|
+
const parentDocumentMetaToUpdate = documentHistory?.at(-2) ?? rootDocumentMeta;
|
698
|
+
const parentDocumentData = useDocument({
|
699
|
+
documentId: parentDocumentMetaToUpdate?.documentId,
|
700
|
+
model: parentDocumentMetaToUpdate?.model,
|
701
|
+
collectionType: parentDocumentMetaToUpdate?.collectionType,
|
702
|
+
params: parentDocumentMetaToUpdate?.params
|
703
|
+
}, {
|
704
|
+
skip: !parentDocumentMetaToUpdate
|
705
|
+
});
|
582
706
|
const handleUpdate = React.useCallback(async ()=>{
|
583
707
|
setSubmitting(true);
|
584
708
|
try {
|
@@ -632,13 +756,64 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
632
756
|
params: currentDocumentMeta.params
|
633
757
|
}, transformData(document));
|
634
758
|
if ('data' in res && collectionType !== SINGLE_TYPES) {
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
759
|
+
if (fromRelationModal) {
|
760
|
+
const createdRelation = {
|
761
|
+
documentId: res.data.documentId,
|
762
|
+
collectionType,
|
763
|
+
model,
|
764
|
+
params: currentDocumentMeta.params
|
765
|
+
};
|
766
|
+
/*
|
767
|
+
* Update, if needed, the parent relation with the newly published document.
|
768
|
+
* Check if in history we have the parent relation otherwise use the
|
769
|
+
* rootDocument
|
770
|
+
*/ if (fieldToConnect && documentHistory && (parentDocumentMetaToUpdate.documentId || parentDocumentMetaToUpdate.collectionType === SINGLE_TYPES)) {
|
771
|
+
const parentDataToUpdate = parentDocumentMetaToUpdate.collectionType === SINGLE_TYPES ? getInitialFormValues() : parentDocumentData.getInitialFormValues();
|
772
|
+
const dataToUpdate = connectRelationToParent(parentDataToUpdate, fieldToConnect, res.data, fieldToConnectUID);
|
773
|
+
try {
|
774
|
+
const updateRes = await updateDocumentMutation({
|
775
|
+
collectionType: parentDocumentMetaToUpdate.collectionType,
|
776
|
+
model: parentDocumentMetaToUpdate.model,
|
777
|
+
documentId: parentDocumentMetaToUpdate.collectionType !== SINGLE_TYPES ? parentDocumentMetaToUpdate.documentId : undefined,
|
778
|
+
params: parentDocumentMetaToUpdate.params,
|
779
|
+
data: {
|
780
|
+
...dataToUpdate
|
781
|
+
}
|
782
|
+
});
|
783
|
+
if ('error' in updateRes) {
|
784
|
+
toggleNotification({
|
785
|
+
type: 'danger',
|
786
|
+
message: formatAPIError(updateRes.error)
|
787
|
+
});
|
788
|
+
return;
|
789
|
+
}
|
790
|
+
} catch (err) {
|
791
|
+
toggleNotification({
|
792
|
+
type: 'danger',
|
793
|
+
message: formatMessage({
|
794
|
+
id: 'notification.error',
|
795
|
+
defaultMessage: 'An error occurred'
|
796
|
+
})
|
797
|
+
});
|
798
|
+
throw err;
|
799
|
+
}
|
800
|
+
}
|
801
|
+
dispatch({
|
802
|
+
type: 'GO_TO_CREATED_RELATION',
|
803
|
+
payload: {
|
804
|
+
document: createdRelation,
|
805
|
+
shouldBypassConfirmation: true
|
806
|
+
}
|
807
|
+
});
|
808
|
+
} else {
|
809
|
+
navigate({
|
810
|
+
pathname: `../${res.data.documentId}`,
|
811
|
+
search: rawQuery
|
812
|
+
}, {
|
813
|
+
replace: true,
|
814
|
+
relative: 'path'
|
815
|
+
});
|
816
|
+
}
|
642
817
|
} else if ('error' in res && isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
|
643
818
|
setErrors(formatValidationErrors(res.error));
|
644
819
|
}
|
@@ -650,26 +825,36 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
650
825
|
}
|
651
826
|
}
|
652
827
|
}, [
|
828
|
+
setSubmitting,
|
829
|
+
modified,
|
830
|
+
validate,
|
831
|
+
isCloning,
|
832
|
+
documentId,
|
833
|
+
collectionType,
|
834
|
+
toggleNotification,
|
835
|
+
formatMessage,
|
653
836
|
clone,
|
837
|
+
model,
|
654
838
|
cloneMatch?.params.origin,
|
655
|
-
collectionType,
|
656
|
-
create,
|
657
839
|
currentDocumentMeta.params,
|
658
840
|
document,
|
659
|
-
documentId,
|
660
|
-
formatMessage,
|
661
|
-
formatValidationErrors,
|
662
|
-
isCloning,
|
663
|
-
model,
|
664
|
-
modified,
|
665
841
|
navigate,
|
666
842
|
rawQuery,
|
667
|
-
resetForm,
|
668
843
|
setErrors,
|
669
|
-
|
670
|
-
toggleNotification,
|
844
|
+
formatValidationErrors,
|
671
845
|
update,
|
672
|
-
|
846
|
+
resetForm,
|
847
|
+
create,
|
848
|
+
fromRelationModal,
|
849
|
+
fieldToConnect,
|
850
|
+
documentHistory,
|
851
|
+
parentDocumentMetaToUpdate,
|
852
|
+
dispatch,
|
853
|
+
getInitialFormValues,
|
854
|
+
parentDocumentData,
|
855
|
+
fieldToConnectUID,
|
856
|
+
updateDocumentMutation,
|
857
|
+
formatAPIError,
|
673
858
|
onPreview
|
674
859
|
]);
|
675
860
|
// Auto-save on CMD+S or CMD+Enter on macOS, and CTRL+S or CTRL+Enter on Windows/Linux
|