diff --git a/packages/admin-test-utils/lib/fixtures/collectionTypes/address.js b/packages/admin-test-utils/lib/fixtures/collectionTypes/address.js index 4d78d806a1..72b6f75710 100644 --- a/packages/admin-test-utils/lib/fixtures/collectionTypes/address.js +++ b/packages/admin-test-utils/lib/fixtures/collectionTypes/address.js @@ -338,65 +338,6 @@ const addressCT = { }, ], ], - editRelations: [ - { - name: 'categories', - size: 6, - fieldSchema: { - collection: 'category', - via: 'addresses', - dominant: true, - attribute: 'category', - column: 'id', - isVirtual: true, - type: 'relation', - targetModel: 'api::category.category', - relationType: 'manyToMany', - }, - metadatas: { - label: 'Categories', - description: '', - placeholder: '', - visible: true, - editable: true, - mainField: { name: 'name', schema: { type: 'string' } }, - }, - queryInfos: { - endPoint: '/content-manager/relations/api::address.address/categories', - containsKey: 'name_contains', - defaultParams: {}, - shouldDisplayRelationLink: true, - }, - targetModelPluginOptions: {}, - }, - { - name: 'likes', - size: 6, - fieldSchema: { - collection: 'like', - via: 'address', - isVirtual: true, - type: 'relation', - targetModel: 'api::like.like', - relationType: 'oneToMany', - }, - metadatas: { - label: 'Likes', - description: '', - placeholder: '', - visible: true, - editable: true, - mainField: { name: 'id', schema: { type: 'integer' } }, - }, - queryInfos: { - endPoint: '/content-manager/relations/api::address.address/likes', - containsKey: 'id_contains', - defaultParams: {}, - shouldDisplayRelationLink: true, - }, - targetModelPluginOptions: {}, - }, - ], }, isDisplayed: true, apiID: 'address', diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicTable/index.js b/packages/core/admin/admin/src/content-manager/components/DynamicTable/index.js index 7ca5563c80..5d8159b435 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicTable/index.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicTable/index.js @@ -118,7 +118,6 @@ DynamicTable.propTypes = { metadatas: PropTypes.object.isRequired, layouts: PropTypes.shape({ list: PropTypes.array.isRequired, - editRelations: PropTypes.array, }).isRequired, options: PropTypes.object.isRequired, settings: PropTypes.object.isRequired, diff --git a/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/tests/formatLayouts.test.js b/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/tests/formatLayouts.test.js index 70279350b7..24ca2f7ca0 100644 --- a/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/tests/formatLayouts.test.js +++ b/packages/core/admin/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/tests/formatLayouts.test.js @@ -13,9 +13,7 @@ const addressSchema = { targetModel: 'api::category.category', }, }, - layouts: { - editRelations: ['categories'], - }, + layouts: {}, metadatas: { categories: { edit: { @@ -134,7 +132,6 @@ describe('Content Manager | hooks | useFetchContentTypeLayout | utils ', () => { uid: 'contentType', layouts: { list: [], - editRelations: [], edit: [ [{ name: 'dz', size: 12 }], [ diff --git a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/index.js b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/index.js index 3c3b85cbaf..0bd83a2fe8 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditSettingsView/index.js @@ -369,7 +369,6 @@ EditSettingsView.propTypes = { info: PropTypes.object.isRequired, layouts: PropTypes.shape({ list: PropTypes.array.isRequired, - editRelations: PropTypes.array.isRequired, edit: PropTypes.array.isRequired, }).isRequired, metadatas: PropTypes.object.isRequired, diff --git a/packages/core/admin/admin/src/content-manager/pages/EditView/index.js b/packages/core/admin/admin/src/content-manager/pages/EditView/index.js index 0e6669cb00..76268bfd34 100644 --- a/packages/core/admin/admin/src/content-manager/pages/EditView/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/EditView/index.js @@ -5,11 +5,9 @@ import { CheckPermissions, useTracking, LinkButton } from '@strapi/helper-plugin import { useIntl } from 'react-intl'; import { ContentLayout } from '@strapi/design-system/Layout'; import { Box } from '@strapi/design-system/Box'; -import { Divider } from '@strapi/design-system/Divider'; import { Grid, GridItem } from '@strapi/design-system/Grid'; import { Main } from '@strapi/design-system/Main'; import { Stack } from '@strapi/design-system/Stack'; -import { Typography } from '@strapi/design-system/Typography'; import Layer from '@strapi/icons/Layer'; import Pencil from '@strapi/icons/Pencil'; import { InjectionZone } from '../../../shared/components'; @@ -17,7 +15,6 @@ import permissions from '../../../permissions'; import DynamicZone from '../../components/DynamicZone'; import FieldComponent from '../../components/FieldComponent'; import Inputs from '../../components/Inputs'; -import SelectWrapper from '../../components/SelectWrapper'; import CollectionTypeFormWrapper from '../../components/CollectionTypeFormWrapper'; import EditViewDataManagerProvider from '../../components/EditViewDataManagerProvider'; import SingleTypeFormWrapper from '../../components/SingleTypeFormWrapper'; @@ -87,9 +84,6 @@ const EditView = ({ ); }, [currentContentTypeLayoutData]); - const relationsLayout = currentContentTypeLayoutData.layouts.editRelations; - const displayedRelationsLength = relationsLayout.length; - return ( {({ @@ -246,64 +240,6 @@ const EditView = ({ - {displayedRelationsLength > 0 && ( - - - {formatMessage( - { - id: getTrad('containers.Edit.relations'), - defaultMessage: - '{number, plural, =0 {relations} one {relation} other {relations}}', - }, - { number: displayedRelationsLength } - )} - - - - - - {relationsLayout.map( - ({ name, fieldSchema, labelAction, metadatas, queryInfos }) => { - return ( - - ); - } - )} - - - )} diff --git a/packages/core/admin/admin/src/content-manager/pages/ListView/FieldPicker/index.js b/packages/core/admin/admin/src/content-manager/pages/ListView/FieldPicker/index.js index 414d50238c..4e7eda366d 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ListView/FieldPicker/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/ListView/FieldPicker/index.js @@ -84,7 +84,6 @@ FieldPicker.propTypes = { metadatas: PropTypes.object.isRequired, layouts: PropTypes.shape({ list: PropTypes.array.isRequired, - editRelations: PropTypes.array, }).isRequired, options: PropTypes.object.isRequired, settings: PropTypes.object.isRequired, diff --git a/packages/core/admin/admin/src/content-manager/pages/ListView/index.js b/packages/core/admin/admin/src/content-manager/pages/ListView/index.js index 9c7a70769e..9d35f519bf 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ListView/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/ListView/index.js @@ -361,7 +361,6 @@ ListView.propTypes = { info: PropTypes.shape({ displayName: PropTypes.string.isRequired }).isRequired, layouts: PropTypes.shape({ list: PropTypes.array.isRequired, - editRelations: PropTypes.array, }).isRequired, options: PropTypes.object.isRequired, settings: PropTypes.object.isRequired, diff --git a/packages/core/admin/admin/src/content-manager/pages/ListViewLayoutManager/index.js b/packages/core/admin/admin/src/content-manager/pages/ListViewLayoutManager/index.js index b6c1ccdf69..ffcc1c7876 100644 --- a/packages/core/admin/admin/src/content-manager/pages/ListViewLayoutManager/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/ListViewLayoutManager/index.js @@ -45,7 +45,6 @@ ListViewLayout.propTypes = { metadatas: PropTypes.object.isRequired, layouts: PropTypes.shape({ list: PropTypes.array.isRequired, - editRelations: PropTypes.array, }).isRequired, options: PropTypes.object.isRequired, settings: PropTypes.object.isRequired, diff --git a/packages/core/admin/admin/src/content-manager/utils/tests/formatLayoutToApi.test.js b/packages/core/admin/admin/src/content-manager/utils/tests/formatLayoutToApi.test.js index 9e04d2e8f9..ffb2250b18 100644 --- a/packages/core/admin/admin/src/content-manager/utils/tests/formatLayoutToApi.test.js +++ b/packages/core/admin/admin/src/content-manager/utils/tests/formatLayoutToApi.test.js @@ -5,7 +5,6 @@ describe('CONTENT MANAGER | utils | formatLayoutToApi', () => { const layouts = { list: [{ name: 'test', size: 6 }], edit: [], - editRelations: [], }; expect(formatLayoutToApi({ layouts, metadatas: {} }).layouts.list).toEqual(['test']); @@ -15,7 +14,6 @@ describe('CONTENT MANAGER | utils | formatLayoutToApi', () => { const layouts = { list: ['test'], edit: [], - editRelations: [], }; expect(formatLayoutToApi({ layouts, metadatas: {} }).layouts.list).toEqual(['test']); @@ -25,7 +23,6 @@ describe('CONTENT MANAGER | utils | formatLayoutToApi', () => { const layouts = { list: ['test'], edit: [], - editRelations: [], }; const metadatas = { categories: { diff --git a/packages/core/content-manager/oas.yml b/packages/core/content-manager/oas.yml index 09e311a01d..6224e5c72c 100644 --- a/packages/core/content-manager/oas.yml +++ b/packages/core/content-manager/oas.yml @@ -666,10 +666,6 @@ components: type: array items: type: string - editRelations: - type: array - items: - type: string edit: type: array items: diff --git a/packages/plugins/i18n/admin/src/contentManagerHooks/mutateEditViewLayout.js b/packages/plugins/i18n/admin/src/contentManagerHooks/mutateEditViewLayout.js index 91ed643832..3f2e1c544a 100644 --- a/packages/plugins/i18n/admin/src/contentManagerHooks/mutateEditViewLayout.js +++ b/packages/plugins/i18n/admin/src/contentManagerHooks/mutateEditViewLayout.js @@ -5,28 +5,6 @@ import StrikedWorld from '@strapi/icons/EarthStriked'; import LabelAction from '../components/LabelAction'; import { getTrad } from '../utils'; -const enhanceRelationLayout = (layout, locale) => - layout.map(current => { - const labelActionProps = { - title: { - id: getTrad('Field.localized'), - defaultMessage: 'This value is unique for the selected locale', - }, - icon: , - }; - let queryInfos = current.queryInfos; - - if (get(current, ['targetModelPluginOptions', 'i18n', 'localized'], false)) { - queryInfos = { - ...queryInfos, - defaultParams: { ...queryInfos.defaultParams, locale }, - paramsToKeep: ['plugins.i18n.locale'], - }; - } - - return { ...current, labelAction: , queryInfos }; - }); - const enhanceEditLayout = layout => layout.map(row => { const enhancedRow = row.reduce((acc, field) => { @@ -120,15 +98,11 @@ const mutateEditViewLayoutHook = ({ layout, query }) => { } const editLayoutPath = getPathToContentType(['layouts', 'edit']); - const editRelationsPath = getPathToContentType(['layouts', 'editRelations']); const editLayout = get(layout, editLayoutPath); - const editRelationsLayout = get(layout, editRelationsPath); - const nextEditRelationLayout = enhanceRelationLayout(editRelationsLayout, currentLocale); const nextEditLayout = enhanceEditLayout(editLayout); const enhancedLayouts = { ...layout.contentType.layouts, - editRelations: nextEditRelationLayout, edit: nextEditLayout, }; @@ -150,9 +124,4 @@ const mutateEditViewLayoutHook = ({ layout, query }) => { }; export default mutateEditViewLayoutHook; -export { - enhanceComponentLayoutForRelations, - enhanceComponentsLayout, - enhanceEditLayout, - enhanceRelationLayout, -}; +export { enhanceComponentLayoutForRelations, enhanceComponentsLayout, enhanceEditLayout }; diff --git a/packages/plugins/i18n/admin/src/contentManagerHooks/tests/mutateEditViewLayout.test.js b/packages/plugins/i18n/admin/src/contentManagerHooks/tests/mutateEditViewLayout.test.js index ad89999082..2c3ffc4143 100644 --- a/packages/plugins/i18n/admin/src/contentManagerHooks/tests/mutateEditViewLayout.test.js +++ b/packages/plugins/i18n/admin/src/contentManagerHooks/tests/mutateEditViewLayout.test.js @@ -6,7 +6,6 @@ import { getTrad } from '../../utils'; import mutateEditViewLayout, { enhanceComponentsLayout, enhanceEditLayout, - enhanceRelationLayout, } from '../mutateEditViewLayout'; const localizedTrad = getTrad('Field.localized'); @@ -42,16 +41,6 @@ describe('i18n | contentManagerHooks | mutateEditViewLayout', () => { pluginOptions: { i18n: { localized: true } }, layouts: { edit: [], - editRelations: [ - { - fieldSchema: {}, - metadatas: {}, - name: 'addresses', - queryInfos: {}, - size: 6, - targetModelPluginOptions: {}, - }, - ], }, }, }; @@ -65,72 +54,6 @@ describe('i18n | contentManagerHooks | mutateEditViewLayout', () => { expect(results).toEqual(data); }); - it('should modify the editRelations layout when i18n is enabled and the query.locale is defined', () => { - const layout = { - contentType: { - uid: 'test', - pluginOptions: { i18n: { localized: true } }, - layouts: { - edit: [], - editRelations: [ - { - fieldSchema: {}, - metadatas: {}, - name: 'addresses', - queryInfos: { - test: true, - defaultParams: {}, - paramsToKeep: ['plugins.i18n.locale'], - }, - size: 6, - targetModelPluginOptions: {}, - }, - ], - }, - }, - components: {}, - }; - - const data = { - layout, - query: { plugins: { i18n: { locale: 'en' } } }, - }; - const results = mutateEditViewLayout(data); - - expect(results).toEqual({ - ...data, - layout: { - ...layout, - contentType: { - ...layout.contentType, - layouts: { - edit: [], - editRelations: [ - { - fieldSchema: {}, - metadatas: {}, - name: 'addresses', - queryInfos: { - test: true, - defaultParams: {}, - paramsToKeep: ['plugins.i18n.locale'], - }, - size: 6, - targetModelPluginOptions: {}, - labelAction: ( - } - /> - ), - }, - ], - }, - }, - }, - }); - }); - describe('enhanceComponentsLayout', () => { it('should not enhance the field when the type is not relation', () => { const components = { @@ -459,82 +382,4 @@ describe('i18n | contentManagerHooks | mutateEditViewLayout', () => { expect(enhanceEditLayout(edit)).toEqual(expected); }); }); - - describe('enhanceRelationLayout', () => { - it('should add the labelIcon key to all relations fields', () => { - const editRelations = [ - { - fieldSchema: {}, - metadatas: {}, - name: 'addresses', - queryInfos: {}, - size: 6, - targetModelPluginOptions: {}, - }, - ]; - const expected = [ - { - fieldSchema: {}, - metadatas: {}, - name: 'addresses', - queryInfos: {}, - size: 6, - targetModelPluginOptions: {}, - labelAction: ( - } - /> - ), - }, - ]; - - expect(enhanceRelationLayout(editRelations, 'en')).toEqual(expected); - }); - - it('should add the locale to the queryInfos.defaultParams when the targetModelPluginOptions.i18n.localized is enabled', () => { - const editRelations = [ - { - fieldSchema: {}, - metadatas: {}, - name: 'addresses', - queryInfos: { - defaultParams: { - test: true, - }, - }, - size: 6, - targetModelPluginOptions: { - i18n: { localized: true }, - }, - }, - ]; - const expected = [ - { - fieldSchema: {}, - metadatas: {}, - name: 'addresses', - queryInfos: { - defaultParams: { - test: true, - locale: 'en', - }, - paramsToKeep: ['plugins.i18n.locale'], - }, - size: 6, - targetModelPluginOptions: { - i18n: { localized: true }, - }, - labelAction: ( - } - /> - ), - }, - ]; - - expect(enhanceRelationLayout(editRelations, 'en')).toEqual(expected); - }); - }); });