@strapi/content-type-builder 5.50.0 → 5.50.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/components/AIChat/Chat.js +2 -4
- package/dist/admin/components/AIChat/Chat.js.map +1 -1
- package/dist/admin/components/AIChat/Chat.mjs +2 -4
- package/dist/admin/components/AIChat/Chat.mjs.map +1 -1
- package/dist/admin/components/AIChat/UploadFigmaModal.js +1 -1
- package/dist/admin/components/AIChat/UploadFigmaModal.js.map +1 -1
- package/dist/admin/components/AIChat/UploadFigmaModal.mjs +1 -1
- package/dist/admin/components/AIChat/UploadFigmaModal.mjs.map +1 -1
- package/dist/admin/components/AIChat/components/Messages/Message.js +8 -3
- package/dist/admin/components/AIChat/components/Messages/Message.js.map +1 -1
- package/dist/admin/components/AIChat/components/Messages/Message.mjs +8 -3
- package/dist/admin/components/AIChat/components/Messages/Message.mjs.map +1 -1
- package/dist/admin/components/AIChat/lib/aiClient.js +8 -2
- package/dist/admin/components/AIChat/lib/aiClient.js.map +1 -1
- package/dist/admin/components/AIChat/lib/aiClient.mjs +8 -2
- package/dist/admin/components/AIChat/lib/aiClient.mjs.map +1 -1
- package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.js +0 -3
- package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.js.map +1 -1
- package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.mjs +0 -3
- package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.mjs.map +1 -1
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js +9 -7
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js.map +1 -1
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs +9 -7
- package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs.map +1 -1
- package/dist/admin/components/AIChat/providers/SchemaProvider.js +1 -1
- package/dist/admin/components/AIChat/providers/SchemaProvider.js.map +1 -1
- package/dist/admin/components/AIChat/providers/SchemaProvider.mjs +1 -1
- package/dist/admin/components/AIChat/providers/SchemaProvider.mjs.map +1 -1
- package/dist/admin/components/AllowedTypesSelect.js.map +1 -1
- package/dist/admin/components/AllowedTypesSelect.mjs.map +1 -1
- package/dist/admin/components/AttributeIcon.js +1 -1
- package/dist/admin/components/AttributeIcon.js.map +1 -1
- package/dist/admin/components/AttributeIcon.mjs +1 -1
- package/dist/admin/components/AttributeIcon.mjs.map +1 -1
- package/dist/admin/components/BooleanDefaultValueSelect.js +3 -2
- package/dist/admin/components/BooleanDefaultValueSelect.js.map +1 -1
- package/dist/admin/components/BooleanDefaultValueSelect.mjs +3 -2
- package/dist/admin/components/BooleanDefaultValueSelect.mjs.map +1 -1
- package/dist/admin/components/BooleanRadioGroup.js.map +1 -1
- package/dist/admin/components/BooleanRadioGroup.mjs.map +1 -1
- package/dist/admin/components/CTBSession/useCTBTracking.js +3 -3
- package/dist/admin/components/CTBSession/useCTBTracking.js.map +1 -1
- package/dist/admin/components/CTBSession/useCTBTracking.mjs +3 -3
- package/dist/admin/components/CTBSession/useCTBTracking.mjs.map +1 -1
- package/dist/admin/components/CheckboxWithNumberField.js +3 -2
- package/dist/admin/components/CheckboxWithNumberField.js.map +1 -1
- package/dist/admin/components/CheckboxWithNumberField.mjs +3 -2
- package/dist/admin/components/CheckboxWithNumberField.mjs.map +1 -1
- package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
- package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js +160 -162
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +160 -162
- package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs +1 -1
- package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -1
- package/dist/admin/components/ContentTypeRadioGroup.js.map +1 -1
- package/dist/admin/components/ContentTypeRadioGroup.mjs.map +1 -1
- package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js +6 -5
- package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js.map +1 -1
- package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs +6 -5
- package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs.map +1 -1
- package/dist/admin/components/CustomRadioGroup/Styles.js.map +1 -1
- package/dist/admin/components/CustomRadioGroup/Styles.mjs.map +1 -1
- package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -1
- package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -1
- package/dist/admin/components/DataManager/DataManagerProvider.js +16 -4
- package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -1
- package/dist/admin/components/DataManager/DataManagerProvider.mjs +16 -4
- package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -1
- package/dist/admin/components/DataManager/reducer.js +2 -2
- package/dist/admin/components/DataManager/reducer.js.map +1 -1
- package/dist/admin/components/DataManager/reducer.mjs +2 -2
- package/dist/admin/components/DataManager/reducer.mjs.map +1 -1
- package/dist/admin/components/DataManager/useServerRestartWatcher.js.map +1 -1
- package/dist/admin/components/DataManager/useServerRestartWatcher.mjs.map +1 -1
- package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -1
- package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs.map +1 -1
- package/dist/admin/components/DraftAndPublishToggle.js.map +1 -1
- package/dist/admin/components/DraftAndPublishToggle.mjs.map +1 -1
- package/dist/admin/components/DynamicZoneList.js.map +1 -1
- package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
- package/dist/admin/components/FormModal/FormModal.js +91 -71
- package/dist/admin/components/FormModal/FormModal.js.map +1 -1
- package/dist/admin/components/FormModal/FormModal.mjs +91 -70
- package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
- package/dist/admin/components/FormModal/attributes/ConditionForm.js +20 -17
- package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -1
- package/dist/admin/components/FormModal/attributes/ConditionForm.mjs +20 -17
- package/dist/admin/components/FormModal/attributes/ConditionForm.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/forms/forms.js +4 -6
- package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
- package/dist/admin/components/FormModal/forms/forms.mjs +4 -6
- 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 +9 -6
- package/dist/admin/components/FormModal/reducer.js.map +1 -1
- package/dist/admin/components/FormModal/reducer.mjs +9 -6
- package/dist/admin/components/FormModal/reducer.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js +3 -3
- package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js.map +1 -1
- package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs +3 -3
- package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/getFormInputNames.js +1 -1
- package/dist/admin/components/FormModal/utils/getFormInputNames.js.map +1 -1
- package/dist/admin/components/FormModal/utils/getFormInputNames.mjs +1 -1
- package/dist/admin/components/FormModal/utils/getFormInputNames.mjs.map +1 -1
- package/dist/admin/components/FormModal/utils/relations.js +2 -2
- package/dist/admin/components/FormModal/utils/relations.js.map +1 -1
- package/dist/admin/components/FormModal/utils/relations.mjs +2 -2
- package/dist/admin/components/FormModal/utils/relations.mjs.map +1 -1
- package/dist/admin/components/FormModalHeader.js.map +1 -1
- package/dist/admin/components/FormModalHeader.mjs.map +1 -1
- package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -1
- package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs.map +1 -1
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js +13 -13
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js.map +1 -1
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs +13 -13
- package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs.map +1 -1
- package/dist/admin/components/GenericInputs.js +24 -12
- package/dist/admin/components/GenericInputs.js.map +1 -1
- package/dist/admin/components/GenericInputs.mjs +24 -12
- package/dist/admin/components/GenericInputs.mjs.map +1 -1
- package/dist/admin/components/IconPicker/IconPicker.js.map +1 -1
- package/dist/admin/components/IconPicker/IconPicker.mjs.map +1 -1
- package/dist/admin/components/PluralName.js.map +1 -1
- package/dist/admin/components/PluralName.mjs.map +1 -1
- package/dist/admin/components/Relation/Relation.js +3 -3
- package/dist/admin/components/Relation/Relation.js.map +1 -1
- package/dist/admin/components/Relation/Relation.mjs +3 -3
- 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/SelectCategory.js +6 -0
- package/dist/admin/components/SelectCategory.js.map +1 -1
- package/dist/admin/components/SelectCategory.mjs +6 -0
- package/dist/admin/components/SelectCategory.mjs.map +1 -1
- package/dist/admin/components/SelectComponent.js +1 -1
- package/dist/admin/components/SelectComponent.js.map +1 -1
- package/dist/admin/components/SelectComponent.mjs +1 -1
- package/dist/admin/components/SelectComponent.mjs.map +1 -1
- package/dist/admin/components/SingularName.js.map +1 -1
- package/dist/admin/components/SingularName.mjs.map +1 -1
- package/dist/admin/components/TabForm.js +50 -51
- package/dist/admin/components/TabForm.js.map +1 -1
- package/dist/admin/components/TabForm.mjs +51 -52
- package/dist/admin/components/TabForm.mjs.map +1 -1
- package/dist/admin/src/components/AIChat/components/Messages/Message.d.ts +1 -2
- package/dist/admin/src/components/AIChat/lib/aiClient.d.ts +1 -1
- package/dist/admin/src/components/AIChat/lib/transforms/schemas/fromCTB.d.ts +6 -2
- package/dist/admin/src/components/AIChat/lib/transforms/schemas/toCTB.d.ts +1 -1
- package/dist/admin/src/components/AIChat/lib/types/schema.d.ts +5 -5
- package/dist/admin/src/components/AllowedTypesSelect.d.ts +3 -3
- package/dist/admin/src/components/BooleanDefaultValueSelect.d.ts +3 -3
- package/dist/admin/src/components/BooleanRadioGroup.d.ts +2 -2
- package/dist/admin/src/components/CTBSession/useCTBTracking.d.ts +1 -1
- package/dist/admin/src/components/CheckboxWithNumberField.d.ts +6 -4
- package/dist/admin/src/components/ContentTypeRadioGroup.d.ts +3 -2
- package/dist/admin/src/components/CustomRadioGroup/CustomRadioGroup.d.ts +3 -2
- package/dist/admin/src/components/DataManager/DataManagerContext.d.ts +13 -11
- package/dist/admin/src/components/DataManager/reducer.d.ts +14 -10
- package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +8 -8
- package/dist/admin/src/components/DataManager/utils/formatSchemas.d.ts +9 -3
- package/dist/admin/src/components/DataManager/utils/retrieveSpecificInfoFromComponents.d.ts +2 -1
- package/dist/admin/src/components/DraftAndPublishToggle.d.ts +1 -6
- package/dist/admin/src/components/DynamicZoneList.d.ts +2 -2
- package/dist/admin/src/components/FormModal/attributes/ConditionForm.d.ts +3 -2
- package/dist/admin/src/components/FormModal/attributes/validation/common.d.ts +3 -1
- package/dist/admin/src/components/FormModal/forms/forms.d.ts +59 -26
- package/dist/admin/src/components/FormModal/forms/utils/getUsedAttributeNames.d.ts +12 -2
- package/dist/admin/src/components/FormModal/reducer.d.ts +104 -32
- package/dist/admin/src/components/FormModal/utils/customFieldDefaultOptionsReducer.d.ts +11 -1
- package/dist/admin/src/components/FormModal/utils/getFormInputNames.d.ts +8 -1
- package/dist/admin/src/components/FormModal/utils/relations.d.ts +2 -2
- package/dist/admin/src/components/FormModalHeader.d.ts +5 -8
- package/dist/admin/src/components/FormModalNavigation/FormModalNavigationContext.d.ts +2 -2
- package/dist/admin/src/components/FormModalNavigation/FormModalNavigationProvider.d.ts +17 -1
- package/dist/admin/src/components/GenericInputs.d.ts +12 -7
- package/dist/admin/src/components/IconPicker/IconPicker.d.ts +2 -7
- package/dist/admin/src/components/PluralName.d.ts +6 -14
- package/dist/admin/src/components/Relation/Relation.d.ts +12 -3
- package/dist/admin/src/components/Relation/RelationField/RelationField.d.ts +3 -2
- package/dist/admin/src/components/SelectCategory.d.ts +3 -12
- package/dist/admin/src/components/SelectComponent.d.ts +8 -7
- package/dist/admin/src/components/SingularName.d.ts +5 -8
- package/dist/admin/src/components/TabForm.d.ts +38 -7
- package/dist/admin/src/types.d.ts +20 -12
- package/dist/admin/src/utils/conditions.d.ts +13 -4
- package/dist/admin/src/utils/formAPI.d.ts +38 -33
- package/dist/admin/src/utils/getRelationType.d.ts +1 -1
- package/dist/admin/src/utils/parseNumberInputValue.d.ts +1 -0
- package/dist/admin/utils/conditions.js +38 -28
- package/dist/admin/utils/conditions.js.map +1 -1
- package/dist/admin/utils/conditions.mjs +37 -28
- package/dist/admin/utils/conditions.mjs.map +1 -1
- package/dist/admin/utils/formAPI.js +9 -6
- package/dist/admin/utils/formAPI.js.map +1 -1
- package/dist/admin/utils/formAPI.mjs +9 -6
- package/dist/admin/utils/formAPI.mjs.map +1 -1
- package/dist/admin/utils/getRelationType.js +3 -0
- package/dist/admin/utils/getRelationType.js.map +1 -1
- package/dist/admin/utils/getRelationType.mjs +3 -0
- package/dist/admin/utils/getRelationType.mjs.map +1 -1
- package/dist/admin/utils/getYupInnerErrors.js +6 -4
- package/dist/admin/utils/getYupInnerErrors.js.map +1 -1
- package/dist/admin/utils/getYupInnerErrors.mjs +6 -4
- package/dist/admin/utils/getYupInnerErrors.mjs.map +1 -1
- package/dist/admin/utils/parseNumberInputValue.js +15 -0
- package/dist/admin/utils/parseNumberInputValue.js.map +1 -0
- package/dist/admin/utils/parseNumberInputValue.mjs +13 -0
- package/dist/admin/utils/parseNumberInputValue.mjs.map +1 -0
- package/dist/server/controllers/validation/relations.js +1 -1
- package/dist/server/controllers/validation/relations.js.map +1 -1
- package/dist/server/controllers/validation/relations.mjs +1 -1
- package/dist/server/controllers/validation/relations.mjs.map +1 -1
- package/dist/server/controllers/validation/types.js +4 -3
- package/dist/server/controllers/validation/types.js.map +1 -1
- package/dist/server/controllers/validation/types.mjs +4 -3
- package/dist/server/controllers/validation/types.mjs.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.mjs","sources":["../../../../admin/src/components/FormModal/reducer.ts"],"sourcesContent":["import { createSlice, type PayloadAction } from '@reduxjs/toolkit';\nimport set from 'lodash/set';\nimport snakeCase from 'lodash/snakeCase';\nimport pluralize from 'pluralize';\n\nimport { getRelationType } from '../../utils/getRelationType';\nimport { nameToSlug } from '../../utils/nameToSlug';\n\nimport { createComponentUid } from './utils/createUid';\nimport { customFieldDefaultOptionsReducer } from './utils/customFieldDefaultOptionsReducer';\nimport { shouldPluralizeName, shouldPluralizeTargetAttribute } from './utils/relations';\n\nimport type { Schema, UID } from '@strapi/types';\n\nexport type State = {\n formErrors: Record<string, any>;\n modifiedData: Record<string, any>;\n initialData: Record<string, any>;\n componentToCreate: Record<string, any>;\n isCreatingComponentWhileAddingAField: boolean;\n};\n\nconst initialState: State = {\n formErrors: {},\n modifiedData: {},\n initialData: {},\n componentToCreate: {},\n isCreatingComponentWhileAddingAField: false,\n};\n\ntype OnChangePayload = {\n keys: string[];\n value: any;\n};\n\ntype OnChangeRelationTargetPayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n selectedContentTypeFriendlyName: string;\n targetContentTypeAllowedRelations: Schema.Attribute.RelationKind.Any[] | null;\n value: string;\n };\n};\n\ntype OnChangeRelationTypePayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n value: Schema.Attribute.RelationKind.Any;\n };\n};\n\ntype ResetPropsAndSetFormForAddingAnExistingCompoPayload = {\n uid: UID.Schema;\n options?: Record<string, any>;\n};\n\ntype ResetPropsAndSaveCurrentDataPayload = {\n uid: UID.Schema;\n options?: Record<string, any>;\n};\n\ntype SetDataToEditPayload = {\n data: Record<string, any>;\n};\n\ntype SetAttributeDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n uid: UID.Schema;\n }\n | {\n isEditing: false;\n modifiedDataToSetForEditing: Record<string, any>;\n attributeType: string;\n nameToSetForRelation: string;\n targetUid: string;\n step: string | null;\n options?: Record<string, any>;\n uid: UID.Schema;\n };\n\ntype SetCustomFieldDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: Record<string, any>;\n uid: UID.Schema;\n }\n | {\n isEditing: false;\n modifiedDataToSetForEditing: Record<string, any>;\n customField: Record<string, any>;\n options?: Record<string, any>;\n uid: UID.Schema;\n };\n\ntype SetDynamicZoneDataSchemaPayload = {\n attributeToEdit: Record<string, any>;\n};\n\ntype SetErrorsPayload = {\n errors: Record<string, any>;\n};\n\nconst slice = createSlice({\n name: 'formModal',\n initialState,\n reducers: {\n onChange: (state, action: PayloadAction<OnChangePayload>) => {\n const { keys, value } = action.payload;\n const obj = state.modifiedData;\n const hasDefaultValue = Boolean(obj.default);\n\n // There is no need to remove the default key if the default value isn't defined\n if (hasDefaultValue && keys.length === 1 && keys.includes('type')) {\n const previousType = obj.type;\n\n if (previousType && ['date', 'datetime', 'time'].includes(previousType)) {\n // return obj.updateIn(keys, () => value).remove('default');\n delete state.modifiedData.default;\n }\n }\n\n set(state, ['modifiedData', ...keys], value);\n },\n onChangeRelationTarget: (state, action: PayloadAction<OnChangeRelationTargetPayload>) => {\n const {\n target: {\n oneThatIsCreatingARelationWithAnother,\n selectedContentTypeFriendlyName,\n targetContentTypeAllowedRelations,\n value,\n },\n } = action.payload;\n // Special case for the admin user...\n let didChangeRelationTypeBecauseOfRestrictedRelation = false;\n let changedRelationType: Schema.Attribute.RelationKind.Any | null = null;\n\n set(state, ['modifiedData', 'target'], value);\n\n const modifiedData = state.modifiedData;\n\n // Don't change the relation type if the allowed relations are not restricted\n // TODO: replace with an obj { relation: 'x', bidirctional: true|false } when BE ready\n if (Array.isArray(targetContentTypeAllowedRelations)) {\n const currentRelationType = getRelationType(\n modifiedData.relation,\n modifiedData.targetAttribute\n );\n\n if (\n currentRelationType &&\n !targetContentTypeAllowedRelations.includes(currentRelationType)\n ) {\n const relationToSet = targetContentTypeAllowedRelations[0];\n didChangeRelationTypeBecauseOfRestrictedRelation = true;\n changedRelationType = relationToSet;\n\n if (relationToSet === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n } else if (relationToSet === 'manyWay') {\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n } else {\n set(state, ['modifiedData', 'relation'], relationToSet);\n }\n }\n }\n\n let nameToSet: string;\n\n if (didChangeRelationTypeBecauseOfRestrictedRelation && changedRelationType) {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n shouldPluralizeName(changedRelationType)\n );\n } else {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n\n shouldPluralizeName(modifiedData.relation)\n );\n }\n\n set(state, ['modifiedData', 'name'], nameToSet);\n\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n if (currentTargetAttribute === null) {\n return;\n }\n\n // Changing the target and the relation is either oneWay or manyWay\n // Case when we need to change the relation to oneWay (ex: admin user)\n if (\n didChangeRelationTypeBecauseOfRestrictedRelation &&\n changedRelationType &&\n ['oneWay', 'manyWay'].includes(changedRelationType)\n ) {\n set(state, ['modifiedData', 'targetAttribute'], null);\n\n return;\n }\n\n const targetAttributeToSet = pluralize(\n snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(modifiedData.relation)\n );\n\n set(state, ['modifiedData', 'targetAttribute'], targetAttributeToSet);\n },\n onChangeRelationType: (state, action: PayloadAction<OnChangeRelationTypePayload>) => {\n const {\n target: { oneThatIsCreatingARelationWithAnother, value },\n } = action.payload;\n\n const currentName = state.modifiedData.name;\n\n // Switching from oneWay\n if (!['oneWay', 'manyWay'].includes(value)) {\n set(state, ['modifiedData', 'relation'], value);\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n set(\n state,\n ['modifiedData', 'name'],\n pluralize(snakeCase(nameToSlug(currentName)), shouldPluralizeName(value))\n );\n\n set(\n state,\n ['modifiedData', 'targetAttribute'],\n pluralize(\n currentTargetAttribute || snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(value)\n )\n );\n\n return;\n }\n\n if (value === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 1));\n\n return;\n }\n\n // manyWay\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 2));\n },\n resetProps: () => {\n return initialState;\n },\n resetPropsAndSetFormForAddingAnExistingCompo: (\n state,\n action: PayloadAction<ResetPropsAndSetFormForAddingAnExistingCompoPayload>\n ) => {\n const { options = {} } = action.payload;\n\n return {\n ...initialState,\n modifiedData: {\n type: 'component',\n repeatable: true,\n ...options,\n },\n };\n },\n resetPropsAndSaveCurrentData: (\n state,\n action: PayloadAction<ResetPropsAndSaveCurrentDataPayload>\n ) => {\n const { options = {} } = action.payload;\n // This is run when the user has created a new component\n const componentToCreate = state.modifiedData.componentToCreate;\n const modifiedData = {\n displayName: componentToCreate.displayName,\n type: 'component',\n repeatable: false,\n ...options,\n component: createComponentUid(componentToCreate.displayName, componentToCreate.category),\n };\n\n return {\n ...initialState,\n componentToCreate,\n modifiedData,\n isCreatingComponentWhileAddingAField: state.modifiedData.createComponent,\n };\n },\n resetPropsAndSetTheFormForAddingACompoToADz: (state) => {\n const createdDZ = state.modifiedData;\n const dataToSet = {\n ...createdDZ,\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n\n return { ...initialState, modifiedData: dataToSet };\n },\n setDataToEdit: (state, action: PayloadAction<SetDataToEditPayload>) => {\n const { data } = action.payload;\n state.modifiedData = data;\n state.initialData = data;\n },\n setAttributeDataSchema: (state, action: PayloadAction<SetAttributeDataSchemaPayload>) => {\n const { isEditing } = action.payload;\n\n if (isEditing === true) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { attributeType, nameToSetForRelation, targetUid, step, options = {} } = action.payload;\n\n let dataToSet;\n\n if (attributeType === 'component') {\n if (step === '1') {\n dataToSet = {\n type: 'component',\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n } else {\n dataToSet = {\n ...options,\n type: 'component',\n repeatable: true,\n };\n }\n } else if (attributeType === 'dynamiczone') {\n dataToSet = {\n ...options,\n type: 'dynamiczone',\n components: [],\n };\n } else if (attributeType === 'text') {\n dataToSet = { ...options, type: 'string' };\n } else if (attributeType === 'number' || attributeType === 'date') {\n dataToSet = options;\n } else if (attributeType === 'media') {\n dataToSet = {\n allowedTypes: ['images', 'files', 'videos', 'audios'],\n type: 'media',\n multiple: true,\n ...options,\n };\n } else if (attributeType === 'enumeration') {\n dataToSet = { ...options, type: 'enumeration', enum: [] };\n } else if (attributeType === 'relation') {\n dataToSet = {\n name: snakeCase(nameToSetForRelation),\n relation: 'oneToOne',\n targetAttribute: null,\n target: targetUid,\n type: 'relation',\n };\n } else {\n dataToSet = { ...options, type: attributeType, default: null };\n }\n\n state.modifiedData = dataToSet;\n },\n setCustomFieldDataSchema: (state, action: PayloadAction<SetCustomFieldDataSchemaPayload>) => {\n const { payload } = action;\n\n if (payload.isEditing === true) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { customField, options = {} } = payload;\n\n state.modifiedData = { ...options, type: customField.type };\n\n const allOptions = [\n ...(customField?.options?.base || []),\n ...(customField?.options?.advanced || []),\n ];\n\n const optionDefaults = allOptions.reduce(customFieldDefaultOptionsReducer, []);\n\n if (optionDefaults.length) {\n optionDefaults.forEach(({ name, defaultValue }: { name: string; defaultValue: string }) =>\n set(state.modifiedData, name, defaultValue)\n );\n }\n },\n setDynamicZoneDataSchema: (state, action: PayloadAction<SetDynamicZoneDataSchemaPayload>) => {\n const { attributeToEdit } = action.payload;\n state.modifiedData = attributeToEdit;\n state.initialData = attributeToEdit;\n },\n setErrors: (state, action: PayloadAction<SetErrorsPayload>) => {\n state.formErrors = action.payload.errors;\n },\n },\n});\n\nexport { initialState };\nexport const { actions, reducer } = slice;\n"],"names":["initialState","formErrors","modifiedData","initialData","componentToCreate","isCreatingComponentWhileAddingAField","slice","createSlice","name","reducers","onChange","state","action","keys","value","payload","obj","hasDefaultValue","Boolean","default","length","includes","previousType","type","set","onChangeRelationTarget","target","oneThatIsCreatingARelationWithAnother","selectedContentTypeFriendlyName","targetContentTypeAllowedRelations","didChangeRelationTypeBecauseOfRestrictedRelation","changedRelationType","Array","isArray","currentRelationType","getRelationType","relation","targetAttribute","relationToSet","nameToSet","pluralize","snakeCase","nameToSlug","shouldPluralizeName","currentTargetAttribute","targetAttributeToSet","shouldPluralizeTargetAttribute","onChangeRelationType","currentName","resetProps","resetPropsAndSetFormForAddingAnExistingCompo","options","repeatable","resetPropsAndSaveCurrentData","displayName","component","createComponentUid","category","createComponent","resetPropsAndSetTheFormForAddingACompoToADz","createdDZ","dataToSet","setDataToEdit","data","setAttributeDataSchema","isEditing","modifiedDataToSetForEditing","attributeType","nameToSetForRelation","targetUid","step","components","allowedTypes","multiple","enum","setCustomFieldDataSchema","customField","allOptions","base","advanced","optionDefaults","reduce","customFieldDefaultOptionsReducer","forEach","defaultValue","setDynamicZoneDataSchema","attributeToEdit","setErrors","errors","actions","reducer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reducer.mjs","sources":["../../../../admin/src/components/FormModal/reducer.ts"],"sourcesContent":["import { createSlice, type PayloadAction } from '@reduxjs/toolkit';\nimport set from 'lodash/set';\nimport snakeCase from 'lodash/snakeCase';\nimport pluralize from 'pluralize';\n\nimport { getRelationType } from '../../utils/getRelationType';\nimport { nameToSlug } from '../../utils/nameToSlug';\n\nimport { createComponentUid } from './utils/createUid';\nimport { customFieldDefaultOptionsReducer } from './utils/customFieldDefaultOptionsReducer';\nimport { shouldPluralizeName, shouldPluralizeTargetAttribute } from './utils/relations';\n\nimport type { Schema, Struct, UID } from '@strapi/types';\nimport type { MessageDescriptor, PrimitiveType } from 'react-intl';\n\ntype FormModalError = MessageDescriptor & {\n values?: Record<string, PrimitiveType>;\n};\n\nexport type ComponentToCreateData = Record<string, unknown> & {\n type?: 'component';\n displayName?: string;\n icon?: string;\n category?: string;\n};\n\nexport type FormModalData = Record<string, unknown> & {\n allowedTypes?: string[];\n category?: string;\n component?: UID.Component;\n components?: UID.Component[];\n componentToCreate?: ComponentToCreateData;\n conditions?: unknown;\n createComponent?: boolean;\n default?: unknown;\n displayName?: string;\n draftAndPublish?: boolean;\n enum?: string[];\n icon?: string;\n kind?: Struct.ContentTypeKind;\n multiple?: boolean;\n name?: string;\n options?: object;\n pluralName?: string;\n pluginOptions?: object;\n relation?: Schema.Attribute.RelationKind.Any;\n repeatable?: boolean;\n required?: boolean;\n singularName?: string;\n target?: string | null;\n targetAttribute?: string | null;\n type?: string;\n};\n\ntype CustomFieldOption = {\n items?: CustomFieldOption[];\n name?: string;\n defaultValue?: unknown;\n};\n\ntype CustomField = {\n type: string;\n options?: {\n base?: CustomFieldOption[];\n advanced?: CustomFieldOption[];\n };\n};\n\nexport type State = {\n formErrors: Record<string, FormModalError>;\n modifiedData: FormModalData;\n initialData: FormModalData;\n componentToCreate: ComponentToCreateData;\n isCreatingComponentWhileAddingAField: boolean;\n};\n\nconst initialState: State = {\n formErrors: {},\n modifiedData: {},\n initialData: {},\n componentToCreate: {},\n isCreatingComponentWhileAddingAField: false,\n};\n\ntype OnChangePayload = {\n keys: string[];\n value: unknown;\n};\n\ntype OnChangeRelationTargetPayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n selectedContentTypeFriendlyName: string;\n targetContentTypeAllowedRelations: Schema.Attribute.RelationKind.Any[] | null;\n value: string;\n };\n};\n\ntype OnChangeRelationTypePayload = {\n target: {\n oneThatIsCreatingARelationWithAnother: string;\n value: Schema.Attribute.RelationKind.Any;\n };\n};\n\ntype ResetPropsAndSetFormForAddingAnExistingCompoPayload = {\n uid: UID.Schema;\n options?: Record<string, unknown>;\n};\n\ntype ResetPropsAndSaveCurrentDataPayload = {\n uid: UID.Schema;\n options?: Record<string, unknown>;\n};\n\ntype SetDataToEditPayload = {\n data: FormModalData;\n};\n\ntype SetAttributeDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: FormModalData;\n uid: UID.Schema;\n }\n | {\n isEditing: false;\n modifiedDataToSetForEditing: FormModalData;\n attributeType: string;\n nameToSetForRelation: string;\n targetUid: string;\n step: string | null;\n options?: Record<string, unknown>;\n uid: UID.Schema;\n };\n\ntype SetCustomFieldDataSchemaPayload =\n | {\n isEditing: true;\n modifiedDataToSetForEditing: FormModalData;\n uid: UID.Schema;\n }\n | {\n isEditing: false;\n modifiedDataToSetForEditing: FormModalData;\n customField: CustomField;\n options?: Record<string, unknown>;\n uid: UID.Schema;\n };\n\ntype SetDynamicZoneDataSchemaPayload = {\n attributeToEdit: FormModalData;\n};\n\ntype SetErrorsPayload = {\n errors: Record<string, FormModalError>;\n};\n\nconst slice = createSlice({\n name: 'formModal',\n initialState,\n reducers: {\n onChange: (state, action: PayloadAction<OnChangePayload>) => {\n const { keys, value } = action.payload;\n const obj = state.modifiedData;\n const hasDefaultValue = obj.default !== undefined;\n\n // There is no need to remove the default key if the default value isn't defined\n if (hasDefaultValue && keys.length === 1 && keys.includes('type')) {\n const previousType = obj.type;\n\n if (previousType !== undefined && ['date', 'datetime', 'time'].includes(previousType)) {\n // return obj.updateIn(keys, () => value).remove('default');\n delete state.modifiedData.default;\n }\n }\n\n set(state, ['modifiedData', ...keys], value);\n },\n onChangeRelationTarget: (state, action: PayloadAction<OnChangeRelationTargetPayload>) => {\n const {\n target: {\n oneThatIsCreatingARelationWithAnother,\n selectedContentTypeFriendlyName,\n targetContentTypeAllowedRelations,\n value,\n },\n } = action.payload;\n // Special case for the admin user...\n let didChangeRelationTypeBecauseOfRestrictedRelation = false;\n let changedRelationType: Schema.Attribute.RelationKind.Any | null = null;\n\n set(state, ['modifiedData', 'target'], value);\n\n const modifiedData = state.modifiedData;\n\n // Don't change the relation type if the allowed relations are not restricted\n // TODO: replace with an obj { relation: 'x', bidirctional: true|false } when BE ready\n if (Array.isArray(targetContentTypeAllowedRelations)) {\n const currentRelationType = getRelationType(\n modifiedData.relation,\n modifiedData.targetAttribute\n );\n\n if (\n currentRelationType &&\n !targetContentTypeAllowedRelations.includes(currentRelationType)\n ) {\n const relationToSet = targetContentTypeAllowedRelations[0];\n didChangeRelationTypeBecauseOfRestrictedRelation = true;\n changedRelationType = relationToSet;\n\n if (relationToSet === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n } else if (relationToSet === 'manyWay') {\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n } else {\n set(state, ['modifiedData', 'relation'], relationToSet);\n }\n }\n }\n\n let nameToSet: string;\n\n if (didChangeRelationTypeBecauseOfRestrictedRelation && changedRelationType !== null) {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n shouldPluralizeName(changedRelationType)\n );\n } else {\n nameToSet = pluralize(\n snakeCase(nameToSlug(selectedContentTypeFriendlyName)),\n\n shouldPluralizeName(modifiedData.relation)\n );\n }\n\n set(state, ['modifiedData', 'name'], nameToSet);\n\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n if (currentTargetAttribute === null) {\n return;\n }\n\n // Changing the target and the relation is either oneWay or manyWay\n // Case when we need to change the relation to oneWay (ex: admin user)\n if (\n didChangeRelationTypeBecauseOfRestrictedRelation &&\n changedRelationType !== null &&\n ['oneWay', 'manyWay'].includes(changedRelationType)\n ) {\n set(state, ['modifiedData', 'targetAttribute'], null);\n\n return;\n }\n\n const targetAttributeToSet = pluralize(\n snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(modifiedData.relation)\n );\n\n set(state, ['modifiedData', 'targetAttribute'], targetAttributeToSet);\n },\n onChangeRelationType: (state, action: PayloadAction<OnChangeRelationTypePayload>) => {\n const {\n target: { oneThatIsCreatingARelationWithAnother, value },\n } = action.payload;\n\n const currentName = state.modifiedData.name ?? '';\n\n // Switching from oneWay\n if (!['oneWay', 'manyWay'].includes(value)) {\n set(state, ['modifiedData', 'relation'], value);\n const currentTargetAttribute = state.modifiedData.targetAttribute;\n\n set(\n state,\n ['modifiedData', 'name'],\n pluralize(snakeCase(nameToSlug(currentName)), shouldPluralizeName(value))\n );\n\n set(\n state,\n ['modifiedData', 'targetAttribute'],\n pluralize(\n currentTargetAttribute || snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)),\n shouldPluralizeTargetAttribute(value)\n )\n );\n\n return;\n }\n\n if (value === 'oneWay') {\n set(state, ['modifiedData', 'relation'], 'oneToOne');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 1));\n\n return;\n }\n\n // manyWay\n set(state, ['modifiedData', 'relation'], 'oneToMany');\n set(state, ['modifiedData', 'targetAttribute'], null);\n set(state, ['modifiedData', 'name'], pluralize(snakeCase(currentName), 2));\n },\n resetProps: () => {\n return initialState;\n },\n resetPropsAndSetFormForAddingAnExistingCompo: (\n state,\n action: PayloadAction<ResetPropsAndSetFormForAddingAnExistingCompoPayload>\n ) => {\n const { options = {} } = action.payload;\n\n return {\n ...initialState,\n modifiedData: {\n type: 'component',\n repeatable: true,\n ...options,\n },\n };\n },\n resetPropsAndSaveCurrentData: (\n state,\n action: PayloadAction<ResetPropsAndSaveCurrentDataPayload>\n ) => {\n const { options = {} } = action.payload;\n // This is run when the user has created a new component\n const componentToCreate = state.modifiedData.componentToCreate;\n\n if (\n componentToCreate?.displayName === undefined ||\n componentToCreate.category === undefined\n ) {\n return initialState;\n }\n\n const modifiedData = {\n displayName: componentToCreate.displayName,\n type: 'component',\n repeatable: false,\n ...options,\n component: createComponentUid(componentToCreate.displayName, componentToCreate.category),\n };\n\n return {\n ...initialState,\n componentToCreate,\n modifiedData,\n isCreatingComponentWhileAddingAField: state.modifiedData.createComponent === true,\n };\n },\n resetPropsAndSetTheFormForAddingACompoToADz: (state) => {\n const createdDZ = state.modifiedData;\n const dataToSet = {\n ...createdDZ,\n createComponent: true,\n componentToCreate: { type: 'component' as const },\n };\n\n return { ...initialState, modifiedData: dataToSet };\n },\n setDataToEdit: (state, action: PayloadAction<SetDataToEditPayload>) => {\n const { data } = action.payload;\n state.modifiedData = data;\n state.initialData = data;\n },\n setAttributeDataSchema: (state, action: PayloadAction<SetAttributeDataSchemaPayload>) => {\n const { isEditing } = action.payload;\n\n if (isEditing === true) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { attributeType, nameToSetForRelation, targetUid, step, options = {} } = action.payload;\n\n let dataToSet;\n\n if (attributeType === 'component') {\n if (step === '1') {\n dataToSet = {\n type: 'component',\n createComponent: true,\n componentToCreate: { type: 'component' },\n };\n } else {\n dataToSet = {\n ...options,\n type: 'component',\n repeatable: true,\n };\n }\n } else if (attributeType === 'dynamiczone') {\n dataToSet = {\n ...options,\n type: 'dynamiczone',\n components: [],\n };\n } else if (attributeType === 'text') {\n dataToSet = { ...options, type: 'string' };\n } else if (attributeType === 'number' || attributeType === 'date') {\n dataToSet = options;\n } else if (attributeType === 'media') {\n dataToSet = {\n allowedTypes: ['images', 'files', 'videos', 'audios'],\n type: 'media',\n multiple: true,\n ...options,\n };\n } else if (attributeType === 'enumeration') {\n dataToSet = { ...options, type: 'enumeration', enum: [] };\n } else if (attributeType === 'relation') {\n dataToSet = {\n name: snakeCase(nameToSetForRelation),\n relation: 'oneToOne',\n targetAttribute: null,\n target: targetUid,\n type: 'relation',\n };\n } else {\n dataToSet = { ...options, type: attributeType, default: null };\n }\n\n state.modifiedData = dataToSet;\n },\n setCustomFieldDataSchema: (state, action: PayloadAction<SetCustomFieldDataSchemaPayload>) => {\n const { payload } = action;\n\n if (payload.isEditing === true) {\n const { modifiedDataToSetForEditing } = action.payload;\n state.modifiedData = modifiedDataToSetForEditing;\n state.initialData = modifiedDataToSetForEditing;\n\n return;\n }\n\n const { customField, options = {} } = payload;\n\n state.modifiedData = { ...options, type: customField.type };\n\n const allOptions = [\n ...(customField?.options?.base || []),\n ...(customField?.options?.advanced || []),\n ];\n\n const optionDefaults = allOptions.reduce(customFieldDefaultOptionsReducer, []);\n\n if (optionDefaults.length) {\n optionDefaults.forEach(({ name, defaultValue }) =>\n set(state.modifiedData, name, defaultValue)\n );\n }\n },\n setDynamicZoneDataSchema: (state, action: PayloadAction<SetDynamicZoneDataSchemaPayload>) => {\n const { attributeToEdit } = action.payload;\n state.modifiedData = attributeToEdit;\n state.initialData = attributeToEdit;\n },\n setErrors: (state, action: PayloadAction<SetErrorsPayload>) => {\n state.formErrors = action.payload.errors;\n },\n },\n});\n\nexport { initialState };\nexport const { actions, reducer } = slice;\n"],"names":["initialState","formErrors","modifiedData","initialData","componentToCreate","isCreatingComponentWhileAddingAField","slice","createSlice","name","reducers","onChange","state","action","keys","value","payload","obj","hasDefaultValue","default","undefined","length","includes","previousType","type","set","onChangeRelationTarget","target","oneThatIsCreatingARelationWithAnother","selectedContentTypeFriendlyName","targetContentTypeAllowedRelations","didChangeRelationTypeBecauseOfRestrictedRelation","changedRelationType","Array","isArray","currentRelationType","getRelationType","relation","targetAttribute","relationToSet","nameToSet","pluralize","snakeCase","nameToSlug","shouldPluralizeName","currentTargetAttribute","targetAttributeToSet","shouldPluralizeTargetAttribute","onChangeRelationType","currentName","resetProps","resetPropsAndSetFormForAddingAnExistingCompo","options","repeatable","resetPropsAndSaveCurrentData","displayName","category","component","createComponentUid","createComponent","resetPropsAndSetTheFormForAddingACompoToADz","createdDZ","dataToSet","setDataToEdit","data","setAttributeDataSchema","isEditing","modifiedDataToSetForEditing","attributeType","nameToSetForRelation","targetUid","step","components","allowedTypes","multiple","enum","setCustomFieldDataSchema","customField","allOptions","base","advanced","optionDefaults","reduce","customFieldDefaultOptionsReducer","forEach","defaultValue","setDynamicZoneDataSchema","attributeToEdit","setErrors","errors","actions","reducer"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const customFieldDefaultOptionsReducer = (acc, option)=>{
|
|
4
|
-
if (option.items) {
|
|
5
|
-
return option.items.reduce(customFieldDefaultOptionsReducer, acc);
|
|
4
|
+
if (option.items !== undefined) {
|
|
5
|
+
return option.items.reduce((currentAcc, item)=>customFieldDefaultOptionsReducer(currentAcc, item), acc);
|
|
6
6
|
}
|
|
7
|
-
if ('defaultValue' in option) {
|
|
7
|
+
if ('defaultValue' in option && option.name !== undefined) {
|
|
8
8
|
const { name, defaultValue } = option;
|
|
9
9
|
acc.push({
|
|
10
10
|
name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customFieldDefaultOptionsReducer.js","sources":["../../../../../admin/src/components/FormModal/utils/customFieldDefaultOptionsReducer.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"customFieldDefaultOptionsReducer.js","sources":["../../../../../admin/src/components/FormModal/utils/customFieldDefaultOptionsReducer.ts"],"sourcesContent":["type CustomFieldDefaultOption = {\n name: string;\n defaultValue: unknown;\n};\n\ntype CustomFieldOption = {\n items?: CustomFieldOption[];\n name?: string;\n defaultValue?: unknown;\n};\n\nexport const customFieldDefaultOptionsReducer = (\n acc: CustomFieldDefaultOption[],\n option: CustomFieldOption\n): CustomFieldDefaultOption[] => {\n if (option.items !== undefined) {\n return option.items.reduce(\n (currentAcc, item) => customFieldDefaultOptionsReducer(currentAcc, item),\n acc\n );\n }\n\n if ('defaultValue' in option && option.name !== undefined) {\n const { name, defaultValue } = option;\n acc.push({ name, defaultValue });\n }\n\n return acc;\n};\n"],"names":["customFieldDefaultOptionsReducer","acc","option","items","undefined","reduce","currentAcc","item","name","defaultValue","push"],"mappings":";;AAWO,MAAMA,gCAAAA,GAAmC,CAC9CC,GAAAA,EACAC,MAAAA,GAAAA;IAEA,IAAIA,MAAAA,CAAOC,KAAK,KAAKC,SAAAA,EAAW;QAC9B,OAAOF,MAAAA,CAAOC,KAAK,CAACE,MAAM,CACxB,CAACC,UAAAA,EAAYC,IAAAA,GAASP,gCAAAA,CAAiCM,UAAAA,EAAYC,IAAAA,CAAAA,EACnEN,GAAAA,CAAAA;AAEJ,IAAA;AAEA,IAAA,IAAI,cAAA,IAAkBC,MAAAA,IAAUA,MAAAA,CAAOM,IAAI,KAAKJ,SAAAA,EAAW;AACzD,QAAA,MAAM,EAAEI,IAAI,EAAEC,YAAY,EAAE,GAAGP,MAAAA;AAC/BD,QAAAA,GAAAA,CAAIS,IAAI,CAAC;AAAEF,YAAAA,IAAAA;AAAMC,YAAAA;AAAa,SAAA,CAAA;AAChC,IAAA;IAEA,OAAOR,GAAAA;AACT;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const customFieldDefaultOptionsReducer = (acc, option)=>{
|
|
2
|
-
if (option.items) {
|
|
3
|
-
return option.items.reduce(customFieldDefaultOptionsReducer, acc);
|
|
2
|
+
if (option.items !== undefined) {
|
|
3
|
+
return option.items.reduce((currentAcc, item)=>customFieldDefaultOptionsReducer(currentAcc, item), acc);
|
|
4
4
|
}
|
|
5
|
-
if ('defaultValue' in option) {
|
|
5
|
+
if ('defaultValue' in option && option.name !== undefined) {
|
|
6
6
|
const { name, defaultValue } = option;
|
|
7
7
|
acc.push({
|
|
8
8
|
name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customFieldDefaultOptionsReducer.mjs","sources":["../../../../../admin/src/components/FormModal/utils/customFieldDefaultOptionsReducer.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"customFieldDefaultOptionsReducer.mjs","sources":["../../../../../admin/src/components/FormModal/utils/customFieldDefaultOptionsReducer.ts"],"sourcesContent":["type CustomFieldDefaultOption = {\n name: string;\n defaultValue: unknown;\n};\n\ntype CustomFieldOption = {\n items?: CustomFieldOption[];\n name?: string;\n defaultValue?: unknown;\n};\n\nexport const customFieldDefaultOptionsReducer = (\n acc: CustomFieldDefaultOption[],\n option: CustomFieldOption\n): CustomFieldDefaultOption[] => {\n if (option.items !== undefined) {\n return option.items.reduce(\n (currentAcc, item) => customFieldDefaultOptionsReducer(currentAcc, item),\n acc\n );\n }\n\n if ('defaultValue' in option && option.name !== undefined) {\n const { name, defaultValue } = option;\n acc.push({ name, defaultValue });\n }\n\n return acc;\n};\n"],"names":["customFieldDefaultOptionsReducer","acc","option","items","undefined","reduce","currentAcc","item","name","defaultValue","push"],"mappings":"AAWO,MAAMA,gCAAAA,GAAmC,CAC9CC,GAAAA,EACAC,MAAAA,GAAAA;IAEA,IAAIA,MAAAA,CAAOC,KAAK,KAAKC,SAAAA,EAAW;QAC9B,OAAOF,MAAAA,CAAOC,KAAK,CAACE,MAAM,CACxB,CAACC,UAAAA,EAAYC,IAAAA,GAASP,gCAAAA,CAAiCM,UAAAA,EAAYC,IAAAA,CAAAA,EACnEN,GAAAA,CAAAA;AAEJ,IAAA;AAEA,IAAA,IAAI,cAAA,IAAkBC,MAAAA,IAAUA,MAAAA,CAAOM,IAAI,KAAKJ,SAAAA,EAAW;AACzD,QAAA,MAAM,EAAEI,IAAI,EAAEC,YAAY,EAAE,GAAGP,MAAAA;AAC/BD,QAAAA,GAAAA,CAAIS,IAAI,CAAC;AAAEF,YAAAA,IAAAA;AAAMC,YAAAA;AAAa,SAAA,CAAA;AAChC,IAAA;IAEA,OAAOR,GAAAA;AACT;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFormInputNames.js","sources":["../../../../../admin/src/components/FormModal/utils/getFormInputNames.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"getFormInputNames.js","sources":["../../../../../admin/src/components/FormModal/utils/getFormInputNames.ts"],"sourcesContent":["type FormInput = {\n name?: string;\n};\n\ntype FormSection = {\n items: FormInput[];\n};\n\nexport const getFormInputNames = (form: FormSection[]) =>\n form.reduce<string[]>((acc, current) => {\n const names = current.items.reduce<string[]>((acc, current) => {\n if (current.name !== undefined) {\n acc.push(current.name);\n }\n\n return acc;\n }, []);\n\n return [...acc, ...names];\n }, []);\n"],"names":["getFormInputNames","form","reduce","acc","current","names","items","name","undefined","push"],"mappings":";;AAQO,MAAMA,oBAAoB,CAACC,IAAAA,GAChCA,KAAKC,MAAM,CAAW,CAACC,GAAAA,EAAKC,OAAAA,GAAAA;AAC1B,QAAA,MAAMC,QAAQD,OAAAA,CAAQE,KAAK,CAACJ,MAAM,CAAW,CAACC,GAAAA,EAAKC,OAAAA,GAAAA;YACjD,IAAIA,OAAAA,CAAQG,IAAI,KAAKC,SAAAA,EAAW;gBAC9BL,GAAAA,CAAIM,IAAI,CAACL,OAAAA,CAAQG,IAAI,CAAA;AACvB,YAAA;YAEA,OAAOJ,GAAAA;AACT,QAAA,CAAA,EAAG,EAAE,CAAA;QAEL,OAAO;AAAIA,YAAAA,GAAAA,GAAAA;AAAQE,YAAAA,GAAAA;AAAM,SAAA;AAC3B,IAAA,CAAA,EAAG,EAAE;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getFormInputNames.mjs","sources":["../../../../../admin/src/components/FormModal/utils/getFormInputNames.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"getFormInputNames.mjs","sources":["../../../../../admin/src/components/FormModal/utils/getFormInputNames.ts"],"sourcesContent":["type FormInput = {\n name?: string;\n};\n\ntype FormSection = {\n items: FormInput[];\n};\n\nexport const getFormInputNames = (form: FormSection[]) =>\n form.reduce<string[]>((acc, current) => {\n const names = current.items.reduce<string[]>((acc, current) => {\n if (current.name !== undefined) {\n acc.push(current.name);\n }\n\n return acc;\n }, []);\n\n return [...acc, ...names];\n }, []);\n"],"names":["getFormInputNames","form","reduce","acc","current","names","items","name","undefined","push"],"mappings":"AAQO,MAAMA,oBAAoB,CAACC,IAAAA,GAChCA,KAAKC,MAAM,CAAW,CAACC,GAAAA,EAAKC,OAAAA,GAAAA;AAC1B,QAAA,MAAMC,QAAQD,OAAAA,CAAQE,KAAK,CAACJ,MAAM,CAAW,CAACC,GAAAA,EAAKC,OAAAA,GAAAA;YACjD,IAAIA,OAAAA,CAAQG,IAAI,KAAKC,SAAAA,EAAW;gBAC9BL,GAAAA,CAAIM,IAAI,CAACL,OAAAA,CAAQG,IAAI,CAAA;AACvB,YAAA;YAEA,OAAOJ,GAAAA;AACT,QAAA,CAAA,EAAG,EAAE,CAAA;QAEL,OAAO;AAAIA,YAAAA,GAAAA,GAAAA;AAAQE,YAAAA,GAAAA;AAAM,SAAA;AAC3B,IAAA,CAAA,EAAG,EAAE;;;;"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
/* eslint-disable no-confusing-arrow */ const shouldPluralizeName = (nature)=>[
|
|
3
|
+
/* eslint-disable no-confusing-arrow */ const shouldPluralizeName = (nature)=>nature !== undefined && [
|
|
4
4
|
'manyToMany',
|
|
5
5
|
'oneToMany',
|
|
6
6
|
'manyWay'
|
|
7
7
|
].includes(nature) ? 2 : 1;
|
|
8
|
-
const shouldPluralizeTargetAttribute = (nature)=>[
|
|
8
|
+
const shouldPluralizeTargetAttribute = (nature)=>nature !== undefined && [
|
|
9
9
|
'manyToMany',
|
|
10
10
|
'manyToOne'
|
|
11
11
|
].includes(nature) ? 2 : 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relations.js","sources":["../../../../../admin/src/components/FormModal/utils/relations.ts"],"sourcesContent":["/* eslint-disable no-confusing-arrow */\n\nimport type { Schema } from '@strapi/types';\n\nconst shouldPluralizeName = (nature
|
|
1
|
+
{"version":3,"file":"relations.js","sources":["../../../../../admin/src/components/FormModal/utils/relations.ts"],"sourcesContent":["/* eslint-disable no-confusing-arrow */\n\nimport type { Schema } from '@strapi/types';\n\nconst shouldPluralizeName = (nature?: Schema.Attribute.RelationKind.Any) =>\n nature !== undefined && ['manyToMany', 'oneToMany', 'manyWay'].includes(nature) ? 2 : 1;\n\nconst shouldPluralizeTargetAttribute = (nature?: Schema.Attribute.RelationKind.Any) =>\n nature !== undefined && ['manyToMany', 'manyToOne'].includes(nature) ? 2 : 1;\n\nexport { shouldPluralizeName, shouldPluralizeTargetAttribute };\n"],"names":["shouldPluralizeName","nature","undefined","includes","shouldPluralizeTargetAttribute"],"mappings":";;AAAA,wCAIA,MAAMA,mBAAAA,GAAsB,CAACC,MAAAA,GAC3BA,WAAWC,SAAAA,IAAa;AAAC,QAAA,YAAA;AAAc,QAAA,WAAA;AAAa,QAAA;KAAU,CAACC,QAAQ,CAACF,MAAAA,CAAAA,GAAU,CAAA,GAAI;AAExF,MAAMG,8BAAAA,GAAiC,CAACH,MAAAA,GACtCA,MAAAA,KAAWC,SAAAA,IAAa;AAAC,QAAA,YAAA;AAAc,QAAA;KAAY,CAACC,QAAQ,CAACF,MAAAA,CAAAA,GAAU,CAAA,GAAI;;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/* eslint-disable no-confusing-arrow */ const shouldPluralizeName = (nature)=>[
|
|
1
|
+
/* eslint-disable no-confusing-arrow */ const shouldPluralizeName = (nature)=>nature !== undefined && [
|
|
2
2
|
'manyToMany',
|
|
3
3
|
'oneToMany',
|
|
4
4
|
'manyWay'
|
|
5
5
|
].includes(nature) ? 2 : 1;
|
|
6
|
-
const shouldPluralizeTargetAttribute = (nature)=>[
|
|
6
|
+
const shouldPluralizeTargetAttribute = (nature)=>nature !== undefined && [
|
|
7
7
|
'manyToMany',
|
|
8
8
|
'manyToOne'
|
|
9
9
|
].includes(nature) ? 2 : 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relations.mjs","sources":["../../../../../admin/src/components/FormModal/utils/relations.ts"],"sourcesContent":["/* eslint-disable no-confusing-arrow */\n\nimport type { Schema } from '@strapi/types';\n\nconst shouldPluralizeName = (nature
|
|
1
|
+
{"version":3,"file":"relations.mjs","sources":["../../../../../admin/src/components/FormModal/utils/relations.ts"],"sourcesContent":["/* eslint-disable no-confusing-arrow */\n\nimport type { Schema } from '@strapi/types';\n\nconst shouldPluralizeName = (nature?: Schema.Attribute.RelationKind.Any) =>\n nature !== undefined && ['manyToMany', 'oneToMany', 'manyWay'].includes(nature) ? 2 : 1;\n\nconst shouldPluralizeTargetAttribute = (nature?: Schema.Attribute.RelationKind.Any) =>\n nature !== undefined && ['manyToMany', 'manyToOne'].includes(nature) ? 2 : 1;\n\nexport { shouldPluralizeName, shouldPluralizeTargetAttribute };\n"],"names":["shouldPluralizeName","nature","undefined","includes","shouldPluralizeTargetAttribute"],"mappings":"AAAA,wCAIA,MAAMA,mBAAAA,GAAsB,CAACC,MAAAA,GAC3BA,WAAWC,SAAAA,IAAa;AAAC,QAAA,YAAA;AAAc,QAAA,WAAA;AAAa,QAAA;KAAU,CAACC,QAAQ,CAACF,MAAAA,CAAAA,GAAU,CAAA,GAAI;AAExF,MAAMG,8BAAAA,GAAiC,CAACH,MAAAA,GACtCA,MAAAA,KAAWC,SAAAA,IAAa;AAAC,QAAA,YAAA;AAAc,QAAA;KAAY,CAACC,QAAQ,CAACF,MAAAA,CAAAA,GAAU,CAAA,GAAI;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormModalHeader.js","sources":["../../../admin/src/components/FormModalHeader.tsx"],"sourcesContent":["/**\n *\n * FormModalHeader\n *\n */\nimport { Box, Flex, Breadcrumbs, Crumb, Link, Modal } from '@strapi/design-system';\nimport { ArrowLeft } from '@strapi/icons';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\nimport { AttributeIcon, IconByType } from './AttributeIcon';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { useFormModalNavigation } from './FormModalNavigation/useFormModalNavigation';\n\nimport type { Internal } from '@strapi/types';\n\ninterface Header {\n label: string;\n info?: { category: string; name: string };\n}\n\ntype BaseProps = {\n actionType?: string | null;\n attributeName: string;\n attributeType: IconByType;\n contentTypeKind: IconByType;\n dynamicZoneTarget: string;\n modalType: string | null;\n customFieldUid?: string | null;\n showBackLink?: boolean;\n};\n\ntype FormModalHeaderProps = BaseProps
|
|
1
|
+
{"version":3,"file":"FormModalHeader.js","sources":["../../../admin/src/components/FormModalHeader.tsx"],"sourcesContent":["/**\n *\n * FormModalHeader\n *\n */\nimport { Box, Flex, Breadcrumbs, Crumb, Link, Modal } from '@strapi/design-system';\nimport { ArrowLeft } from '@strapi/icons';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\nimport { AttributeIcon, IconByType } from './AttributeIcon';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { useFormModalNavigation } from './FormModalNavigation/useFormModalNavigation';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface Header {\n label: string;\n info?: { category: string; name: string };\n}\n\ntype BaseProps = {\n actionType?: string | null;\n attributeName: string;\n attributeType: IconByType;\n contentTypeKind: IconByType;\n dynamicZoneTarget: string;\n modalType: string | null;\n customFieldUid?: string | null;\n showBackLink?: boolean;\n};\n\ntype FormModalHeaderProps = BaseProps & {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n};\n\nexport const FormModalHeader = ({\n actionType = null,\n attributeName,\n attributeType,\n contentTypeKind,\n dynamicZoneTarget,\n forTarget,\n modalType = null,\n targetUid,\n customFieldUid = null,\n showBackLink = false,\n}: FormModalHeaderProps) => {\n const { formatMessage } = useIntl();\n const { components, contentTypes } = useDataManager();\n const { onOpenModalAddField } = useFormModalNavigation();\n\n let icon: IconByType = 'component';\n let headers: Header[] = [];\n\n const type =\n forTarget === 'component'\n ? components[targetUid as Internal.UID.Component]\n : contentTypes[targetUid as Internal.UID.ContentType];\n\n const displayName = type?.info.displayName;\n\n if (modalType === 'contentType') {\n icon = contentTypeKind;\n }\n\n if (['component'].includes(modalType || '')) {\n icon = 'component';\n }\n\n const isCreatingMainSchema = ['component', 'contentType'].includes(modalType || '');\n\n if (isCreatingMainSchema) {\n let headerId = getTrad(`modalForm.component.header-${actionType}`);\n\n if (modalType === 'contentType') {\n headerId = getTrad(`modalForm.${contentTypeKind}.header-create`);\n }\n\n if (actionType === 'edit') {\n headerId = getTrad(`modalForm.header-edit`);\n }\n\n return (\n <Modal.Header>\n <Flex>\n <Box>\n <AttributeIcon type={icon} />\n </Box>\n <Box paddingLeft={3}>\n <Modal.Title>{formatMessage({ id: headerId }, { name: displayName })}</Modal.Title>\n </Box>\n </Flex>\n </Modal.Header>\n );\n }\n\n headers = [\n {\n label: displayName,\n info: {\n category: ('category' in type && type?.category) || '',\n name: type?.info?.displayName,\n },\n },\n ];\n\n if (modalType === 'chooseAttribute') {\n icon = forTarget === 'component' ? 'component' : 'kind' in type ? type.kind : '';\n }\n\n if (modalType === 'addComponentToDynamicZone') {\n icon = 'dynamiczone';\n headers.push({ label: dynamicZoneTarget });\n }\n\n if (modalType === 'attribute' || modalType === 'customField') {\n icon = attributeType;\n headers.push({ label: attributeName });\n }\n\n return (\n <Modal.Header>\n <Flex gap={3}>\n {showBackLink && (\n // This is a workaround and should use the LinkButton with a variant that currently doesn't exist\n <Link\n aria-label={formatMessage({\n id: getTrad('modalForm.header.back'),\n defaultMessage: 'Back',\n })}\n startIcon={<ArrowLeft />}\n onClick={() => onOpenModalAddField({ forTarget, targetUid })}\n href=\"#back\"\n isExternal={false}\n />\n )}\n <AttributeIcon type={icon} customField={customFieldUid} />\n\n <Breadcrumbs label={headers.map(({ label }) => label).join(',')}>\n {headers.map(({ label, info }, index, arr) => {\n label = upperFirst(label);\n\n if (!label) {\n return null;\n }\n\n const key = `${label}.${index}`;\n\n if (info?.category) {\n label = `${label} (${upperFirst(info.category)} - ${upperFirst(info.name)})`;\n }\n\n return (\n <Crumb isCurrent={index === arr.length - 1} key={key}>\n {label}\n </Crumb>\n );\n })}\n </Breadcrumbs>\n </Flex>\n </Modal.Header>\n );\n};\n"],"names":["FormModalHeader","actionType","attributeName","attributeType","contentTypeKind","dynamicZoneTarget","forTarget","modalType","targetUid","customFieldUid","showBackLink","formatMessage","useIntl","components","contentTypes","useDataManager","onOpenModalAddField","useFormModalNavigation","icon","headers","type","displayName","info","includes","isCreatingMainSchema","headerId","getTrad","_jsx","Modal","Header","_jsxs","Flex","Box","AttributeIcon","paddingLeft","Title","id","name","label","category","kind","push","gap","Link","aria-label","defaultMessage","startIcon","ArrowLeft","onClick","href","isExternal","customField","Breadcrumbs","map","join","index","arr","upperFirst","key","Crumb","isCurrent","length"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormModalHeader.mjs","sources":["../../../admin/src/components/FormModalHeader.tsx"],"sourcesContent":["/**\n *\n * FormModalHeader\n *\n */\nimport { Box, Flex, Breadcrumbs, Crumb, Link, Modal } from '@strapi/design-system';\nimport { ArrowLeft } from '@strapi/icons';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\nimport { AttributeIcon, IconByType } from './AttributeIcon';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { useFormModalNavigation } from './FormModalNavigation/useFormModalNavigation';\n\nimport type { Internal } from '@strapi/types';\n\ninterface Header {\n label: string;\n info?: { category: string; name: string };\n}\n\ntype BaseProps = {\n actionType?: string | null;\n attributeName: string;\n attributeType: IconByType;\n contentTypeKind: IconByType;\n dynamicZoneTarget: string;\n modalType: string | null;\n customFieldUid?: string | null;\n showBackLink?: boolean;\n};\n\ntype FormModalHeaderProps = BaseProps
|
|
1
|
+
{"version":3,"file":"FormModalHeader.mjs","sources":["../../../admin/src/components/FormModalHeader.tsx"],"sourcesContent":["/**\n *\n * FormModalHeader\n *\n */\nimport { Box, Flex, Breadcrumbs, Crumb, Link, Modal } from '@strapi/design-system';\nimport { ArrowLeft } from '@strapi/icons';\nimport upperFirst from 'lodash/upperFirst';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../utils';\n\nimport { AttributeIcon, IconByType } from './AttributeIcon';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { useFormModalNavigation } from './FormModalNavigation/useFormModalNavigation';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface Header {\n label: string;\n info?: { category: string; name: string };\n}\n\ntype BaseProps = {\n actionType?: string | null;\n attributeName: string;\n attributeType: IconByType;\n contentTypeKind: IconByType;\n dynamicZoneTarget: string;\n modalType: string | null;\n customFieldUid?: string | null;\n showBackLink?: boolean;\n};\n\ntype FormModalHeaderProps = BaseProps & {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n};\n\nexport const FormModalHeader = ({\n actionType = null,\n attributeName,\n attributeType,\n contentTypeKind,\n dynamicZoneTarget,\n forTarget,\n modalType = null,\n targetUid,\n customFieldUid = null,\n showBackLink = false,\n}: FormModalHeaderProps) => {\n const { formatMessage } = useIntl();\n const { components, contentTypes } = useDataManager();\n const { onOpenModalAddField } = useFormModalNavigation();\n\n let icon: IconByType = 'component';\n let headers: Header[] = [];\n\n const type =\n forTarget === 'component'\n ? components[targetUid as Internal.UID.Component]\n : contentTypes[targetUid as Internal.UID.ContentType];\n\n const displayName = type?.info.displayName;\n\n if (modalType === 'contentType') {\n icon = contentTypeKind;\n }\n\n if (['component'].includes(modalType || '')) {\n icon = 'component';\n }\n\n const isCreatingMainSchema = ['component', 'contentType'].includes(modalType || '');\n\n if (isCreatingMainSchema) {\n let headerId = getTrad(`modalForm.component.header-${actionType}`);\n\n if (modalType === 'contentType') {\n headerId = getTrad(`modalForm.${contentTypeKind}.header-create`);\n }\n\n if (actionType === 'edit') {\n headerId = getTrad(`modalForm.header-edit`);\n }\n\n return (\n <Modal.Header>\n <Flex>\n <Box>\n <AttributeIcon type={icon} />\n </Box>\n <Box paddingLeft={3}>\n <Modal.Title>{formatMessage({ id: headerId }, { name: displayName })}</Modal.Title>\n </Box>\n </Flex>\n </Modal.Header>\n );\n }\n\n headers = [\n {\n label: displayName,\n info: {\n category: ('category' in type && type?.category) || '',\n name: type?.info?.displayName,\n },\n },\n ];\n\n if (modalType === 'chooseAttribute') {\n icon = forTarget === 'component' ? 'component' : 'kind' in type ? type.kind : '';\n }\n\n if (modalType === 'addComponentToDynamicZone') {\n icon = 'dynamiczone';\n headers.push({ label: dynamicZoneTarget });\n }\n\n if (modalType === 'attribute' || modalType === 'customField') {\n icon = attributeType;\n headers.push({ label: attributeName });\n }\n\n return (\n <Modal.Header>\n <Flex gap={3}>\n {showBackLink && (\n // This is a workaround and should use the LinkButton with a variant that currently doesn't exist\n <Link\n aria-label={formatMessage({\n id: getTrad('modalForm.header.back'),\n defaultMessage: 'Back',\n })}\n startIcon={<ArrowLeft />}\n onClick={() => onOpenModalAddField({ forTarget, targetUid })}\n href=\"#back\"\n isExternal={false}\n />\n )}\n <AttributeIcon type={icon} customField={customFieldUid} />\n\n <Breadcrumbs label={headers.map(({ label }) => label).join(',')}>\n {headers.map(({ label, info }, index, arr) => {\n label = upperFirst(label);\n\n if (!label) {\n return null;\n }\n\n const key = `${label}.${index}`;\n\n if (info?.category) {\n label = `${label} (${upperFirst(info.category)} - ${upperFirst(info.name)})`;\n }\n\n return (\n <Crumb isCurrent={index === arr.length - 1} key={key}>\n {label}\n </Crumb>\n );\n })}\n </Breadcrumbs>\n </Flex>\n </Modal.Header>\n );\n};\n"],"names":["FormModalHeader","actionType","attributeName","attributeType","contentTypeKind","dynamicZoneTarget","forTarget","modalType","targetUid","customFieldUid","showBackLink","formatMessage","useIntl","components","contentTypes","useDataManager","onOpenModalAddField","useFormModalNavigation","icon","headers","type","displayName","info","includes","isCreatingMainSchema","headerId","getTrad","_jsx","Modal","Header","_jsxs","Flex","Box","AttributeIcon","paddingLeft","Title","id","name","label","category","kind","push","gap","Link","aria-label","defaultMessage","startIcon","ArrowLeft","onClick","href","isExternal","customField","Breadcrumbs","map","join","index","arr","upperFirst","key","Crumb","isCurrent","length"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormModalNavigationContext.js","sources":["../../../../admin/src/components/FormModalNavigation/FormModalNavigationContext.ts"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport type {\n State,\n SelectFieldPayload,\n SelectCustomFieldPayload,\n NavigateToChooseAttributeModalPayload,\n NavigateToAddCompoToDZModalPayload,\n OpenModalAddComponentsToDZPayload,\n OpenModalEditFieldPayload,\n OpenModalEditCustomFieldPayload,\n OpenModalEditSchemaPayload,\n OpenModalAddFieldPayload,\n} from './FormModalNavigationProvider';\n\nexport type FormModalNavigationContextValue = State & {\n onCloseModal: () => void;\n onOpenModalAddField: (options: OpenModalAddFieldPayload) => void;\n onClickSelectField: (option: SelectFieldPayload) => void;\n onClickSelectCustomField: (option: SelectCustomFieldPayload) => void;\n onNavigateToChooseAttributeModal: (options: NavigateToChooseAttributeModalPayload) => void;\n onNavigateToAddCompoToDZModal: (options: NavigateToAddCompoToDZModalPayload) => void;\n onOpenModalAddComponentsToDZ: (options: OpenModalAddComponentsToDZPayload) => void;\n onNavigateToCreateComponentStep2: () => void;\n onOpenModalCreateSchema: (options:
|
|
1
|
+
{"version":3,"file":"FormModalNavigationContext.js","sources":["../../../../admin/src/components/FormModalNavigation/FormModalNavigationContext.ts"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport type {\n State,\n SelectFieldPayload,\n SelectCustomFieldPayload,\n NavigateToChooseAttributeModalPayload,\n NavigateToAddCompoToDZModalPayload,\n OpenModalAddComponentsToDZPayload,\n OpenModalEditFieldPayload,\n OpenModalEditCustomFieldPayload,\n OpenModalEditSchemaPayload,\n OpenModalAddFieldPayload,\n OpenModalCreateSchemaPayload,\n} from './FormModalNavigationProvider';\n\nexport type FormModalNavigationContextValue = State & {\n onCloseModal: () => void;\n onOpenModalAddField: (options: OpenModalAddFieldPayload) => void;\n onClickSelectField: (option: SelectFieldPayload) => void;\n onClickSelectCustomField: (option: SelectCustomFieldPayload) => void;\n onNavigateToChooseAttributeModal: (options: NavigateToChooseAttributeModalPayload) => void;\n onNavigateToAddCompoToDZModal: (options: NavigateToAddCompoToDZModalPayload) => void;\n onOpenModalAddComponentsToDZ: (options: OpenModalAddComponentsToDZPayload) => void;\n onNavigateToCreateComponentStep2: () => void;\n onOpenModalCreateSchema: (options: OpenModalCreateSchemaPayload) => void;\n onOpenModalEditField: (options: OpenModalEditFieldPayload) => void;\n onOpenModalEditCustomField: (options: OpenModalEditCustomFieldPayload) => void;\n onOpenModalEditSchema: (options: OpenModalEditSchemaPayload) => void;\n setFormModalNavigationState: (value: React.SetStateAction<State>) => void;\n setActiveTab: (value: State['activeTab']) => void;\n};\n\n// @ts-expect-error need to pass initial value to params\nexport const FormModalNavigationContext = React.createContext<FormModalNavigationContextValue>();\n"],"names":["FormModalNavigationContext","React","createContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAkCA;AACO,MAAMA,0BAAAA,GAA6BC,gBAAAA,CAAMC,aAAa;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormModalNavigationContext.mjs","sources":["../../../../admin/src/components/FormModalNavigation/FormModalNavigationContext.ts"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport type {\n State,\n SelectFieldPayload,\n SelectCustomFieldPayload,\n NavigateToChooseAttributeModalPayload,\n NavigateToAddCompoToDZModalPayload,\n OpenModalAddComponentsToDZPayload,\n OpenModalEditFieldPayload,\n OpenModalEditCustomFieldPayload,\n OpenModalEditSchemaPayload,\n OpenModalAddFieldPayload,\n} from './FormModalNavigationProvider';\n\nexport type FormModalNavigationContextValue = State & {\n onCloseModal: () => void;\n onOpenModalAddField: (options: OpenModalAddFieldPayload) => void;\n onClickSelectField: (option: SelectFieldPayload) => void;\n onClickSelectCustomField: (option: SelectCustomFieldPayload) => void;\n onNavigateToChooseAttributeModal: (options: NavigateToChooseAttributeModalPayload) => void;\n onNavigateToAddCompoToDZModal: (options: NavigateToAddCompoToDZModalPayload) => void;\n onOpenModalAddComponentsToDZ: (options: OpenModalAddComponentsToDZPayload) => void;\n onNavigateToCreateComponentStep2: () => void;\n onOpenModalCreateSchema: (options:
|
|
1
|
+
{"version":3,"file":"FormModalNavigationContext.mjs","sources":["../../../../admin/src/components/FormModalNavigation/FormModalNavigationContext.ts"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as React from 'react';\n\nimport type {\n State,\n SelectFieldPayload,\n SelectCustomFieldPayload,\n NavigateToChooseAttributeModalPayload,\n NavigateToAddCompoToDZModalPayload,\n OpenModalAddComponentsToDZPayload,\n OpenModalEditFieldPayload,\n OpenModalEditCustomFieldPayload,\n OpenModalEditSchemaPayload,\n OpenModalAddFieldPayload,\n OpenModalCreateSchemaPayload,\n} from './FormModalNavigationProvider';\n\nexport type FormModalNavigationContextValue = State & {\n onCloseModal: () => void;\n onOpenModalAddField: (options: OpenModalAddFieldPayload) => void;\n onClickSelectField: (option: SelectFieldPayload) => void;\n onClickSelectCustomField: (option: SelectCustomFieldPayload) => void;\n onNavigateToChooseAttributeModal: (options: NavigateToChooseAttributeModalPayload) => void;\n onNavigateToAddCompoToDZModal: (options: NavigateToAddCompoToDZModalPayload) => void;\n onOpenModalAddComponentsToDZ: (options: OpenModalAddComponentsToDZPayload) => void;\n onNavigateToCreateComponentStep2: () => void;\n onOpenModalCreateSchema: (options: OpenModalCreateSchemaPayload) => void;\n onOpenModalEditField: (options: OpenModalEditFieldPayload) => void;\n onOpenModalEditCustomField: (options: OpenModalEditCustomFieldPayload) => void;\n onOpenModalEditSchema: (options: OpenModalEditSchemaPayload) => void;\n setFormModalNavigationState: (value: React.SetStateAction<State>) => void;\n setActiveTab: (value: State['activeTab']) => void;\n};\n\n// @ts-expect-error need to pass initial value to params\nexport const FormModalNavigationContext = React.createContext<FormModalNavigationContextValue>();\n"],"names":["FormModalNavigationContext","React","createContext"],"mappings":";;AAkCA;AACO,MAAMA,0BAAAA,GAA6BC,KAAAA,CAAMC,aAAa;;;;"}
|
|
@@ -7,18 +7,18 @@ var useCTBSession = require('../CTBSession/useCTBSession.js');
|
|
|
7
7
|
var FormModalNavigationContext = require('./FormModalNavigationContext.js');
|
|
8
8
|
|
|
9
9
|
const INITIAL_STATE_DATA = {
|
|
10
|
-
actionType:
|
|
11
|
-
attributeName:
|
|
12
|
-
attributeType:
|
|
13
|
-
dynamicZoneTarget:
|
|
14
|
-
forTarget:
|
|
10
|
+
actionType: 'create',
|
|
11
|
+
attributeName: '',
|
|
12
|
+
attributeType: '',
|
|
13
|
+
dynamicZoneTarget: '',
|
|
14
|
+
forTarget: 'contentType',
|
|
15
15
|
modalType: null,
|
|
16
16
|
isOpen: true,
|
|
17
17
|
showBackLink: false,
|
|
18
|
-
kind:
|
|
18
|
+
kind: 'collectionType',
|
|
19
19
|
step: null,
|
|
20
|
-
targetUid:
|
|
21
|
-
customFieldUid:
|
|
20
|
+
targetUid: '',
|
|
21
|
+
customFieldUid: '',
|
|
22
22
|
activeTab: 'basic'
|
|
23
23
|
};
|
|
24
24
|
const FormModalNavigationProvider = ({ children })=>{
|
|
@@ -68,7 +68,7 @@ const FormModalNavigationProvider = ({ children })=>{
|
|
|
68
68
|
const onOpenModalAddComponentsToDZ = React.useCallback(({ dynamicZoneTarget, targetUid })=>{
|
|
69
69
|
setFormModalNavigationState((prevState)=>({
|
|
70
70
|
...prevState,
|
|
71
|
-
dynamicZoneTarget,
|
|
71
|
+
dynamicZoneTarget: dynamicZoneTarget ?? '',
|
|
72
72
|
targetUid,
|
|
73
73
|
modalType: 'addComponentToDynamicZone',
|
|
74
74
|
forTarget: 'contentType',
|
|
@@ -82,7 +82,7 @@ const FormModalNavigationProvider = ({ children })=>{
|
|
|
82
82
|
...prevState,
|
|
83
83
|
actionType: 'create',
|
|
84
84
|
forTarget,
|
|
85
|
-
targetUid,
|
|
85
|
+
targetUid: targetUid ?? '',
|
|
86
86
|
modalType: 'chooseAttribute',
|
|
87
87
|
isOpen: true,
|
|
88
88
|
showBackLink: false,
|
|
@@ -131,7 +131,7 @@ const FormModalNavigationProvider = ({ children })=>{
|
|
|
131
131
|
actionType: 'edit',
|
|
132
132
|
forTarget,
|
|
133
133
|
targetUid,
|
|
134
|
-
kind,
|
|
134
|
+
kind: kind === 'singleType' ? 'singleType' : 'collectionType',
|
|
135
135
|
isOpen: true,
|
|
136
136
|
activeTab: 'basic'
|
|
137
137
|
}));
|
|
@@ -164,8 +164,8 @@ const FormModalNavigationProvider = ({ children })=>{
|
|
|
164
164
|
modalType: 'addComponentToDynamicZone',
|
|
165
165
|
actionType: 'create',
|
|
166
166
|
step: '1',
|
|
167
|
-
attributeType:
|
|
168
|
-
attributeName:
|
|
167
|
+
attributeType: '',
|
|
168
|
+
attributeName: '',
|
|
169
169
|
activeTab: 'basic'
|
|
170
170
|
}));
|
|
171
171
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormModalNavigationProvider.js","sources":["../../../../admin/src/components/FormModalNavigation/FormModalNavigationProvider.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\n\nimport { useCTBSession } from '../CTBSession/useCTBSession';\n\nimport { FormModalNavigationContext } from './FormModalNavigationContext';\n\nimport type { TrackingEvent } from '@strapi/admin/strapi-admin';\nimport type { Internal, Struct } from '@strapi/types';\n\ntype FormModalNavigationProviderProps = {\n children: React.ReactNode;\n};\n\nexport type Tab = 'basic' | 'advanced';\n\nexport type ModalType =\n | 'chooseAttribute'\n | 'edit'\n | 'attribute'\n | 'customField'\n | 'addComponentToDynamicZone'\n | 'contentType'\n | 'component';\n\nexport type State = Record<string, any>;\n\nexport const INITIAL_STATE_DATA: State = {\n actionType: null,\n attributeName: null,\n attributeType: null,\n dynamicZoneTarget: null,\n forTarget: null,\n modalType: null,\n isOpen: true,\n showBackLink: false,\n kind: null,\n step: null,\n targetUid: null,\n customFieldUid: null,\n activeTab: 'basic',\n};\n\nexport type SelectCustomFieldPayload = {\n attributeType: string;\n customFieldUid: string;\n};\n\nexport type SelectFieldPayload = {\n attributeType: string;\n step: string | null;\n};\n\nexport type OpenModalAddComponentsToDZPayload = {\n dynamicZoneTarget?: string;\n targetUid: Internal.UID.Schema;\n};\n\nexport type OpenModalAddFieldPayload = {\n forTarget: Struct.ModelType;\n targetUid?: Internal.UID.Schema;\n};\n\nexport type OpenModalEditCustomFieldPayload = {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n attributeName: string;\n attributeType: string;\n customFieldUid: string;\n};\n\nexport type OpenModalEditFieldPayload = {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n attributeName: string;\n attributeType: string;\n step: string | null;\n};\n\nexport type OpenModalEditSchemaPayload = {\n modalType: ModalType;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n kind?: string;\n};\n\nexport type NavigateToChooseAttributeModalPayload = {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n};\n\nexport type NavigateToAddCompoToDZModalPayload = {\n dynamicZoneTarget: string;\n};\n\nexport const FormModalNavigationProvider = ({ children }: FormModalNavigationProviderProps) => {\n const [state, setFormModalNavigationState] = useState(INITIAL_STATE_DATA);\n const { trackUsage: originalTrackUsage } = useTracking();\n const { sessionId } = useCTBSession();\n\n // Create a trackUsage that includes session ID from CTBSessionContext\n const trackUsage = useCallback(\n <TEvent extends TrackingEvent>(event: TEvent['name'], properties?: TEvent['properties']) => {\n const propertiesWithSessionId = {\n ...(properties as Record<string, unknown>),\n ctbSessionId: sessionId,\n };\n return originalTrackUsage(event, propertiesWithSessionId as TEvent['properties']);\n },\n [originalTrackUsage, sessionId]\n );\n\n const onClickSelectCustomField = useCallback(\n ({ attributeType, customFieldUid }: SelectCustomFieldPayload) => {\n setFormModalNavigationState((prevState: State) => ({\n ...prevState,\n actionType: 'create',\n modalType: 'customField',\n attributeType,\n customFieldUid,\n activeTab: 'basic',\n }));\n },\n []\n );\n\n const onClickSelectField = useCallback(\n ({ attributeType, step }: SelectFieldPayload) => {\n if (state.forTarget === 'contentType') {\n trackUsage('didSelectContentTypeFieldType', { type: attributeType });\n }\n\n setFormModalNavigationState((prevState: State) => ({\n ...prevState,\n actionType: 'create',\n modalType: 'attribute',\n step,\n attributeType,\n showBackLink: true,\n activeTab: 'basic',\n }));\n },\n [state.forTarget, trackUsage]\n );\n\n const onOpenModalAddComponentsToDZ = useCallback(\n ({ dynamicZoneTarget, targetUid }: OpenModalAddComponentsToDZPayload) => {\n setFormModalNavigationState((prevState: State) => ({\n ...prevState,\n dynamicZoneTarget,\n targetUid,\n modalType: 'addComponentToDynamicZone',\n forTarget: 'contentType',\n step: '1',\n actionType: 'edit',\n isOpen: true,\n }));\n },\n []\n );\n\n const onOpenModalAddField = useCallback(({ forTarget, targetUid }: OpenModalAddFieldPayload) => {\n setFormModalNavigationState((prevState: State) => ({\n ...prevState,\n actionType: 'create',\n forTarget,\n targetUid,\n modalType: 'chooseAttribute',\n isOpen: true,\n showBackLink: false,\n activeTab: 'basic',\n }));\n }, []);\n\n const onOpenModalCreateSchema = useCallback((nextState: State) => {\n setFormModalNavigationState((prevState) => ({\n ...prevState,\n ...nextState,\n isOpen: true,\n activeTab: 'basic',\n }));\n }, []);\n\n const onOpenModalEditCustomField = useCallback(\n ({\n forTarget,\n targetUid,\n attributeName,\n attributeType,\n customFieldUid,\n }: OpenModalEditCustomFieldPayload) => {\n setFormModalNavigationState((prevState: State) => ({\n ...prevState,\n modalType: 'customField',\n customFieldUid,\n actionType: 'edit',\n forTarget,\n targetUid,\n attributeName,\n attributeType,\n isOpen: true,\n activeTab: 'basic',\n }));\n },\n []\n );\n\n const onOpenModalEditField = useCallback(\n ({ forTarget, targetUid, attributeName, attributeType, step }: OpenModalEditFieldPayload) => {\n setFormModalNavigationState((prevState: State) => ({\n ...prevState,\n modalType: 'attribute',\n actionType: 'edit',\n forTarget,\n targetUid,\n attributeName,\n attributeType,\n step,\n isOpen: true,\n }));\n },\n []\n );\n\n const onOpenModalEditSchema = useCallback(\n ({ modalType, forTarget, targetUid, kind }: OpenModalEditSchemaPayload) => {\n setFormModalNavigationState((prevState: State) => ({\n ...prevState,\n modalType,\n actionType: 'edit',\n forTarget,\n targetUid,\n kind,\n isOpen: true,\n activeTab: 'basic',\n }));\n },\n []\n );\n\n const onCloseModal = useCallback(() => {\n setFormModalNavigationState(INITIAL_STATE_DATA);\n }, []);\n\n const onNavigateToChooseAttributeModal = useCallback(\n ({ forTarget, targetUid }: NavigateToChooseAttributeModalPayload) => {\n setFormModalNavigationState((prev: State) => ({\n ...prev,\n forTarget,\n targetUid,\n modalType: 'chooseAttribute',\n activeTab: 'basic',\n }));\n },\n []\n );\n\n const onNavigateToCreateComponentStep2 = useCallback(() => {\n setFormModalNavigationState((prev: State) => ({\n ...prev,\n attributeType: 'component',\n modalType: 'attribute',\n step: '2',\n activeTab: 'basic',\n }));\n }, []);\n\n const onNavigateToAddCompoToDZModal = useCallback(\n ({ dynamicZoneTarget }: NavigateToAddCompoToDZModalPayload) => {\n setFormModalNavigationState((prev: State) => ({\n ...prev,\n dynamicZoneTarget,\n modalType: 'addComponentToDynamicZone',\n actionType: 'create',\n step: '1',\n attributeType: null,\n attributeName: null,\n activeTab: 'basic',\n }));\n },\n []\n );\n\n const setActiveTab = useCallback((value: Tab) => {\n setFormModalNavigationState((prev: State) => ({\n ...prev,\n activeTab: value,\n }));\n }, []);\n\n const contextValue = useMemo(\n () => ({\n ...state,\n onClickSelectField,\n onClickSelectCustomField,\n onCloseModal,\n onNavigateToChooseAttributeModal,\n onNavigateToAddCompoToDZModal,\n onOpenModalAddComponentsToDZ,\n onNavigateToCreateComponentStep2,\n onOpenModalAddField,\n onOpenModalCreateSchema,\n onOpenModalEditField,\n onOpenModalEditCustomField,\n onOpenModalEditSchema,\n setFormModalNavigationState,\n setActiveTab,\n }),\n [\n state,\n onClickSelectField,\n onClickSelectCustomField,\n onCloseModal,\n onNavigateToChooseAttributeModal,\n onNavigateToAddCompoToDZModal,\n onOpenModalAddComponentsToDZ,\n onNavigateToCreateComponentStep2,\n onOpenModalAddField,\n onOpenModalCreateSchema,\n onOpenModalEditField,\n onOpenModalEditCustomField,\n onOpenModalEditSchema,\n setActiveTab,\n ]\n );\n\n return (\n <FormModalNavigationContext.Provider value={contextValue}>\n {children}\n </FormModalNavigationContext.Provider>\n );\n};\n"],"names":["INITIAL_STATE_DATA","actionType","attributeName","attributeType","dynamicZoneTarget","forTarget","modalType","isOpen","showBackLink","kind","step","targetUid","customFieldUid","activeTab","FormModalNavigationProvider","children","state","setFormModalNavigationState","useState","trackUsage","originalTrackUsage","useTracking","sessionId","useCTBSession","useCallback","event","properties","propertiesWithSessionId","ctbSessionId","onClickSelectCustomField","prevState","onClickSelectField","type","onOpenModalAddComponentsToDZ","onOpenModalAddField","onOpenModalCreateSchema","nextState","onOpenModalEditCustomField","onOpenModalEditField","onOpenModalEditSchema","onCloseModal","onNavigateToChooseAttributeModal","prev","onNavigateToCreateComponentStep2","onNavigateToAddCompoToDZModal","setActiveTab","value","contextValue","useMemo","_jsx","FormModalNavigationContext","Provider"],"mappings":";;;;;;;;MA4BaA,kBAAAA,GAA4B;IACvCC,UAAAA,EAAY,IAAA;IACZC,aAAAA,EAAe,IAAA;IACfC,aAAAA,EAAe,IAAA;IACfC,iBAAAA,EAAmB,IAAA;IACnBC,SAAAA,EAAW,IAAA;IACXC,SAAAA,EAAW,IAAA;IACXC,MAAAA,EAAQ,IAAA;IACRC,YAAAA,EAAc,KAAA;IACdC,IAAAA,EAAM,IAAA;IACNC,IAAAA,EAAM,IAAA;IACNC,SAAAA,EAAW,IAAA;IACXC,cAAAA,EAAgB,IAAA;IAChBC,SAAAA,EAAW;AACb;AAsDO,MAAMC,2BAAAA,GAA8B,CAAC,EAAEC,QAAQ,EAAoC,GAAA;AACxF,IAAA,MAAM,CAACC,KAAAA,EAAOC,2BAAAA,CAA4B,GAAGC,cAAAA,CAASlB,kBAAAA,CAAAA;AACtD,IAAA,MAAM,EAAEmB,UAAAA,EAAYC,kBAAkB,EAAE,GAAGC,uBAAAA,EAAAA;IAC3C,MAAM,EAAEC,SAAS,EAAE,GAAGC,2BAAAA,EAAAA;;IAGtB,MAAMJ,UAAAA,GAAaK,iBAAAA,CACjB,CAA+BC,KAAAA,EAAuBC,UAAAA,GAAAA;AACpD,QAAA,MAAMC,uBAAAA,GAA0B;AAC9B,YAAA,GAAID,UAAU;YACdE,YAAAA,EAAcN;AAChB,SAAA;AACA,QAAA,OAAOF,mBAAmBK,KAAAA,EAAOE,uBAAAA,CAAAA;IACnC,CAAA,EACA;AAACP,QAAAA,kBAAAA;AAAoBE,QAAAA;AAAU,KAAA,CAAA;AAGjC,IAAA,MAAMO,2BAA2BL,iBAAAA,CAC/B,CAAC,EAAErB,aAAa,EAAES,cAAc,EAA4B,GAAA;QAC1DK,2BAAAA,CAA4B,CAACa,aAAsB;AACjD,gBAAA,GAAGA,SAAS;gBACZ7B,UAAAA,EAAY,QAAA;gBACZK,SAAAA,EAAW,aAAA;AACXH,gBAAAA,aAAAA;AACAS,gBAAAA,cAAAA;gBACAC,SAAAA,EAAW;aACb,CAAA,CAAA;AACF,IAAA,CAAA,EACA,EAAE,CAAA;AAGJ,IAAA,MAAMkB,qBAAqBP,iBAAAA,CACzB,CAAC,EAAErB,aAAa,EAAEO,IAAI,EAAsB,GAAA;QAC1C,IAAIM,KAAAA,CAAMX,SAAS,KAAK,aAAA,EAAe;AACrCc,YAAAA,UAAAA,CAAW,+BAAA,EAAiC;gBAAEa,IAAAA,EAAM7B;AAAc,aAAA,CAAA;AACpE,QAAA;QAEAc,2BAAAA,CAA4B,CAACa,aAAsB;AACjD,gBAAA,GAAGA,SAAS;gBACZ7B,UAAAA,EAAY,QAAA;gBACZK,SAAAA,EAAW,WAAA;AACXI,gBAAAA,IAAAA;AACAP,gBAAAA,aAAAA;gBACAK,YAAAA,EAAc,IAAA;gBACdK,SAAAA,EAAW;aACb,CAAA,CAAA;IACF,CAAA,EACA;AAACG,QAAAA,KAAAA,CAAMX,SAAS;AAAEc,QAAAA;AAAW,KAAA,CAAA;AAG/B,IAAA,MAAMc,+BAA+BT,iBAAAA,CACnC,CAAC,EAAEpB,iBAAiB,EAAEO,SAAS,EAAqC,GAAA;QAClEM,2BAAAA,CAA4B,CAACa,aAAsB;AACjD,gBAAA,GAAGA,SAAS;AACZ1B,gBAAAA,iBAAAA;AACAO,gBAAAA,SAAAA;gBACAL,SAAAA,EAAW,2BAAA;gBACXD,SAAAA,EAAW,aAAA;gBACXK,IAAAA,EAAM,GAAA;gBACNT,UAAAA,EAAY,MAAA;gBACZM,MAAAA,EAAQ;aACV,CAAA,CAAA;AACF,IAAA,CAAA,EACA,EAAE,CAAA;AAGJ,IAAA,MAAM2B,sBAAsBV,iBAAAA,CAAY,CAAC,EAAEnB,SAAS,EAAEM,SAAS,EAA4B,GAAA;QACzFM,2BAAAA,CAA4B,CAACa,aAAsB;AACjD,gBAAA,GAAGA,SAAS;gBACZ7B,UAAAA,EAAY,QAAA;AACZI,gBAAAA,SAAAA;AACAM,gBAAAA,SAAAA;gBACAL,SAAAA,EAAW,iBAAA;gBACXC,MAAAA,EAAQ,IAAA;gBACRC,YAAAA,EAAc,KAAA;gBACdK,SAAAA,EAAW;aACb,CAAA,CAAA;AACF,IAAA,CAAA,EAAG,EAAE,CAAA;IAEL,MAAMsB,uBAAAA,GAA0BX,kBAAY,CAACY,SAAAA,GAAAA;QAC3CnB,2BAAAA,CAA4B,CAACa,aAAe;AAC1C,gBAAA,GAAGA,SAAS;AACZ,gBAAA,GAAGM,SAAS;gBACZ7B,MAAAA,EAAQ,IAAA;gBACRM,SAAAA,EAAW;aACb,CAAA,CAAA;AACF,IAAA,CAAA,EAAG,EAAE,CAAA;AAEL,IAAA,MAAMwB,0BAAAA,GAA6Bb,iBAAAA,CACjC,CAAC,EACCnB,SAAS,EACTM,SAAS,EACTT,aAAa,EACbC,aAAa,EACbS,cAAc,EACkB,GAAA;QAChCK,2BAAAA,CAA4B,CAACa,aAAsB;AACjD,gBAAA,GAAGA,SAAS;gBACZxB,SAAAA,EAAW,aAAA;AACXM,gBAAAA,cAAAA;gBACAX,UAAAA,EAAY,MAAA;AACZI,gBAAAA,SAAAA;AACAM,gBAAAA,SAAAA;AACAT,gBAAAA,aAAAA;AACAC,gBAAAA,aAAAA;gBACAI,MAAAA,EAAQ,IAAA;gBACRM,SAAAA,EAAW;aACb,CAAA,CAAA;AACF,IAAA,CAAA,EACA,EAAE,CAAA;AAGJ,IAAA,MAAMyB,oBAAAA,GAAuBd,iBAAAA,CAC3B,CAAC,EAAEnB,SAAS,EAAEM,SAAS,EAAET,aAAa,EAAEC,aAAa,EAAEO,IAAI,EAA6B,GAAA;QACtFO,2BAAAA,CAA4B,CAACa,aAAsB;AACjD,gBAAA,GAAGA,SAAS;gBACZxB,SAAAA,EAAW,WAAA;gBACXL,UAAAA,EAAY,MAAA;AACZI,gBAAAA,SAAAA;AACAM,gBAAAA,SAAAA;AACAT,gBAAAA,aAAAA;AACAC,gBAAAA,aAAAA;AACAO,gBAAAA,IAAAA;gBACAH,MAAAA,EAAQ;aACV,CAAA,CAAA;AACF,IAAA,CAAA,EACA,EAAE,CAAA;IAGJ,MAAMgC,qBAAAA,GAAwBf,iBAAAA,CAC5B,CAAC,EAAElB,SAAS,EAAED,SAAS,EAAEM,SAAS,EAAEF,IAAI,EAA8B,GAAA;QACpEQ,2BAAAA,CAA4B,CAACa,aAAsB;AACjD,gBAAA,GAAGA,SAAS;AACZxB,gBAAAA,SAAAA;gBACAL,UAAAA,EAAY,MAAA;AACZI,gBAAAA,SAAAA;AACAM,gBAAAA,SAAAA;AACAF,gBAAAA,IAAAA;gBACAF,MAAAA,EAAQ,IAAA;gBACRM,SAAAA,EAAW;aACb,CAAA,CAAA;AACF,IAAA,CAAA,EACA,EAAE,CAAA;AAGJ,IAAA,MAAM2B,eAAehB,iBAAAA,CAAY,IAAA;QAC/BP,2BAAAA,CAA4BjB,kBAAAA,CAAAA;AAC9B,IAAA,CAAA,EAAG,EAAE,CAAA;AAEL,IAAA,MAAMyC,mCAAmCjB,iBAAAA,CACvC,CAAC,EAAEnB,SAAS,EAAEM,SAAS,EAAyC,GAAA;QAC9DM,2BAAAA,CAA4B,CAACyB,QAAiB;AAC5C,gBAAA,GAAGA,IAAI;AACPrC,gBAAAA,SAAAA;AACAM,gBAAAA,SAAAA;gBACAL,SAAAA,EAAW,iBAAA;gBACXO,SAAAA,EAAW;aACb,CAAA,CAAA;AACF,IAAA,CAAA,EACA,EAAE,CAAA;AAGJ,IAAA,MAAM8B,mCAAmCnB,iBAAAA,CAAY,IAAA;QACnDP,2BAAAA,CAA4B,CAACyB,QAAiB;AAC5C,gBAAA,GAAGA,IAAI;gBACPvC,aAAAA,EAAe,WAAA;gBACfG,SAAAA,EAAW,WAAA;gBACXI,IAAAA,EAAM,GAAA;gBACNG,SAAAA,EAAW;aACb,CAAA,CAAA;AACF,IAAA,CAAA,EAAG,EAAE,CAAA;AAEL,IAAA,MAAM+B,6BAAAA,GAAgCpB,iBAAAA,CACpC,CAAC,EAAEpB,iBAAiB,EAAsC,GAAA;QACxDa,2BAAAA,CAA4B,CAACyB,QAAiB;AAC5C,gBAAA,GAAGA,IAAI;AACPtC,gBAAAA,iBAAAA;gBACAE,SAAAA,EAAW,2BAAA;gBACXL,UAAAA,EAAY,QAAA;gBACZS,IAAAA,EAAM,GAAA;gBACNP,aAAAA,EAAe,IAAA;gBACfD,aAAAA,EAAe,IAAA;gBACfW,SAAAA,EAAW;aACb,CAAA,CAAA;AACF,IAAA,CAAA,EACA,EAAE,CAAA;IAGJ,MAAMgC,YAAAA,GAAerB,kBAAY,CAACsB,KAAAA,GAAAA;QAChC7B,2BAAAA,CAA4B,CAACyB,QAAiB;AAC5C,gBAAA,GAAGA,IAAI;gBACP7B,SAAAA,EAAWiC;aACb,CAAA,CAAA;AACF,IAAA,CAAA,EAAG,EAAE,CAAA;IAEL,MAAMC,YAAAA,GAAeC,aAAAA,CACnB,KAAO;AACL,YAAA,GAAGhC,KAAK;AACRe,YAAAA,kBAAAA;AACAF,YAAAA,wBAAAA;AACAW,YAAAA,YAAAA;AACAC,YAAAA,gCAAAA;AACAG,YAAAA,6BAAAA;AACAX,YAAAA,4BAAAA;AACAU,YAAAA,gCAAAA;AACAT,YAAAA,mBAAAA;AACAC,YAAAA,uBAAAA;AACAG,YAAAA,oBAAAA;AACAD,YAAAA,0BAAAA;AACAE,YAAAA,qBAAAA;AACAtB,YAAAA,2BAAAA;AACA4B,YAAAA;AACF,SAAA,CAAA,EACA;AACE7B,QAAAA,KAAAA;AACAe,QAAAA,kBAAAA;AACAF,QAAAA,wBAAAA;AACAW,QAAAA,YAAAA;AACAC,QAAAA,gCAAAA;AACAG,QAAAA,6BAAAA;AACAX,QAAAA,4BAAAA;AACAU,QAAAA,gCAAAA;AACAT,QAAAA,mBAAAA;AACAC,QAAAA,uBAAAA;AACAG,QAAAA,oBAAAA;AACAD,QAAAA,0BAAAA;AACAE,QAAAA,qBAAAA;AACAM,QAAAA;AACD,KAAA,CAAA;IAGH,qBACEI,cAAA,CAACC,sDAA2BC,QAAQ,EAAA;QAACL,KAAAA,EAAOC,YAAAA;AACzChC,QAAAA,QAAAA,EAAAA;;AAGP;;;;;"}
|
|
1
|
+
{"version":3,"file":"FormModalNavigationProvider.js","sources":["../../../../admin/src/components/FormModalNavigation/FormModalNavigationProvider.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\n\nimport { useCTBSession } from '../CTBSession/useCTBSession';\n\nimport { FormModalNavigationContext } from './FormModalNavigationContext';\n\nimport type { TrackingEvent } from '@strapi/admin/strapi-admin';\nimport type { Internal, Struct } from '@strapi/types';\n\ntype FormModalNavigationProviderProps = {\n children: React.ReactNode;\n};\n\nexport type Tab = 'basic' | 'advanced';\n\nexport type ModalType =\n | 'chooseAttribute'\n | 'edit'\n | 'attribute'\n | 'customField'\n | 'addComponentToDynamicZone'\n | 'contentType'\n | 'component';\n\nexport type ActionType = 'create' | 'edit' | null;\n\nexport type State = {\n actionType: Exclude<ActionType, null>;\n attributeName: string;\n attributeType: string;\n dynamicZoneTarget: string;\n forTarget: Struct.ModelType;\n modalType: ModalType | null;\n isOpen: boolean;\n showBackLink: boolean;\n kind: Struct.ContentTypeKind;\n step: string | null;\n targetUid: Internal.UID.Schema;\n customFieldUid: string;\n activeTab: Tab;\n};\n\nexport const INITIAL_STATE_DATA: State = {\n actionType: 'create',\n attributeName: '',\n attributeType: '',\n dynamicZoneTarget: '',\n forTarget: 'contentType',\n modalType: null,\n isOpen: true,\n showBackLink: false,\n kind: 'collectionType',\n step: null,\n targetUid: '' as Internal.UID.Schema,\n customFieldUid: '',\n activeTab: 'basic',\n};\n\nexport type SelectCustomFieldPayload = {\n attributeType: string;\n customFieldUid: string;\n};\n\nexport type SelectFieldPayload = {\n attributeType: string;\n step: string | null;\n};\n\nexport type OpenModalAddComponentsToDZPayload = {\n dynamicZoneTarget?: string;\n targetUid: Internal.UID.Schema;\n};\n\nexport type OpenModalAddFieldPayload = {\n forTarget: Struct.ModelType;\n targetUid?: Internal.UID.Schema;\n};\n\nexport type OpenModalEditCustomFieldPayload = {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n attributeName: string;\n attributeType: string;\n customFieldUid: string;\n};\n\nexport type OpenModalEditFieldPayload = {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n attributeName: string;\n attributeType: string;\n step: string | null;\n};\n\nexport type OpenModalEditSchemaPayload = {\n modalType: ModalType;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n kind?: string;\n};\n\nexport type NavigateToChooseAttributeModalPayload = {\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n};\n\nexport type NavigateToAddCompoToDZModalPayload = {\n dynamicZoneTarget: string;\n};\n\nexport type OpenModalCreateSchemaPayload = Pick<\n State,\n 'actionType' | 'forTarget' | 'kind' | 'modalType'\n>;\n\nexport const FormModalNavigationProvider = ({ children }: FormModalNavigationProviderProps) => {\n const [state, setFormModalNavigationState] = useState(INITIAL_STATE_DATA);\n const { trackUsage: originalTrackUsage } = useTracking();\n const { sessionId } = useCTBSession();\n\n // Create a trackUsage that includes session ID from CTBSessionContext\n const trackUsage = useCallback(\n <TEvent extends TrackingEvent>(event: TEvent['name'], properties?: TEvent['properties']) => {\n const propertiesWithSessionId = {\n ...(properties as Record<string, unknown>),\n ctbSessionId: sessionId,\n };\n return originalTrackUsage(event, propertiesWithSessionId as TEvent['properties']);\n },\n [originalTrackUsage, sessionId]\n );\n\n const onClickSelectCustomField = useCallback(\n ({ attributeType, customFieldUid }: SelectCustomFieldPayload) => {\n setFormModalNavigationState((prevState: State) => ({\n ...prevState,\n actionType: 'create',\n modalType: 'customField',\n attributeType,\n customFieldUid,\n activeTab: 'basic',\n }));\n },\n []\n );\n\n const onClickSelectField = useCallback(\n ({ attributeType, step }: SelectFieldPayload) => {\n if (state.forTarget === 'contentType') {\n trackUsage('didSelectContentTypeFieldType', { type: attributeType });\n }\n\n setFormModalNavigationState((prevState: State) => ({\n ...prevState,\n actionType: 'create',\n modalType: 'attribute',\n step,\n attributeType,\n showBackLink: true,\n activeTab: 'basic',\n }));\n },\n [state.forTarget, trackUsage]\n );\n\n const onOpenModalAddComponentsToDZ = useCallback(\n ({ dynamicZoneTarget, targetUid }: OpenModalAddComponentsToDZPayload) => {\n setFormModalNavigationState((prevState: State) => ({\n ...prevState,\n dynamicZoneTarget: dynamicZoneTarget ?? '',\n targetUid,\n modalType: 'addComponentToDynamicZone',\n forTarget: 'contentType',\n step: '1',\n actionType: 'edit',\n isOpen: true,\n }));\n },\n []\n );\n\n const onOpenModalAddField = useCallback(({ forTarget, targetUid }: OpenModalAddFieldPayload) => {\n setFormModalNavigationState((prevState: State) => ({\n ...prevState,\n actionType: 'create',\n forTarget,\n targetUid: targetUid ?? ('' as Internal.UID.Schema),\n modalType: 'chooseAttribute',\n isOpen: true,\n showBackLink: false,\n activeTab: 'basic',\n }));\n }, []);\n\n const onOpenModalCreateSchema = useCallback((nextState: OpenModalCreateSchemaPayload) => {\n setFormModalNavigationState((prevState) => ({\n ...prevState,\n ...nextState,\n isOpen: true,\n activeTab: 'basic',\n }));\n }, []);\n\n const onOpenModalEditCustomField = useCallback(\n ({\n forTarget,\n targetUid,\n attributeName,\n attributeType,\n customFieldUid,\n }: OpenModalEditCustomFieldPayload) => {\n setFormModalNavigationState((prevState: State) => ({\n ...prevState,\n modalType: 'customField',\n customFieldUid,\n actionType: 'edit',\n forTarget,\n targetUid,\n attributeName,\n attributeType,\n isOpen: true,\n activeTab: 'basic',\n }));\n },\n []\n );\n\n const onOpenModalEditField = useCallback(\n ({ forTarget, targetUid, attributeName, attributeType, step }: OpenModalEditFieldPayload) => {\n setFormModalNavigationState((prevState: State) => ({\n ...prevState,\n modalType: 'attribute',\n actionType: 'edit',\n forTarget,\n targetUid,\n attributeName,\n attributeType,\n step,\n isOpen: true,\n }));\n },\n []\n );\n\n const onOpenModalEditSchema = useCallback(\n ({ modalType, forTarget, targetUid, kind }: OpenModalEditSchemaPayload) => {\n setFormModalNavigationState((prevState: State) => ({\n ...prevState,\n modalType,\n actionType: 'edit',\n forTarget,\n targetUid,\n kind: kind === 'singleType' ? 'singleType' : 'collectionType',\n isOpen: true,\n activeTab: 'basic',\n }));\n },\n []\n );\n\n const onCloseModal = useCallback(() => {\n setFormModalNavigationState(INITIAL_STATE_DATA);\n }, []);\n\n const onNavigateToChooseAttributeModal = useCallback(\n ({ forTarget, targetUid }: NavigateToChooseAttributeModalPayload) => {\n setFormModalNavigationState((prev: State) => ({\n ...prev,\n forTarget,\n targetUid,\n modalType: 'chooseAttribute',\n activeTab: 'basic',\n }));\n },\n []\n );\n\n const onNavigateToCreateComponentStep2 = useCallback(() => {\n setFormModalNavigationState((prev: State) => ({\n ...prev,\n attributeType: 'component',\n modalType: 'attribute',\n step: '2',\n activeTab: 'basic',\n }));\n }, []);\n\n const onNavigateToAddCompoToDZModal = useCallback(\n ({ dynamicZoneTarget }: NavigateToAddCompoToDZModalPayload) => {\n setFormModalNavigationState((prev: State) => ({\n ...prev,\n dynamicZoneTarget,\n modalType: 'addComponentToDynamicZone',\n actionType: 'create',\n step: '1',\n attributeType: '',\n attributeName: '',\n activeTab: 'basic',\n }));\n },\n []\n );\n\n const setActiveTab = useCallback((value: Tab) => {\n setFormModalNavigationState((prev: State) => ({\n ...prev,\n activeTab: value,\n }));\n }, []);\n\n const contextValue = useMemo(\n () => ({\n ...state,\n onClickSelectField,\n onClickSelectCustomField,\n onCloseModal,\n onNavigateToChooseAttributeModal,\n onNavigateToAddCompoToDZModal,\n onOpenModalAddComponentsToDZ,\n onNavigateToCreateComponentStep2,\n onOpenModalAddField,\n onOpenModalCreateSchema,\n onOpenModalEditField,\n onOpenModalEditCustomField,\n onOpenModalEditSchema,\n setFormModalNavigationState,\n setActiveTab,\n }),\n [\n state,\n onClickSelectField,\n onClickSelectCustomField,\n onCloseModal,\n onNavigateToChooseAttributeModal,\n onNavigateToAddCompoToDZModal,\n onOpenModalAddComponentsToDZ,\n onNavigateToCreateComponentStep2,\n onOpenModalAddField,\n onOpenModalCreateSchema,\n onOpenModalEditField,\n onOpenModalEditCustomField,\n onOpenModalEditSchema,\n setActiveTab,\n ]\n );\n\n return (\n <FormModalNavigationContext.Provider value={contextValue}>\n {children}\n </FormModalNavigationContext.Provider>\n );\n};\n"],"names":["INITIAL_STATE_DATA","actionType","attributeName","attributeType","dynamicZoneTarget","forTarget","modalType","isOpen","showBackLink","kind","step","targetUid","customFieldUid","activeTab","FormModalNavigationProvider","children","state","setFormModalNavigationState","useState","trackUsage","originalTrackUsage","useTracking","sessionId","useCTBSession","useCallback","event","properties","propertiesWithSessionId","ctbSessionId","onClickSelectCustomField","prevState","onClickSelectField","type","onOpenModalAddComponentsToDZ","onOpenModalAddField","onOpenModalCreateSchema","nextState","onOpenModalEditCustomField","onOpenModalEditField","onOpenModalEditSchema","onCloseModal","onNavigateToChooseAttributeModal","prev","onNavigateToCreateComponentStep2","onNavigateToAddCompoToDZModal","setActiveTab","value","contextValue","useMemo","_jsx","FormModalNavigationContext","Provider"],"mappings":"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"}
|