@strapi/content-type-builder 5.13.0 → 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":"common.js","sources":["../../../../../../admin/src/components/FormModal/attributes/validation/common.ts"],"sourcesContent":["import { translatedErrors as errorsTrads } from '@strapi/admin/strapi-admin';\nimport { snakeCase } from 'lodash/fp';\nimport toNumber from 'lodash/toNumber';\nimport * as yup from 'yup';\n\nimport { getTrad } from '../../../../utils/getTrad';\n\nconst NAME_REGEX = /^[A-Za-z][_0-9A-Za-z]*$/;\n\nconst alreadyUsedAttributeNames = (\n usedNames: Array<string>\n): yup.TestConfig<string | undefined, Record<string, unknown>> => {\n return {\n name: 'attributeNameAlreadyUsed',\n message: errorsTrads.unique.id,\n test(value: string | undefined) {\n if (!value) {\n return false;\n }\n const snakeCaseKey = snakeCase(value);\n\n return !usedNames.some((existingKey) => {\n return snakeCase(existingKey) === snakeCaseKey;\n });\n },\n };\n};\n\nconst getUsedContentTypeAttributeNames = (\n ctShema: any,\n isEdition: boolean,\n attributeNameToEdit: string\n) => {\n const attributes = ctShema?.
|
|
1
|
+
{"version":3,"file":"common.js","sources":["../../../../../../admin/src/components/FormModal/attributes/validation/common.ts"],"sourcesContent":["import { translatedErrors as errorsTrads } from '@strapi/admin/strapi-admin';\nimport { snakeCase } from 'lodash/fp';\nimport toNumber from 'lodash/toNumber';\nimport * as yup from 'yup';\n\nimport { getTrad } from '../../../../utils/getTrad';\n\nconst NAME_REGEX = /^[A-Za-z][_0-9A-Za-z]*$/;\n\nconst alreadyUsedAttributeNames = (\n usedNames: Array<string>\n): yup.TestConfig<string | undefined, Record<string, unknown>> => {\n return {\n name: 'attributeNameAlreadyUsed',\n message: errorsTrads.unique.id,\n test(value: string | undefined) {\n if (!value) {\n return false;\n }\n const snakeCaseKey = snakeCase(value);\n\n return !usedNames.some((existingKey) => {\n return snakeCase(existingKey) === snakeCaseKey;\n });\n },\n };\n};\n\nconst getUsedContentTypeAttributeNames = (\n ctShema: any,\n isEdition: boolean,\n attributeNameToEdit: string\n) => {\n const attributes = ctShema?.attributes ?? {};\n\n return Object.keys(attributes).filter((attr) => {\n if (isEdition) {\n return attr !== attributeNameToEdit;\n }\n\n return true;\n });\n};\n\nconst isNameAllowed = (\n reservedNames: Array<string>\n): yup.TestConfig<string | undefined, Record<string, unknown>> => {\n return {\n name: 'forbiddenAttributeName',\n message: getTrad('error.attributeName.reserved-name'),\n test(value: string | undefined) {\n if (!value) {\n return false;\n }\n const snakeCaseKey = snakeCase(value);\n\n return !reservedNames.some((existingKey) => {\n return snakeCase(existingKey) === snakeCaseKey;\n });\n },\n };\n};\n\nconst validators = {\n default: () => yup.string().nullable(),\n max: () => yup.number().integer().nullable(),\n min: () =>\n yup\n .number()\n .integer()\n .when('max', (max, schema) => {\n if (max) {\n return schema.max(max, getTrad('error.validation.minSupMax'));\n }\n\n return schema;\n })\n .nullable(),\n maxLength: () => yup.number().integer().positive(getTrad('error.validation.positive')).nullable(),\n minLength: () =>\n yup\n .number()\n .integer()\n .min(1)\n .when('maxLength', (maxLength, schema) => {\n if (maxLength) {\n return schema.max(maxLength, getTrad('error.validation.minSupMax'));\n }\n\n return schema;\n })\n .nullable(),\n name(usedNames: Array<string>, reservedNames: Array<string>) {\n return yup\n .string()\n .test(alreadyUsedAttributeNames(usedNames))\n .test(isNameAllowed(reservedNames))\n .matches(NAME_REGEX, errorsTrads.regex.id)\n .required(errorsTrads.required.id);\n },\n required: () => yup.boolean(),\n type: () => yup.string().required(errorsTrads.required.id),\n unique: () => yup.boolean().nullable(),\n};\n\nconst createTextShape = (usedAttributeNames: Array<string>, reservedNames: Array<string>) => {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n regex: yup\n .string()\n .test({\n name: 'isValidRegExpPattern',\n message: getTrad('error.validation.regex'),\n test(value) {\n try {\n return new RegExp(value || '') !== null;\n } catch (e) {\n return false;\n }\n },\n })\n .nullable(),\n };\n\n return shape;\n};\n\ntype GenericIsMinSuperiorThanMax<T extends (string | null) | number> = yup.TestConfig<\n T | undefined,\n Record<string, unknown>\n>;\n\nconst isMinSuperiorThanMax = <\n T extends (string | null) | number,\n>(): GenericIsMinSuperiorThanMax<T> => ({\n name: 'isMinSuperiorThanMax',\n message: getTrad('error.validation.minSupMax'),\n test(min: T | undefined) {\n if (!min) {\n return true;\n }\n\n const { max } = (this as any).parent;\n\n if (!max) {\n return true;\n }\n\n if (Number.isNaN(toNumber(min))) {\n return true;\n }\n\n return toNumber(max) >= toNumber(min);\n },\n});\n\nexport {\n alreadyUsedAttributeNames,\n createTextShape,\n getUsedContentTypeAttributeNames,\n isMinSuperiorThanMax,\n isNameAllowed,\n NAME_REGEX,\n validators,\n};\n"],"names":["NAME_REGEX","alreadyUsedAttributeNames","usedNames","name","message","errorsTrads","unique","id","test","value","snakeCaseKey","snakeCase","some","existingKey","isNameAllowed","reservedNames","getTrad","validators","default","yup","string","nullable","max","number","integer","min","when","schema","maxLength","positive","minLength","matches","regex","required","boolean","type","createTextShape","usedAttributeNames","shape","RegExp","e","isMinSuperiorThanMax","parent","Number","isNaN","toNumber"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.mjs","sources":["../../../../../../admin/src/components/FormModal/attributes/validation/common.ts"],"sourcesContent":["import { translatedErrors as errorsTrads } from '@strapi/admin/strapi-admin';\nimport { snakeCase } from 'lodash/fp';\nimport toNumber from 'lodash/toNumber';\nimport * as yup from 'yup';\n\nimport { getTrad } from '../../../../utils/getTrad';\n\nconst NAME_REGEX = /^[A-Za-z][_0-9A-Za-z]*$/;\n\nconst alreadyUsedAttributeNames = (\n usedNames: Array<string>\n): yup.TestConfig<string | undefined, Record<string, unknown>> => {\n return {\n name: 'attributeNameAlreadyUsed',\n message: errorsTrads.unique.id,\n test(value: string | undefined) {\n if (!value) {\n return false;\n }\n const snakeCaseKey = snakeCase(value);\n\n return !usedNames.some((existingKey) => {\n return snakeCase(existingKey) === snakeCaseKey;\n });\n },\n };\n};\n\nconst getUsedContentTypeAttributeNames = (\n ctShema: any,\n isEdition: boolean,\n attributeNameToEdit: string\n) => {\n const attributes = ctShema?.
|
|
1
|
+
{"version":3,"file":"common.mjs","sources":["../../../../../../admin/src/components/FormModal/attributes/validation/common.ts"],"sourcesContent":["import { translatedErrors as errorsTrads } from '@strapi/admin/strapi-admin';\nimport { snakeCase } from 'lodash/fp';\nimport toNumber from 'lodash/toNumber';\nimport * as yup from 'yup';\n\nimport { getTrad } from '../../../../utils/getTrad';\n\nconst NAME_REGEX = /^[A-Za-z][_0-9A-Za-z]*$/;\n\nconst alreadyUsedAttributeNames = (\n usedNames: Array<string>\n): yup.TestConfig<string | undefined, Record<string, unknown>> => {\n return {\n name: 'attributeNameAlreadyUsed',\n message: errorsTrads.unique.id,\n test(value: string | undefined) {\n if (!value) {\n return false;\n }\n const snakeCaseKey = snakeCase(value);\n\n return !usedNames.some((existingKey) => {\n return snakeCase(existingKey) === snakeCaseKey;\n });\n },\n };\n};\n\nconst getUsedContentTypeAttributeNames = (\n ctShema: any,\n isEdition: boolean,\n attributeNameToEdit: string\n) => {\n const attributes = ctShema?.attributes ?? {};\n\n return Object.keys(attributes).filter((attr) => {\n if (isEdition) {\n return attr !== attributeNameToEdit;\n }\n\n return true;\n });\n};\n\nconst isNameAllowed = (\n reservedNames: Array<string>\n): yup.TestConfig<string | undefined, Record<string, unknown>> => {\n return {\n name: 'forbiddenAttributeName',\n message: getTrad('error.attributeName.reserved-name'),\n test(value: string | undefined) {\n if (!value) {\n return false;\n }\n const snakeCaseKey = snakeCase(value);\n\n return !reservedNames.some((existingKey) => {\n return snakeCase(existingKey) === snakeCaseKey;\n });\n },\n };\n};\n\nconst validators = {\n default: () => yup.string().nullable(),\n max: () => yup.number().integer().nullable(),\n min: () =>\n yup\n .number()\n .integer()\n .when('max', (max, schema) => {\n if (max) {\n return schema.max(max, getTrad('error.validation.minSupMax'));\n }\n\n return schema;\n })\n .nullable(),\n maxLength: () => yup.number().integer().positive(getTrad('error.validation.positive')).nullable(),\n minLength: () =>\n yup\n .number()\n .integer()\n .min(1)\n .when('maxLength', (maxLength, schema) => {\n if (maxLength) {\n return schema.max(maxLength, getTrad('error.validation.minSupMax'));\n }\n\n return schema;\n })\n .nullable(),\n name(usedNames: Array<string>, reservedNames: Array<string>) {\n return yup\n .string()\n .test(alreadyUsedAttributeNames(usedNames))\n .test(isNameAllowed(reservedNames))\n .matches(NAME_REGEX, errorsTrads.regex.id)\n .required(errorsTrads.required.id);\n },\n required: () => yup.boolean(),\n type: () => yup.string().required(errorsTrads.required.id),\n unique: () => yup.boolean().nullable(),\n};\n\nconst createTextShape = (usedAttributeNames: Array<string>, reservedNames: Array<string>) => {\n const shape = {\n name: validators.name(usedAttributeNames, reservedNames),\n type: validators.type(),\n default: validators.default(),\n unique: validators.unique(),\n required: validators.required(),\n maxLength: validators.maxLength(),\n minLength: validators.minLength(),\n regex: yup\n .string()\n .test({\n name: 'isValidRegExpPattern',\n message: getTrad('error.validation.regex'),\n test(value) {\n try {\n return new RegExp(value || '') !== null;\n } catch (e) {\n return false;\n }\n },\n })\n .nullable(),\n };\n\n return shape;\n};\n\ntype GenericIsMinSuperiorThanMax<T extends (string | null) | number> = yup.TestConfig<\n T | undefined,\n Record<string, unknown>\n>;\n\nconst isMinSuperiorThanMax = <\n T extends (string | null) | number,\n>(): GenericIsMinSuperiorThanMax<T> => ({\n name: 'isMinSuperiorThanMax',\n message: getTrad('error.validation.minSupMax'),\n test(min: T | undefined) {\n if (!min) {\n return true;\n }\n\n const { max } = (this as any).parent;\n\n if (!max) {\n return true;\n }\n\n if (Number.isNaN(toNumber(min))) {\n return true;\n }\n\n return toNumber(max) >= toNumber(min);\n },\n});\n\nexport {\n alreadyUsedAttributeNames,\n createTextShape,\n getUsedContentTypeAttributeNames,\n isMinSuperiorThanMax,\n isNameAllowed,\n NAME_REGEX,\n validators,\n};\n"],"names":["NAME_REGEX","alreadyUsedAttributeNames","usedNames","name","message","errorsTrads","unique","id","test","value","snakeCaseKey","snakeCase","some","existingKey","isNameAllowed","reservedNames","getTrad","validators","default","yup","string","nullable","max","number","integer","min","when","schema","maxLength","positive","minLength","matches","regex","required","boolean","type","createTextShape","usedAttributeNames","shape","RegExp","e","isMinSuperiorThanMax","parent","Number","isNaN","toNumber"],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@ var strapiAdmin = require('@strapi/admin/strapi-admin');
|
|
|
4
4
|
var fp = require('lodash/fp');
|
|
5
5
|
var yup = require('yup');
|
|
6
6
|
var getTrad = require('../../../utils/getTrad.js');
|
|
7
|
-
var regex = require('../category/regex.js');
|
|
8
7
|
var createUid = require('../utils/createUid.js');
|
|
9
8
|
|
|
10
9
|
function _interopNamespaceDefault(e) {
|
|
@@ -26,6 +25,7 @@ function _interopNamespaceDefault(e) {
|
|
|
26
25
|
|
|
27
26
|
var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
|
|
28
27
|
|
|
28
|
+
const CATEGORY_NAME_REGEX = /^[A-Za-z][-_0-9A-Za-z]*$/;
|
|
29
29
|
const createComponentSchema = (usedComponentNames, reservedNames, category, takenCollectionNames, currentCollectionName)=>{
|
|
30
30
|
const shape = {
|
|
31
31
|
displayName: yup__namespace.string().test({
|
|
@@ -55,7 +55,7 @@ const createComponentSchema = (usedComponentNames, reservedNames, category, take
|
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
}).required(strapiAdmin.translatedErrors.required.id),
|
|
58
|
-
category: yup__namespace.string().matches(
|
|
58
|
+
category: yup__namespace.string().matches(CATEGORY_NAME_REGEX, strapiAdmin.translatedErrors.regex.id).required(strapiAdmin.translatedErrors.required.id),
|
|
59
59
|
icon: yup__namespace.string()
|
|
60
60
|
};
|
|
61
61
|
return yup__namespace.object(shape);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createComponentSchema.js","sources":["../../../../../admin/src/components/FormModal/component/createComponentSchema.ts"],"sourcesContent":["import { translatedErrors as errorsTrads } from '@strapi/admin/strapi-admin';\nimport { snakeCase } from 'lodash/fp';\nimport * as yup from 'yup';\n\nimport { getTrad } from '../../../utils/getTrad';\nimport {
|
|
1
|
+
{"version":3,"file":"createComponentSchema.js","sources":["../../../../../admin/src/components/FormModal/component/createComponentSchema.ts"],"sourcesContent":["import { translatedErrors as errorsTrads } from '@strapi/admin/strapi-admin';\nimport { snakeCase } from 'lodash/fp';\nimport * as yup from 'yup';\n\nimport { getTrad } from '../../../utils/getTrad';\nimport { createComponentUid } from '../utils/createUid';\n\nconst CATEGORY_NAME_REGEX = /^[A-Za-z][-_0-9A-Za-z]*$/;\n\nexport const createComponentSchema = (\n usedComponentNames: Array<string>,\n reservedNames: Array<string>,\n category: string,\n takenCollectionNames: Array<string>,\n currentCollectionName: string\n) => {\n const shape = {\n displayName: yup\n .string()\n .test({\n name: 'nameAlreadyUsed',\n message: errorsTrads.unique.id,\n test(value) {\n if (!value) {\n return false;\n }\n\n const name = createComponentUid(value, category);\n\n const snakeCaseKey = snakeCase(name);\n const snakeCaseCollectionName = snakeCase(currentCollectionName);\n\n return (\n usedComponentNames.every((reserved) => {\n return snakeCase(reserved) !== snakeCaseKey;\n }) &&\n takenCollectionNames.every(\n (collectionName) => snakeCase(collectionName) !== snakeCaseCollectionName\n )\n );\n },\n })\n .test({\n name: 'nameNotAllowed',\n message: getTrad('error.contentTypeName.reserved-name'),\n test(value) {\n if (!value) {\n return false;\n }\n\n const snakeCaseKey = snakeCase(value);\n return reservedNames.every((reserved) => {\n return snakeCase(reserved) !== snakeCaseKey;\n });\n },\n })\n .required(errorsTrads.required.id),\n category: yup\n .string()\n .matches(CATEGORY_NAME_REGEX, errorsTrads.regex.id)\n .required(errorsTrads.required.id),\n\n icon: yup.string(),\n };\n\n return yup.object(shape);\n};\n"],"names":["CATEGORY_NAME_REGEX","createComponentSchema","usedComponentNames","reservedNames","category","takenCollectionNames","currentCollectionName","shape","displayName","yup","string","test","name","message","errorsTrads","unique","id","value","createComponentUid","snakeCaseKey","snakeCase","snakeCaseCollectionName","every","reserved","collectionName","getTrad","required","matches","regex","icon","object"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAMA,mBAAsB,GAAA,0BAAA;MAEfC,qBAAwB,GAAA,CACnCC,kBACAC,EAAAA,aAAAA,EACAC,UACAC,oBACAC,EAAAA,qBAAAA,GAAAA;AAEA,IAAA,MAAMC,KAAQ,GAAA;AACZC,QAAAA,WAAAA,EAAaC,cACVC,CAAAA,MAAM,EACNC,CAAAA,IAAI,CAAC;YACJC,IAAM,EAAA,iBAAA;YACNC,OAASC,EAAAA,4BAAAA,CAAYC,MAAM,CAACC,EAAE;AAC9BL,YAAAA,IAAAA,CAAAA,CAAKM,KAAK,EAAA;AACR,gBAAA,IAAI,CAACA,KAAO,EAAA;oBACV,OAAO,KAAA;AACT;gBAEA,MAAML,IAAAA,GAAOM,6BAAmBD,KAAOb,EAAAA,QAAAA,CAAAA;AAEvC,gBAAA,MAAMe,eAAeC,YAAUR,CAAAA,IAAAA,CAAAA;AAC/B,gBAAA,MAAMS,0BAA0BD,YAAUd,CAAAA,qBAAAA,CAAAA;gBAE1C,OACEJ,kBAAAA,CAAmBoB,KAAK,CAAC,CAACC,QAAAA,GAAAA;AACxB,oBAAA,OAAOH,aAAUG,QAAcJ,CAAAA,KAAAA,YAAAA;AACjC,iBAAA,CAAA,IACAd,qBAAqBiB,KAAK,CACxB,CAACE,cAAAA,GAAmBJ,aAAUI,cAAoBH,CAAAA,KAAAA,uBAAAA,CAAAA;AAGxD;AACF,SAAA,CAAA,CACCV,IAAI,CAAC;YACJC,IAAM,EAAA,gBAAA;AACNC,YAAAA,OAAAA,EAASY,eAAQ,CAAA,qCAAA,CAAA;AACjBd,YAAAA,IAAAA,CAAAA,CAAKM,KAAK,EAAA;AACR,gBAAA,IAAI,CAACA,KAAO,EAAA;oBACV,OAAO,KAAA;AACT;AAEA,gBAAA,MAAME,eAAeC,YAAUH,CAAAA,KAAAA,CAAAA;gBAC/B,OAAOd,aAAAA,CAAcmB,KAAK,CAAC,CAACC,QAAAA,GAAAA;AAC1B,oBAAA,OAAOH,aAAUG,QAAcJ,CAAAA,KAAAA,YAAAA;AACjC,iBAAA,CAAA;AACF;AACF,SAAA,CAAA,CACCO,QAAQ,CAACZ,4BAAYY,CAAAA,QAAQ,CAACV,EAAE,CAAA;AACnCZ,QAAAA,QAAAA,EAAUK,eACPC,MAAM,EAAA,CACNiB,OAAO,CAAC3B,qBAAqBc,4BAAYc,CAAAA,KAAK,CAACZ,EAAE,EACjDU,QAAQ,CAACZ,4BAAYY,CAAAA,QAAQ,CAACV,EAAE,CAAA;AAEnCa,QAAAA,IAAAA,EAAMpB,eAAIC,MAAM;AAClB,KAAA;IAEA,OAAOD,cAAAA,CAAIqB,MAAM,CAACvB,KAAAA,CAAAA;AACpB;;;;"}
|
|
@@ -2,9 +2,9 @@ import { translatedErrors } from '@strapi/admin/strapi-admin';
|
|
|
2
2
|
import { snakeCase } from 'lodash/fp';
|
|
3
3
|
import * as yup from 'yup';
|
|
4
4
|
import { getTrad } from '../../../utils/getTrad.mjs';
|
|
5
|
-
import { CATEGORY_NAME_REGEX } from '../category/regex.mjs';
|
|
6
5
|
import { createComponentUid } from '../utils/createUid.mjs';
|
|
7
6
|
|
|
7
|
+
const CATEGORY_NAME_REGEX = /^[A-Za-z][-_0-9A-Za-z]*$/;
|
|
8
8
|
const createComponentSchema = (usedComponentNames, reservedNames, category, takenCollectionNames, currentCollectionName)=>{
|
|
9
9
|
const shape = {
|
|
10
10
|
displayName: yup.string().test({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createComponentSchema.mjs","sources":["../../../../../admin/src/components/FormModal/component/createComponentSchema.ts"],"sourcesContent":["import { translatedErrors as errorsTrads } from '@strapi/admin/strapi-admin';\nimport { snakeCase } from 'lodash/fp';\nimport * as yup from 'yup';\n\nimport { getTrad } from '../../../utils/getTrad';\nimport {
|
|
1
|
+
{"version":3,"file":"createComponentSchema.mjs","sources":["../../../../../admin/src/components/FormModal/component/createComponentSchema.ts"],"sourcesContent":["import { translatedErrors as errorsTrads } from '@strapi/admin/strapi-admin';\nimport { snakeCase } from 'lodash/fp';\nimport * as yup from 'yup';\n\nimport { getTrad } from '../../../utils/getTrad';\nimport { createComponentUid } from '../utils/createUid';\n\nconst CATEGORY_NAME_REGEX = /^[A-Za-z][-_0-9A-Za-z]*$/;\n\nexport const createComponentSchema = (\n usedComponentNames: Array<string>,\n reservedNames: Array<string>,\n category: string,\n takenCollectionNames: Array<string>,\n currentCollectionName: string\n) => {\n const shape = {\n displayName: yup\n .string()\n .test({\n name: 'nameAlreadyUsed',\n message: errorsTrads.unique.id,\n test(value) {\n if (!value) {\n return false;\n }\n\n const name = createComponentUid(value, category);\n\n const snakeCaseKey = snakeCase(name);\n const snakeCaseCollectionName = snakeCase(currentCollectionName);\n\n return (\n usedComponentNames.every((reserved) => {\n return snakeCase(reserved) !== snakeCaseKey;\n }) &&\n takenCollectionNames.every(\n (collectionName) => snakeCase(collectionName) !== snakeCaseCollectionName\n )\n );\n },\n })\n .test({\n name: 'nameNotAllowed',\n message: getTrad('error.contentTypeName.reserved-name'),\n test(value) {\n if (!value) {\n return false;\n }\n\n const snakeCaseKey = snakeCase(value);\n return reservedNames.every((reserved) => {\n return snakeCase(reserved) !== snakeCaseKey;\n });\n },\n })\n .required(errorsTrads.required.id),\n category: yup\n .string()\n .matches(CATEGORY_NAME_REGEX, errorsTrads.regex.id)\n .required(errorsTrads.required.id),\n\n icon: yup.string(),\n };\n\n return yup.object(shape);\n};\n"],"names":["CATEGORY_NAME_REGEX","createComponentSchema","usedComponentNames","reservedNames","category","takenCollectionNames","currentCollectionName","shape","displayName","yup","string","test","name","message","errorsTrads","unique","id","value","createComponentUid","snakeCaseKey","snakeCase","snakeCaseCollectionName","every","reserved","collectionName","getTrad","required","matches","regex","icon","object"],"mappings":";;;;;;AAOA,MAAMA,mBAAsB,GAAA,0BAAA;MAEfC,qBAAwB,GAAA,CACnCC,kBACAC,EAAAA,aAAAA,EACAC,UACAC,oBACAC,EAAAA,qBAAAA,GAAAA;AAEA,IAAA,MAAMC,KAAQ,GAAA;AACZC,QAAAA,WAAAA,EAAaC,GACVC,CAAAA,MAAM,EACNC,CAAAA,IAAI,CAAC;YACJC,IAAM,EAAA,iBAAA;YACNC,OAASC,EAAAA,gBAAAA,CAAYC,MAAM,CAACC,EAAE;AAC9BL,YAAAA,IAAAA,CAAAA,CAAKM,KAAK,EAAA;AACR,gBAAA,IAAI,CAACA,KAAO,EAAA;oBACV,OAAO,KAAA;AACT;gBAEA,MAAML,IAAAA,GAAOM,mBAAmBD,KAAOb,EAAAA,QAAAA,CAAAA;AAEvC,gBAAA,MAAMe,eAAeC,SAAUR,CAAAA,IAAAA,CAAAA;AAC/B,gBAAA,MAAMS,0BAA0BD,SAAUd,CAAAA,qBAAAA,CAAAA;gBAE1C,OACEJ,kBAAAA,CAAmBoB,KAAK,CAAC,CAACC,QAAAA,GAAAA;AACxB,oBAAA,OAAOH,UAAUG,QAAcJ,CAAAA,KAAAA,YAAAA;AACjC,iBAAA,CAAA,IACAd,qBAAqBiB,KAAK,CACxB,CAACE,cAAAA,GAAmBJ,UAAUI,cAAoBH,CAAAA,KAAAA,uBAAAA,CAAAA;AAGxD;AACF,SAAA,CAAA,CACCV,IAAI,CAAC;YACJC,IAAM,EAAA,gBAAA;AACNC,YAAAA,OAAAA,EAASY,OAAQ,CAAA,qCAAA,CAAA;AACjBd,YAAAA,IAAAA,CAAAA,CAAKM,KAAK,EAAA;AACR,gBAAA,IAAI,CAACA,KAAO,EAAA;oBACV,OAAO,KAAA;AACT;AAEA,gBAAA,MAAME,eAAeC,SAAUH,CAAAA,KAAAA,CAAAA;gBAC/B,OAAOd,aAAAA,CAAcmB,KAAK,CAAC,CAACC,QAAAA,GAAAA;AAC1B,oBAAA,OAAOH,UAAUG,QAAcJ,CAAAA,KAAAA,YAAAA;AACjC,iBAAA,CAAA;AACF;AACF,SAAA,CAAA,CACCO,QAAQ,CAACZ,gBAAYY,CAAAA,QAAQ,CAACV,EAAE,CAAA;AACnCZ,QAAAA,QAAAA,EAAUK,IACPC,MAAM,EAAA,CACNiB,OAAO,CAAC3B,qBAAqBc,gBAAYc,CAAAA,KAAK,CAACZ,EAAE,EACjDU,QAAQ,CAACZ,gBAAYY,CAAAA,QAAQ,CAACV,EAAE,CAAA;AAEnCa,QAAAA,IAAAA,EAAMpB,IAAIC,MAAM;AAClB,KAAA;IAEA,OAAOD,GAAAA,CAAIqB,MAAM,CAACvB,KAAAA,CAAAA;AACpB;;;;"}
|
|
@@ -5,8 +5,6 @@ var commonBaseForm = require('../attributes/commonBaseForm.js');
|
|
|
5
5
|
var form = require('../attributes/form.js');
|
|
6
6
|
var nameField = require('../attributes/nameField.js');
|
|
7
7
|
var types = require('../attributes/types.js');
|
|
8
|
-
var createCategorySchema = require('../category/createCategorySchema.js');
|
|
9
|
-
var form$1 = require('../category/form.js');
|
|
10
8
|
var componentForm = require('../component/componentForm.js');
|
|
11
9
|
var createComponentSchema = require('../component/createComponentSchema.js');
|
|
12
10
|
var contentTypeForm = require('../contentType/contentTypeForm.js');
|
|
@@ -88,7 +86,7 @@ const forms = {
|
|
|
88
86
|
attribute: {
|
|
89
87
|
schema (currentSchema, attributeType, reservedNames, alreadyTakenTargetContentTypeAttributes, options, extensions) {
|
|
90
88
|
// Get the attributes object on the schema
|
|
91
|
-
const attributes = currentSchema?.
|
|
89
|
+
const attributes = currentSchema?.attributes ?? [];
|
|
92
90
|
const usedAttributeNames = getUsedAttributeNames.getUsedAttributeNames(attributes, options);
|
|
93
91
|
try {
|
|
94
92
|
const attributeShape = types.attributeTypes[attributeType](usedAttributeNames, reservedNames.attributes, alreadyTakenTargetContentTypeAttributes, options);
|
|
@@ -158,27 +156,26 @@ const forms = {
|
|
|
158
156
|
contentType: {
|
|
159
157
|
schema (alreadyTakenNames, isEditing, ctUid, reservedNames, extensions, contentTypes) {
|
|
160
158
|
const singularNames = Object.values(contentTypes).map((contentType)=>{
|
|
161
|
-
return contentType.
|
|
159
|
+
return contentType.info.singularName;
|
|
162
160
|
});
|
|
163
161
|
const pluralNames = Object.values(contentTypes).map((contentType)=>{
|
|
164
|
-
return contentType?.
|
|
162
|
+
return contentType?.info?.pluralName ?? '';
|
|
165
163
|
});
|
|
166
164
|
const takenNames = isEditing ? alreadyTakenNames.filter((uid)=>uid !== ctUid) : alreadyTakenNames;
|
|
167
165
|
const takenSingularNames = isEditing ? singularNames.filter((singName)=>{
|
|
168
|
-
const {
|
|
169
|
-
return
|
|
166
|
+
const { info } = contentTypes[ctUid];
|
|
167
|
+
return info.singularName !== singName;
|
|
170
168
|
}) : singularNames;
|
|
171
169
|
const takenPluralNames = isEditing ? pluralNames.filter((pluralName)=>{
|
|
172
|
-
const {
|
|
173
|
-
return
|
|
170
|
+
const { info } = contentTypes[ctUid];
|
|
171
|
+
return info.pluralName !== pluralName;
|
|
174
172
|
}) : pluralNames;
|
|
175
173
|
// return the array of collection names not all normalized
|
|
176
174
|
const collectionNames = Object.values(contentTypes).map((contentType)=>{
|
|
177
|
-
return contentType?.
|
|
175
|
+
return contentType?.collectionName ?? '';
|
|
178
176
|
});
|
|
179
177
|
const takenCollectionNames = isEditing ? collectionNames.filter((collectionName)=>{
|
|
180
|
-
const {
|
|
181
|
-
const currentCollectionName = schema.collectionName;
|
|
178
|
+
const { collectionName: currentCollectionName } = contentTypes[ctUid];
|
|
182
179
|
return collectionName !== currentCollectionName;
|
|
183
180
|
}) : collectionNames;
|
|
184
181
|
const contentTypeShape = createContentTypeSchema.createContentTypeSchema({
|
|
@@ -222,7 +219,7 @@ const forms = {
|
|
|
222
219
|
schema (alreadyTakenAttributes, componentCategory, reservedNames, isEditing = false, components, componentDisplayName, compoUid = null) {
|
|
223
220
|
const takenNames = isEditing ? alreadyTakenAttributes.filter((uid)=>uid !== compoUid) : alreadyTakenAttributes;
|
|
224
221
|
const collectionNames = Object.values(components).map((component)=>{
|
|
225
|
-
return component?.
|
|
222
|
+
return component?.collectionName;
|
|
226
223
|
});
|
|
227
224
|
const currentCollectionName = createCollectionName.createComponentCollectionName(componentDisplayName, componentCategory);
|
|
228
225
|
const takenCollectionNames = isEditing ? collectionNames.filter((collectionName)=>collectionName !== currentCollectionName) : collectionNames;
|
|
@@ -254,20 +251,6 @@ const forms = {
|
|
|
254
251
|
return dynamiczoneForm.dynamiczoneForm.base.default();
|
|
255
252
|
}
|
|
256
253
|
}
|
|
257
|
-
},
|
|
258
|
-
editCategory: {
|
|
259
|
-
schema (allCategories, initialData) {
|
|
260
|
-
const allowedCategories = allCategories.filter((cat)=>cat !== initialData.name).map((cat)=>cat.toLowerCase());
|
|
261
|
-
return createCategorySchema.createCategorySchema(allowedCategories);
|
|
262
|
-
},
|
|
263
|
-
form: {
|
|
264
|
-
advanced: ()=>({
|
|
265
|
-
sections: []
|
|
266
|
-
}),
|
|
267
|
-
base () {
|
|
268
|
-
return form$1.categoryForm.base;
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
254
|
}
|
|
272
255
|
};
|
|
273
256
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms.js","sources":["../../../../../admin/src/components/FormModal/forms/forms.ts"],"sourcesContent":["import { getTrad } from '../../../utils';\nimport { commonBaseForm } from '../attributes/commonBaseForm';\nimport { attributesForm } from '../attributes/form';\nimport { nameField } from '../attributes/nameField';\nimport { attributeTypes } from '../attributes/types';\nimport { createCategorySchema } from '../category/createCategorySchema';\nimport { categoryForm } from '../category/form';\nimport { componentForm } from '../component/componentForm';\nimport { createComponentSchema } from '../component/createComponentSchema';\nimport { contentTypeForm } from '../contentType/contentTypeForm';\nimport { createContentTypeSchema } from '../contentType/createContentTypeSchema';\nimport { dynamiczoneForm } from '../dynamiczoneForm';\n\nimport { addItemsToFormSection, FormTypeOptions } from './utils/addItemsToFormSection';\nimport { createComponentCollectionName } from './utils/createCollectionName';\nimport { Attribute, getUsedAttributeNames, SchemaData } from './utils/getUsedAttributeNames';\n\nimport type { Internal } from '@strapi/types';\n\ntype ContentType = {\n schema: {\n singularName: string;\n pluralName: string;\n collectionName: string;\n };\n};\n\nexport type SchemaParams = {\n schemaAttributes: any;\n attributeType: keyof typeof attributeTypes;\n customFieldValidator: any;\n reservedNames: {\n attributes: Array<string>;\n };\n schemaData: any;\n ctbFormsAPI: any;\n};\n\ntype Base<TAttributesFormType extends 'base' | 'advanced'> = {\n data: any;\n type: keyof (typeof attributesForm)[TAttributesFormType];\n step: string;\n attributes: any;\n extensions: any;\n forTarget: string;\n};\n\nexport const forms = {\n customField: {\n schema({\n schemaAttributes,\n attributeType,\n customFieldValidator,\n reservedNames,\n schemaData,\n ctbFormsAPI,\n }: SchemaParams) {\n const usedAttributeNames = getUsedAttributeNames(schemaAttributes, schemaData);\n\n let attributeShape;\n if (attributeType === 'relation') {\n attributeShape = attributeTypes[attributeType](\n usedAttributeNames,\n reservedNames.attributes,\n [],\n { initialData: {}, modifiedData: {} }\n );\n } else {\n attributeShape = attributeTypes[attributeType](\n usedAttributeNames,\n reservedNames.attributes\n );\n }\n\n return ctbFormsAPI.makeCustomFieldValidator(\n attributeShape,\n customFieldValidator,\n usedAttributeNames,\n reservedNames.attributes,\n schemaData\n );\n },\n form: {\n base({ customField }: any) {\n // Default section with required name field\n const sections: FormTypeOptions = [{ sectionTitle: null, items: [nameField] }];\n\n if (customField.options?.base) {\n addItemsToFormSection(customField.options.base, sections);\n }\n\n return { sections };\n },\n advanced({ customField, data, step, extensions, ...rest }: any) {\n // Default section with no fields\n const sections: FormTypeOptions = [{ sectionTitle: null, items: [] }];\n const injectedInputs = extensions.getAdvancedForm(['attribute', customField.type], {\n data,\n type: customField.type,\n step,\n ...rest,\n });\n\n if (customField.options?.advanced) {\n addItemsToFormSection(customField.options.advanced, sections);\n }\n\n if (injectedInputs) {\n const extendedSettings = {\n sectionTitle: {\n id: getTrad('modalForm.custom-fields.advanced.settings.extended'),\n defaultMessage: 'Extended settings',\n },\n items: injectedInputs,\n };\n\n sections.push(extendedSettings);\n }\n\n return { sections };\n },\n },\n },\n attribute: {\n schema(\n currentSchema: any,\n attributeType: keyof typeof attributeTypes,\n reservedNames: {\n attributes: Array<string>;\n },\n alreadyTakenTargetContentTypeAttributes: Array<Attribute>,\n options: SchemaData,\n extensions: {\n makeValidator: any;\n }\n ) {\n // Get the attributes object on the schema\n const attributes: Array<Attribute> = currentSchema?.schema?.attributes ?? [];\n const usedAttributeNames = getUsedAttributeNames(attributes, options);\n\n try {\n const attributeShape = attributeTypes[attributeType](\n usedAttributeNames,\n reservedNames.attributes,\n alreadyTakenTargetContentTypeAttributes,\n options\n );\n\n return extensions.makeValidator(\n ['attribute', attributeType],\n attributeShape,\n usedAttributeNames,\n reservedNames.attributes,\n alreadyTakenTargetContentTypeAttributes,\n options\n );\n } catch (err) {\n console.error('Error yup build schema', err);\n\n return attributeTypes.default(usedAttributeNames, reservedNames.attributes);\n }\n },\n form: {\n advanced({ data, type, step, extensions, ...rest }: Base<'advanced'>) {\n try {\n const baseForm = attributesForm.advanced[type](data, step).sections;\n const itemsToAdd = extensions.getAdvancedForm(['attribute', type], {\n data,\n type,\n step,\n ...rest,\n });\n\n const sections = baseForm.reduce((acc: Array<any>, current: any) => {\n if (current.sectionTitle === null) {\n acc.push(current);\n } else {\n acc.push({ ...current, items: [...current.items, ...itemsToAdd] });\n }\n\n return acc;\n }, []);\n // IF we want a dedicated section for the plugins\n // const sections = [\n // ...baseForm,\n // {\n // sectionTitle: { id: 'Zone pour plugins', defaultMessage: 'Zone pour plugins' },\n // items: itemsToAdd,\n // },\n // ];\n\n return { sections };\n } catch (err) {\n console.error(err);\n\n return { sections: [] };\n }\n },\n base({ data, type, step, attributes }: Base<'base'>) {\n try {\n return attributesForm.base[type](data, step, attributes);\n } catch (err) {\n return commonBaseForm;\n }\n },\n },\n },\n contentType: {\n schema(\n alreadyTakenNames: Array<string>,\n isEditing: boolean,\n ctUid: Internal.UID.ContentType,\n reservedNames: {\n models: any;\n },\n extensions: any,\n contentTypes: Record<string, ContentType>\n ) {\n const singularNames = Object.values(contentTypes).map((contentType) => {\n return contentType.schema.singularName;\n });\n\n const pluralNames = Object.values(contentTypes).map((contentType: any) => {\n return contentType?.schema?.pluralName ?? '';\n });\n\n const takenNames = isEditing\n ? alreadyTakenNames.filter((uid) => uid !== ctUid)\n : alreadyTakenNames;\n\n const takenSingularNames = isEditing\n ? singularNames.filter((singName) => {\n const { schema } = contentTypes[ctUid];\n\n return schema.singularName !== singName;\n })\n : singularNames;\n\n const takenPluralNames = isEditing\n ? pluralNames.filter((pluralName) => {\n const { schema } = contentTypes[ctUid];\n\n return schema.pluralName !== pluralName;\n })\n : pluralNames;\n\n // return the array of collection names not all normalized\n const collectionNames = Object.values(contentTypes).map((contentType) => {\n return contentType?.schema?.collectionName ?? '';\n });\n\n const takenCollectionNames = isEditing\n ? collectionNames.filter((collectionName) => {\n const { schema } = contentTypes[ctUid];\n const currentCollectionName = schema.collectionName;\n\n return collectionName !== currentCollectionName;\n })\n : collectionNames;\n\n const contentTypeShape = createContentTypeSchema({\n usedContentTypeNames: takenNames,\n reservedModels: reservedNames.models,\n singularNames: takenSingularNames,\n pluralNames: takenPluralNames,\n collectionNames: takenCollectionNames,\n });\n\n // FIXME\n return extensions.makeValidator(\n ['contentType'],\n contentTypeShape,\n takenNames,\n reservedNames.models,\n takenSingularNames,\n takenPluralNames\n );\n },\n form: {\n base({ actionType }: any) {\n if (actionType === 'create') {\n return contentTypeForm.base.create();\n }\n\n return contentTypeForm.base.edit();\n },\n advanced({ extensions }: any) {\n const baseForm = contentTypeForm.advanced\n .default()\n .sections.map((section) => section.items)\n .flat();\n const itemsToAdd = extensions.getAdvancedForm(['contentType']);\n\n return {\n sections: [\n {\n items: [...baseForm, ...itemsToAdd],\n },\n ],\n };\n },\n },\n },\n component: {\n schema(\n alreadyTakenAttributes: Array<Internal.UID.Component>,\n componentCategory: string,\n reservedNames: {\n models: any;\n },\n isEditing = false,\n components: Record<string, any>,\n componentDisplayName: string,\n compoUid: Internal.UID.Component | null = null\n ) {\n const takenNames = isEditing\n ? alreadyTakenAttributes.filter((uid: Internal.UID.Component) => uid !== compoUid)\n : alreadyTakenAttributes;\n const collectionNames = Object.values(components).map((component: any) => {\n return component?.schema?.collectionName;\n });\n\n const currentCollectionName = createComponentCollectionName(\n componentDisplayName,\n componentCategory\n );\n\n const takenCollectionNames = isEditing\n ? collectionNames.filter((collectionName) => collectionName !== currentCollectionName)\n : collectionNames;\n\n return createComponentSchema(\n takenNames,\n reservedNames.models,\n componentCategory,\n takenCollectionNames,\n currentCollectionName\n );\n },\n form: {\n advanced() {\n return {\n sections: componentForm.advanced(),\n };\n },\n base() {\n return {\n sections: componentForm.base(),\n };\n },\n },\n },\n addComponentToDynamicZone: {\n form: {\n advanced() {\n return dynamiczoneForm.advanced.default();\n },\n base({ data }: any) {\n const isCreatingComponent = data?.createComponent ?? false;\n\n if (isCreatingComponent) {\n return dynamiczoneForm.base.createComponent();\n }\n\n return dynamiczoneForm.base.default();\n },\n },\n },\n editCategory: {\n schema(allCategories: Array<any>, initialData: any) {\n const allowedCategories = allCategories\n .filter((cat) => cat !== initialData.name)\n .map((cat) => cat.toLowerCase());\n\n return createCategorySchema(allowedCategories);\n },\n form: {\n advanced: () => ({ sections: [] }),\n base() {\n return categoryForm.base;\n },\n },\n },\n};\n"],"names":["forms","customField","schema","schemaAttributes","attributeType","customFieldValidator","reservedNames","schemaData","ctbFormsAPI","usedAttributeNames","getUsedAttributeNames","attributeShape","attributeTypes","attributes","initialData","modifiedData","makeCustomFieldValidator","form","base","sections","sectionTitle","items","nameField","options","addItemsToFormSection","advanced","data","step","extensions","rest","injectedInputs","getAdvancedForm","type","extendedSettings","id","getTrad","defaultMessage","push","attribute","currentSchema","alreadyTakenTargetContentTypeAttributes","makeValidator","err","console","error","default","baseForm","attributesForm","itemsToAdd","reduce","acc","current","commonBaseForm","contentType","alreadyTakenNames","isEditing","ctUid","contentTypes","singularNames","Object","values","map","singularName","pluralNames","pluralName","takenNames","filter","uid","takenSingularNames","singName","takenPluralNames","collectionNames","collectionName","takenCollectionNames","currentCollectionName","contentTypeShape","createContentTypeSchema","usedContentTypeNames","reservedModels","models","actionType","contentTypeForm","create","edit","section","flat","component","alreadyTakenAttributes","componentCategory","components","componentDisplayName","compoUid","createComponentCollectionName","createComponentSchema","componentForm","addComponentToDynamicZone","dynamiczoneForm","isCreatingComponent","createComponent","editCategory","allCategories","allowedCategories","cat","name","toLowerCase","createCategorySchema","categoryForm"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"forms.js","sources":["../../../../../admin/src/components/FormModal/forms/forms.ts"],"sourcesContent":["import { getTrad } from '../../../utils';\nimport { commonBaseForm } from '../attributes/commonBaseForm';\nimport { attributesForm } from '../attributes/form';\nimport { nameField } from '../attributes/nameField';\nimport { attributeTypes } from '../attributes/types';\nimport { componentForm } from '../component/componentForm';\nimport { createComponentSchema } from '../component/createComponentSchema';\nimport { contentTypeForm } from '../contentType/contentTypeForm';\nimport { createContentTypeSchema } from '../contentType/createContentTypeSchema';\nimport { dynamiczoneForm } from '../dynamiczoneForm';\n\nimport { addItemsToFormSection, FormTypeOptions } from './utils/addItemsToFormSection';\nimport { createComponentCollectionName } from './utils/createCollectionName';\nimport { Attribute, getUsedAttributeNames, SchemaData } from './utils/getUsedAttributeNames';\n\nimport type { ContentType } from '../../../types';\nimport type { Internal } from '@strapi/types';\n\nexport type SchemaParams = {\n schemaAttributes: any;\n attributeType: keyof typeof attributeTypes;\n customFieldValidator: any;\n reservedNames: {\n attributes: Array<string>;\n };\n schemaData: any;\n ctbFormsAPI: any;\n};\n\ntype Base<TAttributesFormType extends 'base' | 'advanced'> = {\n data: any;\n type: keyof (typeof attributesForm)[TAttributesFormType];\n step: string;\n attributes: any;\n extensions: any;\n forTarget: string;\n};\n\nexport const forms = {\n customField: {\n schema({\n schemaAttributes,\n attributeType,\n customFieldValidator,\n reservedNames,\n schemaData,\n ctbFormsAPI,\n }: SchemaParams) {\n const usedAttributeNames = getUsedAttributeNames(schemaAttributes, schemaData);\n\n let attributeShape;\n if (attributeType === 'relation') {\n attributeShape = attributeTypes[attributeType](\n usedAttributeNames,\n reservedNames.attributes,\n [],\n { initialData: {}, modifiedData: {} }\n );\n } else {\n attributeShape = attributeTypes[attributeType](\n usedAttributeNames,\n reservedNames.attributes\n );\n }\n\n return ctbFormsAPI.makeCustomFieldValidator(\n attributeShape,\n customFieldValidator,\n usedAttributeNames,\n reservedNames.attributes,\n schemaData\n );\n },\n form: {\n base({ customField }: any) {\n // Default section with required name field\n const sections: FormTypeOptions = [{ sectionTitle: null, items: [nameField] }];\n\n if (customField.options?.base) {\n addItemsToFormSection(customField.options.base, sections);\n }\n\n return { sections };\n },\n advanced({ customField, data, step, extensions, ...rest }: any) {\n // Default section with no fields\n const sections: FormTypeOptions = [{ sectionTitle: null, items: [] }];\n const injectedInputs = extensions.getAdvancedForm(['attribute', customField.type], {\n data,\n type: customField.type,\n step,\n ...rest,\n });\n\n if (customField.options?.advanced) {\n addItemsToFormSection(customField.options.advanced, sections);\n }\n\n if (injectedInputs) {\n const extendedSettings = {\n sectionTitle: {\n id: getTrad('modalForm.custom-fields.advanced.settings.extended'),\n defaultMessage: 'Extended settings',\n },\n items: injectedInputs,\n };\n\n sections.push(extendedSettings);\n }\n\n return { sections };\n },\n },\n },\n attribute: {\n schema(\n currentSchema: any,\n attributeType: keyof typeof attributeTypes,\n reservedNames: {\n attributes: Array<string>;\n },\n alreadyTakenTargetContentTypeAttributes: Array<Attribute>,\n options: SchemaData,\n extensions: {\n makeValidator: any;\n }\n ) {\n // Get the attributes object on the schema\n const attributes: Array<Attribute> = currentSchema?.attributes ?? [];\n const usedAttributeNames = getUsedAttributeNames(attributes, options);\n\n try {\n const attributeShape = attributeTypes[attributeType](\n usedAttributeNames,\n reservedNames.attributes,\n alreadyTakenTargetContentTypeAttributes,\n options\n );\n\n return extensions.makeValidator(\n ['attribute', attributeType],\n attributeShape,\n usedAttributeNames,\n reservedNames.attributes,\n alreadyTakenTargetContentTypeAttributes,\n options\n );\n } catch (err) {\n console.error('Error yup build schema', err);\n\n return attributeTypes.default(usedAttributeNames, reservedNames.attributes);\n }\n },\n form: {\n advanced({ data, type, step, extensions, ...rest }: Base<'advanced'>) {\n try {\n const baseForm = attributesForm.advanced[type](data, step).sections;\n const itemsToAdd = extensions.getAdvancedForm(['attribute', type], {\n data,\n type,\n step,\n ...rest,\n });\n\n const sections = baseForm.reduce((acc: Array<any>, current: any) => {\n if (current.sectionTitle === null) {\n acc.push(current);\n } else {\n acc.push({ ...current, items: [...current.items, ...itemsToAdd] });\n }\n\n return acc;\n }, []);\n // IF we want a dedicated section for the plugins\n // const sections = [\n // ...baseForm,\n // {\n // sectionTitle: { id: 'Zone pour plugins', defaultMessage: 'Zone pour plugins' },\n // items: itemsToAdd,\n // },\n // ];\n\n return { sections };\n } catch (err) {\n console.error(err);\n\n return { sections: [] };\n }\n },\n base({ data, type, step, attributes }: Base<'base'>) {\n try {\n return attributesForm.base[type](data, step, attributes);\n } catch (err) {\n return commonBaseForm;\n }\n },\n },\n },\n contentType: {\n schema(\n alreadyTakenNames: Array<string>,\n isEditing: boolean,\n ctUid: Internal.UID.ContentType,\n reservedNames: {\n models: any;\n },\n extensions: any,\n contentTypes: Record<Internal.UID.ContentType, ContentType>\n ) {\n const singularNames = Object.values(contentTypes).map((contentType) => {\n return contentType.info.singularName;\n });\n\n const pluralNames = Object.values(contentTypes).map((contentType: any) => {\n return contentType?.info?.pluralName ?? '';\n });\n\n const takenNames = isEditing\n ? alreadyTakenNames.filter((uid) => uid !== ctUid)\n : alreadyTakenNames;\n\n const takenSingularNames = isEditing\n ? singularNames.filter((singName) => {\n const { info } = contentTypes[ctUid];\n\n return info.singularName !== singName;\n })\n : singularNames;\n\n const takenPluralNames = isEditing\n ? pluralNames.filter((pluralName) => {\n const { info } = contentTypes[ctUid];\n\n return info.pluralName !== pluralName;\n })\n : pluralNames;\n\n // return the array of collection names not all normalized\n const collectionNames = Object.values(contentTypes).map((contentType) => {\n return contentType?.collectionName ?? '';\n });\n\n const takenCollectionNames = isEditing\n ? collectionNames.filter((collectionName) => {\n const { collectionName: currentCollectionName } = contentTypes[ctUid];\n\n return collectionName !== currentCollectionName;\n })\n : collectionNames;\n\n const contentTypeShape = createContentTypeSchema({\n usedContentTypeNames: takenNames,\n reservedModels: reservedNames.models,\n singularNames: takenSingularNames,\n pluralNames: takenPluralNames,\n collectionNames: takenCollectionNames,\n });\n\n // FIXME\n return extensions.makeValidator(\n ['contentType'],\n contentTypeShape,\n takenNames,\n reservedNames.models,\n takenSingularNames,\n takenPluralNames\n );\n },\n form: {\n base({ actionType }: any) {\n if (actionType === 'create') {\n return contentTypeForm.base.create();\n }\n\n return contentTypeForm.base.edit();\n },\n advanced({ extensions }: any) {\n const baseForm = contentTypeForm.advanced\n .default()\n .sections.map((section) => section.items)\n .flat();\n const itemsToAdd = extensions.getAdvancedForm(['contentType']);\n\n return {\n sections: [\n {\n items: [...baseForm, ...itemsToAdd],\n },\n ],\n };\n },\n },\n },\n component: {\n schema(\n alreadyTakenAttributes: Array<Internal.UID.Component>,\n componentCategory: string,\n reservedNames: {\n models: any;\n },\n isEditing = false,\n components: Record<string, any>,\n componentDisplayName: string,\n compoUid: Internal.UID.Component | null = null\n ) {\n const takenNames = isEditing\n ? alreadyTakenAttributes.filter((uid: Internal.UID.Component) => uid !== compoUid)\n : alreadyTakenAttributes;\n const collectionNames = Object.values(components).map((component: any) => {\n return component?.collectionName;\n });\n\n const currentCollectionName = createComponentCollectionName(\n componentDisplayName,\n componentCategory\n );\n\n const takenCollectionNames = isEditing\n ? collectionNames.filter((collectionName) => collectionName !== currentCollectionName)\n : collectionNames;\n\n return createComponentSchema(\n takenNames,\n reservedNames.models,\n componentCategory,\n takenCollectionNames,\n currentCollectionName\n );\n },\n form: {\n advanced() {\n return {\n sections: componentForm.advanced(),\n };\n },\n base() {\n return {\n sections: componentForm.base(),\n };\n },\n },\n },\n addComponentToDynamicZone: {\n form: {\n advanced() {\n return dynamiczoneForm.advanced.default();\n },\n base({ data }: any) {\n const isCreatingComponent = data?.createComponent ?? false;\n\n if (isCreatingComponent) {\n return dynamiczoneForm.base.createComponent();\n }\n\n return dynamiczoneForm.base.default();\n },\n },\n },\n};\n"],"names":["forms","customField","schema","schemaAttributes","attributeType","customFieldValidator","reservedNames","schemaData","ctbFormsAPI","usedAttributeNames","getUsedAttributeNames","attributeShape","attributeTypes","attributes","initialData","modifiedData","makeCustomFieldValidator","form","base","sections","sectionTitle","items","nameField","options","addItemsToFormSection","advanced","data","step","extensions","rest","injectedInputs","getAdvancedForm","type","extendedSettings","id","getTrad","defaultMessage","push","attribute","currentSchema","alreadyTakenTargetContentTypeAttributes","makeValidator","err","console","error","default","baseForm","attributesForm","itemsToAdd","reduce","acc","current","commonBaseForm","contentType","alreadyTakenNames","isEditing","ctUid","contentTypes","singularNames","Object","values","map","info","singularName","pluralNames","pluralName","takenNames","filter","uid","takenSingularNames","singName","takenPluralNames","collectionNames","collectionName","takenCollectionNames","currentCollectionName","contentTypeShape","createContentTypeSchema","usedContentTypeNames","reservedModels","models","actionType","contentTypeForm","create","edit","section","flat","component","alreadyTakenAttributes","componentCategory","components","componentDisplayName","compoUid","createComponentCollectionName","createComponentSchema","componentForm","addComponentToDynamicZone","dynamiczoneForm","isCreatingComponent","createComponent"],"mappings":"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"}
|
|
@@ -3,8 +3,6 @@ import { commonBaseForm } from '../attributes/commonBaseForm.mjs';
|
|
|
3
3
|
import { attributesForm } from '../attributes/form.mjs';
|
|
4
4
|
import { nameField } from '../attributes/nameField.mjs';
|
|
5
5
|
import { attributeTypes } from '../attributes/types.mjs';
|
|
6
|
-
import { createCategorySchema } from '../category/createCategorySchema.mjs';
|
|
7
|
-
import { categoryForm } from '../category/form.mjs';
|
|
8
6
|
import { componentForm } from '../component/componentForm.mjs';
|
|
9
7
|
import { createComponentSchema } from '../component/createComponentSchema.mjs';
|
|
10
8
|
import { contentTypeForm } from '../contentType/contentTypeForm.mjs';
|
|
@@ -86,7 +84,7 @@ const forms = {
|
|
|
86
84
|
attribute: {
|
|
87
85
|
schema (currentSchema, attributeType, reservedNames, alreadyTakenTargetContentTypeAttributes, options, extensions) {
|
|
88
86
|
// Get the attributes object on the schema
|
|
89
|
-
const attributes = currentSchema?.
|
|
87
|
+
const attributes = currentSchema?.attributes ?? [];
|
|
90
88
|
const usedAttributeNames = getUsedAttributeNames(attributes, options);
|
|
91
89
|
try {
|
|
92
90
|
const attributeShape = attributeTypes[attributeType](usedAttributeNames, reservedNames.attributes, alreadyTakenTargetContentTypeAttributes, options);
|
|
@@ -156,27 +154,26 @@ const forms = {
|
|
|
156
154
|
contentType: {
|
|
157
155
|
schema (alreadyTakenNames, isEditing, ctUid, reservedNames, extensions, contentTypes) {
|
|
158
156
|
const singularNames = Object.values(contentTypes).map((contentType)=>{
|
|
159
|
-
return contentType.
|
|
157
|
+
return contentType.info.singularName;
|
|
160
158
|
});
|
|
161
159
|
const pluralNames = Object.values(contentTypes).map((contentType)=>{
|
|
162
|
-
return contentType?.
|
|
160
|
+
return contentType?.info?.pluralName ?? '';
|
|
163
161
|
});
|
|
164
162
|
const takenNames = isEditing ? alreadyTakenNames.filter((uid)=>uid !== ctUid) : alreadyTakenNames;
|
|
165
163
|
const takenSingularNames = isEditing ? singularNames.filter((singName)=>{
|
|
166
|
-
const {
|
|
167
|
-
return
|
|
164
|
+
const { info } = contentTypes[ctUid];
|
|
165
|
+
return info.singularName !== singName;
|
|
168
166
|
}) : singularNames;
|
|
169
167
|
const takenPluralNames = isEditing ? pluralNames.filter((pluralName)=>{
|
|
170
|
-
const {
|
|
171
|
-
return
|
|
168
|
+
const { info } = contentTypes[ctUid];
|
|
169
|
+
return info.pluralName !== pluralName;
|
|
172
170
|
}) : pluralNames;
|
|
173
171
|
// return the array of collection names not all normalized
|
|
174
172
|
const collectionNames = Object.values(contentTypes).map((contentType)=>{
|
|
175
|
-
return contentType?.
|
|
173
|
+
return contentType?.collectionName ?? '';
|
|
176
174
|
});
|
|
177
175
|
const takenCollectionNames = isEditing ? collectionNames.filter((collectionName)=>{
|
|
178
|
-
const {
|
|
179
|
-
const currentCollectionName = schema.collectionName;
|
|
176
|
+
const { collectionName: currentCollectionName } = contentTypes[ctUid];
|
|
180
177
|
return collectionName !== currentCollectionName;
|
|
181
178
|
}) : collectionNames;
|
|
182
179
|
const contentTypeShape = createContentTypeSchema({
|
|
@@ -220,7 +217,7 @@ const forms = {
|
|
|
220
217
|
schema (alreadyTakenAttributes, componentCategory, reservedNames, isEditing = false, components, componentDisplayName, compoUid = null) {
|
|
221
218
|
const takenNames = isEditing ? alreadyTakenAttributes.filter((uid)=>uid !== compoUid) : alreadyTakenAttributes;
|
|
222
219
|
const collectionNames = Object.values(components).map((component)=>{
|
|
223
|
-
return component?.
|
|
220
|
+
return component?.collectionName;
|
|
224
221
|
});
|
|
225
222
|
const currentCollectionName = createComponentCollectionName(componentDisplayName, componentCategory);
|
|
226
223
|
const takenCollectionNames = isEditing ? collectionNames.filter((collectionName)=>collectionName !== currentCollectionName) : collectionNames;
|
|
@@ -252,20 +249,6 @@ const forms = {
|
|
|
252
249
|
return dynamiczoneForm.base.default();
|
|
253
250
|
}
|
|
254
251
|
}
|
|
255
|
-
},
|
|
256
|
-
editCategory: {
|
|
257
|
-
schema (allCategories, initialData) {
|
|
258
|
-
const allowedCategories = allCategories.filter((cat)=>cat !== initialData.name).map((cat)=>cat.toLowerCase());
|
|
259
|
-
return createCategorySchema(allowedCategories);
|
|
260
|
-
},
|
|
261
|
-
form: {
|
|
262
|
-
advanced: ()=>({
|
|
263
|
-
sections: []
|
|
264
|
-
}),
|
|
265
|
-
base () {
|
|
266
|
-
return categoryForm.base;
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
252
|
}
|
|
270
253
|
};
|
|
271
254
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forms.mjs","sources":["../../../../../admin/src/components/FormModal/forms/forms.ts"],"sourcesContent":["import { getTrad } from '../../../utils';\nimport { commonBaseForm } from '../attributes/commonBaseForm';\nimport { attributesForm } from '../attributes/form';\nimport { nameField } from '../attributes/nameField';\nimport { attributeTypes } from '../attributes/types';\nimport { createCategorySchema } from '../category/createCategorySchema';\nimport { categoryForm } from '../category/form';\nimport { componentForm } from '../component/componentForm';\nimport { createComponentSchema } from '../component/createComponentSchema';\nimport { contentTypeForm } from '../contentType/contentTypeForm';\nimport { createContentTypeSchema } from '../contentType/createContentTypeSchema';\nimport { dynamiczoneForm } from '../dynamiczoneForm';\n\nimport { addItemsToFormSection, FormTypeOptions } from './utils/addItemsToFormSection';\nimport { createComponentCollectionName } from './utils/createCollectionName';\nimport { Attribute, getUsedAttributeNames, SchemaData } from './utils/getUsedAttributeNames';\n\nimport type { Internal } from '@strapi/types';\n\ntype ContentType = {\n schema: {\n singularName: string;\n pluralName: string;\n collectionName: string;\n };\n};\n\nexport type SchemaParams = {\n schemaAttributes: any;\n attributeType: keyof typeof attributeTypes;\n customFieldValidator: any;\n reservedNames: {\n attributes: Array<string>;\n };\n schemaData: any;\n ctbFormsAPI: any;\n};\n\ntype Base<TAttributesFormType extends 'base' | 'advanced'> = {\n data: any;\n type: keyof (typeof attributesForm)[TAttributesFormType];\n step: string;\n attributes: any;\n extensions: any;\n forTarget: string;\n};\n\nexport const forms = {\n customField: {\n schema({\n schemaAttributes,\n attributeType,\n customFieldValidator,\n reservedNames,\n schemaData,\n ctbFormsAPI,\n }: SchemaParams) {\n const usedAttributeNames = getUsedAttributeNames(schemaAttributes, schemaData);\n\n let attributeShape;\n if (attributeType === 'relation') {\n attributeShape = attributeTypes[attributeType](\n usedAttributeNames,\n reservedNames.attributes,\n [],\n { initialData: {}, modifiedData: {} }\n );\n } else {\n attributeShape = attributeTypes[attributeType](\n usedAttributeNames,\n reservedNames.attributes\n );\n }\n\n return ctbFormsAPI.makeCustomFieldValidator(\n attributeShape,\n customFieldValidator,\n usedAttributeNames,\n reservedNames.attributes,\n schemaData\n );\n },\n form: {\n base({ customField }: any) {\n // Default section with required name field\n const sections: FormTypeOptions = [{ sectionTitle: null, items: [nameField] }];\n\n if (customField.options?.base) {\n addItemsToFormSection(customField.options.base, sections);\n }\n\n return { sections };\n },\n advanced({ customField, data, step, extensions, ...rest }: any) {\n // Default section with no fields\n const sections: FormTypeOptions = [{ sectionTitle: null, items: [] }];\n const injectedInputs = extensions.getAdvancedForm(['attribute', customField.type], {\n data,\n type: customField.type,\n step,\n ...rest,\n });\n\n if (customField.options?.advanced) {\n addItemsToFormSection(customField.options.advanced, sections);\n }\n\n if (injectedInputs) {\n const extendedSettings = {\n sectionTitle: {\n id: getTrad('modalForm.custom-fields.advanced.settings.extended'),\n defaultMessage: 'Extended settings',\n },\n items: injectedInputs,\n };\n\n sections.push(extendedSettings);\n }\n\n return { sections };\n },\n },\n },\n attribute: {\n schema(\n currentSchema: any,\n attributeType: keyof typeof attributeTypes,\n reservedNames: {\n attributes: Array<string>;\n },\n alreadyTakenTargetContentTypeAttributes: Array<Attribute>,\n options: SchemaData,\n extensions: {\n makeValidator: any;\n }\n ) {\n // Get the attributes object on the schema\n const attributes: Array<Attribute> = currentSchema?.schema?.attributes ?? [];\n const usedAttributeNames = getUsedAttributeNames(attributes, options);\n\n try {\n const attributeShape = attributeTypes[attributeType](\n usedAttributeNames,\n reservedNames.attributes,\n alreadyTakenTargetContentTypeAttributes,\n options\n );\n\n return extensions.makeValidator(\n ['attribute', attributeType],\n attributeShape,\n usedAttributeNames,\n reservedNames.attributes,\n alreadyTakenTargetContentTypeAttributes,\n options\n );\n } catch (err) {\n console.error('Error yup build schema', err);\n\n return attributeTypes.default(usedAttributeNames, reservedNames.attributes);\n }\n },\n form: {\n advanced({ data, type, step, extensions, ...rest }: Base<'advanced'>) {\n try {\n const baseForm = attributesForm.advanced[type](data, step).sections;\n const itemsToAdd = extensions.getAdvancedForm(['attribute', type], {\n data,\n type,\n step,\n ...rest,\n });\n\n const sections = baseForm.reduce((acc: Array<any>, current: any) => {\n if (current.sectionTitle === null) {\n acc.push(current);\n } else {\n acc.push({ ...current, items: [...current.items, ...itemsToAdd] });\n }\n\n return acc;\n }, []);\n // IF we want a dedicated section for the plugins\n // const sections = [\n // ...baseForm,\n // {\n // sectionTitle: { id: 'Zone pour plugins', defaultMessage: 'Zone pour plugins' },\n // items: itemsToAdd,\n // },\n // ];\n\n return { sections };\n } catch (err) {\n console.error(err);\n\n return { sections: [] };\n }\n },\n base({ data, type, step, attributes }: Base<'base'>) {\n try {\n return attributesForm.base[type](data, step, attributes);\n } catch (err) {\n return commonBaseForm;\n }\n },\n },\n },\n contentType: {\n schema(\n alreadyTakenNames: Array<string>,\n isEditing: boolean,\n ctUid: Internal.UID.ContentType,\n reservedNames: {\n models: any;\n },\n extensions: any,\n contentTypes: Record<string, ContentType>\n ) {\n const singularNames = Object.values(contentTypes).map((contentType) => {\n return contentType.schema.singularName;\n });\n\n const pluralNames = Object.values(contentTypes).map((contentType: any) => {\n return contentType?.schema?.pluralName ?? '';\n });\n\n const takenNames = isEditing\n ? alreadyTakenNames.filter((uid) => uid !== ctUid)\n : alreadyTakenNames;\n\n const takenSingularNames = isEditing\n ? singularNames.filter((singName) => {\n const { schema } = contentTypes[ctUid];\n\n return schema.singularName !== singName;\n })\n : singularNames;\n\n const takenPluralNames = isEditing\n ? pluralNames.filter((pluralName) => {\n const { schema } = contentTypes[ctUid];\n\n return schema.pluralName !== pluralName;\n })\n : pluralNames;\n\n // return the array of collection names not all normalized\n const collectionNames = Object.values(contentTypes).map((contentType) => {\n return contentType?.schema?.collectionName ?? '';\n });\n\n const takenCollectionNames = isEditing\n ? collectionNames.filter((collectionName) => {\n const { schema } = contentTypes[ctUid];\n const currentCollectionName = schema.collectionName;\n\n return collectionName !== currentCollectionName;\n })\n : collectionNames;\n\n const contentTypeShape = createContentTypeSchema({\n usedContentTypeNames: takenNames,\n reservedModels: reservedNames.models,\n singularNames: takenSingularNames,\n pluralNames: takenPluralNames,\n collectionNames: takenCollectionNames,\n });\n\n // FIXME\n return extensions.makeValidator(\n ['contentType'],\n contentTypeShape,\n takenNames,\n reservedNames.models,\n takenSingularNames,\n takenPluralNames\n );\n },\n form: {\n base({ actionType }: any) {\n if (actionType === 'create') {\n return contentTypeForm.base.create();\n }\n\n return contentTypeForm.base.edit();\n },\n advanced({ extensions }: any) {\n const baseForm = contentTypeForm.advanced\n .default()\n .sections.map((section) => section.items)\n .flat();\n const itemsToAdd = extensions.getAdvancedForm(['contentType']);\n\n return {\n sections: [\n {\n items: [...baseForm, ...itemsToAdd],\n },\n ],\n };\n },\n },\n },\n component: {\n schema(\n alreadyTakenAttributes: Array<Internal.UID.Component>,\n componentCategory: string,\n reservedNames: {\n models: any;\n },\n isEditing = false,\n components: Record<string, any>,\n componentDisplayName: string,\n compoUid: Internal.UID.Component | null = null\n ) {\n const takenNames = isEditing\n ? alreadyTakenAttributes.filter((uid: Internal.UID.Component) => uid !== compoUid)\n : alreadyTakenAttributes;\n const collectionNames = Object.values(components).map((component: any) => {\n return component?.schema?.collectionName;\n });\n\n const currentCollectionName = createComponentCollectionName(\n componentDisplayName,\n componentCategory\n );\n\n const takenCollectionNames = isEditing\n ? collectionNames.filter((collectionName) => collectionName !== currentCollectionName)\n : collectionNames;\n\n return createComponentSchema(\n takenNames,\n reservedNames.models,\n componentCategory,\n takenCollectionNames,\n currentCollectionName\n );\n },\n form: {\n advanced() {\n return {\n sections: componentForm.advanced(),\n };\n },\n base() {\n return {\n sections: componentForm.base(),\n };\n },\n },\n },\n addComponentToDynamicZone: {\n form: {\n advanced() {\n return dynamiczoneForm.advanced.default();\n },\n base({ data }: any) {\n const isCreatingComponent = data?.createComponent ?? false;\n\n if (isCreatingComponent) {\n return dynamiczoneForm.base.createComponent();\n }\n\n return dynamiczoneForm.base.default();\n },\n },\n },\n editCategory: {\n schema(allCategories: Array<any>, initialData: any) {\n const allowedCategories = allCategories\n .filter((cat) => cat !== initialData.name)\n .map((cat) => cat.toLowerCase());\n\n return createCategorySchema(allowedCategories);\n },\n form: {\n advanced: () => ({ sections: [] }),\n base() {\n return categoryForm.base;\n },\n },\n },\n};\n"],"names":["forms","customField","schema","schemaAttributes","attributeType","customFieldValidator","reservedNames","schemaData","ctbFormsAPI","usedAttributeNames","getUsedAttributeNames","attributeShape","attributeTypes","attributes","initialData","modifiedData","makeCustomFieldValidator","form","base","sections","sectionTitle","items","nameField","options","addItemsToFormSection","advanced","data","step","extensions","rest","injectedInputs","getAdvancedForm","type","extendedSettings","id","getTrad","defaultMessage","push","attribute","currentSchema","alreadyTakenTargetContentTypeAttributes","makeValidator","err","console","error","default","baseForm","attributesForm","itemsToAdd","reduce","acc","current","commonBaseForm","contentType","alreadyTakenNames","isEditing","ctUid","contentTypes","singularNames","Object","values","map","singularName","pluralNames","pluralName","takenNames","filter","uid","takenSingularNames","singName","takenPluralNames","collectionNames","collectionName","takenCollectionNames","currentCollectionName","contentTypeShape","createContentTypeSchema","usedContentTypeNames","reservedModels","models","actionType","contentTypeForm","create","edit","section","flat","component","alreadyTakenAttributes","componentCategory","components","componentDisplayName","compoUid","createComponentCollectionName","createComponentSchema","componentForm","addComponentToDynamicZone","dynamiczoneForm","isCreatingComponent","createComponent","editCategory","allCategories","allowedCategories","cat","name","toLowerCase","createCategorySchema","categoryForm"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"forms.mjs","sources":["../../../../../admin/src/components/FormModal/forms/forms.ts"],"sourcesContent":["import { getTrad } from '../../../utils';\nimport { commonBaseForm } from '../attributes/commonBaseForm';\nimport { attributesForm } from '../attributes/form';\nimport { nameField } from '../attributes/nameField';\nimport { attributeTypes } from '../attributes/types';\nimport { componentForm } from '../component/componentForm';\nimport { createComponentSchema } from '../component/createComponentSchema';\nimport { contentTypeForm } from '../contentType/contentTypeForm';\nimport { createContentTypeSchema } from '../contentType/createContentTypeSchema';\nimport { dynamiczoneForm } from '../dynamiczoneForm';\n\nimport { addItemsToFormSection, FormTypeOptions } from './utils/addItemsToFormSection';\nimport { createComponentCollectionName } from './utils/createCollectionName';\nimport { Attribute, getUsedAttributeNames, SchemaData } from './utils/getUsedAttributeNames';\n\nimport type { ContentType } from '../../../types';\nimport type { Internal } from '@strapi/types';\n\nexport type SchemaParams = {\n schemaAttributes: any;\n attributeType: keyof typeof attributeTypes;\n customFieldValidator: any;\n reservedNames: {\n attributes: Array<string>;\n };\n schemaData: any;\n ctbFormsAPI: any;\n};\n\ntype Base<TAttributesFormType extends 'base' | 'advanced'> = {\n data: any;\n type: keyof (typeof attributesForm)[TAttributesFormType];\n step: string;\n attributes: any;\n extensions: any;\n forTarget: string;\n};\n\nexport const forms = {\n customField: {\n schema({\n schemaAttributes,\n attributeType,\n customFieldValidator,\n reservedNames,\n schemaData,\n ctbFormsAPI,\n }: SchemaParams) {\n const usedAttributeNames = getUsedAttributeNames(schemaAttributes, schemaData);\n\n let attributeShape;\n if (attributeType === 'relation') {\n attributeShape = attributeTypes[attributeType](\n usedAttributeNames,\n reservedNames.attributes,\n [],\n { initialData: {}, modifiedData: {} }\n );\n } else {\n attributeShape = attributeTypes[attributeType](\n usedAttributeNames,\n reservedNames.attributes\n );\n }\n\n return ctbFormsAPI.makeCustomFieldValidator(\n attributeShape,\n customFieldValidator,\n usedAttributeNames,\n reservedNames.attributes,\n schemaData\n );\n },\n form: {\n base({ customField }: any) {\n // Default section with required name field\n const sections: FormTypeOptions = [{ sectionTitle: null, items: [nameField] }];\n\n if (customField.options?.base) {\n addItemsToFormSection(customField.options.base, sections);\n }\n\n return { sections };\n },\n advanced({ customField, data, step, extensions, ...rest }: any) {\n // Default section with no fields\n const sections: FormTypeOptions = [{ sectionTitle: null, items: [] }];\n const injectedInputs = extensions.getAdvancedForm(['attribute', customField.type], {\n data,\n type: customField.type,\n step,\n ...rest,\n });\n\n if (customField.options?.advanced) {\n addItemsToFormSection(customField.options.advanced, sections);\n }\n\n if (injectedInputs) {\n const extendedSettings = {\n sectionTitle: {\n id: getTrad('modalForm.custom-fields.advanced.settings.extended'),\n defaultMessage: 'Extended settings',\n },\n items: injectedInputs,\n };\n\n sections.push(extendedSettings);\n }\n\n return { sections };\n },\n },\n },\n attribute: {\n schema(\n currentSchema: any,\n attributeType: keyof typeof attributeTypes,\n reservedNames: {\n attributes: Array<string>;\n },\n alreadyTakenTargetContentTypeAttributes: Array<Attribute>,\n options: SchemaData,\n extensions: {\n makeValidator: any;\n }\n ) {\n // Get the attributes object on the schema\n const attributes: Array<Attribute> = currentSchema?.attributes ?? [];\n const usedAttributeNames = getUsedAttributeNames(attributes, options);\n\n try {\n const attributeShape = attributeTypes[attributeType](\n usedAttributeNames,\n reservedNames.attributes,\n alreadyTakenTargetContentTypeAttributes,\n options\n );\n\n return extensions.makeValidator(\n ['attribute', attributeType],\n attributeShape,\n usedAttributeNames,\n reservedNames.attributes,\n alreadyTakenTargetContentTypeAttributes,\n options\n );\n } catch (err) {\n console.error('Error yup build schema', err);\n\n return attributeTypes.default(usedAttributeNames, reservedNames.attributes);\n }\n },\n form: {\n advanced({ data, type, step, extensions, ...rest }: Base<'advanced'>) {\n try {\n const baseForm = attributesForm.advanced[type](data, step).sections;\n const itemsToAdd = extensions.getAdvancedForm(['attribute', type], {\n data,\n type,\n step,\n ...rest,\n });\n\n const sections = baseForm.reduce((acc: Array<any>, current: any) => {\n if (current.sectionTitle === null) {\n acc.push(current);\n } else {\n acc.push({ ...current, items: [...current.items, ...itemsToAdd] });\n }\n\n return acc;\n }, []);\n // IF we want a dedicated section for the plugins\n // const sections = [\n // ...baseForm,\n // {\n // sectionTitle: { id: 'Zone pour plugins', defaultMessage: 'Zone pour plugins' },\n // items: itemsToAdd,\n // },\n // ];\n\n return { sections };\n } catch (err) {\n console.error(err);\n\n return { sections: [] };\n }\n },\n base({ data, type, step, attributes }: Base<'base'>) {\n try {\n return attributesForm.base[type](data, step, attributes);\n } catch (err) {\n return commonBaseForm;\n }\n },\n },\n },\n contentType: {\n schema(\n alreadyTakenNames: Array<string>,\n isEditing: boolean,\n ctUid: Internal.UID.ContentType,\n reservedNames: {\n models: any;\n },\n extensions: any,\n contentTypes: Record<Internal.UID.ContentType, ContentType>\n ) {\n const singularNames = Object.values(contentTypes).map((contentType) => {\n return contentType.info.singularName;\n });\n\n const pluralNames = Object.values(contentTypes).map((contentType: any) => {\n return contentType?.info?.pluralName ?? '';\n });\n\n const takenNames = isEditing\n ? alreadyTakenNames.filter((uid) => uid !== ctUid)\n : alreadyTakenNames;\n\n const takenSingularNames = isEditing\n ? singularNames.filter((singName) => {\n const { info } = contentTypes[ctUid];\n\n return info.singularName !== singName;\n })\n : singularNames;\n\n const takenPluralNames = isEditing\n ? pluralNames.filter((pluralName) => {\n const { info } = contentTypes[ctUid];\n\n return info.pluralName !== pluralName;\n })\n : pluralNames;\n\n // return the array of collection names not all normalized\n const collectionNames = Object.values(contentTypes).map((contentType) => {\n return contentType?.collectionName ?? '';\n });\n\n const takenCollectionNames = isEditing\n ? collectionNames.filter((collectionName) => {\n const { collectionName: currentCollectionName } = contentTypes[ctUid];\n\n return collectionName !== currentCollectionName;\n })\n : collectionNames;\n\n const contentTypeShape = createContentTypeSchema({\n usedContentTypeNames: takenNames,\n reservedModels: reservedNames.models,\n singularNames: takenSingularNames,\n pluralNames: takenPluralNames,\n collectionNames: takenCollectionNames,\n });\n\n // FIXME\n return extensions.makeValidator(\n ['contentType'],\n contentTypeShape,\n takenNames,\n reservedNames.models,\n takenSingularNames,\n takenPluralNames\n );\n },\n form: {\n base({ actionType }: any) {\n if (actionType === 'create') {\n return contentTypeForm.base.create();\n }\n\n return contentTypeForm.base.edit();\n },\n advanced({ extensions }: any) {\n const baseForm = contentTypeForm.advanced\n .default()\n .sections.map((section) => section.items)\n .flat();\n const itemsToAdd = extensions.getAdvancedForm(['contentType']);\n\n return {\n sections: [\n {\n items: [...baseForm, ...itemsToAdd],\n },\n ],\n };\n },\n },\n },\n component: {\n schema(\n alreadyTakenAttributes: Array<Internal.UID.Component>,\n componentCategory: string,\n reservedNames: {\n models: any;\n },\n isEditing = false,\n components: Record<string, any>,\n componentDisplayName: string,\n compoUid: Internal.UID.Component | null = null\n ) {\n const takenNames = isEditing\n ? alreadyTakenAttributes.filter((uid: Internal.UID.Component) => uid !== compoUid)\n : alreadyTakenAttributes;\n const collectionNames = Object.values(components).map((component: any) => {\n return component?.collectionName;\n });\n\n const currentCollectionName = createComponentCollectionName(\n componentDisplayName,\n componentCategory\n );\n\n const takenCollectionNames = isEditing\n ? collectionNames.filter((collectionName) => collectionName !== currentCollectionName)\n : collectionNames;\n\n return createComponentSchema(\n takenNames,\n reservedNames.models,\n componentCategory,\n takenCollectionNames,\n currentCollectionName\n );\n },\n form: {\n advanced() {\n return {\n sections: componentForm.advanced(),\n };\n },\n base() {\n return {\n sections: componentForm.base(),\n };\n },\n },\n },\n addComponentToDynamicZone: {\n form: {\n advanced() {\n return dynamiczoneForm.advanced.default();\n },\n base({ data }: any) {\n const isCreatingComponent = data?.createComponent ?? false;\n\n if (isCreatingComponent) {\n return dynamiczoneForm.base.createComponent();\n }\n\n return dynamiczoneForm.base.default();\n },\n },\n },\n};\n"],"names":["forms","customField","schema","schemaAttributes","attributeType","customFieldValidator","reservedNames","schemaData","ctbFormsAPI","usedAttributeNames","getUsedAttributeNames","attributeShape","attributeTypes","attributes","initialData","modifiedData","makeCustomFieldValidator","form","base","sections","sectionTitle","items","nameField","options","addItemsToFormSection","advanced","data","step","extensions","rest","injectedInputs","getAdvancedForm","type","extendedSettings","id","getTrad","defaultMessage","push","attribute","currentSchema","alreadyTakenTargetContentTypeAttributes","makeValidator","err","console","error","default","baseForm","attributesForm","itemsToAdd","reduce","acc","current","commonBaseForm","contentType","alreadyTakenNames","isEditing","ctUid","contentTypes","singularNames","Object","values","map","info","singularName","pluralNames","pluralName","takenNames","filter","uid","takenSingularNames","singName","takenPluralNames","collectionNames","collectionName","takenCollectionNames","currentCollectionName","contentTypeShape","createContentTypeSchema","usedContentTypeNames","reservedModels","models","actionType","contentTypeForm","create","edit","section","flat","component","alreadyTakenAttributes","componentCategory","components","componentDisplayName","compoUid","createComponentCollectionName","createComponentSchema","componentForm","addComponentToDynamicZone","dynamiczoneForm","isCreatingComponent","createComponent"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUsedAttributeNames.js","sources":["../../../../../../admin/src/components/FormModal/forms/utils/getUsedAttributeNames.ts"],"sourcesContent":["export type SchemaData = {\n initialData: {\n name
|
|
1
|
+
{"version":3,"file":"getUsedAttributeNames.js","sources":["../../../../../../admin/src/components/FormModal/forms/utils/getUsedAttributeNames.ts"],"sourcesContent":["export type SchemaData = {\n initialData: {\n name?: string;\n targetAttribute?: any;\n [key: string]: unknown;\n };\n modifiedData: object;\n};\n\nexport type Attribute = {\n name: string;\n};\n\nexport const getUsedAttributeNames = (\n attributes: Array<Attribute>,\n schemaData: SchemaData\n): Array<string> => {\n return attributes\n .filter(({ name }) => {\n return name !== schemaData.initialData.name;\n })\n .map(({ name }) => name);\n};\n"],"names":["getUsedAttributeNames","attributes","schemaData","filter","name","initialData","map"],"mappings":";;AAaO,MAAMA,qBAAwB,GAAA,CACnCC,UACAC,EAAAA,UAAAA,GAAAA;AAEA,IAAA,OAAOD,WACJE,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAA;AACf,QAAA,OAAOA,IAASF,KAAAA,UAAAA,CAAWG,WAAW,CAACD,IAAI;AAC7C,KAAA,CAAA,CACCE,GAAG,CAAC,CAAC,EAAEF,IAAI,EAAE,GAAKA,IAAAA,CAAAA;AACvB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUsedAttributeNames.mjs","sources":["../../../../../../admin/src/components/FormModal/forms/utils/getUsedAttributeNames.ts"],"sourcesContent":["export type SchemaData = {\n initialData: {\n name
|
|
1
|
+
{"version":3,"file":"getUsedAttributeNames.mjs","sources":["../../../../../../admin/src/components/FormModal/forms/utils/getUsedAttributeNames.ts"],"sourcesContent":["export type SchemaData = {\n initialData: {\n name?: string;\n targetAttribute?: any;\n [key: string]: unknown;\n };\n modifiedData: object;\n};\n\nexport type Attribute = {\n name: string;\n};\n\nexport const getUsedAttributeNames = (\n attributes: Array<Attribute>,\n schemaData: SchemaData\n): Array<string> => {\n return attributes\n .filter(({ name }) => {\n return name !== schemaData.initialData.name;\n })\n .map(({ name }) => name);\n};\n"],"names":["getUsedAttributeNames","attributes","schemaData","filter","name","initialData","map"],"mappings":"AAaO,MAAMA,qBAAwB,GAAA,CACnCC,UACAC,EAAAA,UAAAA,GAAAA;AAEA,IAAA,OAAOD,WACJE,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAA;AACf,QAAA,OAAOA,IAASF,KAAAA,UAAAA,CAAWG,WAAW,CAACD,IAAI;AAC7C,KAAA,CAAA,CACCE,GAAG,CAAC,CAAC,EAAEF,IAAI,EAAE,GAAKA,IAAAA,CAAAA;AACvB;;;;"}
|
|
@@ -215,7 +215,7 @@ const slice = toolkit.createSlice({
|
|
|
215
215
|
},
|
|
216
216
|
setAttributeDataSchema: (state, action)=>{
|
|
217
217
|
const { isEditing } = action.payload;
|
|
218
|
-
if (isEditing) {
|
|
218
|
+
if (isEditing === true) {
|
|
219
219
|
const { modifiedDataToSetForEditing } = action.payload;
|
|
220
220
|
state.modifiedData = modifiedDataToSetForEditing;
|
|
221
221
|
state.initialData = modifiedDataToSetForEditing;
|
|
@@ -288,14 +288,14 @@ const slice = toolkit.createSlice({
|
|
|
288
288
|
state.modifiedData = dataToSet;
|
|
289
289
|
},
|
|
290
290
|
setCustomFieldDataSchema: (state, action)=>{
|
|
291
|
-
const {
|
|
292
|
-
if (isEditing) {
|
|
291
|
+
const { payload } = action;
|
|
292
|
+
if (payload.isEditing === true) {
|
|
293
293
|
const { modifiedDataToSetForEditing } = action.payload;
|
|
294
294
|
state.modifiedData = modifiedDataToSetForEditing;
|
|
295
295
|
state.initialData = modifiedDataToSetForEditing;
|
|
296
296
|
return;
|
|
297
297
|
}
|
|
298
|
-
const { customField, options = {} } =
|
|
298
|
+
const { customField, options = {} } = payload;
|
|
299
299
|
state.modifiedData = {
|
|
300
300
|
...options,
|
|
301
301
|
type: customField.type
|