@strapi/content-type-builder 5.13.1 → 5.14.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/AttributeIcon.js +1 -0
- package/dist/admin/components/AttributeIcon.js.map +1 -1
- package/dist/admin/components/AttributeIcon.mjs +1 -0
- package/dist/admin/components/AttributeIcon.mjs.map +1 -1
- package/dist/admin/components/AttributeOptions/AttributeOption.js +1 -1
- package/dist/admin/components/AttributeOptions/AttributeOption.js.map +1 -1
- package/dist/admin/components/AttributeOptions/AttributeOption.mjs +1 -1
- package/dist/admin/components/AttributeOptions/AttributeOption.mjs.map +1 -1
- package/dist/admin/components/AttributeOptions/CustomFieldOption.js +1 -1
- package/dist/admin/components/AttributeOptions/CustomFieldOption.js.map +1 -1
- package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs +1 -1
- package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs.map +1 -1
- package/dist/admin/components/AttributeRow.js +342 -0
- package/dist/admin/components/AttributeRow.js.map +1 -0
- package/dist/admin/components/AttributeRow.mjs +339 -0
- package/dist/admin/components/AttributeRow.mjs.map +1 -0
- package/dist/admin/components/AutoReloadOverlayBlocker.js +5 -2
- package/dist/admin/components/AutoReloadOverlayBlocker.js.map +1 -1
- package/dist/admin/components/AutoReloadOverlayBlocker.mjs +5 -2
- package/dist/admin/components/AutoReloadOverlayBlocker.mjs.map +1 -1
- package/dist/admin/components/ComponentCard/ComponentCard.js +13 -11
- package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
- package/dist/admin/components/ComponentCard/ComponentCard.mjs +13 -11
- package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -1
- package/dist/admin/components/ComponentList.js +12 -26
- package/dist/admin/components/ComponentList.js.map +1 -1
- package/dist/admin/components/ComponentList.mjs +12 -26
- package/dist/admin/components/ComponentList.mjs.map +1 -1
- package/dist/admin/components/{Tr.js → ComponentRow.js} +9 -15
- package/dist/admin/components/ComponentRow.js.map +1 -0
- package/dist/admin/components/{Tr.mjs → ComponentRow.mjs} +9 -15
- package/dist/admin/components/ComponentRow.mjs.map +1 -0
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js +253 -70
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +256 -73
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js +53 -81
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs +54 -82
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -1
- package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -0
- package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -0
- package/dist/admin/components/DataManager/DataManagerProvider.js +344 -0
- package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -0
- package/dist/admin/components/DataManager/DataManagerProvider.mjs +323 -0
- package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -0
- package/dist/admin/components/DataManager/reducer.js +546 -0
- package/dist/admin/components/DataManager/reducer.js.map +1 -0
- package/dist/admin/components/DataManager/reducer.mjs +542 -0
- package/dist/admin/components/DataManager/reducer.mjs.map +1 -0
- package/dist/admin/components/DataManager/undoRedo.js +102 -0
- package/dist/admin/components/DataManager/undoRedo.js.map +1 -0
- package/dist/admin/components/DataManager/undoRedo.mjs +100 -0
- package/dist/admin/components/DataManager/undoRedo.mjs.map +1 -0
- package/dist/admin/{hooks → components/DataManager}/useDataManager.js +1 -1
- package/dist/admin/components/DataManager/useDataManager.js.map +1 -0
- package/dist/admin/{hooks → components/DataManager}/useDataManager.mjs +1 -1
- package/dist/admin/components/DataManager/useDataManager.mjs.map +1 -0
- package/dist/admin/components/DataManager/useServerRestartWatcher.js +35 -0
- package/dist/admin/components/DataManager/useServerRestartWatcher.js.map +1 -0
- package/dist/admin/components/DataManager/useServerRestartWatcher.mjs +33 -0
- package/dist/admin/components/DataManager/useServerRestartWatcher.mjs.map +1 -0
- package/dist/admin/components/DataManager/utils/cleanData.js +128 -0
- package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -0
- package/dist/admin/components/DataManager/utils/cleanData.mjs +125 -0
- package/dist/admin/components/DataManager/utils/cleanData.mjs.map +1 -0
- package/dist/admin/components/DataManager/utils/formatSchemas.js +21 -0
- package/dist/admin/components/DataManager/utils/formatSchemas.js.map +1 -0
- package/dist/admin/components/DataManager/utils/formatSchemas.mjs +18 -0
- package/dist/admin/components/DataManager/utils/formatSchemas.mjs.map +1 -0
- package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.js +1 -5
- package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js.map +1 -0
- package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.mjs +1 -5
- package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.mjs.map +1 -0
- package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.js +3 -3
- package/dist/admin/components/DataManager/utils/retrieveNestedComponents.js.map +1 -0
- package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.mjs +3 -3
- package/dist/admin/components/DataManager/utils/retrieveNestedComponents.mjs.map +1 -0
- package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -0
- package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs.map +1 -0
- package/dist/admin/components/DisplayedType.js +14 -14
- package/dist/admin/components/DisplayedType.js.map +1 -1
- package/dist/admin/components/DisplayedType.mjs +15 -15
- package/dist/admin/components/DisplayedType.mjs.map +1 -1
- package/dist/admin/components/DynamicZoneList.js +34 -38
- package/dist/admin/components/DynamicZoneList.js.map +1 -1
- package/dist/admin/components/DynamicZoneList.mjs +36 -40
- package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
- package/dist/admin/components/ExitPrompt.js +50 -0
- package/dist/admin/components/ExitPrompt.js.map +1 -0
- package/dist/admin/components/ExitPrompt.mjs +48 -0
- package/dist/admin/components/ExitPrompt.mjs.map +1 -0
- package/dist/admin/components/{NestedFooter.js → Footers.js} +35 -2
- package/dist/admin/components/Footers.js.map +1 -0
- package/dist/admin/components/{NestedFooter.mjs → Footers.mjs} +36 -4
- package/dist/admin/components/Footers.mjs.map +1 -0
- package/dist/admin/components/FormModal/FormModal.js +198 -164
- package/dist/admin/components/FormModal/FormModal.js.map +1 -1
- package/dist/admin/components/FormModal/FormModal.mjs +198 -165
- package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/types.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/types.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.js +2 -2
- 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/forms/forms.js +10 -27
- package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
- package/dist/admin/components/FormModal/forms/forms.mjs +10 -27
- package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -1
- package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js.map +1 -1
- package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs.map +1 -1
- package/dist/admin/components/FormModal/reducer.js +4 -4
- package/dist/admin/components/FormModal/reducer.js.map +1 -1
- package/dist/admin/components/FormModal/reducer.mjs +4 -4
- package/dist/admin/components/FormModal/reducer.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/canEditContentType.js +9 -14
- package/dist/admin/components/FormModal/utils/canEditContentType.js.map +1 -1
- package/dist/admin/components/FormModal/utils/canEditContentType.mjs +9 -14
- package/dist/admin/components/FormModal/utils/canEditContentType.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/getAttributesToDisplay.js.map +1 -1
- package/dist/admin/components/FormModal/utils/getAttributesToDisplay.mjs.map +1 -1
- package/dist/admin/components/FormModalEndActions.js +1 -34
- package/dist/admin/components/FormModalEndActions.js.map +1 -1
- package/dist/admin/components/FormModalEndActions.mjs +1 -34
- package/dist/admin/components/FormModalEndActions.mjs.map +1 -1
- package/dist/admin/components/FormModalHeader.js +10 -28
- package/dist/admin/components/FormModalHeader.js.map +1 -1
- package/dist/admin/components/FormModalHeader.mjs +10 -28
- package/dist/admin/components/FormModalHeader.mjs.map +1 -1
- package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -0
- package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs.map +1 -0
- package/dist/admin/components/{FormModalNavigationProvider → FormModalNavigation}/FormModalNavigationProvider.js +91 -114
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js.map +1 -0
- package/dist/admin/components/{FormModalNavigationProvider → FormModalNavigation}/FormModalNavigationProvider.mjs +91 -96
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs.map +1 -0
- package/dist/admin/{hooks → components/FormModalNavigation}/useFormModalNavigation.js +1 -1
- package/dist/admin/components/FormModalNavigation/useFormModalNavigation.js.map +1 -0
- package/dist/admin/{hooks → components/FormModalNavigation}/useFormModalNavigation.mjs +1 -1
- package/dist/admin/components/FormModalNavigation/useFormModalNavigation.mjs.map +1 -0
- package/dist/admin/components/FormModalSubHeader.js.map +1 -1
- package/dist/admin/components/FormModalSubHeader.mjs.map +1 -1
- package/dist/admin/components/GenericInputs.js +9 -5
- package/dist/admin/components/GenericInputs.js.map +1 -1
- package/dist/admin/components/GenericInputs.mjs +9 -5
- package/dist/admin/components/GenericInputs.mjs.map +1 -1
- package/dist/admin/components/List.js +149 -199
- package/dist/admin/components/List.js.map +1 -1
- package/dist/admin/components/List.mjs +151 -202
- package/dist/admin/components/List.mjs.map +1 -1
- package/dist/admin/components/Relation/Relation.js +3 -2
- package/dist/admin/components/Relation/Relation.js.map +1 -1
- package/dist/admin/components/Relation/Relation.mjs +3 -2
- package/dist/admin/components/Relation/Relation.mjs.map +1 -1
- package/dist/admin/components/Relation/RelationField/RelationField.js +1 -1
- package/dist/admin/components/Relation/RelationField/RelationField.js.map +1 -1
- package/dist/admin/components/Relation/RelationField/RelationField.mjs +1 -1
- package/dist/admin/components/Relation/RelationField/RelationField.mjs.map +1 -1
- package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js +6 -5
- package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js.map +1 -1
- package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs +6 -5
- package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs.map +1 -1
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js +19 -21
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -1
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs +19 -21
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs.map +1 -1
- package/dist/admin/components/SelectCategory.js +1 -1
- package/dist/admin/components/SelectCategory.js.map +1 -1
- package/dist/admin/components/SelectCategory.mjs +1 -1
- package/dist/admin/components/SelectCategory.mjs.map +1 -1
- package/dist/admin/components/SelectComponent.js +3 -6
- package/dist/admin/components/SelectComponent.js.map +1 -1
- package/dist/admin/components/SelectComponent.mjs +3 -6
- package/dist/admin/components/SelectComponent.mjs.map +1 -1
- package/dist/admin/components/SelectComponents.js +9 -6
- package/dist/admin/components/SelectComponents.js.map +1 -1
- package/dist/admin/components/SelectComponents.mjs +9 -6
- package/dist/admin/components/SelectComponents.mjs.map +1 -1
- package/dist/admin/components/SelectNumber.js +0 -4
- package/dist/admin/components/SelectNumber.js.map +1 -1
- package/dist/admin/components/SelectNumber.mjs +0 -4
- package/dist/admin/components/SelectNumber.mjs.map +1 -1
- package/dist/admin/components/Status.js +73 -0
- package/dist/admin/components/Status.js.map +1 -0
- package/dist/admin/components/Status.mjs +70 -0
- package/dist/admin/components/Status.mjs.map +1 -0
- package/dist/admin/components/TabForm.js +2 -1
- package/dist/admin/components/TabForm.js.map +1 -1
- package/dist/admin/components/TabForm.mjs +2 -1
- package/dist/admin/components/TabForm.mjs.map +1 -1
- package/dist/admin/icons/Curve.js +1 -1
- package/dist/admin/icons/Curve.js.map +1 -1
- package/dist/admin/icons/Curve.mjs +1 -1
- package/dist/admin/icons/Curve.mjs.map +1 -1
- package/dist/admin/pages/App/index.js +39 -19
- package/dist/admin/pages/App/index.js.map +1 -1
- package/dist/admin/pages/App/index.mjs +41 -21
- package/dist/admin/pages/App/index.mjs.map +1 -1
- package/dist/admin/pages/ListView/EmptyState.js +38 -0
- package/dist/admin/pages/ListView/EmptyState.js.map +1 -0
- package/dist/admin/pages/ListView/EmptyState.mjs +36 -0
- package/dist/admin/pages/ListView/EmptyState.mjs.map +1 -0
- package/dist/admin/pages/ListView/LinkToCMSettingsView.js +26 -17
- package/dist/admin/pages/ListView/LinkToCMSettingsView.js.map +1 -1
- package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs +26 -17
- package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs.map +1 -1
- package/dist/admin/pages/ListView/ListView.js +105 -158
- package/dist/admin/pages/ListView/ListView.js.map +1 -1
- package/dist/admin/pages/ListView/ListView.mjs +110 -163
- package/dist/admin/pages/ListView/ListView.mjs.map +1 -1
- package/dist/admin/reducers.js +3 -4
- package/dist/admin/reducers.js.map +1 -1
- package/dist/admin/reducers.mjs +3 -4
- package/dist/admin/reducers.mjs.map +1 -1
- package/dist/admin/src/components/AttributeRow.d.ts +28 -0
- package/dist/admin/src/components/AutoReloadOverlayBlocker.d.ts +2 -2
- package/dist/admin/src/components/ComponentCard/ComponentCard.d.ts +5 -1
- package/dist/admin/src/components/ComponentList.d.ts +4 -6
- package/dist/admin/src/components/{BoxWrapper.d.ts → ComponentRow.d.ts} +5 -2
- package/dist/admin/src/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.d.ts +29 -14
- package/dist/admin/src/components/DataManager/DataManagerContext.d.ts +138 -0
- package/dist/admin/src/components/DataManager/DataManagerProvider.d.ts +6 -0
- package/dist/admin/src/components/DataManager/reducer.d.ts +278 -0
- package/dist/admin/src/components/DataManager/undoRedo.d.ts +23 -0
- package/dist/admin/src/components/DataManager/useDataManager.d.ts +1 -0
- package/dist/admin/src/components/DataManager/useServerRestartWatcher.d.ts +1 -0
- package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +311 -0
- package/dist/admin/src/components/DataManager/utils/formatSchemas.d.ts +3 -0
- package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.d.ts +3 -3
- package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.d.ts +4 -4
- package/dist/admin/src/components/DisplayedType.d.ts +2 -1
- package/dist/admin/src/components/DynamicZoneList.d.ts +8 -5
- package/dist/admin/src/components/ExitPrompt.d.ts +1 -0
- package/dist/admin/src/components/{NestedFooter.d.ts → Footers.d.ts} +5 -1
- package/dist/admin/src/components/FormModal/forms/forms.d.ts +2 -38
- package/dist/admin/src/components/FormModal/forms/utils/getUsedAttributeNames.d.ts +3 -2
- package/dist/admin/src/components/FormModal/reducer.d.ts +10 -4
- package/dist/admin/src/components/FormModal/utils/canEditContentType.d.ts +4 -4
- package/dist/admin/src/components/FormModal/utils/getAttributesToDisplay.d.ts +1 -1
- package/dist/admin/src/components/FormModalEndActions.d.ts +1 -5
- package/dist/admin/src/components/FormModalHeader.d.ts +10 -7
- package/dist/admin/src/components/FormModalNavigation/FormModalNavigationContext.d.ts +19 -0
- package/dist/admin/src/components/FormModalNavigation/FormModalNavigationProvider.d.ts +54 -0
- package/dist/admin/src/components/FormModalNavigation/useFormModalNavigation.d.ts +1 -0
- package/dist/admin/src/components/FormModalSubHeader.d.ts +3 -3
- package/dist/admin/src/components/GenericInputs.d.ts +2 -1
- package/dist/admin/src/components/List.d.ts +16 -13
- package/dist/admin/src/components/Relation/Relation.d.ts +2 -1
- package/dist/admin/src/components/Relation/RelationField/RelationField.d.ts +2 -1
- package/dist/admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.d.ts +3 -2
- package/dist/admin/src/components/Relation/RelationNaturePicker/RelationNaturePicker.d.ts +2 -1
- package/dist/admin/src/components/SelectComponents.d.ts +3 -1
- package/dist/admin/src/components/SelectNumber.d.ts +1 -7
- package/dist/admin/src/components/Status.d.ts +6 -0
- package/dist/admin/src/pages/ListView/EmptyState.d.ts +1 -0
- package/dist/admin/src/pages/ListView/LinkToCMSettingsView.d.ts +3 -4
- package/dist/admin/src/pages/ListView/ListView.d.ts +1 -1
- package/dist/admin/src/reducers.d.ts +2 -8
- package/dist/admin/src/types.d.ts +40 -43
- package/dist/admin/src/utils/findAttribute.d.ts +2 -2
- package/dist/admin/src/utils/formAPI.d.ts +43 -1
- package/dist/admin/src/utils/getMaxDepth.d.ts +2 -2
- package/dist/admin/src/utils/getRelationType.d.ts +1 -1
- package/dist/admin/src/utils/isAllowedContentTypesForRelations.d.ts +1 -1
- package/dist/admin/translations/de.json.js +0 -1
- package/dist/admin/translations/de.json.js.map +1 -1
- package/dist/admin/translations/de.json.mjs +0 -1
- package/dist/admin/translations/de.json.mjs.map +1 -1
- package/dist/admin/translations/dk.json.js +0 -1
- package/dist/admin/translations/dk.json.js.map +1 -1
- package/dist/admin/translations/dk.json.mjs +0 -1
- package/dist/admin/translations/dk.json.mjs.map +1 -1
- package/dist/admin/translations/en.json.js +4 -2
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +4 -2
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/es.json.js +0 -1
- package/dist/admin/translations/es.json.js.map +1 -1
- package/dist/admin/translations/es.json.mjs +0 -1
- package/dist/admin/translations/es.json.mjs.map +1 -1
- package/dist/admin/translations/ko.json.js +0 -1
- package/dist/admin/translations/ko.json.js.map +1 -1
- package/dist/admin/translations/ko.json.mjs +0 -1
- package/dist/admin/translations/ko.json.mjs.map +1 -1
- package/dist/admin/translations/pl.json.js +0 -1
- package/dist/admin/translations/pl.json.js.map +1 -1
- package/dist/admin/translations/pl.json.mjs +0 -1
- package/dist/admin/translations/pl.json.mjs.map +1 -1
- package/dist/admin/translations/pt-BR.json.js +0 -1
- package/dist/admin/translations/pt-BR.json.js.map +1 -1
- package/dist/admin/translations/pt-BR.json.mjs +0 -1
- package/dist/admin/translations/pt-BR.json.mjs.map +1 -1
- package/dist/admin/translations/sv.json.js +0 -1
- package/dist/admin/translations/sv.json.js.map +1 -1
- package/dist/admin/translations/sv.json.mjs +0 -1
- package/dist/admin/translations/sv.json.mjs.map +1 -1
- package/dist/admin/translations/tr.json.js +0 -1
- package/dist/admin/translations/tr.json.js.map +1 -1
- package/dist/admin/translations/tr.json.mjs +0 -1
- package/dist/admin/translations/tr.json.mjs.map +1 -1
- package/dist/admin/translations/zh.json.js +0 -1
- package/dist/admin/translations/zh.json.js.map +1 -1
- package/dist/admin/translations/zh.json.mjs +0 -1
- package/dist/admin/translations/zh.json.mjs.map +1 -1
- package/dist/admin/utils/findAttribute.js.map +1 -1
- package/dist/admin/utils/findAttribute.mjs.map +1 -1
- package/dist/admin/utils/formAPI.js +0 -1
- package/dist/admin/utils/formAPI.js.map +1 -1
- package/dist/admin/utils/formAPI.mjs +0 -1
- package/dist/admin/utils/formAPI.mjs.map +1 -1
- package/dist/admin/utils/getMaxDepth.js.map +1 -1
- package/dist/admin/utils/getMaxDepth.mjs.map +1 -1
- package/dist/admin/utils/getRelationType.js.map +1 -1
- package/dist/admin/utils/getRelationType.mjs.map +1 -1
- package/dist/admin/utils/isAllowedContentTypesForRelations.js.map +1 -1
- package/dist/admin/utils/isAllowedContentTypesForRelations.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/controllers/schema.js +55 -0
- package/dist/server/controllers/schema.js.map +1 -0
- package/dist/server/controllers/schema.mjs +53 -0
- package/dist/server/controllers/schema.mjs.map +1 -0
- package/dist/server/controllers/validation/common.js +2 -0
- package/dist/server/controllers/validation/common.js.map +1 -1
- package/dist/server/controllers/validation/common.mjs +2 -1
- package/dist/server/controllers/validation/common.mjs.map +1 -1
- package/dist/server/controllers/validation/content-type.js.map +1 -1
- package/dist/server/controllers/validation/content-type.mjs.map +1 -1
- package/dist/server/controllers/validation/schema.js +612 -0
- package/dist/server/controllers/validation/schema.js.map +1 -0
- package/dist/server/controllers/validation/schema.mjs +610 -0
- package/dist/server/controllers/validation/schema.mjs.map +1 -0
- package/dist/server/routes/admin.js +51 -0
- package/dist/server/routes/admin.js.map +1 -1
- package/dist/server/routes/admin.mjs +51 -0
- package/dist/server/routes/admin.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/services/schema-builder/component-builder.js +12 -2
- package/dist/server/services/schema-builder/component-builder.js.map +1 -1
- package/dist/server/services/schema-builder/component-builder.mjs +12 -2
- package/dist/server/services/schema-builder/component-builder.mjs.map +1 -1
- package/dist/server/services/schema-builder/content-type-builder.js +43 -28
- package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
- package/dist/server/services/schema-builder/content-type-builder.mjs +43 -28
- package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -1
- package/dist/server/services/schema-builder/index.js +51 -49
- package/dist/server/services/schema-builder/index.js.map +1 -1
- package/dist/server/services/schema-builder/index.mjs +51 -49
- package/dist/server/services/schema-builder/index.mjs.map +1 -1
- package/dist/server/services/schema.js +246 -0
- package/dist/server/services/schema.js.map +1 -0
- package/dist/server/services/schema.mjs +242 -0
- package/dist/server/services/schema.mjs.map +1 -0
- package/dist/server/src/controllers/index.d.ts +5 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/schema.d.ts +8 -0
- package/dist/server/src/controllers/schema.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/common.d.ts +1 -0
- package/dist/server/src/controllers/validation/common.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/content-type.d.ts +3 -2
- package/dist/server/src/controllers/validation/content-type.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/schema.d.ts +80968 -0
- package/dist/server/src/controllers/validation/schema.d.ts.map +1 -0
- package/dist/server/src/index.d.ts +6 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/admin.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +2 -0
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/schema-builder/component-builder.d.ts +1 -0
- package/dist/server/src/services/schema-builder/component-builder.d.ts.map +1 -1
- package/dist/server/src/services/schema-builder/content-type-builder.d.ts +2 -3
- package/dist/server/src/services/schema-builder/content-type-builder.d.ts.map +1 -1
- package/dist/server/src/services/schema-builder/index.d.ts +3 -0
- package/dist/server/src/services/schema-builder/index.d.ts.map +1 -1
- package/dist/server/src/services/schema.d.ts +2756 -0
- package/dist/server/src/services/schema.d.ts.map +1 -0
- package/dist/server/src/utils/index.d.ts +2 -0
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/dist/server/utils/index.js.map +1 -1
- package/dist/server/utils/index.mjs.map +1 -1
- package/package.json +13 -8
- package/dist/admin/components/BoxWrapper.js +0 -44
- package/dist/admin/components/BoxWrapper.js.map +0 -1
- package/dist/admin/components/BoxWrapper.mjs +0 -42
- package/dist/admin/components/BoxWrapper.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/DataManagerProvider.js +0 -520
- package/dist/admin/components/DataManagerProvider/DataManagerProvider.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/DataManagerProvider.mjs +0 -518
- package/dist/admin/components/DataManagerProvider/DataManagerProvider.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/reducer.js +0 -583
- package/dist/admin/components/DataManagerProvider/reducer.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/reducer.mjs +0 -579
- package/dist/admin/components/DataManagerProvider/reducer.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/selectors.js +0 -20
- package/dist/admin/components/DataManagerProvider/selectors.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/selectors.mjs +0 -17
- package/dist/admin/components/DataManagerProvider/selectors.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/cleanData.js +0 -126
- package/dist/admin/components/DataManagerProvider/utils/cleanData.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/cleanData.mjs +0 -120
- package/dist/admin/components/DataManagerProvider/utils/cleanData.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/createDataObject.js +0 -9
- package/dist/admin/components/DataManagerProvider/utils/createDataObject.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/createDataObject.mjs +0 -7
- package/dist/admin/components/DataManagerProvider/utils/createDataObject.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.js +0 -20
- package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.mjs +0 -18
- package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/formatSchemas.js +0 -30
- package/dist/admin/components/DataManagerProvider/utils/formatSchemas.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/formatSchemas.mjs +0 -27
- package/dist/admin/components/DataManagerProvider/utils/formatSchemas.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.js +0 -46
- package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.mjs +0 -44
- package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsThatHaveComponents.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsThatHaveComponents.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/retrieveNestedComponents.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/retrieveNestedComponents.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.js +0 -37
- package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.mjs +0 -35
- package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/validateSchema.js +0 -9
- package/dist/admin/components/DataManagerProvider/utils/validateSchema.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/validateSchema.mjs +0 -7
- package/dist/admin/components/DataManagerProvider/utils/validateSchema.mjs.map +0 -1
- package/dist/admin/components/FormModal/category/createCategorySchema.js +0 -43
- package/dist/admin/components/FormModal/category/createCategorySchema.js.map +0 -1
- package/dist/admin/components/FormModal/category/createCategorySchema.mjs +0 -22
- package/dist/admin/components/FormModal/category/createCategorySchema.mjs.map +0 -1
- package/dist/admin/components/FormModal/category/form.js +0 -34
- package/dist/admin/components/FormModal/category/form.js.map +0 -1
- package/dist/admin/components/FormModal/category/form.mjs +0 -32
- package/dist/admin/components/FormModal/category/form.mjs.map +0 -1
- package/dist/admin/components/FormModal/category/regex.js +0 -6
- package/dist/admin/components/FormModal/category/regex.js.map +0 -1
- package/dist/admin/components/FormModal/category/regex.mjs +0 -4
- package/dist/admin/components/FormModal/category/regex.mjs.map +0 -1
- package/dist/admin/components/FormModal/selectors.js +0 -20
- package/dist/admin/components/FormModal/selectors.js.map +0 -1
- package/dist/admin/components/FormModal/selectors.mjs +0 -17
- package/dist/admin/components/FormModal/selectors.mjs.map +0 -1
- package/dist/admin/components/FormModalNavigationProvider/FormModalNavigationProvider.js.map +0 -1
- package/dist/admin/components/FormModalNavigationProvider/FormModalNavigationProvider.mjs.map +0 -1
- package/dist/admin/components/FormModalNavigationProvider/constants.js +0 -21
- package/dist/admin/components/FormModalNavigationProvider/constants.js.map +0 -1
- package/dist/admin/components/FormModalNavigationProvider/constants.mjs +0 -19
- package/dist/admin/components/FormModalNavigationProvider/constants.mjs.map +0 -1
- package/dist/admin/components/ListRow.js +0 -164
- package/dist/admin/components/ListRow.js.map +0 -1
- package/dist/admin/components/ListRow.mjs +0 -161
- package/dist/admin/components/ListRow.mjs.map +0 -1
- package/dist/admin/components/NestedFooter.js.map +0 -1
- package/dist/admin/components/NestedFooter.mjs.map +0 -1
- package/dist/admin/components/Tr.js.map +0 -1
- package/dist/admin/components/Tr.mjs.map +0 -1
- package/dist/admin/components/UpperFirst.js +0 -11
- package/dist/admin/components/UpperFirst.js.map +0 -1
- package/dist/admin/components/UpperFirst.mjs +0 -9
- package/dist/admin/components/UpperFirst.mjs.map +0 -1
- package/dist/admin/contexts/DataManagerContext.js.map +0 -1
- package/dist/admin/contexts/DataManagerContext.mjs.map +0 -1
- package/dist/admin/contexts/FormModalNavigationContext.js.map +0 -1
- package/dist/admin/contexts/FormModalNavigationContext.mjs.map +0 -1
- package/dist/admin/hooks/useDataManager.js.map +0 -1
- package/dist/admin/hooks/useDataManager.mjs.map +0 -1
- package/dist/admin/hooks/useFormModalNavigation.js.map +0 -1
- package/dist/admin/hooks/useFormModalNavigation.mjs.map +0 -1
- package/dist/admin/src/components/DataManagerProvider/DataManagerProvider.d.ts +0 -6
- package/dist/admin/src/components/DataManagerProvider/reducer.d.ts +0 -103
- package/dist/admin/src/components/DataManagerProvider/selectors.d.ts +0 -17
- package/dist/admin/src/components/DataManagerProvider/utils/cleanData.d.ts +0 -23
- package/dist/admin/src/components/DataManagerProvider/utils/createDataObject.d.ts +0 -2
- package/dist/admin/src/components/DataManagerProvider/utils/createModifiedDataSchema.d.ts +0 -6
- package/dist/admin/src/components/DataManagerProvider/utils/formatSchemas.d.ts +0 -6
- package/dist/admin/src/components/DataManagerProvider/utils/retrieveComponentsFromSchema.d.ts +0 -4
- package/dist/admin/src/components/DataManagerProvider/utils/serverRestartWatcher.d.ts +0 -6
- package/dist/admin/src/components/DataManagerProvider/utils/validateSchema.d.ts +0 -1
- package/dist/admin/src/components/FormModal/category/createCategorySchema.d.ts +0 -5
- package/dist/admin/src/components/FormModal/category/form.d.ts +0 -20
- package/dist/admin/src/components/FormModal/category/regex.d.ts +0 -1
- package/dist/admin/src/components/FormModal/selectors.d.ts +0 -16
- package/dist/admin/src/components/FormModalNavigationProvider/FormModalNavigationProvider.d.ts +0 -22
- package/dist/admin/src/components/FormModalNavigationProvider/constants.d.ts +0 -17
- package/dist/admin/src/components/ListRow.d.ts +0 -27
- package/dist/admin/src/components/Tr.d.ts +0 -5
- package/dist/admin/src/components/UpperFirst.d.ts +0 -3
- package/dist/admin/src/contexts/DataManagerContext.d.ts +0 -41
- package/dist/admin/src/contexts/FormModalNavigationContext.d.ts +0 -40
- package/dist/admin/src/hooks/useDataManager.d.ts +0 -1
- package/dist/admin/src/hooks/useFormModalNavigation.d.ts +0 -1
- /package/dist/admin/{contexts → components/DataManager}/DataManagerContext.js +0 -0
- /package/dist/admin/{contexts → components/DataManager}/DataManagerContext.mjs +0 -0
- /package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.js +0 -0
- /package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.mjs +0 -0
- /package/dist/admin/{contexts → components/FormModalNavigation}/FormModalNavigationContext.js +0 -0
- /package/dist/admin/{contexts → components/FormModalNavigation}/FormModalNavigationContext.mjs +0 -0
- /package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.js","sources":["../../../../admin/src/components/FormModal/reducer.ts"],"sourcesContent":["import { createSlice, type PayloadAction } from '@reduxjs/toolkit';\nimport set from 'lodash/set';\nimport snakeCase from 'lodash/snakeCase';\nimport pluralize from 'pluralize';\n\nimport { getRelationType } from '../../utils/getRelationType';\nimport { nameToSlug } from '../../utils/nameToSlug';\n\nimport { createComponentUid } from './utils/createUid';\nimport { customFieldDefaultOptionsReducer } from './utils/customFieldDefaultOptionsReducer';\nimport { shouldPluralizeName, shouldPluralizeTargetAttribute } from './utils/relations';\n\nimport type { Schema } from '@strapi/types';\n\ntype State = {\n formErrors: Record<string, any>;\n modifiedData: Record<string, any>;\n initialData: Record<string, any>;\n componentToCreate: Record<string, any>;\n isCreatingComponentWhileAddingAField: boolean;\n};\n\nconst initialState: State = {\n formErrors: {},\n modifiedData: {},\n initialData: {},\n componentToCreate: {},\n isCreatingComponentWhileAddingAField: false,\n};\n\ntype OnChangePayload = {\n keys: string[];\n value: any;\n};\n\ntype OnChangeRelationTargetPayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n selectedContentTypeFriendlyName: string;\n targetContentTypeAllowedRelations: Schema.Attribute.RelationKind.Any[] | null;\n value: string;\n };\n};\n\ntype OnChangeRelationTypePayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n value: Schema.Attribute.RelationKind.Any;\n };\n};\n\ntype ResetPropsAndSetFormForAddingAnExistingCompoPayload = {\n options?: Record<string, any>;\n};\n\ntype ResetPropsAndSaveCurrentDataPayload = {\n options?: Record<string, any>;\n};\n\ntype SetDataToEditPayload = {\n data: Record<string, any>;\n};\n\ntype SetAttributeDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n }\n | {\n isEditing?: false;\n modifiedDataToSetForEditing: Record<string, any>;\n attributeType: string;\n nameToSetForRelation: string;\n targetUid: string;\n step: string | null;\n options?: Record<string, any>;\n };\n\ntype SetCustomFieldDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n }\n | {\n isEditing?: false;\n modifiedDataToSetForEditing: Record<string, any>;\n customField: Record<string, any>;\n options?: Record<string, any>;\n };\n\ntype SetDynamicZoneDataSchemaPayload = {\n attributeToEdit: Record<string, any>;\n};\n\ntype SetErrorsPayload = {\n errors: Record<string, any>;\n};\n\nconst slice = createSlice({\n name: 'formModal',\n initialState,\n reducers: {\n onChange: (state, action: PayloadAction<OnChangePayload>) => {\n const { keys, value } = action.payload;\n const obj = state.modifiedData;\n const hasDefaultValue = Boolean(obj.default);\n\n // There is no need to remove the default key if the default value isn't defined\n if (hasDefaultValue && keys.length === 1 && keys.includes('type')) {\n const previousType = obj.type;\n\n if (previousType && ['date', 'datetime', 'time'].includes(previousType)) {\n // return obj.updateIn(keys, () => value).remove('default');\n delete state.modifiedData.default;\n }\n }\n\n set(state, ['modifiedData', ...keys], value);\n },\n onChangeRelationTarget: (state, action: PayloadAction<OnChangeRelationTargetPayload>) => {\n const {\n target: {\n oneThatIsCreatingARelationWithAnother,\n selectedContentTypeFriendlyName,\n targetContentTypeAllowedRelations,\n value,\n },\n } = action.payload;\n // Special case for the admin user...\n let didChangeRelationTypeBecauseOfRestrictedRelation = false;\n let changedRelationType: Schema.Attribute.RelationKind.Any | null = null;\n\n set(state, ['modifiedData', 'target'], value);\n\n const modifiedData = state.modifiedData;\n\n // Don't change the relation type if the allowed relations are not restricted\n // TODO: replace with an obj { relation: 'x', bidirctional: true|false } when BE ready\n if (Array.isArray(targetContentTypeAllowedRelations)) {\n const currentRelationType = getRelationType(\n modifiedData.relation,\n modifiedData.targetAttribute\n );\n\n if (\n currentRelationType &&\n !targetContentTypeAllowedRelations.includes(currentRelationType)\n ) {\n const relationToSet = targetContentTypeAllowedRelations[0];\n didChangeRelationTypeBecauseOfRestrictedRelation = true;\n changedRelationType = relationToSet;\n\n if (relationToSet === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n } else if (relationToSet === 'manyWay') {\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n } else {\n set(state, ['modifiedData', 'relation'], relationToSet);\n }\n }\n }\n\n let nameToSet: string;\n\n if (didChangeRelationTypeBecauseOfRestrictedRelation && changedRelationType) {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n shouldPluralizeName(changedRelationType)\n );\n } else {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n\n shouldPluralizeName(modifiedData.relation)\n );\n }\n\n set(state, ['modifiedData', 'name'], nameToSet);\n\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n if (currentTargetAttribute === null) {\n return;\n }\n\n // Changing the target and the relation is either oneWay or manyWay\n // Case when we need to change the relation to oneWay (ex: admin user)\n if (\n didChangeRelationTypeBecauseOfRestrictedRelation &&\n changedRelationType &&\n ['oneWay', 'manyWay'].includes(changedRelationType)\n ) {\n set(state, ['modifiedData', 'targetAttribute'], null);\n\n return;\n }\n\n const targetAttributeToSet = pluralize(\n snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(modifiedData.relation)\n );\n\n set(state, ['modifiedData', 'targetAttribute'], targetAttributeToSet);\n },\n onChangeRelationType: (state, action: PayloadAction<OnChangeRelationTypePayload>) => {\n const {\n target: { oneThatIsCreatingARelationWithAnother, value },\n } = action.payload;\n\n const currentName = state.modifiedData.name;\n\n // Switching from oneWay\n if (!['oneWay', 'manyWay'].includes(value)) {\n set(state, ['modifiedData', 'relation'], value);\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n set(\n state,\n ['modifiedData', 'name'],\n pluralize(snakeCase(nameToSlug(currentName)), shouldPluralizeName(value))\n );\n\n set(\n state,\n ['modifiedData', 'targetAttribute'],\n pluralize(\n currentTargetAttribute || snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(value)\n )\n );\n\n return;\n }\n\n if (value === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 1));\n\n return;\n }\n\n // manyWay\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 2));\n },\n resetProps: () => {\n return initialState;\n },\n resetPropsAndSetFormForAddingAnExistingCompo: (\n state,\n action: PayloadAction<ResetPropsAndSetFormForAddingAnExistingCompoPayload>\n ) => {\n const { options = {} } = action.payload;\n\n return {\n ...initialState,\n modifiedData: {\n type: 'component',\n repeatable: true,\n ...options,\n },\n };\n },\n resetPropsAndSaveCurrentData: (\n state,\n action: PayloadAction<ResetPropsAndSaveCurrentDataPayload>\n ) => {\n const { options = {} } = action.payload;\n // This is run when the user has created a new component\n const componentToCreate = state.modifiedData.componentToCreate;\n const modifiedData = {\n displayName: componentToCreate.displayName,\n type: 'component',\n repeatable: false,\n ...options,\n component: createComponentUid(componentToCreate.displayName, componentToCreate.category),\n };\n\n return {\n ...initialState,\n componentToCreate,\n modifiedData,\n isCreatingComponentWhileAddingAField: state.modifiedData.createComponent,\n };\n },\n resetPropsAndSetTheFormForAddingACompoToADz: (state) => {\n const createdDZ = state.modifiedData;\n const dataToSet = {\n ...createdDZ,\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n\n return { ...initialState, modifiedData: dataToSet };\n },\n setDataToEdit: (state, action: PayloadAction<SetDataToEditPayload>) => {\n const { data } = action.payload;\n state.modifiedData = data;\n state.initialData = data;\n },\n setAttributeDataSchema: (state, action: PayloadAction<SetAttributeDataSchemaPayload>) => {\n const { isEditing } = action.payload;\n\n if (isEditing) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { attributeType, nameToSetForRelation, targetUid, step, options = {} } = action.payload;\n\n let dataToSet;\n\n if (attributeType === 'component') {\n if (step === '1') {\n dataToSet = {\n type: 'component',\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n } else {\n dataToSet = {\n ...options,\n type: 'component',\n repeatable: true,\n };\n }\n } else if (attributeType === 'dynamiczone') {\n dataToSet = {\n ...options,\n type: 'dynamiczone',\n components: [],\n };\n } else if (attributeType === 'text') {\n dataToSet = { ...options, type: 'string' };\n } else if (attributeType === 'number' || attributeType === 'date') {\n dataToSet = options;\n } else if (attributeType === 'media') {\n dataToSet = {\n allowedTypes: ['images', 'files', 'videos', 'audios'],\n type: 'media',\n multiple: true,\n ...options,\n };\n } else if (attributeType === 'enumeration') {\n dataToSet = { ...options, type: 'enumeration', enum: [] };\n } else if (attributeType === 'relation') {\n dataToSet = {\n name: snakeCase(nameToSetForRelation),\n relation: 'oneToOne',\n targetAttribute: null,\n target: targetUid,\n type: 'relation',\n };\n } else {\n dataToSet = { ...options, type: attributeType, default: null };\n }\n\n state.modifiedData = dataToSet;\n },\n setCustomFieldDataSchema: (state, action: PayloadAction<SetCustomFieldDataSchemaPayload>) => {\n const { isEditing } = action.payload;\n\n if (isEditing) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { customField, options = {} } = action.payload;\n\n state.modifiedData = { ...options, type: customField.type };\n\n const allOptions = [\n ...(customField?.options?.base || []),\n ...(customField?.options?.advanced || []),\n ];\n\n const optionDefaults = allOptions.reduce(customFieldDefaultOptionsReducer, []);\n\n if (optionDefaults.length) {\n optionDefaults.forEach(({ name, defaultValue }: { name: string; defaultValue: string }) =>\n set(state.modifiedData, name, defaultValue)\n );\n }\n },\n setDynamicZoneDataSchema: (state, action: PayloadAction<SetDynamicZoneDataSchemaPayload>) => {\n const { attributeToEdit } = action.payload;\n state.modifiedData = attributeToEdit;\n state.initialData = attributeToEdit;\n },\n setErrors: (state, action: PayloadAction<SetErrorsPayload>) => {\n state.formErrors = action.payload.errors;\n },\n },\n});\n\nexport { initialState };\nexport const { actions, reducer } = slice;\n"],"names":["initialState","formErrors","modifiedData","initialData","componentToCreate","isCreatingComponentWhileAddingAField","slice","createSlice","name","reducers","onChange","state","action","keys","value","payload","obj","hasDefaultValue","Boolean","default","length","includes","previousType","type","set","onChangeRelationTarget","target","oneThatIsCreatingARelationWithAnother","selectedContentTypeFriendlyName","targetContentTypeAllowedRelations","didChangeRelationTypeBecauseOfRestrictedRelation","changedRelationType","Array","isArray","currentRelationType","getRelationType","relation","targetAttribute","relationToSet","nameToSet","pluralize","snakeCase","nameToSlug","shouldPluralizeName","currentTargetAttribute","targetAttributeToSet","shouldPluralizeTargetAttribute","onChangeRelationType","currentName","resetProps","resetPropsAndSetFormForAddingAnExistingCompo","options","repeatable","resetPropsAndSaveCurrentData","displayName","component","createComponentUid","category","createComponent","resetPropsAndSetTheFormForAddingACompoToADz","createdDZ","dataToSet","setDataToEdit","data","setAttributeDataSchema","isEditing","modifiedDataToSetForEditing","attributeType","nameToSetForRelation","targetUid","step","components","allowedTypes","multiple","enum","setCustomFieldDataSchema","customField","allOptions","base","advanced","optionDefaults","reduce","customFieldDefaultOptionsReducer","forEach","defaultValue","setDynamicZoneDataSchema","attributeToEdit","setErrors","errors","actions","reducer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reducer.js","sources":["../../../../admin/src/components/FormModal/reducer.ts"],"sourcesContent":["import { createSlice, type PayloadAction } from '@reduxjs/toolkit';\nimport set from 'lodash/set';\nimport snakeCase from 'lodash/snakeCase';\nimport pluralize from 'pluralize';\n\nimport { getRelationType } from '../../utils/getRelationType';\nimport { nameToSlug } from '../../utils/nameToSlug';\n\nimport { createComponentUid } from './utils/createUid';\nimport { customFieldDefaultOptionsReducer } from './utils/customFieldDefaultOptionsReducer';\nimport { shouldPluralizeName, shouldPluralizeTargetAttribute } from './utils/relations';\n\nimport type { Schema, UID } from '@strapi/types';\n\nexport type State = {\n formErrors: Record<string, any>;\n modifiedData: Record<string, any>;\n initialData: Record<string, any>;\n componentToCreate: Record<string, any>;\n isCreatingComponentWhileAddingAField: boolean;\n};\n\nconst initialState: State = {\n formErrors: {},\n modifiedData: {},\n initialData: {},\n componentToCreate: {},\n isCreatingComponentWhileAddingAField: false,\n};\n\ntype OnChangePayload = {\n keys: string[];\n value: any;\n};\n\ntype OnChangeRelationTargetPayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n selectedContentTypeFriendlyName: string;\n targetContentTypeAllowedRelations: Schema.Attribute.RelationKind.Any[] | null;\n value: string;\n };\n};\n\ntype OnChangeRelationTypePayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n value: Schema.Attribute.RelationKind.Any;\n };\n};\n\ntype ResetPropsAndSetFormForAddingAnExistingCompoPayload = {\n uid: UID.Schema;\n options?: Record<string, any>;\n};\n\ntype ResetPropsAndSaveCurrentDataPayload = {\n uid: UID.Schema;\n options?: Record<string, any>;\n};\n\ntype SetDataToEditPayload = {\n data: Record<string, any>;\n};\n\ntype SetAttributeDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n uid: UID.Schema;\n }\n | {\n isEditing: false;\n modifiedDataToSetForEditing: Record<string, any>;\n attributeType: string;\n nameToSetForRelation: string;\n targetUid: string;\n step: string | null;\n options?: Record<string, any>;\n uid: UID.Schema;\n };\n\ntype SetCustomFieldDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n uid: UID.Schema;\n }\n | {\n isEditing: false;\n modifiedDataToSetForEditing: Record<string, any>;\n customField: Record<string, any>;\n options?: Record<string, any>;\n uid: UID.Schema;\n };\n\ntype SetDynamicZoneDataSchemaPayload = {\n attributeToEdit: Record<string, any>;\n};\n\ntype SetErrorsPayload = {\n errors: Record<string, any>;\n};\n\nconst slice = createSlice({\n name: 'formModal',\n initialState,\n reducers: {\n onChange: (state, action: PayloadAction<OnChangePayload>) => {\n const { keys, value } = action.payload;\n const obj = state.modifiedData;\n const hasDefaultValue = Boolean(obj.default);\n\n // There is no need to remove the default key if the default value isn't defined\n if (hasDefaultValue && keys.length === 1 && keys.includes('type')) {\n const previousType = obj.type;\n\n if (previousType && ['date', 'datetime', 'time'].includes(previousType)) {\n // return obj.updateIn(keys, () => value).remove('default');\n delete state.modifiedData.default;\n }\n }\n\n set(state, ['modifiedData', ...keys], value);\n },\n onChangeRelationTarget: (state, action: PayloadAction<OnChangeRelationTargetPayload>) => {\n const {\n target: {\n oneThatIsCreatingARelationWithAnother,\n selectedContentTypeFriendlyName,\n targetContentTypeAllowedRelations,\n value,\n },\n } = action.payload;\n // Special case for the admin user...\n let didChangeRelationTypeBecauseOfRestrictedRelation = false;\n let changedRelationType: Schema.Attribute.RelationKind.Any | null = null;\n\n set(state, ['modifiedData', 'target'], value);\n\n const modifiedData = state.modifiedData;\n\n // Don't change the relation type if the allowed relations are not restricted\n // TODO: replace with an obj { relation: 'x', bidirctional: true|false } when BE ready\n if (Array.isArray(targetContentTypeAllowedRelations)) {\n const currentRelationType = getRelationType(\n modifiedData.relation,\n modifiedData.targetAttribute\n );\n\n if (\n currentRelationType &&\n !targetContentTypeAllowedRelations.includes(currentRelationType)\n ) {\n const relationToSet = targetContentTypeAllowedRelations[0];\n didChangeRelationTypeBecauseOfRestrictedRelation = true;\n changedRelationType = relationToSet;\n\n if (relationToSet === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n } else if (relationToSet === 'manyWay') {\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n } else {\n set(state, ['modifiedData', 'relation'], relationToSet);\n }\n }\n }\n\n let nameToSet: string;\n\n if (didChangeRelationTypeBecauseOfRestrictedRelation && changedRelationType) {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n shouldPluralizeName(changedRelationType)\n );\n } else {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n\n shouldPluralizeName(modifiedData.relation)\n );\n }\n\n set(state, ['modifiedData', 'name'], nameToSet);\n\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n if (currentTargetAttribute === null) {\n return;\n }\n\n // Changing the target and the relation is either oneWay or manyWay\n // Case when we need to change the relation to oneWay (ex: admin user)\n if (\n didChangeRelationTypeBecauseOfRestrictedRelation &&\n changedRelationType &&\n ['oneWay', 'manyWay'].includes(changedRelationType)\n ) {\n set(state, ['modifiedData', 'targetAttribute'], null);\n\n return;\n }\n\n const targetAttributeToSet = pluralize(\n snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(modifiedData.relation)\n );\n\n set(state, ['modifiedData', 'targetAttribute'], targetAttributeToSet);\n },\n onChangeRelationType: (state, action: PayloadAction<OnChangeRelationTypePayload>) => {\n const {\n target: { oneThatIsCreatingARelationWithAnother, value },\n } = action.payload;\n\n const currentName = state.modifiedData.name;\n\n // Switching from oneWay\n if (!['oneWay', 'manyWay'].includes(value)) {\n set(state, ['modifiedData', 'relation'], value);\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n set(\n state,\n ['modifiedData', 'name'],\n pluralize(snakeCase(nameToSlug(currentName)), shouldPluralizeName(value))\n );\n\n set(\n state,\n ['modifiedData', 'targetAttribute'],\n pluralize(\n currentTargetAttribute || snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(value)\n )\n );\n\n return;\n }\n\n if (value === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 1));\n\n return;\n }\n\n // manyWay\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 2));\n },\n resetProps: () => {\n return initialState;\n },\n resetPropsAndSetFormForAddingAnExistingCompo: (\n state,\n action: PayloadAction<ResetPropsAndSetFormForAddingAnExistingCompoPayload>\n ) => {\n const { options = {} } = action.payload;\n\n return {\n ...initialState,\n modifiedData: {\n type: 'component',\n repeatable: true,\n ...options,\n },\n };\n },\n resetPropsAndSaveCurrentData: (\n state,\n action: PayloadAction<ResetPropsAndSaveCurrentDataPayload>\n ) => {\n const { options = {} } = action.payload;\n // This is run when the user has created a new component\n const componentToCreate = state.modifiedData.componentToCreate;\n const modifiedData = {\n displayName: componentToCreate.displayName,\n type: 'component',\n repeatable: false,\n ...options,\n component: createComponentUid(componentToCreate.displayName, componentToCreate.category),\n };\n\n return {\n ...initialState,\n componentToCreate,\n modifiedData,\n isCreatingComponentWhileAddingAField: state.modifiedData.createComponent,\n };\n },\n resetPropsAndSetTheFormForAddingACompoToADz: (state) => {\n const createdDZ = state.modifiedData;\n const dataToSet = {\n ...createdDZ,\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n\n return { ...initialState, modifiedData: dataToSet };\n },\n setDataToEdit: (state, action: PayloadAction<SetDataToEditPayload>) => {\n const { data } = action.payload;\n state.modifiedData = data;\n state.initialData = data;\n },\n setAttributeDataSchema: (state, action: PayloadAction<SetAttributeDataSchemaPayload>) => {\n const { isEditing } = action.payload;\n\n if (isEditing === true) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { attributeType, nameToSetForRelation, targetUid, step, options = {} } = action.payload;\n\n let dataToSet;\n\n if (attributeType === 'component') {\n if (step === '1') {\n dataToSet = {\n type: 'component',\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n } else {\n dataToSet = {\n ...options,\n type: 'component',\n repeatable: true,\n };\n }\n } else if (attributeType === 'dynamiczone') {\n dataToSet = {\n ...options,\n type: 'dynamiczone',\n components: [],\n };\n } else if (attributeType === 'text') {\n dataToSet = { ...options, type: 'string' };\n } else if (attributeType === 'number' || attributeType === 'date') {\n dataToSet = options;\n } else if (attributeType === 'media') {\n dataToSet = {\n allowedTypes: ['images', 'files', 'videos', 'audios'],\n type: 'media',\n multiple: true,\n ...options,\n };\n } else if (attributeType === 'enumeration') {\n dataToSet = { ...options, type: 'enumeration', enum: [] };\n } else if (attributeType === 'relation') {\n dataToSet = {\n name: snakeCase(nameToSetForRelation),\n relation: 'oneToOne',\n targetAttribute: null,\n target: targetUid,\n type: 'relation',\n };\n } else {\n dataToSet = { ...options, type: attributeType, default: null };\n }\n\n state.modifiedData = dataToSet;\n },\n setCustomFieldDataSchema: (state, action: PayloadAction<SetCustomFieldDataSchemaPayload>) => {\n const { payload } = action;\n\n if (payload.isEditing === true) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { customField, options = {} } = payload;\n\n state.modifiedData = { ...options, type: customField.type };\n\n const allOptions = [\n ...(customField?.options?.base || []),\n ...(customField?.options?.advanced || []),\n ];\n\n const optionDefaults = allOptions.reduce(customFieldDefaultOptionsReducer, []);\n\n if (optionDefaults.length) {\n optionDefaults.forEach(({ name, defaultValue }: { name: string; defaultValue: string }) =>\n set(state.modifiedData, name, defaultValue)\n );\n }\n },\n setDynamicZoneDataSchema: (state, action: PayloadAction<SetDynamicZoneDataSchemaPayload>) => {\n const { attributeToEdit } = action.payload;\n state.modifiedData = attributeToEdit;\n state.initialData = attributeToEdit;\n },\n setErrors: (state, action: PayloadAction<SetErrorsPayload>) => {\n state.formErrors = action.payload.errors;\n },\n },\n});\n\nexport { initialState };\nexport const { actions, reducer } = slice;\n"],"names":["initialState","formErrors","modifiedData","initialData","componentToCreate","isCreatingComponentWhileAddingAField","slice","createSlice","name","reducers","onChange","state","action","keys","value","payload","obj","hasDefaultValue","Boolean","default","length","includes","previousType","type","set","onChangeRelationTarget","target","oneThatIsCreatingARelationWithAnother","selectedContentTypeFriendlyName","targetContentTypeAllowedRelations","didChangeRelationTypeBecauseOfRestrictedRelation","changedRelationType","Array","isArray","currentRelationType","getRelationType","relation","targetAttribute","relationToSet","nameToSet","pluralize","snakeCase","nameToSlug","shouldPluralizeName","currentTargetAttribute","targetAttributeToSet","shouldPluralizeTargetAttribute","onChangeRelationType","currentName","resetProps","resetPropsAndSetFormForAddingAnExistingCompo","options","repeatable","resetPropsAndSaveCurrentData","displayName","component","createComponentUid","category","createComponent","resetPropsAndSetTheFormForAddingACompoToADz","createdDZ","dataToSet","setDataToEdit","data","setAttributeDataSchema","isEditing","modifiedDataToSetForEditing","attributeType","nameToSetForRelation","targetUid","step","components","allowedTypes","multiple","enum","setCustomFieldDataSchema","customField","allOptions","base","advanced","optionDefaults","reduce","customFieldDefaultOptionsReducer","forEach","defaultValue","setDynamicZoneDataSchema","attributeToEdit","setErrors","errors","actions","reducer"],"mappings":"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"}
|
|
@@ -213,7 +213,7 @@ const slice = createSlice({
|
|
|
213
213
|
},
|
|
214
214
|
setAttributeDataSchema: (state, action)=>{
|
|
215
215
|
const { isEditing } = action.payload;
|
|
216
|
-
if (isEditing) {
|
|
216
|
+
if (isEditing === true) {
|
|
217
217
|
const { modifiedDataToSetForEditing } = action.payload;
|
|
218
218
|
state.modifiedData = modifiedDataToSetForEditing;
|
|
219
219
|
state.initialData = modifiedDataToSetForEditing;
|
|
@@ -286,14 +286,14 @@ const slice = createSlice({
|
|
|
286
286
|
state.modifiedData = dataToSet;
|
|
287
287
|
},
|
|
288
288
|
setCustomFieldDataSchema: (state, action)=>{
|
|
289
|
-
const {
|
|
290
|
-
if (isEditing) {
|
|
289
|
+
const { payload } = action;
|
|
290
|
+
if (payload.isEditing === true) {
|
|
291
291
|
const { modifiedDataToSetForEditing } = action.payload;
|
|
292
292
|
state.modifiedData = modifiedDataToSetForEditing;
|
|
293
293
|
state.initialData = modifiedDataToSetForEditing;
|
|
294
294
|
return;
|
|
295
295
|
}
|
|
296
|
-
const { customField, options = {} } =
|
|
296
|
+
const { customField, options = {} } = payload;
|
|
297
297
|
state.modifiedData = {
|
|
298
298
|
...options,
|
|
299
299
|
type: customField.type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.mjs","sources":["../../../../admin/src/components/FormModal/reducer.ts"],"sourcesContent":["import { createSlice, type PayloadAction } from '@reduxjs/toolkit';\nimport set from 'lodash/set';\nimport snakeCase from 'lodash/snakeCase';\nimport pluralize from 'pluralize';\n\nimport { getRelationType } from '../../utils/getRelationType';\nimport { nameToSlug } from '../../utils/nameToSlug';\n\nimport { createComponentUid } from './utils/createUid';\nimport { customFieldDefaultOptionsReducer } from './utils/customFieldDefaultOptionsReducer';\nimport { shouldPluralizeName, shouldPluralizeTargetAttribute } from './utils/relations';\n\nimport type { Schema } from '@strapi/types';\n\ntype State = {\n formErrors: Record<string, any>;\n modifiedData: Record<string, any>;\n initialData: Record<string, any>;\n componentToCreate: Record<string, any>;\n isCreatingComponentWhileAddingAField: boolean;\n};\n\nconst initialState: State = {\n formErrors: {},\n modifiedData: {},\n initialData: {},\n componentToCreate: {},\n isCreatingComponentWhileAddingAField: false,\n};\n\ntype OnChangePayload = {\n keys: string[];\n value: any;\n};\n\ntype OnChangeRelationTargetPayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n selectedContentTypeFriendlyName: string;\n targetContentTypeAllowedRelations: Schema.Attribute.RelationKind.Any[] | null;\n value: string;\n };\n};\n\ntype OnChangeRelationTypePayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n value: Schema.Attribute.RelationKind.Any;\n };\n};\n\ntype ResetPropsAndSetFormForAddingAnExistingCompoPayload = {\n options?: Record<string, any>;\n};\n\ntype ResetPropsAndSaveCurrentDataPayload = {\n options?: Record<string, any>;\n};\n\ntype SetDataToEditPayload = {\n data: Record<string, any>;\n};\n\ntype SetAttributeDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n }\n | {\n isEditing?: false;\n modifiedDataToSetForEditing: Record<string, any>;\n attributeType: string;\n nameToSetForRelation: string;\n targetUid: string;\n step: string | null;\n options?: Record<string, any>;\n };\n\ntype SetCustomFieldDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n }\n | {\n isEditing?: false;\n modifiedDataToSetForEditing: Record<string, any>;\n customField: Record<string, any>;\n options?: Record<string, any>;\n };\n\ntype SetDynamicZoneDataSchemaPayload = {\n attributeToEdit: Record<string, any>;\n};\n\ntype SetErrorsPayload = {\n errors: Record<string, any>;\n};\n\nconst slice = createSlice({\n name: 'formModal',\n initialState,\n reducers: {\n onChange: (state, action: PayloadAction<OnChangePayload>) => {\n const { keys, value } = action.payload;\n const obj = state.modifiedData;\n const hasDefaultValue = Boolean(obj.default);\n\n // There is no need to remove the default key if the default value isn't defined\n if (hasDefaultValue && keys.length === 1 && keys.includes('type')) {\n const previousType = obj.type;\n\n if (previousType && ['date', 'datetime', 'time'].includes(previousType)) {\n // return obj.updateIn(keys, () => value).remove('default');\n delete state.modifiedData.default;\n }\n }\n\n set(state, ['modifiedData', ...keys], value);\n },\n onChangeRelationTarget: (state, action: PayloadAction<OnChangeRelationTargetPayload>) => {\n const {\n target: {\n oneThatIsCreatingARelationWithAnother,\n selectedContentTypeFriendlyName,\n targetContentTypeAllowedRelations,\n value,\n },\n } = action.payload;\n // Special case for the admin user...\n let didChangeRelationTypeBecauseOfRestrictedRelation = false;\n let changedRelationType: Schema.Attribute.RelationKind.Any | null = null;\n\n set(state, ['modifiedData', 'target'], value);\n\n const modifiedData = state.modifiedData;\n\n // Don't change the relation type if the allowed relations are not restricted\n // TODO: replace with an obj { relation: 'x', bidirctional: true|false } when BE ready\n if (Array.isArray(targetContentTypeAllowedRelations)) {\n const currentRelationType = getRelationType(\n modifiedData.relation,\n modifiedData.targetAttribute\n );\n\n if (\n currentRelationType &&\n !targetContentTypeAllowedRelations.includes(currentRelationType)\n ) {\n const relationToSet = targetContentTypeAllowedRelations[0];\n didChangeRelationTypeBecauseOfRestrictedRelation = true;\n changedRelationType = relationToSet;\n\n if (relationToSet === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n } else if (relationToSet === 'manyWay') {\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n } else {\n set(state, ['modifiedData', 'relation'], relationToSet);\n }\n }\n }\n\n let nameToSet: string;\n\n if (didChangeRelationTypeBecauseOfRestrictedRelation && changedRelationType) {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n shouldPluralizeName(changedRelationType)\n );\n } else {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n\n shouldPluralizeName(modifiedData.relation)\n );\n }\n\n set(state, ['modifiedData', 'name'], nameToSet);\n\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n if (currentTargetAttribute === null) {\n return;\n }\n\n // Changing the target and the relation is either oneWay or manyWay\n // Case when we need to change the relation to oneWay (ex: admin user)\n if (\n didChangeRelationTypeBecauseOfRestrictedRelation &&\n changedRelationType &&\n ['oneWay', 'manyWay'].includes(changedRelationType)\n ) {\n set(state, ['modifiedData', 'targetAttribute'], null);\n\n return;\n }\n\n const targetAttributeToSet = pluralize(\n snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(modifiedData.relation)\n );\n\n set(state, ['modifiedData', 'targetAttribute'], targetAttributeToSet);\n },\n onChangeRelationType: (state, action: PayloadAction<OnChangeRelationTypePayload>) => {\n const {\n target: { oneThatIsCreatingARelationWithAnother, value },\n } = action.payload;\n\n const currentName = state.modifiedData.name;\n\n // Switching from oneWay\n if (!['oneWay', 'manyWay'].includes(value)) {\n set(state, ['modifiedData', 'relation'], value);\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n set(\n state,\n ['modifiedData', 'name'],\n pluralize(snakeCase(nameToSlug(currentName)), shouldPluralizeName(value))\n );\n\n set(\n state,\n ['modifiedData', 'targetAttribute'],\n pluralize(\n currentTargetAttribute || snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(value)\n )\n );\n\n return;\n }\n\n if (value === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 1));\n\n return;\n }\n\n // manyWay\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 2));\n },\n resetProps: () => {\n return initialState;\n },\n resetPropsAndSetFormForAddingAnExistingCompo: (\n state,\n action: PayloadAction<ResetPropsAndSetFormForAddingAnExistingCompoPayload>\n ) => {\n const { options = {} } = action.payload;\n\n return {\n ...initialState,\n modifiedData: {\n type: 'component',\n repeatable: true,\n ...options,\n },\n };\n },\n resetPropsAndSaveCurrentData: (\n state,\n action: PayloadAction<ResetPropsAndSaveCurrentDataPayload>\n ) => {\n const { options = {} } = action.payload;\n // This is run when the user has created a new component\n const componentToCreate = state.modifiedData.componentToCreate;\n const modifiedData = {\n displayName: componentToCreate.displayName,\n type: 'component',\n repeatable: false,\n ...options,\n component: createComponentUid(componentToCreate.displayName, componentToCreate.category),\n };\n\n return {\n ...initialState,\n componentToCreate,\n modifiedData,\n isCreatingComponentWhileAddingAField: state.modifiedData.createComponent,\n };\n },\n resetPropsAndSetTheFormForAddingACompoToADz: (state) => {\n const createdDZ = state.modifiedData;\n const dataToSet = {\n ...createdDZ,\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n\n return { ...initialState, modifiedData: dataToSet };\n },\n setDataToEdit: (state, action: PayloadAction<SetDataToEditPayload>) => {\n const { data } = action.payload;\n state.modifiedData = data;\n state.initialData = data;\n },\n setAttributeDataSchema: (state, action: PayloadAction<SetAttributeDataSchemaPayload>) => {\n const { isEditing } = action.payload;\n\n if (isEditing) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { attributeType, nameToSetForRelation, targetUid, step, options = {} } = action.payload;\n\n let dataToSet;\n\n if (attributeType === 'component') {\n if (step === '1') {\n dataToSet = {\n type: 'component',\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n } else {\n dataToSet = {\n ...options,\n type: 'component',\n repeatable: true,\n };\n }\n } else if (attributeType === 'dynamiczone') {\n dataToSet = {\n ...options,\n type: 'dynamiczone',\n components: [],\n };\n } else if (attributeType === 'text') {\n dataToSet = { ...options, type: 'string' };\n } else if (attributeType === 'number' || attributeType === 'date') {\n dataToSet = options;\n } else if (attributeType === 'media') {\n dataToSet = {\n allowedTypes: ['images', 'files', 'videos', 'audios'],\n type: 'media',\n multiple: true,\n ...options,\n };\n } else if (attributeType === 'enumeration') {\n dataToSet = { ...options, type: 'enumeration', enum: [] };\n } else if (attributeType === 'relation') {\n dataToSet = {\n name: snakeCase(nameToSetForRelation),\n relation: 'oneToOne',\n targetAttribute: null,\n target: targetUid,\n type: 'relation',\n };\n } else {\n dataToSet = { ...options, type: attributeType, default: null };\n }\n\n state.modifiedData = dataToSet;\n },\n setCustomFieldDataSchema: (state, action: PayloadAction<SetCustomFieldDataSchemaPayload>) => {\n const { isEditing } = action.payload;\n\n if (isEditing) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { customField, options = {} } = action.payload;\n\n state.modifiedData = { ...options, type: customField.type };\n\n const allOptions = [\n ...(customField?.options?.base || []),\n ...(customField?.options?.advanced || []),\n ];\n\n const optionDefaults = allOptions.reduce(customFieldDefaultOptionsReducer, []);\n\n if (optionDefaults.length) {\n optionDefaults.forEach(({ name, defaultValue }: { name: string; defaultValue: string }) =>\n set(state.modifiedData, name, defaultValue)\n );\n }\n },\n setDynamicZoneDataSchema: (state, action: PayloadAction<SetDynamicZoneDataSchemaPayload>) => {\n const { attributeToEdit } = action.payload;\n state.modifiedData = attributeToEdit;\n state.initialData = attributeToEdit;\n },\n setErrors: (state, action: PayloadAction<SetErrorsPayload>) => {\n state.formErrors = action.payload.errors;\n },\n },\n});\n\nexport { initialState };\nexport const { actions, reducer } = slice;\n"],"names":["initialState","formErrors","modifiedData","initialData","componentToCreate","isCreatingComponentWhileAddingAField","slice","createSlice","name","reducers","onChange","state","action","keys","value","payload","obj","hasDefaultValue","Boolean","default","length","includes","previousType","type","set","onChangeRelationTarget","target","oneThatIsCreatingARelationWithAnother","selectedContentTypeFriendlyName","targetContentTypeAllowedRelations","didChangeRelationTypeBecauseOfRestrictedRelation","changedRelationType","Array","isArray","currentRelationType","getRelationType","relation","targetAttribute","relationToSet","nameToSet","pluralize","snakeCase","nameToSlug","shouldPluralizeName","currentTargetAttribute","targetAttributeToSet","shouldPluralizeTargetAttribute","onChangeRelationType","currentName","resetProps","resetPropsAndSetFormForAddingAnExistingCompo","options","repeatable","resetPropsAndSaveCurrentData","displayName","component","createComponentUid","category","createComponent","resetPropsAndSetTheFormForAddingACompoToADz","createdDZ","dataToSet","setDataToEdit","data","setAttributeDataSchema","isEditing","modifiedDataToSetForEditing","attributeType","nameToSetForRelation","targetUid","step","components","allowedTypes","multiple","enum","setCustomFieldDataSchema","customField","allOptions","base","advanced","optionDefaults","reduce","customFieldDefaultOptionsReducer","forEach","defaultValue","setDynamicZoneDataSchema","attributeToEdit","setErrors","errors","actions","reducer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reducer.mjs","sources":["../../../../admin/src/components/FormModal/reducer.ts"],"sourcesContent":["import { createSlice, type PayloadAction } from '@reduxjs/toolkit';\nimport set from 'lodash/set';\nimport snakeCase from 'lodash/snakeCase';\nimport pluralize from 'pluralize';\n\nimport { getRelationType } from '../../utils/getRelationType';\nimport { nameToSlug } from '../../utils/nameToSlug';\n\nimport { createComponentUid } from './utils/createUid';\nimport { customFieldDefaultOptionsReducer } from './utils/customFieldDefaultOptionsReducer';\nimport { shouldPluralizeName, shouldPluralizeTargetAttribute } from './utils/relations';\n\nimport type { Schema, UID } from '@strapi/types';\n\nexport type State = {\n formErrors: Record<string, any>;\n modifiedData: Record<string, any>;\n initialData: Record<string, any>;\n componentToCreate: Record<string, any>;\n isCreatingComponentWhileAddingAField: boolean;\n};\n\nconst initialState: State = {\n formErrors: {},\n modifiedData: {},\n initialData: {},\n componentToCreate: {},\n isCreatingComponentWhileAddingAField: false,\n};\n\ntype OnChangePayload = {\n keys: string[];\n value: any;\n};\n\ntype OnChangeRelationTargetPayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n selectedContentTypeFriendlyName: string;\n targetContentTypeAllowedRelations: Schema.Attribute.RelationKind.Any[] | null;\n value: string;\n };\n};\n\ntype OnChangeRelationTypePayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n value: Schema.Attribute.RelationKind.Any;\n };\n};\n\ntype ResetPropsAndSetFormForAddingAnExistingCompoPayload = {\n uid: UID.Schema;\n options?: Record<string, any>;\n};\n\ntype ResetPropsAndSaveCurrentDataPayload = {\n uid: UID.Schema;\n options?: Record<string, any>;\n};\n\ntype SetDataToEditPayload = {\n data: Record<string, any>;\n};\n\ntype SetAttributeDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n uid: UID.Schema;\n }\n | {\n isEditing: false;\n modifiedDataToSetForEditing: Record<string, any>;\n attributeType: string;\n nameToSetForRelation: string;\n targetUid: string;\n step: string | null;\n options?: Record<string, any>;\n uid: UID.Schema;\n };\n\ntype SetCustomFieldDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n uid: UID.Schema;\n }\n | {\n isEditing: false;\n modifiedDataToSetForEditing: Record<string, any>;\n customField: Record<string, any>;\n options?: Record<string, any>;\n uid: UID.Schema;\n };\n\ntype SetDynamicZoneDataSchemaPayload = {\n attributeToEdit: Record<string, any>;\n};\n\ntype SetErrorsPayload = {\n errors: Record<string, any>;\n};\n\nconst slice = createSlice({\n name: 'formModal',\n initialState,\n reducers: {\n onChange: (state, action: PayloadAction<OnChangePayload>) => {\n const { keys, value } = action.payload;\n const obj = state.modifiedData;\n const hasDefaultValue = Boolean(obj.default);\n\n // There is no need to remove the default key if the default value isn't defined\n if (hasDefaultValue && keys.length === 1 && keys.includes('type')) {\n const previousType = obj.type;\n\n if (previousType && ['date', 'datetime', 'time'].includes(previousType)) {\n // return obj.updateIn(keys, () => value).remove('default');\n delete state.modifiedData.default;\n }\n }\n\n set(state, ['modifiedData', ...keys], value);\n },\n onChangeRelationTarget: (state, action: PayloadAction<OnChangeRelationTargetPayload>) => {\n const {\n target: {\n oneThatIsCreatingARelationWithAnother,\n selectedContentTypeFriendlyName,\n targetContentTypeAllowedRelations,\n value,\n },\n } = action.payload;\n // Special case for the admin user...\n let didChangeRelationTypeBecauseOfRestrictedRelation = false;\n let changedRelationType: Schema.Attribute.RelationKind.Any | null = null;\n\n set(state, ['modifiedData', 'target'], value);\n\n const modifiedData = state.modifiedData;\n\n // Don't change the relation type if the allowed relations are not restricted\n // TODO: replace with an obj { relation: 'x', bidirctional: true|false } when BE ready\n if (Array.isArray(targetContentTypeAllowedRelations)) {\n const currentRelationType = getRelationType(\n modifiedData.relation,\n modifiedData.targetAttribute\n );\n\n if (\n currentRelationType &&\n !targetContentTypeAllowedRelations.includes(currentRelationType)\n ) {\n const relationToSet = targetContentTypeAllowedRelations[0];\n didChangeRelationTypeBecauseOfRestrictedRelation = true;\n changedRelationType = relationToSet;\n\n if (relationToSet === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n } else if (relationToSet === 'manyWay') {\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n } else {\n set(state, ['modifiedData', 'relation'], relationToSet);\n }\n }\n }\n\n let nameToSet: string;\n\n if (didChangeRelationTypeBecauseOfRestrictedRelation && changedRelationType) {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n shouldPluralizeName(changedRelationType)\n );\n } else {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n\n shouldPluralizeName(modifiedData.relation)\n );\n }\n\n set(state, ['modifiedData', 'name'], nameToSet);\n\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n if (currentTargetAttribute === null) {\n return;\n }\n\n // Changing the target and the relation is either oneWay or manyWay\n // Case when we need to change the relation to oneWay (ex: admin user)\n if (\n didChangeRelationTypeBecauseOfRestrictedRelation &&\n changedRelationType &&\n ['oneWay', 'manyWay'].includes(changedRelationType)\n ) {\n set(state, ['modifiedData', 'targetAttribute'], null);\n\n return;\n }\n\n const targetAttributeToSet = pluralize(\n snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(modifiedData.relation)\n );\n\n set(state, ['modifiedData', 'targetAttribute'], targetAttributeToSet);\n },\n onChangeRelationType: (state, action: PayloadAction<OnChangeRelationTypePayload>) => {\n const {\n target: { oneThatIsCreatingARelationWithAnother, value },\n } = action.payload;\n\n const currentName = state.modifiedData.name;\n\n // Switching from oneWay\n if (!['oneWay', 'manyWay'].includes(value)) {\n set(state, ['modifiedData', 'relation'], value);\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n set(\n state,\n ['modifiedData', 'name'],\n pluralize(snakeCase(nameToSlug(currentName)), shouldPluralizeName(value))\n );\n\n set(\n state,\n ['modifiedData', 'targetAttribute'],\n pluralize(\n currentTargetAttribute || snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(value)\n )\n );\n\n return;\n }\n\n if (value === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 1));\n\n return;\n }\n\n // manyWay\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 2));\n },\n resetProps: () => {\n return initialState;\n },\n resetPropsAndSetFormForAddingAnExistingCompo: (\n state,\n action: PayloadAction<ResetPropsAndSetFormForAddingAnExistingCompoPayload>\n ) => {\n const { options = {} } = action.payload;\n\n return {\n ...initialState,\n modifiedData: {\n type: 'component',\n repeatable: true,\n ...options,\n },\n };\n },\n resetPropsAndSaveCurrentData: (\n state,\n action: PayloadAction<ResetPropsAndSaveCurrentDataPayload>\n ) => {\n const { options = {} } = action.payload;\n // This is run when the user has created a new component\n const componentToCreate = state.modifiedData.componentToCreate;\n const modifiedData = {\n displayName: componentToCreate.displayName,\n type: 'component',\n repeatable: false,\n ...options,\n component: createComponentUid(componentToCreate.displayName, componentToCreate.category),\n };\n\n return {\n ...initialState,\n componentToCreate,\n modifiedData,\n isCreatingComponentWhileAddingAField: state.modifiedData.createComponent,\n };\n },\n resetPropsAndSetTheFormForAddingACompoToADz: (state) => {\n const createdDZ = state.modifiedData;\n const dataToSet = {\n ...createdDZ,\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n\n return { ...initialState, modifiedData: dataToSet };\n },\n setDataToEdit: (state, action: PayloadAction<SetDataToEditPayload>) => {\n const { data } = action.payload;\n state.modifiedData = data;\n state.initialData = data;\n },\n setAttributeDataSchema: (state, action: PayloadAction<SetAttributeDataSchemaPayload>) => {\n const { isEditing } = action.payload;\n\n if (isEditing === true) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { attributeType, nameToSetForRelation, targetUid, step, options = {} } = action.payload;\n\n let dataToSet;\n\n if (attributeType === 'component') {\n if (step === '1') {\n dataToSet = {\n type: 'component',\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n } else {\n dataToSet = {\n ...options,\n type: 'component',\n repeatable: true,\n };\n }\n } else if (attributeType === 'dynamiczone') {\n dataToSet = {\n ...options,\n type: 'dynamiczone',\n components: [],\n };\n } else if (attributeType === 'text') {\n dataToSet = { ...options, type: 'string' };\n } else if (attributeType === 'number' || attributeType === 'date') {\n dataToSet = options;\n } else if (attributeType === 'media') {\n dataToSet = {\n allowedTypes: ['images', 'files', 'videos', 'audios'],\n type: 'media',\n multiple: true,\n ...options,\n };\n } else if (attributeType === 'enumeration') {\n dataToSet = { ...options, type: 'enumeration', enum: [] };\n } else if (attributeType === 'relation') {\n dataToSet = {\n name: snakeCase(nameToSetForRelation),\n relation: 'oneToOne',\n targetAttribute: null,\n target: targetUid,\n type: 'relation',\n };\n } else {\n dataToSet = { ...options, type: attributeType, default: null };\n }\n\n state.modifiedData = dataToSet;\n },\n setCustomFieldDataSchema: (state, action: PayloadAction<SetCustomFieldDataSchemaPayload>) => {\n const { payload } = action;\n\n if (payload.isEditing === true) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { customField, options = {} } = payload;\n\n state.modifiedData = { ...options, type: customField.type };\n\n const allOptions = [\n ...(customField?.options?.base || []),\n ...(customField?.options?.advanced || []),\n ];\n\n const optionDefaults = allOptions.reduce(customFieldDefaultOptionsReducer, []);\n\n if (optionDefaults.length) {\n optionDefaults.forEach(({ name, defaultValue }: { name: string; defaultValue: string }) =>\n set(state.modifiedData, name, defaultValue)\n );\n }\n },\n setDynamicZoneDataSchema: (state, action: PayloadAction<SetDynamicZoneDataSchemaPayload>) => {\n const { attributeToEdit } = action.payload;\n state.modifiedData = attributeToEdit;\n state.initialData = attributeToEdit;\n },\n setErrors: (state, action: PayloadAction<SetErrorsPayload>) => {\n state.formErrors = action.payload.errors;\n },\n },\n});\n\nexport { initialState };\nexport const { actions, reducer } = slice;\n"],"names":["initialState","formErrors","modifiedData","initialData","componentToCreate","isCreatingComponentWhileAddingAField","slice","createSlice","name","reducers","onChange","state","action","keys","value","payload","obj","hasDefaultValue","Boolean","default","length","includes","previousType","type","set","onChangeRelationTarget","target","oneThatIsCreatingARelationWithAnother","selectedContentTypeFriendlyName","targetContentTypeAllowedRelations","didChangeRelationTypeBecauseOfRestrictedRelation","changedRelationType","Array","isArray","currentRelationType","getRelationType","relation","targetAttribute","relationToSet","nameToSet","pluralize","snakeCase","nameToSlug","shouldPluralizeName","currentTargetAttribute","targetAttributeToSet","shouldPluralizeTargetAttribute","onChangeRelationType","currentName","resetProps","resetPropsAndSetFormForAddingAnExistingCompo","options","repeatable","resetPropsAndSaveCurrentData","displayName","component","createComponentUid","category","createComponent","resetPropsAndSetTheFormForAddingACompoToADz","createdDZ","dataToSet","setDataToEdit","data","setAttributeDataSchema","isEditing","modifiedDataToSetForEditing","attributeType","nameToSetForRelation","targetUid","step","components","allowedTypes","multiple","enum","setCustomFieldDataSchema","customField","allOptions","base","advanced","optionDefaults","reduce","customFieldDefaultOptionsReducer","forEach","defaultValue","setDynamicZoneDataSchema","attributeToEdit","setErrors","errors","actions","reducer"],"mappings":";;;;;;;;;;AAsBA,MAAMA,YAAsB,GAAA;AAC1BC,IAAAA,UAAAA,EAAY,EAAC;AACbC,IAAAA,YAAAA,EAAc,EAAC;AACfC,IAAAA,WAAAA,EAAa,EAAC;AACdC,IAAAA,iBAAAA,EAAmB,EAAC;IACpBC,oCAAsC,EAAA;AACxC;AA4EA,MAAMC,QAAQC,WAAY,CAAA;IACxBC,IAAM,EAAA,WAAA;AACNR,IAAAA,YAAAA;IACAS,QAAU,EAAA;AACRC,QAAAA,QAAAA,EAAU,CAACC,KAAOC,EAAAA,MAAAA,GAAAA;AAChB,YAAA,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAGF,OAAOG,OAAO;YACtC,MAAMC,GAAAA,GAAML,MAAMT,YAAY;YAC9B,MAAMe,eAAAA,GAAkBC,OAAQF,CAAAA,GAAAA,CAAIG,OAAO,CAAA;;YAG3C,IAAIF,eAAAA,IAAmBJ,KAAKO,MAAM,KAAK,KAAKP,IAAKQ,CAAAA,QAAQ,CAAC,MAAS,CAAA,EAAA;gBACjE,MAAMC,YAAAA,GAAeN,IAAIO,IAAI;AAE7B,gBAAA,IAAID,YAAgB,IAAA;AAAC,oBAAA,MAAA;AAAQ,oBAAA,UAAA;AAAY,oBAAA;iBAAO,CAACD,QAAQ,CAACC,YAAe,CAAA,EAAA;;oBAEvE,OAAOX,KAAAA,CAAMT,YAAY,CAACiB,OAAO;AACnC;AACF;AAEAK,YAAAA,GAAAA,CAAIb,KAAO,EAAA;AAAC,gBAAA,cAAA;AAAmBE,gBAAAA,GAAAA;aAAK,EAAEC,KAAAA,CAAAA;AACxC,SAAA;AACAW,QAAAA,sBAAAA,EAAwB,CAACd,KAAOC,EAAAA,MAAAA,GAAAA;AAC9B,YAAA,MAAM,EACJc,MAAAA,EAAQ,EACNC,qCAAqC,EACrCC,+BAA+B,EAC/BC,iCAAiC,EACjCf,KAAK,EACN,EACF,GAAGF,OAAOG,OAAO;;AAElB,YAAA,IAAIe,gDAAmD,GAAA,KAAA;AACvD,YAAA,IAAIC,mBAAgE,GAAA,IAAA;AAEpEP,YAAAA,GAAAA,CAAIb,KAAO,EAAA;AAAC,gBAAA,cAAA;AAAgB,gBAAA;aAAS,EAAEG,KAAAA,CAAAA;YAEvC,MAAMZ,YAAAA,GAAeS,MAAMT,YAAY;;;YAIvC,IAAI8B,KAAAA,CAAMC,OAAO,CAACJ,iCAAoC,CAAA,EAAA;AACpD,gBAAA,MAAMK,sBAAsBC,eAC1BjC,CAAAA,YAAAA,CAAakC,QAAQ,EACrBlC,aAAamC,eAAe,CAAA;AAG9B,gBAAA,IACEH,mBACA,IAAA,CAACL,iCAAkCR,CAAAA,QAAQ,CAACa,mBAC5C,CAAA,EAAA;oBACA,MAAMI,aAAAA,GAAgBT,iCAAiC,CAAC,CAAE,CAAA;oBAC1DC,gDAAmD,GAAA,IAAA;oBACnDC,mBAAsBO,GAAAA,aAAAA;AAEtB,oBAAA,IAAIA,kBAAkB,QAAU,EAAA;AAC9Bd,wBAAAA,GAAAA,CAAIb,KAAO,EAAA;AAAC,4BAAA,cAAA;AAAgB,4BAAA;yBAAW,EAAE,UAAA,CAAA;qBACpC,MAAA,IAAI2B,kBAAkB,SAAW,EAAA;AACtCd,wBAAAA,GAAAA,CAAIb,KAAO,EAAA;AAAC,4BAAA,cAAA;AAAgB,4BAAA;yBAAW,EAAE,WAAA,CAAA;qBACpC,MAAA;AACLa,wBAAAA,GAAAA,CAAIb,KAAO,EAAA;AAAC,4BAAA,cAAA;AAAgB,4BAAA;yBAAW,EAAE2B,aAAAA,CAAAA;AAC3C;AACF;AACF;YAEA,IAAIC,SAAAA;AAEJ,YAAA,IAAIT,oDAAoDC,mBAAqB,EAAA;AAC3EQ,gBAAAA,SAAAA,GAAYC,SACVC,CAAAA,SAAAA,CAAUC,UAAWd,CAAAA,+BAAAA,CAAAA,CAAAA,EACrBe,mBAAoBZ,CAAAA,mBAAAA,CAAAA,CAAAA;aAEjB,MAAA;AACLQ,gBAAAA,SAAAA,GAAYC,UACVC,SAAUC,CAAAA,UAAAA,CAAWd,+BAErBe,CAAAA,CAAAA,EAAAA,mBAAAA,CAAoBzC,aAAakC,QAAQ,CAAA,CAAA;AAE7C;AAEAZ,YAAAA,GAAAA,CAAIb,KAAO,EAAA;AAAC,gBAAA,cAAA;AAAgB,gBAAA;aAAO,EAAE4B,SAAAA,CAAAA;AAErC,YAAA,MAAMK,sBAAyBjC,GAAAA,KAAAA,CAAMT,YAAY,CAACmC,eAAe;AAEjE,YAAA,IAAIO,2BAA2B,IAAM,EAAA;AACnC,gBAAA;AACF;;;AAIA,YAAA,IACEd,oDACAC,mBACA,IAAA;AAAC,gBAAA,QAAA;AAAU,gBAAA;aAAU,CAACV,QAAQ,CAACU,mBAC/B,CAAA,EAAA;AACAP,gBAAAA,GAAAA,CAAIb,KAAO,EAAA;AAAC,oBAAA,cAAA;AAAgB,oBAAA;iBAAkB,EAAE,IAAA,CAAA;AAEhD,gBAAA;AACF;AAEA,YAAA,MAAMkC,uBAAuBL,SAC3BC,CAAAA,SAAAA,CAAUC,WAAWf,qCACrBmB,CAAAA,CAAAA,EAAAA,8BAAAA,CAA+B5C,aAAakC,QAAQ,CAAA,CAAA;AAGtDZ,YAAAA,GAAAA,CAAIb,KAAO,EAAA;AAAC,gBAAA,cAAA;AAAgB,gBAAA;aAAkB,EAAEkC,oBAAAA,CAAAA;AAClD,SAAA;AACAE,QAAAA,oBAAAA,EAAsB,CAACpC,KAAOC,EAAAA,MAAAA,GAAAA;YAC5B,MAAM,EACJc,MAAQ,EAAA,EAAEC,qCAAqC,EAAEb,KAAK,EAAE,EACzD,GAAGF,MAAAA,CAAOG,OAAO;AAElB,YAAA,MAAMiC,WAAcrC,GAAAA,KAAAA,CAAMT,YAAY,CAACM,IAAI;;AAG3C,YAAA,IAAI,CAAC;AAAC,gBAAA,QAAA;AAAU,gBAAA;aAAU,CAACa,QAAQ,CAACP,KAAQ,CAAA,EAAA;AAC1CU,gBAAAA,GAAAA,CAAIb,KAAO,EAAA;AAAC,oBAAA,cAAA;AAAgB,oBAAA;iBAAW,EAAEG,KAAAA,CAAAA;AACzC,gBAAA,MAAM8B,sBAAyBjC,GAAAA,KAAAA,CAAMT,YAAY,CAACmC,eAAe;AAEjEb,gBAAAA,GAAAA,CACEb,KACA,EAAA;AAAC,oBAAA,cAAA;AAAgB,oBAAA;AAAO,iBAAA,EACxB6B,SAAUC,CAAAA,SAAAA,CAAUC,UAAWM,CAAAA,WAAAA,CAAAA,CAAAA,EAAeL,mBAAoB7B,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA;AAGpEU,gBAAAA,GAAAA,CACEb,KACA,EAAA;AAAC,oBAAA,cAAA;AAAgB,oBAAA;AAAkB,iBAAA,EACnC6B,SACEI,CAAAA,sBAAAA,IAA0BH,SAAUC,CAAAA,UAAAA,CAAWf,yCAC/CmB,8BAA+BhC,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA;AAInC,gBAAA;AACF;AAEA,YAAA,IAAIA,UAAU,QAAU,EAAA;AACtBU,gBAAAA,GAAAA,CAAIb,KAAO,EAAA;AAAC,oBAAA,cAAA;AAAgB,oBAAA;iBAAW,EAAE,UAAA,CAAA;AACzCa,gBAAAA,GAAAA,CAAIb,KAAO,EAAA;AAAC,oBAAA,cAAA;AAAgB,oBAAA;iBAAkB,EAAE,IAAA,CAAA;AAChDa,gBAAAA,GAAAA,CAAIb,KAAO,EAAA;AAAC,oBAAA,cAAA;AAAgB,oBAAA;iBAAO,EAAE6B,SAAAA,CAAUC,UAAUO,WAAc,CAAA,EAAA,CAAA,CAAA,CAAA;AAEvE,gBAAA;AACF;;AAGAxB,YAAAA,GAAAA,CAAIb,KAAO,EAAA;AAAC,gBAAA,cAAA;AAAgB,gBAAA;aAAW,EAAE,WAAA,CAAA;AACzCa,YAAAA,GAAAA,CAAIb,KAAO,EAAA;AAAC,gBAAA,cAAA;AAAgB,gBAAA;aAAkB,EAAE,IAAA,CAAA;AAChDa,YAAAA,GAAAA,CAAIb,KAAO,EAAA;AAAC,gBAAA,cAAA;AAAgB,gBAAA;aAAO,EAAE6B,SAAAA,CAAUC,UAAUO,WAAc,CAAA,EAAA,CAAA,CAAA,CAAA;AACzE,SAAA;QACAC,UAAY,EAAA,IAAA;YACV,OAAOjD,YAAAA;AACT,SAAA;AACAkD,QAAAA,4CAAAA,EAA8C,CAC5CvC,KACAC,EAAAA,MAAAA,GAAAA;AAEA,YAAA,MAAM,EAAEuC,OAAU,GAAA,EAAE,EAAE,GAAGvC,OAAOG,OAAO;YAEvC,OAAO;AACL,gBAAA,GAAGf,YAAY;gBACfE,YAAc,EAAA;oBACZqB,IAAM,EAAA,WAAA;oBACN6B,UAAY,EAAA,IAAA;AACZ,oBAAA,GAAGD;AACL;AACF,aAAA;AACF,SAAA;AACAE,QAAAA,4BAAAA,EAA8B,CAC5B1C,KACAC,EAAAA,MAAAA,GAAAA;AAEA,YAAA,MAAM,EAAEuC,OAAU,GAAA,EAAE,EAAE,GAAGvC,OAAOG,OAAO;;AAEvC,YAAA,MAAMX,iBAAoBO,GAAAA,KAAAA,CAAMT,YAAY,CAACE,iBAAiB;AAC9D,YAAA,MAAMF,YAAe,GAAA;AACnBoD,gBAAAA,WAAAA,EAAalD,kBAAkBkD,WAAW;gBAC1C/B,IAAM,EAAA,WAAA;gBACN6B,UAAY,EAAA,KAAA;AACZ,gBAAA,GAAGD,OAAO;AACVI,gBAAAA,SAAAA,EAAWC,kBAAmBpD,CAAAA,iBAAAA,CAAkBkD,WAAW,EAAElD,kBAAkBqD,QAAQ;AACzF,aAAA;YAEA,OAAO;AACL,gBAAA,GAAGzD,YAAY;AACfI,gBAAAA,iBAAAA;AACAF,gBAAAA,YAAAA;gBACAG,oCAAsCM,EAAAA,KAAAA,CAAMT,YAAY,CAACwD;AAC3D,aAAA;AACF,SAAA;AACAC,QAAAA,2CAAAA,EAA6C,CAAChD,KAAAA,GAAAA;YAC5C,MAAMiD,SAAAA,GAAYjD,MAAMT,YAAY;AACpC,YAAA,MAAM2D,SAAY,GAAA;AAChB,gBAAA,GAAGD,SAAS;gBACZF,eAAiB,EAAA,IAAA;gBACjBtD,iBAAmB,EAAA;oBAAEmB,IAAM,EAAA;AAAY;AACzC,aAAA;YAEA,OAAO;AAAE,gBAAA,GAAGvB,YAAY;gBAAEE,YAAc2D,EAAAA;AAAU,aAAA;AACpD,SAAA;AACAC,QAAAA,aAAAA,EAAe,CAACnD,KAAOC,EAAAA,MAAAA,GAAAA;AACrB,YAAA,MAAM,EAAEmD,IAAI,EAAE,GAAGnD,OAAOG,OAAO;AAC/BJ,YAAAA,KAAAA,CAAMT,YAAY,GAAG6D,IAAAA;AACrBpD,YAAAA,KAAAA,CAAMR,WAAW,GAAG4D,IAAAA;AACtB,SAAA;AACAC,QAAAA,sBAAAA,EAAwB,CAACrD,KAAOC,EAAAA,MAAAA,GAAAA;AAC9B,YAAA,MAAM,EAAEqD,SAAS,EAAE,GAAGrD,OAAOG,OAAO;AAEpC,YAAA,IAAIkD,cAAc,IAAM,EAAA;AACtB,gBAAA,MAAM,EAAEC,2BAA2B,EAAE,GAAGtD,OAAOG,OAAO;AACtDJ,gBAAAA,KAAAA,CAAMT,YAAY,GAAGgE,2BAAAA;AACrBvD,gBAAAA,KAAAA,CAAMR,WAAW,GAAG+D,2BAAAA;AAEpB,gBAAA;AACF;AAEA,YAAA,MAAM,EAAEC,aAAa,EAAEC,oBAAoB,EAAEC,SAAS,EAAEC,IAAI,EAAEnB,UAAU,EAAE,EAAE,GAAGvC,OAAOG,OAAO;YAE7F,IAAI8C,SAAAA;AAEJ,YAAA,IAAIM,kBAAkB,WAAa,EAAA;AACjC,gBAAA,IAAIG,SAAS,GAAK,EAAA;oBAChBT,SAAY,GAAA;wBACVtC,IAAM,EAAA,WAAA;wBACNmC,eAAiB,EAAA,IAAA;wBACjBtD,iBAAmB,EAAA;4BAAEmB,IAAM,EAAA;AAAY;AACzC,qBAAA;iBACK,MAAA;oBACLsC,SAAY,GAAA;AACV,wBAAA,GAAGV,OAAO;wBACV5B,IAAM,EAAA,WAAA;wBACN6B,UAAY,EAAA;AACd,qBAAA;AACF;aACK,MAAA,IAAIe,kBAAkB,aAAe,EAAA;gBAC1CN,SAAY,GAAA;AACV,oBAAA,GAAGV,OAAO;oBACV5B,IAAM,EAAA,aAAA;AACNgD,oBAAAA,UAAAA,EAAY;AACd,iBAAA;aACK,MAAA,IAAIJ,kBAAkB,MAAQ,EAAA;gBACnCN,SAAY,GAAA;AAAE,oBAAA,GAAGV,OAAO;oBAAE5B,IAAM,EAAA;AAAS,iBAAA;AAC3C,aAAA,MAAO,IAAI4C,aAAAA,KAAkB,QAAYA,IAAAA,aAAAA,KAAkB,MAAQ,EAAA;gBACjEN,SAAYV,GAAAA,OAAAA;aACP,MAAA,IAAIgB,kBAAkB,OAAS,EAAA;gBACpCN,SAAY,GAAA;oBACVW,YAAc,EAAA;AAAC,wBAAA,QAAA;AAAU,wBAAA,OAAA;AAAS,wBAAA,QAAA;AAAU,wBAAA;AAAS,qBAAA;oBACrDjD,IAAM,EAAA,OAAA;oBACNkD,QAAU,EAAA,IAAA;AACV,oBAAA,GAAGtB;AACL,iBAAA;aACK,MAAA,IAAIgB,kBAAkB,aAAe,EAAA;gBAC1CN,SAAY,GAAA;AAAE,oBAAA,GAAGV,OAAO;oBAAE5B,IAAM,EAAA,aAAA;AAAemD,oBAAAA,IAAAA,EAAM;AAAG,iBAAA;aACnD,MAAA,IAAIP,kBAAkB,UAAY,EAAA;gBACvCN,SAAY,GAAA;AACVrD,oBAAAA,IAAAA,EAAMiC,SAAU2B,CAAAA,oBAAAA,CAAAA;oBAChBhC,QAAU,EAAA,UAAA;oBACVC,eAAiB,EAAA,IAAA;oBACjBX,MAAQ2C,EAAAA,SAAAA;oBACR9C,IAAM,EAAA;AACR,iBAAA;aACK,MAAA;gBACLsC,SAAY,GAAA;AAAE,oBAAA,GAAGV,OAAO;oBAAE5B,IAAM4C,EAAAA,aAAAA;oBAAehD,OAAS,EAAA;AAAK,iBAAA;AAC/D;AAEAR,YAAAA,KAAAA,CAAMT,YAAY,GAAG2D,SAAAA;AACvB,SAAA;AACAc,QAAAA,wBAAAA,EAA0B,CAAChE,KAAOC,EAAAA,MAAAA,GAAAA;YAChC,MAAM,EAAEG,OAAO,EAAE,GAAGH,MAAAA;YAEpB,IAAIG,OAAAA,CAAQkD,SAAS,KAAK,IAAM,EAAA;AAC9B,gBAAA,MAAM,EAAEC,2BAA2B,EAAE,GAAGtD,OAAOG,OAAO;AACtDJ,gBAAAA,KAAAA,CAAMT,YAAY,GAAGgE,2BAAAA;AACrBvD,gBAAAA,KAAAA,CAAMR,WAAW,GAAG+D,2BAAAA;AAEpB,gBAAA;AACF;AAEA,YAAA,MAAM,EAAEU,WAAW,EAAEzB,UAAU,EAAE,EAAE,GAAGpC,OAAAA;AAEtCJ,YAAAA,KAAAA,CAAMT,YAAY,GAAG;AAAE,gBAAA,GAAGiD,OAAO;AAAE5B,gBAAAA,IAAAA,EAAMqD,YAAYrD;AAAK,aAAA;AAE1D,YAAA,MAAMsD,UAAa,GAAA;mBACbD,WAAazB,EAAAA,OAAAA,EAAS2B,QAAQ,EAAE;mBAChCF,WAAazB,EAAAA,OAAAA,EAAS4B,YAAY;AACvC,aAAA;AAED,YAAA,MAAMC,cAAiBH,GAAAA,UAAAA,CAAWI,MAAM,CAACC,kCAAkC,EAAE,CAAA;YAE7E,IAAIF,cAAAA,CAAe5D,MAAM,EAAE;AACzB4D,gBAAAA,cAAAA,CAAeG,OAAO,CAAC,CAAC,EAAE3E,IAAI,EAAE4E,YAAY,EAA0C,GACpF5D,GAAAA,CAAIb,KAAMT,CAAAA,YAAY,EAAEM,IAAM4E,EAAAA,YAAAA,CAAAA,CAAAA;AAElC;AACF,SAAA;AACAC,QAAAA,wBAAAA,EAA0B,CAAC1E,KAAOC,EAAAA,MAAAA,GAAAA;AAChC,YAAA,MAAM,EAAE0E,eAAe,EAAE,GAAG1E,OAAOG,OAAO;AAC1CJ,YAAAA,KAAAA,CAAMT,YAAY,GAAGoF,eAAAA;AACrB3E,YAAAA,KAAAA,CAAMR,WAAW,GAAGmF,eAAAA;AACtB,SAAA;AACAC,QAAAA,SAAAA,EAAW,CAAC5E,KAAOC,EAAAA,MAAAA,GAAAA;AACjBD,YAAAA,KAAAA,CAAMV,UAAU,GAAGW,MAAOG,CAAAA,OAAO,CAACyE,MAAM;AAC1C;AACF;AACF,CAAA,CAAA;MAGa,EAAEC,OAAO,EAAEC,OAAO,EAAE,GAAGpF;;;;"}
|
|
@@ -1,26 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var get = require('lodash/get');
|
|
4
3
|
var getRelationType = require('../../../utils/getRelationType.js');
|
|
5
4
|
|
|
6
|
-
const canEditContentType = (
|
|
7
|
-
const kind =
|
|
8
|
-
'contentType',
|
|
9
|
-
'schema',
|
|
10
|
-
'kind'
|
|
11
|
-
], '');
|
|
5
|
+
const canEditContentType = (type, modifiedData)=>{
|
|
6
|
+
const kind = type.kind;
|
|
12
7
|
// if kind isn't modified or content type is a single type, there is no need to check attributes.
|
|
13
8
|
if (kind === 'singleType' || kind === modifiedData.kind) {
|
|
14
9
|
return true;
|
|
15
10
|
}
|
|
16
|
-
const contentTypeAttributes =
|
|
17
|
-
|
|
18
|
-
'
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
11
|
+
const contentTypeAttributes = type?.attributes ?? [];
|
|
12
|
+
const relationAttributes = contentTypeAttributes.filter((attribute)=>{
|
|
13
|
+
if (attribute.type !== 'relation') {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
const { relation, targetAttribute } = attribute;
|
|
22
17
|
const relationType = getRelationType.getRelationType(relation, targetAttribute);
|
|
23
|
-
return
|
|
18
|
+
return ![
|
|
24
19
|
'oneWay',
|
|
25
20
|
'manyWay'
|
|
26
21
|
].includes(relationType || '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canEditContentType.js","sources":["../../../../../admin/src/components/FormModal/utils/canEditContentType.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport { getRelationType } from '../../../utils/getRelationType';\n\nimport type {
|
|
1
|
+
{"version":3,"file":"canEditContentType.js","sources":["../../../../../admin/src/components/FormModal/utils/canEditContentType.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport { getRelationType } from '../../../utils/getRelationType';\n\nimport type { AnyAttribute, ContentType } from '../../../types';\nimport type { Internal, Struct } from '@strapi/types';\n\nexport type EditableContentTypeSchema = {\n kind: Struct.ContentTypeKind;\n name: string;\n attributes: AnyAttribute[];\n};\n\nexport type EditableContentTypeData = {\n contentType: {\n uid: Internal.UID.ContentType;\n schema: EditableContentTypeSchema;\n };\n};\n\ntype ModifiedData = {\n kind?: Struct.ContentTypeKind;\n};\n\nexport const canEditContentType = (type: ContentType, modifiedData: ModifiedData) => {\n const kind = type.kind;\n\n // if kind isn't modified or content type is a single type, there is no need to check attributes.\n if (kind === 'singleType' || kind === modifiedData.kind) {\n return true;\n }\n\n const contentTypeAttributes: AnyAttribute[] = type?.attributes ?? [];\n\n const relationAttributes = contentTypeAttributes.filter((attribute) => {\n if (attribute.type !== 'relation') {\n return false;\n }\n\n const { relation, targetAttribute } = attribute;\n const relationType = getRelationType(relation, targetAttribute);\n\n return !['oneWay', 'manyWay'].includes(relationType || '');\n });\n\n return relationAttributes.length === 0;\n};\n"],"names":["canEditContentType","type","modifiedData","kind","contentTypeAttributes","attributes","relationAttributes","filter","attribute","relation","targetAttribute","relationType","getRelationType","includes","length"],"mappings":";;;;AAwBO,MAAMA,kBAAqB,GAAA,CAACC,IAAmBC,EAAAA,YAAAA,GAAAA;IACpD,MAAMC,IAAAA,GAAOF,KAAKE,IAAI;;AAGtB,IAAA,IAAIA,IAAS,KAAA,YAAA,IAAgBA,IAASD,KAAAA,YAAAA,CAAaC,IAAI,EAAE;QACvD,OAAO,IAAA;AACT;IAEA,MAAMC,qBAAAA,GAAwCH,IAAMI,EAAAA,UAAAA,IAAc,EAAE;AAEpE,IAAA,MAAMC,kBAAqBF,GAAAA,qBAAAA,CAAsBG,MAAM,CAAC,CAACC,SAAAA,GAAAA;QACvD,IAAIA,SAAAA,CAAUP,IAAI,KAAK,UAAY,EAAA;YACjC,OAAO,KAAA;AACT;AAEA,QAAA,MAAM,EAAEQ,QAAQ,EAAEC,eAAe,EAAE,GAAGF,SAAAA;QACtC,MAAMG,YAAAA,GAAeC,gCAAgBH,QAAUC,EAAAA,eAAAA,CAAAA;AAE/C,QAAA,OAAO,CAAC;AAAC,YAAA,QAAA;AAAU,YAAA;SAAU,CAACG,QAAQ,CAACF,YAAgB,IAAA,EAAA,CAAA;AACzD,KAAA,CAAA;IAEA,OAAOL,kBAAAA,CAAmBQ,MAAM,KAAK,CAAA;AACvC;;;;"}
|
|
@@ -1,24 +1,19 @@
|
|
|
1
|
-
import get from 'lodash/get';
|
|
2
1
|
import { getRelationType } from '../../../utils/getRelationType.mjs';
|
|
3
2
|
|
|
4
|
-
const canEditContentType = (
|
|
5
|
-
const kind =
|
|
6
|
-
'contentType',
|
|
7
|
-
'schema',
|
|
8
|
-
'kind'
|
|
9
|
-
], '');
|
|
3
|
+
const canEditContentType = (type, modifiedData)=>{
|
|
4
|
+
const kind = type.kind;
|
|
10
5
|
// if kind isn't modified or content type is a single type, there is no need to check attributes.
|
|
11
6
|
if (kind === 'singleType' || kind === modifiedData.kind) {
|
|
12
7
|
return true;
|
|
13
8
|
}
|
|
14
|
-
const contentTypeAttributes =
|
|
15
|
-
|
|
16
|
-
'
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
const contentTypeAttributes = type?.attributes ?? [];
|
|
10
|
+
const relationAttributes = contentTypeAttributes.filter((attribute)=>{
|
|
11
|
+
if (attribute.type !== 'relation') {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
const { relation, targetAttribute } = attribute;
|
|
20
15
|
const relationType = getRelationType(relation, targetAttribute);
|
|
21
|
-
return
|
|
16
|
+
return ![
|
|
22
17
|
'oneWay',
|
|
23
18
|
'manyWay'
|
|
24
19
|
].includes(relationType || '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canEditContentType.mjs","sources":["../../../../../admin/src/components/FormModal/utils/canEditContentType.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport { getRelationType } from '../../../utils/getRelationType';\n\nimport type {
|
|
1
|
+
{"version":3,"file":"canEditContentType.mjs","sources":["../../../../../admin/src/components/FormModal/utils/canEditContentType.ts"],"sourcesContent":["import get from 'lodash/get';\n\nimport { getRelationType } from '../../../utils/getRelationType';\n\nimport type { AnyAttribute, ContentType } from '../../../types';\nimport type { Internal, Struct } from '@strapi/types';\n\nexport type EditableContentTypeSchema = {\n kind: Struct.ContentTypeKind;\n name: string;\n attributes: AnyAttribute[];\n};\n\nexport type EditableContentTypeData = {\n contentType: {\n uid: Internal.UID.ContentType;\n schema: EditableContentTypeSchema;\n };\n};\n\ntype ModifiedData = {\n kind?: Struct.ContentTypeKind;\n};\n\nexport const canEditContentType = (type: ContentType, modifiedData: ModifiedData) => {\n const kind = type.kind;\n\n // if kind isn't modified or content type is a single type, there is no need to check attributes.\n if (kind === 'singleType' || kind === modifiedData.kind) {\n return true;\n }\n\n const contentTypeAttributes: AnyAttribute[] = type?.attributes ?? [];\n\n const relationAttributes = contentTypeAttributes.filter((attribute) => {\n if (attribute.type !== 'relation') {\n return false;\n }\n\n const { relation, targetAttribute } = attribute;\n const relationType = getRelationType(relation, targetAttribute);\n\n return !['oneWay', 'manyWay'].includes(relationType || '');\n });\n\n return relationAttributes.length === 0;\n};\n"],"names":["canEditContentType","type","modifiedData","kind","contentTypeAttributes","attributes","relationAttributes","filter","attribute","relation","targetAttribute","relationType","getRelationType","includes","length"],"mappings":";;AAwBO,MAAMA,kBAAqB,GAAA,CAACC,IAAmBC,EAAAA,YAAAA,GAAAA;IACpD,MAAMC,IAAAA,GAAOF,KAAKE,IAAI;;AAGtB,IAAA,IAAIA,IAAS,KAAA,YAAA,IAAgBA,IAASD,KAAAA,YAAAA,CAAaC,IAAI,EAAE;QACvD,OAAO,IAAA;AACT;IAEA,MAAMC,qBAAAA,GAAwCH,IAAMI,EAAAA,UAAAA,IAAc,EAAE;AAEpE,IAAA,MAAMC,kBAAqBF,GAAAA,qBAAAA,CAAsBG,MAAM,CAAC,CAACC,SAAAA,GAAAA;QACvD,IAAIA,SAAAA,CAAUP,IAAI,KAAK,UAAY,EAAA;YACjC,OAAO,KAAA;AACT;AAEA,QAAA,MAAM,EAAEQ,QAAQ,EAAEC,eAAe,EAAE,GAAGF,SAAAA;QACtC,MAAMG,YAAAA,GAAeC,gBAAgBH,QAAUC,EAAAA,eAAAA,CAAAA;AAE/C,QAAA,OAAO,CAAC;AAAC,YAAA,QAAA;AAAU,YAAA;SAAU,CAACG,QAAQ,CAACF,YAAgB,IAAA,EAAA,CAAA;AACzD,KAAA,CAAA;IAEA,OAAOL,kBAAAA,CAAmBQ,MAAM,KAAK,CAAA;AACvC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAttributesToDisplay.js","sources":["../../../../../admin/src/components/FormModal/utils/getAttributesToDisplay.ts"],"sourcesContent":["import { MAX_COMPONENT_DEPTH } from '../../../constants';\nimport { getComponentDepth } from '../../../utils/getMaxDepth';\n\nimport type { IconByType } from '../../AttributeIcon';\nimport type { NestedComponent } from '../../
|
|
1
|
+
{"version":3,"file":"getAttributesToDisplay.js","sources":["../../../../../admin/src/components/FormModal/utils/getAttributesToDisplay.ts"],"sourcesContent":["import { MAX_COMPONENT_DEPTH } from '../../../constants';\nimport { getComponentDepth } from '../../../utils/getMaxDepth';\n\nimport type { IconByType } from '../../AttributeIcon';\nimport type { NestedComponent } from '../../DataManager/utils/retrieveNestedComponents';\nimport type { Internal } from '@strapi/types';\n\nexport const getAttributesToDisplay = (\n dataTarget = '',\n targetUid: Internal.UID.Schema,\n nestedComponents: Array<NestedComponent>\n): IconByType[][] => {\n const defaultAttributes: IconByType[] = [\n 'text',\n 'boolean',\n 'blocks',\n 'json',\n 'number',\n 'email',\n 'date',\n 'password',\n 'media',\n 'enumeration',\n 'relation',\n 'richtext',\n ];\n\n const isPickingAttributeForAContentType = dataTarget === 'contentType';\n\n if (isPickingAttributeForAContentType) {\n return [\n // Insert UID before the last item (richtext)\n [...defaultAttributes.slice(0, -1), 'uid', ...defaultAttributes.slice(-1)],\n ['component', 'dynamiczone'],\n ];\n }\n\n // this will only run when adding attributes to components\n if (dataTarget) {\n const componentDepth = getComponentDepth(targetUid, nestedComponents);\n const isNestedInAnotherComponent = componentDepth >= MAX_COMPONENT_DEPTH;\n const canAddComponentInAnotherComponent =\n !isPickingAttributeForAContentType && !isNestedInAnotherComponent;\n if (canAddComponentInAnotherComponent) {\n return [defaultAttributes, ['component']];\n }\n }\n\n return [defaultAttributes];\n};\n"],"names":["getAttributesToDisplay","dataTarget","targetUid","nestedComponents","defaultAttributes","isPickingAttributeForAContentType","slice","componentDepth","getComponentDepth","isNestedInAnotherComponent","MAX_COMPONENT_DEPTH","canAddComponentInAnotherComponent"],"mappings":";;;;;MAOaA,sBAAyB,GAAA,CACpCC,UAAa,GAAA,EAAE,EACfC,SACAC,EAAAA,gBAAAA,GAAAA;AAEA,IAAA,MAAMC,iBAAkC,GAAA;AACtC,QAAA,MAAA;AACA,QAAA,SAAA;AACA,QAAA,QAAA;AACA,QAAA,MAAA;AACA,QAAA,QAAA;AACA,QAAA,OAAA;AACA,QAAA,MAAA;AACA,QAAA,UAAA;AACA,QAAA,OAAA;AACA,QAAA,aAAA;AACA,QAAA,UAAA;AACA,QAAA;AACD,KAAA;AAED,IAAA,MAAMC,oCAAoCJ,UAAe,KAAA,aAAA;AAEzD,IAAA,IAAII,iCAAmC,EAAA;QACrC,OAAO;;AAEL,YAAA;mBAAID,iBAAkBE,CAAAA,KAAK,CAAC,CAAA,EAAG,CAAC,CAAA,CAAA;AAAI,gBAAA,KAAA;mBAAUF,iBAAkBE,CAAAA,KAAK,CAAC,CAAC,CAAA;AAAG,aAAA;AAC1E,YAAA;AAAC,gBAAA,WAAA;AAAa,gBAAA;AAAc;AAC7B,SAAA;AACH;;AAGA,IAAA,IAAIL,UAAY,EAAA;QACd,MAAMM,cAAAA,GAAiBC,8BAAkBN,SAAWC,EAAAA,gBAAAA,CAAAA;AACpD,QAAA,MAAMM,6BAA6BF,cAAkBG,IAAAA,6BAAAA;QACrD,MAAMC,iCAAAA,GACJ,CAACN,iCAAAA,IAAqC,CAACI,0BAAAA;AACzC,QAAA,IAAIE,iCAAmC,EAAA;YACrC,OAAO;AAACP,gBAAAA,iBAAAA;AAAmB,gBAAA;AAAC,oBAAA;AAAY;AAAC,aAAA;AAC3C;AACF;IAEA,OAAO;AAACA,QAAAA;AAAkB,KAAA;AAC5B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAttributesToDisplay.mjs","sources":["../../../../../admin/src/components/FormModal/utils/getAttributesToDisplay.ts"],"sourcesContent":["import { MAX_COMPONENT_DEPTH } from '../../../constants';\nimport { getComponentDepth } from '../../../utils/getMaxDepth';\n\nimport type { IconByType } from '../../AttributeIcon';\nimport type { NestedComponent } from '../../
|
|
1
|
+
{"version":3,"file":"getAttributesToDisplay.mjs","sources":["../../../../../admin/src/components/FormModal/utils/getAttributesToDisplay.ts"],"sourcesContent":["import { MAX_COMPONENT_DEPTH } from '../../../constants';\nimport { getComponentDepth } from '../../../utils/getMaxDepth';\n\nimport type { IconByType } from '../../AttributeIcon';\nimport type { NestedComponent } from '../../DataManager/utils/retrieveNestedComponents';\nimport type { Internal } from '@strapi/types';\n\nexport const getAttributesToDisplay = (\n dataTarget = '',\n targetUid: Internal.UID.Schema,\n nestedComponents: Array<NestedComponent>\n): IconByType[][] => {\n const defaultAttributes: IconByType[] = [\n 'text',\n 'boolean',\n 'blocks',\n 'json',\n 'number',\n 'email',\n 'date',\n 'password',\n 'media',\n 'enumeration',\n 'relation',\n 'richtext',\n ];\n\n const isPickingAttributeForAContentType = dataTarget === 'contentType';\n\n if (isPickingAttributeForAContentType) {\n return [\n // Insert UID before the last item (richtext)\n [...defaultAttributes.slice(0, -1), 'uid', ...defaultAttributes.slice(-1)],\n ['component', 'dynamiczone'],\n ];\n }\n\n // this will only run when adding attributes to components\n if (dataTarget) {\n const componentDepth = getComponentDepth(targetUid, nestedComponents);\n const isNestedInAnotherComponent = componentDepth >= MAX_COMPONENT_DEPTH;\n const canAddComponentInAnotherComponent =\n !isPickingAttributeForAContentType && !isNestedInAnotherComponent;\n if (canAddComponentInAnotherComponent) {\n return [defaultAttributes, ['component']];\n }\n }\n\n return [defaultAttributes];\n};\n"],"names":["getAttributesToDisplay","dataTarget","targetUid","nestedComponents","defaultAttributes","isPickingAttributeForAContentType","slice","componentDepth","getComponentDepth","isNestedInAnotherComponent","MAX_COMPONENT_DEPTH","canAddComponentInAnotherComponent"],"mappings":";;;MAOaA,sBAAyB,GAAA,CACpCC,UAAa,GAAA,EAAE,EACfC,SACAC,EAAAA,gBAAAA,GAAAA;AAEA,IAAA,MAAMC,iBAAkC,GAAA;AACtC,QAAA,MAAA;AACA,QAAA,SAAA;AACA,QAAA,QAAA;AACA,QAAA,MAAA;AACA,QAAA,QAAA;AACA,QAAA,OAAA;AACA,QAAA,MAAA;AACA,QAAA,UAAA;AACA,QAAA,OAAA;AACA,QAAA,aAAA;AACA,QAAA,UAAA;AACA,QAAA;AACD,KAAA;AAED,IAAA,MAAMC,oCAAoCJ,UAAe,KAAA,aAAA;AAEzD,IAAA,IAAII,iCAAmC,EAAA;QACrC,OAAO;;AAEL,YAAA;mBAAID,iBAAkBE,CAAAA,KAAK,CAAC,CAAA,EAAG,CAAC,CAAA,CAAA;AAAI,gBAAA,KAAA;mBAAUF,iBAAkBE,CAAAA,KAAK,CAAC,CAAC,CAAA;AAAG,aAAA;AAC1E,YAAA;AAAC,gBAAA,WAAA;AAAa,gBAAA;AAAc;AAC7B,SAAA;AACH;;AAGA,IAAA,IAAIL,UAAY,EAAA;QACd,MAAMM,cAAAA,GAAiBC,kBAAkBN,SAAWC,EAAAA,gBAAAA,CAAAA;AACpD,QAAA,MAAMM,6BAA6BF,cAAkBG,IAAAA,mBAAAA;QACrD,MAAMC,iCAAAA,GACJ,CAACN,iCAAAA,IAAqC,CAACI,0BAAAA;AACzC,QAAA,IAAIE,iCAAmC,EAAA;YACrC,OAAO;AAACP,gBAAAA,iBAAAA;AAAmB,gBAAA;AAAC,oBAAA;AAAY;AAAC,aAAA;AAC3C;AACF;IAEA,OAAO;AAACA,QAAAA;AAAkB,KAAA;AAC5B;;;;"}
|
|
@@ -6,7 +6,7 @@ var Icons = require('@strapi/icons');
|
|
|
6
6
|
var reactIntl = require('react-intl');
|
|
7
7
|
var getTrad = require('../utils/getTrad.js');
|
|
8
8
|
|
|
9
|
-
const FormModalEndActions = ({
|
|
9
|
+
const FormModalEndActions = ({ deleteComponent, deleteContentType, isAttributeModal, isCustomFieldModal, isComponentAttribute, isComponentToDzModal, isContentTypeModal, isCreatingComponent, isCreatingComponentAttribute, isCreatingComponentInDz, isCreatingComponentWhileAddingAField, isCreatingContentType, isCreatingDz, isComponentModal, isDzAttribute, isEditingAttribute, isInFirstComponentStep, onSubmitAddComponentAttribute, onSubmitAddComponentToDz, onSubmitCreateContentType, onSubmitCreateComponent, onSubmitCreateDz, onSubmitEditAttribute, onSubmitEditComponent, onSubmitEditContentType, onSubmitEditCustomFieldAttribute, onSubmitEditDz, onClickFinish })=>{
|
|
10
10
|
const { formatMessage } = reactIntl.useIntl();
|
|
11
11
|
if (isComponentToDzModal) {
|
|
12
12
|
if (isCreatingComponentInDz) {
|
|
@@ -249,39 +249,6 @@ const FormModalEndActions = ({ categoryName, deleteCategory, deleteComponent, de
|
|
|
249
249
|
]
|
|
250
250
|
});
|
|
251
251
|
}
|
|
252
|
-
if (isEditingCategory) {
|
|
253
|
-
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
254
|
-
gap: 2,
|
|
255
|
-
children: [
|
|
256
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
|
257
|
-
type: "button",
|
|
258
|
-
variant: "danger",
|
|
259
|
-
onClick: (e)=>{
|
|
260
|
-
e.preventDefault();
|
|
261
|
-
if (categoryName) {
|
|
262
|
-
deleteCategory(categoryName);
|
|
263
|
-
}
|
|
264
|
-
},
|
|
265
|
-
children: formatMessage({
|
|
266
|
-
id: 'global.delete',
|
|
267
|
-
defaultMessage: 'Delete'
|
|
268
|
-
})
|
|
269
|
-
}),
|
|
270
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
|
|
271
|
-
type: "submit",
|
|
272
|
-
variant: "default",
|
|
273
|
-
onClick: (e)=>{
|
|
274
|
-
e.preventDefault();
|
|
275
|
-
onSubmitEditCategory(e);
|
|
276
|
-
},
|
|
277
|
-
children: formatMessage({
|
|
278
|
-
id: 'global.finish',
|
|
279
|
-
defaultMessage: 'finish'
|
|
280
|
-
})
|
|
281
|
-
})
|
|
282
|
-
]
|
|
283
|
-
});
|
|
284
|
-
}
|
|
285
252
|
if (isCustomFieldModal) {
|
|
286
253
|
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
287
254
|
gap: 2,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormModalEndActions.js","sources":["../../../admin/src/components/FormModalEndActions.tsx"],"sourcesContent":["/**\n *\n * FormModalEndActions\n *\n */\n\nimport { SyntheticEvent } from 'react';\n\nimport { Button, Flex } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\ntype FormModalEndActionsProps = {\n categoryName?: string;\n deleteCategory: (categoryName: string) => void;\n deleteComponent: () => void;\n deleteContentType: () => void;\n isAttributeModal: boolean;\n isCustomFieldModal: boolean;\n isComponentAttribute: boolean;\n isComponentModal: boolean;\n isComponentToDzModal: boolean;\n isContentTypeModal: boolean;\n isCreatingComponent: boolean;\n isCreatingComponentAttribute: boolean;\n isCreatingComponentInDz: boolean;\n isCreatingComponentWhileAddingAField: boolean;\n isCreatingContentType: boolean;\n isCreatingDz: boolean;\n isDzAttribute: boolean;\n isEditingAttribute: boolean;\n isEditingCategory: boolean;\n isInFirstComponentStep: boolean;\n onSubmitAddComponentAttribute: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitAddComponentToDz: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitCreateContentType: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitCreateComponent: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitCreateDz: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditAttribute: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditCategory: (e: SyntheticEvent) => void;\n onSubmitEditComponent: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditContentType: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditCustomFieldAttribute: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditDz: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onClickFinish: () => void;\n};\n\nexport const FormModalEndActions = ({\n categoryName,\n deleteCategory,\n deleteComponent,\n deleteContentType,\n isAttributeModal,\n isCustomFieldModal,\n isComponentAttribute,\n isComponentToDzModal,\n isContentTypeModal,\n isCreatingComponent,\n isCreatingComponentAttribute,\n isCreatingComponentInDz,\n isCreatingComponentWhileAddingAField,\n isCreatingContentType,\n isCreatingDz,\n isComponentModal,\n isDzAttribute,\n isEditingAttribute,\n isEditingCategory,\n isInFirstComponentStep,\n onSubmitAddComponentAttribute,\n onSubmitAddComponentToDz,\n onSubmitCreateContentType,\n onSubmitCreateComponent,\n onSubmitCreateDz,\n onSubmitEditAttribute,\n onSubmitEditCategory,\n onSubmitEditComponent,\n onSubmitEditContentType,\n onSubmitEditCustomFieldAttribute,\n onSubmitEditDz,\n onClickFinish,\n}: FormModalEndActionsProps) => {\n const { formatMessage } = useIntl();\n\n if (isComponentToDzModal) {\n if (isCreatingComponentInDz) {\n return (\n <Button\n variant=\"secondary\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitAddComponentToDz(e, true);\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: getTrad('form.button.add-first-field-to-created-component'),\n defaultMessage: 'Add first field to the component',\n })}\n </Button>\n );\n }\n\n return (\n <Button\n variant=\"default\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitAddComponentToDz(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n );\n }\n\n if (isAttributeModal && isDzAttribute && !isCreatingDz) {\n return (\n <Button\n variant=\"default\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onClickFinish();\n onSubmitEditDz(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n );\n }\n\n if (isAttributeModal && isDzAttribute && isCreatingDz) {\n return (\n <>\n <Button\n variant=\"secondary\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitCreateDz(e, true);\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: getTrad('form.button.add-components-to-dynamiczone'),\n defaultMessage: 'Add components to the zone',\n })}\n </Button>\n {/* // TO FIX fix doesnt close the modal */}\n {/* <Button\n variant=\"default\"\n type=\"button\"\n onClick={e => {\n e.preventDefault();\n\n onSubmitCreateDz(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button> */}\n </>\n );\n }\n\n if (isAttributeModal && isComponentAttribute) {\n if (isInFirstComponentStep) {\n return (\n <Button\n variant=\"secondary\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitAddComponentAttribute(e, true);\n }}\n >\n {isCreatingComponentAttribute\n ? formatMessage({\n id: getTrad('form.button.configure-component'),\n defaultMessage: 'Configure the component',\n })\n : formatMessage({\n id: getTrad('form.button.select-component'),\n defaultMessage: 'Configure the component',\n })}\n </Button>\n );\n }\n\n return (\n <Flex gap={2}>\n <Button\n variant=\"secondary\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitAddComponentAttribute(e, true);\n }}\n startIcon={<Plus />}\n >\n {isCreatingComponentWhileAddingAField\n ? formatMessage({\n id: getTrad('form.button.add-first-field-to-created-component'),\n defaultMessage: 'Add first field to the component',\n })\n : formatMessage({\n id: getTrad('form.button.add-field'),\n defaultMessage: 'Add another field',\n })}\n </Button>\n <Button\n variant=\"default\"\n type=\"button\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onClickFinish();\n onSubmitAddComponentAttribute(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </Flex>\n );\n }\n\n if (isAttributeModal && !isComponentAttribute && !isDzAttribute) {\n return (\n <Flex gap={2}>\n <Button\n type={isEditingAttribute ? 'button' : 'submit'}\n variant=\"secondary\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditAttribute(e, true);\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: getTrad('form.button.add-field'),\n defaultMessage: 'Add another field',\n })}\n </Button>\n <Button\n type={isEditingAttribute ? 'submit' : 'button'}\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onClickFinish();\n onSubmitEditAttribute(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </Flex>\n );\n }\n\n if (isContentTypeModal) {\n return (\n <Flex gap={2}>\n {!isCreatingContentType && (\n <>\n <Button\n type=\"button\"\n variant=\"danger\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n deleteContentType();\n }}\n >\n {formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })}\n </Button>\n <Button\n type=\"submit\"\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditContentType(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </>\n )}\n {isCreatingContentType && (\n <Button\n type=\"submit\"\n variant=\"secondary\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitCreateContentType(e, true);\n }}\n >\n {formatMessage({\n id: 'global.continue',\n defaultMessage: 'Continue',\n })}\n </Button>\n )}\n </Flex>\n );\n }\n\n if (isComponentModal) {\n return (\n <Flex gap={2}>\n {!isCreatingComponent && (\n <>\n <Button\n type=\"button\"\n variant=\"danger\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n deleteComponent();\n }}\n >\n {formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })}\n </Button>\n <Button\n type=\"submit\"\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditComponent(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </>\n )}\n {isCreatingComponent && (\n <Button\n type=\"submit\"\n variant=\"secondary\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitCreateComponent(e, true);\n }}\n >\n {formatMessage({\n id: 'global.continue',\n defaultMessage: 'Continue',\n })}\n </Button>\n )}\n </Flex>\n );\n }\n\n if (isEditingCategory) {\n return (\n <Flex gap={2}>\n <Button\n type=\"button\"\n variant=\"danger\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n if (categoryName) {\n deleteCategory(categoryName);\n }\n }}\n >\n {formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })}\n </Button>\n <Button\n type=\"submit\"\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditCategory(e);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'finish',\n })}\n </Button>\n </Flex>\n );\n }\n\n if (isCustomFieldModal) {\n return (\n <Flex gap={2}>\n <Button\n type={isEditingAttribute ? 'button' : 'submit'}\n variant=\"secondary\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditCustomFieldAttribute(e, true);\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: getTrad('form.button.add-field'),\n defaultMessage: 'Add another field',\n })}\n </Button>\n <Button\n type={isEditingAttribute ? 'submit' : 'button'}\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onClickFinish();\n onSubmitEditCustomFieldAttribute(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </Flex>\n );\n }\n\n return null;\n};\n"],"names":["FormModalEndActions","categoryName","deleteCategory","deleteComponent","deleteContentType","isAttributeModal","isCustomFieldModal","isComponentAttribute","isComponentToDzModal","isContentTypeModal","isCreatingComponent","isCreatingComponentAttribute","isCreatingComponentInDz","isCreatingComponentWhileAddingAField","isCreatingContentType","isCreatingDz","isComponentModal","isDzAttribute","isEditingAttribute","isEditingCategory","isInFirstComponentStep","onSubmitAddComponentAttribute","onSubmitAddComponentToDz","onSubmitCreateContentType","onSubmitCreateComponent","onSubmitCreateDz","onSubmitEditAttribute","onSubmitEditCategory","onSubmitEditComponent","onSubmitEditContentType","onSubmitEditCustomFieldAttribute","onSubmitEditDz","onClickFinish","formatMessage","useIntl","_jsx","Button","variant","type","onClick","e","preventDefault","startIcon","Plus","id","getTrad","defaultMessage","_Fragment","_jsxs","Flex","gap"],"mappings":";;;;;;;;AAiDaA,MAAAA,mBAAAA,GAAsB,CAAC,EAClCC,YAAY,EACZC,cAAc,EACdC,eAAe,EACfC,iBAAiB,EACjBC,gBAAgB,EAChBC,kBAAkB,EAClBC,oBAAoB,EACpBC,oBAAoB,EACpBC,kBAAkB,EAClBC,mBAAmB,EACnBC,4BAA4B,EAC5BC,uBAAuB,EACvBC,oCAAoC,EACpCC,qBAAqB,EACrBC,YAAY,EACZC,gBAAgB,EAChBC,aAAa,EACbC,kBAAkB,EAClBC,iBAAiB,EACjBC,sBAAsB,EACtBC,6BAA6B,EAC7BC,wBAAwB,EACxBC,yBAAyB,EACzBC,uBAAuB,EACvBC,gBAAgB,EAChBC,qBAAqB,EACrBC,oBAAoB,EACpBC,qBAAqB,EACrBC,uBAAuB,EACvBC,gCAAgC,EAChCC,cAAc,EACdC,aAAa,EACY,GAAA;IACzB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,IAAI1B,oBAAsB,EAAA;AACxB,QAAA,IAAII,uBAAyB,EAAA;AAC3B,YAAA,qBACEuB,cAACC,CAAAA,mBAAAA,EAAAA;gBACCC,OAAQ,EAAA,WAAA;gBACRC,IAAK,EAAA,QAAA;AACLC,gBAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,oBAAAA,CAAAA,CAAEC,cAAc,EAAA;AAEhBnB,oBAAAA,wBAAAA,CAAyBkB,CAAG,EAAA,IAAA,CAAA;AAC9B,iBAAA;AACAE,gBAAAA,SAAAA,gBAAWP,cAACQ,CAAAA,UAAAA,EAAAA,EAAAA,CAAAA;0BAEXV,aAAc,CAAA;AACbW,oBAAAA,EAAAA,EAAIC,eAAQ,CAAA,kDAAA,CAAA;oBACZC,cAAgB,EAAA;AAClB,iBAAA;;AAGN;AAEA,QAAA,qBACEX,cAACC,CAAAA,mBAAAA,EAAAA;YACCC,OAAQ,EAAA,SAAA;YACRC,IAAK,EAAA,QAAA;AACLC,YAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,gBAAAA,CAAAA,CAAEC,cAAc,EAAA;AAEhBnB,gBAAAA,wBAAAA,CAAyBkB,CAAG,EAAA,KAAA,CAAA;AAC9B,aAAA;sBAECP,aAAc,CAAA;gBACbW,EAAI,EAAA,eAAA;gBACJE,cAAgB,EAAA;AAClB,aAAA;;AAGN;IAEA,IAAIzC,gBAAAA,IAAoBY,aAAiB,IAAA,CAACF,YAAc,EAAA;AACtD,QAAA,qBACEoB,cAACC,CAAAA,mBAAAA,EAAAA;YACCC,OAAQ,EAAA,SAAA;YACRC,IAAK,EAAA,QAAA;AACLC,YAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,gBAAAA,CAAAA,CAAEC,cAAc,EAAA;AAEhBT,gBAAAA,aAAAA,EAAAA;AACAD,gBAAAA,cAAAA,CAAeS,CAAG,EAAA,KAAA,CAAA;AACpB,aAAA;sBAECP,aAAc,CAAA;gBACbW,EAAI,EAAA,eAAA;gBACJE,cAAgB,EAAA;AAClB,aAAA;;AAGN;IAEA,IAAIzC,gBAAAA,IAAoBY,iBAAiBF,YAAc,EAAA;QACrD,qBACEoB,cAAA,CAAAY,mBAAA,EAAA;AACE,YAAA,QAAA,gBAAAZ,cAACC,CAAAA,mBAAAA,EAAAA;gBACCC,OAAQ,EAAA,WAAA;gBACRC,IAAK,EAAA,QAAA;AACLC,gBAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,oBAAAA,CAAAA,CAAEC,cAAc,EAAA;AAEhBhB,oBAAAA,gBAAAA,CAAiBe,CAAG,EAAA,IAAA,CAAA;AACtB,iBAAA;AACAE,gBAAAA,SAAAA,gBAAWP,cAACQ,CAAAA,UAAAA,EAAAA,EAAAA,CAAAA;0BAEXV,aAAc,CAAA;AACbW,oBAAAA,EAAAA,EAAIC,eAAQ,CAAA,2CAAA,CAAA;oBACZC,cAAgB,EAAA;AAClB,iBAAA;;;AAmBR;AAEA,IAAA,IAAIzC,oBAAoBE,oBAAsB,EAAA;AAC5C,QAAA,IAAIa,sBAAwB,EAAA;AAC1B,YAAA,qBACEe,cAACC,CAAAA,mBAAAA,EAAAA;gBACCC,OAAQ,EAAA,WAAA;gBACRC,IAAK,EAAA,QAAA;AACLC,gBAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,oBAAAA,CAAAA,CAAEC,cAAc,EAAA;AAEhBpB,oBAAAA,6BAAAA,CAA8BmB,CAAG,EAAA,IAAA,CAAA;AACnC,iBAAA;AAEC7B,gBAAAA,QAAAA,EAAAA,4BAAAA,GACGsB,aAAc,CAAA;AACZW,oBAAAA,EAAAA,EAAIC,eAAQ,CAAA,iCAAA,CAAA;oBACZC,cAAgB,EAAA;AAClB,iBAAA,CAAA,GACAb,aAAc,CAAA;AACZW,oBAAAA,EAAAA,EAAIC,eAAQ,CAAA,8BAAA,CAAA;oBACZC,cAAgB,EAAA;AAClB,iBAAA;;AAGV;AAEA,QAAA,qBACEE,eAACC,CAAAA,iBAAAA,EAAAA;YAAKC,GAAK,EAAA,CAAA;;8BACTf,cAACC,CAAAA,mBAAAA,EAAAA;oBACCC,OAAQ,EAAA,WAAA;oBACRC,IAAK,EAAA,QAAA;AACLC,oBAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,wBAAAA,CAAAA,CAAEC,cAAc,EAAA;AAEhBpB,wBAAAA,6BAAAA,CAA8BmB,CAAG,EAAA,IAAA,CAAA;AACnC,qBAAA;AACAE,oBAAAA,SAAAA,gBAAWP,cAACQ,CAAAA,UAAAA,EAAAA,EAAAA,CAAAA;AAEX9B,oBAAAA,QAAAA,EAAAA,oCAAAA,GACGoB,aAAc,CAAA;AACZW,wBAAAA,EAAAA,EAAIC,eAAQ,CAAA,kDAAA,CAAA;wBACZC,cAAgB,EAAA;AAClB,qBAAA,CAAA,GACAb,aAAc,CAAA;AACZW,wBAAAA,EAAAA,EAAIC,eAAQ,CAAA,uBAAA,CAAA;wBACZC,cAAgB,EAAA;AAClB,qBAAA;;8BAENX,cAACC,CAAAA,mBAAAA,EAAAA;oBACCC,OAAQ,EAAA,SAAA;oBACRC,IAAK,EAAA,QAAA;AACLC,oBAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,wBAAAA,CAAAA,CAAEC,cAAc,EAAA;AAEhBT,wBAAAA,aAAAA,EAAAA;AACAX,wBAAAA,6BAAAA,CAA8BmB,CAAG,EAAA,KAAA,CAAA;AACnC,qBAAA;8BAECP,aAAc,CAAA;wBACbW,EAAI,EAAA,eAAA;wBACJE,cAAgB,EAAA;AAClB,qBAAA;;;;AAIR;AAEA,IAAA,IAAIzC,gBAAoB,IAAA,CAACE,oBAAwB,IAAA,CAACU,aAAe,EAAA;AAC/D,QAAA,qBACE+B,eAACC,CAAAA,iBAAAA,EAAAA;YAAKC,GAAK,EAAA,CAAA;;8BACTf,cAACC,CAAAA,mBAAAA,EAAAA;AACCE,oBAAAA,IAAAA,EAAMpB,qBAAqB,QAAW,GAAA,QAAA;oBACtCmB,OAAQ,EAAA,WAAA;AACRE,oBAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,wBAAAA,CAAAA,CAAEC,cAAc,EAAA;AAEhBf,wBAAAA,qBAAAA,CAAsBc,CAAG,EAAA,IAAA,CAAA;AAC3B,qBAAA;AACAE,oBAAAA,SAAAA,gBAAWP,cAACQ,CAAAA,UAAAA,EAAAA,EAAAA,CAAAA;8BAEXV,aAAc,CAAA;AACbW,wBAAAA,EAAAA,EAAIC,eAAQ,CAAA,uBAAA,CAAA;wBACZC,cAAgB,EAAA;AAClB,qBAAA;;8BAEFX,cAACC,CAAAA,mBAAAA,EAAAA;AACCE,oBAAAA,IAAAA,EAAMpB,qBAAqB,QAAW,GAAA,QAAA;oBACtCmB,OAAQ,EAAA,SAAA;AACRE,oBAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,wBAAAA,CAAAA,CAAEC,cAAc,EAAA;AAEhBT,wBAAAA,aAAAA,EAAAA;AACAN,wBAAAA,qBAAAA,CAAsBc,CAAG,EAAA,KAAA,CAAA;AAC3B,qBAAA;8BAECP,aAAc,CAAA;wBACbW,EAAI,EAAA,eAAA;wBACJE,cAAgB,EAAA;AAClB,qBAAA;;;;AAIR;AAEA,IAAA,IAAIrC,kBAAoB,EAAA;AACtB,QAAA,qBACEuC,eAACC,CAAAA,iBAAAA,EAAAA;YAAKC,GAAK,EAAA,CAAA;;AACR,gBAAA,CAACpC,qBACA,kBAAAkC,eAAA,CAAAD,mBAAA,EAAA;;sCACEZ,cAACC,CAAAA,mBAAAA,EAAAA;4BACCE,IAAK,EAAA,QAAA;4BACLD,OAAQ,EAAA,QAAA;AACRE,4BAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,gCAAAA,CAAAA,CAAEC,cAAc,EAAA;AAChBrC,gCAAAA,iBAAAA,EAAAA;AACF,6BAAA;sCAEC6B,aAAc,CAAA;gCACbW,EAAI,EAAA,eAAA;gCACJE,cAAgB,EAAA;AAClB,6BAAA;;sCAEFX,cAACC,CAAAA,mBAAAA,EAAAA;4BACCE,IAAK,EAAA,QAAA;4BACLD,OAAQ,EAAA,SAAA;AACRE,4BAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,gCAAAA,CAAAA,CAAEC,cAAc,EAAA;AAEhBZ,gCAAAA,uBAAAA,CAAwBW,CAAG,EAAA,KAAA,CAAA;AAC7B,6BAAA;sCAECP,aAAc,CAAA;gCACbW,EAAI,EAAA,eAAA;gCACJE,cAAgB,EAAA;AAClB,6BAAA;;;;AAILhC,gBAAAA,qBAAAA,kBACCqB,cAACC,CAAAA,mBAAAA,EAAAA;oBACCE,IAAK,EAAA,QAAA;oBACLD,OAAQ,EAAA,WAAA;AACRE,oBAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,wBAAAA,CAAAA,CAAEC,cAAc,EAAA;AAEhBlB,wBAAAA,yBAAAA,CAA0BiB,CAAG,EAAA,IAAA,CAAA;AAC/B,qBAAA;8BAECP,aAAc,CAAA;wBACbW,EAAI,EAAA,iBAAA;wBACJE,cAAgB,EAAA;AAClB,qBAAA;;;;AAKV;AAEA,IAAA,IAAI9B,gBAAkB,EAAA;AACpB,QAAA,qBACEgC,eAACC,CAAAA,iBAAAA,EAAAA;YAAKC,GAAK,EAAA,CAAA;;AACR,gBAAA,CAACxC,mBACA,kBAAAsC,eAAA,CAAAD,mBAAA,EAAA;;sCACEZ,cAACC,CAAAA,mBAAAA,EAAAA;4BACCE,IAAK,EAAA,QAAA;4BACLD,OAAQ,EAAA,QAAA;AACRE,4BAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,gCAAAA,CAAAA,CAAEC,cAAc,EAAA;AAChBtC,gCAAAA,eAAAA,EAAAA;AACF,6BAAA;sCAEC8B,aAAc,CAAA;gCACbW,EAAI,EAAA,eAAA;gCACJE,cAAgB,EAAA;AAClB,6BAAA;;sCAEFX,cAACC,CAAAA,mBAAAA,EAAAA;4BACCE,IAAK,EAAA,QAAA;4BACLD,OAAQ,EAAA,SAAA;AACRE,4BAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,gCAAAA,CAAAA,CAAEC,cAAc,EAAA;AAEhBb,gCAAAA,qBAAAA,CAAsBY,CAAG,EAAA,KAAA,CAAA;AAC3B,6BAAA;sCAECP,aAAc,CAAA;gCACbW,EAAI,EAAA,eAAA;gCACJE,cAAgB,EAAA;AAClB,6BAAA;;;;AAILpC,gBAAAA,mBAAAA,kBACCyB,cAACC,CAAAA,mBAAAA,EAAAA;oBACCE,IAAK,EAAA,QAAA;oBACLD,OAAQ,EAAA,WAAA;AACRE,oBAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,wBAAAA,CAAAA,CAAEC,cAAc,EAAA;AAEhBjB,wBAAAA,uBAAAA,CAAwBgB,CAAG,EAAA,IAAA,CAAA;AAC7B,qBAAA;8BAECP,aAAc,CAAA;wBACbW,EAAI,EAAA,iBAAA;wBACJE,cAAgB,EAAA;AAClB,qBAAA;;;;AAKV;AAEA,IAAA,IAAI3B,iBAAmB,EAAA;AACrB,QAAA,qBACE6B,eAACC,CAAAA,iBAAAA,EAAAA;YAAKC,GAAK,EAAA,CAAA;;8BACTf,cAACC,CAAAA,mBAAAA,EAAAA;oBACCE,IAAK,EAAA,QAAA;oBACLD,OAAQ,EAAA,QAAA;AACRE,oBAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,wBAAAA,CAAAA,CAAEC,cAAc,EAAA;AAChB,wBAAA,IAAIxC,YAAc,EAAA;4BAChBC,cAAeD,CAAAA,YAAAA,CAAAA;AACjB;AACF,qBAAA;8BAECgC,aAAc,CAAA;wBACbW,EAAI,EAAA,eAAA;wBACJE,cAAgB,EAAA;AAClB,qBAAA;;8BAEFX,cAACC,CAAAA,mBAAAA,EAAAA;oBACCE,IAAK,EAAA,QAAA;oBACLD,OAAQ,EAAA,SAAA;AACRE,oBAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,wBAAAA,CAAAA,CAAEC,cAAc,EAAA;wBAEhBd,oBAAqBa,CAAAA,CAAAA,CAAAA;AACvB,qBAAA;8BAECP,aAAc,CAAA;wBACbW,EAAI,EAAA,eAAA;wBACJE,cAAgB,EAAA;AAClB,qBAAA;;;;AAIR;AAEA,IAAA,IAAIxC,kBAAoB,EAAA;AACtB,QAAA,qBACE0C,eAACC,CAAAA,iBAAAA,EAAAA;YAAKC,GAAK,EAAA,CAAA;;8BACTf,cAACC,CAAAA,mBAAAA,EAAAA;AACCE,oBAAAA,IAAAA,EAAMpB,qBAAqB,QAAW,GAAA,QAAA;oBACtCmB,OAAQ,EAAA,WAAA;AACRE,oBAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,wBAAAA,CAAAA,CAAEC,cAAc,EAAA;AAEhBX,wBAAAA,gCAAAA,CAAiCU,CAAG,EAAA,IAAA,CAAA;AACtC,qBAAA;AACAE,oBAAAA,SAAAA,gBAAWP,cAACQ,CAAAA,UAAAA,EAAAA,EAAAA,CAAAA;8BAEXV,aAAc,CAAA;AACbW,wBAAAA,EAAAA,EAAIC,eAAQ,CAAA,uBAAA,CAAA;wBACZC,cAAgB,EAAA;AAClB,qBAAA;;8BAEFX,cAACC,CAAAA,mBAAAA,EAAAA;AACCE,oBAAAA,IAAAA,EAAMpB,qBAAqB,QAAW,GAAA,QAAA;oBACtCmB,OAAQ,EAAA,SAAA;AACRE,oBAAAA,OAAAA,EAAS,CAACC,CAAAA,GAAAA;AACRA,wBAAAA,CAAAA,CAAEC,cAAc,EAAA;AAEhBT,wBAAAA,aAAAA,EAAAA;AACAF,wBAAAA,gCAAAA,CAAiCU,CAAG,EAAA,KAAA,CAAA;AACtC,qBAAA;8BAECP,aAAc,CAAA;wBACbW,EAAI,EAAA,eAAA;wBACJE,cAAgB,EAAA;AAClB,qBAAA;;;;AAIR;IAEA,OAAO,IAAA;AACT;;;;"}
|
|
1
|
+
{"version":3,"file":"FormModalEndActions.js","sources":["../../../admin/src/components/FormModalEndActions.tsx"],"sourcesContent":["/**\n *\n * FormModalEndActions\n *\n */\n\nimport { SyntheticEvent } from 'react';\n\nimport { Button, Flex } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\ntype FormModalEndActionsProps = {\n deleteComponent: () => void;\n deleteContentType: () => void;\n isAttributeModal: boolean;\n isCustomFieldModal: boolean;\n isComponentAttribute: boolean;\n isComponentModal: boolean;\n isComponentToDzModal: boolean;\n isContentTypeModal: boolean;\n isCreatingComponent: boolean;\n isCreatingComponentAttribute: boolean;\n isCreatingComponentInDz: boolean;\n isCreatingComponentWhileAddingAField: boolean;\n isCreatingContentType: boolean;\n isCreatingDz: boolean;\n isDzAttribute: boolean;\n isEditingAttribute: boolean;\n isInFirstComponentStep: boolean;\n onSubmitAddComponentAttribute: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitAddComponentToDz: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitCreateContentType: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitCreateComponent: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitCreateDz: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditAttribute: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditComponent: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditContentType: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditCustomFieldAttribute: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onSubmitEditDz: (e: SyntheticEvent, shouldContinue: boolean) => void;\n onClickFinish: () => void;\n};\n\nexport const FormModalEndActions = ({\n deleteComponent,\n deleteContentType,\n isAttributeModal,\n isCustomFieldModal,\n isComponentAttribute,\n isComponentToDzModal,\n isContentTypeModal,\n isCreatingComponent,\n isCreatingComponentAttribute,\n isCreatingComponentInDz,\n isCreatingComponentWhileAddingAField,\n isCreatingContentType,\n isCreatingDz,\n isComponentModal,\n isDzAttribute,\n isEditingAttribute,\n isInFirstComponentStep,\n onSubmitAddComponentAttribute,\n onSubmitAddComponentToDz,\n onSubmitCreateContentType,\n onSubmitCreateComponent,\n onSubmitCreateDz,\n onSubmitEditAttribute,\n onSubmitEditComponent,\n onSubmitEditContentType,\n onSubmitEditCustomFieldAttribute,\n onSubmitEditDz,\n onClickFinish,\n}: FormModalEndActionsProps) => {\n const { formatMessage } = useIntl();\n\n if (isComponentToDzModal) {\n if (isCreatingComponentInDz) {\n return (\n <Button\n variant=\"secondary\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitAddComponentToDz(e, true);\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: getTrad('form.button.add-first-field-to-created-component'),\n defaultMessage: 'Add first field to the component',\n })}\n </Button>\n );\n }\n\n return (\n <Button\n variant=\"default\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitAddComponentToDz(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n );\n }\n\n if (isAttributeModal && isDzAttribute && !isCreatingDz) {\n return (\n <Button\n variant=\"default\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onClickFinish();\n onSubmitEditDz(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n );\n }\n\n if (isAttributeModal && isDzAttribute && isCreatingDz) {\n return (\n <>\n <Button\n variant=\"secondary\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitCreateDz(e, true);\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: getTrad('form.button.add-components-to-dynamiczone'),\n defaultMessage: 'Add components to the zone',\n })}\n </Button>\n {/* // TO FIX fix doesnt close the modal */}\n {/* <Button\n variant=\"default\"\n type=\"button\"\n onClick={e => {\n e.preventDefault();\n\n onSubmitCreateDz(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button> */}\n </>\n );\n }\n\n if (isAttributeModal && isComponentAttribute) {\n if (isInFirstComponentStep) {\n return (\n <Button\n variant=\"secondary\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitAddComponentAttribute(e, true);\n }}\n >\n {isCreatingComponentAttribute\n ? formatMessage({\n id: getTrad('form.button.configure-component'),\n defaultMessage: 'Configure the component',\n })\n : formatMessage({\n id: getTrad('form.button.select-component'),\n defaultMessage: 'Configure the component',\n })}\n </Button>\n );\n }\n\n return (\n <Flex gap={2}>\n <Button\n variant=\"secondary\"\n type=\"submit\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitAddComponentAttribute(e, true);\n }}\n startIcon={<Plus />}\n >\n {isCreatingComponentWhileAddingAField\n ? formatMessage({\n id: getTrad('form.button.add-first-field-to-created-component'),\n defaultMessage: 'Add first field to the component',\n })\n : formatMessage({\n id: getTrad('form.button.add-field'),\n defaultMessage: 'Add another field',\n })}\n </Button>\n <Button\n variant=\"default\"\n type=\"button\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onClickFinish();\n onSubmitAddComponentAttribute(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </Flex>\n );\n }\n\n if (isAttributeModal && !isComponentAttribute && !isDzAttribute) {\n return (\n <Flex gap={2}>\n <Button\n type={isEditingAttribute ? 'button' : 'submit'}\n variant=\"secondary\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditAttribute(e, true);\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: getTrad('form.button.add-field'),\n defaultMessage: 'Add another field',\n })}\n </Button>\n <Button\n type={isEditingAttribute ? 'submit' : 'button'}\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onClickFinish();\n onSubmitEditAttribute(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </Flex>\n );\n }\n\n if (isContentTypeModal) {\n return (\n <Flex gap={2}>\n {!isCreatingContentType && (\n <>\n <Button\n type=\"button\"\n variant=\"danger\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n deleteContentType();\n }}\n >\n {formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })}\n </Button>\n <Button\n type=\"submit\"\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditContentType(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </>\n )}\n {isCreatingContentType && (\n <Button\n type=\"submit\"\n variant=\"secondary\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitCreateContentType(e, true);\n }}\n >\n {formatMessage({\n id: 'global.continue',\n defaultMessage: 'Continue',\n })}\n </Button>\n )}\n </Flex>\n );\n }\n\n if (isComponentModal) {\n return (\n <Flex gap={2}>\n {!isCreatingComponent && (\n <>\n <Button\n type=\"button\"\n variant=\"danger\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n deleteComponent();\n }}\n >\n {formatMessage({\n id: 'global.delete',\n defaultMessage: 'Delete',\n })}\n </Button>\n <Button\n type=\"submit\"\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditComponent(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </>\n )}\n {isCreatingComponent && (\n <Button\n type=\"submit\"\n variant=\"secondary\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitCreateComponent(e, true);\n }}\n >\n {formatMessage({\n id: 'global.continue',\n defaultMessage: 'Continue',\n })}\n </Button>\n )}\n </Flex>\n );\n }\n\n if (isCustomFieldModal) {\n return (\n <Flex gap={2}>\n <Button\n type={isEditingAttribute ? 'button' : 'submit'}\n variant=\"secondary\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onSubmitEditCustomFieldAttribute(e, true);\n }}\n startIcon={<Plus />}\n >\n {formatMessage({\n id: getTrad('form.button.add-field'),\n defaultMessage: 'Add another field',\n })}\n </Button>\n <Button\n type={isEditingAttribute ? 'submit' : 'button'}\n variant=\"default\"\n onClick={(e: SyntheticEvent) => {\n e.preventDefault();\n\n onClickFinish();\n onSubmitEditCustomFieldAttribute(e, false);\n }}\n >\n {formatMessage({\n id: 'global.finish',\n defaultMessage: 'Finish',\n })}\n </Button>\n </Flex>\n );\n }\n\n return null;\n};\n"],"names":["FormModalEndActions","deleteComponent","deleteContentType","isAttributeModal","isCustomFieldModal","isComponentAttribute","isComponentToDzModal","isContentTypeModal","isCreatingComponent","isCreatingComponentAttribute","isCreatingComponentInDz","isCreatingComponentWhileAddingAField","isCreatingContentType","isCreatingDz","isComponentModal","isDzAttribute","isEditingAttribute","isInFirstComponentStep","onSubmitAddComponentAttribute","onSubmitAddComponentToDz","onSubmitCreateContentType","onSubmitCreateComponent","onSubmitCreateDz","onSubmitEditAttribute","onSubmitEditComponent","onSubmitEditContentType","onSubmitEditCustomFieldAttribute","onSubmitEditDz","onClickFinish","formatMessage","useIntl","_jsx","Button","variant","type","onClick","e","preventDefault","startIcon","Plus","id","getTrad","defaultMessage","_Fragment","_jsxs","Flex","gap"],"mappings":"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"}
|