@strapi/content-manager 5.16.0 → 5.17.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/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/pages/EditView/EditViewPage.js +11 -1
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.mjs +11 -1
- package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.js +33 -47
- package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
- package/dist/admin/pages/EditView/components/DocumentActions.mjs +34 -48
- 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/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/src/pages/EditView/utils/data.d.ts +19 -1
- package/dist/admin/src/utils/validation.d.ts +1 -0
- package/dist/admin/utils/validation.js +16 -5
- package/dist/admin/utils/validation.js.map +1 -1
- package/dist/admin/utils/validation.mjs +16 -5
- package/dist/admin/utils/validation.mjs.map +1 -1
- package/package.json +5 -5
|
@@ -11,7 +11,6 @@ var merge = require('lodash/merge');
|
|
|
11
11
|
var set = require('lodash/set');
|
|
12
12
|
var reactIntl = require('react-intl');
|
|
13
13
|
var reactRouterDom = require('react-router-dom');
|
|
14
|
-
var styledComponents = require('styled-components');
|
|
15
14
|
var attributes = require('../../../constants/attributes.js');
|
|
16
15
|
var collections = require('../../../constants/collections.js');
|
|
17
16
|
var DocumentRBAC = require('../../../features/DocumentRBAC.js');
|
|
@@ -23,6 +22,7 @@ var router = require('../../../router.js');
|
|
|
23
22
|
var documents = require('../../../services/documents.js');
|
|
24
23
|
var api = require('../../../utils/api.js');
|
|
25
24
|
var translations = require('../../../utils/translations.js');
|
|
25
|
+
var data = require('../utils/data.js');
|
|
26
26
|
var RelationModal = require('./FormInputs/Relations/RelationModal.js');
|
|
27
27
|
|
|
28
28
|
function _interopNamespaceDefault(e) {
|
|
@@ -174,11 +174,6 @@ const DocumentActionButton = (action)=>{
|
|
|
174
174
|
]
|
|
175
175
|
});
|
|
176
176
|
};
|
|
177
|
-
const MenuItem = styledComponents.styled(designSystem.Menu.Item)`
|
|
178
|
-
&:hover {
|
|
179
|
-
background: ${({ theme, isVariantDanger, isDisabled })=>isVariantDanger && !isDisabled ? theme.colors.danger100 : 'neutral'};
|
|
180
|
-
}
|
|
181
|
-
`;
|
|
182
177
|
const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })=>{
|
|
183
178
|
const [isOpen, setIsOpen] = React__namespace.useState(false);
|
|
184
179
|
const [dialogId, setDialogId] = React__namespace.useState(null);
|
|
@@ -240,27 +235,19 @@ const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })
|
|
|
240
235
|
popoverPlacement: "bottom-end",
|
|
241
236
|
children: [
|
|
242
237
|
actions.map((action)=>{
|
|
243
|
-
return /*#__PURE__*/ jsxRuntime.jsx(
|
|
238
|
+
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Item, {
|
|
244
239
|
disabled: action.disabled,
|
|
245
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),
|
|
246
241
|
display: "block",
|
|
247
|
-
|
|
248
|
-
|
|
242
|
+
variant: action.variant === 'danger' ? action.variant : 'default',
|
|
243
|
+
startIcon: action.icon,
|
|
249
244
|
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
250
245
|
justifyContent: "space-between",
|
|
251
246
|
gap: 4,
|
|
252
|
-
children: /*#__PURE__*/ jsxRuntime.
|
|
253
|
-
color: !action.disabled ? convertActionVariantToColor(action.variant) : 'inherit',
|
|
247
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
254
248
|
gap: 2,
|
|
255
249
|
tag: "span",
|
|
256
|
-
children:
|
|
257
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
258
|
-
tag: "span",
|
|
259
|
-
color: !action.disabled ? convertActionVariantToIconColor(action.variant) : 'inherit',
|
|
260
|
-
children: action.icon
|
|
261
|
-
}),
|
|
262
|
-
action.label
|
|
263
|
-
]
|
|
250
|
+
children: action.label
|
|
264
251
|
})
|
|
265
252
|
})
|
|
266
253
|
}, action.id);
|
|
@@ -288,30 +275,6 @@ const DocumentActionsMenu = ({ actions, children, label, variant = 'tertiary' })
|
|
|
288
275
|
]
|
|
289
276
|
});
|
|
290
277
|
};
|
|
291
|
-
const convertActionVariantToColor = (variant = 'secondary')=>{
|
|
292
|
-
switch(variant){
|
|
293
|
-
case 'danger':
|
|
294
|
-
return 'danger600';
|
|
295
|
-
case 'secondary':
|
|
296
|
-
return undefined;
|
|
297
|
-
case 'success':
|
|
298
|
-
return 'success600';
|
|
299
|
-
default:
|
|
300
|
-
return 'primary600';
|
|
301
|
-
}
|
|
302
|
-
};
|
|
303
|
-
const convertActionVariantToIconColor = (variant = 'secondary')=>{
|
|
304
|
-
switch(variant){
|
|
305
|
-
case 'danger':
|
|
306
|
-
return 'danger600';
|
|
307
|
-
case 'secondary':
|
|
308
|
-
return 'neutral500';
|
|
309
|
-
case 'success':
|
|
310
|
-
return 'success600';
|
|
311
|
-
default:
|
|
312
|
-
return 'primary600';
|
|
313
|
-
}
|
|
314
|
-
};
|
|
315
278
|
const DocumentActionConfirmDialog = ({ onClose, onCancel, onConfirm, title, content, isOpen, variant = 'secondary', loading })=>{
|
|
316
279
|
const { formatMessage } = reactIntl.useIntl();
|
|
317
280
|
const handleClose = async ()=>{
|
|
@@ -434,6 +397,7 @@ const transformData = (data)=>{
|
|
|
434
397
|
const setErrors = strapiAdmin.useForm('PublishAction', (state)=>state.setErrors);
|
|
435
398
|
const formValues = strapiAdmin.useForm('PublishAction', ({ values })=>values);
|
|
436
399
|
const resetForm = strapiAdmin.useForm('PublishAction', ({ resetForm })=>resetForm);
|
|
400
|
+
const { currentDocument: { components } } = useDocumentContext.useDocumentContext('PublishAction');
|
|
437
401
|
// need to discriminate if the publish is coming from a relation modal or in the edit view
|
|
438
402
|
const relationContext = RelationModal.useRelationModal('PublishAction', ()=>true, false);
|
|
439
403
|
const fromRelationModal = relationContext != undefined;
|
|
@@ -572,12 +536,16 @@ const transformData = (data)=>{
|
|
|
572
536
|
}
|
|
573
537
|
return;
|
|
574
538
|
}
|
|
539
|
+
const { data: data$1 } = data.handleInvisibleAttributes(transformData(formValues), {
|
|
540
|
+
schema,
|
|
541
|
+
components
|
|
542
|
+
});
|
|
575
543
|
const res = await publish({
|
|
576
544
|
collectionType,
|
|
577
545
|
model,
|
|
578
546
|
documentId,
|
|
579
547
|
params: currentDocumentMeta.params
|
|
580
|
-
},
|
|
548
|
+
}, data$1);
|
|
581
549
|
// Reset form if successful
|
|
582
550
|
if ('data' in res) {
|
|
583
551
|
resetForm();
|
|
@@ -711,12 +679,14 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
711
679
|
const isCloning = cloneMatch !== null;
|
|
712
680
|
const { formatMessage } = reactIntl.useIntl();
|
|
713
681
|
const { create, update, clone, isLoading } = useDocumentActions.useDocumentActions();
|
|
682
|
+
const { currentDocument: { components } } = useDocumentContext.useDocumentContext('UpdateAction');
|
|
714
683
|
const [{ rawQuery }] = strapiAdmin.useQueryParams();
|
|
715
684
|
const onPreview = Preview.usePreviewContext('UpdateAction', (state)=>state.onPreview, false);
|
|
716
685
|
const { getInitialFormValues } = useDocument.useDoc();
|
|
717
686
|
const isSubmitting = strapiAdmin.useForm('UpdateAction', ({ isSubmitting })=>isSubmitting);
|
|
718
687
|
const modified = strapiAdmin.useForm('UpdateAction', ({ modified })=>modified);
|
|
719
688
|
const setSubmitting = strapiAdmin.useForm('UpdateAction', ({ setSubmitting })=>setSubmitting);
|
|
689
|
+
const initialValues = strapiAdmin.useForm('UpdateAction', ({ initialValues })=>initialValues);
|
|
720
690
|
const document = strapiAdmin.useForm('UpdateAction', ({ values })=>values);
|
|
721
691
|
const validate = strapiAdmin.useForm('UpdateAction', (state)=>state.validate);
|
|
722
692
|
const setErrors = strapiAdmin.useForm('UpdateAction', (state)=>state.setErrors);
|
|
@@ -724,6 +694,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
724
694
|
const dispatch = RelationModal.useRelationModal('UpdateAction', (state)=>state.dispatch);
|
|
725
695
|
// need to discriminate if the update is coming from a relation modal or in the edit view
|
|
726
696
|
const relationContext = RelationModal.useRelationModal('UpdateAction', ()=>true, false);
|
|
697
|
+
const relationalModalSchema = RelationModal.useRelationModal('UpdateAction', (state)=>state.currentDocument.schema, false);
|
|
727
698
|
const fieldToConnect = RelationModal.useRelationModal('UpdateAction', (state)=>state.state.fieldToConnect, false);
|
|
728
699
|
const fieldToConnectUID = RelationModal.useRelationModal('PublishAction', (state)=>state.state.fieldToConnectUID, false);
|
|
729
700
|
const documentHistory = RelationModal.useRelationModal('UpdateAction', (state)=>state.state.documentHistory, false);
|
|
@@ -741,6 +712,7 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
741
712
|
}, {
|
|
742
713
|
skip: !parentDocumentMetaToUpdate
|
|
743
714
|
});
|
|
715
|
+
const { schema } = useDocument.useDoc();
|
|
744
716
|
const handleUpdate = React__namespace.useCallback(async ()=>{
|
|
745
717
|
setSubmitting(true);
|
|
746
718
|
try {
|
|
@@ -777,22 +749,32 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
777
749
|
setErrors(formatValidationErrors(res.error));
|
|
778
750
|
}
|
|
779
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
|
+
});
|
|
780
757
|
const res = await update({
|
|
781
758
|
collectionType,
|
|
782
759
|
model,
|
|
783
760
|
documentId,
|
|
784
761
|
params: currentDocumentMeta.params
|
|
785
|
-
},
|
|
762
|
+
}, data$1);
|
|
786
763
|
if ('error' in res && api.isBaseQueryError(res.error) && res.error.name === 'ValidationError') {
|
|
787
764
|
setErrors(formatValidationErrors(res.error));
|
|
788
765
|
} else {
|
|
789
766
|
resetForm();
|
|
790
767
|
}
|
|
791
768
|
} else {
|
|
769
|
+
const { data: data$1 } = data.handleInvisibleAttributes(transformData(document), {
|
|
770
|
+
schema: fromRelationModal ? relationalModalSchema : schema,
|
|
771
|
+
initialValues,
|
|
772
|
+
components
|
|
773
|
+
});
|
|
792
774
|
const res = await create({
|
|
793
775
|
model,
|
|
794
776
|
params: currentDocumentMeta.params
|
|
795
|
-
},
|
|
777
|
+
}, data$1);
|
|
796
778
|
if ('data' in res && collectionType !== collections.SINGLE_TYPES) {
|
|
797
779
|
if (fromRelationModal) {
|
|
798
780
|
const createdRelation = {
|
|
@@ -893,7 +875,11 @@ const UpdateAction = ({ activeTab, documentId, model, collectionType })=>{
|
|
|
893
875
|
fieldToConnectUID,
|
|
894
876
|
updateDocumentMutation,
|
|
895
877
|
formatAPIError,
|
|
896
|
-
onPreview
|
|
878
|
+
onPreview,
|
|
879
|
+
initialValues,
|
|
880
|
+
schema,
|
|
881
|
+
components,
|
|
882
|
+
relationalModalSchema
|
|
897
883
|
]);
|
|
898
884
|
// Auto-save on CMD+S or CMD+Enter on macOS, and CTRL+S or CTRL+Enter on Windows/Linux
|
|
899
885
|
React__namespace.useEffect(()=>{
|