@strapi/content-type-builder 5.57.0 → 5.59.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/FeedbackModal.js +13 -7
- package/dist/admin/components/AIChat/FeedbackModal.js.map +1 -1
- package/dist/admin/components/AIChat/FeedbackModal.mjs +14 -8
- package/dist/admin/components/AIChat/FeedbackModal.mjs.map +1 -1
- package/dist/admin/components/AIChat/UploadCodeModal.js +12 -6
- package/dist/admin/components/AIChat/UploadCodeModal.js.map +1 -1
- package/dist/admin/components/AIChat/UploadCodeModal.mjs +13 -7
- package/dist/admin/components/AIChat/UploadCodeModal.mjs.map +1 -1
- package/dist/admin/components/AIChat/UploadFigmaModal.js +12 -6
- package/dist/admin/components/AIChat/UploadFigmaModal.js.map +1 -1
- package/dist/admin/components/AIChat/UploadFigmaModal.mjs +13 -7
- package/dist/admin/components/AIChat/UploadFigmaModal.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/Attachments/components/Attachment.js +6 -3
- package/dist/admin/components/AIChat/components/Attachments/components/Attachment.js.map +1 -1
- package/dist/admin/components/AIChat/components/Attachments/components/Attachment.mjs +7 -4
- package/dist/admin/components/AIChat/components/Attachments/components/Attachment.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/Collapsible.js +9 -4
- package/dist/admin/components/AIChat/components/Collapsible.js.map +1 -1
- package/dist/admin/components/AIChat/components/Collapsible.mjs +10 -5
- package/dist/admin/components/AIChat/components/Collapsible.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/Dropzone.js +13 -6
- package/dist/admin/components/AIChat/components/Dropzone.js.map +1 -1
- package/dist/admin/components/AIChat/components/Dropzone.mjs +14 -7
- package/dist/admin/components/AIChat/components/Dropzone.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/FloatingPanel.js +11 -4
- package/dist/admin/components/AIChat/components/FloatingPanel.js.map +1 -1
- package/dist/admin/components/AIChat/components/FloatingPanel.mjs +12 -5
- package/dist/admin/components/AIChat/components/FloatingPanel.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/FullScreenImage.js +16 -8
- package/dist/admin/components/AIChat/components/FullScreenImage.js.map +1 -1
- package/dist/admin/components/AIChat/components/FullScreenImage.mjs +17 -9
- package/dist/admin/components/AIChat/components/FullScreenImage.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/Input.js +6 -3
- package/dist/admin/components/AIChat/components/Input.js.map +1 -1
- package/dist/admin/components/AIChat/components/Input.mjs +7 -4
- package/dist/admin/components/AIChat/components/Input.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/Messages/Message.js +88 -12
- package/dist/admin/components/AIChat/components/Messages/Message.js.map +1 -1
- package/dist/admin/components/AIChat/components/Messages/Message.mjs +87 -13
- package/dist/admin/components/AIChat/components/Messages/Message.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/StepModal.js +44 -17
- package/dist/admin/components/AIChat/components/StepModal.js.map +1 -1
- package/dist/admin/components/AIChat/components/StepModal.mjs +45 -18
- package/dist/admin/components/AIChat/components/StepModal.mjs.map +1 -1
- package/dist/admin/components/AIChat/providers/ChatProvider.js +79 -27
- package/dist/admin/components/AIChat/providers/ChatProvider.js.map +1 -1
- package/dist/admin/components/AIChat/providers/ChatProvider.mjs +80 -28
- package/dist/admin/components/AIChat/providers/ChatProvider.mjs.map +1 -1
- package/dist/admin/components/AIChat/providers/SchemaProvider.js +6 -3
- package/dist/admin/components/AIChat/providers/SchemaProvider.js.map +1 -1
- package/dist/admin/components/AIChat/providers/SchemaProvider.mjs +7 -4
- package/dist/admin/components/AIChat/providers/SchemaProvider.mjs.map +1 -1
- package/dist/admin/components/AttributeOptions/AttributeOption.js +2 -2
- package/dist/admin/components/AttributeOptions/AttributeOption.js.map +1 -1
- package/dist/admin/components/AttributeOptions/AttributeOption.mjs +2 -2
- package/dist/admin/components/AttributeOptions/AttributeOption.mjs.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/lib/buildFolderTree.js.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/lib/buildFolderTree.mjs.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/lib/dropProjection.js.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/lib/dropProjection.mjs.map +1 -1
- package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js +2 -1
- package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js.map +1 -1
- package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs +2 -1
- package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs.map +1 -1
- package/dist/admin/components/DataManager/DataManagerProvider.js +317 -275
- package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -1
- package/dist/admin/components/DataManager/DataManagerProvider.mjs +319 -277
- package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -1
- package/dist/admin/components/DataManager/RenameMigrationModal.js.map +1 -1
- package/dist/admin/components/DataManager/RenameMigrationModal.mjs.map +1 -1
- package/dist/admin/components/DataManager/reducer.js +53 -4
- package/dist/admin/components/DataManager/reducer.js.map +1 -1
- package/dist/admin/components/DataManager/reducer.mjs +53 -4
- package/dist/admin/components/DataManager/reducer.mjs.map +1 -1
- package/dist/admin/components/DynamicZoneList.js +2 -1
- package/dist/admin/components/DynamicZoneList.js.map +1 -1
- package/dist/admin/components/DynamicZoneList.mjs +2 -1
- package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
- package/dist/admin/components/FormModal/FormModal.js +36 -62
- package/dist/admin/components/FormModal/FormModal.js.map +1 -1
- package/dist/admin/components/FormModal/FormModal.mjs +36 -62
- package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/ConditionForm.js +2 -1
- package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/ConditionForm.mjs +2 -1
- package/dist/admin/components/FormModal/attributes/ConditionForm.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/types.js +2 -2
- package/dist/admin/components/FormModal/attributes/types.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/types.mjs +2 -2
- package/dist/admin/components/FormModal/attributes/types.mjs.map +1 -1
- package/dist/admin/components/FormModal/forms/forms.js +1 -1
- package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
- package/dist/admin/components/FormModal/forms/forms.mjs +1 -1
- package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -1
- package/dist/admin/components/GenericInputs.js +2 -1
- package/dist/admin/components/GenericInputs.js.map +1 -1
- package/dist/admin/components/GenericInputs.mjs +2 -1
- package/dist/admin/components/GenericInputs.mjs.map +1 -1
- package/dist/admin/components/TabForm.js.map +1 -1
- package/dist/admin/components/TabForm.mjs.map +1 -1
- package/dist/admin/src/components/AIChat/components/FullScreenImage.d.ts +8 -0
- package/dist/admin/src/components/AIChat/components/Messages/Message.d.ts +20 -0
- package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +8 -8
- package/dist/admin/translations/cs.json.js +0 -2
- package/dist/admin/translations/cs.json.js.map +1 -1
- package/dist/admin/translations/cs.json.mjs +0 -2
- package/dist/admin/translations/cs.json.mjs.map +1 -1
- package/dist/admin/translations/de.json.js +0 -2
- package/dist/admin/translations/de.json.js.map +1 -1
- package/dist/admin/translations/de.json.mjs +0 -2
- package/dist/admin/translations/de.json.mjs.map +1 -1
- package/dist/admin/translations/en.json.js +0 -2
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +0 -2
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/ja.json.js +0 -2
- package/dist/admin/translations/ja.json.js.map +1 -1
- package/dist/admin/translations/ja.json.mjs +0 -2
- package/dist/admin/translations/ja.json.mjs.map +1 -1
- package/dist/admin/translations/ko.json.js +0 -2
- package/dist/admin/translations/ko.json.js.map +1 -1
- package/dist/admin/translations/ko.json.mjs +0 -2
- package/dist/admin/translations/ko.json.mjs.map +1 -1
- package/dist/admin/translations/nl.json.js +0 -2
- package/dist/admin/translations/nl.json.js.map +1 -1
- package/dist/admin/translations/nl.json.mjs +0 -2
- package/dist/admin/translations/nl.json.mjs.map +1 -1
- package/dist/admin/translations/pl.json.js +0 -2
- package/dist/admin/translations/pl.json.js.map +1 -1
- package/dist/admin/translations/pl.json.mjs +0 -2
- package/dist/admin/translations/pl.json.mjs.map +1 -1
- package/dist/admin/translations/ru.json.js +0 -2
- package/dist/admin/translations/ru.json.js.map +1 -1
- package/dist/admin/translations/ru.json.mjs +0 -2
- package/dist/admin/translations/ru.json.mjs.map +1 -1
- package/dist/admin/translations/sk.json.js +0 -2
- package/dist/admin/translations/sk.json.js.map +1 -1
- package/dist/admin/translations/sk.json.mjs +0 -2
- package/dist/admin/translations/sk.json.mjs.map +1 -1
- package/dist/admin/utils/folderTelemetry.js.map +1 -1
- package/dist/admin/utils/folderTelemetry.mjs.map +1 -1
- package/dist/admin/utils/formAPI.js.map +1 -1
- package/dist/admin/utils/formAPI.mjs.map +1 -1
- package/dist/server/controllers/validation/schema.js +3 -2
- package/dist/server/controllers/validation/schema.js.map +1 -1
- package/dist/server/controllers/validation/schema.mjs +4 -3
- package/dist/server/controllers/validation/schema.mjs.map +1 -1
- package/dist/server/register.js.map +1 -1
- package/dist/server/register.mjs.map +1 -1
- package/dist/server/services/migration-builder/index.js.map +1 -1
- package/dist/server/services/migration-builder/index.mjs.map +1 -1
- package/dist/server/services/schema.js +87 -1
- package/dist/server/services/schema.js.map +1 -1
- package/dist/server/services/schema.mjs +87 -1
- package/dist/server/services/schema.mjs.map +1 -1
- package/dist/server/src/controllers/validation/schema.d.ts.map +1 -1
- package/dist/server/src/register.d.ts.map +1 -1
- package/dist/server/src/services/migration-builder/index.d.ts.map +1 -1
- package/dist/server/src/services/schema-builder/types.d.ts.map +1 -1
- package/dist/server/src/services/schema.d.ts.map +1 -1
- package/dist/server/src/utils/uid-target.d.ts +18 -0
- package/dist/server/src/utils/uid-target.d.ts.map +1 -0
- package/dist/server/utils/uid-target.js +34 -0
- package/dist/server/utils/uid-target.js.map +1 -0
- package/dist/server/utils/uid-target.mjs +31 -0
- package/dist/server/utils/uid-target.mjs.map +1 -0
- package/package.json +6 -6
|
@@ -103,39 +103,34 @@ const FormModal = ()=>{
|
|
|
103
103
|
}
|
|
104
104
|
return getRenameStorageChange(initialData, modifiedData, attributeRenameMigrationMode);
|
|
105
105
|
};
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
/**
|
|
107
|
+
* Fields whose visibility condition depends on this field and references an
|
|
108
|
+
* enum value that this edit removes or changes. Renames are followed
|
|
109
|
+
* automatically, so only an enum value change can break a condition.
|
|
110
|
+
*/ const getConditionsBrokenByEnumChange = ()=>{
|
|
108
111
|
if (actionType !== 'edit' || modalType !== 'attribute') {
|
|
109
112
|
return false;
|
|
110
113
|
}
|
|
111
|
-
const oldName = initialData.name;
|
|
112
114
|
const oldEnum = initialData.enum;
|
|
113
115
|
const newEnum = modifiedData.enum;
|
|
114
|
-
|
|
116
|
+
if (!Array.isArray(oldEnum) || !Array.isArray(newEnum)) {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
const removedValues = oldEnum.filter((value)=>!newEnum.includes(value));
|
|
120
|
+
if (removedValues.length === 0) {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
const fieldName = initialData.name;
|
|
115
124
|
const contentTypeAttributes = type?.attributes ?? [];
|
|
116
|
-
|
|
117
|
-
const referencedFields = contentTypeAttributes.filter((attr)=>{
|
|
125
|
+
const brokenFields = contentTypeAttributes.filter((attr)=>{
|
|
118
126
|
const conditionEntry = getFirstVisibleConditionEntry(attr.conditions);
|
|
119
127
|
if (conditionEntry === null) {
|
|
120
128
|
return false;
|
|
121
129
|
}
|
|
122
130
|
const { fieldVar, value } = conditionEntry;
|
|
123
|
-
|
|
124
|
-
if (fieldVar.var !== oldName) {
|
|
125
|
-
return false;
|
|
126
|
-
}
|
|
127
|
-
// If it's an enum field, also check if the value is being deleted/changed
|
|
128
|
-
if (oldEnum !== undefined && newEnum !== undefined) {
|
|
129
|
-
const deletedOrChangedValues = oldEnum.filter((oldValue)=>!newEnum.includes(oldValue));
|
|
130
|
-
return typeof value === 'string' && deletedOrChangedValues.includes(value);
|
|
131
|
-
}
|
|
132
|
-
return true;
|
|
131
|
+
return fieldVar.var === fieldName && typeof value === 'string' && removedValues.includes(value);
|
|
133
132
|
});
|
|
134
|
-
|
|
135
|
-
if (referencedFields.length > 0) {
|
|
136
|
-
return referencedFields;
|
|
137
|
-
}
|
|
138
|
-
return false;
|
|
133
|
+
return brokenFields.length > 0 ? brokenFields : false;
|
|
139
134
|
};
|
|
140
135
|
React.useEffect(()=>{
|
|
141
136
|
if (isOpen && modalType) {
|
|
@@ -832,9 +827,9 @@ const FormModal = ()=>{
|
|
|
832
827
|
};
|
|
833
828
|
const handleSubmit = async (e, shouldContinue = isCreating)=>{
|
|
834
829
|
e.preventDefault();
|
|
835
|
-
// Check for
|
|
836
|
-
const
|
|
837
|
-
if (
|
|
830
|
+
// Check for conditions broken by an enum value change when clicking Finish
|
|
831
|
+
const brokenFields = getConditionsBrokenByEnumChange();
|
|
832
|
+
if (brokenFields) {
|
|
838
833
|
setPendingSubmit({
|
|
839
834
|
e,
|
|
840
835
|
shouldContinue
|
|
@@ -1014,46 +1009,17 @@ const FormModal = ()=>{
|
|
|
1014
1009
|
setPendingSubmit(null);
|
|
1015
1010
|
},
|
|
1016
1011
|
children: (()=>{
|
|
1017
|
-
const
|
|
1018
|
-
if (
|
|
1019
|
-
const fieldNames =
|
|
1020
|
-
const oldEnum = initialData.enum;
|
|
1021
|
-
const newEnum = modifiedData.enum;
|
|
1022
|
-
const
|
|
1023
|
-
if (isEnum === true) {
|
|
1024
|
-
const deletedOrChangedValues = oldEnum.filter((value)=>!newEnum.includes(value));
|
|
1025
|
-
return /*#__PURE__*/ jsx(Box, {
|
|
1026
|
-
children: /*#__PURE__*/ jsxs(Typography, {
|
|
1027
|
-
children: [
|
|
1028
|
-
formatMessage({
|
|
1029
|
-
id: 'form.attribute.condition.enum-change-warning',
|
|
1030
|
-
defaultMessage: 'The following fields have conditions that depend on this field: '
|
|
1031
|
-
}),
|
|
1032
|
-
/*#__PURE__*/ jsx(Typography, {
|
|
1033
|
-
fontWeight: "bold",
|
|
1034
|
-
children: fieldNames
|
|
1035
|
-
}),
|
|
1036
|
-
formatMessage({
|
|
1037
|
-
id: 'form.attribute.condition.enum-change-warning-values',
|
|
1038
|
-
defaultMessage: '. Changing or removing the enum values '
|
|
1039
|
-
}),
|
|
1040
|
-
/*#__PURE__*/ jsx(Typography, {
|
|
1041
|
-
fontWeight: "bold",
|
|
1042
|
-
children: deletedOrChangedValues.join(', ')
|
|
1043
|
-
}),
|
|
1044
|
-
formatMessage({
|
|
1045
|
-
id: 'form.attribute.condition.enum-change-warning-end',
|
|
1046
|
-
defaultMessage: ' will break these conditions. Do you want to proceed?'
|
|
1047
|
-
})
|
|
1048
|
-
]
|
|
1049
|
-
})
|
|
1050
|
-
});
|
|
1051
|
-
}
|
|
1012
|
+
const brokenFields = getConditionsBrokenByEnumChange();
|
|
1013
|
+
if (brokenFields === false) return null;
|
|
1014
|
+
const fieldNames = brokenFields.map((field)=>field.name).join(', ');
|
|
1015
|
+
const oldEnum = initialData.enum ?? [];
|
|
1016
|
+
const newEnum = modifiedData.enum ?? [];
|
|
1017
|
+
const deletedOrChangedValues = oldEnum.filter((value)=>!newEnum.includes(value));
|
|
1052
1018
|
return /*#__PURE__*/ jsx(Box, {
|
|
1053
1019
|
children: /*#__PURE__*/ jsxs(Typography, {
|
|
1054
1020
|
children: [
|
|
1055
1021
|
formatMessage({
|
|
1056
|
-
id: 'form.attribute.condition.
|
|
1022
|
+
id: 'form.attribute.condition.enum-change-warning',
|
|
1057
1023
|
defaultMessage: 'The following fields have conditions that depend on this field: '
|
|
1058
1024
|
}),
|
|
1059
1025
|
/*#__PURE__*/ jsx(Typography, {
|
|
@@ -1061,8 +1027,16 @@ const FormModal = ()=>{
|
|
|
1061
1027
|
children: fieldNames
|
|
1062
1028
|
}),
|
|
1063
1029
|
formatMessage({
|
|
1064
|
-
id: 'form.attribute.condition.
|
|
1065
|
-
defaultMessage: '.
|
|
1030
|
+
id: 'form.attribute.condition.enum-change-warning-values',
|
|
1031
|
+
defaultMessage: '. Changing or removing the enum values '
|
|
1032
|
+
}),
|
|
1033
|
+
/*#__PURE__*/ jsx(Typography, {
|
|
1034
|
+
fontWeight: "bold",
|
|
1035
|
+
children: deletedOrChangedValues.join(', ')
|
|
1036
|
+
}),
|
|
1037
|
+
formatMessage({
|
|
1038
|
+
id: 'form.attribute.condition.enum-change-warning-end',
|
|
1039
|
+
defaultMessage: ' will break these conditions. Do you want to proceed?'
|
|
1066
1040
|
})
|
|
1067
1041
|
]
|
|
1068
1042
|
})
|