@strapi/content-type-builder 5.13.1 → 5.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/AttributeIcon.js +1 -0
- package/dist/admin/components/AttributeIcon.js.map +1 -1
- package/dist/admin/components/AttributeIcon.mjs +1 -0
- package/dist/admin/components/AttributeIcon.mjs.map +1 -1
- package/dist/admin/components/AttributeOptions/AttributeOption.js +1 -1
- package/dist/admin/components/AttributeOptions/AttributeOption.js.map +1 -1
- package/dist/admin/components/AttributeOptions/AttributeOption.mjs +1 -1
- package/dist/admin/components/AttributeOptions/AttributeOption.mjs.map +1 -1
- package/dist/admin/components/AttributeOptions/CustomFieldOption.js +1 -1
- package/dist/admin/components/AttributeOptions/CustomFieldOption.js.map +1 -1
- package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs +1 -1
- package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs.map +1 -1
- package/dist/admin/components/AttributeRow.js +342 -0
- package/dist/admin/components/AttributeRow.js.map +1 -0
- package/dist/admin/components/AttributeRow.mjs +339 -0
- package/dist/admin/components/AttributeRow.mjs.map +1 -0
- package/dist/admin/components/AutoReloadOverlayBlocker.js +5 -2
- package/dist/admin/components/AutoReloadOverlayBlocker.js.map +1 -1
- package/dist/admin/components/AutoReloadOverlayBlocker.mjs +5 -2
- package/dist/admin/components/AutoReloadOverlayBlocker.mjs.map +1 -1
- package/dist/admin/components/ComponentCard/ComponentCard.js +13 -11
- package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
- package/dist/admin/components/ComponentCard/ComponentCard.mjs +13 -11
- package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -1
- package/dist/admin/components/ComponentList.js +12 -26
- package/dist/admin/components/ComponentList.js.map +1 -1
- package/dist/admin/components/ComponentList.mjs +12 -26
- package/dist/admin/components/ComponentList.mjs.map +1 -1
- package/dist/admin/components/{Tr.js → ComponentRow.js} +9 -15
- package/dist/admin/components/ComponentRow.js.map +1 -0
- package/dist/admin/components/{Tr.mjs → ComponentRow.mjs} +9 -15
- package/dist/admin/components/ComponentRow.mjs.map +1 -0
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js +253 -70
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +256 -73
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js +53 -81
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs +54 -82
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -1
- package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -0
- package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -0
- package/dist/admin/components/DataManager/DataManagerProvider.js +344 -0
- package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -0
- package/dist/admin/components/DataManager/DataManagerProvider.mjs +323 -0
- package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -0
- package/dist/admin/components/DataManager/reducer.js +546 -0
- package/dist/admin/components/DataManager/reducer.js.map +1 -0
- package/dist/admin/components/DataManager/reducer.mjs +542 -0
- package/dist/admin/components/DataManager/reducer.mjs.map +1 -0
- package/dist/admin/components/DataManager/undoRedo.js +102 -0
- package/dist/admin/components/DataManager/undoRedo.js.map +1 -0
- package/dist/admin/components/DataManager/undoRedo.mjs +100 -0
- package/dist/admin/components/DataManager/undoRedo.mjs.map +1 -0
- package/dist/admin/{hooks → components/DataManager}/useDataManager.js +1 -1
- package/dist/admin/components/DataManager/useDataManager.js.map +1 -0
- package/dist/admin/{hooks → components/DataManager}/useDataManager.mjs +1 -1
- package/dist/admin/components/DataManager/useDataManager.mjs.map +1 -0
- package/dist/admin/components/DataManager/useServerRestartWatcher.js +35 -0
- package/dist/admin/components/DataManager/useServerRestartWatcher.js.map +1 -0
- package/dist/admin/components/DataManager/useServerRestartWatcher.mjs +33 -0
- package/dist/admin/components/DataManager/useServerRestartWatcher.mjs.map +1 -0
- package/dist/admin/components/DataManager/utils/cleanData.js +128 -0
- package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -0
- package/dist/admin/components/DataManager/utils/cleanData.mjs +125 -0
- package/dist/admin/components/DataManager/utils/cleanData.mjs.map +1 -0
- package/dist/admin/components/DataManager/utils/formatSchemas.js +21 -0
- package/dist/admin/components/DataManager/utils/formatSchemas.js.map +1 -0
- package/dist/admin/components/DataManager/utils/formatSchemas.mjs +18 -0
- package/dist/admin/components/DataManager/utils/formatSchemas.mjs.map +1 -0
- package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.js +1 -5
- package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js.map +1 -0
- package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.mjs +1 -5
- package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.mjs.map +1 -0
- package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.js +3 -3
- package/dist/admin/components/DataManager/utils/retrieveNestedComponents.js.map +1 -0
- package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.mjs +3 -3
- package/dist/admin/components/DataManager/utils/retrieveNestedComponents.mjs.map +1 -0
- package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -0
- package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs.map +1 -0
- package/dist/admin/components/DisplayedType.js +14 -14
- package/dist/admin/components/DisplayedType.js.map +1 -1
- package/dist/admin/components/DisplayedType.mjs +15 -15
- package/dist/admin/components/DisplayedType.mjs.map +1 -1
- package/dist/admin/components/DynamicZoneList.js +34 -38
- package/dist/admin/components/DynamicZoneList.js.map +1 -1
- package/dist/admin/components/DynamicZoneList.mjs +36 -40
- package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
- package/dist/admin/components/ExitPrompt.js +50 -0
- package/dist/admin/components/ExitPrompt.js.map +1 -0
- package/dist/admin/components/ExitPrompt.mjs +48 -0
- package/dist/admin/components/ExitPrompt.mjs.map +1 -0
- package/dist/admin/components/{NestedFooter.js → Footers.js} +35 -2
- package/dist/admin/components/Footers.js.map +1 -0
- package/dist/admin/components/{NestedFooter.mjs → Footers.mjs} +36 -4
- package/dist/admin/components/Footers.mjs.map +1 -0
- package/dist/admin/components/FormModal/FormModal.js +198 -164
- package/dist/admin/components/FormModal/FormModal.js.map +1 -1
- package/dist/admin/components/FormModal/FormModal.mjs +198 -165
- package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/types.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/types.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.js +2 -2
- package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.mjs +1 -1
- package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -1
- package/dist/admin/components/FormModal/forms/forms.js +10 -27
- package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
- package/dist/admin/components/FormModal/forms/forms.mjs +10 -27
- package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -1
- package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js.map +1 -1
- package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs.map +1 -1
- package/dist/admin/components/FormModal/reducer.js +4 -4
- package/dist/admin/components/FormModal/reducer.js.map +1 -1
- package/dist/admin/components/FormModal/reducer.mjs +4 -4
- package/dist/admin/components/FormModal/reducer.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/canEditContentType.js +9 -14
- package/dist/admin/components/FormModal/utils/canEditContentType.js.map +1 -1
- package/dist/admin/components/FormModal/utils/canEditContentType.mjs +9 -14
- package/dist/admin/components/FormModal/utils/canEditContentType.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/getAttributesToDisplay.js.map +1 -1
- package/dist/admin/components/FormModal/utils/getAttributesToDisplay.mjs.map +1 -1
- package/dist/admin/components/FormModalEndActions.js +1 -34
- package/dist/admin/components/FormModalEndActions.js.map +1 -1
- package/dist/admin/components/FormModalEndActions.mjs +1 -34
- package/dist/admin/components/FormModalEndActions.mjs.map +1 -1
- package/dist/admin/components/FormModalHeader.js +10 -28
- package/dist/admin/components/FormModalHeader.js.map +1 -1
- package/dist/admin/components/FormModalHeader.mjs +10 -28
- package/dist/admin/components/FormModalHeader.mjs.map +1 -1
- package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -0
- package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs.map +1 -0
- package/dist/admin/components/{FormModalNavigationProvider → FormModalNavigation}/FormModalNavigationProvider.js +91 -114
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js.map +1 -0
- package/dist/admin/components/{FormModalNavigationProvider → FormModalNavigation}/FormModalNavigationProvider.mjs +91 -96
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs.map +1 -0
- package/dist/admin/{hooks → components/FormModalNavigation}/useFormModalNavigation.js +1 -1
- package/dist/admin/components/FormModalNavigation/useFormModalNavigation.js.map +1 -0
- package/dist/admin/{hooks → components/FormModalNavigation}/useFormModalNavigation.mjs +1 -1
- package/dist/admin/components/FormModalNavigation/useFormModalNavigation.mjs.map +1 -0
- package/dist/admin/components/FormModalSubHeader.js.map +1 -1
- package/dist/admin/components/FormModalSubHeader.mjs.map +1 -1
- package/dist/admin/components/GenericInputs.js +9 -5
- package/dist/admin/components/GenericInputs.js.map +1 -1
- package/dist/admin/components/GenericInputs.mjs +9 -5
- package/dist/admin/components/GenericInputs.mjs.map +1 -1
- package/dist/admin/components/List.js +149 -199
- package/dist/admin/components/List.js.map +1 -1
- package/dist/admin/components/List.mjs +151 -202
- package/dist/admin/components/List.mjs.map +1 -1
- package/dist/admin/components/Relation/Relation.js +3 -2
- package/dist/admin/components/Relation/Relation.js.map +1 -1
- package/dist/admin/components/Relation/Relation.mjs +3 -2
- package/dist/admin/components/Relation/Relation.mjs.map +1 -1
- package/dist/admin/components/Relation/RelationField/RelationField.js +1 -1
- package/dist/admin/components/Relation/RelationField/RelationField.js.map +1 -1
- package/dist/admin/components/Relation/RelationField/RelationField.mjs +1 -1
- package/dist/admin/components/Relation/RelationField/RelationField.mjs.map +1 -1
- package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js +6 -5
- package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js.map +1 -1
- package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs +6 -5
- package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs.map +1 -1
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js +19 -21
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -1
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs +19 -21
- package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs.map +1 -1
- package/dist/admin/components/SelectCategory.js +1 -1
- package/dist/admin/components/SelectCategory.js.map +1 -1
- package/dist/admin/components/SelectCategory.mjs +1 -1
- package/dist/admin/components/SelectCategory.mjs.map +1 -1
- package/dist/admin/components/SelectComponent.js +3 -6
- package/dist/admin/components/SelectComponent.js.map +1 -1
- package/dist/admin/components/SelectComponent.mjs +3 -6
- package/dist/admin/components/SelectComponent.mjs.map +1 -1
- package/dist/admin/components/SelectComponents.js +9 -6
- package/dist/admin/components/SelectComponents.js.map +1 -1
- package/dist/admin/components/SelectComponents.mjs +9 -6
- package/dist/admin/components/SelectComponents.mjs.map +1 -1
- package/dist/admin/components/SelectNumber.js +0 -4
- package/dist/admin/components/SelectNumber.js.map +1 -1
- package/dist/admin/components/SelectNumber.mjs +0 -4
- package/dist/admin/components/SelectNumber.mjs.map +1 -1
- package/dist/admin/components/Status.js +73 -0
- package/dist/admin/components/Status.js.map +1 -0
- package/dist/admin/components/Status.mjs +70 -0
- package/dist/admin/components/Status.mjs.map +1 -0
- package/dist/admin/components/TabForm.js +2 -1
- package/dist/admin/components/TabForm.js.map +1 -1
- package/dist/admin/components/TabForm.mjs +2 -1
- package/dist/admin/components/TabForm.mjs.map +1 -1
- package/dist/admin/icons/Curve.js +1 -1
- package/dist/admin/icons/Curve.js.map +1 -1
- package/dist/admin/icons/Curve.mjs +1 -1
- package/dist/admin/icons/Curve.mjs.map +1 -1
- package/dist/admin/pages/App/index.js +39 -19
- package/dist/admin/pages/App/index.js.map +1 -1
- package/dist/admin/pages/App/index.mjs +41 -21
- package/dist/admin/pages/App/index.mjs.map +1 -1
- package/dist/admin/pages/ListView/EmptyState.js +38 -0
- package/dist/admin/pages/ListView/EmptyState.js.map +1 -0
- package/dist/admin/pages/ListView/EmptyState.mjs +36 -0
- package/dist/admin/pages/ListView/EmptyState.mjs.map +1 -0
- package/dist/admin/pages/ListView/LinkToCMSettingsView.js +26 -17
- package/dist/admin/pages/ListView/LinkToCMSettingsView.js.map +1 -1
- package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs +26 -17
- package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs.map +1 -1
- package/dist/admin/pages/ListView/ListView.js +105 -158
- package/dist/admin/pages/ListView/ListView.js.map +1 -1
- package/dist/admin/pages/ListView/ListView.mjs +110 -163
- package/dist/admin/pages/ListView/ListView.mjs.map +1 -1
- package/dist/admin/reducers.js +3 -4
- package/dist/admin/reducers.js.map +1 -1
- package/dist/admin/reducers.mjs +3 -4
- package/dist/admin/reducers.mjs.map +1 -1
- package/dist/admin/src/components/AttributeRow.d.ts +28 -0
- package/dist/admin/src/components/AutoReloadOverlayBlocker.d.ts +2 -2
- package/dist/admin/src/components/ComponentCard/ComponentCard.d.ts +5 -1
- package/dist/admin/src/components/ComponentList.d.ts +4 -6
- package/dist/admin/src/components/{BoxWrapper.d.ts → ComponentRow.d.ts} +5 -2
- package/dist/admin/src/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.d.ts +29 -14
- package/dist/admin/src/components/DataManager/DataManagerContext.d.ts +138 -0
- package/dist/admin/src/components/DataManager/DataManagerProvider.d.ts +6 -0
- package/dist/admin/src/components/DataManager/reducer.d.ts +278 -0
- package/dist/admin/src/components/DataManager/undoRedo.d.ts +23 -0
- package/dist/admin/src/components/DataManager/useDataManager.d.ts +1 -0
- package/dist/admin/src/components/DataManager/useServerRestartWatcher.d.ts +1 -0
- package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +311 -0
- package/dist/admin/src/components/DataManager/utils/formatSchemas.d.ts +3 -0
- package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveComponentsThatHaveComponents.d.ts +3 -3
- package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveNestedComponents.d.ts +4 -4
- package/dist/admin/src/components/DisplayedType.d.ts +2 -1
- package/dist/admin/src/components/DynamicZoneList.d.ts +8 -5
- package/dist/admin/src/components/ExitPrompt.d.ts +1 -0
- package/dist/admin/src/components/{NestedFooter.d.ts → Footers.d.ts} +5 -1
- package/dist/admin/src/components/FormModal/forms/forms.d.ts +2 -38
- package/dist/admin/src/components/FormModal/forms/utils/getUsedAttributeNames.d.ts +3 -2
- package/dist/admin/src/components/FormModal/reducer.d.ts +10 -4
- package/dist/admin/src/components/FormModal/utils/canEditContentType.d.ts +4 -4
- package/dist/admin/src/components/FormModal/utils/getAttributesToDisplay.d.ts +1 -1
- package/dist/admin/src/components/FormModalEndActions.d.ts +1 -5
- package/dist/admin/src/components/FormModalHeader.d.ts +10 -7
- package/dist/admin/src/components/FormModalNavigation/FormModalNavigationContext.d.ts +19 -0
- package/dist/admin/src/components/FormModalNavigation/FormModalNavigationProvider.d.ts +54 -0
- package/dist/admin/src/components/FormModalNavigation/useFormModalNavigation.d.ts +1 -0
- package/dist/admin/src/components/FormModalSubHeader.d.ts +3 -3
- package/dist/admin/src/components/GenericInputs.d.ts +2 -1
- package/dist/admin/src/components/List.d.ts +16 -13
- package/dist/admin/src/components/Relation/Relation.d.ts +2 -1
- package/dist/admin/src/components/Relation/RelationField/RelationField.d.ts +2 -1
- package/dist/admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.d.ts +3 -2
- package/dist/admin/src/components/Relation/RelationNaturePicker/RelationNaturePicker.d.ts +2 -1
- package/dist/admin/src/components/SelectComponents.d.ts +3 -1
- package/dist/admin/src/components/SelectNumber.d.ts +1 -7
- package/dist/admin/src/components/Status.d.ts +6 -0
- package/dist/admin/src/pages/ListView/EmptyState.d.ts +1 -0
- package/dist/admin/src/pages/ListView/LinkToCMSettingsView.d.ts +3 -4
- package/dist/admin/src/pages/ListView/ListView.d.ts +1 -1
- package/dist/admin/src/reducers.d.ts +2 -8
- package/dist/admin/src/types.d.ts +40 -43
- package/dist/admin/src/utils/findAttribute.d.ts +2 -2
- package/dist/admin/src/utils/formAPI.d.ts +43 -1
- package/dist/admin/src/utils/getMaxDepth.d.ts +2 -2
- package/dist/admin/src/utils/getRelationType.d.ts +1 -1
- package/dist/admin/src/utils/isAllowedContentTypesForRelations.d.ts +1 -1
- package/dist/admin/translations/de.json.js +0 -1
- package/dist/admin/translations/de.json.js.map +1 -1
- package/dist/admin/translations/de.json.mjs +0 -1
- package/dist/admin/translations/de.json.mjs.map +1 -1
- package/dist/admin/translations/dk.json.js +0 -1
- package/dist/admin/translations/dk.json.js.map +1 -1
- package/dist/admin/translations/dk.json.mjs +0 -1
- package/dist/admin/translations/dk.json.mjs.map +1 -1
- package/dist/admin/translations/en.json.js +4 -2
- package/dist/admin/translations/en.json.js.map +1 -1
- package/dist/admin/translations/en.json.mjs +4 -2
- package/dist/admin/translations/en.json.mjs.map +1 -1
- package/dist/admin/translations/es.json.js +0 -1
- package/dist/admin/translations/es.json.js.map +1 -1
- package/dist/admin/translations/es.json.mjs +0 -1
- package/dist/admin/translations/es.json.mjs.map +1 -1
- package/dist/admin/translations/ko.json.js +0 -1
- package/dist/admin/translations/ko.json.js.map +1 -1
- package/dist/admin/translations/ko.json.mjs +0 -1
- package/dist/admin/translations/ko.json.mjs.map +1 -1
- package/dist/admin/translations/pl.json.js +0 -1
- package/dist/admin/translations/pl.json.js.map +1 -1
- package/dist/admin/translations/pl.json.mjs +0 -1
- package/dist/admin/translations/pl.json.mjs.map +1 -1
- package/dist/admin/translations/pt-BR.json.js +0 -1
- package/dist/admin/translations/pt-BR.json.js.map +1 -1
- package/dist/admin/translations/pt-BR.json.mjs +0 -1
- package/dist/admin/translations/pt-BR.json.mjs.map +1 -1
- package/dist/admin/translations/sv.json.js +0 -1
- package/dist/admin/translations/sv.json.js.map +1 -1
- package/dist/admin/translations/sv.json.mjs +0 -1
- package/dist/admin/translations/sv.json.mjs.map +1 -1
- package/dist/admin/translations/tr.json.js +0 -1
- package/dist/admin/translations/tr.json.js.map +1 -1
- package/dist/admin/translations/tr.json.mjs +0 -1
- package/dist/admin/translations/tr.json.mjs.map +1 -1
- package/dist/admin/translations/zh.json.js +0 -1
- package/dist/admin/translations/zh.json.js.map +1 -1
- package/dist/admin/translations/zh.json.mjs +0 -1
- package/dist/admin/translations/zh.json.mjs.map +1 -1
- package/dist/admin/utils/findAttribute.js.map +1 -1
- package/dist/admin/utils/findAttribute.mjs.map +1 -1
- package/dist/admin/utils/formAPI.js +0 -1
- package/dist/admin/utils/formAPI.js.map +1 -1
- package/dist/admin/utils/formAPI.mjs +0 -1
- package/dist/admin/utils/formAPI.mjs.map +1 -1
- package/dist/admin/utils/getMaxDepth.js.map +1 -1
- package/dist/admin/utils/getMaxDepth.mjs.map +1 -1
- package/dist/admin/utils/getRelationType.js.map +1 -1
- package/dist/admin/utils/getRelationType.mjs.map +1 -1
- package/dist/admin/utils/isAllowedContentTypesForRelations.js.map +1 -1
- package/dist/admin/utils/isAllowedContentTypesForRelations.mjs.map +1 -1
- package/dist/server/controllers/index.js +3 -1
- package/dist/server/controllers/index.js.map +1 -1
- package/dist/server/controllers/index.mjs +3 -1
- package/dist/server/controllers/index.mjs.map +1 -1
- package/dist/server/controllers/schema.js +55 -0
- package/dist/server/controllers/schema.js.map +1 -0
- package/dist/server/controllers/schema.mjs +53 -0
- package/dist/server/controllers/schema.mjs.map +1 -0
- package/dist/server/controllers/validation/common.js +2 -0
- package/dist/server/controllers/validation/common.js.map +1 -1
- package/dist/server/controllers/validation/common.mjs +2 -1
- package/dist/server/controllers/validation/common.mjs.map +1 -1
- package/dist/server/controllers/validation/content-type.js.map +1 -1
- package/dist/server/controllers/validation/content-type.mjs.map +1 -1
- package/dist/server/controllers/validation/schema.js +612 -0
- package/dist/server/controllers/validation/schema.js.map +1 -0
- package/dist/server/controllers/validation/schema.mjs +610 -0
- package/dist/server/controllers/validation/schema.mjs.map +1 -0
- package/dist/server/routes/admin.js +51 -0
- package/dist/server/routes/admin.js.map +1 -1
- package/dist/server/routes/admin.mjs +51 -0
- package/dist/server/routes/admin.mjs.map +1 -1
- package/dist/server/services/index.js +3 -1
- package/dist/server/services/index.js.map +1 -1
- package/dist/server/services/index.mjs +3 -1
- package/dist/server/services/index.mjs.map +1 -1
- package/dist/server/services/schema-builder/component-builder.js +12 -2
- package/dist/server/services/schema-builder/component-builder.js.map +1 -1
- package/dist/server/services/schema-builder/component-builder.mjs +12 -2
- package/dist/server/services/schema-builder/component-builder.mjs.map +1 -1
- package/dist/server/services/schema-builder/content-type-builder.js +43 -28
- package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
- package/dist/server/services/schema-builder/content-type-builder.mjs +43 -28
- package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -1
- package/dist/server/services/schema-builder/index.js +51 -49
- package/dist/server/services/schema-builder/index.js.map +1 -1
- package/dist/server/services/schema-builder/index.mjs +51 -49
- package/dist/server/services/schema-builder/index.mjs.map +1 -1
- package/dist/server/services/schema.js +246 -0
- package/dist/server/services/schema.js.map +1 -0
- package/dist/server/services/schema.mjs +242 -0
- package/dist/server/services/schema.mjs.map +1 -0
- package/dist/server/src/controllers/index.d.ts +5 -0
- package/dist/server/src/controllers/index.d.ts.map +1 -1
- package/dist/server/src/controllers/schema.d.ts +8 -0
- package/dist/server/src/controllers/schema.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/common.d.ts +1 -0
- package/dist/server/src/controllers/validation/common.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/content-type.d.ts +3 -2
- package/dist/server/src/controllers/validation/content-type.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/schema.d.ts +80968 -0
- package/dist/server/src/controllers/validation/schema.d.ts.map +1 -0
- package/dist/server/src/index.d.ts +6 -0
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/routes/admin.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +2 -0
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/schema-builder/component-builder.d.ts +1 -0
- package/dist/server/src/services/schema-builder/component-builder.d.ts.map +1 -1
- package/dist/server/src/services/schema-builder/content-type-builder.d.ts +2 -3
- package/dist/server/src/services/schema-builder/content-type-builder.d.ts.map +1 -1
- package/dist/server/src/services/schema-builder/index.d.ts +3 -0
- package/dist/server/src/services/schema-builder/index.d.ts.map +1 -1
- package/dist/server/src/services/schema.d.ts +2756 -0
- package/dist/server/src/services/schema.d.ts.map +1 -0
- package/dist/server/src/utils/index.d.ts +2 -0
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/dist/server/utils/index.js.map +1 -1
- package/dist/server/utils/index.mjs.map +1 -1
- package/package.json +13 -8
- package/dist/admin/components/BoxWrapper.js +0 -44
- package/dist/admin/components/BoxWrapper.js.map +0 -1
- package/dist/admin/components/BoxWrapper.mjs +0 -42
- package/dist/admin/components/BoxWrapper.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/DataManagerProvider.js +0 -520
- package/dist/admin/components/DataManagerProvider/DataManagerProvider.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/DataManagerProvider.mjs +0 -518
- package/dist/admin/components/DataManagerProvider/DataManagerProvider.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/reducer.js +0 -583
- package/dist/admin/components/DataManagerProvider/reducer.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/reducer.mjs +0 -579
- package/dist/admin/components/DataManagerProvider/reducer.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/selectors.js +0 -20
- package/dist/admin/components/DataManagerProvider/selectors.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/selectors.mjs +0 -17
- package/dist/admin/components/DataManagerProvider/selectors.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/cleanData.js +0 -126
- package/dist/admin/components/DataManagerProvider/utils/cleanData.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/cleanData.mjs +0 -120
- package/dist/admin/components/DataManagerProvider/utils/cleanData.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/createDataObject.js +0 -9
- package/dist/admin/components/DataManagerProvider/utils/createDataObject.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/createDataObject.mjs +0 -7
- package/dist/admin/components/DataManagerProvider/utils/createDataObject.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.js +0 -20
- package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.mjs +0 -18
- package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/formatSchemas.js +0 -30
- package/dist/admin/components/DataManagerProvider/utils/formatSchemas.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/formatSchemas.mjs +0 -27
- package/dist/admin/components/DataManagerProvider/utils/formatSchemas.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.js +0 -46
- package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.mjs +0 -44
- package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsThatHaveComponents.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsThatHaveComponents.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/retrieveNestedComponents.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/retrieveNestedComponents.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.js +0 -37
- package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.mjs +0 -35
- package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.mjs.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/validateSchema.js +0 -9
- package/dist/admin/components/DataManagerProvider/utils/validateSchema.js.map +0 -1
- package/dist/admin/components/DataManagerProvider/utils/validateSchema.mjs +0 -7
- package/dist/admin/components/DataManagerProvider/utils/validateSchema.mjs.map +0 -1
- package/dist/admin/components/FormModal/category/createCategorySchema.js +0 -43
- package/dist/admin/components/FormModal/category/createCategorySchema.js.map +0 -1
- package/dist/admin/components/FormModal/category/createCategorySchema.mjs +0 -22
- package/dist/admin/components/FormModal/category/createCategorySchema.mjs.map +0 -1
- package/dist/admin/components/FormModal/category/form.js +0 -34
- package/dist/admin/components/FormModal/category/form.js.map +0 -1
- package/dist/admin/components/FormModal/category/form.mjs +0 -32
- package/dist/admin/components/FormModal/category/form.mjs.map +0 -1
- package/dist/admin/components/FormModal/category/regex.js +0 -6
- package/dist/admin/components/FormModal/category/regex.js.map +0 -1
- package/dist/admin/components/FormModal/category/regex.mjs +0 -4
- package/dist/admin/components/FormModal/category/regex.mjs.map +0 -1
- package/dist/admin/components/FormModal/selectors.js +0 -20
- package/dist/admin/components/FormModal/selectors.js.map +0 -1
- package/dist/admin/components/FormModal/selectors.mjs +0 -17
- package/dist/admin/components/FormModal/selectors.mjs.map +0 -1
- package/dist/admin/components/FormModalNavigationProvider/FormModalNavigationProvider.js.map +0 -1
- package/dist/admin/components/FormModalNavigationProvider/FormModalNavigationProvider.mjs.map +0 -1
- package/dist/admin/components/FormModalNavigationProvider/constants.js +0 -21
- package/dist/admin/components/FormModalNavigationProvider/constants.js.map +0 -1
- package/dist/admin/components/FormModalNavigationProvider/constants.mjs +0 -19
- package/dist/admin/components/FormModalNavigationProvider/constants.mjs.map +0 -1
- package/dist/admin/components/ListRow.js +0 -164
- package/dist/admin/components/ListRow.js.map +0 -1
- package/dist/admin/components/ListRow.mjs +0 -161
- package/dist/admin/components/ListRow.mjs.map +0 -1
- package/dist/admin/components/NestedFooter.js.map +0 -1
- package/dist/admin/components/NestedFooter.mjs.map +0 -1
- package/dist/admin/components/Tr.js.map +0 -1
- package/dist/admin/components/Tr.mjs.map +0 -1
- package/dist/admin/components/UpperFirst.js +0 -11
- package/dist/admin/components/UpperFirst.js.map +0 -1
- package/dist/admin/components/UpperFirst.mjs +0 -9
- package/dist/admin/components/UpperFirst.mjs.map +0 -1
- package/dist/admin/contexts/DataManagerContext.js.map +0 -1
- package/dist/admin/contexts/DataManagerContext.mjs.map +0 -1
- package/dist/admin/contexts/FormModalNavigationContext.js.map +0 -1
- package/dist/admin/contexts/FormModalNavigationContext.mjs.map +0 -1
- package/dist/admin/hooks/useDataManager.js.map +0 -1
- package/dist/admin/hooks/useDataManager.mjs.map +0 -1
- package/dist/admin/hooks/useFormModalNavigation.js.map +0 -1
- package/dist/admin/hooks/useFormModalNavigation.mjs.map +0 -1
- package/dist/admin/src/components/DataManagerProvider/DataManagerProvider.d.ts +0 -6
- package/dist/admin/src/components/DataManagerProvider/reducer.d.ts +0 -103
- package/dist/admin/src/components/DataManagerProvider/selectors.d.ts +0 -17
- package/dist/admin/src/components/DataManagerProvider/utils/cleanData.d.ts +0 -23
- package/dist/admin/src/components/DataManagerProvider/utils/createDataObject.d.ts +0 -2
- package/dist/admin/src/components/DataManagerProvider/utils/createModifiedDataSchema.d.ts +0 -6
- package/dist/admin/src/components/DataManagerProvider/utils/formatSchemas.d.ts +0 -6
- package/dist/admin/src/components/DataManagerProvider/utils/retrieveComponentsFromSchema.d.ts +0 -4
- package/dist/admin/src/components/DataManagerProvider/utils/serverRestartWatcher.d.ts +0 -6
- package/dist/admin/src/components/DataManagerProvider/utils/validateSchema.d.ts +0 -1
- package/dist/admin/src/components/FormModal/category/createCategorySchema.d.ts +0 -5
- package/dist/admin/src/components/FormModal/category/form.d.ts +0 -20
- package/dist/admin/src/components/FormModal/category/regex.d.ts +0 -1
- package/dist/admin/src/components/FormModal/selectors.d.ts +0 -16
- package/dist/admin/src/components/FormModalNavigationProvider/FormModalNavigationProvider.d.ts +0 -22
- package/dist/admin/src/components/FormModalNavigationProvider/constants.d.ts +0 -17
- package/dist/admin/src/components/ListRow.d.ts +0 -27
- package/dist/admin/src/components/Tr.d.ts +0 -5
- package/dist/admin/src/components/UpperFirst.d.ts +0 -3
- package/dist/admin/src/contexts/DataManagerContext.d.ts +0 -41
- package/dist/admin/src/contexts/FormModalNavigationContext.d.ts +0 -40
- package/dist/admin/src/hooks/useDataManager.d.ts +0 -1
- package/dist/admin/src/hooks/useFormModalNavigation.d.ts +0 -1
- /package/dist/admin/{contexts → components/DataManager}/DataManagerContext.js +0 -0
- /package/dist/admin/{contexts → components/DataManager}/DataManagerContext.mjs +0 -0
- /package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.js +0 -0
- /package/dist/admin/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.mjs +0 -0
- /package/dist/admin/{contexts → components/FormModalNavigation}/FormModalNavigationContext.js +0 -0
- /package/dist/admin/{contexts → components/FormModalNavigation}/FormModalNavigationContext.mjs +0 -0
- /package/dist/admin/src/components/{DataManagerProvider → DataManager}/utils/retrieveSpecificInfoFromComponents.d.ts +0 -0
package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js
CHANGED
|
@@ -4,8 +4,8 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
var designSystem = require('@strapi/design-system');
|
|
5
5
|
var reactRedux = require('react-redux');
|
|
6
6
|
var styledComponents = require('styled-components');
|
|
7
|
-
var useDataManager = require('../../../../hooks/useDataManager.js');
|
|
8
7
|
var isAllowedContentTypesForRelations = require('../../../../utils/isAllowedContentTypesForRelations.js');
|
|
8
|
+
var useDataManager = require('../../../DataManager/useDataManager.js');
|
|
9
9
|
var reducer = require('../../../FormModal/reducer.js');
|
|
10
10
|
|
|
11
11
|
const RelationTargetPicker = ({ oneThatIsCreatingARelationWithAnother, target })=>{
|
|
@@ -13,9 +13,10 @@ const RelationTargetPicker = ({ oneThatIsCreatingARelationWithAnother, target })
|
|
|
13
13
|
const dispatch = reactRedux.useDispatch();
|
|
14
14
|
// TODO: replace with an obj { relation: 'x', bidirctional: true|false }
|
|
15
15
|
const allowedContentTypesForRelation = sortedContentTypesList.filter(isAllowedContentTypesForRelations.isAllowedContentTypesForRelations);
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
const type = contentTypes[target];
|
|
17
|
+
if (!type) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
19
20
|
const handleSelect = ({ uid, plugin, title, restrictRelationsTo })=>()=>{
|
|
20
21
|
const selectedContentTypeFriendlyName = plugin ? `${plugin}_${title}` : title;
|
|
21
22
|
dispatch(reducer.actions.onChangeRelationTarget({
|
|
@@ -34,7 +35,7 @@ const RelationTargetPicker = ({ oneThatIsCreatingARelationWithAnother, target })
|
|
|
34
35
|
*/ return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Menu.Root, {
|
|
35
36
|
children: [
|
|
36
37
|
/*#__PURE__*/ jsxRuntime.jsx(MenuTrigger, {
|
|
37
|
-
children: `${displayName} ${plugin ? `(from: ${plugin})` : ''}`
|
|
38
|
+
children: `${type.info.displayName} ${type.plugin ? `(from: ${type.plugin})` : ''}`
|
|
38
39
|
}),
|
|
39
40
|
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Menu.Content, {
|
|
40
41
|
zIndex: "popover",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelationTargetPicker.js","sources":["../../../../../../admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.tsx"],"sourcesContent":["import { Menu } from '@strapi/design-system';\nimport { useDispatch } from 'react-redux';\nimport { styled } from 'styled-components';\n\nimport {
|
|
1
|
+
{"version":3,"file":"RelationTargetPicker.js","sources":["../../../../../../admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.tsx"],"sourcesContent":["import { Menu } from '@strapi/design-system';\nimport { useDispatch } from 'react-redux';\nimport { styled } from 'styled-components';\n\nimport { isAllowedContentTypesForRelations } from '../../../../utils';\nimport { useDataManager } from '../../../DataManager/useDataManager';\nimport { actions } from '../../../FormModal/reducer';\n\nimport type { Internal, Schema } from '@strapi/types';\ninterface RelationTargetPickerProps {\n oneThatIsCreatingARelationWithAnother: string;\n target: Internal.UID.ContentType;\n}\n\ntype SelectOpts = {\n uid: string;\n plugin?: string;\n title: string;\n restrictRelationsTo: Schema.Attribute.RelationKind.Any[] | null;\n};\n\nexport const RelationTargetPicker = ({\n oneThatIsCreatingARelationWithAnother,\n target,\n}: RelationTargetPickerProps) => {\n const { contentTypes, sortedContentTypesList } = useDataManager();\n const dispatch = useDispatch();\n // TODO: replace with an obj { relation: 'x', bidirctional: true|false }\n const allowedContentTypesForRelation = sortedContentTypesList.filter(\n isAllowedContentTypesForRelations\n );\n\n const type = contentTypes[target];\n\n if (!type) {\n return null;\n }\n\n const handleSelect =\n ({ uid, plugin, title, restrictRelationsTo }: SelectOpts) =>\n () => {\n const selectedContentTypeFriendlyName = plugin ? `${plugin}_${title}` : title;\n\n dispatch(\n actions.onChangeRelationTarget({\n target: {\n value: uid,\n oneThatIsCreatingARelationWithAnother,\n selectedContentTypeFriendlyName,\n targetContentTypeAllowedRelations: restrictRelationsTo,\n },\n })\n );\n };\n\n /**\n * TODO: This should be a Select but the design doesn't match the\n * styles of the select component and there isn't the ability to\n * change it correctly.\n */\n return (\n <Menu.Root>\n <MenuTrigger>{`${type.info.displayName} ${type.plugin ? `(from: ${type.plugin})` : ''}`}</MenuTrigger>\n <Menu.Content zIndex=\"popover\">\n {allowedContentTypesForRelation.map(({ uid, title, restrictRelationsTo, plugin }) => (\n <Menu.Item key={uid} onSelect={handleSelect({ uid, plugin, title, restrictRelationsTo })}>\n {title} \n {plugin && <>(from: {plugin})</>}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n );\n};\n\nconst MenuTrigger = styled(Menu.Trigger)`\n max-width: 16.8rem;\n span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n`;\n"],"names":["RelationTargetPicker","oneThatIsCreatingARelationWithAnother","target","contentTypes","sortedContentTypesList","useDataManager","dispatch","useDispatch","allowedContentTypesForRelation","filter","isAllowedContentTypesForRelations","type","handleSelect","uid","plugin","title","restrictRelationsTo","selectedContentTypeFriendlyName","actions","onChangeRelationTarget","value","targetContentTypeAllowedRelations","_jsxs","Menu","Root","_jsx","MenuTrigger","info","displayName","Content","zIndex","map","Item","onSelect","_Fragment","styled","Trigger"],"mappings":";;;;;;;;;;MAqBaA,oBAAuB,GAAA,CAAC,EACnCC,qCAAqC,EACrCC,MAAM,EACoB,GAAA;AAC1B,IAAA,MAAM,EAAEC,YAAY,EAAEC,sBAAsB,EAAE,GAAGC,6BAAAA,EAAAA;AACjD,IAAA,MAAMC,QAAWC,GAAAA,sBAAAA,EAAAA;;IAEjB,MAAMC,8BAAAA,GAAiCJ,sBAAuBK,CAAAA,MAAM,CAClEC,mEAAAA,CAAAA;IAGF,MAAMC,IAAAA,GAAOR,YAAY,CAACD,MAAO,CAAA;AAEjC,IAAA,IAAI,CAACS,IAAM,EAAA;QACT,OAAO,IAAA;AACT;IAEA,MAAMC,YAAAA,GACJ,CAAC,EAAEC,GAAG,EAAEC,MAAM,EAAEC,KAAK,EAAEC,mBAAmB,EAAc,GACxD,IAAA;YACE,MAAMC,+BAAAA,GAAkCH,SAAS,CAAC,EAAEA,OAAO,CAAC,EAAEC,KAAM,CAAA,CAAC,GAAGA,KAAAA;YAExET,QACEY,CAAAA,eAAAA,CAAQC,sBAAsB,CAAC;gBAC7BjB,MAAQ,EAAA;oBACNkB,KAAOP,EAAAA,GAAAA;AACPZ,oBAAAA,qCAAAA;AACAgB,oBAAAA,+BAAAA;oBACAI,iCAAmCL,EAAAA;AACrC;AACF,aAAA,CAAA,CAAA;AAEJ,SAAA;AAEF;;;;MAKA,qBACEM,eAACC,CAAAA,iBAAAA,CAAKC,IAAI,EAAA;;0BACRC,cAACC,CAAAA,WAAAA,EAAAA;0BAAa,CAAC,EAAEf,KAAKgB,IAAI,CAACC,WAAW,CAAC,CAAC,EAAEjB,IAAKG,CAAAA,MAAM,GAAG,CAAC,OAAO,EAAEH,IAAKG,CAAAA,MAAM,CAAC,CAAC,CAAC,GAAG,EAAA,CAAG;;AACtF,0BAAAW,cAAA,CAACF,kBAAKM,OAAO,EAAA;gBAACC,MAAO,EAAA,SAAA;AAClBtB,gBAAAA,QAAAA,EAAAA,8BAAAA,CAA+BuB,GAAG,CAAC,CAAC,EAAElB,GAAG,EAAEE,KAAK,EAAEC,mBAAmB,EAAEF,MAAM,EAAE,iBAC9EQ,eAAA,CAACC,kBAAKS,IAAI,EAAA;AAAWC,wBAAAA,QAAAA,EAAUrB,YAAa,CAAA;AAAEC,4BAAAA,GAAAA;AAAKC,4BAAAA,MAAAA;AAAQC,4BAAAA,KAAAA;AAAOC,4BAAAA;AAAoB,yBAAA,CAAA;;AACnFD,4BAAAA,KAAAA;AAAM,4BAAA,GAAA;4BACND,MAAU,kBAAAQ,eAAA,CAAAY,mBAAA,EAAA;;AAAE,oCAAA,SAAA;AAAQpB,oCAAAA,MAAAA;AAAO,oCAAA;;;;AAFdD,qBAAAA,EAAAA,GAAAA,CAAAA;;;;AAQ1B;AAEA,MAAMa,WAAcS,GAAAA,uBAAAA,CAAOZ,iBAAKa,CAAAA,OAAO,CAAC;;;;;;;AAOxC,CAAC;;;;"}
|
package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs
CHANGED
|
@@ -2,8 +2,8 @@ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
|
2
2
|
import { Menu } from '@strapi/design-system';
|
|
3
3
|
import { useDispatch } from 'react-redux';
|
|
4
4
|
import { styled } from 'styled-components';
|
|
5
|
-
import { useDataManager } from '../../../../hooks/useDataManager.mjs';
|
|
6
5
|
import { isAllowedContentTypesForRelations } from '../../../../utils/isAllowedContentTypesForRelations.mjs';
|
|
6
|
+
import { useDataManager } from '../../../DataManager/useDataManager.mjs';
|
|
7
7
|
import { actions } from '../../../FormModal/reducer.mjs';
|
|
8
8
|
|
|
9
9
|
const RelationTargetPicker = ({ oneThatIsCreatingARelationWithAnother, target })=>{
|
|
@@ -11,9 +11,10 @@ const RelationTargetPicker = ({ oneThatIsCreatingARelationWithAnother, target })
|
|
|
11
11
|
const dispatch = useDispatch();
|
|
12
12
|
// TODO: replace with an obj { relation: 'x', bidirctional: true|false }
|
|
13
13
|
const allowedContentTypesForRelation = sortedContentTypesList.filter(isAllowedContentTypesForRelations);
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
const type = contentTypes[target];
|
|
15
|
+
if (!type) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
17
18
|
const handleSelect = ({ uid, plugin, title, restrictRelationsTo })=>()=>{
|
|
18
19
|
const selectedContentTypeFriendlyName = plugin ? `${plugin}_${title}` : title;
|
|
19
20
|
dispatch(actions.onChangeRelationTarget({
|
|
@@ -32,7 +33,7 @@ const RelationTargetPicker = ({ oneThatIsCreatingARelationWithAnother, target })
|
|
|
32
33
|
*/ return /*#__PURE__*/ jsxs(Menu.Root, {
|
|
33
34
|
children: [
|
|
34
35
|
/*#__PURE__*/ jsx(MenuTrigger, {
|
|
35
|
-
children: `${displayName} ${plugin ? `(from: ${plugin})` : ''}`
|
|
36
|
+
children: `${type.info.displayName} ${type.plugin ? `(from: ${type.plugin})` : ''}`
|
|
36
37
|
}),
|
|
37
38
|
/*#__PURE__*/ jsx(Menu.Content, {
|
|
38
39
|
zIndex: "popover",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelationTargetPicker.mjs","sources":["../../../../../../admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.tsx"],"sourcesContent":["import { Menu } from '@strapi/design-system';\nimport { useDispatch } from 'react-redux';\nimport { styled } from 'styled-components';\n\nimport {
|
|
1
|
+
{"version":3,"file":"RelationTargetPicker.mjs","sources":["../../../../../../admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.tsx"],"sourcesContent":["import { Menu } from '@strapi/design-system';\nimport { useDispatch } from 'react-redux';\nimport { styled } from 'styled-components';\n\nimport { isAllowedContentTypesForRelations } from '../../../../utils';\nimport { useDataManager } from '../../../DataManager/useDataManager';\nimport { actions } from '../../../FormModal/reducer';\n\nimport type { Internal, Schema } from '@strapi/types';\ninterface RelationTargetPickerProps {\n oneThatIsCreatingARelationWithAnother: string;\n target: Internal.UID.ContentType;\n}\n\ntype SelectOpts = {\n uid: string;\n plugin?: string;\n title: string;\n restrictRelationsTo: Schema.Attribute.RelationKind.Any[] | null;\n};\n\nexport const RelationTargetPicker = ({\n oneThatIsCreatingARelationWithAnother,\n target,\n}: RelationTargetPickerProps) => {\n const { contentTypes, sortedContentTypesList } = useDataManager();\n const dispatch = useDispatch();\n // TODO: replace with an obj { relation: 'x', bidirctional: true|false }\n const allowedContentTypesForRelation = sortedContentTypesList.filter(\n isAllowedContentTypesForRelations\n );\n\n const type = contentTypes[target];\n\n if (!type) {\n return null;\n }\n\n const handleSelect =\n ({ uid, plugin, title, restrictRelationsTo }: SelectOpts) =>\n () => {\n const selectedContentTypeFriendlyName = plugin ? `${plugin}_${title}` : title;\n\n dispatch(\n actions.onChangeRelationTarget({\n target: {\n value: uid,\n oneThatIsCreatingARelationWithAnother,\n selectedContentTypeFriendlyName,\n targetContentTypeAllowedRelations: restrictRelationsTo,\n },\n })\n );\n };\n\n /**\n * TODO: This should be a Select but the design doesn't match the\n * styles of the select component and there isn't the ability to\n * change it correctly.\n */\n return (\n <Menu.Root>\n <MenuTrigger>{`${type.info.displayName} ${type.plugin ? `(from: ${type.plugin})` : ''}`}</MenuTrigger>\n <Menu.Content zIndex=\"popover\">\n {allowedContentTypesForRelation.map(({ uid, title, restrictRelationsTo, plugin }) => (\n <Menu.Item key={uid} onSelect={handleSelect({ uid, plugin, title, restrictRelationsTo })}>\n {title} \n {plugin && <>(from: {plugin})</>}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n );\n};\n\nconst MenuTrigger = styled(Menu.Trigger)`\n max-width: 16.8rem;\n span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n`;\n"],"names":["RelationTargetPicker","oneThatIsCreatingARelationWithAnother","target","contentTypes","sortedContentTypesList","useDataManager","dispatch","useDispatch","allowedContentTypesForRelation","filter","isAllowedContentTypesForRelations","type","handleSelect","uid","plugin","title","restrictRelationsTo","selectedContentTypeFriendlyName","actions","onChangeRelationTarget","value","targetContentTypeAllowedRelations","_jsxs","Menu","Root","_jsx","MenuTrigger","info","displayName","Content","zIndex","map","Item","onSelect","_Fragment","styled","Trigger"],"mappings":";;;;;;;;MAqBaA,oBAAuB,GAAA,CAAC,EACnCC,qCAAqC,EACrCC,MAAM,EACoB,GAAA;AAC1B,IAAA,MAAM,EAAEC,YAAY,EAAEC,sBAAsB,EAAE,GAAGC,cAAAA,EAAAA;AACjD,IAAA,MAAMC,QAAWC,GAAAA,WAAAA,EAAAA;;IAEjB,MAAMC,8BAAAA,GAAiCJ,sBAAuBK,CAAAA,MAAM,CAClEC,iCAAAA,CAAAA;IAGF,MAAMC,IAAAA,GAAOR,YAAY,CAACD,MAAO,CAAA;AAEjC,IAAA,IAAI,CAACS,IAAM,EAAA;QACT,OAAO,IAAA;AACT;IAEA,MAAMC,YAAAA,GACJ,CAAC,EAAEC,GAAG,EAAEC,MAAM,EAAEC,KAAK,EAAEC,mBAAmB,EAAc,GACxD,IAAA;YACE,MAAMC,+BAAAA,GAAkCH,SAAS,CAAC,EAAEA,OAAO,CAAC,EAAEC,KAAM,CAAA,CAAC,GAAGA,KAAAA;YAExET,QACEY,CAAAA,OAAAA,CAAQC,sBAAsB,CAAC;gBAC7BjB,MAAQ,EAAA;oBACNkB,KAAOP,EAAAA,GAAAA;AACPZ,oBAAAA,qCAAAA;AACAgB,oBAAAA,+BAAAA;oBACAI,iCAAmCL,EAAAA;AACrC;AACF,aAAA,CAAA,CAAA;AAEJ,SAAA;AAEF;;;;MAKA,qBACEM,IAACC,CAAAA,IAAAA,CAAKC,IAAI,EAAA;;0BACRC,GAACC,CAAAA,WAAAA,EAAAA;0BAAa,CAAC,EAAEf,KAAKgB,IAAI,CAACC,WAAW,CAAC,CAAC,EAAEjB,IAAKG,CAAAA,MAAM,GAAG,CAAC,OAAO,EAAEH,IAAKG,CAAAA,MAAM,CAAC,CAAC,CAAC,GAAG,EAAA,CAAG;;AACtF,0BAAAW,GAAA,CAACF,KAAKM,OAAO,EAAA;gBAACC,MAAO,EAAA,SAAA;AAClBtB,gBAAAA,QAAAA,EAAAA,8BAAAA,CAA+BuB,GAAG,CAAC,CAAC,EAAElB,GAAG,EAAEE,KAAK,EAAEC,mBAAmB,EAAEF,MAAM,EAAE,iBAC9EQ,IAAA,CAACC,KAAKS,IAAI,EAAA;AAAWC,wBAAAA,QAAAA,EAAUrB,YAAa,CAAA;AAAEC,4BAAAA,GAAAA;AAAKC,4BAAAA,MAAAA;AAAQC,4BAAAA,KAAAA;AAAOC,4BAAAA;AAAoB,yBAAA,CAAA;;AACnFD,4BAAAA,KAAAA;AAAM,4BAAA,GAAA;4BACND,MAAU,kBAAAQ,IAAA,CAAAY,QAAA,EAAA;;AAAE,oCAAA,SAAA;AAAQpB,oCAAAA,MAAAA;AAAO,oCAAA;;;;AAFdD,qBAAAA,EAAAA,GAAAA,CAAAA;;;;AAQ1B;AAEA,MAAMa,WAAcS,GAAAA,MAAAA,CAAOZ,IAAKa,CAAAA,OAAO,CAAC;;;;;;;AAOxC,CAAC;;;;"}
|
|
@@ -8,8 +8,8 @@ var truncate = require('lodash/truncate');
|
|
|
8
8
|
var pluralize = require('pluralize');
|
|
9
9
|
var reactIntl = require('react-intl');
|
|
10
10
|
var reactRedux = require('react-redux');
|
|
11
|
-
var useDataManager = require('../../../hooks/useDataManager.js');
|
|
12
11
|
var getTrad = require('../../../utils/getTrad.js');
|
|
12
|
+
var useDataManager = require('../../DataManager/useDataManager.js');
|
|
13
13
|
var reducer = require('../../FormModal/reducer.js');
|
|
14
14
|
var Components = require('./Components.js');
|
|
15
15
|
|
|
@@ -21,32 +21,31 @@ const relations = {
|
|
|
21
21
|
manyToMany: Icons.ManyToMany,
|
|
22
22
|
manyWay: Icons.ManyWays
|
|
23
23
|
};
|
|
24
|
-
const
|
|
24
|
+
const ctRelations = [
|
|
25
|
+
'oneWay',
|
|
26
|
+
'oneToOne',
|
|
27
|
+
'oneToMany',
|
|
28
|
+
'manyToOne',
|
|
29
|
+
'manyToMany',
|
|
30
|
+
'manyWay'
|
|
31
|
+
];
|
|
32
|
+
const componentRelations = [
|
|
33
|
+
'oneWay',
|
|
34
|
+
'manyWay'
|
|
35
|
+
];
|
|
36
|
+
const RelationNaturePicker = ({ naturePickerType, oneThatIsCreatingARelationWithAnother, relationType, target, targetUid })=>{
|
|
25
37
|
const dispatch = reactRedux.useDispatch();
|
|
26
38
|
const { formatMessage } = reactIntl.useIntl();
|
|
27
|
-
const { contentTypes
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
'oneToOne',
|
|
31
|
-
'oneToMany',
|
|
32
|
-
'manyToOne',
|
|
33
|
-
'manyToMany',
|
|
34
|
-
'manyWay'
|
|
35
|
-
];
|
|
36
|
-
const componentRelations = [
|
|
37
|
-
'oneWay',
|
|
38
|
-
'manyWay'
|
|
39
|
-
];
|
|
40
|
-
const dataType = naturePickerType === 'contentType' ? get(modifiedData, [
|
|
41
|
-
naturePickerType,
|
|
42
|
-
'schema',
|
|
39
|
+
const { contentTypes } = useDataManager.useDataManager();
|
|
40
|
+
const dataType = naturePickerType === 'component' ? 'component' : get(contentTypes, [
|
|
41
|
+
targetUid,
|
|
43
42
|
'kind'
|
|
44
|
-
], '')
|
|
43
|
+
], '');
|
|
45
44
|
const relationsType = dataType === 'collectionType' ? ctRelations : componentRelations;
|
|
46
45
|
const areDisplayedNamesInverted = relationType === 'manyToOne';
|
|
47
46
|
const targetLabel = get(contentTypes, [
|
|
48
47
|
target,
|
|
49
|
-
'
|
|
48
|
+
'info',
|
|
50
49
|
'displayName'
|
|
51
50
|
], 'unknown');
|
|
52
51
|
const leftTarget = areDisplayedNamesInverted ? targetLabel : oneThatIsCreatingARelationWithAnother;
|
|
@@ -54,7 +53,6 @@ const RelationNaturePicker = ({ naturePickerType, oneThatIsCreatingARelationWith
|
|
|
54
53
|
const leftDisplayedValue = pluralize(leftTarget, relationType === 'manyToMany' ? 2 : 1);
|
|
55
54
|
const restrictedRelations = get(contentTypes, [
|
|
56
55
|
target,
|
|
57
|
-
'schema',
|
|
58
56
|
'restrictRelationsTo'
|
|
59
57
|
], null);
|
|
60
58
|
const rightDisplayedValue = pluralize(rightTarget, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelationNaturePicker.js","sources":["../../../../../admin/src/components/Relation/RelationNaturePicker/RelationNaturePicker.tsx"],"sourcesContent":["import { Flex, KeyboardNavigable, Typography } from '@strapi/design-system';\nimport {\n ManyToMany,\n ManyToOne,\n ManyWays as ManyWay,\n OneToMany,\n OneToOne,\n OneWay,\n} from '@strapi/icons';\nimport get from 'lodash/get';\nimport truncate from 'lodash/truncate';\nimport pluralize from 'pluralize';\nimport { useIntl } from 'react-intl';\nimport { useDispatch } from 'react-redux';\n\nimport {
|
|
1
|
+
{"version":3,"file":"RelationNaturePicker.js","sources":["../../../../../admin/src/components/Relation/RelationNaturePicker/RelationNaturePicker.tsx"],"sourcesContent":["import { Flex, KeyboardNavigable, Typography } from '@strapi/design-system';\nimport {\n ManyToMany,\n ManyToOne,\n ManyWays as ManyWay,\n OneToMany,\n OneToOne,\n OneWay,\n} from '@strapi/icons';\nimport get from 'lodash/get';\nimport truncate from 'lodash/truncate';\nimport pluralize from 'pluralize';\nimport { useIntl } from 'react-intl';\nimport { useDispatch } from 'react-redux';\n\nimport { getTrad } from '../../../utils/getTrad';\nimport { useDataManager } from '../../DataManager/useDataManager';\nimport { actions } from '../../FormModal/reducer';\n\nimport { IconWrapper, InfosWrapper, Wrapper } from './Components';\n\nconst relations = {\n oneWay: OneWay,\n oneToOne: OneToOne,\n oneToMany: OneToMany,\n manyToOne: ManyToOne,\n manyToMany: ManyToMany,\n manyWay: ManyWay,\n};\n\ntype RelationType = keyof typeof relations;\n\ninterface RelationNaturePickerProps {\n naturePickerType: string;\n oneThatIsCreatingARelationWithAnother: string;\n relationType: string;\n target: string;\n targetUid: string;\n}\n\nconst ctRelations = ['oneWay', 'oneToOne', 'oneToMany', 'manyToOne', 'manyToMany', 'manyWay'];\nconst componentRelations = ['oneWay', 'manyWay'];\n\nexport const RelationNaturePicker = ({\n naturePickerType,\n oneThatIsCreatingARelationWithAnother,\n relationType,\n target,\n targetUid,\n}: RelationNaturePickerProps) => {\n const dispatch = useDispatch();\n const { formatMessage } = useIntl();\n\n const { contentTypes } = useDataManager();\n\n const dataType =\n naturePickerType === 'component' ? 'component' : get(contentTypes, [targetUid, 'kind'], '');\n\n const relationsType = (\n dataType === 'collectionType' ? ctRelations : componentRelations\n ) as RelationType[];\n\n const areDisplayedNamesInverted = relationType === 'manyToOne';\n const targetLabel = get(contentTypes, [target, 'info', 'displayName'], 'unknown');\n const leftTarget = areDisplayedNamesInverted\n ? targetLabel\n : oneThatIsCreatingARelationWithAnother;\n const rightTarget = areDisplayedNamesInverted\n ? oneThatIsCreatingARelationWithAnother\n : targetLabel;\n const leftDisplayedValue = pluralize(leftTarget, relationType === 'manyToMany' ? 2 : 1);\n const restrictedRelations = get(contentTypes, [target, 'restrictRelationsTo'], null);\n\n const rightDisplayedValue = pluralize(\n rightTarget,\n ['manyToMany', 'oneToMany', 'manyToOne', 'manyWay'].includes(relationType) ? 2 : 1\n );\n\n if (!relationType) {\n return null;\n }\n\n return (\n <Flex style={{ flex: 1 }}>\n <Wrapper>\n <Flex paddingLeft={9} paddingRight={9} paddingTop={1} justifyContent=\"center\">\n <KeyboardNavigable tagName=\"button\">\n <Flex gap={3}>\n {relationsType.map((relation) => {\n const Asset = relations[relation];\n const isEnabled =\n restrictedRelations === null || restrictedRelations.includes(relation);\n\n return (\n <IconWrapper\n tag=\"button\"\n $isSelected={relationType === relation}\n disabled={!isEnabled}\n key={relation}\n onClick={() => {\n if (isEnabled) {\n dispatch(\n actions.onChangeRelationType({\n target: {\n oneThatIsCreatingARelationWithAnother,\n value: relation,\n },\n })\n );\n }\n }}\n padding={2}\n type=\"button\"\n aria-label={formatMessage({ id: getTrad(`relation.${relation}`) })}\n aria-pressed={relationType === relation}\n data-relation-type={relation}\n >\n <Asset key={relation} aria-hidden=\"true\" />\n </IconWrapper>\n );\n })}\n </Flex>\n </KeyboardNavigable>\n </Flex>\n </Wrapper>\n <InfosWrapper justifyContent=\"center\">\n <Typography>{truncate(leftDisplayedValue, { length: 24 })} </Typography>\n <Typography textColor=\"primary600\">\n {formatMessage({ id: getTrad(`relation.${relationType}`) })} \n </Typography>\n <Typography>{truncate(rightDisplayedValue, { length: 24 })}</Typography>\n </InfosWrapper>\n </Flex>\n );\n};\n"],"names":["relations","oneWay","OneWay","oneToOne","OneToOne","oneToMany","OneToMany","manyToOne","ManyToOne","manyToMany","ManyToMany","manyWay","ManyWay","ctRelations","componentRelations","RelationNaturePicker","naturePickerType","oneThatIsCreatingARelationWithAnother","relationType","target","targetUid","dispatch","useDispatch","formatMessage","useIntl","contentTypes","useDataManager","dataType","get","relationsType","areDisplayedNamesInverted","targetLabel","leftTarget","rightTarget","leftDisplayedValue","pluralize","restrictedRelations","rightDisplayedValue","includes","_jsxs","Flex","style","flex","_jsx","Wrapper","paddingLeft","paddingRight","paddingTop","justifyContent","KeyboardNavigable","tagName","gap","map","relation","Asset","isEnabled","IconWrapper","tag","$isSelected","disabled","onClick","actions","onChangeRelationType","value","padding","type","aria-label","id","getTrad","aria-pressed","data-relation-type","aria-hidden","InfosWrapper","Typography","truncate","length","textColor"],"mappings":"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"}
|
|
@@ -6,8 +6,8 @@ import truncate from 'lodash/truncate';
|
|
|
6
6
|
import pluralize from 'pluralize';
|
|
7
7
|
import { useIntl } from 'react-intl';
|
|
8
8
|
import { useDispatch } from 'react-redux';
|
|
9
|
-
import { useDataManager } from '../../../hooks/useDataManager.mjs';
|
|
10
9
|
import { getTrad } from '../../../utils/getTrad.mjs';
|
|
10
|
+
import { useDataManager } from '../../DataManager/useDataManager.mjs';
|
|
11
11
|
import { actions } from '../../FormModal/reducer.mjs';
|
|
12
12
|
import { Wrapper, IconWrapper, InfosWrapper } from './Components.mjs';
|
|
13
13
|
|
|
@@ -19,32 +19,31 @@ const relations = {
|
|
|
19
19
|
manyToMany: ManyToMany,
|
|
20
20
|
manyWay: ManyWays
|
|
21
21
|
};
|
|
22
|
-
const
|
|
22
|
+
const ctRelations = [
|
|
23
|
+
'oneWay',
|
|
24
|
+
'oneToOne',
|
|
25
|
+
'oneToMany',
|
|
26
|
+
'manyToOne',
|
|
27
|
+
'manyToMany',
|
|
28
|
+
'manyWay'
|
|
29
|
+
];
|
|
30
|
+
const componentRelations = [
|
|
31
|
+
'oneWay',
|
|
32
|
+
'manyWay'
|
|
33
|
+
];
|
|
34
|
+
const RelationNaturePicker = ({ naturePickerType, oneThatIsCreatingARelationWithAnother, relationType, target, targetUid })=>{
|
|
23
35
|
const dispatch = useDispatch();
|
|
24
36
|
const { formatMessage } = useIntl();
|
|
25
|
-
const { contentTypes
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
'oneToOne',
|
|
29
|
-
'oneToMany',
|
|
30
|
-
'manyToOne',
|
|
31
|
-
'manyToMany',
|
|
32
|
-
'manyWay'
|
|
33
|
-
];
|
|
34
|
-
const componentRelations = [
|
|
35
|
-
'oneWay',
|
|
36
|
-
'manyWay'
|
|
37
|
-
];
|
|
38
|
-
const dataType = naturePickerType === 'contentType' ? get(modifiedData, [
|
|
39
|
-
naturePickerType,
|
|
40
|
-
'schema',
|
|
37
|
+
const { contentTypes } = useDataManager();
|
|
38
|
+
const dataType = naturePickerType === 'component' ? 'component' : get(contentTypes, [
|
|
39
|
+
targetUid,
|
|
41
40
|
'kind'
|
|
42
|
-
], '')
|
|
41
|
+
], '');
|
|
43
42
|
const relationsType = dataType === 'collectionType' ? ctRelations : componentRelations;
|
|
44
43
|
const areDisplayedNamesInverted = relationType === 'manyToOne';
|
|
45
44
|
const targetLabel = get(contentTypes, [
|
|
46
45
|
target,
|
|
47
|
-
'
|
|
46
|
+
'info',
|
|
48
47
|
'displayName'
|
|
49
48
|
], 'unknown');
|
|
50
49
|
const leftTarget = areDisplayedNamesInverted ? targetLabel : oneThatIsCreatingARelationWithAnother;
|
|
@@ -52,7 +51,6 @@ const RelationNaturePicker = ({ naturePickerType, oneThatIsCreatingARelationWith
|
|
|
52
51
|
const leftDisplayedValue = pluralize(leftTarget, relationType === 'manyToMany' ? 2 : 1);
|
|
53
52
|
const restrictedRelations = get(contentTypes, [
|
|
54
53
|
target,
|
|
55
|
-
'schema',
|
|
56
54
|
'restrictRelationsTo'
|
|
57
55
|
], null);
|
|
58
56
|
const rightDisplayedValue = pluralize(rightTarget, [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelationNaturePicker.mjs","sources":["../../../../../admin/src/components/Relation/RelationNaturePicker/RelationNaturePicker.tsx"],"sourcesContent":["import { Flex, KeyboardNavigable, Typography } from '@strapi/design-system';\nimport {\n ManyToMany,\n ManyToOne,\n ManyWays as ManyWay,\n OneToMany,\n OneToOne,\n OneWay,\n} from '@strapi/icons';\nimport get from 'lodash/get';\nimport truncate from 'lodash/truncate';\nimport pluralize from 'pluralize';\nimport { useIntl } from 'react-intl';\nimport { useDispatch } from 'react-redux';\n\nimport {
|
|
1
|
+
{"version":3,"file":"RelationNaturePicker.mjs","sources":["../../../../../admin/src/components/Relation/RelationNaturePicker/RelationNaturePicker.tsx"],"sourcesContent":["import { Flex, KeyboardNavigable, Typography } from '@strapi/design-system';\nimport {\n ManyToMany,\n ManyToOne,\n ManyWays as ManyWay,\n OneToMany,\n OneToOne,\n OneWay,\n} from '@strapi/icons';\nimport get from 'lodash/get';\nimport truncate from 'lodash/truncate';\nimport pluralize from 'pluralize';\nimport { useIntl } from 'react-intl';\nimport { useDispatch } from 'react-redux';\n\nimport { getTrad } from '../../../utils/getTrad';\nimport { useDataManager } from '../../DataManager/useDataManager';\nimport { actions } from '../../FormModal/reducer';\n\nimport { IconWrapper, InfosWrapper, Wrapper } from './Components';\n\nconst relations = {\n oneWay: OneWay,\n oneToOne: OneToOne,\n oneToMany: OneToMany,\n manyToOne: ManyToOne,\n manyToMany: ManyToMany,\n manyWay: ManyWay,\n};\n\ntype RelationType = keyof typeof relations;\n\ninterface RelationNaturePickerProps {\n naturePickerType: string;\n oneThatIsCreatingARelationWithAnother: string;\n relationType: string;\n target: string;\n targetUid: string;\n}\n\nconst ctRelations = ['oneWay', 'oneToOne', 'oneToMany', 'manyToOne', 'manyToMany', 'manyWay'];\nconst componentRelations = ['oneWay', 'manyWay'];\n\nexport const RelationNaturePicker = ({\n naturePickerType,\n oneThatIsCreatingARelationWithAnother,\n relationType,\n target,\n targetUid,\n}: RelationNaturePickerProps) => {\n const dispatch = useDispatch();\n const { formatMessage } = useIntl();\n\n const { contentTypes } = useDataManager();\n\n const dataType =\n naturePickerType === 'component' ? 'component' : get(contentTypes, [targetUid, 'kind'], '');\n\n const relationsType = (\n dataType === 'collectionType' ? ctRelations : componentRelations\n ) as RelationType[];\n\n const areDisplayedNamesInverted = relationType === 'manyToOne';\n const targetLabel = get(contentTypes, [target, 'info', 'displayName'], 'unknown');\n const leftTarget = areDisplayedNamesInverted\n ? targetLabel\n : oneThatIsCreatingARelationWithAnother;\n const rightTarget = areDisplayedNamesInverted\n ? oneThatIsCreatingARelationWithAnother\n : targetLabel;\n const leftDisplayedValue = pluralize(leftTarget, relationType === 'manyToMany' ? 2 : 1);\n const restrictedRelations = get(contentTypes, [target, 'restrictRelationsTo'], null);\n\n const rightDisplayedValue = pluralize(\n rightTarget,\n ['manyToMany', 'oneToMany', 'manyToOne', 'manyWay'].includes(relationType) ? 2 : 1\n );\n\n if (!relationType) {\n return null;\n }\n\n return (\n <Flex style={{ flex: 1 }}>\n <Wrapper>\n <Flex paddingLeft={9} paddingRight={9} paddingTop={1} justifyContent=\"center\">\n <KeyboardNavigable tagName=\"button\">\n <Flex gap={3}>\n {relationsType.map((relation) => {\n const Asset = relations[relation];\n const isEnabled =\n restrictedRelations === null || restrictedRelations.includes(relation);\n\n return (\n <IconWrapper\n tag=\"button\"\n $isSelected={relationType === relation}\n disabled={!isEnabled}\n key={relation}\n onClick={() => {\n if (isEnabled) {\n dispatch(\n actions.onChangeRelationType({\n target: {\n oneThatIsCreatingARelationWithAnother,\n value: relation,\n },\n })\n );\n }\n }}\n padding={2}\n type=\"button\"\n aria-label={formatMessage({ id: getTrad(`relation.${relation}`) })}\n aria-pressed={relationType === relation}\n data-relation-type={relation}\n >\n <Asset key={relation} aria-hidden=\"true\" />\n </IconWrapper>\n );\n })}\n </Flex>\n </KeyboardNavigable>\n </Flex>\n </Wrapper>\n <InfosWrapper justifyContent=\"center\">\n <Typography>{truncate(leftDisplayedValue, { length: 24 })} </Typography>\n <Typography textColor=\"primary600\">\n {formatMessage({ id: getTrad(`relation.${relationType}`) })} \n </Typography>\n <Typography>{truncate(rightDisplayedValue, { length: 24 })}</Typography>\n </InfosWrapper>\n </Flex>\n );\n};\n"],"names":["relations","oneWay","OneWay","oneToOne","OneToOne","oneToMany","OneToMany","manyToOne","ManyToOne","manyToMany","ManyToMany","manyWay","ManyWay","ctRelations","componentRelations","RelationNaturePicker","naturePickerType","oneThatIsCreatingARelationWithAnother","relationType","target","targetUid","dispatch","useDispatch","formatMessage","useIntl","contentTypes","useDataManager","dataType","get","relationsType","areDisplayedNamesInverted","targetLabel","leftTarget","rightTarget","leftDisplayedValue","pluralize","restrictedRelations","rightDisplayedValue","includes","_jsxs","Flex","style","flex","_jsx","Wrapper","paddingLeft","paddingRight","paddingTop","justifyContent","KeyboardNavigable","tagName","gap","map","relation","Asset","isEnabled","IconWrapper","tag","$isSelected","disabled","onClick","actions","onChangeRelationType","value","padding","type","aria-label","id","getTrad","aria-pressed","data-relation-type","aria-hidden","InfosWrapper","Typography","truncate","length","textColor"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var designSystem = require('@strapi/design-system');
|
|
6
6
|
var reactIntl = require('react-intl');
|
|
7
|
-
var useDataManager = require('
|
|
7
|
+
var useDataManager = require('./DataManager/useDataManager.js');
|
|
8
8
|
|
|
9
9
|
const SelectCategory = ({ error = null, intlLabel, name, onChange, value = undefined, isCreating, dynamicZoneTarget })=>{
|
|
10
10
|
const { formatMessage } = reactIntl.useIntl();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectCategory.js","sources":["../../../admin/src/components/SelectCategory.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { ComboboxOption, Combobox, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useDataManager } from '
|
|
1
|
+
{"version":3,"file":"SelectCategory.js","sources":["../../../admin/src/components/SelectCategory.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { ComboboxOption, Combobox, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useDataManager } from './DataManager/useDataManager';\n\ninterface SelectCategoryProps {\n error?: string | null;\n intlLabel: {\n id: string;\n defaultMessage: string;\n values?: Record<string, any>;\n };\n name: string;\n onChange: (value: { target: { name: string; value: any; type: string } }) => void;\n value?: string;\n isCreating?: boolean;\n dynamicZoneTarget?: string | null;\n}\n\nexport const SelectCategory = ({\n error = null,\n intlLabel,\n name,\n onChange,\n value = undefined,\n isCreating,\n dynamicZoneTarget,\n}: SelectCategoryProps) => {\n const { formatMessage } = useIntl();\n const { allComponentsCategories } = useDataManager();\n const [categories, setCategories] = useState(allComponentsCategories);\n\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n const label = formatMessage(intlLabel);\n\n const handleChange = (value: any) => {\n onChange({ target: { name, value, type: 'select-category' } });\n };\n\n const handleCreateOption = (value: any) => {\n setCategories((prev) => [...prev, value]);\n handleChange(value);\n };\n\n return (\n <Field.Root error={errorMessage} name={name}>\n <Field.Label>{label}</Field.Label>\n <Combobox\n // TODO: re-enable category edits, renaming categories of already existing components currently breaks other functionality\n // See https://github.com/strapi/strapi/issues/20356\n disabled={!isCreating && !dynamicZoneTarget}\n onChange={handleChange}\n onCreateOption={handleCreateOption}\n value={value}\n creatable\n >\n {categories.map((category) => (\n <ComboboxOption key={category} value={category}>\n {category}\n </ComboboxOption>\n ))}\n </Combobox>\n <Field.Error />\n </Field.Root>\n );\n};\n"],"names":["SelectCategory","error","intlLabel","name","onChange","value","undefined","isCreating","dynamicZoneTarget","formatMessage","useIntl","allComponentsCategories","useDataManager","categories","setCategories","useState","errorMessage","id","defaultMessage","label","handleChange","target","type","handleCreateOption","prev","_jsxs","Field","Root","_jsx","Label","Combobox","disabled","onCreateOption","creatable","map","category","ComboboxOption","Error"],"mappings":";;;;;;;;MAqBaA,cAAiB,GAAA,CAAC,EAC7BC,KAAQ,GAAA,IAAI,EACZC,SAAS,EACTC,IAAI,EACJC,QAAQ,EACRC,KAAQC,GAAAA,SAAS,EACjBC,UAAU,EACVC,iBAAiB,EACG,GAAA;IACpB,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAM,EAAEC,uBAAuB,EAAE,GAAGC,6BAAAA,EAAAA;AACpC,IAAA,MAAM,CAACC,UAAAA,EAAYC,aAAc,CAAA,GAAGC,cAASJ,CAAAA,uBAAAA,CAAAA;IAE7C,MAAMK,YAAAA,GAAef,QAAQQ,aAAc,CAAA;QAAEQ,EAAIhB,EAAAA,KAAAA;QAAOiB,cAAgBjB,EAAAA;KAAW,CAAA,GAAA,EAAA;AACnF,IAAA,MAAMkB,QAAQV,aAAcP,CAAAA,SAAAA,CAAAA;AAE5B,IAAA,MAAMkB,eAAe,CAACf,KAAAA,GAAAA;QACpBD,QAAS,CAAA;YAAEiB,MAAQ,EAAA;AAAElB,gBAAAA,IAAAA;AAAME,gBAAAA,KAAAA;gBAAOiB,IAAM,EAAA;AAAkB;AAAE,SAAA,CAAA;AAC9D,KAAA;AAEA,IAAA,MAAMC,qBAAqB,CAAClB,KAAAA,GAAAA;AAC1BS,QAAAA,aAAAA,CAAc,CAACU,IAAS,GAAA;AAAIA,gBAAAA,GAAAA,IAAAA;AAAMnB,gBAAAA;AAAM,aAAA,CAAA;QACxCe,YAAaf,CAAAA,KAAAA,CAAAA;AACf,KAAA;IAEA,qBACEoB,eAAA,CAACC,mBAAMC,IAAI,EAAA;QAAC1B,KAAOe,EAAAA,YAAAA;QAAcb,IAAMA,EAAAA,IAAAA;;AACrC,0BAAAyB,cAAA,CAACF,mBAAMG,KAAK,EAAA;AAAEV,gBAAAA,QAAAA,EAAAA;;0BACdS,cAACE,CAAAA,qBAAAA,EAAAA;;;gBAGCC,QAAU,EAAA,CAACxB,cAAc,CAACC,iBAAAA;gBAC1BJ,QAAUgB,EAAAA,YAAAA;gBACVY,cAAgBT,EAAAA,kBAAAA;gBAChBlB,KAAOA,EAAAA,KAAAA;gBACP4B,SAAS,EAAA,IAAA;AAERpB,gBAAAA,QAAAA,EAAAA,UAAAA,CAAWqB,GAAG,CAAC,CAACC,QAAAA,iBACfP,cAACQ,CAAAA,2BAAAA,EAAAA;wBAA8B/B,KAAO8B,EAAAA,QAAAA;AACnCA,wBAAAA,QAAAA,EAAAA;AADkBA,qBAAAA,EAAAA,QAAAA,CAAAA;;AAKzB,0BAAAP,cAAA,CAACF,mBAAMW,KAAK,EAAA,EAAA;;;AAGlB;;;;"}
|
|
@@ -2,7 +2,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { useState } from 'react';
|
|
3
3
|
import { Field, Combobox, ComboboxOption } from '@strapi/design-system';
|
|
4
4
|
import { useIntl } from 'react-intl';
|
|
5
|
-
import { useDataManager } from '
|
|
5
|
+
import { useDataManager } from './DataManager/useDataManager.mjs';
|
|
6
6
|
|
|
7
7
|
const SelectCategory = ({ error = null, intlLabel, name, onChange, value = undefined, isCreating, dynamicZoneTarget })=>{
|
|
8
8
|
const { formatMessage } = useIntl();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectCategory.mjs","sources":["../../../admin/src/components/SelectCategory.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { ComboboxOption, Combobox, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useDataManager } from '
|
|
1
|
+
{"version":3,"file":"SelectCategory.mjs","sources":["../../../admin/src/components/SelectCategory.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { ComboboxOption, Combobox, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { useDataManager } from './DataManager/useDataManager';\n\ninterface SelectCategoryProps {\n error?: string | null;\n intlLabel: {\n id: string;\n defaultMessage: string;\n values?: Record<string, any>;\n };\n name: string;\n onChange: (value: { target: { name: string; value: any; type: string } }) => void;\n value?: string;\n isCreating?: boolean;\n dynamicZoneTarget?: string | null;\n}\n\nexport const SelectCategory = ({\n error = null,\n intlLabel,\n name,\n onChange,\n value = undefined,\n isCreating,\n dynamicZoneTarget,\n}: SelectCategoryProps) => {\n const { formatMessage } = useIntl();\n const { allComponentsCategories } = useDataManager();\n const [categories, setCategories] = useState(allComponentsCategories);\n\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n const label = formatMessage(intlLabel);\n\n const handleChange = (value: any) => {\n onChange({ target: { name, value, type: 'select-category' } });\n };\n\n const handleCreateOption = (value: any) => {\n setCategories((prev) => [...prev, value]);\n handleChange(value);\n };\n\n return (\n <Field.Root error={errorMessage} name={name}>\n <Field.Label>{label}</Field.Label>\n <Combobox\n // TODO: re-enable category edits, renaming categories of already existing components currently breaks other functionality\n // See https://github.com/strapi/strapi/issues/20356\n disabled={!isCreating && !dynamicZoneTarget}\n onChange={handleChange}\n onCreateOption={handleCreateOption}\n value={value}\n creatable\n >\n {categories.map((category) => (\n <ComboboxOption key={category} value={category}>\n {category}\n </ComboboxOption>\n ))}\n </Combobox>\n <Field.Error />\n </Field.Root>\n );\n};\n"],"names":["SelectCategory","error","intlLabel","name","onChange","value","undefined","isCreating","dynamicZoneTarget","formatMessage","useIntl","allComponentsCategories","useDataManager","categories","setCategories","useState","errorMessage","id","defaultMessage","label","handleChange","target","type","handleCreateOption","prev","_jsxs","Field","Root","_jsx","Label","Combobox","disabled","onCreateOption","creatable","map","category","ComboboxOption","Error"],"mappings":";;;;;;MAqBaA,cAAiB,GAAA,CAAC,EAC7BC,KAAQ,GAAA,IAAI,EACZC,SAAS,EACTC,IAAI,EACJC,QAAQ,EACRC,KAAQC,GAAAA,SAAS,EACjBC,UAAU,EACVC,iBAAiB,EACG,GAAA;IACpB,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAM,EAAEC,uBAAuB,EAAE,GAAGC,cAAAA,EAAAA;AACpC,IAAA,MAAM,CAACC,UAAAA,EAAYC,aAAc,CAAA,GAAGC,QAASJ,CAAAA,uBAAAA,CAAAA;IAE7C,MAAMK,YAAAA,GAAef,QAAQQ,aAAc,CAAA;QAAEQ,EAAIhB,EAAAA,KAAAA;QAAOiB,cAAgBjB,EAAAA;KAAW,CAAA,GAAA,EAAA;AACnF,IAAA,MAAMkB,QAAQV,aAAcP,CAAAA,SAAAA,CAAAA;AAE5B,IAAA,MAAMkB,eAAe,CAACf,KAAAA,GAAAA;QACpBD,QAAS,CAAA;YAAEiB,MAAQ,EAAA;AAAElB,gBAAAA,IAAAA;AAAME,gBAAAA,KAAAA;gBAAOiB,IAAM,EAAA;AAAkB;AAAE,SAAA,CAAA;AAC9D,KAAA;AAEA,IAAA,MAAMC,qBAAqB,CAAClB,KAAAA,GAAAA;AAC1BS,QAAAA,aAAAA,CAAc,CAACU,IAAS,GAAA;AAAIA,gBAAAA,GAAAA,IAAAA;AAAMnB,gBAAAA;AAAM,aAAA,CAAA;QACxCe,YAAaf,CAAAA,KAAAA,CAAAA;AACf,KAAA;IAEA,qBACEoB,IAAA,CAACC,MAAMC,IAAI,EAAA;QAAC1B,KAAOe,EAAAA,YAAAA;QAAcb,IAAMA,EAAAA,IAAAA;;AACrC,0BAAAyB,GAAA,CAACF,MAAMG,KAAK,EAAA;AAAEV,gBAAAA,QAAAA,EAAAA;;0BACdS,GAACE,CAAAA,QAAAA,EAAAA;;;gBAGCC,QAAU,EAAA,CAACxB,cAAc,CAACC,iBAAAA;gBAC1BJ,QAAUgB,EAAAA,YAAAA;gBACVY,cAAgBT,EAAAA,kBAAAA;gBAChBlB,KAAOA,EAAAA,KAAAA;gBACP4B,SAAS,EAAA,IAAA;AAERpB,gBAAAA,QAAAA,EAAAA,UAAAA,CAAWqB,GAAG,CAAC,CAACC,QAAAA,iBACfP,GAACQ,CAAAA,cAAAA,EAAAA;wBAA8B/B,KAAO8B,EAAAA,QAAAA;AACnCA,wBAAAA,QAAAA,EAAAA;AADkBA,qBAAAA,EAAAA,QAAAA,CAAAA;;AAKzB,0BAAAP,GAAA,CAACF,MAAMW,KAAK,EAAA,EAAA;;;AAGlB;;;;"}
|
|
@@ -4,8 +4,8 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
var designSystem = require('@strapi/design-system');
|
|
5
5
|
var reactIntl = require('react-intl');
|
|
6
6
|
var constants = require('../constants.js');
|
|
7
|
-
var useDataManager = require('../hooks/useDataManager.js');
|
|
8
7
|
var getMaxDepth = require('../utils/getMaxDepth.js');
|
|
8
|
+
var useDataManager = require('./DataManager/useDataManager.js');
|
|
9
9
|
|
|
10
10
|
const SelectComponent = ({ error = null, intlLabel, isAddingAComponentToAnotherComponent, isCreating, isCreatingComponentWhileAddingAField, componentToCreate, name, onChange, targetUid, forTarget, value })=>{
|
|
11
11
|
const { formatMessage } = reactIntl.useIntl();
|
|
@@ -15,16 +15,13 @@ const SelectComponent = ({ error = null, intlLabel, isAddingAComponentToAnotherC
|
|
|
15
15
|
}) : '';
|
|
16
16
|
const label = formatMessage(intlLabel);
|
|
17
17
|
const { componentsGroupedByCategory, componentsThatHaveOtherComponentInTheirAttributes, nestedComponents } = useDataManager.useDataManager();
|
|
18
|
-
const isTargetAComponent =
|
|
19
|
-
'component',
|
|
20
|
-
'components'
|
|
21
|
-
].includes(forTarget);
|
|
18
|
+
const isTargetAComponent = forTarget === 'component';
|
|
22
19
|
let options = Object.entries(componentsGroupedByCategory).reduce((acc, current)=>{
|
|
23
20
|
const [categoryName, components] = current;
|
|
24
21
|
const compos = components.map((component)=>{
|
|
25
22
|
return {
|
|
26
23
|
uid: component.uid,
|
|
27
|
-
label: component.
|
|
24
|
+
label: component.info.displayName,
|
|
28
25
|
categoryName
|
|
29
26
|
};
|
|
30
27
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectComponent.js","sources":["../../../admin/src/components/SelectComponent.tsx"],"sourcesContent":["import { SingleSelectOption, SingleSelect, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { MAX_COMPONENT_DEPTH } from '../constants';\nimport {
|
|
1
|
+
{"version":3,"file":"SelectComponent.js","sources":["../../../admin/src/components/SelectComponent.tsx"],"sourcesContent":["import { SingleSelectOption, SingleSelect, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { MAX_COMPONENT_DEPTH } from '../constants';\nimport { getChildrenMaxDepth, getComponentDepth } from '../utils/getMaxDepth';\n\nimport { useDataManager } from './DataManager/useDataManager';\n\nimport type { Internal } from '@strapi/types';\ninterface Option {\n uid: string;\n label: string;\n categoryName: string;\n}\n\ninterface SelectComponentProps {\n componentToCreate?: Record<string, any> | null;\n error?: string | null;\n intlLabel: {\n id: string;\n defaultMessage: string;\n values?: Record<string, any>;\n };\n isAddingAComponentToAnotherComponent: boolean;\n isCreating: boolean;\n isCreatingComponentWhileAddingAField: boolean;\n name: string;\n onChange: (value: any) => void;\n targetUid: Internal.UID.Schema;\n value: string;\n forTarget: string;\n}\n\nexport const SelectComponent = ({\n error = null,\n intlLabel,\n isAddingAComponentToAnotherComponent,\n isCreating,\n isCreatingComponentWhileAddingAField,\n componentToCreate,\n name,\n onChange,\n targetUid,\n forTarget,\n value,\n}: SelectComponentProps) => {\n const { formatMessage } = useIntl();\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n const label = formatMessage(intlLabel);\n\n const {\n componentsGroupedByCategory,\n componentsThatHaveOtherComponentInTheirAttributes,\n nestedComponents,\n } = useDataManager();\n\n const isTargetAComponent = forTarget === 'component';\n\n let options: Option[] = Object.entries(componentsGroupedByCategory).reduce(\n (acc: Option[], current) => {\n const [categoryName, components] = current;\n const compos = components.map((component) => {\n return {\n uid: component.uid,\n label: component.info.displayName,\n categoryName,\n };\n });\n\n return [...acc, ...compos];\n },\n []\n );\n\n if (isAddingAComponentToAnotherComponent) {\n options = options.filter(({ uid }: any) => {\n const maxDepth = getChildrenMaxDepth(uid, componentsThatHaveOtherComponentInTheirAttributes);\n const componentDepth = getComponentDepth(targetUid, nestedComponents);\n const totalDepth = maxDepth + componentDepth;\n return totalDepth <= MAX_COMPONENT_DEPTH;\n });\n }\n\n if (isTargetAComponent) {\n options = options.filter((option) => {\n return option.uid !== targetUid;\n });\n }\n\n if (isCreatingComponentWhileAddingAField) {\n options = [\n {\n uid: value,\n label: componentToCreate?.displayName,\n categoryName: componentToCreate?.category,\n },\n ];\n }\n\n return (\n <Field.Root error={errorMessage} name={name}>\n <Field.Label>{label}</Field.Label>\n <SingleSelect\n disabled={isCreatingComponentWhileAddingAField || !isCreating}\n onChange={(value: any) => {\n onChange({ target: { name, value, type: 'select-category' } });\n }}\n value={value || ''}\n >\n {options.map((option) => {\n return (\n <SingleSelectOption key={option.uid} value={option.uid}>\n {`${option.categoryName} - ${option.label}`}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <Field.Error />\n </Field.Root>\n );\n};\n"],"names":["SelectComponent","error","intlLabel","isAddingAComponentToAnotherComponent","isCreating","isCreatingComponentWhileAddingAField","componentToCreate","name","onChange","targetUid","forTarget","value","formatMessage","useIntl","errorMessage","id","defaultMessage","label","componentsGroupedByCategory","componentsThatHaveOtherComponentInTheirAttributes","nestedComponents","useDataManager","isTargetAComponent","options","Object","entries","reduce","acc","current","categoryName","components","compos","map","component","uid","info","displayName","filter","maxDepth","getChildrenMaxDepth","componentDepth","getComponentDepth","totalDepth","MAX_COMPONENT_DEPTH","option","category","_jsxs","Field","Root","_jsx","Label","SingleSelect","disabled","target","type","SingleSelectOption","Error"],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { Field, SingleSelect, SingleSelectOption } from '@strapi/design-system';
|
|
3
3
|
import { useIntl } from 'react-intl';
|
|
4
4
|
import { MAX_COMPONENT_DEPTH } from '../constants.mjs';
|
|
5
|
-
import { useDataManager } from '../hooks/useDataManager.mjs';
|
|
6
5
|
import { getChildrenMaxDepth, getComponentDepth } from '../utils/getMaxDepth.mjs';
|
|
6
|
+
import { useDataManager } from './DataManager/useDataManager.mjs';
|
|
7
7
|
|
|
8
8
|
const SelectComponent = ({ error = null, intlLabel, isAddingAComponentToAnotherComponent, isCreating, isCreatingComponentWhileAddingAField, componentToCreate, name, onChange, targetUid, forTarget, value })=>{
|
|
9
9
|
const { formatMessage } = useIntl();
|
|
@@ -13,16 +13,13 @@ const SelectComponent = ({ error = null, intlLabel, isAddingAComponentToAnotherC
|
|
|
13
13
|
}) : '';
|
|
14
14
|
const label = formatMessage(intlLabel);
|
|
15
15
|
const { componentsGroupedByCategory, componentsThatHaveOtherComponentInTheirAttributes, nestedComponents } = useDataManager();
|
|
16
|
-
const isTargetAComponent =
|
|
17
|
-
'component',
|
|
18
|
-
'components'
|
|
19
|
-
].includes(forTarget);
|
|
16
|
+
const isTargetAComponent = forTarget === 'component';
|
|
20
17
|
let options = Object.entries(componentsGroupedByCategory).reduce((acc, current)=>{
|
|
21
18
|
const [categoryName, components] = current;
|
|
22
19
|
const compos = components.map((component)=>{
|
|
23
20
|
return {
|
|
24
21
|
uid: component.uid,
|
|
25
|
-
label: component.
|
|
22
|
+
label: component.info.displayName,
|
|
26
23
|
categoryName
|
|
27
24
|
};
|
|
28
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectComponent.mjs","sources":["../../../admin/src/components/SelectComponent.tsx"],"sourcesContent":["import { SingleSelectOption, SingleSelect, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { MAX_COMPONENT_DEPTH } from '../constants';\nimport {
|
|
1
|
+
{"version":3,"file":"SelectComponent.mjs","sources":["../../../admin/src/components/SelectComponent.tsx"],"sourcesContent":["import { SingleSelectOption, SingleSelect, Field } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { MAX_COMPONENT_DEPTH } from '../constants';\nimport { getChildrenMaxDepth, getComponentDepth } from '../utils/getMaxDepth';\n\nimport { useDataManager } from './DataManager/useDataManager';\n\nimport type { Internal } from '@strapi/types';\ninterface Option {\n uid: string;\n label: string;\n categoryName: string;\n}\n\ninterface SelectComponentProps {\n componentToCreate?: Record<string, any> | null;\n error?: string | null;\n intlLabel: {\n id: string;\n defaultMessage: string;\n values?: Record<string, any>;\n };\n isAddingAComponentToAnotherComponent: boolean;\n isCreating: boolean;\n isCreatingComponentWhileAddingAField: boolean;\n name: string;\n onChange: (value: any) => void;\n targetUid: Internal.UID.Schema;\n value: string;\n forTarget: string;\n}\n\nexport const SelectComponent = ({\n error = null,\n intlLabel,\n isAddingAComponentToAnotherComponent,\n isCreating,\n isCreatingComponentWhileAddingAField,\n componentToCreate,\n name,\n onChange,\n targetUid,\n forTarget,\n value,\n}: SelectComponentProps) => {\n const { formatMessage } = useIntl();\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n const label = formatMessage(intlLabel);\n\n const {\n componentsGroupedByCategory,\n componentsThatHaveOtherComponentInTheirAttributes,\n nestedComponents,\n } = useDataManager();\n\n const isTargetAComponent = forTarget === 'component';\n\n let options: Option[] = Object.entries(componentsGroupedByCategory).reduce(\n (acc: Option[], current) => {\n const [categoryName, components] = current;\n const compos = components.map((component) => {\n return {\n uid: component.uid,\n label: component.info.displayName,\n categoryName,\n };\n });\n\n return [...acc, ...compos];\n },\n []\n );\n\n if (isAddingAComponentToAnotherComponent) {\n options = options.filter(({ uid }: any) => {\n const maxDepth = getChildrenMaxDepth(uid, componentsThatHaveOtherComponentInTheirAttributes);\n const componentDepth = getComponentDepth(targetUid, nestedComponents);\n const totalDepth = maxDepth + componentDepth;\n return totalDepth <= MAX_COMPONENT_DEPTH;\n });\n }\n\n if (isTargetAComponent) {\n options = options.filter((option) => {\n return option.uid !== targetUid;\n });\n }\n\n if (isCreatingComponentWhileAddingAField) {\n options = [\n {\n uid: value,\n label: componentToCreate?.displayName,\n categoryName: componentToCreate?.category,\n },\n ];\n }\n\n return (\n <Field.Root error={errorMessage} name={name}>\n <Field.Label>{label}</Field.Label>\n <SingleSelect\n disabled={isCreatingComponentWhileAddingAField || !isCreating}\n onChange={(value: any) => {\n onChange({ target: { name, value, type: 'select-category' } });\n }}\n value={value || ''}\n >\n {options.map((option) => {\n return (\n <SingleSelectOption key={option.uid} value={option.uid}>\n {`${option.categoryName} - ${option.label}`}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n <Field.Error />\n </Field.Root>\n );\n};\n"],"names":["SelectComponent","error","intlLabel","isAddingAComponentToAnotherComponent","isCreating","isCreatingComponentWhileAddingAField","componentToCreate","name","onChange","targetUid","forTarget","value","formatMessage","useIntl","errorMessage","id","defaultMessage","label","componentsGroupedByCategory","componentsThatHaveOtherComponentInTheirAttributes","nestedComponents","useDataManager","isTargetAComponent","options","Object","entries","reduce","acc","current","categoryName","components","compos","map","component","uid","info","displayName","filter","maxDepth","getChildrenMaxDepth","componentDepth","getComponentDepth","totalDepth","MAX_COMPONENT_DEPTH","option","category","_jsxs","Field","Root","_jsx","Label","SingleSelect","disabled","target","type","SingleSelectOption","Error"],"mappings":"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"}
|