@strapi/content-type-builder 5.13.1 → 5.15.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 +81514 -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 +14 -9
- 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,520 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var React = require('react');
|
|
5
|
-
var strapiAdmin = require('@strapi/admin/strapi-admin');
|
|
6
|
-
var get = require('lodash/get');
|
|
7
|
-
var groupBy = require('lodash/groupBy');
|
|
8
|
-
var set = require('lodash/set');
|
|
9
|
-
var size = require('lodash/size');
|
|
10
|
-
var reactIntl = require('react-intl');
|
|
11
|
-
var reactRedux = require('react-redux');
|
|
12
|
-
var reactRouterDom = require('react-router-dom');
|
|
13
|
-
var DataManagerContext = require('../../contexts/DataManagerContext.js');
|
|
14
|
-
var useFormModalNavigation = require('../../hooks/useFormModalNavigation.js');
|
|
15
|
-
var pluginId = require('../../pluginId.js');
|
|
16
|
-
var getTrad = require('../../utils/getTrad.js');
|
|
17
|
-
var AutoReloadOverlayBlocker = require('../AutoReloadOverlayBlocker.js');
|
|
18
|
-
var FormModal = require('../FormModal/FormModal.js');
|
|
19
|
-
var reducer = require('./reducer.js');
|
|
20
|
-
var selectors = require('./selectors.js');
|
|
21
|
-
var cleanData = require('./utils/cleanData.js');
|
|
22
|
-
var createDataObject = require('./utils/createDataObject.js');
|
|
23
|
-
var createModifiedDataSchema = require('./utils/createModifiedDataSchema.js');
|
|
24
|
-
var formatSchemas = require('./utils/formatSchemas.js');
|
|
25
|
-
var retrieveComponentsFromSchema = require('./utils/retrieveComponentsFromSchema.js');
|
|
26
|
-
var retrieveComponentsThatHaveComponents = require('./utils/retrieveComponentsThatHaveComponents.js');
|
|
27
|
-
var retrieveNestedComponents = require('./utils/retrieveNestedComponents.js');
|
|
28
|
-
var retrieveSpecificInfoFromComponents = require('./utils/retrieveSpecificInfoFromComponents.js');
|
|
29
|
-
var serverRestartWatcher = require('./utils/serverRestartWatcher.js');
|
|
30
|
-
var validateSchema = require('./utils/validateSchema.js');
|
|
31
|
-
|
|
32
|
-
const DataManagerProvider = ({ children })=>{
|
|
33
|
-
const dispatch = reactRedux.useDispatch();
|
|
34
|
-
// refactor
|
|
35
|
-
const { components, contentTypes, isLoading, initialData, modifiedData, reservedNames } = reactRedux.useSelector(selectors.makeSelectDataManagerProvider());
|
|
36
|
-
const { toggleNotification } = strapiAdmin.useNotification();
|
|
37
|
-
const { lockAppWithAutoreload, unlockAppWithAutoreload } = AutoReloadOverlayBlocker.useAutoReloadOverlayBlocker();
|
|
38
|
-
const { setCurrentStep, setStepState } = strapiAdmin.useGuidedTour('DataManagerProvider', (state)=>state);
|
|
39
|
-
const getPlugin = strapiAdmin.useStrapiApp('DataManagerProvider', (state)=>state.getPlugin);
|
|
40
|
-
const plugin = getPlugin(pluginId.pluginId);
|
|
41
|
-
const autoReload = strapiAdmin.useAppInfo('DataManagerProvider', (state)=>state.autoReload);
|
|
42
|
-
const { formatMessage } = reactIntl.useIntl();
|
|
43
|
-
const { trackUsage } = strapiAdmin.useTracking();
|
|
44
|
-
const refetchPermissions = strapiAdmin.useAuth('DataManagerProvider', (state)=>state.refetchPermissions);
|
|
45
|
-
const { pathname } = reactRouterDom.useLocation();
|
|
46
|
-
const { onCloseModal } = useFormModalNavigation.useFormModalNavigation();
|
|
47
|
-
const contentTypeMatch = reactRouterDom.useMatch(`/plugins/${pluginId.pluginId}/content-types/:uid`);
|
|
48
|
-
const componentMatch = reactRouterDom.useMatch(`/plugins/${pluginId.pluginId}/component-categories/:categoryUid/:componentUid`);
|
|
49
|
-
const fetchClient = strapiAdmin.useFetchClient();
|
|
50
|
-
const { put, post, del } = fetchClient;
|
|
51
|
-
const isInDevelopmentMode = autoReload;
|
|
52
|
-
const isInContentTypeView = contentTypeMatch !== null;
|
|
53
|
-
const firstKeyToMainSchema = isInContentTypeView ? 'contentType' : 'component';
|
|
54
|
-
const currentUid = isInContentTypeView ? get(contentTypeMatch, 'params.uid', null) : get(componentMatch, 'params.componentUid', null);
|
|
55
|
-
const getDataRef = React.useRef();
|
|
56
|
-
const endPoint = isInContentTypeView ? 'content-types' : 'components';
|
|
57
|
-
getDataRef.current = async ()=>{
|
|
58
|
-
try {
|
|
59
|
-
const [componentsResponse, contentTypesResponse, reservedNamesResponse] = await Promise.all([
|
|
60
|
-
fetchClient.get(`/content-type-builder/components`),
|
|
61
|
-
fetchClient.get(`/content-type-builder/content-types`),
|
|
62
|
-
fetchClient.get(`/content-type-builder/reserved-names`)
|
|
63
|
-
]);
|
|
64
|
-
const components = createDataObject.createDataObject(componentsResponse.data.data);
|
|
65
|
-
const formattedComponents = formatSchemas.formatSchemas(components);
|
|
66
|
-
const contentTypes = createDataObject.createDataObject(contentTypesResponse.data.data);
|
|
67
|
-
const formattedContentTypes = formatSchemas.formatSchemas(contentTypes);
|
|
68
|
-
dispatch(reducer.actions.init({
|
|
69
|
-
components: formattedComponents,
|
|
70
|
-
contentTypes: formattedContentTypes,
|
|
71
|
-
reservedNames: reservedNamesResponse.data
|
|
72
|
-
}));
|
|
73
|
-
} catch (err) {
|
|
74
|
-
console.error({
|
|
75
|
-
err
|
|
76
|
-
});
|
|
77
|
-
toggleNotification({
|
|
78
|
-
type: 'danger',
|
|
79
|
-
message: formatMessage({
|
|
80
|
-
id: 'notification.error',
|
|
81
|
-
defaultMessage: 'An error occurred'
|
|
82
|
-
})
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
React.useEffect(()=>{
|
|
87
|
-
getDataRef.current();
|
|
88
|
-
return ()=>{
|
|
89
|
-
// Reload the plugin so the cycle is new again
|
|
90
|
-
dispatch(reducer.actions.reloadPlugin());
|
|
91
|
-
};
|
|
92
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
93
|
-
}, []);
|
|
94
|
-
React.useEffect(()=>{
|
|
95
|
-
// We need to set the modifiedData after the data has been retrieved
|
|
96
|
-
// and also on pathname change
|
|
97
|
-
if (!isLoading && currentUid) {
|
|
98
|
-
setModifiedData();
|
|
99
|
-
}
|
|
100
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
101
|
-
}, [
|
|
102
|
-
isLoading,
|
|
103
|
-
pathname,
|
|
104
|
-
currentUid
|
|
105
|
-
]);
|
|
106
|
-
React.useEffect(()=>{
|
|
107
|
-
if (!autoReload) {
|
|
108
|
-
toggleNotification({
|
|
109
|
-
type: 'info',
|
|
110
|
-
message: formatMessage({
|
|
111
|
-
id: getTrad.getTrad('notification.info.autoreaload-disable')
|
|
112
|
-
})
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
}, [
|
|
116
|
-
autoReload,
|
|
117
|
-
toggleNotification,
|
|
118
|
-
formatMessage
|
|
119
|
-
]);
|
|
120
|
-
const addAttribute = (attributeToSet, forTarget, targetUid, isEditing = false, initialAttribute, shouldAddComponentToData = false)=>{
|
|
121
|
-
if (isEditing) {
|
|
122
|
-
const payload = {
|
|
123
|
-
attributeToSet,
|
|
124
|
-
forTarget,
|
|
125
|
-
targetUid,
|
|
126
|
-
// NOTE: using ! here to avoid changing the code logic before bigger refactorings
|
|
127
|
-
initialAttribute: initialAttribute,
|
|
128
|
-
shouldAddComponentToData
|
|
129
|
-
};
|
|
130
|
-
dispatch(reducer.actions.editAttribute(payload));
|
|
131
|
-
} else {
|
|
132
|
-
const payload = {
|
|
133
|
-
attributeToSet,
|
|
134
|
-
forTarget,
|
|
135
|
-
targetUid,
|
|
136
|
-
shouldAddComponentToData
|
|
137
|
-
};
|
|
138
|
-
dispatch(reducer.actions.addAttribute(payload));
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
const addCustomFieldAttribute = ({ attributeToSet, forTarget, targetUid })=>{
|
|
142
|
-
dispatch(reducer.actions.addCustomFieldAttribute({
|
|
143
|
-
attributeToSet,
|
|
144
|
-
forTarget,
|
|
145
|
-
targetUid
|
|
146
|
-
}));
|
|
147
|
-
};
|
|
148
|
-
const editCustomFieldAttribute = ({ attributeToSet, forTarget, targetUid, initialAttribute })=>{
|
|
149
|
-
dispatch(reducer.actions.editCustomFieldAttribute({
|
|
150
|
-
attributeToSet,
|
|
151
|
-
forTarget,
|
|
152
|
-
targetUid,
|
|
153
|
-
initialAttribute
|
|
154
|
-
}));
|
|
155
|
-
};
|
|
156
|
-
const addCreatedComponentToDynamicZone = (dynamicZoneTarget, componentsToAdd)=>{
|
|
157
|
-
dispatch(reducer.actions.addCreatedComponentToDynamicZone({
|
|
158
|
-
dynamicZoneTarget,
|
|
159
|
-
componentsToAdd
|
|
160
|
-
}));
|
|
161
|
-
};
|
|
162
|
-
const createSchema = (data, schemaType, uid, componentCategory, shouldAddComponentToData = false)=>{
|
|
163
|
-
if (schemaType === 'contentType') {
|
|
164
|
-
const payload = {
|
|
165
|
-
data,
|
|
166
|
-
uid
|
|
167
|
-
};
|
|
168
|
-
dispatch(reducer.actions.createSchema(payload));
|
|
169
|
-
} else {
|
|
170
|
-
const payload = {
|
|
171
|
-
data,
|
|
172
|
-
uid,
|
|
173
|
-
componentCategory: componentCategory,
|
|
174
|
-
shouldAddComponentToData
|
|
175
|
-
};
|
|
176
|
-
dispatch(reducer.actions.createComponentSchema(payload));
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
const changeDynamicZoneComponents = (dynamicZoneTarget, newComponents)=>{
|
|
180
|
-
dispatch(reducer.actions.changeDynamicZoneComponents({
|
|
181
|
-
dynamicZoneTarget,
|
|
182
|
-
newComponents
|
|
183
|
-
}));
|
|
184
|
-
};
|
|
185
|
-
const removeAttribute = (mainDataKey, attributeToRemoveName, componentUid = '')=>{
|
|
186
|
-
if (mainDataKey === 'components') {
|
|
187
|
-
dispatch(reducer.actions.removeFieldFromDisplayedComponent({
|
|
188
|
-
attributeToRemoveName,
|
|
189
|
-
componentUid
|
|
190
|
-
}));
|
|
191
|
-
} else {
|
|
192
|
-
if (mainDataKey === 'contentType') {
|
|
193
|
-
trackUsage('willDeleteFieldOfContentType');
|
|
194
|
-
}
|
|
195
|
-
dispatch(reducer.actions.removeField({
|
|
196
|
-
mainDataKey,
|
|
197
|
-
attributeToRemoveName
|
|
198
|
-
}));
|
|
199
|
-
}
|
|
200
|
-
};
|
|
201
|
-
const deleteCategory = async (categoryUid)=>{
|
|
202
|
-
try {
|
|
203
|
-
const requestURL = `/${pluginId.pluginId}/component-categories/${categoryUid}`;
|
|
204
|
-
// eslint-disable-next-line no-alert
|
|
205
|
-
const userConfirm = window.confirm(formatMessage({
|
|
206
|
-
id: getTrad.getTrad('popUpWarning.bodyMessage.category.delete')
|
|
207
|
-
}));
|
|
208
|
-
// Close the modal
|
|
209
|
-
onCloseModal();
|
|
210
|
-
if (userConfirm) {
|
|
211
|
-
lockAppWithAutoreload?.();
|
|
212
|
-
await del(requestURL);
|
|
213
|
-
// Make sure the server has restarted
|
|
214
|
-
await serverRestartWatcher.serverRestartWatcher(true);
|
|
215
|
-
// Unlock the app
|
|
216
|
-
unlockAppWithAutoreload?.();
|
|
217
|
-
await updatePermissions();
|
|
218
|
-
}
|
|
219
|
-
} catch (err) {
|
|
220
|
-
console.error({
|
|
221
|
-
err
|
|
222
|
-
});
|
|
223
|
-
toggleNotification({
|
|
224
|
-
type: 'danger',
|
|
225
|
-
message: formatMessage({
|
|
226
|
-
id: 'notification.error',
|
|
227
|
-
defaultMessage: 'An error occurred'
|
|
228
|
-
})
|
|
229
|
-
});
|
|
230
|
-
} finally{
|
|
231
|
-
unlockAppWithAutoreload?.();
|
|
232
|
-
}
|
|
233
|
-
};
|
|
234
|
-
const deleteData = async ()=>{
|
|
235
|
-
try {
|
|
236
|
-
const requestURL = `/${pluginId.pluginId}/${endPoint}/${currentUid}`;
|
|
237
|
-
const isTemporary = get(modifiedData, [
|
|
238
|
-
firstKeyToMainSchema,
|
|
239
|
-
'isTemporary'
|
|
240
|
-
], false);
|
|
241
|
-
// eslint-disable-next-line no-alert
|
|
242
|
-
const userConfirm = window.confirm(formatMessage({
|
|
243
|
-
id: getTrad.getTrad(`popUpWarning.bodyMessage.${isInContentTypeView ? 'contentType' : 'component'}.delete`)
|
|
244
|
-
}));
|
|
245
|
-
// Close the modal
|
|
246
|
-
onCloseModal();
|
|
247
|
-
if (userConfirm) {
|
|
248
|
-
if (isTemporary) {
|
|
249
|
-
// Delete the not saved type
|
|
250
|
-
// Here we just need to reset the components to the initial ones and also the content types
|
|
251
|
-
// Doing so will trigging a url change since the type doesn't exist in either the contentTypes or the components
|
|
252
|
-
// so the modified and the initial data will also be reset in the useEffect...
|
|
253
|
-
dispatch(reducer.actions.deleteNotSavedType());
|
|
254
|
-
return;
|
|
255
|
-
}
|
|
256
|
-
lockAppWithAutoreload?.();
|
|
257
|
-
await del(requestURL);
|
|
258
|
-
// Make sure the server has restarted
|
|
259
|
-
await serverRestartWatcher.serverRestartWatcher(true);
|
|
260
|
-
// Unlock the app
|
|
261
|
-
await unlockAppWithAutoreload?.();
|
|
262
|
-
await getDataRef.current();
|
|
263
|
-
// Refetch the permissions
|
|
264
|
-
await updatePermissions();
|
|
265
|
-
}
|
|
266
|
-
} catch (err) {
|
|
267
|
-
console.error({
|
|
268
|
-
err
|
|
269
|
-
});
|
|
270
|
-
toggleNotification({
|
|
271
|
-
type: 'danger',
|
|
272
|
-
message: formatMessage({
|
|
273
|
-
id: 'notification.error',
|
|
274
|
-
defaultMessage: 'An error occurred'
|
|
275
|
-
})
|
|
276
|
-
});
|
|
277
|
-
} finally{
|
|
278
|
-
unlockAppWithAutoreload?.();
|
|
279
|
-
}
|
|
280
|
-
};
|
|
281
|
-
const editCategory = async (categoryUid, body)=>{
|
|
282
|
-
try {
|
|
283
|
-
const requestURL = `/${pluginId.pluginId}/component-categories/${categoryUid}`;
|
|
284
|
-
// Close the modal
|
|
285
|
-
onCloseModal();
|
|
286
|
-
// Lock the app
|
|
287
|
-
lockAppWithAutoreload?.();
|
|
288
|
-
// Update the category
|
|
289
|
-
await put(requestURL, body);
|
|
290
|
-
// Make sure the server has restarted
|
|
291
|
-
await serverRestartWatcher.serverRestartWatcher(true);
|
|
292
|
-
// Unlock the app
|
|
293
|
-
await unlockAppWithAutoreload?.();
|
|
294
|
-
await updatePermissions();
|
|
295
|
-
} catch (err) {
|
|
296
|
-
console.error({
|
|
297
|
-
err
|
|
298
|
-
});
|
|
299
|
-
toggleNotification({
|
|
300
|
-
type: 'danger',
|
|
301
|
-
message: formatMessage({
|
|
302
|
-
id: 'notification.error',
|
|
303
|
-
defaultMessage: 'An error occurred'
|
|
304
|
-
})
|
|
305
|
-
});
|
|
306
|
-
} finally{
|
|
307
|
-
unlockAppWithAutoreload?.();
|
|
308
|
-
}
|
|
309
|
-
};
|
|
310
|
-
const getAllComponentsThatHaveAComponentInTheirAttributes = ()=>{
|
|
311
|
-
// We need to create an object with all the non modified compos
|
|
312
|
-
// plus the ones that are created on the fly
|
|
313
|
-
const allCompos = Object.assign({}, components, modifiedData.components);
|
|
314
|
-
// Since we apply the modification of a specific component only in the modified data
|
|
315
|
-
// we need to update all compos with the modifications
|
|
316
|
-
if (!isInContentTypeView) {
|
|
317
|
-
const currentEditedCompo = get(modifiedData, 'component', {});
|
|
318
|
-
set(allCompos, get(currentEditedCompo, [
|
|
319
|
-
'uid'
|
|
320
|
-
], ''), currentEditedCompo);
|
|
321
|
-
}
|
|
322
|
-
const composWithCompos = retrieveComponentsThatHaveComponents.retrieveComponentsThatHaveComponents(allCompos);
|
|
323
|
-
return composWithCompos;
|
|
324
|
-
};
|
|
325
|
-
const getAllNestedComponents = ()=>{
|
|
326
|
-
const appNestedCompo = retrieveNestedComponents.retrieveNestedComponents(components);
|
|
327
|
-
return appNestedCompo;
|
|
328
|
-
};
|
|
329
|
-
const removeComponentFromDynamicZone = (dzName, componentToRemoveIndex)=>{
|
|
330
|
-
dispatch(reducer.actions.removeComponentFromDynamicZone({
|
|
331
|
-
dzName,
|
|
332
|
-
componentToRemoveIndex
|
|
333
|
-
}));
|
|
334
|
-
};
|
|
335
|
-
const setModifiedData = ()=>{
|
|
336
|
-
const currentSchemas = isInContentTypeView ? contentTypes : components;
|
|
337
|
-
const schemaToSet = get(currentSchemas, currentUid ?? '', {
|
|
338
|
-
schema: {
|
|
339
|
-
attributes: []
|
|
340
|
-
}
|
|
341
|
-
});
|
|
342
|
-
const retrievedComponents = retrieveComponentsFromSchema.retrieveComponentsFromSchema(schemaToSet.schema.attributes, components);
|
|
343
|
-
const newSchemaToSet = createModifiedDataSchema.createModifiedDataSchema(schemaToSet, retrievedComponents, components, isInContentTypeView);
|
|
344
|
-
const hasJustCreatedSchema = get(schemaToSet, 'isTemporary', false) && size(get(schemaToSet, 'schema.attributes', [])) === 0;
|
|
345
|
-
dispatch(reducer.actions.setModifiedData({
|
|
346
|
-
schemaToSet: newSchemaToSet,
|
|
347
|
-
hasJustCreatedSchema
|
|
348
|
-
}));
|
|
349
|
-
};
|
|
350
|
-
const shouldRedirect = React.useMemo(()=>{
|
|
351
|
-
const dataSet = isInContentTypeView ? contentTypes : components;
|
|
352
|
-
if (currentUid === 'create-content-type') {
|
|
353
|
-
return false;
|
|
354
|
-
}
|
|
355
|
-
return !Object.keys(dataSet).includes(currentUid || '') && !isLoading;
|
|
356
|
-
}, [
|
|
357
|
-
components,
|
|
358
|
-
contentTypes,
|
|
359
|
-
currentUid,
|
|
360
|
-
isInContentTypeView,
|
|
361
|
-
isLoading
|
|
362
|
-
]);
|
|
363
|
-
const redirectEndpoint = React.useMemo(()=>{
|
|
364
|
-
const allowedEndpoints = Object.keys(contentTypes).filter((uid)=>get(contentTypes, [
|
|
365
|
-
uid,
|
|
366
|
-
'schema',
|
|
367
|
-
'visible'
|
|
368
|
-
], true)).sort();
|
|
369
|
-
return get(allowedEndpoints, '0', 'create-content-type');
|
|
370
|
-
}, [
|
|
371
|
-
contentTypes
|
|
372
|
-
]);
|
|
373
|
-
if (shouldRedirect) {
|
|
374
|
-
return /*#__PURE__*/ jsxRuntime.jsx(reactRouterDom.Navigate, {
|
|
375
|
-
to: `/plugins/${pluginId.pluginId}/content-types/${redirectEndpoint}`
|
|
376
|
-
});
|
|
377
|
-
}
|
|
378
|
-
const submitData = async (additionalContentTypeData)=>{
|
|
379
|
-
try {
|
|
380
|
-
const isCreating = get(modifiedData, [
|
|
381
|
-
firstKeyToMainSchema,
|
|
382
|
-
'isTemporary'
|
|
383
|
-
], false);
|
|
384
|
-
const body = {
|
|
385
|
-
components: cleanData.getComponentsToPost(modifiedData.components, components, currentUid)
|
|
386
|
-
};
|
|
387
|
-
if (isInContentTypeView) {
|
|
388
|
-
const PluginForms = plugin?.apis?.forms;
|
|
389
|
-
const contentType = PluginForms.mutateContentTypeSchema({
|
|
390
|
-
...cleanData.formatMainDataType(modifiedData.contentType),
|
|
391
|
-
...additionalContentTypeData
|
|
392
|
-
}, initialData.contentType);
|
|
393
|
-
const isValidSchema = validateSchema.validateSchema(contentType);
|
|
394
|
-
if (!isValidSchema) {
|
|
395
|
-
toggleNotification({
|
|
396
|
-
type: 'danger',
|
|
397
|
-
message: formatMessage({
|
|
398
|
-
id: getTrad.getTrad('notification.error.dynamiczone-min.validation'),
|
|
399
|
-
defaultMessage: 'At least one component is required in a dynamic zone to be able to save a content type'
|
|
400
|
-
})
|
|
401
|
-
});
|
|
402
|
-
return;
|
|
403
|
-
}
|
|
404
|
-
body.contentType = contentType;
|
|
405
|
-
trackUsage('willSaveContentType');
|
|
406
|
-
} else {
|
|
407
|
-
body.component = cleanData.formatMainDataType(modifiedData.component, true);
|
|
408
|
-
trackUsage('willSaveComponent');
|
|
409
|
-
}
|
|
410
|
-
// Lock the app
|
|
411
|
-
lockAppWithAutoreload?.();
|
|
412
|
-
const baseURL = `/${pluginId.pluginId}/${endPoint}`;
|
|
413
|
-
const requestURL = isCreating ? baseURL : `${baseURL}/${currentUid}`;
|
|
414
|
-
if (isCreating) {
|
|
415
|
-
await post(requestURL, body);
|
|
416
|
-
} else {
|
|
417
|
-
await put(requestURL, body);
|
|
418
|
-
}
|
|
419
|
-
if (isCreating && (initialData.contentType?.schema.kind === 'collectionType' || initialData.contentType?.schema.kind === 'singleType')) {
|
|
420
|
-
setStepState('contentTypeBuilder.success', true);
|
|
421
|
-
trackUsage('didCreateGuidedTourCollectionType');
|
|
422
|
-
setCurrentStep(null);
|
|
423
|
-
}
|
|
424
|
-
// Submit ct tracking success
|
|
425
|
-
if (isInContentTypeView) {
|
|
426
|
-
trackUsage('didSaveContentType');
|
|
427
|
-
const oldName = get(body, [
|
|
428
|
-
'contentType',
|
|
429
|
-
'schema',
|
|
430
|
-
'name'
|
|
431
|
-
], '');
|
|
432
|
-
const newName = get(initialData, [
|
|
433
|
-
'contentType',
|
|
434
|
-
'schema',
|
|
435
|
-
'name'
|
|
436
|
-
], '');
|
|
437
|
-
if (!isCreating && oldName !== newName) {
|
|
438
|
-
trackUsage('didEditNameOfContentType');
|
|
439
|
-
}
|
|
440
|
-
} else {
|
|
441
|
-
trackUsage('didSaveComponent');
|
|
442
|
-
}
|
|
443
|
-
// Make sure the server has restarted
|
|
444
|
-
await serverRestartWatcher.serverRestartWatcher(true);
|
|
445
|
-
// Unlock the app
|
|
446
|
-
unlockAppWithAutoreload?.();
|
|
447
|
-
// refetch and update initial state after the data has been saved
|
|
448
|
-
await getDataRef.current();
|
|
449
|
-
// Update the app's permissions
|
|
450
|
-
await updatePermissions();
|
|
451
|
-
} catch (err) {
|
|
452
|
-
if (!isInContentTypeView) {
|
|
453
|
-
trackUsage('didNotSaveComponent');
|
|
454
|
-
}
|
|
455
|
-
console.error({
|
|
456
|
-
err: err.response
|
|
457
|
-
});
|
|
458
|
-
toggleNotification({
|
|
459
|
-
type: 'danger',
|
|
460
|
-
message: formatMessage({
|
|
461
|
-
id: 'notification.error',
|
|
462
|
-
defaultMessage: 'An error occurred'
|
|
463
|
-
})
|
|
464
|
-
});
|
|
465
|
-
} finally{
|
|
466
|
-
unlockAppWithAutoreload?.();
|
|
467
|
-
}
|
|
468
|
-
};
|
|
469
|
-
const updatePermissions = async ()=>{
|
|
470
|
-
await refetchPermissions();
|
|
471
|
-
};
|
|
472
|
-
const updateSchema = (data, schemaType, componentUID)=>{
|
|
473
|
-
dispatch(reducer.actions.updateSchema({
|
|
474
|
-
data,
|
|
475
|
-
schemaType,
|
|
476
|
-
uid: componentUID
|
|
477
|
-
}));
|
|
478
|
-
};
|
|
479
|
-
return /*#__PURE__*/ jsxRuntime.jsxs(DataManagerContext.DataManagerContext.Provider, {
|
|
480
|
-
value: {
|
|
481
|
-
addAttribute,
|
|
482
|
-
addCustomFieldAttribute,
|
|
483
|
-
addCreatedComponentToDynamicZone,
|
|
484
|
-
allComponentsCategories: retrieveSpecificInfoFromComponents.retrieveSpecificInfoFromComponents(components, [
|
|
485
|
-
'category'
|
|
486
|
-
]),
|
|
487
|
-
changeDynamicZoneComponents,
|
|
488
|
-
components,
|
|
489
|
-
componentsGroupedByCategory: groupBy(components, 'category'),
|
|
490
|
-
componentsThatHaveOtherComponentInTheirAttributes: getAllComponentsThatHaveAComponentInTheirAttributes(),
|
|
491
|
-
contentTypes,
|
|
492
|
-
createSchema,
|
|
493
|
-
deleteCategory,
|
|
494
|
-
deleteData,
|
|
495
|
-
editCategory,
|
|
496
|
-
editCustomFieldAttribute,
|
|
497
|
-
isInDevelopmentMode,
|
|
498
|
-
initialData,
|
|
499
|
-
isInContentTypeView,
|
|
500
|
-
modifiedData,
|
|
501
|
-
nestedComponents: getAllNestedComponents(),
|
|
502
|
-
removeAttribute,
|
|
503
|
-
removeComponentFromDynamicZone,
|
|
504
|
-
reservedNames,
|
|
505
|
-
setModifiedData,
|
|
506
|
-
sortedContentTypesList: cleanData.sortContentType(contentTypes),
|
|
507
|
-
submitData,
|
|
508
|
-
updateSchema
|
|
509
|
-
},
|
|
510
|
-
children: [
|
|
511
|
-
children,
|
|
512
|
-
isInDevelopmentMode && /*#__PURE__*/ jsxRuntime.jsx(FormModal.FormModal, {})
|
|
513
|
-
]
|
|
514
|
-
});
|
|
515
|
-
};
|
|
516
|
-
// eslint-disable-next-line import/no-default-export
|
|
517
|
-
var DataManagerProvider$1 = /*#__PURE__*/ React.memo(DataManagerProvider);
|
|
518
|
-
|
|
519
|
-
module.exports = DataManagerProvider$1;
|
|
520
|
-
//# sourceMappingURL=DataManagerProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DataManagerProvider.js","sources":["../../../../admin/src/components/DataManagerProvider/DataManagerProvider.tsx"],"sourcesContent":["import { memo, useEffect, useMemo, useRef, ReactNode } from 'react';\n\nimport {\n useGuidedTour,\n useTracking,\n useStrapiApp,\n useNotification,\n useAppInfo,\n useFetchClient,\n useAuth,\n} from '@strapi/admin/strapi-admin';\nimport get from 'lodash/get';\nimport groupBy from 'lodash/groupBy';\nimport set from 'lodash/set';\nimport size from 'lodash/size';\nimport { useIntl } from 'react-intl';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { Navigate, useLocation, useMatch } from 'react-router-dom';\n\nimport { DataManagerContext } from '../../contexts/DataManagerContext';\nimport { useFormModalNavigation } from '../../hooks/useFormModalNavigation';\nimport { pluginId } from '../../pluginId';\nimport { getTrad } from '../../utils/getTrad';\nimport { useAutoReloadOverlayBlocker } from '../AutoReloadOverlayBlocker';\nimport { FormModal } from '../FormModal/FormModal';\n\nimport { actions } from './reducer';\nimport { makeSelectDataManagerProvider } from './selectors';\nimport { formatMainDataType, getComponentsToPost, sortContentType } from './utils/cleanData';\nimport { createDataObject } from './utils/createDataObject';\nimport { createModifiedDataSchema } from './utils/createModifiedDataSchema';\nimport { formatSchemas } from './utils/formatSchemas';\nimport { retrieveComponentsFromSchema } from './utils/retrieveComponentsFromSchema';\nimport { retrieveComponentsThatHaveComponents } from './utils/retrieveComponentsThatHaveComponents';\nimport { retrieveNestedComponents } from './utils/retrieveNestedComponents';\nimport { retrieveSpecificInfoFromComponents } from './utils/retrieveSpecificInfoFromComponents';\nimport { serverRestartWatcher } from './utils/serverRestartWatcher';\nimport { validateSchema } from './utils/validateSchema';\n\nimport type { ContentType, SchemaType, Components } from '../../types';\nimport type { Internal } from '@strapi/types';\n\ninterface DataManagerProviderProps {\n children: ReactNode;\n}\n\ninterface CustomFieldAttributeParams {\n attributeToSet: Record<string, any>;\n forTarget: SchemaType;\n targetUid: Internal.UID.Schema;\n initialAttribute: Record<string, any>;\n}\n\nconst DataManagerProvider = ({ children }: DataManagerProviderProps) => {\n const dispatch = useDispatch();\n // refactor\n const { components, contentTypes, isLoading, initialData, modifiedData, reservedNames } =\n useSelector(makeSelectDataManagerProvider());\n const { toggleNotification } = useNotification();\n const { lockAppWithAutoreload, unlockAppWithAutoreload } = useAutoReloadOverlayBlocker();\n const { setCurrentStep, setStepState } = useGuidedTour('DataManagerProvider', (state) => state);\n\n const getPlugin = useStrapiApp('DataManagerProvider', (state) => state.getPlugin);\n\n const plugin = getPlugin(pluginId);\n const autoReload = useAppInfo('DataManagerProvider', (state) => state.autoReload);\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const refetchPermissions = useAuth('DataManagerProvider', (state) => state.refetchPermissions);\n const { pathname } = useLocation();\n const { onCloseModal } = useFormModalNavigation();\n const contentTypeMatch = useMatch(`/plugins/${pluginId}/content-types/:uid`);\n const componentMatch = useMatch(\n `/plugins/${pluginId}/component-categories/:categoryUid/:componentUid`\n );\n\n const fetchClient = useFetchClient();\n const { put, post, del } = fetchClient;\n\n const isInDevelopmentMode = autoReload;\n\n const isInContentTypeView = contentTypeMatch !== null;\n const firstKeyToMainSchema = isInContentTypeView ? 'contentType' : 'component';\n const currentUid = isInContentTypeView\n ? get(contentTypeMatch, 'params.uid', null)\n : get(componentMatch, 'params.componentUid', null);\n\n const getDataRef = useRef<any>();\n const endPoint = isInContentTypeView ? 'content-types' : 'components';\n\n getDataRef.current = async () => {\n try {\n const [componentsResponse, contentTypesResponse, reservedNamesResponse] = await Promise.all([\n fetchClient.get(`/content-type-builder/components`),\n fetchClient.get(`/content-type-builder/content-types`),\n fetchClient.get(`/content-type-builder/reserved-names`),\n ]);\n\n const components = createDataObject(componentsResponse.data.data);\n const formattedComponents = formatSchemas(components);\n const contentTypes = createDataObject(contentTypesResponse.data.data);\n const formattedContentTypes = formatSchemas(contentTypes);\n\n dispatch(\n actions.init({\n components: formattedComponents,\n contentTypes: formattedContentTypes,\n reservedNames: reservedNamesResponse.data,\n })\n );\n } catch (err) {\n console.error({ err });\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n useEffect(() => {\n getDataRef.current();\n\n return () => {\n // Reload the plugin so the cycle is new again\n dispatch(actions.reloadPlugin());\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n // We need to set the modifiedData after the data has been retrieved\n // and also on pathname change\n if (!isLoading && currentUid) {\n setModifiedData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isLoading, pathname, currentUid]);\n\n useEffect(() => {\n if (!autoReload) {\n toggleNotification({\n type: 'info',\n message: formatMessage({ id: getTrad('notification.info.autoreaload-disable') }),\n });\n }\n }, [autoReload, toggleNotification, formatMessage]);\n\n const addAttribute = (\n attributeToSet: Record<string, any>,\n forTarget: SchemaType,\n targetUid: Internal.UID.Schema,\n isEditing = false,\n initialAttribute?: Record<string, any>,\n shouldAddComponentToData = false\n ) => {\n if (isEditing) {\n const payload = {\n attributeToSet,\n forTarget,\n targetUid,\n // NOTE: using ! here to avoid changing the code logic before bigger refactorings\n initialAttribute: initialAttribute!,\n shouldAddComponentToData,\n };\n\n dispatch(actions.editAttribute(payload));\n } else {\n const payload = {\n attributeToSet,\n forTarget,\n targetUid,\n shouldAddComponentToData,\n };\n\n dispatch(actions.addAttribute(payload));\n }\n };\n\n const addCustomFieldAttribute = ({\n attributeToSet,\n forTarget,\n targetUid,\n }: CustomFieldAttributeParams) => {\n dispatch(actions.addCustomFieldAttribute({ attributeToSet, forTarget, targetUid }));\n };\n\n const editCustomFieldAttribute = ({\n attributeToSet,\n forTarget,\n targetUid,\n initialAttribute,\n }: CustomFieldAttributeParams) => {\n dispatch(\n actions.editCustomFieldAttribute({\n attributeToSet,\n forTarget,\n targetUid,\n initialAttribute,\n })\n );\n };\n\n const addCreatedComponentToDynamicZone = (\n dynamicZoneTarget: string,\n componentsToAdd: Internal.UID.Component[]\n ) => {\n dispatch(actions.addCreatedComponentToDynamicZone({ dynamicZoneTarget, componentsToAdd }));\n };\n\n const createSchema = (\n data: Record<string, any>,\n schemaType: SchemaType,\n uid: Internal.UID.Schema,\n componentCategory?: string,\n shouldAddComponentToData = false\n ) => {\n if (schemaType === 'contentType') {\n const payload = {\n data,\n uid,\n };\n\n dispatch(actions.createSchema(payload));\n } else {\n const payload = {\n data,\n uid,\n componentCategory: componentCategory!,\n shouldAddComponentToData,\n };\n\n dispatch(actions.createComponentSchema(payload));\n }\n };\n\n const changeDynamicZoneComponents = (\n dynamicZoneTarget: string,\n newComponents: Internal.UID.Component[]\n ) => {\n dispatch(actions.changeDynamicZoneComponents({ dynamicZoneTarget, newComponents }));\n };\n\n const removeAttribute = (\n mainDataKey: 'components' | 'contentType' | 'component' | 'contentTypes',\n attributeToRemoveName: string,\n componentUid = ''\n ) => {\n if (mainDataKey === 'components') {\n dispatch(\n actions.removeFieldFromDisplayedComponent({\n attributeToRemoveName,\n componentUid,\n })\n );\n } else {\n if (mainDataKey === 'contentType') {\n trackUsage('willDeleteFieldOfContentType');\n }\n\n dispatch(\n actions.removeField({\n mainDataKey,\n attributeToRemoveName,\n })\n );\n }\n };\n\n const deleteCategory = async (categoryUid: string) => {\n try {\n const requestURL = `/${pluginId}/component-categories/${categoryUid}`;\n // eslint-disable-next-line no-alert\n const userConfirm = window.confirm(\n formatMessage({\n id: getTrad('popUpWarning.bodyMessage.category.delete'),\n })\n );\n // Close the modal\n onCloseModal();\n\n if (userConfirm) {\n lockAppWithAutoreload?.();\n\n await del(requestURL);\n\n // Make sure the server has restarted\n await serverRestartWatcher(true);\n\n // Unlock the app\n unlockAppWithAutoreload?.();\n\n await updatePermissions();\n }\n } catch (err) {\n console.error({ err });\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n } finally {\n unlockAppWithAutoreload?.();\n }\n };\n\n const deleteData = async () => {\n try {\n const requestURL = `/${pluginId}/${endPoint}/${currentUid}`;\n const isTemporary = get(modifiedData, [firstKeyToMainSchema, 'isTemporary'], false);\n\n // eslint-disable-next-line no-alert\n const userConfirm = window.confirm(\n formatMessage({\n id: getTrad(\n `popUpWarning.bodyMessage.${isInContentTypeView ? 'contentType' : 'component'}.delete`\n ),\n })\n );\n\n // Close the modal\n onCloseModal();\n\n if (userConfirm) {\n if (isTemporary) {\n // Delete the not saved type\n // Here we just need to reset the components to the initial ones and also the content types\n // Doing so will trigging a url change since the type doesn't exist in either the contentTypes or the components\n // so the modified and the initial data will also be reset in the useEffect...\n dispatch(actions.deleteNotSavedType());\n\n return;\n }\n\n lockAppWithAutoreload?.();\n\n await del(requestURL);\n\n // Make sure the server has restarted\n await serverRestartWatcher(true);\n\n // Unlock the app\n await unlockAppWithAutoreload?.();\n\n await getDataRef.current();\n // Refetch the permissions\n await updatePermissions();\n }\n } catch (err) {\n console.error({ err });\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n } finally {\n unlockAppWithAutoreload?.();\n }\n };\n\n const editCategory = async (categoryUid: string, body: any) => {\n try {\n const requestURL = `/${pluginId}/component-categories/${categoryUid}`;\n\n // Close the modal\n onCloseModal();\n\n // Lock the app\n lockAppWithAutoreload?.();\n\n // Update the category\n await put(requestURL, body);\n\n // Make sure the server has restarted\n await serverRestartWatcher(true);\n\n // Unlock the app\n await unlockAppWithAutoreload?.();\n\n await updatePermissions();\n } catch (err) {\n console.error({ err });\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n } finally {\n unlockAppWithAutoreload?.();\n }\n };\n\n const getAllComponentsThatHaveAComponentInTheirAttributes = () => {\n // We need to create an object with all the non modified compos\n // plus the ones that are created on the fly\n const allCompos = Object.assign({}, components, modifiedData.components);\n\n // Since we apply the modification of a specific component only in the modified data\n // we need to update all compos with the modifications\n if (!isInContentTypeView) {\n const currentEditedCompo = get(modifiedData, 'component', {});\n\n set(allCompos, get(currentEditedCompo, ['uid'], ''), currentEditedCompo);\n }\n\n const composWithCompos = retrieveComponentsThatHaveComponents(allCompos);\n\n return composWithCompos;\n };\n\n const getAllNestedComponents = () => {\n const appNestedCompo = retrieveNestedComponents(components);\n\n return appNestedCompo;\n };\n\n const removeComponentFromDynamicZone = (dzName: string, componentToRemoveIndex: number) => {\n dispatch(\n actions.removeComponentFromDynamicZone({\n dzName,\n componentToRemoveIndex,\n })\n );\n };\n\n const setModifiedData = () => {\n const currentSchemas = isInContentTypeView ? contentTypes : components;\n const schemaToSet = get(currentSchemas, currentUid ?? '', {\n schema: { attributes: [] },\n });\n\n const retrievedComponents = retrieveComponentsFromSchema(\n schemaToSet.schema.attributes,\n components\n );\n\n const newSchemaToSet = createModifiedDataSchema(\n schemaToSet,\n retrievedComponents,\n components,\n isInContentTypeView\n );\n\n const hasJustCreatedSchema =\n get(schemaToSet, 'isTemporary', false) &&\n size(get(schemaToSet, 'schema.attributes', [])) === 0;\n\n dispatch(\n actions.setModifiedData({\n schemaToSet: newSchemaToSet,\n hasJustCreatedSchema,\n })\n );\n };\n\n const shouldRedirect = useMemo(() => {\n const dataSet = isInContentTypeView ? contentTypes : components;\n if (currentUid === 'create-content-type') {\n return false;\n }\n\n return !Object.keys(dataSet).includes(currentUid || '') && !isLoading;\n }, [components, contentTypes, currentUid, isInContentTypeView, isLoading]);\n\n const redirectEndpoint = useMemo(() => {\n const allowedEndpoints = Object.keys(contentTypes)\n .filter((uid) => get(contentTypes, [uid, 'schema', 'visible'], true))\n .sort();\n\n return get(allowedEndpoints, '0', 'create-content-type');\n }, [contentTypes]);\n\n if (shouldRedirect) {\n return <Navigate to={`/plugins/${pluginId}/content-types/${redirectEndpoint}`} />;\n }\n\n const submitData = async (additionalContentTypeData?: Record<string, any>) => {\n try {\n const isCreating = get(modifiedData, [firstKeyToMainSchema, 'isTemporary'], false);\n\n const body: {\n components: any[];\n contentType?: Record<string, any>;\n component?: any;\n } = {\n components: getComponentsToPost(\n modifiedData.components as Components,\n components as Components,\n currentUid as Internal.UID.Schema\n ),\n };\n\n if (isInContentTypeView) {\n const PluginForms = plugin?.apis?.forms as any;\n const contentType = PluginForms.mutateContentTypeSchema(\n {\n ...formatMainDataType(modifiedData.contentType),\n ...additionalContentTypeData,\n },\n initialData.contentType\n ) as ContentType;\n\n const isValidSchema = validateSchema(contentType);\n\n if (!isValidSchema) {\n toggleNotification({\n type: 'danger',\n message: formatMessage({\n id: getTrad('notification.error.dynamiczone-min.validation'),\n defaultMessage:\n 'At least one component is required in a dynamic zone to be able to save a content type',\n }),\n });\n\n return;\n }\n\n body.contentType = contentType;\n\n trackUsage('willSaveContentType');\n } else {\n body.component = formatMainDataType(modifiedData.component, true);\n\n trackUsage('willSaveComponent');\n }\n\n // Lock the app\n lockAppWithAutoreload?.();\n\n const baseURL = `/${pluginId}/${endPoint}`;\n const requestURL = isCreating ? baseURL : `${baseURL}/${currentUid}`;\n\n if (isCreating) {\n await post(requestURL, body);\n } else {\n await put(requestURL, body);\n }\n\n if (\n isCreating &&\n (initialData.contentType?.schema.kind === 'collectionType' ||\n initialData.contentType?.schema.kind === 'singleType')\n ) {\n setStepState('contentTypeBuilder.success', true);\n trackUsage('didCreateGuidedTourCollectionType');\n setCurrentStep(null);\n }\n\n // Submit ct tracking success\n if (isInContentTypeView) {\n trackUsage('didSaveContentType');\n\n const oldName = get(body, ['contentType', 'schema', 'name'], '');\n const newName = get(initialData, ['contentType', 'schema', 'name'], '');\n\n if (!isCreating && oldName !== newName) {\n trackUsage('didEditNameOfContentType');\n }\n } else {\n trackUsage('didSaveComponent');\n }\n\n // Make sure the server has restarted\n await serverRestartWatcher(true);\n\n // Unlock the app\n unlockAppWithAutoreload?.();\n\n // refetch and update initial state after the data has been saved\n await getDataRef.current();\n\n // Update the app's permissions\n await updatePermissions();\n } catch (err: any) {\n if (!isInContentTypeView) {\n trackUsage('didNotSaveComponent');\n }\n\n console.error({ err: err.response });\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n } finally {\n unlockAppWithAutoreload?.();\n }\n };\n\n const updatePermissions = async () => {\n await refetchPermissions();\n };\n\n const updateSchema = (\n data: Record<string, any>,\n schemaType: 'contentType' | 'component',\n componentUID: Internal.UID.Schema\n ) => {\n dispatch(\n actions.updateSchema({\n data,\n schemaType,\n uid: componentUID,\n })\n );\n };\n\n return (\n <DataManagerContext.Provider\n value={{\n addAttribute,\n addCustomFieldAttribute,\n addCreatedComponentToDynamicZone,\n allComponentsCategories: retrieveSpecificInfoFromComponents(components, ['category']),\n changeDynamicZoneComponents,\n components,\n componentsGroupedByCategory: groupBy(components, 'category') as Record<string, any[]>,\n componentsThatHaveOtherComponentInTheirAttributes:\n getAllComponentsThatHaveAComponentInTheirAttributes(),\n contentTypes,\n createSchema,\n deleteCategory,\n deleteData,\n editCategory,\n editCustomFieldAttribute,\n isInDevelopmentMode,\n initialData,\n isInContentTypeView,\n modifiedData,\n nestedComponents: getAllNestedComponents(),\n removeAttribute,\n removeComponentFromDynamicZone,\n reservedNames,\n setModifiedData,\n sortedContentTypesList: sortContentType(contentTypes),\n submitData,\n updateSchema,\n }}\n >\n {children}\n {isInDevelopmentMode && <FormModal />}\n </DataManagerContext.Provider>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default memo(DataManagerProvider);\n"],"names":["DataManagerProvider","children","dispatch","useDispatch","components","contentTypes","isLoading","initialData","modifiedData","reservedNames","useSelector","makeSelectDataManagerProvider","toggleNotification","useNotification","lockAppWithAutoreload","unlockAppWithAutoreload","useAutoReloadOverlayBlocker","setCurrentStep","setStepState","useGuidedTour","state","getPlugin","useStrapiApp","plugin","pluginId","autoReload","useAppInfo","formatMessage","useIntl","trackUsage","useTracking","refetchPermissions","useAuth","pathname","useLocation","onCloseModal","useFormModalNavigation","contentTypeMatch","useMatch","componentMatch","fetchClient","useFetchClient","put","post","del","isInDevelopmentMode","isInContentTypeView","firstKeyToMainSchema","currentUid","get","getDataRef","useRef","endPoint","current","componentsResponse","contentTypesResponse","reservedNamesResponse","Promise","all","createDataObject","data","formattedComponents","formatSchemas","formattedContentTypes","actions","init","err","console","error","type","message","id","defaultMessage","useEffect","reloadPlugin","setModifiedData","getTrad","addAttribute","attributeToSet","forTarget","targetUid","isEditing","initialAttribute","shouldAddComponentToData","payload","editAttribute","addCustomFieldAttribute","editCustomFieldAttribute","addCreatedComponentToDynamicZone","dynamicZoneTarget","componentsToAdd","createSchema","schemaType","uid","componentCategory","createComponentSchema","changeDynamicZoneComponents","newComponents","removeAttribute","mainDataKey","attributeToRemoveName","componentUid","removeFieldFromDisplayedComponent","removeField","deleteCategory","categoryUid","requestURL","userConfirm","window","confirm","serverRestartWatcher","updatePermissions","deleteData","isTemporary","deleteNotSavedType","editCategory","body","getAllComponentsThatHaveAComponentInTheirAttributes","allCompos","Object","assign","currentEditedCompo","set","composWithCompos","retrieveComponentsThatHaveComponents","getAllNestedComponents","appNestedCompo","retrieveNestedComponents","removeComponentFromDynamicZone","dzName","componentToRemoveIndex","currentSchemas","schemaToSet","schema","attributes","retrievedComponents","retrieveComponentsFromSchema","newSchemaToSet","createModifiedDataSchema","hasJustCreatedSchema","size","shouldRedirect","useMemo","dataSet","keys","includes","redirectEndpoint","allowedEndpoints","filter","sort","_jsx","Navigate","to","submitData","additionalContentTypeData","isCreating","getComponentsToPost","PluginForms","apis","forms","contentType","mutateContentTypeSchema","formatMainDataType","isValidSchema","validateSchema","component","baseURL","kind","oldName","newName","response","updateSchema","componentUID","_jsxs","DataManagerContext","Provider","value","allComponentsCategories","retrieveSpecificInfoFromComponents","componentsGroupedByCategory","groupBy","componentsThatHaveOtherComponentInTheirAttributes","nestedComponents","sortedContentTypesList","sortContentType","FormModal","memo"],"mappings":"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"}
|