@strapi/content-type-builder 5.55.1 → 5.57.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/components/AIChat/lib/transforms/schemas/toCTB.js +117 -13
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js.map +1 -1
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs +118 -13
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs.map +1 -1
- package/dist/admin/components/AIChat/providers/SchemaProvider.js +31 -19
- package/dist/admin/components/AIChat/providers/SchemaProvider.js.map +1 -1
- package/dist/admin/components/AIChat/providers/SchemaProvider.mjs +31 -19
- package/dist/admin/components/AIChat/providers/SchemaProvider.mjs.map +1 -1
- package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -1
- package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -1
- package/dist/admin/components/DataManager/DataManagerProvider.js +166 -6
- package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -1
- package/dist/admin/components/DataManager/DataManagerProvider.mjs +165 -7
- package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -1
- package/dist/admin/components/DataManager/RenameMigrationModal.js +285 -0
- package/dist/admin/components/DataManager/RenameMigrationModal.js.map +1 -0
- package/dist/admin/components/DataManager/RenameMigrationModal.mjs +257 -0
- package/dist/admin/components/DataManager/RenameMigrationModal.mjs.map +1 -0
- package/dist/admin/components/DataManager/reducer.js +107 -2
- package/dist/admin/components/DataManager/reducer.js.map +1 -1
- package/dist/admin/components/DataManager/reducer.mjs +106 -2
- package/dist/admin/components/DataManager/reducer.mjs.map +1 -1
- package/dist/admin/components/DataManager/utils/cleanData.js +8 -1
- package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -1
- package/dist/admin/components/DataManager/utils/cleanData.mjs +8 -1
- package/dist/admin/components/DataManager/utils/cleanData.mjs.map +1 -1
- package/dist/admin/components/DataManager/utils/groupRenameChains.js +86 -0
- package/dist/admin/components/DataManager/utils/groupRenameChains.js.map +1 -0
- package/dist/admin/components/DataManager/utils/groupRenameChains.mjs +84 -0
- package/dist/admin/components/DataManager/utils/groupRenameChains.mjs.map +1 -0
- package/dist/admin/components/DataManager/utils/isStorageCompatibleRename.js +29 -0
- package/dist/admin/components/DataManager/utils/isStorageCompatibleRename.js.map +1 -0
- package/dist/admin/components/DataManager/utils/isStorageCompatibleRename.mjs +27 -0
- package/dist/admin/components/DataManager/utils/isStorageCompatibleRename.mjs.map +1 -0
- package/dist/admin/components/DataManager/utils/resolveAfterEditRenameConsent.js +35 -0
- package/dist/admin/components/DataManager/utils/resolveAfterEditRenameConsent.js.map +1 -0
- package/dist/admin/components/DataManager/utils/resolveAfterEditRenameConsent.mjs +33 -0
- package/dist/admin/components/DataManager/utils/resolveAfterEditRenameConsent.mjs.map +1 -0
- package/dist/admin/components/DataManager/utils/splitChainsByInheritedConsent.js +48 -0
- package/dist/admin/components/DataManager/utils/splitChainsByInheritedConsent.js.map +1 -0
- package/dist/admin/components/DataManager/utils/splitChainsByInheritedConsent.mjs +45 -0
- package/dist/admin/components/DataManager/utils/splitChainsByInheritedConsent.mjs.map +1 -0
- package/dist/admin/components/FormModal/FormModal.js +143 -9
- package/dist/admin/components/FormModal/FormModal.js.map +1 -1
- package/dist/admin/components/FormModal/FormModal.mjs +144 -10
- package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/validation/common.js +6 -5
- package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/validation/common.mjs +1 -1
- package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.js +10 -7
- package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.mjs +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -1
- package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js +24 -21
- package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js.map +1 -1
- package/dist/admin/components/FormModal/contentType/createContentTypeSchema.mjs +1 -1
- package/dist/admin/components/FormModal/contentType/createContentTypeSchema.mjs.map +1 -1
- package/dist/admin/components/FormModal/forms/utils/createCollectionName.js +3 -2
- package/dist/admin/components/FormModal/forms/utils/createCollectionName.js.map +1 -1
- package/dist/admin/components/FormModal/forms/utils/createCollectionName.mjs +1 -1
- package/dist/admin/components/FormModal/forms/utils/createCollectionName.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/getRenameStorageChange.js +73 -0
- package/dist/admin/components/FormModal/utils/getRenameStorageChange.js.map +1 -0
- package/dist/admin/components/FormModal/utils/getRenameStorageChange.mjs +70 -0
- package/dist/admin/components/FormModal/utils/getRenameStorageChange.mjs.map +1 -0
- package/dist/admin/src/components/AIChat/components/AnimatedBox.d.ts +2 -2
- package/dist/admin/src/components/AIChat/components/Input.d.ts +2 -2
- package/dist/admin/src/components/AIChat/lib/transforms/schemas/toCTB.d.ts +4 -3
- package/dist/admin/src/components/AIChat/lib/types/schema.d.ts +6 -1
- package/dist/admin/src/components/AttributeOptions/OptionBoxWrapper.d.ts +2 -2
- package/dist/admin/src/components/ComponentRow.d.ts +2 -2
- package/dist/admin/src/components/DataManager/DataManagerContext.d.ts +28 -2
- package/dist/admin/src/components/DataManager/RenameMigrationModal.d.ts +73 -0
- package/dist/admin/src/components/DataManager/reducer.d.ts +17 -2
- package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +16 -0
- package/dist/admin/src/components/DataManager/utils/groupRenameChains.d.ts +31 -0
- package/dist/admin/src/components/DataManager/utils/isStorageCompatibleRename.d.ts +10 -0
- package/dist/admin/src/components/DataManager/utils/resolveAfterEditRenameConsent.d.ts +24 -0
- package/dist/admin/src/components/DataManager/utils/splitChainsByInheritedConsent.d.ts +26 -0
- package/dist/admin/src/components/FormModal/utils/getRenameStorageChange.d.ts +40 -0
- package/dist/admin/src/components/List.d.ts +2 -2
- package/dist/admin/src/components/Relation/RelationNaturePicker/Components.d.ts +4 -4
- package/dist/admin/src/types.d.ts +23 -0
- package/dist/admin/translations/en.json.js +12 -0
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +12 -0
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/server/config.js +24 -3
- package/dist/server/config.js.map +1 -1
- package/dist/server/config.mjs +21 -3
- package/dist/server/config.mjs.map +1 -1
- package/dist/server/controllers/schema.js +2 -2
- package/dist/server/controllers/schema.js.map +1 -1
- package/dist/server/controllers/schema.mjs +1 -1
- package/dist/server/controllers/schema.mjs.map +1 -1
- package/dist/server/controllers/validation/content-type.js +9 -11
- package/dist/server/controllers/validation/content-type.js.map +1 -1
- package/dist/server/controllers/validation/content-type.mjs +7 -9
- package/dist/server/controllers/validation/content-type.mjs.map +1 -1
- package/dist/server/controllers/validation/model-schema.js +2 -3
- package/dist/server/controllers/validation/model-schema.js.map +1 -1
- package/dist/server/controllers/validation/model-schema.mjs +1 -2
- package/dist/server/controllers/validation/model-schema.mjs.map +1 -1
- package/dist/server/controllers/validation/relations.js +1 -2
- package/dist/server/controllers/validation/relations.js.map +1 -1
- package/dist/server/controllers/validation/relations.mjs +1 -2
- package/dist/server/controllers/validation/relations.mjs.map +1 -1
- package/dist/server/controllers/validation/schema.js +42 -23
- package/dist/server/controllers/validation/schema.js.map +1 -1
- package/dist/server/controllers/validation/schema.mjs +43 -24
- package/dist/server/controllers/validation/schema.mjs.map +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/services/content-types.js +1 -2
- package/dist/server/services/content-types.js.map +1 -1
- package/dist/server/services/content-types.mjs +2 -3
- package/dist/server/services/content-types.mjs.map +1 -1
- package/dist/server/services/migration-builder/index.js +580 -0
- package/dist/server/services/migration-builder/index.js.map +1 -0
- package/dist/server/services/migration-builder/index.mjs +573 -0
- package/dist/server/services/migration-builder/index.mjs.map +1 -0
- package/dist/server/services/schema-builder/content-type-builder.js +31 -1
- package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
- package/dist/server/services/schema-builder/content-type-builder.mjs +31 -1
- package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -1
- package/dist/server/services/schema-mutation.js +30 -2
- package/dist/server/services/schema-mutation.js.map +1 -1
- package/dist/server/services/schema-mutation.mjs +10 -2
- package/dist/server/services/schema-mutation.mjs.map +1 -1
- package/dist/server/services/schema.js +259 -15
- package/dist/server/services/schema.js.map +1 -1
- package/dist/server/services/schema.mjs +252 -9
- package/dist/server/services/schema.mjs.map +1 -1
- package/dist/server/src/config.d.ts +23 -2
- package/dist/server/src/config.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/content-type.d.ts +0 -1
- package/dist/server/src/controllers/validation/content-type.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/relations.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/schema.d.ts +28 -0
- package/dist/server/src/controllers/validation/schema.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +10 -2
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/services/content-types.d.ts.map +1 -1
- package/dist/server/src/services/migration-builder/index.d.ts +83 -0
- package/dist/server/src/services/migration-builder/index.d.ts.map +1 -0
- package/dist/server/src/services/schema-builder/content-type-builder.d.ts.map +1 -1
- package/dist/server/src/services/schema-mutation.d.ts +4 -2
- package/dist/server/src/services/schema-mutation.d.ts.map +1 -1
- package/dist/server/src/services/schema.d.ts +19 -0
- package/dist/server/src/services/schema.d.ts.map +1 -1
- package/package.json +11 -10
|
@@ -2,7 +2,7 @@ import { jsx, jsxs } from 'react/jsx-runtime';
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
import { useStrapiApp, useNotification, useGuidedTour, ConfirmDialog, GUIDED_TOUR_REQUIRED_ACTIONS } from '@strapi/admin/strapi-admin';
|
|
5
|
-
import { Modal, Dialog, Box, Typography, Tabs, Flex, Divider
|
|
5
|
+
import { Modal, Dialog, Box, Typography, Button, Tabs, Flex, Divider } from '@strapi/design-system';
|
|
6
6
|
import get from 'lodash/get';
|
|
7
7
|
import has from 'lodash/has';
|
|
8
8
|
import isEqual from 'lodash/isEqual';
|
|
@@ -53,6 +53,7 @@ import { canEditContentType } from './utils/canEditContentType.mjs';
|
|
|
53
53
|
import { createUid, createComponentUid } from './utils/createUid.mjs';
|
|
54
54
|
import { getAttributesToDisplay } from './utils/getAttributesToDisplay.mjs';
|
|
55
55
|
import { getFormInputNames } from './utils/getFormInputNames.mjs';
|
|
56
|
+
import { getRenameStorageChange } from './utils/getRenameStorageChange.mjs';
|
|
56
57
|
|
|
57
58
|
const FormComponent = styled.form`
|
|
58
59
|
overflow: auto;
|
|
@@ -88,11 +89,20 @@ const FormModal = ()=>{
|
|
|
88
89
|
const ctbFormsAPI = ctbPlugin?.apis.forms;
|
|
89
90
|
const inputsFromPlugins = ctbFormsAPI.components.inputs;
|
|
90
91
|
const dispatchGuidedTour = useGuidedTour('FormModal', (s)=>s.dispatch);
|
|
91
|
-
const { addAttribute, editAttribute, addCustomFieldAttribute, addCreatedComponentToDynamicZone, changeDynamicZoneComponents, contentTypes, components, createSchema, createComponentSchema, deleteComponent, deleteContentType, editCustomFieldAttribute, updateSchema, nestedComponents, sortedContentTypesList, updateComponentSchema, updateComponentUid, reservedNames } = useDataManager();
|
|
92
|
+
const { addAttribute, editAttribute, addCustomFieldAttribute, addCreatedComponentToDynamicZone, changeDynamicZoneComponents, contentTypes, components, createSchema, createComponentSchema, deleteComponent, deleteContentType, editCustomFieldAttribute, updateSchema, nestedComponents, sortedContentTypesList, updateComponentSchema, updateComponentUid, reservedNames, confirmAttributeRenameMigration, attributeRenameMigrationMode } = useDataManager();
|
|
92
93
|
const { componentToCreate, formErrors, initialData, isCreatingComponentWhileAddingAField, modifiedData } = reducerState;
|
|
93
94
|
const type = forTarget === 'component' ? components[targetUid] : contentTypes[targetUid];
|
|
94
95
|
const [showWarningDialog, setShowWarningDialog] = useState(false);
|
|
95
96
|
const [pendingSubmit, setPendingSubmit] = useState(null);
|
|
97
|
+
// Set when the edit renames an existing field *and* changes its storage: the
|
|
98
|
+
// data cannot be preserved, so the user confirms before the field is recreated.
|
|
99
|
+
const [storageChangeWarning, setStorageChangeWarning] = useState(null);
|
|
100
|
+
const checkRenameStorageChange = ()=>{
|
|
101
|
+
if (actionType !== 'edit' || modalType !== 'attribute' && modalType !== 'customField') {
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
return getRenameStorageChange(initialData, modifiedData, attributeRenameMigrationMode);
|
|
105
|
+
};
|
|
96
106
|
const checkFieldNameChanges = ()=>{
|
|
97
107
|
// Only check when editing an attribute
|
|
98
108
|
if (actionType !== 'edit' || modalType !== 'attribute') {
|
|
@@ -128,7 +138,7 @@ const FormModal = ()=>{
|
|
|
128
138
|
return false;
|
|
129
139
|
};
|
|
130
140
|
React.useEffect(()=>{
|
|
131
|
-
if (isOpen) {
|
|
141
|
+
if (isOpen && modalType) {
|
|
132
142
|
const collectionTypesForRelation = sortedContentTypesList.filter(isAllowedContentTypesForRelations);
|
|
133
143
|
if (actionType === 'edit' && modalType === 'attribute' && forTarget === 'contentType') {
|
|
134
144
|
trackUsage('willEditFieldOfContentType');
|
|
@@ -384,9 +394,48 @@ const FormModal = ()=>{
|
|
|
384
394
|
dispatch,
|
|
385
395
|
formErrors
|
|
386
396
|
]);
|
|
387
|
-
const submitForm = async (e, shouldContinue = isCreating
|
|
397
|
+
const submitForm = async (e, shouldContinue = isCreating, // The user already confirmed the field will be recreated empty (rename +
|
|
398
|
+
// storage change): there is no data to preserve, so don't ask about it.
|
|
399
|
+
{ skipRenameMigration = false } = {})=>{
|
|
388
400
|
try {
|
|
389
401
|
await checkFormValidity();
|
|
402
|
+
let recordRename = !skipRenameMigration;
|
|
403
|
+
let declineRename = false;
|
|
404
|
+
if (!skipRenameMigration && actionType === 'edit' && (isCreatingAttribute || isCreatingCustomFieldAttribute) && // A field that was never saved has no data to preserve (and
|
|
405
|
+
// `recordRename` skips it), so there is nothing to ask about.
|
|
406
|
+
initialData.status !== 'NEW' && toStringValue(initialData.name) !== toStringValue(modifiedData.name)) {
|
|
407
|
+
const decision = await confirmAttributeRenameMigration({
|
|
408
|
+
forTarget,
|
|
409
|
+
uid: targetUid,
|
|
410
|
+
oldName: toStringValue(initialData.name),
|
|
411
|
+
newName: toStringValue(modifiedData.name)
|
|
412
|
+
});
|
|
413
|
+
if (decision === null) {
|
|
414
|
+
return;
|
|
415
|
+
}
|
|
416
|
+
recordRename = decision;
|
|
417
|
+
declineRename = !decision;
|
|
418
|
+
}
|
|
419
|
+
// Renaming the other side of a relation from this form renames a field
|
|
420
|
+
// of the target type, which may own the join table: ask for that one
|
|
421
|
+
// too, after the field's own prompt.
|
|
422
|
+
const oldTargetAttribute = toStringValue(initialData.targetAttribute);
|
|
423
|
+
const newTargetAttribute = toStringValue(modifiedData.targetAttribute);
|
|
424
|
+
let recordTargetRename = !skipRenameMigration;
|
|
425
|
+
let declineTargetRename = false;
|
|
426
|
+
if (!skipRenameMigration && actionType === 'edit' && isCreatingAttribute && attributeType === 'relation' && oldTargetAttribute !== '' && newTargetAttribute !== '' && oldTargetAttribute !== newTargetAttribute && toStringValue(initialData.target) === toStringValue(modifiedData.target)) {
|
|
427
|
+
const decision = await confirmAttributeRenameMigration({
|
|
428
|
+
forTarget: 'contentType',
|
|
429
|
+
uid: toStringValue(modifiedData.target),
|
|
430
|
+
oldName: oldTargetAttribute,
|
|
431
|
+
newName: newTargetAttribute
|
|
432
|
+
});
|
|
433
|
+
if (decision === null) {
|
|
434
|
+
return;
|
|
435
|
+
}
|
|
436
|
+
recordTargetRename = decision;
|
|
437
|
+
declineTargetRename = !decision;
|
|
438
|
+
}
|
|
390
439
|
dispatch(actions.setErrors({
|
|
391
440
|
errors: {}
|
|
392
441
|
}));
|
|
@@ -505,7 +554,9 @@ const FormModal = ()=>{
|
|
|
505
554
|
},
|
|
506
555
|
forTarget,
|
|
507
556
|
targetUid,
|
|
508
|
-
name: toStringValue(initialData.name)
|
|
557
|
+
name: toStringValue(initialData.name),
|
|
558
|
+
recordRename,
|
|
559
|
+
declineRename
|
|
509
560
|
};
|
|
510
561
|
if (actionType === 'edit') {
|
|
511
562
|
editCustomFieldAttribute(customFieldAttributeUpdate);
|
|
@@ -536,7 +587,9 @@ const FormModal = ()=>{
|
|
|
536
587
|
attributeToSet: modifiedData,
|
|
537
588
|
forTarget,
|
|
538
589
|
targetUid,
|
|
539
|
-
name: toStringValue(initialData.name)
|
|
590
|
+
name: toStringValue(initialData.name),
|
|
591
|
+
recordRename,
|
|
592
|
+
declineRename
|
|
540
593
|
});
|
|
541
594
|
}
|
|
542
595
|
// Adding a component to a dynamiczone is not the same logic as creating a simple field
|
|
@@ -566,7 +619,11 @@ const FormModal = ()=>{
|
|
|
566
619
|
attributeToSet: modifiedData,
|
|
567
620
|
forTarget,
|
|
568
621
|
targetUid,
|
|
569
|
-
name: toStringValue(initialData.name)
|
|
622
|
+
name: toStringValue(initialData.name),
|
|
623
|
+
recordRename,
|
|
624
|
+
declineRename,
|
|
625
|
+
recordTargetRename,
|
|
626
|
+
declineTargetRename
|
|
570
627
|
});
|
|
571
628
|
}
|
|
572
629
|
if (shouldContinue) {
|
|
@@ -622,7 +679,9 @@ const FormModal = ()=>{
|
|
|
622
679
|
attributeToSet: attributeData,
|
|
623
680
|
forTarget,
|
|
624
681
|
targetUid,
|
|
625
|
-
name: toStringValue(initialData.name)
|
|
682
|
+
name: toStringValue(initialData.name),
|
|
683
|
+
recordRename,
|
|
684
|
+
declineRename
|
|
626
685
|
});
|
|
627
686
|
}
|
|
628
687
|
if (shouldContinue) {
|
|
@@ -743,6 +802,34 @@ const FormModal = ()=>{
|
|
|
743
802
|
}
|
|
744
803
|
}
|
|
745
804
|
};
|
|
805
|
+
// Runs after the condition warning (if any): warn when the rename also
|
|
806
|
+
// changes the field's storage, otherwise submit.
|
|
807
|
+
const continueSubmit = async (e, shouldContinue)=>{
|
|
808
|
+
const storageChange = checkRenameStorageChange();
|
|
809
|
+
if (storageChange) {
|
|
810
|
+
setPendingSubmit({
|
|
811
|
+
e,
|
|
812
|
+
shouldContinue
|
|
813
|
+
});
|
|
814
|
+
setStorageChangeWarning(storageChange);
|
|
815
|
+
return;
|
|
816
|
+
}
|
|
817
|
+
await submitForm(e, shouldContinue);
|
|
818
|
+
};
|
|
819
|
+
const cancelStorageChange = ()=>{
|
|
820
|
+
setStorageChangeWarning(null);
|
|
821
|
+
setPendingSubmit(null);
|
|
822
|
+
};
|
|
823
|
+
const confirmStorageChange = ()=>{
|
|
824
|
+
if (pendingSubmit === null) {
|
|
825
|
+
return;
|
|
826
|
+
}
|
|
827
|
+
const { e, shouldContinue } = pendingSubmit;
|
|
828
|
+
cancelStorageChange();
|
|
829
|
+
submitForm(e, shouldContinue, {
|
|
830
|
+
skipRenameMigration: true
|
|
831
|
+
});
|
|
832
|
+
};
|
|
746
833
|
const handleSubmit = async (e, shouldContinue = isCreating)=>{
|
|
747
834
|
e.preventDefault();
|
|
748
835
|
// Check for field name changes when clicking Finish
|
|
@@ -755,7 +842,7 @@ const FormModal = ()=>{
|
|
|
755
842
|
setShowWarningDialog(true);
|
|
756
843
|
return;
|
|
757
844
|
}
|
|
758
|
-
await
|
|
845
|
+
await continueSubmit(e, shouldContinue);
|
|
759
846
|
};
|
|
760
847
|
const handleConfirmClose = ()=>{
|
|
761
848
|
// eslint-disable-next-line no-alert
|
|
@@ -919,7 +1006,7 @@ const FormModal = ()=>{
|
|
|
919
1006
|
const { e, shouldContinue } = pendingSubmit;
|
|
920
1007
|
setShowWarningDialog(false);
|
|
921
1008
|
setPendingSubmit(null);
|
|
922
|
-
|
|
1009
|
+
continueSubmit(e, shouldContinue);
|
|
923
1010
|
}
|
|
924
1011
|
},
|
|
925
1012
|
onCancel: ()=>{
|
|
@@ -984,6 +1071,53 @@ const FormModal = ()=>{
|
|
|
984
1071
|
})
|
|
985
1072
|
]
|
|
986
1073
|
}),
|
|
1074
|
+
/*#__PURE__*/ jsx(Dialog.Root, {
|
|
1075
|
+
open: storageChangeWarning !== null,
|
|
1076
|
+
onOpenChange: (open)=>!open && cancelStorageChange(),
|
|
1077
|
+
children: /*#__PURE__*/ jsx(ConfirmDialog, {
|
|
1078
|
+
title: formatMessage({
|
|
1079
|
+
id: getTrad('form.attribute.rename-type-change-warning.title'),
|
|
1080
|
+
defaultMessage: 'Existing data will be lost'
|
|
1081
|
+
}),
|
|
1082
|
+
onCancel: cancelStorageChange,
|
|
1083
|
+
endAction: /*#__PURE__*/ jsx(Dialog.Action, {
|
|
1084
|
+
children: /*#__PURE__*/ jsx(Button, {
|
|
1085
|
+
fullWidth: true,
|
|
1086
|
+
variant: "danger",
|
|
1087
|
+
onClick: confirmStorageChange,
|
|
1088
|
+
children: formatMessage({
|
|
1089
|
+
id: getTrad('form.attribute.rename-type-change-warning.confirm'),
|
|
1090
|
+
defaultMessage: 'Continue'
|
|
1091
|
+
})
|
|
1092
|
+
})
|
|
1093
|
+
}),
|
|
1094
|
+
children: storageChangeWarning && /*#__PURE__*/ jsx(Box, {
|
|
1095
|
+
children: /*#__PURE__*/ jsx(Typography, {
|
|
1096
|
+
children: formatMessage({
|
|
1097
|
+
id: getTrad('form.attribute.rename-type-change-warning.body'),
|
|
1098
|
+
defaultMessage: 'You are renaming {oldName} to {newName} and changing it from {oldType} to {newType}. Strapi cannot preserve the existing data of this field when both change at once. The field will be recreated empty when you save.'
|
|
1099
|
+
}, {
|
|
1100
|
+
oldName: /*#__PURE__*/ jsx(Typography, {
|
|
1101
|
+
fontWeight: "bold",
|
|
1102
|
+
children: storageChangeWarning.oldName
|
|
1103
|
+
}),
|
|
1104
|
+
newName: /*#__PURE__*/ jsx(Typography, {
|
|
1105
|
+
fontWeight: "bold",
|
|
1106
|
+
children: storageChangeWarning.newName
|
|
1107
|
+
}),
|
|
1108
|
+
oldType: /*#__PURE__*/ jsx(Typography, {
|
|
1109
|
+
fontWeight: "bold",
|
|
1110
|
+
children: storageChangeWarning.oldType
|
|
1111
|
+
}),
|
|
1112
|
+
newType: /*#__PURE__*/ jsx(Typography, {
|
|
1113
|
+
fontWeight: "bold",
|
|
1114
|
+
children: storageChangeWarning.newType
|
|
1115
|
+
})
|
|
1116
|
+
})
|
|
1117
|
+
})
|
|
1118
|
+
})
|
|
1119
|
+
})
|
|
1120
|
+
}),
|
|
987
1121
|
/*#__PURE__*/ jsx(FormModalHeader, {
|
|
988
1122
|
actionType: actionType,
|
|
989
1123
|
attributeName: attributeName,
|