From 104ebc25ec491d13930f9d67c45156184b0325a8 Mon Sep 17 00:00:00 2001 From: soupette Date: Thu, 24 Jun 2021 16:00:42 +0200 Subject: [PATCH] Update CM routing Signed-off-by: soupette --- packages/core/admin/admin/src/StrapiApp.js | 4 +-- .../admin/src/components/LeftMenu/index.js | 2 +- .../CollectionTypeFormWrapper/index.js | 3 +- .../components/DraggedField/index.js | 4 +-- .../DynamicComponent.js | 3 +- .../components/SelectMany/ListItem.js | 3 +- .../components/SelectWrapper/index.js | 3 +- .../components/SettingsViewWrapper/index.js | 2 +- .../tests/selectors.test.js | 8 ++--- .../src/content-manager/pages/App/index.js | 24 ++++++-------- .../pages/App/tests/index.test.js | 32 +++++++++---------- .../pages/App/utils/generateModelsLinks.js | 2 +- .../utils/tests/generateModelsLinks.test.js | 8 ++--- .../App/utils/tests/getContentTypeLinks.js | 4 +-- .../content-manager/pages/EditView/index.js | 2 +- .../core/admin/admin/src/pages/Admin/index.js | 2 +- .../admin/src/pages/Admin/tests/index.test.js | 2 +- .../admin/admin/src/tests/StrapiApp.test.js | 7 ++-- .../ListView/LinkToCMSettingsView/index.js | 4 +-- .../CMEditViewLocalePicker/index.js | 4 +-- .../src/components/LocalePicker/index.js | 2 +- 21 files changed, 58 insertions(+), 67 deletions(-) diff --git a/packages/core/admin/admin/src/StrapiApp.js b/packages/core/admin/admin/src/StrapiApp.js index 38f1305ab7..4644dcf6dc 100644 --- a/packages/core/admin/admin/src/StrapiApp.js +++ b/packages/core/admin/admin/src/StrapiApp.js @@ -66,9 +66,7 @@ class StrapiApp { `Expected link.to to be a string instead received ${typeof link.to}` ); invariant( - ['/plugins/content-manager', '/plugins/content-type-builder', '/plugins/upload'].includes( - link.to - ), + ['/plugins/content-type-builder', '/plugins/upload'].includes(link.to), 'This method is not available for your plugin' ); invariant( diff --git a/packages/core/admin/admin/src/components/LeftMenu/index.js b/packages/core/admin/admin/src/components/LeftMenu/index.js index a3ef605911..0a91d0e30f 100644 --- a/packages/core/admin/admin/src/components/LeftMenu/index.js +++ b/packages/core/admin/admin/src/components/LeftMenu/index.js @@ -15,7 +15,7 @@ const LeftMenu = ({ generalSectionLinks, pluginsSectionLinks }) => { { e.stopPropagation(); - // FIXME when changing the routing - goTo(`/plugins/content-manager/components/${componentUid}/configurations/edit`); + + goTo(`/content-manager/components/${componentUid}/configurations/edit`); }} > diff --git a/packages/core/admin/admin/src/content-manager/components/DraggedFieldWithPreview/DynamicComponent.js b/packages/core/admin/admin/src/content-manager/components/DraggedFieldWithPreview/DynamicComponent.js index 2f20e77740..99f8b3e1a9 100644 --- a/packages/core/admin/admin/src/content-manager/components/DraggedFieldWithPreview/DynamicComponent.js +++ b/packages/core/admin/admin/src/content-manager/components/DraggedFieldWithPreview/DynamicComponent.js @@ -45,8 +45,7 @@ const DynamicComponent = ({ componentUid, friendlyName, icon, setIsOverDynamicZo isOver={isOver} onClick={() => { if (!isLoading && canAccess) { - // FIXME when changing the routing - push(`/plugins/content-manager/components/${componentUid}/configurations/edit`); + push(`/content-manager/components/${componentUid}/configurations/edit`); } }} onMouseEvent={handleMouseEvent} diff --git a/packages/core/admin/admin/src/content-manager/components/SelectMany/ListItem.js b/packages/core/admin/admin/src/content-manager/components/SelectMany/ListItem.js index 2f95c56e9b..1ad902578d 100644 --- a/packages/core/admin/admin/src/content-manager/components/SelectMany/ListItem.js +++ b/packages/core/admin/admin/src/content-manager/components/SelectMany/ListItem.js @@ -19,8 +19,7 @@ function ListItem({ searchToPersist, targetModel, }) { - // FIXME when changing the routing - const to = `/plugins/content-manager/collectionType/${targetModel}/${data.id}`; + const to = `/content-manager/collectionType/${targetModel}/${data.id}`; const hasDraftAndPublish = has(data, 'published_at'); diff --git a/packages/core/admin/admin/src/content-manager/components/SelectWrapper/index.js b/packages/core/admin/admin/src/content-manager/components/SelectWrapper/index.js index ab41b3b3fc..73d3cde8be 100644 --- a/packages/core/admin/admin/src/content-manager/components/SelectWrapper/index.js +++ b/packages/core/admin/admin/src/content-manager/components/SelectWrapper/index.js @@ -230,8 +230,7 @@ function SelectWrapper({ setIsOpen(true); }; - // FIXME when changing the routing - const to = `/plugins/content-manager/collectionType/${targetModel}/${value ? value.id : null}`; + const to = `/content-manager/collectionType/${targetModel}/${value ? value.id : null}`; const searchToPersist = stringify(buildParams(query, paramsToKeep), { encode: false }); diff --git a/packages/core/admin/admin/src/content-manager/components/SettingsViewWrapper/index.js b/packages/core/admin/admin/src/content-manager/components/SettingsViewWrapper/index.js index 8716d35bd5..00f95224b5 100644 --- a/packages/core/admin/admin/src/content-manager/components/SettingsViewWrapper/index.js +++ b/packages/core/admin/admin/src/content-manager/components/SettingsViewWrapper/index.js @@ -162,7 +162,7 @@ const SettingsViewWrapper = ({ )}${pluginsQueryParams ? `&${pluginsQueryParams}` : ''}`; // FIXME when changing the routing - history.replace(`/plugins/content-manager/${kind}/${uid}?${goBackSearch}`); + history.replace(`/content-manager/${kind}/${uid}?${goBackSearch}`); } }; diff --git a/packages/core/admin/admin/src/content-manager/hooks/useFindRedirectionLink/tests/selectors.test.js b/packages/core/admin/admin/src/content-manager/hooks/useFindRedirectionLink/tests/selectors.test.js index 90aa2e1048..85001aded9 100644 --- a/packages/core/admin/admin/src/content-manager/hooks/useFindRedirectionLink/tests/selectors.test.js +++ b/packages/core/admin/admin/src/content-manager/hooks/useFindRedirectionLink/tests/selectors.test.js @@ -17,7 +17,7 @@ describe('CONTENT MANAGER | Containers | CollectionTypeFormWrapper | selectors', name: 'application::address.address', search: 'page=1&pageSize=50&_sort=city:ASC&plugins[i18n][locale]=fr', title: 'Addresses', - to: '/plugins/content-manager/collectionType/application::address.address', + to: '/content-manager/collectionType/application::address.address', uid: 'application::address.address', }, { @@ -25,7 +25,7 @@ describe('CONTENT MANAGER | Containers | CollectionTypeFormWrapper | selectors', name: 'application::category.category', search: 'page=1&pageSize=50&_sort=city:ASC&plugins[i18n][locale]=fr', title: 'Categories', - to: '/plugins/content-manager/collectionType/application::category.category', + to: '/content-manager/collectionType/application::category.category', uid: 'application::category.category', }, ], @@ -38,7 +38,7 @@ describe('CONTENT MANAGER | Containers | CollectionTypeFormWrapper | selectors', name: 'application::address.address', search: 'page=1&pageSize=50&_sort=city:ASC&plugins[i18n][locale]=fr', title: 'Addresses', - to: '/plugins/content-manager/collectionType/application::address.address', + to: '/content-manager/collectionType/application::address.address', uid: 'application::address.address', }, { @@ -46,7 +46,7 @@ describe('CONTENT MANAGER | Containers | CollectionTypeFormWrapper | selectors', name: 'application::category.category', search: 'page=1&pageSize=50&_sort=city:ASC&plugins[i18n][locale]=fr', title: 'Categories', - to: '/plugins/content-manager/collectionType/application::category.category', + to: '/content-manager/collectionType/application::category.category', uid: 'application::category.category', }, ]; diff --git a/packages/core/admin/admin/src/content-manager/pages/App/index.js b/packages/core/admin/admin/src/content-manager/pages/App/index.js index 1f79a96347..f0444e8e5c 100644 --- a/packages/core/admin/admin/src/content-manager/pages/App/index.js +++ b/packages/core/admin/admin/src/content-manager/pages/App/index.js @@ -16,7 +16,7 @@ import useModels from './useModels'; const cmPermissions = permissions.contentManager; const App = () => { - const contentTypeMatch = useRouteMatch(`/plugins/content-manager/:kind/:uid`); + const contentTypeMatch = useRouteMatch(`/content-manager/:kind/:uid`); const { status, collectionTypeLinks, singleTypeLinks, models, refetchData } = useModels(); const authorisedModels = [...collectionTypeLinks, ...singleTypeLinks]; const { pathname } = useLocation(); @@ -27,17 +27,13 @@ const App = () => { // Redirect the user to the 403 page // FIXME when changing the routing - if ( - authorisedModels.length === 0 && - models.length > 0 && - pathname !== '/plugins/content-manager/403' - ) { - return ; + if (authorisedModels.length === 0 && models.length > 0 && pathname !== '/content-manager/403') { + return ; } // Redirect the user to the create content type page - if (models.length === 0 && pathname !== '/plugins/content-manager/no-content-types') { - return ; + if (models.length === 0 && pathname !== '/content-manager/no-content-types') { + return ; } if (!contentTypeMatch && authorisedModels.length > 0) { @@ -59,26 +55,26 @@ const App = () => {
- + {/* These pages must be defined */}
TBD No rights to see the content types
} /> - + diff --git a/packages/core/admin/admin/src/content-manager/pages/App/tests/index.test.js b/packages/core/admin/admin/src/content-manager/pages/App/tests/index.test.js index 9d578397d4..a01c620c4f 100644 --- a/packages/core/admin/admin/src/content-manager/pages/App/tests/index.test.js +++ b/packages/core/admin/admin/src/content-manager/pages/App/tests/index.test.js @@ -9,8 +9,6 @@ import ContentManagerApp from '..'; import cmReducers from '../../../../reducers'; import useModels from '../useModels'; -const pluginId = 'content-manager'; - jest.mock('../useModels', () => jest.fn(() => { return {}; @@ -43,7 +41,7 @@ describe('Content manager | App | main', () => { uid: 'category', title: 'Categories', name: 'category', - to: `/plugins/${pluginId}/collectionType/category`, + to: '/content-manager/collectionType/category', kind: 'collectionType', isDisplayed: true, permissions: [ @@ -83,9 +81,9 @@ describe('Content manager | App | main', () => { }; useModels.mockImplementation(() => contentManagerState); const rootReducer = combineReducers(cmReducers); - const store = createStore(rootReducer, { [`${pluginId}_app`]: contentManagerState }); + const store = createStore(rootReducer, { 'content-manager_app': contentManagerState }); const history = createMemoryHistory(); - history.push(`/plugins/${pluginId}`); + history.push('/content-manager'); const { container } = render( @@ -97,7 +95,7 @@ describe('Content manager | App | main', () => { expect(screen.getByText('Home page')).toBeVisible(); expect(screen.getByText('Categories')).toBeVisible(); - expect(history.location.pathname).toEqual(`/plugins/${pluginId}/collectionType/category`); + expect(history.location.pathname).toEqual('/content-manager/collectionType/category'); expect(container.firstChild).toMatchInlineSnapshot(` .c2 { margin-bottom: 0; @@ -344,7 +342,7 @@ describe('Content manager | App | main', () => {

Categories @@ -416,7 +414,7 @@ describe('Content manager | App | main', () => { uid: 'homepage', title: 'Home page', name: 'homepage', - to: `/plugins/${pluginId}/homepage`, + to: '/content-manager/homepage', kind: 'singleType', isDisplayed: true, permissions: [ @@ -440,9 +438,9 @@ describe('Content manager | App | main', () => { }; useModels.mockImplementation(() => contentManagerState); const rootReducer = combineReducers(cmReducers); - const store = createStore(rootReducer, { [`${pluginId}_app`]: contentManagerState }); + const store = createStore(rootReducer, { 'content-manager_app': contentManagerState }); const history = createMemoryHistory(); - history.push(`/plugins/${pluginId}`); + history.push('/content-manager'); render( @@ -452,7 +450,7 @@ describe('Content manager | App | main', () => { ); - expect(history.location.pathname).toEqual(`/plugins/${pluginId}/homepage`); + expect(history.location.pathname).toEqual('/content-manager/homepage'); }); it('should redirect to 403 page', () => { @@ -478,8 +476,8 @@ describe('Content manager | App | main', () => { }) ); const rootReducer = combineReducers(cmReducers); - const store = createStore(rootReducer, { [`${pluginId}_app`]: contentManagerState }); - history.push(`/plugins/${pluginId}/collectionType/category`); + const store = createStore(rootReducer, { 'content-manager_app': contentManagerState }); + history.push('/content-manager/collectionType/category'); render( @@ -489,7 +487,7 @@ describe('Content manager | App | main', () => { ); - expect(history.location.pathname).toEqual(`/plugins/${pluginId}/403`); + expect(history.location.pathname).toEqual('/content-manager/403'); }); it('should redirect to the no-content-types page', () => { @@ -508,8 +506,8 @@ describe('Content manager | App | main', () => { }) ); const rootReducer = combineReducers(cmReducers); - const store = createStore(rootReducer, { [`${pluginId}_app`]: contentManagerState }); - history.push(`/plugins/${pluginId}/collectionType/category`); + const store = createStore(rootReducer, { 'content-manager_app': contentManagerState }); + history.push('/content-manager/collectionType/category'); render( @@ -519,6 +517,6 @@ describe('Content manager | App | main', () => { ); - expect(history.location.pathname).toEqual(`/plugins/${pluginId}/no-content-types`); + expect(history.location.pathname).toEqual('/content-manager/no-content-types'); }); }); diff --git a/packages/core/admin/admin/src/content-manager/pages/App/utils/generateModelsLinks.js b/packages/core/admin/admin/src/content-manager/pages/App/utils/generateModelsLinks.js index a861b7c3e0..2333ac7957 100644 --- a/packages/core/admin/admin/src/content-manager/pages/App/utils/generateModelsLinks.js +++ b/packages/core/admin/admin/src/content-manager/pages/App/utils/generateModelsLinks.js @@ -34,7 +34,7 @@ const generateLinks = (links, type, configurations = []) => { search, kind: link.kind, title: link.info.label, - to: `/plugins/content-manager/${link.kind}/${link.uid}`, + to: `/content-manager/${link.kind}/${link.uid}`, uid: link.uid, // Used for the list item key in the helper plugin name: link.uid, diff --git a/packages/core/admin/admin/src/content-manager/pages/App/utils/tests/generateModelsLinks.test.js b/packages/core/admin/admin/src/content-manager/pages/App/utils/tests/generateModelsLinks.test.js index 8886d89b44..4951952ee2 100644 --- a/packages/core/admin/admin/src/content-manager/pages/App/utils/tests/generateModelsLinks.test.js +++ b/packages/core/admin/admin/src/content-manager/pages/App/utils/tests/generateModelsLinks.test.js @@ -46,7 +46,7 @@ describe('ADMIN | LeftMenu | utils', () => { const expected = [ { - to: '/plugins/content-manager/collectionType/application::address.address', + to: '/content-manager/collectionType/application::address.address', isDisplayed: true, search: `page=1&pageSize=2&_sort=name:ASC`, permissions: [ @@ -65,7 +65,7 @@ describe('ADMIN | LeftMenu | utils', () => { name: 'application::address.address', }, { - to: '/plugins/content-manager/singleType/application::test1.test1', + to: '/content-manager/singleType/application::test1.test1', isDisplayed: true, search: null, kind: 'singleType', @@ -125,7 +125,7 @@ describe('ADMIN | LeftMenu | utils', () => { search: null, kind: 'collectionType', title: 'Addresses', - to: '/plugins/content-manager/collectionType/application::address.address', + to: '/content-manager/collectionType/application::address.address', uid: 'application::address.address', name: 'application::address.address', permissions: [ @@ -146,7 +146,7 @@ describe('ADMIN | LeftMenu | utils', () => { kind: 'singleType', search: null, title: 'Test 1', - to: '/plugins/content-manager/singleType/application::test1.test1', + to: '/content-manager/singleType/application::test1.test1', uid: 'application::test1.test1', name: 'application::test1.test1', permissions: [ diff --git a/packages/core/admin/admin/src/content-manager/pages/App/utils/tests/getContentTypeLinks.js b/packages/core/admin/admin/src/content-manager/pages/App/utils/tests/getContentTypeLinks.js index d37bd12035..239a619c4f 100644 --- a/packages/core/admin/admin/src/content-manager/pages/App/utils/tests/getContentTypeLinks.js +++ b/packages/core/admin/admin/src/content-manager/pages/App/utils/tests/getContentTypeLinks.js @@ -92,7 +92,7 @@ describe('checkPermissions', () => { const expected = { authorizedCtLinks: [ { - destination: '/plugins/content-manager/collectionType/application::address.address', + destination: '/content-manager/collectionType/application::address.address', icon: 'circle', isDisplayed: true, label: 'address', @@ -109,7 +109,7 @@ describe('checkPermissions', () => { search: 'page=1&pageSize=10&_sort=name:ASC', }, { - destination: '/plugins/content-manager/collectionType/application::article.article', + destination: '/content-manager/collectionType/application::article.article', icon: 'circle', isDisplayed: true, label: 'article', 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 a7739390d1..962786acc9 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 @@ -51,7 +51,7 @@ const EditView = ({ }, [isSingleType]); // FIXME when changing the routing - const configurationsURL = `/plugins/content-manager/${ + const configurationsURL = `/content-manager/${ isSingleType ? 'singleType' : 'collectionType' }/${slug}/configurations/edit`; const currentContentTypeLayoutData = useMemo(() => get(layout, ['contentType'], {}), [layout]); diff --git a/packages/core/admin/admin/src/pages/Admin/index.js b/packages/core/admin/admin/src/pages/Admin/index.js index 47b5cc4c54..bd1c3a9d7a 100644 --- a/packages/core/admin/admin/src/pages/Admin/index.js +++ b/packages/core/admin/admin/src/pages/Admin/index.js @@ -96,7 +96,7 @@ const Admin = () => { - + {routes} diff --git a/packages/core/admin/admin/src/pages/Admin/tests/index.test.js b/packages/core/admin/admin/src/pages/Admin/tests/index.test.js index bd8b63bac4..7725d5361b 100644 --- a/packages/core/admin/admin/src/pages/Admin/tests/index.test.js +++ b/packages/core/admin/admin/src/pages/Admin/tests/index.test.js @@ -54,7 +54,7 @@ describe('', () => { useStrapiApp.mockImplementation(() => ({ menu: [ { - to: '/plugins/content-manager', + to: '/plugins/ctb', }, { to: '/plugins/documentation', diff --git a/packages/core/admin/admin/src/tests/StrapiApp.test.js b/packages/core/admin/admin/src/tests/StrapiApp.test.js index ee6c45868c..224d32dd86 100644 --- a/packages/core/admin/admin/src/tests/StrapiApp.test.js +++ b/packages/core/admin/admin/src/tests/StrapiApp.test.js @@ -225,10 +225,13 @@ describe('ADMIN | StrapiApp', () => { it('addCorePluginMenuLink should add a link to the menu', () => { const app = StrapiApp({ middlewares, reducers, library, locales }); const link = { - to: '/plugins/content-manager', + to: '/plugins/content-type-builder', icon: 'book', permissions: [], - intlLabel: { id: 'content-manager.plugin.name', defaultMessage: 'Content Manager' }, + intlLabel: { + id: 'content-type-builder.plugin.name', + defaultMessage: 'Content Type builder', + }, }; app.addCorePluginMenuLink(link); diff --git a/packages/core/content-type-builder/admin/src/pages/ListView/LinkToCMSettingsView/index.js b/packages/core/content-type-builder/admin/src/pages/ListView/LinkToCMSettingsView/index.js index aa3254ef25..f0610a19ca 100644 --- a/packages/core/content-type-builder/admin/src/pages/ListView/LinkToCMSettingsView/index.js +++ b/packages/core/content-type-builder/admin/src/pages/ListView/LinkToCMSettingsView/index.js @@ -50,9 +50,9 @@ const LinkToCMSettingsView = ({ isTemporary, isInContentTypeView, contentTypeKin } if (isInContentTypeView) { - push(`/plugins/content-manager/collectionType/${targetUid}/configurations/edit`); + push(`/content-manager/collectionType/${targetUid}/configurations/edit`); } else { - push(`/plugins/content-manager/components/${targetUid}/configurations/edit`); + push(`/content-manager/components/${targetUid}/configurations/edit`); } return false; diff --git a/packages/plugins/i18n/admin/src/components/CMEditViewLocalePicker/index.js b/packages/plugins/i18n/admin/src/components/CMEditViewLocalePicker/index.js index 3dd82cc8a2..94b2423599 100644 --- a/packages/plugins/i18n/admin/src/components/CMEditViewLocalePicker/index.js +++ b/packages/plugins/i18n/admin/src/components/CMEditViewLocalePicker/index.js @@ -51,7 +51,7 @@ const CMEditViewLocalePicker = ({ if (status === 'did-not-create-locale') { push({ - pathname: `/plugins/content-manager/collectionType/${slug}/create`, + pathname: `/content-manager/collectionType/${slug}/create`, search: stringify(defaultParams, { encode: false }), }); @@ -59,7 +59,7 @@ const CMEditViewLocalePicker = ({ } push({ - pathname: `/plugins/content-manager/collectionType/${slug}/${id}`, + pathname: `/content-manager/collectionType/${slug}/${id}`, search: stringify(defaultParams, { encode: false }), }); }; diff --git a/packages/plugins/i18n/admin/src/components/LocalePicker/index.js b/packages/plugins/i18n/admin/src/components/LocalePicker/index.js index 21c6795a5a..a55689bf70 100644 --- a/packages/plugins/i18n/admin/src/components/LocalePicker/index.js +++ b/packages/plugins/i18n/admin/src/components/LocalePicker/index.js @@ -46,7 +46,7 @@ const LocalePicker = () => { const [{ query }, setQuery] = useQueryParams(); const { params: { slug }, - } = useRouteMatch('/plugins/content-manager/collectionType/:slug'); + } = useRouteMatch('/content-manager/collectionType/:slug'); const isFieldLocalized = useHasI18n(); const { createPermissions, readPermissions } = useContentTypePermissions(slug);