From 46c14d73a63aa8f955f50002f0e97f05a7c9a1fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Tue, 2 Jul 2024 19:44:26 +0200 Subject: [PATCH] additional no route routes --- .../components/backoffice-main.element.ts | 18 ++++++++++-------- .../content-type-design-editor.element.ts | 9 ++++++++- .../views/edit/content-editor.element.ts | 10 +++++----- .../section-main-views.element.ts | 10 +++++++++- .../workspace-editor.element.ts | 10 +++++----- .../user-group-section-view.element.ts | 2 +- 6 files changed, 38 insertions(+), 21 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/apps/backoffice/components/backoffice-main.element.ts b/src/Umbraco.Web.UI.Client/src/apps/backoffice/components/backoffice-main.element.ts index 7b03cfe3d7..3a9ac24397 100644 --- a/src/Umbraco.Web.UI.Client/src/apps/backoffice/components/backoffice-main.element.ts +++ b/src/Umbraco.Web.UI.Client/src/apps/backoffice/components/backoffice-main.element.ts @@ -48,7 +48,9 @@ export class UmbBackofficeMainElement extends UmbLitElement { const newRoutes = this._sections .filter((x) => x.manifest) .map((section) => { - const existingRoute = this._routes.find((r) => r.path === UMB_SECTION_PATH_PATTERN.generateLocal({ sectionName: section.manifest!.meta.pathname })); + const existingRoute = this._routes.find( + (r) => r.path === UMB_SECTION_PATH_PATTERN.generateLocal({ sectionName: section.manifest!.meta.pathname }), + ); if (existingRoute) { return existingRoute; } else { @@ -63,18 +65,18 @@ export class UmbBackofficeMainElement extends UmbLitElement { } }); - if(newRoutes.length > 0 ) { + if (newRoutes.length > 0) { newRoutes.push({ path: ``, - redirectTo: newRoutes[0].path + redirectTo: newRoutes[0].path, + }); + + newRoutes.push({ + path: `**`, + component: async () => (await import('@umbraco-cms/backoffice/router')).UmbRouteNotFoundElement, }); } - newRoutes.push({ - path: `**`, - component: async () => (await import('@umbraco-cms/backoffice/router')).UmbRouteNotFoundElement, - }); - this._routes = newRoutes; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/workspace/views/design/content-type-design-editor.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/workspace/views/design/content-type-design-editor.element.ts index b109a12770..109077161d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/content-type/workspace/views/design/content-type-design-editor.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/content-type/workspace/views/design/content-type-design-editor.element.ts @@ -207,7 +207,14 @@ export class UmbContentTypeDesignEditorElement extends UmbLitElement implements redirectTo: routes[0]?.path, guards: [() => this._activeTabId === undefined], }); - // TODO: Look at this case. + } + + if (routes.length !== 0) { + routes.push({ + path: `**`, + component: async () => (await import('@umbraco-cms/backoffice/router')).UmbRouteNotFoundElement, + guards: [() => this._activeTabId === undefined], + }); } // If we have an active tab name, then we might have a active tab name re-name, then we will redirect to the new name if it has been changed: [NL] diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/content/workspace/views/edit/content-editor.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/content/workspace/views/edit/content-editor.element.ts index 12d1743e26..f37657e16d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/content/workspace/views/edit/content-editor.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/content/workspace/views/edit/content-editor.element.ts @@ -106,12 +106,12 @@ export class UmbContentWorkspaceViewEditElement extends UmbLitElement implements path: '', redirectTo: routes[0]?.path, }); - } - routes.push({ - path: `**`, - component: async () => (await import('@umbraco-cms/backoffice/router')).UmbRouteNotFoundElement, - }); + routes.push({ + path: `**`, + component: async () => (await import('@umbraco-cms/backoffice/router')).UmbRouteNotFoundElement, + }); + } this._routes = routes; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/section/section-main-views/section-main-views.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/section/section-main-views/section-main-views.element.ts index d8b7f49b4e..c7ad6fc056 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/section/section-main-views/section-main-views.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/section/section-main-views/section-main-views.element.ts @@ -79,7 +79,15 @@ export class UmbSectionMainViewElement extends UmbLitElement { }); const routes = [...dashboardRoutes, ...viewRoutes]; - this._routes = routes?.length > 0 ? [...routes, { path: '', redirectTo: routes?.[0]?.path }] : []; + if (routes.length > 0) { + routes.push({ path: '', redirectTo: routes?.[0]?.path }); + + routes.push({ + path: `**`, + component: async () => (await import('@umbraco-cms/backoffice/router')).UmbRouteNotFoundElement, + }); + } + this._routes = routes; } override render() { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-editor/workspace-editor.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-editor/workspace-editor.element.ts index cd5b245d1d..3a8195caf2 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-editor/workspace-editor.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/workspace/components/workspace-editor/workspace-editor.element.ts @@ -73,12 +73,12 @@ export class UmbWorkspaceEditorElement extends UmbLitElement { // Duplicate first workspace and use it for the empty path scenario. [NL] newRoutes.push({ ...newRoutes[0], path: '' }); - } - newRoutes.push({ - path: `**`, - component: async () => (await import('@umbraco-cms/backoffice/router')).UmbRouteNotFoundElement, - }); + newRoutes.push({ + path: `**`, + component: async () => (await import('@umbraco-cms/backoffice/router')).UmbRouteNotFoundElement, + }); + } this._routes = newRoutes; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/user/user-group/section-view/user-group-section-view.element.ts b/src/Umbraco.Web.UI.Client/src/packages/user/user-group/section-view/user-group-section-view.element.ts index 53a170f589..4611f0962d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/user/user-group/section-view/user-group-section-view.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/user/user-group/section-view/user-group-section-view.element.ts @@ -33,7 +33,7 @@ export class UmbUserGroupSectionViewElement extends UmbLitElement { { path: `**`, component: async () => (await import('@umbraco-cms/backoffice/router')).UmbRouteNotFoundElement, - } + }, ]; override render() {